1. 12 Dec, 2001 1 commit
  2. 04 Dec, 2001 1 commit
    • Owen Taylor's avatar
      Patch from Bill Haneman (with many modifications) to make the focus color · 7537825b
      Owen Taylor authored
      Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>
      
      	Patch from Bill Haneman (with many modifications) to make
      	the focus color work on dark themes and to make the
      	focus line width configurable. (#61079, #63074)
      
              * gtk/gtkwidget.c: Add style properties,
      	::focus-widget, ::focus-line-width, and ::focus-padding.
      
      	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
      	state argument as well so we can use fg[STATE] to
      	draw instead of always drawing with black.
      	Cange paint_focus() to respect GtkWidget::focus-width
      	and GtkWidget::focus-line-pattern. Fix continuity
      	problem where the default 1-1 stipple had a blob
      	in one corner and a gap in the other. Change the
      	interpretation of x/y/width/height to be the bounding
      	box of the focus rect instead of the rectangle
      	passed to gdk_draw_rectangle.
      
      	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
      	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
      	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
      	and ::focus-line-padding.
      
      	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
      	and remove duplicated code; fix drawing of focus rectangle
      	when interior-focus = FALSE. (#63072, #63073)
      
      	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
      	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
      	Range and TreeViewColumn will need more extensive fixing.
      
      	* gtk/gtkcolorsel.c: Honor focus line attributes when
      	drawing the focus on the color swatches. (#63071)
      
      	* gtk/gtkhsv.c: Honor focus line attributes when
      	drawing the focus for the ring and triangle.
      
      	* docs/widget_geometry.txt: Start at documenting how
      	various widgets are drawn.
      
      	* gtk/gtkbutton.c (_gtk_button_paint): Export
      	_gtk_button_paint() librarywide, so we don't have
      	duplicate a bunch of code in gtktogglebutton.c.
      
      	* gtk/gtktogglebutton.c: Use _gtk_button_paint().
      7537825b
  3. 30 Nov, 2001 1 commit
  4. 24 Nov, 2001 1 commit
  5. 20 Nov, 2001 1 commit
  6. 19 Nov, 2001 1 commit
  7. 17 Nov, 2001 1 commit
    • Owen Taylor's avatar
      Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2; · a036c6e5
      Owen Taylor authored
      Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
      	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
      	only for compatibility with GTK+-1.2; and deprecate it;
      	put all marshalers we actually use into gtkmarshalers.list
      	and use the _gtk_marshal_ prefix for these marshalers.
      a036c6e5
  8. 16 Nov, 2001 2 commits
    • Owen Taylor's avatar
      Propagate key press events not just to focus/window but also to · c344b3f9
      Owen Taylor authored
      Thu Nov 15 12:54:36 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkwindow.c (gtk_window_key_press_event): Propagate
              key press events not just to focus/window but also to
              intermediate widgets.
      
              * gtk/gtknotebook.c: Handle Ctrl-PageUp/Ctrl-PageDown
              to switch pages. (Needs some work on handling focus
              when switching pages.)
      c344b3f9
    • Owen Taylor's avatar
      Fix child allocations to be relative to widget position and some drawing · 0f9b2422
      Owen Taylor authored
      Fri Nov 16 14:06:31 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtknotebook.c: Fix child allocations to be relative to
      	widget position and some drawing bugs.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem
      	with reading uninitialized variable.
      0f9b2422
  9. 15 Nov, 2001 2 commits
    • Owen Taylor's avatar
      Some small drawing fixes for scroll arrows. · 91a34f5d
      Owen Taylor authored
      Thu Nov 15 16:07:42 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtknotebook.c: Some small drawing fixes for scroll arrows.
      91a34f5d
    • Owen Taylor's avatar
      Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann) · b27345fe
      Owen Taylor authored
      Thu Nov 15 14:19:34 2001  Owen Taylor  <otaylor@redhat.com>
      
       	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
       	gdk_window_invalidate_maybe_recurse() for recursion.
       	(Soeren Sandmann)
      
       	* gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann)
      
      	* gtk/gtkcontainer.c (gtk_container_expose): Call
      	gtk_container_forall() not _foreach() to propagate,
      	since we need to propagate exposes to internal children
      	as well.
      
      	* gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events):
      	Remove the restriction of only being able to call these
      	on window widgets, since we have lots of NO_WINDOW widgets
      	with windows now; for add events, recurse over the children
      	of widget->window to find one owned by the widget.
      
      	* gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only
      	window to catch events.
      
      	* gtk/gtktogglebutton.[ch]: Remove the code for switching
      	between NO_WINDOW and WINDOW widgets based on the mode.
      
      	* gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c
      	gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton.
      
      	* gtk/gtkrange.[ch]: Make into a NO_WINDOW widget.
      
      	* gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW
      	change for range.
      
      	* gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget.
      
      	* docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.
      b27345fe
  10. 14 Nov, 2001 1 commit
    • Matthias Clasen's avatar
      Rearrange docs (#64566) · 3470c634
      Matthias Clasen authored
              * gtk/gtkbutton.c (gtk_button_get_label): Rearrange docs (#64566)
      
              * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): Typo fix (#64474)
      
              * gtk/gtkruler.c (gtk_ruler_get_metric): Typo fix (#64470)
      
              * gtk/gtknotebook.c (gtk_notebook_prepend_page): Typo fix (#64467)
      
              * gtk/gtklabel.c: Documentation fixes (#64452)
      
              * docs/reference/gdk/Makefile.am (MKDB_OPTIONS),
              docs/reference/gdk-pixbuf/Makefile.am (MKDB_OPTIONS),
              docs/reference/gtk/Makefile.am (MKDB_OPTIONS): Add --sgml-mode.
      
              * docs/reference/gdk-pixbuf/tmpl/file-saving.sgml,
              docs/reference/gdk-pixbuf/tmpl/module_interface.sgml,
              docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rgb.sgml: Consistent short descriptions.
              * docs/reference/gtk/tmpl/gtkprogressbar.sgml: Remove duplicate docs. (#64469)
      
              * docs/reference/gtk/gtk-sections.txt: Add missing TITLEs (#64459, #6456
      3470c634
  11. 13 Nov, 2001 1 commit
    • Tim Janik's avatar
      added gtkaccelmap.sgml. other updates. · d07573c0
      Tim Janik authored
      Mon Nov 12 23:06:38 2001  Tim Janik  <timj@gtk.org>
      
              * added gtkaccelmap.sgml. other updates.
      
      Mon Nov 12 23:08:37 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/maketypes.awk: fix type utils generation on unix.
      
      	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
      	registry.
      
      	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
      	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
      	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
      	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
      	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
      	introduced ::accel_changed signal for change notification, and
      	gtk_accel_group_connect/disconnect to connect closures to accel groups.
      	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
      	functions.
      	deprecated gtk_accel_group_ref/unref.
      
      	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
      	to accel group changed notification and basically operate on closures.
      	removed gtk_accel_label_get_accel_object and
      	gtk_accel_label_set_accel_object.
      	introduced gtk_accel_label_set_accel_closure, and for convenience,
      	gtk_accel_label_set_accel_widget.
      
      	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
      	which mostly moved into gtkaccelmap.[hc].
      	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
      	and gtk_item_factory_print_func.
      
      	* gtk/gtkmain.c: call _gtk_accel_map_init().
      
      	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
      	that associates an accelerator path with menu items, through which
      	persistent accelerator settings on menu items are enabled.
      
      	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
      	paths of menu item can be default constructed to allow installation
      	of accelerators on menu items that don't come with an accelerator
      	binding by default.
      
      	* gtk/gtksettings.c: fix STRING type rc settings by special casing
      	them appropriately in the parser.
      
      	* gtk/gtksignal.[hc]: allow a class function offset of 0 for
      	gtk_signal_newv().
      
      	* gtk/gtkwidget.[hc]: accelerator API revamp.
      	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
      	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
      	gtk_widget_(un)lock_accelerators.
      	accelerators maintained through gtk_widget_add/remove_accelerator()
      	are not runtime changable now, the correct sequence to setup a
      	widget for runtime changable accelerators is now:
      	  gtk_accel_map_add_entry(accel_path, key, mods);
      	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);
      
      	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
      	group changes (as well as mnemonic changes) through the new signal
      	::accels_changed.
      
      Sat Nov 10 12:08:56 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
      	GString->string conversions.
      d07573c0
  12. 10 Nov, 2001 1 commit
    • Matthias Clasen's avatar
      Mass fixing of trivial doc bugs. (#63544, #57007, #64141, #63472, #57108, · 79e4b185
      Matthias Clasen authored
              * gtk/gtkiconfactory.c, gtk/gtktextbuffer.c, gtk/gtktreemodel.c,
              gtk/gtkwindow.c, gtk/gtknotebook.c, gtk/gtkradiobutton.c,
              gtk/gtktextiter.c, gtk/gtkdialog.c: Mass fixing of trivial doc bugs.
              (#63544, #57007, #64141, #63472, #57108, #60818, #61562)
      
              * gtk/tmpl/gtkaccellabel.sgml, gtk/tmpl/gtkcombo.sgml,
              gtk/tmpl/gtkentry.sgml, gtk/tmpl/gtkhscrollbar.sgml,
              gtk/tmpl/gtkvscrollbar.sgml, gtk/tmpl/gtktoolbar.sgml,
              gtk/tmpl/gtkdialog.sgml, gtk/tmpl/gtkstatusbar.sgml:
              Mass fixing of trivial doc bugs. (#55579, #56760, #58769, #55918,
              #64154, #60422, #54697)
      79e4b185
  13. 26 Sep, 2001 1 commit
    • Owen Taylor's avatar
      Fix problem where menmonic wasn't removed properly when setting a label · 0269b438
      Owen Taylor authored
      Wed Sep 26 16:15:25 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtknotebook.c (gtk_notebook_set_tab_label): Fix
      	problem where menmonic wasn't removed properly when
      	setting a label when there already is a label.
      	Also, handle setting the tab label back to the same
      	value. (#61160, #61161)
      
      	* gtk/gtkentry.c (paste_received): Patch from
              Damian Ivereigh to replace selection if there is
      	one. (#61121)
      0269b438
  14. 31 Jul, 2001 1 commit
    • Tim Janik's avatar
      fix finding of child's page, since we have to validly deal with labels and · 8dfce459
      Tim Janik authored
      Tue Jul 31 22:59:33 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtknotebook.c (gtk_notebook_get_child_property):
              (gtk_notebook_set_child_property): fix finding of child's page,
              since we have to validly deal with labels and menus here as well.
              (gtk_notebook_get_child_property): fix warning.
              (gtk_notebook_class_init): property tab_pack is of type
              GTK_TYPE_PACK_TYPE (enum) not boolean.
              (gtk_notebook_find_child): don't always warn, we might be looking
              for a label or menu child.
              (gtk_notebook_map): fix mapping of panel.
      
              * gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain
              widget's mapped state, regardless of the value being set equals
              old settings, since things like REALIZED(parent) or MAPPED(parent)
              may have changed since the old value was set. make it an error to
              invoke this function on a toplevel widget.
      8dfce459
  15. 19 Jul, 2001 1 commit
    • Owen Taylor's avatar
      Enforce the widget/child realization/mapping invariants. · aa49527f
      Owen Taylor authored
      Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
      	the widget/child realization/mapping invariants.
      
      	* gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions
      	gtk_widget_[get/set]_child_visible() to control
      	whether visible children of a mapped window are
      	mapped.
      
      	* docs/widget_system.txt: Updated for changes in
      	container contract, and addition of GTK_CHILD_VISIBLE.
      
      	* gtk/gtkcontainer.c: Add generic map()/unmap()
      	functions that work for almost all containers.
      
      	* gtk/gtknotebook.c gtk/gtkpacker.c: Use
      	gtk_widget_set_child_visible() where necessary.
      
      	* gtk/*.c: Remove excess map(), unmap(), and
      	realization/mapping invariant enforcing code
      	from many containers.
      aa49527f
  16. 18 Jul, 2001 1 commit
    • Owen Taylor's avatar
      Patch from Matthias Clasen to remove remove all instances of · 4e2b60ac
      Owen Taylor authored
      Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/*.c: Patch from Matthias Clasen to remove remove
      	all instances of g_return_if_fail (foo != NULL); that are
      	immediately before a g_return_if_fail (GTK_IS_FOO (foo));
      	since the second check catches the NULL anyways.
      4e2b60ac
  17. 29 Jun, 2001 2 commits
    • Havoc Pennington's avatar
      fixes to compile with G_DISABLE_COMPAT · 49c1e6dc
      Havoc Pennington authored
      2001-06-29  Havoc Pennington  <hp@redhat.com>
      
             * Throughout: fixes to compile with G_DISABLE_COMPAT
      	(s/g_signal_connectc/g_signal_connect/,
      	s/g_signal_newc/g_signal_new/,
      	s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
      49c1e6dc
    • Havoc Pennington's avatar
      Clip the retrieved image data to the screen, using a server grab to avoid · 0bee26c7
      Havoc Pennington authored
      2001-06-28  Havoc Pennington  <hp@pobox.com>
      
      	* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
      	image data to the screen, using a server grab to avoid race
      	conditions.
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
      	check for NULL return from gtk_image_new_from_stock(), it never
      	returns NULL.
      	(gtk_item_factory_create_item): fix bug where we parsed the stock
      	ID as an inline pixbuf
      
      	* gtk/gtktext.c (gtk_text_key_press): numeric keypad support
      
      	* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
      	support (should be using binding set here)
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
      	support (should be using binding set here)
      
      	* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
      	support
      
      	* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
      
      	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
      
      	* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
      
      	* gtk/gtkimcontextsimple.c
      	(gtk_im_context_simple_filter_keypress): keypad
      
      	* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad
      
      	* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
      
      	* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
      
      	* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
      	should be binding-setted)
      
      	* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
      
      	* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
      
      	* gtk/gtkcalendar.c: numeric keypad fixes
      
      	* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
      	support
      
      	* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
      	screwup
      
      	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
      	clip the render area to the drawable's clip region in advance,
      	so we don't get data from the server that we don't need.
      
      	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
      	check return value of gdk_pixbuf_get_from_drawable(), fall back
      	to bilevel alpha if we can't get the pixbuf to composite against.
      
      	* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
      
      	* gdk/gdkimage.c (gdk_image_get_colormap): add
      	gdk_image_set_colormap, gdk_image_get_colormap
      
      	* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
      	take a region of the image, instead of converting the entire
      	image.
      
      	* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
      	keybinding signal. Add default bindings for it. Add default
      	handler for show_help that shows the tooltip for the widget.
      
      	* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
      	"close" keybinding signal, remove key press handler.
      
      	* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
      	it's not our usual practice to leave a deprecated function around
      	with a runtime warning, plus we don't want it to appear in docs,
      	plus if we make them yellow no one will want to change them
      	anyhow.
      0bee26c7
  18. 24 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Fix stupid error introduced last night that was making things decidedly · cc223eef
      Owen Taylor authored
      Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
      	introduced last night that was making things decidedly not work.
      
      	* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
      	so that we have getter/setter pairing everywhere it makes
      	sense. (#55767)
      
      	* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
      	Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
      	deprecated compat macro. (#55516)
      
      	* gtk/gtklabel.[ch]: Add functions
      	gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
      	gtk_label_set_label(), which mirror the property API for GtkLabel.
      	Make gtk_label_get_attributes() only reflect the attributes
      	set by gtk_label_set_attributes.
      
      	* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
      	from gtk_notebook_set_page().
      cc223eef
  19. 19 Jun, 2001 1 commit
    • Tim Janik's avatar
      fix PROP_EVENTS. · 5ebd1d02
      Tim Janik authored
      Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
      
              * gtk/Makefile.am:
              * gtk/gtk.h: disabled GtkPacker compilation.
      
              * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
      
              * gtk/gtknotebook.c:
              * gtk/gtktable.c:
              * gtk/gtkbox.c: ported this over to child properties.
      
              * gtk/gtksettings.c: fetch class properties via
              g_object_class_list_properties().
      
              * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
              child arg interface. use gobjectnotifyqueue.c for child property
              notification.
      
              * gtk/gtkwidget.[hc]: provide necessary means for container child
              properties, i.e. ::child_notify signal,
              gtk_widget_freeze_child_notify(),
              gtk_widget_child_notify(),
              gtk_widget_thaw_child_notify().
      
              * tests/testgtk.c: removed inferior property handling code, for
              property editing, a generic module should be used, and GLE
              coincidentally fullfills that purpose.
      
              * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
              needs to be adapted to g_object_class_list_properties() before this
              builds again.
      5ebd1d02
  20. 08 Jun, 2001 1 commit
    • Havoc Pennington's avatar
      geez, don't call g_list funcs on GSList · 74e7da21
      Havoc Pennington authored
      2001-06-08  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
      	don't call g_list funcs on GSList
      
      	* gtk/gtkwidget.c (gtk_widget_child_focus): replaces
      	gtk_container_focus(), since some widgets have focusable locations
      	which are not other widgets. These widgets should not have to be
      	containers just to manage the focus. For example, GtkHSV is
      	currently a container for no good reason. Also, this cleans
      	up the "if (is_container && is_sensitive && is_drawable)
      	container_focus ()" mess in widget implementations.
      
      	* gtk/gtkcontainer.c (gtk_container_focus): deprecate this
      	function, and have it just call gtk_widget_child_focus().
      
      	* gtk/gtkhsv.c: derive from widget not container
      
      	Throughout: fix to reflect GtkContainer::focus change
      74e7da21
  21. 17 May, 2001 1 commit
    • Alexander Larsson's avatar
      Add properties, based on patch by Lee Mallabone. · 6ee1ae13
      Alexander Larsson authored
      2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
      
      	* gtk/gtkbbox.c:
      	Add properties, based on patch by Lee Mallabone.
      
      	* gtk/gtknotebook.c:
      	* gtk/gtktoolbar.c:
      	Convert from GtkArg to GParam, based on patch by John Margaglione.
      
      	* gtk/gtkhscale.c:
      	* gtk/gtkvscale.c:
      	* gtk/gtkhscrollbar.c:
      	* gtk/gtkvscrollbar.c:
      	* gtk/gtkrange.c:
      	Move adjustment property to GtkRange.
      
      	* gtk/gtklabel.c:
      	Setup mnemonics on property changes
      
      	* gtk/gtkwidget.c (gtk_widget_get_property):
      	GdkExtensionMode is an enum, not a flag. Set it with
      	g_value_set_enum ().
      
      	* tests/prop-editor.c:
      	Better propery editor.
      
      	* tests/testgtk.c:
      	Add new property test. Pass zero to the property editor to
      	get properties from all derived types.
      6ee1ae13
  22. 28 Apr, 2001 1 commit
    • Havoc Pennington's avatar
      voc Pennington <hp@redhat.com> · 7ad36413
      Havoc Pennington authored
      	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
      	(gtk_text_layout_move_iter_to_next_line): fix these two for
      	invisible text, lots of other stuff still hosed.
      
      	* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
      	new function, replaces the get/set palette stuff. This function
      	is intended for use by libgnomeui which should set the hook to a
      	thing which sets the palette in GConf, and we need the
      	GConf-to-xsettings proxy which will result in the change being
      	propagated back to the GTK app.
      
      	* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
      	about unusable signals that it may be because the signal has
      	parameters.
      
      	* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
      	style, otherwise gtkrc.c won't know to create a new GtkStyle for
      	it.
      	(gtk_widget_modify_color_component): call
      	gtk_widget_modify_style() so the rc style will get copied.
      	(gtk_widget_modify_font): ditto
      
      	* gtk/gtkrc.c: make a couple variables static
      
      	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
      	help button by default, since it does nothing
      
      	* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
      	around with UI
      
      	* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
      	so we can have tooltips
      
      	* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
      	can have tooltips
      
      	* gdk/gdkimage.h: mark gdk_image_new_bitmap with
      	GDK_ENABLE_BROKEN, because its memory behavior is completely
      	hosed.
      
      	* gtk/gtknotebook.c: remove key press handler, replace with
      	binding set, add numeric keypad support
      
      	* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
      
      	* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
      
      	* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
      	addition to plain Delete
      
      	* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
      	GDK_KP_Enter in addition to GDK_Return
      
      	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
      	activate on entry instead of key press
      	(gtk_font_selection_on_clist_key_press): get
      	rid of this signal handler, not needed with new font sel.
      
      	* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
      	no-longer-needed emit_stop_by_name(), just return TRUE
      
      	* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
      	cruft, this widget is no longer focusable.
      
      	* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
      	gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
      	move_slider action signal, add binding set for vscale/hscale, in
      	the process support numeric keypad
      
      	* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
      	make GDK_Return and GDK_KP_Enter activate the entry via
      	binding set, instead of hardcoded.
      7ad36413
  23. 24 Apr, 2001 1 commit
    • Alexander Larsson's avatar
      i2001-04-24 Alexander Larsson <alexl@redhat.com> · c6680637
      Alexander Larsson authored
      	* gtk/gtkclist.[ch]:
      	* gtk/gtkctree.c:
      	When there is a row highlighted for D'n'D it must alse
      	be painted hightlighted on exposes. Otherwise exposes from
      	the icon being dragged will mess up the hightlight.
      
      	* gtk/gtkfontsel.c:
      	Don't recenter selected font when exposing the font family
      	clist. This means you can now actually scroll the font family
      	list.
      
      	* gtk/gtknotebook.c:
      	Fix focus movement on scrolling tabs that are placed on the left
      	and right.
      c6680637
  24. 01 Apr, 2001 1 commit
    • Tim Janik's avatar
      got rid of gtk_widget_popup(), a function that bad needs to be nuked, not · 770938bf
      Tim Janik authored
      Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
              bad needs to be nuked, not just deprecated.
      
              * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use
              gtk_widget_popup().
      
              * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
      
              * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
              widget.
      
              * docs/Changes-2.0.txt: updates.
      770938bf
  25. 24 Mar, 2001 1 commit
    • Havoc Pennington's avatar
      make this somewhat key-navigable · 207e3bb9
      Havoc Pennington authored
      2001-03-23  Havoc Pennington  <hp@pobox.com>
      
      	* gtk/gtkhsv.c: make this somewhat key-navigable
      
      	* gtk/gtkfontsel.c: mnemonics
      
      	* gtk/gtkgamma.c: mnemonics
      
      	* gtk/gtkcolorsel.c: add mnemonics to labels
      
      2001-03-22  Havoc Pennington  <hp@pobox.com>
      
      	Applied big patch from Seth Lytle to fix event handler return
      	values, slightly modified.
      
      	* gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
      	handled.
      	(gtk_calendar_key_press): return TRUE for GDK_space triggers
      	select_day
      
      	* gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
      	(gtk_clist_button_release): return TRUE if handled
      
      	* gtk/gtkcolorsel.c (mouse_release):
      	(palette_activate):
      	(palette_press):
      	(palette_new):
      	(mouse_press):
      	(get_screen_color):
      	fixed return type (void to gboolean), return TRUE,
      	added GTK_SIGNAL_FUNC cast
      
      	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
      	(void to gboolean), and return TRUE
      	(gtk_combo_button_release): changed return value to TRUE after
      	gtk_grab_add on combo->popwin
      
      	* gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
      	collapse or expand
      
      	* gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
      	button/motion
      
      	* gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
      	press/release and motion that trigger act
      
      	* gtk/gtkentry.c (gtk_entry_button_release): return TRUE
      
      	* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
      	for GDK_Return
      
      	* gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
      	(gtk_list_button_release): return TRUE if selection
      
      	* gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
      	press
      
      	* gtk/gtkmenushell.c (gtk_menu_shell_button_press):
      	(gtk_menu_shell_button_release): chain parent_menu_shell retval
      
      	* gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
      	nothing triggered
      	(gtk_notebook_button_release): return TRUE if we do anything
      
      	* gtk/gtkspinbutton.c (gtk_spin_button_button_press):
      	(gtk_spin_button_button_release): return TRUE or chained retval
      
      	* gtk/gtktext.c (gtk_text_button_press):
      	(gtk_text_button_release): return TRUE
      	(gtk_text_key_press): remove redundant retval code
      
      	* gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
      	and sensitive
      	(gtk_tree_item_subtree_button_click): changed type to gint, and return
      	TRUE if sensitive
      
      	* gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies
      	return TRUE
      207e3bb9
  26. 22 Mar, 2001 1 commit
    • Tim Janik's avatar
      some cleanups, fixed mnemonic_widget handling, added PROP_MNEMONIC_WIDGET. · c2c98d9e
      Tim Janik authored
      Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
              added PROP_MNEMONIC_WIDGET.
      
              * gtk/gtkwindow.c (gtk_window_activate_mnemonic):
              (gtk_window_remove_mnemonic):
              (gtk_window_add_mnemonic): fixed assertions.
              (gtk_window_activate_mnemonic): constrain modifier checks to those
              permitted by gtk_accelerator_get_default_mod_mask().
              got rid of gtk_window_get_default_accel_group().
      
              * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
              activatable widgets either by focussing or a warning.
              added a signal accumulator to ::activate_mnemonic which stops the
              emission once a handler returned TRUE.
      c2c98d9e
  27. 21 Mar, 2001 1 commit
    • Alexander Larsson's avatar
      Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and removed · de5eafed
      Alexander Larsson authored
      2001-03-21  Alexander Larsson  <alexl@redhat.com>
      
              * gtk/gtkbutton.[ch]:
      	* gtk/gtkdialog.c:
      	Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
      	removed accel_group argument. Renamed gtk_button_new_accel() to
      	gtk_button_new_with_mnemonic() and removed accel_group argument.
      
      	* gtk/gtkcheckbutton.[ch]:
      	New function gtk_check_button_new_with_mnemonic().
      
      	* gtk/gtkentry.c:
      	Override activate_mnemonic and just grab focus.
      
      	* gtk/gtkitemfactory.c:
      	Don't add menu uline accel group, instead use mnemonics support.
      
      	* gtk/gtklabel.[ch]:
      	New support for mnemonics.
      
      	* gtk/gtkmarshal.list:
      	Needed BOOLEAN:BOOLEAN for activate_mnemonic.
      
      	* gtk/gtkmenu.[c]:
      	* gtkmenushell.c:
      	Use mnemonics instead of accel groups for uline
      	support in menu items.
      	Removed gtk_menu_get_uline_accel_group() and
      	gtk_menu_ensure_uline_accel_group().
      
      	* gtk/gtkmenuitem.c:
      	Override activate_mnemonic to handle switching between
      	menu items if there are collisions.
      
      	* gtk/gtknotebook.c:
      	Connect to activate_mnemonic on the tab_label, so that
      	activating it switches to that notebook page.
      
      	* gtk/gtkwidget.[ch]:
      	Add activate_mnemonic signal. New function
      	gtk_widget_activate_mnemonic() to emit it.
      	Default implementation does activate/grab_focus.
      
      	* gtk/gtkwindow.[ch]:
      	Add support for mnemonics in windows.
      	New functions:
      	gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
      	gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
      
      	* gtk/testgtk.c:
      	Update to function name changes.
      de5eafed
  28. 09 Mar, 2001 1 commit
    • Alexander Larsson's avatar
      Document expose event->region change and that gtk_widget_event doesn't · e7d4a7f9
      Alexander Larsson authored
      2001-03-09  Alexander Larsson  <alexl@redhat.com>
      
      	* docs/Changes-2.0.txt:
      	Document expose event->region change and that gtk_widget_event
      	doesn't allow passing expose events.
      
      	* gdk/gdkevents.h:
      	Add region to expose event.
      
      	* gdk/gdkevents.c:
      	Handle event->region in gdk_event_copy() and gdk_event_free().
      
      	* gdk/gdkwindow.c (gdk_window_process_updates_internal):
      	Generate expose_event->region when creating expose events.
      
      	* gdk/x11/gdkevents-x11.c:
      	Generate expose events with regions when translating X events.
      
      	* gtk/gtkcontainer.[ch]:
      	Default expose handler that propagates expose events to NO_WINDOW
      	children. New function gtk_container_propagate_expose()
      
      	* gtk/gtkwidget.[ch]:
      	Moved gtk_widget_event implementation to gtk_widget_event_internal.
      	gtk_widget_event calls gtk_widget_event_internal but doesn't allow
      	expose events. New function gtk_widget_send_expose() to send expose
      	events. New function gtk_widget_region_intersect() to calculate
      	window/region intersections.
      
      	* gtk/gtkmain.c (gtk_main_do_event):
      	Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
      	Use gtk_widget_send_expose() to send expose events.
      
      	* gtk/gtkbin.c:
      	* gtk/gtkbox.c:
      	* gtk/gtkfixed.c:
      	* gtk/gtkimagemenuitem.c:
      	* gtk/gtklist.c:
      	* gtk/gtkpacker.c:
      	* gtk/gtktable.c:
      	* gtk/gtktree.c:
      	Remove expose handler, using the default container implementation
      	instead.
      
      	* gtk/gtkbutton.c:
      	* gtk/gtkcheckbutton.c:
      	* gtk/gtkeventbox.c:
      	* gtk/gtkfixed.c:
      	* gtk/gtkhandlebox.c:
      	* gtk/gtklayout.c:
      	* gtk/gtklistitem.c:
      	* gtk/gtkmenu.c:
      	* gtk/gtkmenubar.c:
      	* gtk/gtkmenuitem.c:
      	* gtk/gtknotebook.c:
      	* gtk/gtkoptionmenu.c:
      	* gtk/gtkpaned.c:
      	* gtk/gtkscrolledwindow.c:
      	* gtk/gtktogglebutton.c:
      	* gtk/gtktoolbar.c:
      	* gtk/gtktreeitem.c:
      	* gtk/gtkviewport.c:
      	Chain expose handler to parent class handler. Use
      	gtk_container_propagate_expose() to propagate exposes.
      
      	* gtk/gtkclist.c (check_exposures):
      	* gtk/gtktext.c (process_exposes):
      	Use gtk_widget_send_expose instead of gtk_widget_event.
      e7d4a7f9
  29. 28 Feb, 2001 1 commit
    • Havoc Pennington's avatar
      Remove draw_focus and draw_default (gtk_widget_draw_focus): remove this · 56a2f2c6
      Havoc Pennington authored
      2001-02-28  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
      	draw_default
      	(gtk_widget_draw_focus): remove this function; we could instead
      	make it just gtk_widget_draw(), but in most cases I think the
      	result would be broken user code, so think it's better to have
      	that code not compile and get fixed
      	(gtk_widget_draw_default): ditto
      
      	* gtk/gtkwidget.c: Add default handlers for focus_in_event and
      	focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
      
      	* gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
      	widgets lose/get the default, instead of calling draw_default
      
      	* docs/Changes-2.0.txt: note about all this
      
      	Then fixed every widget in GTK, I won't list all the filenames.
      56a2f2c6
  30. 02 Feb, 2001 1 commit
    • Owen Taylor's avatar
      Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat(). · a1a252ce
      Owen Taylor authored
      Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
      	a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
      
      	* gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
      	since some people set $(libdir) separately. (#1290, David Kaelbling)
      
      Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
      	defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
      	MAXPATHLEN, but the code here depends on a fixed value.)
      	(#4524)
      
      Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
      	where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
      
      Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkctree.c (real_tree_move): If the node being moved isn't
      	viewable there is no way that moving the node will cause the
      	focus row to become not viewable, so omit check on the visibility
      	of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
      
      Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
      	selection before inserting new text.
      
      Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
      	Make the sensitivity of the reparented child track that of
      	the original parent menu item. (#34218, David Hodson)
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
      	the case where the current item is destroyed properly.
      
      	* gtk/gtkoptionmenu.c: Some additional code cleanups and fix
      	some edge cases with child-less menuitems.
      
      Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
      	key pop down window. (#12074, Jon K Hellan)
      
      Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
      	toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan)
      	The solution here isn't perfect - you get an extraneous
      	emission of "toggle", which could conceivably confuse an app,
      	but better than the current situation. LXR search seems to
      	indicate that no apps in GNOME CVS connect to "toggle".
      
      Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
              gtk_public_h_sources to directly here to avoid warning when
              building srcdir != builddir. (#9656)
      
      Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrange.c: Patch from Kipp Hickman to make the event
      	handlers in gtkrange.c return the proper values (TRUE == handled)
      	(#10316).
      
      	This is just the tip of the iceberg, but gtkrange.c is the
      	most common place where the propagation is problematical,
      	and also a place where it is almost certainly safe to change
      	this in the stable branch.
      
      	(You don't want right click popups on a range control or anything...)
      
      Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c (clear_focus_area): We need to clear the focus
      	area on focus out, even if a background pixmap isn't set.
      	(#13941)
      
      Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
      	to deal with setting the shape properly when scrolling arrows are
      	turned on, but not visible because there is sufficient space.
      	(#13432)
      
      Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
      	items with submenus, destroy the item along with the submenu.
      	(#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...'
      	properly.
      
      	* gtk/testgtk.c (menu_items): Add a dummy branch that we delete
      	later.
      
      Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
      	the focus widget sometimes wasn't drawn with the default if there
      	was no default widget.
      
      	* gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
      	unreference pixmaps.
      
      	* gtk/gtkstyle.c (gtk_style_realize): Reference colormap
      	for some extra safety.
      
      Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
      	the text of a cell to the old pointer value better, by
      	copying the new text before freeing the old text. Some code
      	cleanup. (#8079, Karl Nelson)
      
      Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
      	gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
      
      Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkmenu.c (gtk_menu_remove): When removing an
      	item from a menu, check to see if it matches
      	menu->old_active_menu_item, and if so, unref and clear
      	old_active_menu_item (Patch from Pavel Cisler)
      
      	* gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset
      	menu_shell->active_menu_item, if it is the child being
      	removed. (Patch based on that of Gene Ragan, #50337)
      a1a252ce
  31. 09 Jan, 2001 1 commit
    • Owen Taylor's avatar
      Doc fixups. · a801ea7b
      Owen Taylor authored
      Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
      	gdk/gdk-pixbuf.h: Doc fixups.
      
      	* gtk/gtkobject.h: Remove trailing , from enum
      a801ea7b
  32. 13 Dec, 2000 1 commit
    • Tim Janik's avatar
      doh, this was broken beyond believe. · 2c9eb3a5
      Tim Janik authored
      Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
      
      	* gtk/gtkbox.c: change property types from (u)long to (u)int for
      	::position and ::padding.
      
      	* gtk/gtkcontainer.c: make ::border_width an INT property.
      
      	* gtk/gtkpacker.c: make ::position an INT property.
      
      	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
      	guard against NULL h/v scrollbars, since this is used at construction
      	time.
      
      	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
      	internal gtk_clist_constructor().
      
      	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
      	gtk_ctree_constructor().
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
      	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
      
      	* docs/reference/Makefile.am: fun stuff, disabled docs generation
      	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
      
      	* gtk/gtkwidget.[hc]:
      	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
      	and gtk_widget_get().
      	(gtk_widget_new): use g_object_new_valist().
      	(gtk_widget_set): use g_object_set_valist().
      
      	* gtk/gtkobject.[hc]:
      	removed gtk_object_arg_get_info(), gtk_object_getv(),
      	gtk_object_query_args(), gtk_object_newv(),
      	gtk_object_class_add_signals(),
      	gtk_object_class_user_signal_new(),
      	gtk_object_class_user_signal_newv(),
      	gtk_object_arg_set(), gtk_object_arg_get(),
      	gtk_object_args_collect(),
      	gtk_object_default_construct(),
      	gtk_object_constructed(),
      	GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
      	removed nsignals, signals and n_args members from GtkObjectClass.
      	(gtk_object_new): use g_object_new_valist().
      	(gtk_object_set): use g_object_set_valist().
      	(gtk_object_get): use g_object_get_valist().
      
      	* gtk/gtkcompat.h: define gtk_object_default_construct().
      
      	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
      	g_object_new().
      
      	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
      	fucntions, cleaned up method assignments (make sure your structures
      	are setup properly before calling out). removed all GTK_CONSTRUCTED
      	hacks ;)
      2c9eb3a5
  33. 11 Dec, 2000 1 commit
    • Owen Taylor's avatar
      Add a function to determine if a window is the focus widget within its · 0cdc00ec
      Owen Taylor authored
      Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
      	to determine if a window is the focus widget within
      	its toplevel.
      
      	* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
      	to be boolean.
      
      	* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling
      	of the case where the container CAN_FOCUS to here instead
      	of having it in each individual move-the-focus place.
      
      	* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
      	focusing to be geometric in a much more obvious sense. Arrowing
      	around is still non-intuitive because it isn't perfect and
      	because entries, etc, grab the arrow keys, but it at least
      	usually will do what you expect now.
      
      	* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
      	file.
      
      	* gtk/gtknotebook.c: Change tabs to be a single item in
      	the focus chain. Make movement of focus on tabs with arrow
      	keys wrap around.
      
      	* gtk/gtknotebook.c (gtk_notebook_find_child): Add
      	CHECK_FIND_CHILD macro to give informative error messages
      	instead of silent returns.
      
      	* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT
      	flag since we handle GdkReturn on the tabs.
      
      	* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
      	windows rather than sending expose events directly.
      
      	* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure
      	definition for GtkNotebookPage into .c file, since it is private.
      
      	* gtk/testgtk.c (create_notebook): Add option for
      	testing borderless notebook.
      
      	* gtk/testgtk.c (page_switch): Removed egregious poking
      	around in GTK+ internals.
      
      	* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
      
      	* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
      	properly through gtk_clist_focus. Make the title headers a
      	single item in the tab-focus chain, and make left-right wrap
      	around.
      
      	* gtk/gtkwindow.c (gtk_window_focus): Add a custom
      	focus method so that wrapping around works properly.
      
      	* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() -
      	that is handled for the widget now.
      0cdc00ec
  34. 04 Dec, 2000 2 commits
    • Havoc Pennington's avatar
      fix this to be sane · 9365d0d7
      Havoc Pennington authored
      2000-12-04  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
      
      	* gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
      
      	* gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
      
      	* gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary
      	hack to avoid infinite loops (queue draw instead of draw) -
      	Owen has more appropriate fixes in a branch he'll check in later.
      
      	* gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
      	separator, CR, and CRLF as line ends
      
      	* gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
      	into lines using pango_find_paragraph_boundary(); other bits of
      	the widget are still going to be broken if the boundary isn't '\n'
      	though
      9365d0d7
    • Havoc Pennington's avatar
      Remove "draw" virtual method and signal · 5995baab
      Havoc Pennington authored
      2000-12-02  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
      method and signal
      
      * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
      calls gdk_window_process_updates() to push the exposes through
      (gtk_widget_class_init): No more draw signal, no
      gtk_widget_real_draw()
      
      * gtk/gtkbin.c (gtk_bin_draw): remove
      
      * gtk/gtkbox.c (gtk_box_draw): remove
      
      * gtk/gtkbutton.c (gtk_button_draw): remove
      
      * gtk/gtkcalendar.c (gtk_calendar_draw): remove
      
      * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
      
      * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
      
      * gtk/gtkclist.c (gtk_clist_draw): remove
      
      * gtk/gtkentry.c (gtk_entry_draw): remove
      
      * gtk/gtkeventbox.c (gtk_event_box_draw): remove
      
      * gtk/gtkfixed.c (gtk_fixed_draw): remove
      
      * gtk/gtkframe.c (gtk_frame_draw): remove
      
      * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
      
      * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
      
      * gtk/gtklayout.c (gtk_layout_draw): remove
      
      * gtk/gtklist.c (gtk_list_draw): remove
      
      * gtk/gtklistitem.c (gtk_list_item_draw): remove
      
      * gtk/gtkmenu.c (gtk_menu_draw): remove
      
      * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
      
      * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
      
      * gtk/gtknotebook.c (gtk_notebook_draw): remove
      
      * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
      
      * gtk/gtkpacker.c (gtk_packer_draw): remove
      
      * gtk/gtkrange.c (gtk_range_draw): remove
      
      * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
      
      * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
      
      * gtk/gtktable.c (gtk_table_draw): remove
      
      * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
      
      * gtk/gtktext.c (gtk_text_draw): remove
      
      * gtk/gtktextview.c (gtk_text_view_draw): remove
      
      * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
      
      * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
      
      * gtk/gtktree.c (gtk_tree_draw): remove
      
      * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
      
      * gtk/gtktreeview.c (gtk_tree_view_draw): remove
      
      * gtk/gtkviewport.c (gtk_viewport_draw): remove
      
      * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
      
      * gtk/gtkvscale.c (gtk_vscale_draw): remove
      
      * gtk/gtkwindow.c (gtk_window_draw): remove
      5995baab
  35. 08 Nov, 2000 1 commit
    • Alexander Larsson's avatar
      Add note about GtkMenuPositionFunc API changes. · 814957b4
      Alexander Larsson authored
      2000-11-08  Alexander Larsson  <alexl@redhat.com>
      
      	* docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
      	API changes.
      
      	* gtk/gtkmenu.c: Add support for scrolling menus.
      	Remove gtk_menu_append/prepend/insert, these have been moved to
      	gtkcompat.h as #defines.
      
      	* gtk/gtkcompat.h.in:
      	Add compatibility #defines for gtk_menu_append/prepend/insert
      
      	* gtk/gtkmenu.h: Add data needed for scrolling menus.
      	GtkMenuPositionFunc gets an extra argument push_in.
      	gtk_menu_append/prepend/insert removed.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
      	positioning behaviour to fit to scrolling menus.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
      	into menuitem->submeny. That is wrong, and broke torn
      	off submenus of torn off menus, since they were unrealized
      	when the first menu was unrealized.
      
      	* gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
      	gtk_menu_shell_select_item() since these need to be overridden in
      	GtkMenu.
      
      	* gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
      	positioning behaviour to fit to scrolling menus.
      	(gtk_option_menu_key_press, gtk_option_menu_button_press): Select
      	the current item so that it is prelighted when the menu pops up.
      	This is a workaround to the fact that the menu doesn't get the
      	initial enter event (due to grabs).
      
      	* gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
      	s/gtk_menu_append/gtk_menu_shell_append/
      
      	* gtk/gtknotebook.c:
      	s/gtk_menu_insert/gtk_menu_shell_insert/
      
      	* gtk/testgtk.c (create_menu, create_menus):
      	Create the first menu with 50 items so that menu scrolling
      	can be tested.
      
      
      	Patch from Jonathan Blandford  <jrb@redhat.com>
      
      	* gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
      	system to handle size requests.  First, we ask what the size of
      	the toggle is.  Then, when allocating the size, we allocate the
      	toggle_size first.  This way we can have multiple menu-item
      	classes w/o needing a seperate class for each.
      
      	* gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
      	* gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
      
      	* gtk/gtkcheckmenuitem.c
      	(gtk_check_menu_item_toggle_size_request): New function to handle
      	the toggle size-request.
      814957b4
  36. 25 Oct, 2000 1 commit
    • Tim Janik's avatar
      urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. if · d69496c0
      Tim Janik authored
      Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
              implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
              couldn't they at least give it a non-standard name?
      
              * gtk/gtktextlayout.c: arg! yet another implementation of
              gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
      
              * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
              gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
              home. now i know this _is_ a conspiracy.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
              ::state-changed.
      
              * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove):
              (gtk_accel_group_create_add): marshaller signature fixups.
      
              * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
              pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
      
              * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
              anymore.
      
      Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
      
              * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
              due to the signal system changes, it wouldn't build currently. to
              be fixed soon.
      
              * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
      
              * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
              so it needs gtk_marshal_VOID__ENUM() instead of
              gtk_marshal_NONE__UINT().
      
              * gdk/gdk*.c: adapted type registration functions.
      
              * gtk/gtkbindings.c:
              * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
              gone.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
      
              * gtk/gtkobject.c:
              (gtk_object_destroy):
              (gtk_object_shutdown): fixed recursion guards. basically we have to
              catch the case where any of GObject.shutdown() or gtk_object_destroy()
              is called during ::destroy, and avoid recursion there.
      
              * gtk/gtktypeutils.c:
              * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
              boxed_copy/boxed_free. this needs a more general solution based on a
              publically installed code-generator utility.
      
              * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
              glib's gobject has support for that now.
              define GtkSignalMarshaller in terms of GSignalCMarshaller.
      
      
      Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]:
              * gtk/gtkmarshal.[hc]:
              * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
              compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
              removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
              care of that.
      
              * *.c: marshaller name fixups.
      
              * gtk/gtkmarshal.list: added a comment briefing the format.
      
      Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
              compatibility macros here now. more specifically, most of
              the API is preserved (yes, _most_, nonwithstanding the
              following exceptions listed, the API is stil lHUGE ;)
              things that got removed completely:
              GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
              gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
              gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
              gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
              gtk_signal_remove_emission_hook().
              non-functional functions variants:
              gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
              the GtkCallbackMarshal argument to gtk_signal_connect_full() is
              not supported anymore.
              (gtk_signal_compat_matched): new internal function to aid
              implementation of the compatibility macros, it  provides
              functionality to block/unblock/disconnect handlers based
              on func/data.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
      
              * *.c: adaptions to new type registration API signatures.
      
      
      Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
      d69496c0