ui/cocoa/list.h

changeset 112
c3f2f16fa4b8
parent 109
c3dfcb8f0be7
equal deleted inserted replaced
111:81c4f73236a4 112:c3f2f16fa4b8
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);

mercurial