From a4311ae9c4bde85a060d918e33991dba50915f6c Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 25 Oct 2019 08:49:23 +0200 Subject: Add hide function for widgets and ptr instances for GtkFrame and GtkTextBuffer --- src/Gtk/Internal.dcl | 1 + src/Gtk/Internal.icl | 5 +++++ src/Gtk/Widgets.dcl | 3 +++ src/Gtk/Widgets.icl | 12 ++++++++++++ 4 files changed, 21 insertions(+) (limited to 'src/Gtk') diff --git a/src/Gtk/Internal.dcl b/src/Gtk/Internal.dcl index b73b843..8cadd66 100644 --- a/src/Gtk/Internal.dcl +++ b/src/Gtk/Internal.dcl @@ -86,6 +86,7 @@ gtk_text_view_set_wrap_mode :: !Pointer !Int !.a -> .a gtk_widget_destroy :: !Pointer !.a -> .a gtk_widget_get_screen :: !Pointer !.a -> (!Pointer, !.a) gtk_widget_get_style_context :: !Pointer !.a -> (!Pointer, !.a) +gtk_widget_hide :: !Pointer !.a -> .a gtk_widget_set_margin_bottom :: !Pointer !Int !.a -> .a gtk_widget_set_margin_left :: !Pointer !Int !.a -> .a gtk_widget_set_margin_right :: !Pointer !Int !.a -> .a diff --git a/src/Gtk/Internal.icl b/src/Gtk/Internal.icl index d0993bf..0691bc9 100644 --- a/src/Gtk/Internal.icl +++ b/src/Gtk/Internal.icl @@ -390,6 +390,11 @@ gtk_widget_get_style_context widget env = code { ccall gtk_widget_get_style_context "p:p:A" } +gtk_widget_hide :: !Pointer !.a -> .a +gtk_widget_hide widget env = code { + ccall gtk_widget_hide "p:V:A" +} + gtk_widget_set_margin_bottom :: !Pointer !Int !.a -> .a gtk_widget_set_margin_bottom widget padding env = code { ccall gtk_widget_set_margin_bottom "pI:V:A" diff --git a/src/Gtk/Widgets.dcl b/src/Gtk/Widgets.dcl index a04929c..13ee89c 100644 --- a/src/Gtk/Widgets.dcl +++ b/src/Gtk/Widgets.dcl @@ -55,6 +55,7 @@ getFileWithDialog :: !GtkWindow !GtkFileChooserAction !(Maybe String) -> GtkM (M :: GtkFrame instance gtkWidget GtkFrame instance gtkContainer GtkFrame +instance ptr GtkFrame newFrame :: !GtkLabel !w -> GtkM GtkFrame | gtkWidget w framed :: !GtkLabel !(GtkM w) -> GtkM (w, GtkFrame) | gtkWidget w @@ -118,6 +119,7 @@ startSpinner :: !GtkSpinner -> GtkM GtkSpinner stopSpinner :: !GtkSpinner -> GtkM GtkSpinner :: GtkTextBuffer +instance ptr GtkTextBuffer setText :: !String !GtkTextBuffer -> GtkM GtkTextBuffer setMarkup :: !String !GtkTextBuffer -> GtkM GtkTextBuffer @@ -140,6 +142,7 @@ instance gtkWidget GtkWidget instance ptr GtkWidget show :: !w -> GtkM w | gtkWidget w +hide :: !w -> GtkM w | gtkWidget w destroy :: !w -> GtkM () | gtkWidget w addCSSClass :: !GtkCSSClass !w -> GtkM w | gtkWidget w diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl index f9fb9a3..e726bfd 100644 --- a/src/Gtk/Widgets.icl +++ b/src/Gtk/Widgets.icl @@ -98,6 +98,10 @@ where instance gtkWidget GtkFrame where gtkWidget f = f instance gtkContainer GtkFrame where gtkContainer f = f +instance ptr GtkFrame +where + toPtr f = f + fromPtr f = f newFrame :: !GtkLabel !w -> GtkM GtkFrame | gtkWidget w newFrame label widget = @@ -225,6 +229,11 @@ stopSpinner spinner = toState (gtk_spinner_stop spinner) >>| pure spinner :: GtkTextBuffer :== Pointer +instance ptr GtkTextBuffer +where + toPtr b = b + fromPtr b = b + setText :: !String !GtkTextBuffer -> GtkM GtkTextBuffer setText s buffer = toState (gtk_text_buffer_set_text buffer s (size s)) >>| @@ -276,6 +285,9 @@ where show :: !w -> GtkM w | gtkWidget w show widget = toState (gtk_widget_show (gtkWidget widget)) >>| pure widget +hide :: !w -> GtkM w | gtkWidget w +hide widget = toState (gtk_widget_hide (gtkWidget widget)) >>| pure widget + destroy :: !w -> GtkM () | gtkWidget w destroy widget = toState (gtk_widget_destroy (gtkWidget widget)) -- cgit v1.2.3