| 53 void ui_tableview_setselection(UiList *list, UiListSelection selection); |
53 void ui_tableview_setselection(UiList *list, UiListSelection selection); |
| 54 |
54 |
| 55 void ui_dropdown_update(UiList *list, int i); |
55 void ui_dropdown_update(UiList *list, int i); |
| 56 UiListSelection ui_dropdown_getselection(UiList *list); |
56 UiListSelection ui_dropdown_getselection(UiList *list); |
| 57 void ui_dropdown_setselection(UiList *list, UiListSelection selection); |
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 * Initialize a section item |
| |
79 */ |
| |
80 - (id)init:(UiSubListItem*)item parent:(UiSourceListItem*)parent; |
| |
81 /* |
| |
82 * Initialize a child item |
| |
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); |