Commit Graph

117 Commits

Author SHA1 Message Date
Manish Singh
285c8f78fc Deprecation cleanup
Sun Oct  6 21:23:29 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkcontainer.[ch] gtk/gtkbox.[ch] gtk/gtkhbox.[ch]
        gtk/gtkvbox.[ch]: Deprecation cleanup
2002-10-07 04:29:52 +00:00
Owen Taylor
ef33adff83 Add a 'type' parameter, make public.
Thu Oct  3 14:13:33 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_new): Add a 'type'
        parameter, make public.

        * gdk/gdkevents.c (gdk_event_copy): Copy the screen.

        * gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
        gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
        _gdk_event_new() => gdk_event_new().

        * gdk/win32/gdkevents-win32.c (real_window_procedure):
        Fix event_private->screen breakage that results from evil
        encapsulation breakage here.

        * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
        gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
        gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
        gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
        gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
        gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
        tests/testgtk.c: Remove most usage of stack-allocated
        GdkEvent structures.

        * gtk/gtktreeview.c: Use a cut-and-paste of the full
        send_focus_event() from gtkwindow.c that does the necessary
        notification of the ::has-focus property and setting of
        the HAS_FOCUS flag.x

        * gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
        an extraneous use of a GdkEvent.
2002-10-03 20:53:30 +00:00
Matthias Clasen
083c3aef51 Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)
* gdk/gdkdraw.c (gdk_drawable_get_type):
	* gdk/gdkgc.c (gdk_gc_get_type):
	* gtk/gtkmenushell.c (gtk_menu_shell_get_type):
	* gtk/gtkimcontext.c (gtk_im_context_get_type):
	* gtk/gtkprogress.c (gtk_progress_get_type):
	* gtk/gtkoldeditable.c (gtk_old_editable_get_type):
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_type):
	* gtk/gtkwidget.c (gtk_widget_get_type):
	* gtk/gtkseparator.c (gtk_separator_get_type):
	* gtk/gtkscrollbar.c (gtk_scrollbar_get_type):
	* gtk/gtkscale.c (gtk_scale_get_type):
	* gtk/gtkrange.c (gtk_range_get_type):
	* gtk/gtkpaned.c (gtk_paned_get_type):
	* gtk/gtkmisc.c (gtk_misc_get_type):
	* gtk/gtkitem.c (gtk_item_get_type):
	* gtk/gtkcontainer.c (gtk_container_get_type):
	* gtk/gtkbbox.c (gtk_button_box_get_type):
	* gtk/gtkbox.c (gtk_box_get_type):
	* gtk/gtkbin.c (gtk_bin_get_type):
	* gtk/gtkobject.c (gtk_object_get_type): Mark abstract types as
	G_TYPE_FLAG_ABSTRACT.  (#72383)
2002-09-21 23:26:14 +00:00
Soren Sandmann
77eee887f3 Minor documentation fixes
2002-08-10  Soren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/gtk/tree_widget.sgml,
	docs/reference/gtk/tmpl/gtkdialog.sgml,
	docs/reference/gtk/tmpl/gtkentry.sgml,
	docs/reference/gtk/tmpl/gtkfilesel.sgml,
	docs/reference/gtk/tmpl/gtkfontsel.sgml,
	docs/reference/gtk/tmpl/gtkfontseldlg.sgml,
	docs/reference/gtk/tmpl/gtktreemodel.sgml,
	docs/reference/gtk/tmpl/gtkwidget.sgml, gdk/x11/gdkdisplay-x11.c,
	gtk/gtkbbox.c, gtk/gtkbox.c, gtk/gtkbutton.c, gtk/gtkcellrenderer.c,
	gtk/gtkcellrendererpixbuf.c, gtk/gtkcellrenderertext.c,
	gtk/gtkcheckmenuitem.c, gtk/gtkcontainer.c, gtk/gtkcurve.c,
	gtk/gtkdialog.h, gtk/gtkentry.c, gtk/gtkfilesel.c, gtk/gtkfontsel.c,
	gtk/gtkframe.c, gtk/gtkhandlebox.c, gtk/gtkiconfactory.c,
	gtk/gtkimage.c, gtk/gtkinvisible.c, gtk/gtkitemfactory.c,
	gtk/gtklabel.c, gtk/gtklayout.c, gtk/gtkmenu.c, gtk/gtkprogress.c,
	gtk/gtkprogressbar.c, gtk/gtkscrolledwindow.c, gtk/gtksizegroup.c,
	gtk/gtktable.c, gtk/gtktextiter.c, gtk/gtktexttag.c,
	gtk/gtktexttag.h, gtk/gtktextview.c, gtk/gtktogglebutton.c,
	gtk/gtktoolbar.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c,
	gtk/gtktreestore.c, gtk/gtktreeview.c, gtk/gtktreeviewcolumn.c,
	gtk/gtkviewport.c, gtk/gtkwidget.c, gtk/gtkwidget.h,
	gtk/gtkwindow.c:

	Minor documentation fixes

	(#89254, patch from Brett Nash;
	 #85809, patch from daten@dnetc.org;
	 #76391, patch from Ross Burton;
	 #74559, Manuel Clos;
	 #73569, #72005, Alexey A. Malyshev;
	 #70061, patch from Dennis Bj"orklund;
	 #64566, #63388, #58328, #57499, #81007, #77349, Vitaly Tishkov;
	 #78932, Vitaly Tishkov, patch from Ross Burton;
	 #73306)
2002-08-10 09:55:41 +00:00
Matthias Clasen
3fd4c9f169 Change parameter names to match the header file and the documentation.
* gtk/gtkcontainer.c (gtk_container_class_install_child_property):
	(gtk_container_class_find_child_property):
	(gtk_container_class_list_child_properties):
	* gtk/gtkwidget.c (gtk_widget_class_find_style_property):
	(gtk_widget_class_list_style_properties): Change parameter names
	to match the header file and the documentation.
2002-05-13 22:35:42 +00:00
Matthias Clasen
c272baf6ef Bump version to 2.1.0, binary, interface age 0.
* configure.in: Bump version to 2.1.0, binary, interface age 0.

	* gtk/gtkcontainer.c (gtk_container_class_list_child_properties):
	(gtk_container_class_find_child_property): Document.

	* gtk/gtkwidget.c:
	* gtk/gtkwidget.h: New functions gtk_widget_class_list_child_properties
	and gtk_widget_class_find_child_property.  (#80652)
2002-05-05 20:10:38 +00:00
Matthias Clasen
e3d181b81c Improve a warning.
* gtk/gtkcontainer.c (gtk_container_class_install_child_property):
	Improve a warning.

	* gdk/linux-fb/gdkinput.c (gdk_device_get_axis): Remove a broken
	and redundant doc comment.

	* gtk/gtkprogress.c (gtk_progress_class_init):
	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init):
	* gtk/gtktexttag.c (gtk_text_tag_class_init):
	* gtk/gtknotebook.c (gtk_notebook_class_init): Better blurbs,
	incorporating stuff from the doc templates.

	* gtk/gtkplug.c (gtk_plug_construct): Fix docs.
2002-04-30 23:40:19 +00:00
Jonathan Blandford
3e88641895 include internal children when doing focus.
Mon Apr 15 15:41:56 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcontainer.c (gtk_container_focus): include internal
	children when doing focus.
	(gtk_container_get_all_children): new static function to include
	internal children when making a list of them.
2002-04-15 22:21:30 +00:00
Owen Taylor
c9d9db0fcc Fix problems with HandleBox and focusing - #78232
Tue Apr  9 19:01:28 2002  Owen Taylor  <otaylor@redhat.com>

        Fix problems with HandleBox and focusing - #78232

	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Handle
	GtkHandleBox / GnomeDock style window heirarchy / widget
	heirarchy disconnects. :-(.

	* gtk/gtkcontainer.c: Handle failures from
	gtk_widget_translate_coordinates (Focusing is not right, but at
	least it doesn't go into infinite loops.)
2002-04-09 23:32:35 +00:00
Owen Taylor
eb721363be Always set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy,
Tue Apr  9 18:34:58 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcontainer.c (_gtk_container_queue_resize): Always
        set the ALLOC_NEEDED and REQUEST_NEEDED flags up the hierarchy,
        even if we aren't currently in a resize container... we need
        this to properly handle size changes to widgets that are
        being moved from one heirarchy to another. (#78226)
2002-04-09 22:41:37 +00:00
Owen Taylor
8acfd1e9de Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC,
Wed Mar 20 16:36:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.c: Patch from Erwann Chenede, #73900 fixing
        a lot of warnings with Forte CC, mostly implicit
        casts between void * and function pointers.

        * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
        state field is not a GdkModifierType. (Also #73900)
2002-03-20 21:47:01 +00:00
Owen Taylor
fce84d0535 include gdkkeysysms.h if compiling gdk_keyval_convert_case.
Thu Feb 28 19:55:01 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeys.c: include gdkkeysysms.h if
        compiling gdk_keyval_convert_case.

        * gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement
        <Control>Tab <Control><Shift>Tab to cycle between
        all menu bars in a toplevel once one is up.

        * tests/testgtk.c: Add a second menubar, this
        example is already full of crack anyways.

        * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd
        unhandled events up to the parent menu shell.

        * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only
        pop up the menu if the parent menu shell is still active.

        * gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a
        old_focus argument, export privately.
2002-03-01 01:05:11 +00:00
Owen Taylor
a504db9e83 Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann, #72182.
Fri Feb 22 18:36:45 2002  Owen Taylor  <otaylor@redhat.com>

	Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,
	#72182.

	* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
	gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c
	gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
	Squash trailing commas on enumerations.

	* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
	of 1 << 31 to work around AIX compiler problem. (C standard
	seems to imply that compiler is required to use an unsigned
	type for the enum value in this case.)

	* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.

	* gtk/gtkwindow.h: Fix use of enum types for bitfields ...
	compilers may choose to use a signed type for bitfields.
2002-02-23 00:13:17 +00:00
Matthias Clasen
4dddfb2dc6 Remove excess calls to g_return_if_fail from static and virtual functions. 2002-01-30 22:29:03 +00:00
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +00:00
Tim Janik
bc879373a2 don't ignore realized but visible && !mapped resize containers (which is
Wed Jan  2 23:09:06 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c (_gtk_container_queue_resize): don't ignore
        realized but visible && !mapped resize containers (which is
        possible with unset CHILD_VISIBLE now).
2002-01-02 22:08:49 +00:00
Matthias Clasen
74db59e9d1 Close comment.
* gtk/gtkcontainer.c (gtk_container_child_type): Close comment.

        * gtk/gtkviewport.c: Add docs.
2001-12-10 21:50:36 +00:00
Matthias Clasen
0212048af6 Add docs.
* gtk/gtkcontainer.c: Add docs.

        * gtk/tmpl/gtkmain.sgml: Markup fixes.

        * gtk/gtk-docs.sgml: Add an empty entity to suppress
        crossreferencing in programlistings.
2001-12-09 21:34:39 +00:00
Matthias Clasen
31df9723e5 Fix docs. (#66383)
* gtk/gtklabel.c: Fix docs. (#66383)

        * gtk/gtkbbox.c (gtk_button_box_set_child_secondary): Fix docs.
        (#66278, #66280)

        * gdk/gdkwindow.h (gdk_window_get_deskrelative_origin),
        gdk/gdkimage.h (gdk_image_get): Deprecate. (#66208)

        * gtk/gtkcolorsel.c (gtk_color_selection_set_update_policy):
        Don't emit a g_warning() about being deprecated. (#66208)

        * gtk/gtkaccellabel.c (gtk_accel_label_set_accel_widget): Add docs.

        * gtk/gtkcontainer.c: Doc fixes.

        * gtk/gtkliststore.c (gtk_list_store_clear): Add docs; misc doc fixes.

        * gtk/gtkstyle.c (gtk_style_attach): Add docs.

        * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
        gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
        Deprecate. (#66208)

        * gtk/tmpl/gtklabel.sgml: Remove redundant docs. (#66383)

        * gtk/tree_widget.sgml: Typo fix. (#66256)

        * gdk-pixbuf/Makefile.am (SCAN_OPTIONS): Add --deprecated-guards.

        * gtk/tmpl/gtktext.sgml, gtk/tmpl/gtktree.sgml,
        gtk/tmpl/gtktreeitem.sgml: Updates.
2001-12-06 21:38:12 +00:00
Alex Larsson
c7cd3421f7 Return FALSE from expose handlers.
2001-12-03  Alex Larsson  <alexl@redhat.com>

	* gtk/gtkaccellabel.c:
	* gtk/gtkarrow.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcontainer.c:
	* gtk/gtklabel.c:
	* gtk/gtktextview.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c:
	Return FALSE from expose handlers.
2001-12-03 22:11:40 +00:00
Matthias Clasen
9ea603f15d Typo fix.
* gtk/gtkcontainer.c (gtk_container_propagate_expose): Typo fix.

        * gdk/tmpl/event_structs.sgml: Small fixes.
2001-11-20 22:40:41 +00:00
Owen Taylor
a036c6e59f Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;
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.
2001-11-17 23:28:51 +00:00
Owen Taylor
b27345fe2c Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann)
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.
2001-11-15 21:04:51 +00:00
Owen Taylor
82a6dc9365 Back out accidental commit of debugging timing code
Wed Nov 14 15:14:48 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcontainer.c (gtk_container_idle_sizer): Back
	out accidental commit of debugging timing code
2001-11-14 20:20:03 +00:00
Matthias Clasen
f4f1768db9 Fix docs for gtk_tree_view_column_set_sort_order. (#62647)
* gtk/gtktreeviewcolumn.c: Fix docs for
        gtk_tree_view_column_set_sort_order. (#62647)

        * gtk/gtkcontainer.c: Fix docs for
        gtk_container_set_border_width. (#64139)

        * gtk/gtkcolorsel.c: Documentation fixes.

        * gtk/tmpl/gtkpaned.sgml: Document gtk_paned_set_gutter_size
        as noop. (#45802)

        * gtk/tmpl/gtkcolorsel.sgml: Remove stuff duplicating inline
        docs. (#60481)
2001-11-10 01:30:31 +00:00
Owen Taylor
21457ced17 Add a function gdk_window_invalidate_maybe_recurse() for use in "shallow
Sun Nov  4 16:02:08 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.[ch]: Add a function gdk_window_invalidate_maybe_recurse()
        for use in "shallow invalidation" of a widget. (Windows belonging
        to the widget, but not to the widget's children)

        * gtk/gtkprivate.h gtk/gtkwidget.c gtk/gtksizegroup.c: Add private
        flags GTK_ALLOC_NEEDED, GTK_REQUEST_NEEDED.  These flags are set
        up on ancestors up to the resize container on queue_resize. Size
        requests only actually take place if GTK_REQUEST_NEEDED, size
        allocations only take place if GTK_ALLOC_NEEDED or the size
        changed.

        * gtk/gtkcontainer.c gtk/gtkwidget.c: Remove
        container->resize_widgets and the RESIZE_NEEDED flag since the
        above flags are sufficient to figure out what needs to be
        resized/reallocated. Remove code manipulating
        container->resize_widget.

        * gtk/gtkwidget.[ch]: Add gtk_widget_set_redraw_on_alloc(); this
        allows widgets to turn off being automatically invalidated is when
        they are resized.

        * gtk/gtkwidget.[ch] (gtk_widget_size_allocate): Invalidation when
        a widget is resized or moved is "shallow" as described above -
        only the windows that need to be invalidated are invalidated.

        * gtk/gtkbox.c gtk/gtktable.c gtk/gtkalignment.c docs/Changes-2.0.txt:
        Make these widget's init functions call
        gtk_widget_set_redraw_on_allocate(widget,FALSE).

        * gtk/gtkwindow.c (gtk_window_configure_event): Call
        _gtk_container_queue_resize(), since we don't want
        redrawing. (Probably could be done for other
        calls to gtk_widget_queue_resize() in gtkwindow.c,
        but this is the most important one.)

        * gtk/gtkwindow.c (gtk_window_move_resize): Don't call
        gtk_widget_queue_draw() - size_allocate() handles
        that as appropriate.

        * gtk/gtkframe.c (gtk_frame_size_allocate): Invalidate instead
        of queue_clear() to avoid invalidating children.
2001-11-04 22:57:03 +00:00
Anders Carlsson
bb8ea8c470 Mention that the valid width is in range 0-65535 pixels. Fixes bug #56754.
2001-10-27  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtkcontainer.c (gtk_container_set_border_width): Mention
	that the valid width is in range 0-65535 pixels. Fixes bug
	#56754.
2001-10-27 00:03:13 +00:00
Owen Taylor
1ebe3b518b Add a utility function to translate coordinates relative to one widget's
Tue Oct 16 15:50:03 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Add
	a utility function to translate coordinates relative to
	one widget's allocation to coordinates relative to another
	widget's allocation.

	* gtk/gtkradiobutton.c: Add a special ->focus() implementation
	that:
	 - only accepts external focus if there is no active
   	   member of the group or the button is active.
	 - makes arrow keys move the active button as well
	   as the focus
	 - make tab tab out directly.
	This makes a radio button group act as a single focus location.
	(#53577).

	* gtk/gtkcontainer.c (gtk_container_focus): Remove prefiltering -
	it was only a small optimization that didn't matter and made
	things more complicated.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): Get rid of custom
	sorter for FOCUS_TAB as we did for the other focus directions,
	sort by center of widgets, not upper-left corner. (Shouldn't
	matter in general.)

	* gtk/gtkcontainer.c: Restructure code to remove duplicate code
	from the different types of focusing: encapsulate sorting the
	widgets for the focus direction into one routine
	(gtk_container_focus_sort()) and then share the work of moving the
	focus between the different focus directions.

	* gtk/gtkcontainer.c: Fix bug where arrow navigation might not
	work correctly with focus chains containing non-immediate
	children. Sorting was being done using allocation coordinates for
	each widget in the focus chain, and if there were intermediate
	window-widgets, these allocations would not be in the same
	coordinate system.
2001-10-16 21:02:24 +00:00
jacob berkman
b02befc6ff s/retrive/retrieve/
2001-10-03  jacob berkman  <jacob@ximian.com>

	* gtk/gtkwidget.c (gtk_widget_style_get_property):
	* gtk/gtkstyle.c (_gtk_style_peek_property_value):
	* gtk/gtksettings.c (apply_queued_setting):
	* gtk/gtkmain.c (gtk_init_check):
	* gtk/gtkcontainer.c (gtk_container_child_get_property):
	s/retrive/retrieve/
2001-10-03 19:48:55 +00:00
Owen Taylor
540f15dcce Add a compat macro that got lost.
Mon Sep 24 12:48:25 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.h: Add a compat macro that got lost.

        * gtk/gtktreestore.c: Doc fixes.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
        leak for windows that receive events after being destroyed.
        (#60863, Joshua N. Pritikin)

        * gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
        rather than gtk_container_queue_resize().

        * gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
        gtk_container_queue_resize, gtk_container_queue_resize_widgets,
        gtk_container_child_composite_name. (#60217.)
2001-09-24 16:54:41 +00:00
Havoc Pennington
9df0074685 add default icon
2001-08-28  Havoc Pennington  <hp@pobox.com>

	* demos/gtk-demo/main.c (setup_default_icon): add default icon

	* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic):
	warning fix
	(gtk_radio_button_new_with_label): warning fix

	* gtk/gtkdnd.c: used some random GtkImage private structs,
	update to reflect GtkImage changes

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check
	whether the hint is supported, just always set the icon. A task
	list might want to use it even if the WM doesn't, and the WM may
	change over time. Also, XDeleteProperty() if list == NULL.

	* gtk/gtkwindow.c (gtk_window_set_icon_list)
	(gtk_window_get_icon_list)
	(gtk_window_set_icon)
	(gtk_window_get_icon)
	(gtk_window_set_default_icon_list)
	(gtk_window_get_default_icon_list):
	new functions

	* gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet

	* gtk/gtkimage.c: Implement property support, bug #59408

	* gtk/gtkcontainer.c (gtk_container_add): make the warning message
	on reparent-without-removing-first a bit more helpful.
	Let's just destroy this FAQ.
2001-08-29 02:20:02 +00:00
Owen Taylor
991a7188ed Rename gtk_container_children() to gtk_container_get_children. Added
Thu Aug 23 19:33:54 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcontainer.[ch]: Rename gtk_container_children()
	to gtk_container_get_children. Added deprecated compatibility
	macro.	(Suggested by Vitaly Tishkov, #59051)

	* gtk/gtktoolbar.c gtkdialog.c: Fix gtk_container_children()
	calls.
2001-08-23 23:38:32 +00:00
Hans Breuer
4c5b559e04 gdk_device_get_history moved to gdk/gdkinput.c like the other backends
2001-07-20  Hans Breuer  <hans@breuer.org>

	* gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to
	gdk/gdkinput.c like the other backends

	* gdk/win32/gdkinput-win32.h :
	* gdk/win32/gdkinput.c :
	* gdk/win32/gdkvisual-win32.c :
	* gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and
	GdkVisual GObjectification. UNTESTED for pen-devices because
	I simply have none.

	* gdk/gdk.def :
	* gtk/gtk.def : updated externals

	* gtk/gtkiconfactory.c :
	* gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL)
	before passing &error to functions to avoid strange crashes

	* gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static

	* gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail

	* gtk/makefile.msc.in : updated
2001-07-20 18:05:33 +00:00
Owen Taylor
aa49527fa7 Enforce the widget/child realization/mapping invariants.
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.
2001-07-19 14:57:15 +00:00
Owen Taylor
4e2b60ac4d Patch from Matthias Clasen to remove remove all instances of
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.
2001-07-18 23:39:26 +00:00
Owen Taylor
82ffb2f502 Add missing case.
Thu Jul 12 14:06:19 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add
	missing case.

	* gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix
	NULL/FALSE return value confusion.

	* gtk/gtkrange.c (coord_to_value): Fix division-by-zero
	problem when scrollbar completely fills range. (Patch
	from  Matthias Clasen, #57047)
2001-07-12 18:10:06 +00:00
Owen Taylor
de985fb58e Remove change check for GTK_TYPE_OBJECT derivation to G_TYPE_OBJECTS -
Sat Jun 30 20:44:48 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktypeutils.c (gtk_type_class): Remove
	change check for GTK_TYPE_OBJECT derivation to
	G_TYPE_OBJECTS - it's Tim-approved to use this
	for arbitary objects.

	* gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore
	prefix gtk_container_dequeue_resize_handler().

	* gtk/gtkwidget.[ch]: Add a previous_toplevel argument
	to the hierarachy_changed signal, since you otherwise
	have to always keep that around.

	* gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt
	for extra argument to hierarchy_changed.
2001-07-01 00:57:21 +00:00
Tim Janik
10f047cf4c up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7.
Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>

	* configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.

	* gtk/gtkmenubar.c (add_to_window): likewise.

	* gtk/gtktextbtree.c: and here...

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.

	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.

	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.

	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().

	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.

	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.

	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.

	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-28 17:12:40 +00:00
Owen Taylor
cc223eeff6 Fix stupid error introduced last night that was making things decidedly
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().
2001-06-24 15:34:48 +00:00
Tim Janik
f1e23c4013 added gtk_container_child_set_property() and
Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
        gtk_container_child_get_property().
2001-06-21 00:42:46 +00:00
Tim Janik
5ebd1d022a fix PROP_EVENTS.
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.
2001-06-19 12:54:10 +00:00
Havoc Pennington
74e7da214f geez, don't call g_list funcs on GSList
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
2001-06-08 18:09:34 +00:00
Owen Taylor
50512ddcd2 Remove reallocate-redraws property. This is something that only a widget
Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcontainer.c: Remove reallocate-redraws property.
	This is something that only a widget writer would ever want
	to change.

	* gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
	gtk_signal_emit_by_name().

	* gtk/gtkviewport.c: Fix some warnings.

	* gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
	allowing the requisitions of multiple widgets to be grouped
	together.

	* tests/testgtk.c: Add GtkSizeGroup test

	* demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.

	* demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
	warnings.

	* configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
2001-05-18 18:30:59 +00:00
Alexander Larsson
aa209a95fa Remove leaks.
2001-03-30  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkbutton.c (gtk_button_get_property):
	* gtk/gtklabel.c:
	Remove leaks.

	* gtk/gtkcontainer.c:
	* gtk/gtkhscale.c:
	* gtk/gtkhscrollbar.c:
	* gtk/gtklayout.c:
	* gtk/gtkmisc.c:
	* gtk/gtkprogress.c:
	* gtk/gtkprogressbar.c:
	* gtk/gtkrange.c:
	* gtk/gtktable.c:
	* gtk/gtkviewport.c:
	* gtk/gtkvscale.c:
	* gtk/gtkvscrollbar.c:
	* gtk/gtkwidget.c:
	Property patches, based on patches from John Margaglione and Lee Mallabone.
2001-03-30 15:46:17 +00:00
Havoc Pennington
23b98cc1ec Add ability to override the focus chain for a container explicitly
2001-03-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkcontainer.c (gtk_container_set_focus_chain):
	(gtk_container_unset_focus_chain): Add ability to override the
	focus chain for a container explicitly
2001-03-22 20:59:37 +00:00
Alexander Larsson
e7d4a7f90d Document expose event->region change and that gtk_widget_event doesn't
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.
2001-03-09 13:28:26 +00:00
Tim Janik
35af5c4eba marshaller fixes.
Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>

        * gtk/*.c: marshaller fixes.

        * gtk/gtkmarshal.list: extreme cleanup.

        * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
        param spec for now.

        * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
        where appliable.

        * gtk/gtktypeutils.[hc]: updates to GLib API changes.
        special cased autogenerated boxed types from gtktypebuiltins_ids.c
        which are not reference counted:
        GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
        PangoFontDescription, GtkTreeIter and GtkTreePath.

Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtktreeselection.h:
        * gtk/gtktreemodel.c:
        * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
        file should be included directly, and gobject/gmarshal.h
        as well as gtk/gtkmarshal.h even can't be included directly.

        * Makefile.am: grr, install gtk-config-2.0.

        * gtk/testgtk.c:
        * gtk/simple.c:
        * gtk/gtkmenu.c:
        * gtk/gtkitemfactory.c: use g_object_connect() instead of
        passing "*signal*::*" args to gtk_widget_set().

        * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.

        * gtk/*.c: removed trailer arg from property setters and getters.
        macro fixups.

Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>

        * test-gdk-pixbuf.c: fixed includes.
2001-03-07 14:49:21 +00:00
Havoc Pennington
2c5d938ff8 CVS is doing its broken pipe thing, this is more of the previous commit
2001-02-02  Havoc Pennington  <hp@redhat.com>
2001-02-03 01:09:41 +00:00
Tim Janik
2c9eb3a572 doh, this was broken beyond believe.
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 ;)
2000-12-13 01:34:41 +00:00
Owen Taylor
0cdc00ec0b Add a function to determine if a window is the focus widget within its
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.
2000-12-11 17:47:24 +00:00