Xonotic
dialog.qc File Reference
#include "dialog.qh"
#include "borderimage.qh"
#include "button.qh"
#include "nexposee.qh"
+ Include dependency graph for dialog.qc:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void Dialog_addItemSimple (entity me, float row, float col, float rowspan, float colspan, entity e, vector v)
 
void Dialog_Close (entity button, entity me)
 
void Dialog_close (entity me)
 
void Dialog_configureDialog (entity me)
 
void Dialog_fill (entity me)
 
void Dialog_gotoRC (entity me, float row, float col)
 
float Dialog_keyDown (entity me, float key, float ascii, float shift)
 
void Dialog_setFirstColumn (entity me, float col)
 
void Dialog_TD (entity me, float rowspan, float colspan, entity e)
 
void Dialog_TDempty (entity me, float colspan)
 
void Dialog_TDNoMargin (entity me, float rowspan, float colspan, entity e, vector v)
 
void Dialog_TR (entity me)
 

Function Documentation

◆ Dialog_addItemSimple()

void Dialog_addItemSimple ( entity  me,
float  row,
float  col,
float  rowspan,
float  colspan,
entity  e,
vector  v 
)

Definition at line 15 of file dialog.qc.

References eX, eY, and vector().

16  {
17  vector o, s;
18  o = me.itemOrigin + eX * (col * me.itemSpacing.x) + eY * (row * me.itemSpacing.y);
19  s = me.itemSize + eX * ((colspan - 1) * me.itemSpacing.x) + eY * ((rowspan - 1) * me.itemSpacing.y);
20  o.x -= 0.5 * (me.itemSpacing.x - me.itemSize.x) * v.x;
21  s.x += (me.itemSpacing.x - me.itemSize.x) * v.x;
22  o.y -= 0.5 * (me.itemSpacing.y - me.itemSize.y) * v.y;
23  s.y += (me.itemSpacing.y - me.itemSize.y) * v.y;
24  me.addItem(me, e, o, s, 1);
25  }
const vector eY
Definition: vector.qh:45
vector(float skel, float bonenum) _skel_get_boneabs_hidden
vector v
Definition: ent_cs.qc:116
const vector eX
Definition: vector.qh:44
+ Here is the call graph for this function:

◆ Dialog_Close()

void Dialog_Close ( entity  button,
entity  me 
)

Definition at line 7 of file dialog.qc.

Referenced by Button_draw(), Button_playClickSound(), Close_Clicked(), Dialog_configureDialog(), Disconnect_Click(), MapList_LoadMap(), and XonoticUserbindEditDialog_Save().

8  {
9  me.close(me);
10  }
+ Here is the caller graph for this function:

◆ Dialog_close()

void Dialog_close ( entity  me)

Definition at line 104 of file dialog.qc.

References DialogCloseButton_Click(), ExposeeCloseButton_Click(), and m_hide().

105  {
106  if (me.parent.instanceOfNexposee)
107  {
108  ExposeeCloseButton_Click(me, me.parent);
109  if(me.hideMenuOnClose)
110  {
111  me.hideMenuOnClose = false;
112  m_hide();
113  }
114  }
115  else if (me.parent.instanceOfModalController)
116  DialogCloseButton_Click(me, me);
117  }
void DialogCloseButton_Click(entity button, entity tab)
void ExposeeCloseButton_Click(entity button, entity other)
Definition: nexposee.qc:8
+ Here is the call graph for this function:

◆ Dialog_configureDialog()

void Dialog_configureDialog ( entity  me)

Definition at line 61 of file dialog.qc.

References conheight, conwidth, Dialog_Close(), entity(), eX, eY, and NEW.

