1. 22 Sep, 2003 1 commit
  2. 21 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Changes to make cross-process merging feasible: · d381967d
      Matthias Clasen authored
      2003-09-21  Matthias Clasen  <maclas@gmx.de>
      
      	Changes to make cross-process merging feasible:
      
      	* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
      	merged UI definition. Remove the "changed" signal, since its role
      	is now filled by "notify::ui". Instead add a "actions-changed" signal
      	which gets emitted when the set of actions changes.
      
      	* gtk/gtktoggleactionprivate.h:
      	* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
      	Add a "draw_as_radio" property to toggle actions so that they can be
      	used as proxies for radio actions much like the "draw_as_radio"
      	property on check menu items enables them to operate as proxies for
      	radio actions.
      
      	Prevent the "show_all" trap for action-based menus (see
      	http://mail.gnome.org/archives/gtk-devel-list/2003-September/
      	msg00260.html):
      
      	* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
      	calls from static functions.
      
      	* gtk/gtkuimanager.c (update_node):
      	* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
      	widgets whose visibility is externally controlled.
      
      	* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
      	"no_show_all" property with setter and getter. When TRUE, it keeps
      	gtk_widget_{hide,show}_all() from modifying the visibility of the
      	widget and its children.
      d381967d
  3. 17 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Install accelerators on actions, not on proxies, support accelerator-only · 0ceb0db0
      Matthias Clasen authored
      2003-09-18  Matthias Clasen  <maclas@gmx.de>
      
      	Install accelerators on actions, not on proxies, support
      	accelerator-only actions:
      
      	* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
      	and its lock status either via _gtk_widget_get_accel_path() or by
      	looking at the accel_path stored in the menu item itself and determining
      	its lock status by peeking into the contained accel label. This was
      	already (accidentally) committed a week ago.
      
      	* gtk/gtkaction.h (gtk_action_set_accel_group):
      	(gtk_action_[dis]connect_accelerator): New functions.
      
      	* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
      	accel_closure and accel_count. We must have a reference to the accel_group,
      	since we need it in connect_proxy. The count is necessary to ensure
      	that the accelerator isn't removed before the last proxy requesting
      	it has been unmerged.
      	(connect_proxy): Connect the accelerator to the
      	action now, only set the accel_path on the menuitem.
      	(remove_proxy): Disconnect the accelerator from the action, not from
      	the menuitem.
      	(gtk_action_set_accel_group): Set the accel group.
      	(gtk_action_[dis]connect_accelerator): Count the number of times
      	this functions have been called and install/remove the accelerator if
      	the count leaves/reaches zero.
      
      	* gtk/gtkuimanager.h (GtkUIManagerItemType): Add
      	GTK_UI_MANAGER_ACCELERATOR.
      
      	* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
      	(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
      	<accelerator> elements.
      	(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
      	type is GTK_UI_MANAGER_ACCELERATOR.
      	(update_node): Set the accel group on actions before creating their
      	proxies. Don't set the accel group on created menus. For
      	NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
      	(print_node): Also emit <accelerator> elements.
      
      	* tests/testmerge.c (dump_accels): Add a "Dump Accels" button.
      0ceb0db0
  4. 15 Sep, 2003 3 commits
    • Matthias Clasen's avatar
      Apply egtk-format-protos. Doc tweaks. · 543b020f
      Matthias Clasen authored
      	* gtk/gtkaction.h: Apply egtk-format-protos.
      	* gtk/gtkuimanager.c: Doc tweaks.
      
      	* gtk/tmpl/gtkaction.sgml:
      	* gtk/tmpl/gtkradioaction.sgml:
      	* gtk/tmpl/gtkactiongroup.sgml:
      	* gtk/tmpl/gtkuimanager.sgml: Updates.
      543b020f
    • Matthias Clasen's avatar
      New function which implements "smart" separators by iterating once over · c77b0caa
      Matthias Clasen authored
      	* gtk/gtkuimanager.c (update_smart_separators): New function which
      	implements "smart" separators by iterating once over the entries of a
      	menu, hiding and showing separators as necessary.
      	(update_node): Mark separators used as fences of placeholders as
      	hidden. Explicitly added separators are marked as smart. Call
      	update_smart_separators after updating a menu or toolbar node.
      	Connect update_smart_separators to "notify::visible" signal on menu
      	and tool items.
      
      	* tests/merge-[12].ui: Test smart separators.
      
      	* gtk/tmpl/gtkuimanager.sgml: Add a paragraph about smart separators.
      c77b0caa
    • Matthias Clasen's avatar
      Add value parameter to allow setting the currently selected group member · caf380c7
      Matthias Clasen authored
      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].
      caf380c7
  5. 11 Sep, 2003 1 commit
    • Matthias Clasen's avatar
      Add deprecation notes. (#121955) · df145210
      Matthias Clasen authored
      2003-09-12  Matthias Clasen  <maclas@gmx.de>
      
      	* gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text)
      	(gdk_draw_text_wc): Add deprecation notes.  (#121955)
      df145210
  6. 04 Sep, 2003 4 commits
    • Matthias Clasen's avatar
      Test gtk_ui_manager_add_ui(). · 02a963e1
      Matthias Clasen authored
      2003-09-04  Matthias Clasen  <maclas@gmx.de>
      
      	* tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui().
      
      	* gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
      	'type' argument of gtk_ui_manager_add_ui().
      
      	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
      	to make this function as powerful as the XML methods of adding UI.  (#120647)
      
      	* gtk/gtk-sections.txt: Add GtkUIManagerItemType.
      02a963e1
    • Kristian Rietveld's avatar
      Merge from stable. · 563746c7
      Kristian Rietveld authored
      Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>
      
      	Merge from stable.
      
      	* docs/RELEASE-HOWTO: updates.
      563746c7
    • Matthias Clasen's avatar
      Use "position" instead of "pos". · 6c227b5a
      Matthias Clasen authored
      	* tests/merge-2.ui: Use "position" instead of "pos".
      
      	* gtk/gtkuimanager.c (start_element_handler): No need
      	to be terse: Change the name of the "pos" attribute
      	to "position".
      
      	* gtk/tmpl/gtkuimanager.sgml: Change the name of the "pos"
      	attribute to "position".
      6c227b5a
    • Matthias Clasen's avatar
      Doc tweaks. · 0a163c7f
      Matthias Clasen authored
      0a163c7f
  7. 03 Sep, 2003 2 commits
  8. 01 Sep, 2003 4 commits
    • Matthias Clasen's avatar
      Doc addition. · 2ece92c8
      Matthias Clasen authored
      	* gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
      2ece92c8
    • Matthias Clasen's avatar
      Additions. · 7899a702
      Matthias Clasen authored
      7899a702
    • Matthias Clasen's avatar
      Shorten the names of some static functions. · cbbe97ab
      Matthias Clasen authored
      2003-09-02  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.c: Shorten the names of some static
      	functions.
      
      	Support adding and removing merge nodes dynamically (#120647,
      	Anders Carlsson):
      
      	* gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed
      	gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id
      	and made it public.
      	(gtk_ui_manager_add_ui): New function to add UI elements
      	without juggling XML fragments, currently restricted to menuitems,
      	toolitems and separators. Actions still come from registered
      	action groups.
      cbbe97ab
    • Matthias Clasen's avatar
      Add an example UI description. · 38ee74b0
      Matthias Clasen authored
      	* gtk/tmpl/gtkuimanager.sgml: Add an example UI description.
      38ee74b0
  9. 31 Aug, 2003 3 commits
    • Matthias Clasen's avatar
      Make this public again, since it's occasionally useful. (#121128, Marco · 7cddc693
      Matthias Clasen authored
      2003-09-01  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
      	this public again, since it's occasionally useful.  (#121128,
      	Marco Pesenti Gritti)
      
      	* gtk/gtkaction.c: Add an "is_important" property and propagate
      	it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
      7cddc693
    • Matthias Clasen's avatar
      Add gtktoggleactionprivate.h · 2c41fc09
      Matthias Clasen authored
      2003-08-31  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/Makefile.am (IGNORE_HFILES): Add gtktoggleactionprivate.h
      
      	* gtk/tmpl/gtkuimanager.sgml:
      	* gtk/gtk-sections.txt: Replace gtk_ui_manager_activate by
      	gtk_ui_manager_get_action.
      
      	* gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
      	replaces gtk_ui_manager_activate().  (#120658)
      
      	* tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
      	gtk_ui_manager_activate().
      2c41fc09
    • Matthias Clasen's avatar
      Additions. · 320bba9f
      Matthias Clasen authored
      2003-08-31  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/tmpl/gtkuimanager.sgml:
      	* gtk/tmpl/gtkactiongroup.sgml:
      	* gtk/tmpl/gtkaction.sgml:
      	* gtk/tmpl/gtktoggleaction.sgml:
      	* gtk/tmpl/gtkradioaction.sgml: Additions.
      
      	* gtk/gtk-sections.txt: Updates.
      
      	* gtk/gtk.types: Add GtkAction, GtkActionGroup, GtkToggleAction,
      	GtkRadioAction and GtkUIManager.
      
      	* gtk/gtkaction.c:
      	* gtk/gtkactiongroup.c: Some doc tweaks.
      
      	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
      	wasn't emitted anyway. Some doc tweaks.
      320bba9f
  10. 27 Aug, 2003 1 commit
  11. 25 Aug, 2003 2 commits
    • Matthias Clasen's avatar
      Rename GtkMenuMerge to GtkUIManager · 5e8c9634
      Matthias Clasen authored
      5e8c9634
    • Owen Taylor's avatar
      Send the focus on to the parent when there was no focus widget before and · eb410261
      Owen Taylor authored
      Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
              to the parent when there was no focus widget before
              and no focus widget after - that is, when there are
              no focusable widgets. (#108678, help tracking it
              down from Padraig O'Briain, Federico Mena Quintero, )
      
              * gtk/gtkxembed.[ch]: Move various shared utilities
              for the XEMBED protocol eused by GtkPlug and GtkSocket
              here.
      
              * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
              a flag bit that is sent with focus mesages to indicate
              that the focus has wrapped around on the toplevel;
              use this bit to catch infinite loops when there is no
              focusable widget at ll in the entire toplevel.
      
              * tests/testsocket.c (child_read_watch): Remove an
              extraneous unref.
      
              * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h:
              Up XEMBED protocol version to 1, add logic for
              sending the right version in XEMBED_EMBEDDED_NOTIFY.
      
              * gtk/gtksocket.c (gtk_socket_add_window): Send
              the embedder window in the XEMBED_EMBEDDED_NOTIFY
              as the spec requires.
      eb410261
  12. 24 Aug, 2003 1 commit
    • Matthias Clasen's avatar
      New templates. · 20667ea7
      Matthias Clasen authored
      2003-08-24  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/tmpl/gtkmenumerge.sgml:
      	* gtk/tmpl/gtkaction.sgml:
      	* gtk/tmpl/gtkactiongroup.sgml:
      	* gtk/tmpl/gtkradioaction.sgml:
      	* gtk/tmpl/gtktoggleaction.sgml: New templates.
      
      	* gtk/gtk-docs.sgml:
      	* gtk/gtk-sections.txt: Add GtkMenuMerge, GtkAction, GtkActionGroup,
      	GtkRadioAction, GtkToggleAction.
      20667ea7
  13. 11 Aug, 2003 1 commit
  14. 10 Aug, 2003 2 commits
  15. 09 Aug, 2003 2 commits
  16. 08 Aug, 2003 1 commit
  17. 04 Aug, 2003 1 commit
    • Soeren Sandmann's avatar
      add new "is_important" property · 6f6d3a22
      Soeren Sandmann authored
      Fri Aug  1 15:26:46 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
      	property
      
      	* gtk/gtkradiotoolbutton.c
      	(gtk_radio_tool_button_new_from_widget): Don't take a stock id
      
      	* gtk/gtkradiotoolbutton.c
      	(gtk_radio_tool_button_new_with_stock_from_widget): make this
      	function take a stock_id.
      
      	* gtk/toolbar: documentation
      6f6d3a22
  18. 03 Aug, 2003 1 commit
  19. 30 Jul, 2003 2 commits
  20. 29 Jul, 2003 2 commits
    • Soeren Sandmann's avatar
      Move documentation inline from template files. · 05ce8747
      Soeren Sandmann authored
      Tue Jul 29 13:55:44 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* gtk/gtktoolbar.c (gtk_toolbar_set_style,
      	gtk_toolbar_prepend_element, gtk_toolbar_append_element,
      	gtk_toolbar_insert_space, gtk_toolbar_prepend_space,
      	gtk_toolbar_append_space, gtk_toolbar_insert_item,
      	gtk_toolbar_prepend_item, gtk_toolbar_append_item,
      	gtk_toolbar_set_tooltips, gtk_toolbar_set_orientation,
      	gtk_toolbar_new, gtk_toolbar_prepend_item):
      
      	Move documentation inline from template files.
      
      	* gtk/gtktoolbar.c (gtk_toolbar_insert_element,
      	gtk_toolbar_insert_widget, gtk_toolbar_prepend_widget,
      	gtk_toolbar_append_widget, gtk_toolbar_remove_space,
      	gtk_toolbar_insert_stock, gtk_toolbar_unset_icon_size,
      	gtk_toolbar_get_icon_size, gtk_toolbar_set_icon_size,
      	gtk_toolbar_get_tooltips, gtk_toolbar_unset_style,
      	gtk_toolbar_get_style, gtk_toolbar_get_orientation)
      
      	Copy documentation from stable that was added after the EggToolbar
      	branched.
      
      	* gtk/gtktoolbar.h: deprecate gtk_toolbar_unset_icon_size()
      05ce8747
    • Sven Neumann's avatar
      Resurrected documentation that got lost when the window parameter was · ac209d13
      Sven Neumann authored
      2003-07-29  Sven Neumann  <sven@gimp.org>
      
      	* gdk/tmpl/pixmaps.sgml: Resurrected documentation that got lost
      	when the window parameter was renamed to drawable.
      ac209d13
  21. 28 Jul, 2003 1 commit
  22. 23 Jul, 2003 1 commit
  23. 21 Jul, 2003 1 commit
  24. 18 Jul, 2003 1 commit