16 me.stringFilterBox = e;
28 draw_Fill(
'0 0 0',
'1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
31 me.focusedItemAlpha =
getFadedAlpha(me.focusedItemAlpha, SKINALPHA_LISTBOX_FOCUSED, SKINFADEALPHA_LISTBOX_FOCUSED);
32 draw_Fill(
'0 0 0',
'1 1 0', SKINCOLOR_LISTBOX_FOCUSED, me.focusedItemAlpha);
37 sz = me.rowsPerItem * 0.5 * me.realFontSize.x *
eX;
43 float szr = sz.x / sz.y;
46 const float asr = me.itemAbsSize.x / me.itemAbsSize.y;
50 sz.x += 0.5 * me.realFontSize.x;
55 vector pos = me.realUpperMargin *
eY + sz.x *
eX;
56 const float maxWidth = 1 - sz.x - me.realFontSize.x;
61 pos.y -= 0.5 * me.realFontSize.y;
62 draw_Text(pos, s, me.realFontSize,
'1 1 1', SKINALPHA_TEXT,
false);
64 pos.y += me.realFontSize.y;
66 draw_Text(pos, s, me.realFontSize,
'1 1 1', SKINALPHA_TEXT,
false);
80 const string ch =
chr(ascii);
94 else if ((shift &
S_CTRL) && scan ==
'f')
98 else if ((shift &
S_CTRL) && scan ==
'u')
115 me.onChangeEntity.parent.setFocus(me.onChangeEntity.parent, me.onChangeEntity);
122 return me.onChangeEntity.keyDown(me.onChangeEntity, scan, ascii, shift);
135 if (me.selectedItem >= 0)
143 int newSelectedItem = 0;
144 me.nItems = me.source.reload(me.source, me.stringFilter);
145 for (
int i = 0, n = me.nItems; i < n; ++i)
153 me.setSelected(me, newSelectedItem);
160 me.stringFilter =
strzone(box.text);
167 me.itemAbsSize =
'0 0 0';
170 me.itemAbsSize.y = absSize.y * me.itemHeight;
171 me.itemAbsSize.x = absSize.x * (1 - me.controlWidth);
172 me.realFontSize.y = me.fontSize / me.itemAbsSize.y;
173 me.realFontSize.x = me.fontSize / me.itemAbsSize.x;
174 me.realUpperMargin = 0.5 * (1 - me.realFontSize.y);
180 me.onChange(me, me.onChangeEntity);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
XonoticEntryList(DataSource _source)
string typeToSearchString
virtual void setSelected()
string getWrappedLine(float maxWidth, vector theFontSize, textLengthUpToWidth_widthFunction_t tw)
string getWrappedLine_remaining
void XonoticEntryList_refilter(entity me)
void EntryList_StringFilterBox_Change(entity box, entity me)
string XonoticEntryList_cb_name
entity EntryList_Set_StringFilterBox(entity me, entity e)
string XonoticEntryList_cb_icon
void XonoticEntryList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
void XonoticEntryList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
void XonoticEntryList_cb(string _name, string _icon)
void XonoticEntryList_setSelected(entity me, int i)
float EntryList_StringFilterBox_keyDown(entity me, float scan, float ascii, float shift)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
#define METHOD(cname, name, prototype)