62  {
63  float absWidth, absHeight;
64 
65  if (me.isTabRoot)
66  {
67  me.frame = NEW(BorderImage);
68  me.frame.configureBorderImage(me.frame, me.title, me.titleFontSize, me.color, me.backgroundImage, me.borderLines * me.titleHeight);
69  me.frame.zoomedOutTitleBarPosition = me.zoomedOutTitleBarPosition;
70  me.frame.zoomedOutTitleBar = me.zoomedOutTitleBar;
71  me.frame.alpha = me.alpha;
72  me.addItem(me, me.frame, '0 0 0', '1 1 0', 1);
73  }
74 
75  if (!me.titleFontSize) me.titleHeight = 0; // no title bar
76 
77  absWidth = me.intendedWidth * conwidth;
78  absHeight = me.borderLines * me.titleHeight + me.marginTop + me.rows * me.rowHeight + (me.rows - 1) * me.rowSpacing + me.marginBottom;
79  me.itemOrigin = eX * (me.marginLeft / absWidth)
80  + eY * ((me.borderLines * me.titleHeight + me.marginTop) / absHeight);
81  me.itemSize = eX * ((1 - (me.marginLeft + me.marginRight + me.columnSpacing * (me.columns - 1)) / absWidth) / me.columns)
82  + eY * (me.rowHeight / absHeight);
83  me.itemSpacing = me.itemSize
84  + eX * (me.columnSpacing / absWidth)
85  + eY * (me.rowSpacing / absHeight);
86  me.intendedHeight = absHeight / conheight;
87  me.currentRow = -1;
88  me.currentColumn = -1;
89 
90  me.fill(me);
91 
92  if (me.isTabRoot && me.closable && me.borderLines > 0)
93  {
94  entity closebutton;
95  closebutton = me.closeButton = me.frame.closeButton = NEW(Button);
96  closebutton.configureButton(closebutton, "", 0, me.closeButtonImage);
97  closebutton.onClick = Dialog_Close;
98  closebutton.onClickEntity = me;
99  closebutton.srcMulti = 0;
100  me.addItem(me, closebutton, '0 0 0', '1 1 0', 1); // put it as LAST
101  }
102  }
const vector eY
Definition: vector.qh:45
#define NEW(cname,...)
Definition: oo.qh:105
entity() spawn
Definition: button.qh:6
void Dialog_Close(entity button, entity me)
Definition: dialog.qc:7
const vector eX
Definition: vector.qh:44
+ Here is the call graph for this function:

◆ Dialog_fill()

void Dialog_fill ( entity  me)

Definition at line 12 of file dialog.qc.

13  {}

◆ Dialog_gotoRC()

void Dialog_gotoRC ( entity  me,
float  row,
float  col 
)

Definition at line 27 of file dialog.qc.

28  {
29  me.currentRow = row;
30  me.currentColumn = col;
31  }

◆ Dialog_keyDown()

float Dialog_keyDown ( entity  me,
float  key,
float  ascii,
float  shift 
)

Definition at line 119 of file dialog.qc.

References K_ESCAPE, m_play_click_sound(), MENU_SOUND_CLOSE, and SUPER.

120  {
121  if (me.closable)
122  {
123  if (key == K_ESCAPE)
124  {
126  me.close(me);
127  return 1;
128  }
129  }
130  float r = SUPER(Dialog).keyDown(me, key, ascii, shift);
131  if (!me.closable && key == K_ESCAPE)
132  return 1;
133  return r;
134  }
Definition: dialog.qh:19
float K_ESCAPE
Definition: keycodes.qc:9
#define SUPER(cname)
Definition: oo.qh:219
+ Here is the call graph for this function:

◆ Dialog_setFirstColumn()

void Dialog_setFirstColumn ( entity  me,
float  col 
)

Definition at line 51 of file dialog.qc.

52  {
53  me.firstColumn = col;
54  }

◆ Dialog_TD()

void Dialog_TD ( entity  me,
float  rowspan,
float  colspan,
entity  e 
)

Definition at line 39 of file dialog.qc.

40  {
41  me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, '0 0 0');
42  me.currentColumn += colspan;
43  }

◆ Dialog_TDempty()

void Dialog_TDempty ( entity  me,
float  colspan 
)

Definition at line 56 of file dialog.qc.

57  {
58  me.currentColumn += colspan;
59  }

◆ Dialog_TDNoMargin()

void Dialog_TDNoMargin ( entity  me,
float  rowspan,
float  colspan,
entity  e,
vector  v 
)

Definition at line 45 of file dialog.qc.

46  {
47  me.addItemSimple(me, me.currentRow, me.currentColumn, rowspan, colspan, e, v);
48  me.currentColumn += colspan;
49  }
vector v
Definition: ent_cs.qc:116

◆ Dialog_TR()

void Dialog_TR ( entity  me)

Definition at line 33 of file dialog.qc.

34  {
35  me.currentRow += 1;
36  me.currentColumn = me.firstColumn;
37  }