ui/qt/toolkit.h

changeset 103
6606616eca9f
parent 0
2483f517c562
--- a/ui/qt/toolkit.h	Tue Feb 25 21:11:00 2025 +0100
+++ b/ui/qt/toolkit.h	Sat Apr 05 16:46:11 2025 +0200
@@ -35,20 +35,62 @@
 
 #include <QApplication>
 
+class UiEventWrapper;
+
+typedef void (*ui_prepare_event_func)(UiEvent *event, UiEventWrapper *wrapper);
+
 class UiEventWrapper : public QObject {
     Q_OBJECT
     
     UiObject *obj;
     ui_callback callback;
     void *userdata;
-
+    
 public:
+    UiVar *var;
+    
+    void *customdata1 = nullptr;
+    void *customdata2 = nullptr;
+    int customvalue1 = 0;
+    int customvalue2 = 0;
+    
+    ui_prepare_event_func prepare_event = nullptr;
+    
     UiEventWrapper(UiObject *obj, ui_callback f, void *userdata);
     
 public slots:
     void slot();
+    void destroy();
 };
 
+class UiAction;
+
+typedef void (*ui_prepare_action_event_func)(UiEvent *event, UiAction *action);
+
+class UiAction : public QAction {
+    Q_OBJECT
+            
+    UiObject *obj;
+    ui_callback callback;
+    void *userdata;
+    
+public:
+    UiVar *var;
+    
+    ui_prepare_action_event_func prepare_event = nullptr;
+    void *customdata1 = nullptr;
+    void *customdata2 = nullptr;
+    int customvalue1 = 0;
+    int customvalue2 = 0;
+    
+    UiAction(UiObject *obj, QString &label, ui_callback f, void *userdata);
+    ~UiAction();
+    
+private slots:
+    void trigger();
+};
+
+void ui_action_enable(UiAction *action, int enable);
 
 #endif	/* TOOLKIT_H */
 

mercurial