1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #import "toolkit.h"
30 #import "Container.h"
31 #import "../ui/list.h"
32
33 #import "ListDataSource.h"
34
35 @interface UiDropDown : NSObject<NSComboBoxDelegate>
36
37 @property UiObject *obj;
38 @property ui_callback onactivate;
39 @property
void *onactivatedata;
40 @property ui_callback onselection;
41 @property
void *onselectiondata;
42 @property ui_getvaluefunc2 getvalue;
43 @property
void *getvaluedata;
44 @property UiVar *var;
45 @property (weak) NSComboBox *combobox;
46
47 - (id)init:(UiObject*)obj;
48
49 @end
50
51 void ui_tableview_update(UiList *list,
int i);
52 UiListSelection ui_tableview_getselection(UiList *list);
53 void ui_tableview_setselection(UiList *list, UiListSelection selection);
54
55 void ui_dropdown_update(UiList *list,
int i);
56 UiListSelection ui_dropdown_getselection(UiList *list);
57 void ui_dropdown_setselection(UiList *list, UiListSelection selection);
58
59 @class UiSourceList;
60
61 @interface UiSourceListItem : NSObject
62 @property (weak) UiSourceList *sourcelist;
63 @property (weak) UiSourceListItem *parent;
64 @property (strong) NSString *label;
65 @property (strong) NSString *badge;
66
67 @property (strong) NSMutableArray<UiSourceListItem*> *items;
68 @property UiVar *var;
69 @property UiSubList *sublist;
70
71 @property
int sublistIndex;
72 @property
int sublistStartRow;
73 @property
int rownum;
74
75 @property
void *eventdata;
76
77
78
79
80 - (id)init:(UiSubListItem*)item parent:(UiSourceListItem*)parent;
81
82
83
84 - (id)init:(UiSourceList*)sourcelist sublist:(UiSubList*)sublist;
85 - (
BOOL)isSection;
86 - (
void)update:(
int)row;
87
88 @end
89
90
91 @interface UiSourceList : NSObject <NSOutlineViewDataSource, NSOutlineViewDelegate>
92
93 @property UiObject *obj;
94 @property (weak) NSOutlineView *outlineView;
95 @property CxList *sublists;
96 @property UiVar *dynamic_sublists;
97 @property ui_sublist_getvalue_func getvalue;
98 @property
void *getvaluedata;
99 @property ui_callback onactivate;
100 @property
void *onactivatedata;
101 @property ui_callback onbuttonclick;
102 @property
void *onbuttonclickdata;
103
104 @property (strong) NSMutableArray<UiSourceListItem*> *sections;
105
106 - (id)init:(UiObject*)obj outline:(NSOutlineView*)view;
107
108 - (
void)update:(
int)row;
109
110 @end
111
112 @interface UiSourceListRow : NSTableRowView
113
114 @property NSTrackingArea *trackingArea;
115 @property NSView *disclosureButton;
116 @property
BOOL hover;
117 @property
BOOL showDisclosureButton;
118
119 @end
120
121 void ui_sourcelist_update(UiList *list,
int row);
122