summaryrefslogtreecommitdiff
path: root/src/Gtk
diff options
context:
space:
mode:
authorCamil Staps2019-10-21 08:58:32 +0200
committerCamil Staps2019-10-21 08:58:32 +0200
commit08a45b115058577b0f370dabb797fe5fcdf4617a (patch)
tree466b00e928c047aa5fe8771ff7d9d356c7eccd79 /src/Gtk
parentAdd CSS support (diff)
Add fromPtr function; rename ptr to toPtr (to be able to implement "extra" widgets in external modules)
Diffstat (limited to 'src/Gtk')
-rw-r--r--src/Gtk/Signal.icl2
-rw-r--r--src/Gtk/Widgets.dcl5
-rw-r--r--src/Gtk/Widgets.icl6
3 files changed, 10 insertions, 3 deletions
diff --git a/src/Gtk/Signal.icl b/src/Gtk/Signal.icl
index d98a14d..699ee98 100644
--- a/src/Gtk/Signal.icl
+++ b/src/Gtk/Signal.icl
@@ -20,7 +20,7 @@ installSignalHandler widget handler =
}) >>|
gets (\st -> st.signal_counter) >>= \id ->
toState case handler_internal of
- GSHI_Void _ -> 'I'.g_signal_connect_void (ptr (gtkWidget widget)) signal_name id
+ GSHI_Void _ -> 'I'.g_signal_connect_void (toPtr (gtkWidget widget)) signal_name id
where
(signal_name,handler_internal) = case handler of
DestroyHandler f -> ("destroy",GSHI_Void f)
diff --git a/src/Gtk/Widgets.dcl b/src/Gtk/Widgets.dcl
index d7df700..def39c9 100644
--- a/src/Gtk/Widgets.dcl
+++ b/src/Gtk/Widgets.dcl
@@ -10,7 +10,10 @@ from Gtk.Types import :: GtkCSSClass, :: GtkDirection, :: GtkExpand,
:: GtkLabel, :: GtkMargins, :: GtkOrientation, :: GtkPanedHandleWidth,
:: GtkResize, :: GtkShrink, :: GtkStylePriority
-class ptr a :: !a -> Pointer
+class ptr a
+where
+ toPtr :: !a -> Pointer
+ fromPtr :: !Pointer -> a
:: GtkWidget
diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl
index 7fda320..e485364 100644
--- a/src/Gtk/Widgets.icl
+++ b/src/Gtk/Widgets.icl
@@ -18,7 +18,11 @@ import Gtk.Types
:: GtkWidget :== Pointer
instance gtkWidget GtkWidget where gtkWidget w = w
-instance ptr GtkWidget where ptr w = w
+
+instance ptr GtkWidget
+where
+ toPtr w = w
+ fromPtr w = w
addCSSClass :: !GtkCSSClass !w -> GtkM () | gtkWidget w
addCSSClass (Class cls) widget =