ui/ui/entry.h

changeset 32
e5f4d8af567e
parent 0
2483f517c562
--- a/ui/ui/entry.h	Mon Feb 12 21:13:23 2024 +0100
+++ b/ui/ui/entry.h	Sun Jun 09 15:43:08 2024 +0200
@@ -35,13 +35,29 @@
 extern "C" {
 #endif
 
-UIWIDGET ui_spinner(UiObject *obj, int step, UiInteger *i);
-UIWIDGET ui_spinnerf(UiObject *obj, double step, int digits, UiDouble *d);
-UIWIDGET ui_spinnerr(UiObject *obj, UiRange *r);
+
+typedef struct UiSpinnerArgs {
+    UiTri fill;
+    UiBool hexpand;
+    UiBool vexpand;
+    int colspan;
+    int rowspan;
 
-UIWIDGET ui_spinner_nv(UiObject *obj, int step, char *varname);
-UIWIDGET ui_spinnerf_nv(UiObject *obj, double step, int digits, char *varname);
-UIWIDGET ui_spinnerr_nv(UiObject *obj, char *varname);
+    double step;
+    int digits;
+    UiInteger *intvalue;
+    UiDouble* doublevalue;
+    UiRange *rangevalue;
+    const char* varname;
+    ui_callback onchange;
+    void* onchangedata;
+} UiSpinnerArgs;
+
+
+    
+UIWIDGET ui_spinner_create(UiObject *obj, UiSpinnerArgs args);
+
+#define ui_spinner(obj, ...) ui_spinner_create(obj, (UiSpinnerArgs){ __VA_ARGS__ } )
 
 void ui_spinner_setrange(UIWIDGET spinner, double min, double max);
 void ui_spinner_setdigits(UIWIDGET spinner, int digits);

mercurial