]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu-div0test/nexuiz/listbox.c
fix selection bugs when enabling/disabling the checkboxes
[divverent/nexuiz.git] / data / qcsrc / menu-div0test / nexuiz / listbox.c
1 #ifdef INTERFACE
2 CLASS(NexuizListBox) EXTENDS(ListBox)
3         METHOD(NexuizListBox, configureNexuizListBox, void(entity))
4         ATTRIB(NexuizListBox, fontSize, float, SKINFONTSIZE_NORMAL)
5         ATTRIB(NexuizListBox, scrollbarWidth, float, SKINWIDTH_SCROLLBAR)
6         ATTRIB(NexuizListBox, src, string, SKINGFX_SCROLLBAR)
7         ATTRIB(NexuizListBox, tolerance, vector, SKINTOLERANCE_SLIDER)
8         ATTRIB(NexuizListBox, rowsPerItem, float, 1)
9         METHOD(NexuizListBox, resizeNotify, void(entity, vector, vector, vector, vector))
10 ENDCLASS(NexuizListBox)
11 entity makeNexuizListBox();
12 #endif
13
14 #ifdef IMPLEMENTATION
15 entity makeNexuizListBox()
16 {
17         entity me;
18         me = spawnNexuizListBox();
19         me.configureNexuizListBox(me);
20         return me;
21 }
22 void configureNexuizListBoxNexuizListBox(entity me)
23 {
24         me.configureListBox(me, me.scrollbarWidth, 1); // item height gets set up later
25 }
26 void resizeNotifyNexuizListBox(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
27 {
28         me.itemHeight = me.rowsPerItem * me.fontSize / absSize_y;
29         resizeNotifyListBox(me, relOrigin, relSize, absOrigin, absSize);
30 }
31 #endif