summaryrefslogtreecommitdiff
path: root/gtk/gtkactiongroup.h
Commit message (Collapse)AuthorAgeFilesLines
* Make the the GtkAction{Toggle,Radio,}Entry* arguments to theMatthias Clasen2004-08-041-58/+56
| | | | | | | | | Tue Aug 3 20:16:26 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.[hc]: Make the the GtkAction{Toggle,Radio,}Entry* arguments to the gtk_action_group_add_..._actions() functions const, since the most common use case is to use a static array. (142334, Mariano Suarez-Alvarez)
* New function to translate a string with translate_func. (#135740)Matthias Clasen2004-05-061-0/+2
| | | | | | | | | Thu May 6 00:24:11 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.h: * gtk/gtkactiongroup.c (gtk_action_group_translate_string): New function to translate a string with translate_func. (#135740)
* Adjust to the new connect_proxy signals.Jody Goldberg2004-01-121-36/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mon Jan 12 23:40:34 2004 Matthias Clasen <maclas@gmx.de> * tests/testmerge.c: Adjust to the new connect_proxy signals. * gtk/gtkuimanager.c * gtk/gtkactiongroup.c * gtk/gtkaction.c: Move the connect_proxy and disconnect_proxy signals from GtkAction to GtkActionGroup and proxy it on GtkUIManager. This removes the confusion between the disconnect_/connect_proxy signals and the (unrelated) virtual functions of the same name and aligns the setup with the pre_/post_activate signals. 2004-01-12 Jody Goldberg <jody@gnome.org> * gtk/gtkaction.c (connect_proxy) : only connect activate for menus with no submenus otherwise it looks like we activate every time a submenu opens. 2004-01-10 Jody Goldberg <jody@gnome.org> * gtk/gtkuimanager.c (d) : Add a debug macro to quiet the spew. s/merge_signals/ui_manager_signals/ for readability. (gtk_ui_manager_class_init) : add pre_activate and post_activate signals. (cb_proxy_pre_activate) : new. (cb_proxy_post_activate) : new. (gtk_ui_manager_insert_action_group) : connect the proxies for GtkActionGroup::pre/post_activate (gtk_ui_manager_remove_action_group) : disconnect them. * gtk/gtkactiongroup.c (gtk_action_group_class_init) : add 'sensitive', and 'visible' properties. Also add pre_activate and post_activate signals to help deal with activations at a higher level (eg GtkUIManager) (gtk_action_group_init) : init sensitive and visible (gtk_action_group_set_property) : add sensitive and visible (gtk_action_group_get_property) : add sensitive and visible (gtk_action_group_get_sensitive) : new. (gtk_action_group_get_visible) : new. (cb_set_action_sensitivity) : new with minor optimization that only signals sensitivity changes if the action could possibly change. (cb_set_action_visiblility) : ditto. (gtk_action_group_set_sensitive) : new. walk the actions directly rather than using notify::sensitive because that is simpler, easier to read, and more efficient. (gtk_action_group_set_visible) : ditto. (gtk_action_group_add_action) : Each action can only be in 1 group, set GtkAction::action_group. (gtk_action_group_remove_action) : clear it. (gtk_action_group_add_toggle_actions_full) : warning suppression. (gtk_action_group_add_radio_actions_full) : warning suppression. (_gtk_action_group_emit_pre_activate) : new protected routine for use by GtkAction. (_gtk_action_group_emit_post_activate) : ditto. * gtk/gtkaction.c (gtk_action_class_init) : add 'action_group' property. (gtk_action_init) : initialize it. (gtk_action_get_property) : get. (gtk_action_set_property) : set it via (gtk_action_set_action_group) : new function. (gtk_action_sync_sensitivity) : new routine to sync proxy sensitivity with the logical sensitivity (action & group) rather than the simple action::sensitivity. (gtk_action_sync_visible) : use gtk_action_is_visible to handle logical visibility (action & group) rather than the simple action::visible. Use widget show/hide directly. (connect_proxy) : handle the custom sensitivity handler. Make the TOOL_BUTTON signals more general and support TOOL_ITEM directly, with special cases for TOOL_BUTTON. Still not especially good it might be useful to handle label/use_underline by parmspec lookup. Those are likely to be implemented by custom types, and are assumed to exist in GtkToolItem. (disconnect_proxy) : disconnect the new sensitivity handler. (_gtk_action_emit_activate) : add pre/post signals. (gtk_action_activate) : use logical sensitivity. (gtk_action_is_sensitive) : logical sensitivity. (gtk_action_get_sensitive) : actual sensitivity. (closure_accel_activate) : use logical sensitivity.
* Remove the redundant name and stock_id parameters, adjust all callers.Matthias Clasen2004-01-071-4/+2
| | | | | | | | Wed Jan 7 23:03:32 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.h: * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel): Remove the redundant name and stock_id parameters, adjust all callers.
* add visible_horizontal, visible_vertical. (gtk_action_class_init) : here.Jody Goldberg2004-01-021-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-01 Jody Goldberg <jody@gnome.org> * gtk/gtkaction.c (_GtkActionPrivate) : add visible_horizontal, visible_vertical. (gtk_action_class_init) : here. (gtk_action_init) : here. (gtk_action_set_property) : here. (gtk_action_get_property) : here. (connect_proxy) : and here. 2003-12-30 Jody Goldberg <jody@gnome.org> * gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel) : new utility routine for use in derived GtkActions with the replicated code from. (gtk_action_group_add_actions_full) : here. (gtk_action_group_add_toggle_actions_full) : here. (gtk_action_group_add_radio_actions_full) : and here. 2003-12-24 Jody Goldberg <jody@gnome.org> * gtk/gtkactiongroup.h : Add some const to the char * in GtkActionEntry*. We're reccomending people pass static strings to them, and not freeing them. This stems to flood of warnings that result. * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full) : change temp vars to const to match above. (gtk_action_group_add_toggle_actions_full) : ditto. (gtk_action_group_add_radio_actions_full) : ditto.
* Add G_BEGIN_DECLS/G_END_DECLS to make these usable in C++. (#124351,Matthias Clasen2003-10-111-0/+3
| | | | | | | | | | | | | | Sat Oct 11 23:14:36 2003 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.h: * gtk/gtkaction.h: * gtk/gtkradioaction.h: * gtk/gtkradiotoolbutton.h: * gtk/gtkseparatortoolitem.h: * gtk/gtktoggleaction.h: * gtk/gtktoolitem.h: * gtk/gtkuimanager.h: Add G_BEGIN_DECLS/G_END_DECLS to make these usable in C++. (#124351, Murray Cumming)
* Add value parameter to allow setting the currently selected group memberMatthias Clasen2003-09-151-51/+66
| | | | | | | | | | | | | | | | | | | | 2003-09-15 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions): (gtk_action_group_add_radio_actions_full): Add value parameter to allow setting the currently selected group member before connecting signals. (GtkToggleActionEntry): Separate struct for constructing toggle actions, including a boolean to initialize the action state before connecting signals. (gtk_action_group_add_toggle_actions): (gtk_action_group_add_toggle_actions_full): New functions to construct toggle actions from an array of GtkToggleActionEntries. * demos/gtk-demo/appwindow.c: * tests/testactions.c: * tests/testmerge.c: Adjust to new action group API. * gtk/gtk-sections.txt: Add gtk_action_group_add_toggle_actions[_full].
* Change the XML format: <Root> element is replaced by <ui>, <menu> elementMatthias Clasen2003-08-271-16/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-28 Matthias Clasen <maclas@gmx.de> * gtk/gtkuimanager.c: Change the XML format: <Root> element is replaced by <ui>, <menu> element is replaced by <menubar>, <submenu> element is replaced by <menu>, <dockitem> element is replaced by <toolbar>, <popups> element is gone, verb attribute is replaced by action, name defaults to action or the element name. * gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry and GtkRadioActionEntry. GtkActionEntry is simplified by removing the user_data, entry_type and extra_data fields, GtkRadioActionEntry is further simplified by removing the callback. The user_data can now be specified as an argument to gtk_action_group_add_actions(). There is a new method gtk_action_group_add_radio_actions(), which is similar to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys and a callback parameter in addition to the user_data. The callback is connected to the ::changed signal of the first group member. There are _full() variants taking a GDestroyNotify of gtk_action_group_add_[radio_]actions(). * gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted on every member of the radio group when the active member is changed. Add an integer property "value", and a getter for the value of "value" on the currently active group member. * tests/testactions.c: * tests/testmerge.c: * tests/merge-[123].ui: * demos/gtk-demo/appwindow.c: Adjust to these changes. * gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
* Hooks for translation of label and tooltip in GtkActionGroupEntries.Matthias Clasen2003-08-241-0/+9
| | | | | | | | 2003-08-25 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func, gtk_action_group_set_translation_domain): Hooks for translation of label and tooltip in GtkActionGroupEntries. (#120620)
* Namespace the enum values properly. Sorry about the resize grip trouble,Matthias Clasen2003-08-241-3/+3
| | | | | | | | | | | | 2003-08-25 Matthias Clasen <maclas@gmx.de> * gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum values properly. Sorry about the resize grip trouble, Owen. (#120621) * gtk/gtkactiongroup.c: * demos/gtk-demo/appwindow.c: * tests/testmerge.c: * tests/testactions.c: Use new GtkActionGroupEntryType enum.
* A model-view separation for menus and toolbars, using the EggMenu code byMatthias Clasen2003-08-241-0/+109
2003-08-24 Matthias Clasen <maclas@gmx.de> * gtk/gtkaction.[ch]: * gtk/gtktoggleaction.[ch]: * gtk/gtktoggleactionprivate.h: * gtk/gtkradioaction.[ch]: * gtk/gtkactiongroup.[ch]: * gtk/gtkmenumerge.[ch]: A model-view separation for menus and toolbars, using the EggMenu code by James Henstridge. * gtk/gtk.h: Include new headers. * gtk/Makefile.am: Add new files. * tests/testactions.c: Test for actions. * tests/testmerge.c: Test for menu merging. * tests/merge-[123].ui: Test data for testmerge. * tests/Makefile.am: Add testactions and testmerge. * demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the menubar and toolbar.