ui/qt/model.h

changeset 579
810b848e2e4f
parent 577
c2e854820922
child 581
7486347f73cf
--- a/ui/qt/model.h	Sun Apr 20 10:56:50 2025 +0200
+++ b/ui/qt/model.h	Mon Apr 21 11:03:17 2025 +0200
@@ -44,15 +44,23 @@
 class ListModel : public QAbstractListModel {
     Q_OBJECT
     
+    ui_getvaluefunc getvalue;
+    ui_callback onactivate;
+    void        *onactivatedata;
+    ui_callback onselection;
+    void        *onselectiondata;
+    
+public:
     UiObject    *obj;
     UiVar       *var;
-    ui_getvaluefunc getvalue;
-    ui_callback callback;
-    void        *userdata;
     QListView   *view;
     
-public:
-    ListModel(UiObject *obj, QListView *view, UiVar *var, ui_getvaluefunc getvalue, ui_callback f, void *userdata);
+    ListModel(UiObject *obj, QListView *view, UiVar *var, ui_getvaluefunc getvalue);
+    
+    void setActivationCallback(ui_callback f, void *userdata);
+    void setSelectionCallback(ui_callback f, void *userdata);
+    
+    void update(int row);
     
     int rowCount(const QModelIndex &parent = QModelIndex()) const;
     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
@@ -64,6 +72,15 @@
 };
 
 
+UiListSelection ui_selection_model_to_selection(QItemSelectionModel *model);
+
+extern "C" {
+    
+    void ui_listmodel_update(UiList *list, int row);
+    void ui_listmodel_setselection(UiList *list, UiListSelection sel);
+    UiListSelection ui_listmodel_getselection(UiList *list);
+
+}
 
 #endif	/* MODEL_H */
 

mercurial