diff options
Diffstat (limited to 'src/Gtk/Widgets.icl')
-rw-r--r-- | src/Gtk/Widgets.icl | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/src/Gtk/Widgets.icl b/src/Gtk/Widgets.icl index b7e4798..f9fb9a3 100644 --- a/src/Gtk/Widgets.icl +++ b/src/Gtk/Widgets.icl @@ -130,6 +130,7 @@ newMenuBar = toStateR gtk_menu_bar_new >>= show :: GtkMenuItem :== Pointer instance gtkWidget GtkMenuItem where gtkWidget mi = mi +instance gtkMenuItem GtkMenuItem where gtkMenuItem mi = mi newMenuItem :: !String -> GtkM GtkMenuItem newMenuItem label = @@ -138,11 +139,35 @@ newMenuItem label = toState (gtk_menu_item_set_use_underline item True) >>| show item -setSubMenu :: !GtkMenuItem !GtkMenu -> GtkM GtkMenu +setSubMenu :: !mi !GtkMenu -> GtkM GtkMenu | gtkMenuItem mi setSubMenu item menu = - toState (gtk_menu_item_set_submenu item menu) >>| + toState (gtk_menu_item_set_submenu (gtkMenuItem item) menu) >>| pure menu +:: GtkCheckMenuItem :== Pointer + +instance gtkWidget GtkCheckMenuItem where gtkWidget cmi = cmi +instance gtkMenuItem GtkCheckMenuItem where gtkMenuItem cmi = cmi +instance ptr GtkCheckMenuItem +where + toPtr cmi = cmi + fromPtr cmi = cmi + +newCheckMenuItem :: !String -> GtkM GtkCheckMenuItem +newCheckMenuItem label = + toStateR gtk_check_menu_item_new >>= \item -> + toState (gtk_menu_item_set_label item label) >>| + toState (gtk_menu_item_set_use_underline item True) >>| + show item + +isActive :: !GtkCheckMenuItem -> GtkM Bool +isActive item = toStateR (gtk_check_menu_item_get_active item) + +setActive :: !Bool !GtkCheckMenuItem -> GtkM GtkCheckMenuItem +setActive active item = + toState (gtk_check_menu_item_set_active item active) >>| + pure item + :: GtkMenuShell :== Pointer instance gtkWidget GtkMenuShell where gtkWidget ms = ms @@ -151,9 +176,9 @@ instance gtkMenuShell GtkMenu where gtkMenuShell m = m instance gtkMenuShell GtkMenuBar where gtkMenuShell mb = mb instance gtkMenuShell GtkMenuShell where gtkMenuShell ms = ms -appendToMenuShell :: !s !GtkMenuItem -> GtkM GtkMenuItem | gtkMenuShell s +appendToMenuShell :: !s !mi -> GtkM mi | gtkMenuShell s & gtkMenuItem mi appendToMenuShell shell item = - toState (gtk_menu_shell_append (gtkMenuShell shell) item) >>| + toState (gtk_menu_shell_append (gtkMenuShell shell) (gtkMenuItem item)) >>| pure item :: GtkPaned :== Pointer |