ui/cocoa/list.h

changeset 828
a952337ae325
parent 720
6fa3c629000f
child 829
0980245646b4
--- a/ui/cocoa/list.h	Fri Oct 10 09:06:06 2025 +0200
+++ b/ui/cocoa/list.h	Fri Oct 10 14:13:52 2025 +0200
@@ -55,3 +55,50 @@
 void ui_dropdown_update(UiList *list, int i);
 UiListSelection ui_dropdown_getselection(UiList *list);
 void ui_dropdown_setselection(UiList *list, UiListSelection selection);
+
+@class UiSourceList;
+
+@interface UiSourceListItem : NSObject
+@property (weak) UiSourceList *sourcelist;
+@property (strong) NSString *label;
+@property (strong) NSString *badge;
+
+@property (strong) NSMutableArray<UiSourceListItem*> *items;
+@property UiVar *var;
+@property UiSubList *sublist;
+
+/*
+ * Initialize a section item
+ */
+- (id)init:(UiSubListItem*)item;
+/*
+ * Initialize a child item
+ */
+- (id)init:(UiSourceList*)sourcelist sublist:(UiSubList*)sublist;
+- (BOOL)isSection;
+- (void)update:(int)row;
+
+@end
+
+
+@interface UiSourceList : NSObject <NSOutlineViewDataSource, NSOutlineViewDelegate>
+
+@property UiObject *obj;
+@property CxList *sublists;
+@property UiVar *dynamic_sublists;
+@property ui_sublist_getvalue_func getvalue;
+@property void *getvaluedata;
+@property ui_callback onactivate;
+@property void *onactivatedata;
+@property ui_callback onbuttonclick;
+@property void *onbuttonclickdata;
+
+@property (strong) NSMutableArray<UiSourceListItem*> *sections;
+
+- (id)init:(UiObject*)obj;
+
+- (void)update:(int)row;
+
+@end
+
+void ui_sourcelist_update(UiList *list, int row);

mercurial