1. 09 Aug, 2004 1 commit
    • Matthias Clasen's avatar
      Add hidden aliases for exported symbols which are used internally in order · 3612aee5
      Matthias Clasen authored
      Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Add hidden aliases for exported symbols which are
      	used internally in order to get rid of many PLT
      	entries.  (#145519, Arjan van de Ven)
      
      	* gtk/Makefile.am: Add rules to generate gtk.def and
      	from gtk.symbols, and make make check check the abi
      	with abicheck.sh.
      	(gtk_private_h_sources): Add gtkinternals.h
      	(gtk_built_private_headers): Add gtkalias.h
      	(gtk_extra_sources): Add gtk.symbols
      	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
      
      	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
      	The file can be processed by cpp to filter out certain
      	subsets of symbols.
      
      	* gtk/abicheck.sh: New file. Script to check the actually
      	symbols exported from libgtk-x11.2.0.so against the symbols
      	found in gtk.symbols.
      
      	* gtk/makegtkalias.pl: New file. Perl script to generate the
      	header containing the alias definitions for internally used
      	exported symbols from a list of symbols.
      
      	* gtk/gtkinternals.h: New file. An uninstalled header listing
      	symbols which must be exported for some reason and do not appear
      	in any other header.
      
      	* gtk/*.c: Include gtkalias.h
      3612aee5
  2. 06 Mar, 2004 1 commit
  3. 20 Nov, 2002 1 commit
    • Manish Singh's avatar
      add -DGTK_DISABLE_DEPRECATED. #undef it at the top of gtktypebuiltins.c. · bc035915
      Manish Singh authored
      Tue Nov 19 17:05:51 2002 Manish Singh  <yosh@gimp.org>
      
      	* gtk/Makefile.am: add -DGTK_DISABLE_DEPRECATED. #undef it at the
      	top of gtktypebuiltins.c.
      
      	* gtk/gtkclist.c
      	* gtk/gtkcombo.c
      	* gtk/gtkctree.c
      	* gtk/gtklist.c
      	* gtk/gtklistitem.c
      	* gtk/gtkoldeditable.c
      	* gtk/gtkpixmap.c
      	* gtk/gtkpreview.c
      	* gtk/gtksignal.c
      	* gtk/gtktext.c
      	* gtk/gtktipsquery.c
      	* gtk/gtktree.c
      	* gtk/gtktreeitem.c
      	* gtk/gtktypeutils.c: #undef GTK_DISABLE_DEPRECATED, deprecated widgets
      	and compat code.
      
      	* gtk/gtkcolorsel.c: move gtk_color_selection_set_color implementation
      	to set_color_internal, and use that. The deprecated function now
      	merely wraps it.
      
      	* gtk/gtkfontsel.c: same as above, except with
      	gtk_font_selection_get_font.
      
      	* gtk/gtknotebook.c: same as above, except with
      	gtk_notebook_set_homogeneous, and gtk_notebook_set_tab_{border,
      	hborder,vborder}.
      
      	* gtk/gtkprogressbar.c: same as above, except with
      	gtk_progress_bar_set_{bar_stype,discrete_blocks,activity_step,
      	activity_blocks}.
      
      	* gtk/gtkstyle.c: same as above, except with gtk_style_get_font.
      
      	* gtk/gtkwidget.c: same as above, except with gtk_widget_set_usize.
      
      	* gtk/gtkitemfactory.h: declare compatibility functions for deprecated
      	GtkMenuFactory stuff if GTK_COMPILATION, since they are used
      	internally by the compat code.
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
      	use of deprecated gtk_check_menu_item_set_show_toggle (it is a noop
      	now).
      
      	* gtk/gtkmain.c: replaced deprecated GTK_TYPE_* with G_TYPE_*.
      
      	* gtk/gtkobject.c: replaced various deprecated functions. In set and
      	get_property, use g_object_{set,get}_data with "user_data" instead
      	of gtk_object_{set,get}_user_data.
      
      	* gtk/gtkprogress.h: API declared if GTK_COMPILATION
      
      	* gtk/gtkprogress.c: port get_type to GObject API.
      
      	* gtk/gtktypeutils.h: declare GtkArg stuff and gtk_type_init,
      	if GTK_COMPILATION.
      
      	* gtk/gtkwidget.c: define gtk_widget_queue_clear in terms of
      	gtk_widget_queue_draw instead of the other way around.
      
      	* tests/Makefile.am: define -DGTK_DISABLE_DEPRECATED
      
      	* tests/testgtk.c
      	* tests/testselection.c
      	* tests/testsocket.c: #undef GTK_DISABLE_DEPRECATED, makes use of
      	deprecated stuff.
      bc035915
  4. 15 Dec, 2001 1 commit
    • Darin Adler's avatar
      Fix some warnings. · 20a870a6
      Darin Adler authored
      	* gdk/x11/gdkproperty-x11.c: (gdk_property_get): Fix wrong type in
      	g_new -- bug if sizeof (GtkAtom) != sizeof (GtkAtom *).
      	* gdk/x11/gdkwindow-x11.c: (create_moveresize_window): FALSE -> NULL
      	* gtk/gtkaccellabel.c: (gtk_accel_label_refetch): Remove unused local.
      	* gtk/gtklistitem.c: (gtk_list_item_expose): Remove unused local.
      	* gtk/gtktextiter.c: (_gtk_text_iter_backward_indexable_segment):
      	Restructure loop to get rid of uninitialized variable warning. Also
      	gives a tiny efficiency gain.
      20a870a6
  5. 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
  6. 26 Nov, 2001 1 commit
    • Owen Taylor's avatar
      Calculate size based on the _child_ of the menu item, not the menuitem. · bc99cf97
      Owen Taylor authored
      Sun Nov 25 18:59:19 2001  Owen Taylor  <otaylor@redhat.com>
      	* gtk/gtkoptionmenu.c (gtk_option_menu_calc_size):
      	Calculate size based on the _child_ of the menu item,
      	not the menuitem. (#65005, Damon Chaplin)
      	* gtk/gtklistitem.c (gtk_list_item_new_with_label): Add
      	some extra vertical padding to the label widget ... restores
      	GTK+-1.2 spacing. (#65085, Damon Chaplin.)
      bc99cf97
  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. 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
  9. 29 Jun, 2001 1 commit
    • 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
  10. 16 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Remove explicit pointer grabs, since they are no longer necessary. · 12aa8608
      Owen Taylor authored
      Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
      	grabs, since they are no longer necessary.
      
      	* gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
      	by signal_connect() and call gtk_button_pressed() rather
      	than signal_connect_after().
      
      	* tests/testgtk.c: Restore radio menu items to combos
      	since they'll look OK with Raleigh, and it is easier
      	than finishing the process of removing them that was
      	started earlier.
      12aa8608
  11. 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
  12. 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
  13. 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
  14. 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
  15. 04 Dec, 2000 2 commits
    • Havoc Pennington's avatar
      Fix bugs Alex found: · 9cca191b
      Havoc Pennington authored
      2000-12-04  Havoc Pennington  <hp@redhat.com>
      
              Fix bugs Alex found:
      
      	* gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
      	to "draw"
      
      	* gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
      
      	* gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
      
      	* gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw()
      	implementation in here, apparently the expose() implementation was
      	dead code.
      9cca191b
    • 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
  16. 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
  17. 26 Jul, 2000 1 commit
  18. 20 Jun, 2000 1 commit
    • Havoc Pennington's avatar
      Make this compile without framebuffer enabled · df4fc367
      Havoc Pennington authored
      2000-06-20  Havoc Pennington  <hp@redhat.com>
      
      * modules/linux-fb/Makefile.am: Make this compile
      without framebuffer enabled
      
      * gdk/linux-fb/Makefile.am: Add conditional to not build
      framebuffer unless specified in configure
      
      * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
      the size of the target instead of source if -1 was passed for
      width/height
      
      * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
      width/height confusion.
      
      2000-06-19  Havoc Pennington  <hp@redhat.com>
      
      * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
      GDK_DRAWABLE_XID. In the future, we probably want to make it
      faster with G_DISABLE_CHECKS turned on.
      
      2000-06-14  Havoc Pennington  <hp@redhat.com>
      
              * gdk/Makefile.am: add gdkpixmap.c
      
      	* gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
      	s/gdk_image_init/_gdk_windowing_image_init
      
      	* gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
      	ref/unref
      
      	* gdk/gdkcolor.h: make GdkColormap a GObject subclass
      
      	* gdk/gdkcompat.h: remove GdkWindowType compat, since
      	GdkWindowType is now non-deprecated;
      	change gdk_window_get_type() compat to be
      	gdk_window_get_window_type().
      
      	* gdk/gdkdnd.h: make GdkDragContext a GObject.
      
      	* gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
      	virtual GObject. Make all functions call into the vtable.
      	Move gdk_image_put() guts in here. Remove GdkDrawableType
      	and gdk_drawable_get_type(), these are now GdkWindow-specific.
      	draw_image, get_depth, get_size, set_colormap, get_colormap,
      	get_visual added to the vtable.
      
      	* gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual
      	GObject. Virtualize everything.
      	(gdk_gc_new_with_values): remove check for destroyed window,
      	because now GdkWindow::create_gc will check this.
      	(gdk_gc_set_values): New function to set GC values, this
      	was already implemented but wasn't in the header
      
      	* gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
      
      	* gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
      	_gdk_window_draw_image(), remove _gdk_windowing_window_class,
      	remove _gdk_window_class; add _gdk_window_impl_get_type() and
      	_gdk_pixmap_impl_get_type(). Rename gdk_window_init to
      	_gdk_windowing_window_init, rename gdk_image_init to
      	_gdk_windowing_image_init.
      
      	* gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
      	(gdk_draw_layout): Remove check for destroyed window,
      	because all the drawable methods already check it.
      
      	* gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
      	Add gdkpixmap.c which contains implementation of GdkDrawable
      	virtual table (by chaining to a platform-specific implementation
      	object).
      
      	* gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP,
      	GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
      	GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
      	GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
      	GdkColormapPrivate.
      
      	* gdk/gdktypes.h: #include <glib-object.h>
      
      	* gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
      	Move most functionality to platform-specific implementation
      	object. GdkWindow itself now handles the backing store, then
      	chains to the platform-specific implementation.
      	(gdk_window_get_window_type): return GdkWindowType of the window.
      	(gdk_window_peek_children): New routine, returns the children of
      	a GdkWindow
      	(gdk_window_get_children): Was in X11-specific code and did
      	XQueryTree. Changed to simply return a copy of window->children;
      	so it can go in cross-platform code.
      
      	* gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
      
      	* gdk/x11/gdkcolor-x11.c: implement X-specific parts of
      	GdkColormap; just changed to use the new private data instead
      	of casting to GdkColormapPrivate.
      
      	* gdk/x11/gdkcursor-x11.c: added a couple typechecks to
      	gdk_cursor_new().
      
      	* gdk/x11/gdkdnd-x11.c: Change the way we access private fields
      	(private data member in the GObject).
      	(xdnd_manager_source_filter): Function had broken
      	error handling, fix it (use gdk_error_trap_push).
      
      	* gdk/x11/gdkdrawable-x11.c: This file now implements
      	a base class for GdkWindowImplX11/GdkPixmapImplX11. This
      	base class is purely for the convenience of the X port,
      	and not part of the interface to cross-platform GDK.
      
      	* gdk/x11/gdkevents-x11.c: Reflect various renamings.
      
      	* gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
      	specific to X, and returned by the create_gc virtual method
      	of GdkDrawableImplX11.
      	(gdk_x11_gc_set_dashes): Change this to take an array of gint8
      	rather than gchar, this was also changed in the GdkGC vtable.
      	(gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
      	mask is 0, return immediately, instead of checking every flag.
      	This is faster, and keeps us from segfaulting if values is NULL
      	and the mask contains some nonzero flags.
      
      	* gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
      	GdkWindow.
      
      	* gdk/x11/gdkglobals-x11.c: change type of grab window, since
      	GdkWindowPrivate is gone.
      
      	* gdk/x11/gdkim-x11.c: rename things that got renamed.
      
      	* gdk/x11/gdkimage-x11.c: implement in terms of GObject, and
      	remove the image_put stuff that got transferred to GdkDrawable.
      
      	* gdk/x11/gdkinput.c: renamings
      
      	* gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
      
      	* gdk/x11/gdkpixmap-x11.c: GObject conversion
      
      	* gdk/x11/gdkprivate-x11.h: indentation fixes
      
      	* gdk/x11/gdkproperty-x11.c: renamings
      
      	* gdk/x11/gdkselection-x11.c: renamings
      
      	* gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now
      	implements the platform-specific "impl" object.
      	Moved gdk_window_get_children to gdk/gdkwindow.c
      
      	* gdk/x11/gdkx.h: Remove all the private structs and private datas
      	that no longer exist. Add declaration of GdkGCX11 object here.
      	Fix all the macros to still work.
      
      	* gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
      	GdkDragContext from the boxed types since they are now GObjects.
      
      	* gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
      	moved xthickness/ythickness into the instance. GtkStyleClass
      	functions are now in the standard vtable for GtkStyle, so you have
      	to create a GObject subclass to write a theme engine.
      	(gtk_style_copy): fixed a leaked PangoFontDescription
      	(gtk_style_init): renamed gtk_style_realize, so gtk_style_init
      	can be the standard GObject function.
      
      	* Throughout GTK:
      	s/style->klass->[xy]thickness/style->[xy]thickness
      	s/pango_layout_unref/g_object_unref/
      
      	* gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
      
      	* gtk/gtksocket.c: Use gdk_window_get_user_data() instead of
      	accessing GDK internals.
      
      	* gtk/gtkwidget.c: Use gdk_window_peek_children() instead of
      	accessing GDK internals.
      df4fc367
  19. 12 May, 2000 1 commit
    • Tim Janik's avatar
      documented necessary changes for 1.4 transition. · 9595c551
      Tim Janik authored
      Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
      
      	* docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
      
      	* gtk/gtktext.c: made the adjustments no-construct args, simply
      	provide default adjustments.
      	(gtk_text_destroy): release adjustments.
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
      	adjustment argument non-construct.
      
      	* gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
      	instead of in finalize.
      	(gtk_progress_get_text_from_value):
      	(gtk_progress_get_current_text):
      	(gtk_progress_set_value):
      	(gtk_progress_get_percentage_from_value):
      	(gtk_progress_get_current_percentage):
      	(gtk_progress_set_percentage):
      	(gtk_progress_configure): ensure an adjustment is present.
      
      Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcolorsel.[hc]:
      	* gtk/gtkcolorseldialog.[hc]:
      	* gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
      	their parent implementation, use bit fields for boolean values, don't
      	create unused widgets, usage of glib types, braces go on their own
      	lines, function argument alignment, #include directives etc. etc. etc..
      
      	* gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
      
      Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
      
      	* gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
      	of NULL.
      
      	* gtk/gtkcombo.c (gtk_combo_item_destroy): don#t keep references
      	to freed data.
      	(gtk_combo_destroy): don't keep a pointer to a destroyed window.
      
      	* gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
      	to NULL when the toplevel is getting destroyed.
      	(gtk_menu_set_tearoff_state): same here for the tearoff_window.
      	(gtk_menu_destroy):
      	(gtk_menu_init): store the information of whether we have to
      	readd the initial child ref_count during destruction in a new
      	GtkMenu field needs_destruction_ref_count.
      
      	* gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
      	here, those reading: learn from my mistake! ;)
      	in order for set_?adjustment to support a default adjustemnt if
      	invoked with an adjustment pointer of NULL, the code read (pseudo):
      	if (v->adjustment) unref (v->adjustment);
      	if (!adjustment) adjustment = adjustment_new ();
      	if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
      	now imagine the first unref to actually free the old adjustment and
      	adjustment_new() creating a new adjustment from the very same memory
      	portion. here, the latter comparision will unintendedly fail, and
      	all hell breaks loose.
      	(gtk_viewport_set_hadjustment):
      	(gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
      	after unreferencing it.
      
      	* gtk/gtkcontainer.[hc]: removed toplevel registration
      	functions: gtk_container_register_toplevel(),
      	gtk_container_unregister_toplevel() and
      	gtk_container_get_toplevels() which had wrong semantics
      	anyways: it didn't reference and copy the list.
      
      	* gtk/gtkwindow.c: we take over the container toplevel registration
      	bussiness now. windows are registered across multiple destructions,
      	untill they are finalized. the initial implicit reference count
      	users are holding on windows is removed with the first destruction
      	though.
      	(gtk_window_init): ref & sink and set has_user_ref_count, got
      	rid of gtk_container_register_toplevel() call. add window to
      	toplevel_list.
      	(gtk_window_destroy): unref the window if has_user_ref_count
      	is still set, got rid of call to
      	gtk_container_unregister_toplevel().
      	(gtk_window_finalize): remove window from toplevel list.
      	(gtk_window_list_toplevels): new function to return a newly
      	created list with referenced toplevels.
      	(gtk_window_read_rcfiles): use gtk_window_list_toplevels().
      
      	* gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
      	adjustment a non-construct arg.
      	* gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
      	* gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
      	* gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
      
      	* gtk/gtkrange.c: added some realized checks.
      	(gtk_range_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize. remove timer.
      	(gtk_range_get_adjustment): demand create adjustment.
      
      	* gtk/gtkviewport.c: made h/v adjustment non-construct args.
      	we simply create them on demand now and get rid of them in
      	the destroy handler.
      	(gtk_viewport_destroy): get rid of the h/v adjustments in the
      	destroy handler instead of finalize.
      	(gtk_viewport_get_hadjustment):
      	(gtk_viewport_get_vadjustment):
      	(gtk_viewport_size_allocate): demand create h/v adjustment
      	if required.
      
      	* gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
      	gtk_widget_real_destroy () functionality.
      	(gtk_widget_real_destroy): reinitialize with a new style, instead
      	of setting widget->style to NULL.
      
      Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcalendar.c:
      	* gtk/gtkbutton.c: ported _get_type() implementation over to
      	GType, either to preserve memchunks allocation facilities,
      	or because Gtk+ 1.0 GtkTypeInfo was still being used.
      
      	* gtk/gtkobject.[hc]: derive from GObject. ported various functions
      	over. prepare for ::destroy to be emitted multiple times.
      	removed reference tracer magic. chain into GObjectClass.shutdown()
      	to emit ::destroy signal.
      
      	* gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
      	fundamental.
      
      	* gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
      	cludge.
      
      	* gtk/gtksocket.c:
      	* gtk/gtkplug.c:
      	* gtk/gtklayout.c:
      	* gtk/gtklabel.c:
      	* gtk/gtkargcollector.c:
      	* gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
      	not being a fundamental anymore, and to work with the new
      	type system (nuked fundamental type varargs clutter).
      
      	* gtk/*.c: install finalize handlers in the GObjectClass
      	part of the class structure.
      	changed direct GTK_OBJECT()->klass accesses to
      	GTK_*_GET_CLASS().
      	changed direct object_class->type accesses to GTK_CLASS_TYPE().
      
      	* gtktypeutils.[hc]: use the reserved fundamental ids provided by
      	GType. made most of the GTK_*() type macros and Gtk* typedefs
      	simple wrappers around macros and types provided by GType.
      	most notably, a significant portion of the old API vanished:
      	GTK_TYPE_MAKE(),
      	GTK_TYPE_SEQNO(),
      	GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
      	GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
      	GTK_TYPE_ARGS,
      	GTK_TYPE_CALLBACK,
      	GTK_TYPE_C_CALLBACK,
      	GTK_TYPE_FOREIGN,
      	GtkTypeQuery,
      	gtk_type_query(),
      	gtk_type_set_varargs_type(),
      	gtk_type_get_varargs_type(),
      	gtk_type_check_object_cast(),
      	gtk_type_check_class_cast(),
      	gtk_type_describe_tree(),
      	gtk_type_describe_heritage(),
      	gtk_type_free(),
      	gtk_type_children_types(),
      	gtk_type_set_chunk_alloc(),
      	gtk_type_register_enum(),
      	gtk_type_register_flags(),
      	gtk_type_parent_class().
      	replacements, where available are described in ../docs/Changes-1.4.txt.
      	implemented compatibility functions for the remaining API.
      
      	* configure.in: depend on glib 1.3.1, use gobject module.
      9595c551
  20. 24 Feb, 1999 1 commit
  21. 11 Feb, 1999 1 commit
    • Lars Hamann's avatar
      don't autoselect focus_row in case of GTK_SELECTION_EXTENDED · 1f85d83e
      Lars Hamann authored
      Fri Feb 12 00:08:01 1999  Lars Hamann  <lars@gtk.org>
      
              * gtk/gtklist.c (gtk_list_remove_items_internal): don't autoselect
              focus_row in case of GTK_SELECTION_EXTENDED
      
              * gtk/testgtk.c : few changes in list example.
      
              * gtk/gtklistitem.c (gtk_list_item_class_init):
              * gtk/gtkctree.c (gtk_ctree_class_init):
              * gtk/gtkclist.c (gtk_clist_class_init):
              fixed indentation, removed unused key bindings
      1f85d83e
  22. 10 Feb, 1999 1 commit
    • Owen Taylor's avatar
      Fixed some bugs with set_default_size. · d1bda8d5
      Owen Taylor authored
      Sun Feb  7 19:49:21 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwindow.c (gtk_window_move_resize): Fixed some
      	  bugs with set_default_size.
      
      Sat Feb  6 13:23:51 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* docs/Changes-1.2.txt: Added information about
      	 the change to gtk_widget_size_request().
      
      	* gtk/gtkentry.c: Call gtk_widget_get_child_requisition
      	 explicitely since we differentiate between the usize
      	 set by the user and what we got. (Ugh)
      
      	* gtk/gtkwidget.[ch] (gtk_widget_get_child_requisition):
      	 New function to return the effective size of a widget
      	 as it looks to its parent.
      
      	* gtk/gtkwidget.c (gtk_widget_size_request): Leave
      	 widget->requisition set to exactly what the widget
      	 asked for, and then make a copy of that into
      	 the requisition argument. Allow a NULL requisition
      	 argument, and, if G_ENABLE_DEBUG, warn if
      	 requisition == &widget->requisition.
      
      	* gtkalignment.c gtkaspectframe.c gtkbutton.c gtkclist.c
      	  gtkcontainer.c gtkentry.c gtkeventbox.c gtkfixed.c
      	  gtkframe.c gtkhandlebox.c gtkhbox.c gtkhpaned.c
      	  gtklayout.c gtklist.c gtklistitem.c gtkmenu.c
      	  gtkmenubar.c gtkmenuitem.c gtknotebook.c
      	  gtkoptionmenu.c gtkpacker.c gtkscrolledwindow.c
      	  gtktable.c gtktoolbar.c gtktree.c gtktreeitem.c
      	  gtkvbox.c gtkviewport.c gtkvpaned.c gtkwindow.c
      
      	 Avoid calling gtk_widget_size_request with
      	 requisition == widget->requisition; use
      	 gtk_widget_get_child_requisition to get the
      	 size of children.
      d1bda8d5
  23. 11 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Added "style_set" handlers. · 11a80511
      Owen Taylor authored
      Fri Dec 11 08:59:12 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklistitem.c (gtk_list_item_style_set):
      	* gtk/gtklist.c     (gtk_list_style_set):
      	Added "style_set" handlers.
      11a80511
  24. 30 Nov, 1998 1 commit
    • Elliot Lee's avatar
      I submitted this patch twice to gtk-devel-list, and received no comments, · 060978e0
      Elliot Lee authored
      
      
      I submitted this patch twice to gtk-devel-list, and received no comments, so
      am committing it.  Although not exhaustively tested, I have been using this
      gtk+ for a week w/o problems, and I did read the code to ensure that nothing
      ever writes to these data structures. If by chance people encounter SEGV's in
      gtk+ code that is setting values in global data structures, this patch could
      be a possible culprit.
      
      1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
      
      	* {gdk,gtk}/*.c: Make read-only data structures "static const" to
      	allow them to be shared, mainly including (but not limited to) the
      	GtkTypeInfo structures for each class.
      
      	* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
      060978e0
  25. 06 Nov, 1998 1 commit
  26. 30 Oct, 1998 1 commit
    • Lars Hamann's avatar
      free undo_un/selection, unselect list_item before disconnect signal · 52f5eeab
      Lars Hamann authored
      Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
      
      	* gtk/gtklist.c (gtk_list_remove_items_internal):
      	free undo_un/selection, unselect list_item before disconnect
      	signal functions
      	(gtk_list_destroy): removed. gtk_list_shutdown clears the list
      	already
      	(gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
      	(gtk_list_signal_item_toggle)	(gtk_list_signal_scroll_horizontal)
       	(gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
       	(gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
       	(gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
       	(gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
       	(gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
       	new functions. These functions are signal connected to inserted
       	list_items, to handle key bindings and GtkItem::de/select/toggle
       	signals.
      
      	* gtk/gtklistitem.c (gtk_list_item_class_init): added missing
      	gtk_object_class_add_signals call.
      	(gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
      	(gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
      	(gtk_list_item_start_selection) (gtk_list_item_end_selection)
      	(gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
      	(gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
       	removed. These functions are handled via connected
       	gtk_list_signal_* functions now
      52f5eeab
  27. 03 Sep, 1998 1 commit
    • Tim Janik's avatar
      GTK_MENU_DIR_CHILD: check for the existance of · 698c89e5
      Tim Janik authored
      Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
              GTK_MENU_DIR_CHILD: check for the existance of
              menu_shell->active_menu_item before accessing its child.
              GTK_MENU_DIR_PREV:
              GTK_MENU_DIR_NEXT: if we haven't had an active item and still
              don't, make a default selection.
      
      Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
              the children with _forall for sensitivity changes and with
              _foreach on pure state changes. this fixes a lot of the
              old inclusions of internal widgets into _foreach calls.
      
              * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
              do the work. don't walk the subtrees of first level children.
      
              * gtk/gtktreeitem.c: provide a _forall implementation,
              which walks the subtrees as well for include_internals.
      
              * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
              the submenus as well for include_internals.
      
              * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
              implemented gtk_scrolled_window_forall, which will iterate over
              the viewport and the scrollbars for gtk_container_forall or
              iterate over the viewports children for gtk_container_foreach.
      
              * gtk/gtktoolbar.c:
              * gtk/gtktable.c:
              * gtk/gtkpaned.c:
              * gtk/gtkpacker.c:
              * gtk/gtkmenushell.c:
              * gtk/gtklist.c:
              * gtk/gtkfixed.c:
              * gtk/gtkclist.c:
              * gtk/gtkbox.c:
              * gtk/gtkbin.c:
              * gtk/gtknotebook.c:
              removed the old gtk_*_foreach functions and provided gtk_*_forall.
      
              * gtk/gtknotebook.c:
              (gtk_notebook_real_switch_page): expose tabs.
              (gtk_notebook_page_num): new function to return the page number
              of a distinct child.
              (gtk_notebook_focus): minor fixups. foxus handling is still screwed
              under some circumstances.
      
              * gtk/gtktreeitem.c:
              (gtk_real_tree_item_select):
              (gtk_real_tree_item_deselect): major fixes.
              some general fixups wrt queue_redraw, and tree items not being
              NO_WINDOW widgets.
      
              * gtk/gtklistitem.c:
              (gtk_real_list_item_select):
              (gtk_real_list_item_deselect):
              (gtk_real_list_item_toggle):
              removed unneccessary queue_redraw calls.
      
      Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
              automatically popup the menu on space bar.
      
      Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcontainer.h:
              * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
              method), which acts similar to gtk_container_foreach(), but iterates
              over internal children. the GtkContainer::foreach signal vanished in
              favour of a new class method ->forall() that optionally includes
              internal widgets.
      
              * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
              but a _forall implementation, since all child widgets we have are
              internal ones.
              (column_button_create): set the parent window prior
              to gtk_widget_set_parent().
      
              * gtk/gtkwidget.c:
              exchanged all calls to gtk_container_foreach() with
              gtk_container_forall().
      
              * gtk/gtkwidget.h:
              * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
              the GtkWidget::composite_child argument. to have a widget created
              with the flag initially, two new functions got added to wrap a widgets
              creation:
              gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
      
      Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktooltips.h:
              * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
              gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
              prior to the first tip being set.
              don't put an extra reference on the window, since it is a toplevel,
              it wont get destroyed from anywhere else.
      
              * overall macro and GtkType fixups.
      698c89e5
  28. 31 Jul, 1998 1 commit
    • Lars Hamann's avatar
      Few fixes for column resize. Store resize column in clist->drag_pos. · 8ad52d10
      Lars Hamann authored
      Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
      
              * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
              (gtk_clist_button_release) (new_column_width): Few fixes for
              column resize. Store resize column in clist->drag_pos.
      
      Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
      
              * gtk/gtkctree.h
              * gtk/gtkctree.c
              * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
              to GtkCTreeNode *node.
      
              * gtk/gtklist.h : added extended selection mode and auto scrolling.
              (struct _GtkList): removed unneeded variables timer, button,
              selection_start_pos, selection_end_pos, scroll_direction, have_grab.
              Added new variables undo_selection, undo_unselection, last_focus_child,
              undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
              drag_selection, add_mode.
      
              New functions :
              (gtk_list_extend_selection), (gtk_list_start_selection),
              (gtk_list_end_selection), (gtk_list_select_all),
              (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
              (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
              (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
              (gtk_list_undo_selection), (gtk_list_end_drag_selection)
      
              * gtk/gtklist.c :
              (gtk_list_enter_notify): removed, because auto scrolling now works
              with gtk_list_motion_notify
      
              New functions, needed for auto scrolling :
              (gtk_list_motion_notify) (gtk_list_move_focus_child)
      
              New functions for extended selection support :
              (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
              (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
              (gtk_list_focus_lost)
      
              (gtk_list_set_focus_child): modified gtk_container_set_focus_child
              function to support auto scrolling, and avoid out-of-sync errors in
              case auf GTK_SELECTION_BROWSE
              (gtk_list_focus): modified gtk_container_focus function to avoid out
              off sync errors in case auf GTK_SELECTION_EXTENDED
      
              * gtk/gtklistitem.h
              * gtk/gtklistitem.c :
              New signal functions for key binding support :
              (toggle_focus_row), (select_all), (list_item), (unselect_all)
              (list_item), (undo_selection), (start_selection), (end_selection)
              (extend_selection), (scroll_horizontal), (scroll_vertical),
              (toggle_add_mode)
              (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
              GDK_KEY_RELEASE_MASK
              (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
      
              * gtk/gtkcombo.c :
              (gtk_combo_popup_button_press):  grab pointer for combo->list
              (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
              (gtk_combo_list_key_press): take care of which child HAS_GRAB
              (gtk_comb_init): don't connect combo->button with button_release_event
      8ad52d10
  29. 04 Jul, 1998 1 commit
  30. 28 Jun, 1998 1 commit
    • Tim Janik's avatar
      call the base class init fucntions from all parent types upon class · e63d08e4
      Tim Janik authored
      Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
      	fucntions from all parent types upon class initialization.
      
      	* gtk/gtkcontainer.c:
       	(gtk_container_get_type): announce gtk_container_base_class_init to
       	the type system.
      	(gtk_container_base_class_init): new function to feature base class
      	initialization.
      	(gtk_container_get_child_arg):
      	(gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
      	and set_child_arg methods of the class indicated through the argument
      	name.
      
      	* gtk/gtkobject.c:
      	(gtk_object_base_class_init): new function to feature base class
       	initialization.
      	(gtk_object_init_type): announce gtk_object_base_class_init to the type
      	system.
      	(gtk_object_class_init): setup the get_arg and set_arg pointers for
      	GtkObjectClass.
      	(gtk_object_setv):
       	(gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
       	instead of bothering the type system with this.
      
      	* gtk/gtkaccellabel.c:
      	* gtk/gtkbutton.c:
      	* gtk/gtkradiobutton.c:
      	* gtk/gtktable.c:
      	* gtk/gtktogglebutton.c:
      	* gtk/gtktipsquery.c:
      	* gtk/gtkbox.c:
      	* gtk/gtkpacker.c:
      	* gtk/gtkwidget.c:
      	* gtk/gtkwindow.c:
      	* gtk/gtkframe.c:
      	* gtk/gtkmisc.c:
      	* gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
      	corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
      	functions wrt GtkTypeInfo initialization. changed a lot of the set/get
      	arg functions to take a GtkObject argument.
      
      	gtk/gtkadjustment.c:
      	gtk/gtkalignment.c:
      	gtk/gtkarrow.c:
      	gtk/gtkaspectframe.c:
      	gtk/gtkbbox.c:
      	gtk/gtkbin.c:
      	gtk/gtkcheckbutton.c:
      	gtk/gtkcheckmenuitem.c:
      	gtk/gtkclist.c:
      	gtk/gtkcolorsel.c:
      	gtk/gtkcombo.c:
      	gtk/gtkctree.c:
      	gtk/gtkcurve.c:
      	gtk/gtkdata.c:
      	gtk/gtkdialog.c:
      	gtk/gtkdrawingarea.c:
      	gtk/gtkeditable.c:
      	gtk/gtkentry.c:
      	gtk/gtkeventbox.c:
      	gtk/gtkfilesel.c:
      	gtk/gtkfixed.c:
      	gtk/gtkfontsel.c:
      	gtk/gtkgamma.c:
      	gtk/gtkhandlebox.c:
      	gtk/gtkhbbox.c:
      	gtk/gtkhbox.c:
      	gtk/gtkhpaned.c:
      	gtk/gtkhruler.c:
      	gtk/gtkhscale.c:
      	gtk/gtkhscrollbar.c:
      	gtk/gtkhseparator.c:
      	gtk/gtkimage.c:
      	gtk/gtkinputdialog.c:
      	gtk/gtkitem.c:
      	gtk/gtkitemfactory.c:
      	gtk/gtklist.c:
      	gtk/gtklistitem.c:
      	gtk/gtkmenu.c:
      	gtk/gtkmenubar.c:
      	gtk/gtkmenuitem.c:
      	gtk/gtkmenushell.c:
      	gtk/gtknotebook.c:
      	gtk/gtkoptionmenu.c:
      	gtk/gtkpaned.c:
      	gtk/gtkpixmap.c:
      	gtk/gtkpreview.c:
      	gtk/gtkprogressbar.c:
      	gtk/gtkradiomenuitem.c:
      	gtk/gtkrange.c:
      	gtk/gtkruler.c:
      	gtk/gtkscale.c:
      	gtk/gtkscrollbar.c:
      	gtk/gtkscrolledwindow.c:
      	gtk/gtkseparator.c:
      	gtk/gtkspinbutton.c:
      	gtk/gtkstatusbar.c:
      	gtk/gtktext.c:
      	gtk/gtktoolbar.c:
      	gtk/gtktooltips.c:
      	gtk/gtktree.c:
      	gtk/gtktreeitem.c:
      	gtk/gtkvbbox.c:
      	gtk/gtkvbox.c:
      	gtk/gtkviewport.c:
      	gtk/gtkvpaned.c:
      	gtk/gtkvruler.c:
      	gtk/gtkvscale.c:
      	gtk/gtkvscrollbar.c:
      	gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
      	match the modified GtkTypeInfo structure.
      e63d08e4
  31. 16 Jun, 1998 1 commit
  32. 03 May, 1998 1 commit
    • Owen Taylor's avatar
      configure.in acheader.h gdk/gdkwindow.c Check for Shape extension both on · 4851efe2
      Owen Taylor authored
      Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* configure.in acheader.h gdk/gdkwindow.c
      	Check for Shape extension both on the client and server
      	side. (And, more importantly, check for the shape extension
      	so we may include -lXext even when compiling with --disable-xshm)
      
      	Don't set override_redirect on all shaped windows. It isn't
      	necessary.
      
      	* gdk/gdkwindow.c: Set ->colormap to NULL for root
      	and foreign windows. Use this to check if we
      	need to get the colormap from X.
      
      Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
      	between the default and the button always in GTK_STATE_NORMAL.
      
      	* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
      	callback.
      
      Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
      	  Fix a buffer overflow on pixmaps that claim to have
      	  more than 31 characters per pixel.
      
      	  (gdk_pixmap_read_string): Don't wrap around strings longer
       	  than half of address space ;-)
      
      	* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
      	that were used for printing integers.
      
      	* */* (almost):
      
      	Style: All
      	  int foo () { ... }
      	changed to
      	  int foo (void) { ... }
      
      ^^^^^^^ This is why some many files changed
      
      	Even where there were proper prototypes elsewhere.
      
      	* gdk/gxid.c (handle_claim_device): Some extra checks.
      	It isn't safe against being fed bad X id's, but at
      	least it should be safe against deleting all your
      	files.
      4851efe2
  33. 13 Apr, 1998 1 commit
  34. 13 Feb, 1998 1 commit
  35. 16 Jan, 1998 1 commit
  36. 24 Nov, 1997 1 commit