1. 08 Nov, 2002 1 commit
    • Soeren Sandmann's avatar
      docs/reference/gdk/tmpl/dnd.sgml docs/reference/gdk/tmpl/drawing.sgml · b1165617
      Soeren Sandmann authored
      Fri Nov  8 20:14:52 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	* docs/reference/gdk/tmpl/dnd.sgml
      	docs/reference/gdk/tmpl/drawing.sgml
      	docs/reference/gdk/tmpl/gdk-unused.sgml
      	docs/reference/gdk/tmpl/gdkdisplay.sgml
      	docs/reference/gdk/tmpl/general.sgml
      	docs/reference/gdk/tmpl/input_devices.sgml
      	docs/reference/gdk/tmpl/selections.sgml
      	docs/reference/gtk/tmpl/gtkcellrenderer.sgml
      	docs/reference/gtk/tmpl/gtkcurve.sgml
      	docs/reference/gtk/tmpl/gtkdnd.sgml
      	docs/reference/gtk/tmpl/gtkitemfactory.sgml
      	docs/reference/gtk/tmpl/gtkmenu.sgml
      	docs/reference/gtk/tmpl/gtkoldeditable.sgml
      	docs/reference/gtk/tmpl/gtkoptionmenu.sgml
      	docs/reference/gtk/tmpl/gtkpreview.sgml
      	docs/reference/gtk/tmpl/gtkselection.sgml
      	docs/reference/gtk/tmpl/gtksocket.sgml
      	docs/reference/gtk/tmpl/gtkstyle.sgml
      	docs/reference/gtk/tmpl/gtktextbuffer.sgml
      	docs/reference/gtk/tmpl/gtktreemodel.sgml
      	docs/reference/gtk/tmpl/gtkwidget.sgml gdk/gdk.h gdk/gdkdisplay.c
      	gdk/gdkdisplay.h gdk/gdkdnd.h gdk/gdkdraw.c gdk/gdkdrawable.h
      	gdk/gdkinput.h gdk/gdkselection.h gdk/x11/gdkdisplay-x11.c
      	gdk/x11/gdkdnd-x11.c gdk/x11/gdkselection-x11.c gtk/gtkcurve.h
      	gtk/gtkdnd.h gtk/gtkitemfactory.c gtk/gtkitemfactory.h
      	gtk/gtkmenu.h gtk/gtkoldeditable.c gtk/gtkoldeditable.h
      	gtk/gtkoptionmenu.h gtk/gtkplug.c gtk/gtkplug.h gtk/gtkpreview.h
      	gtk/gtkrange.h gtk/gtkselection.c gtk/gtkselection.h
      	gtk/gtksocket.c gtk/gtksocket.h gtk/gtkstyle.c gtk/gtkstyle.h
      	gtk/gtktextlayout.c gtk/gtktextlayout.h gtk/gtktreemodel.c
      	gtk/gtktreemodel.h gtk/gtkwidget.h
      
      	Trivial s/foo/foo_/ fixes to make gtk.h includable with -Wshadow
      	without warnings. (#91680)
      b1165617
  2. 05 Oct, 2002 1 commit
    • Manish Singh's avatar
      Deprecation cleanup · 8409ada9
      Manish Singh authored
      Fri Oct  4 18:40:50 2002  Manish Singh  <yosh@gimp.org>
      
              * gtkcheckmenuitem.[ch] gtkimagemenuitem.[ch] gtkmenu.[ch]
              gtkmenubar.[ch] gtkmenuitem.[ch] gtkmenushell.[ch]
              gtkradiomenuitem.[ch]: Deprecation cleanup
      8409ada9
  3. 29 Apr, 2002 1 commit
    • Alexander Larsson's avatar
      Integrate Erwann Chenede's multihead changes for the gtk/ directory. · 4632fb81
      Alexander Larsson authored
      Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>
      
      	Integrate Erwann Chenede's multihead changes for the gtk/ directory.
      
      	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
      	make internals multihead aware.
      
      	* gtk/gtkcolorsel.[ch]: Add
      	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
      	make up for non-multihead safety of
      	gtk_color_selection_set_change_palette_hook()
      
      	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
      	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
      	for GtkWindow and GtkMenu.
      
      	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
      	gtk_plug_new_for_display(). Multihead fixes.
      
      	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
      	make internals multihead aware.
      
      	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
      	rid of now-useless gtk_settings_constructor().
      
      	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
      	check/radio button indicators bitmap handling to be multihead
      	safe.
      
      	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
      	gtk_widget_get_display(), gtk_widget_get_clipboard(),
      	gtk_widget_get_root_window().
      
      	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
      	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
      	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
      	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
      	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
      	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
      	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
      	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
      	misc mechanical multihead-safety fixes.
      
      	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
      	the dropper, look up the color palette only at realization time,
      	other multihead fixes.
      
      	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
      	unrealizing.
      
      	* gtk/gtkentry.c: Only claim ownership of the primary selection
      	when realized, misc multihead fixes.
      
      	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
      	fix gtk_font_selection_get_font() for multihead.
      
      	* gtk/gtkgc.c: make the depth => drawable hash per-screen.
      
      	* gtk/gtkinvisible.c: Add a constructor that realizes the
      	widget, so we get a realized widget with g_object_new() as
      	well gtk_invisible_new() as before.
      
      	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
      	variables.
      
      	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
      	are used on the wrong screen.
      
      	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
      	read properties and connect to settings when the screen is changed,
      	rather than on init/finalize.
      
      	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
      	default icon pixmaps/mask are only shared between windows on the
      	same screen. Misc multihead fixes.
      
      Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
      	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.
      
      2002-04-29  Alex Larsson  <alexl@redhat.com>
      
      	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
      	Fix silly bug, noticed by Sven Neumann.
      
      Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>
      
      	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
      	so that you can set a new sort func.
      4632fb81
  4. 23 Feb, 2002 1 commit
    • Owen Taylor's avatar
      Massive padding addition to class structures. · e5d1ea8c
      Owen Taylor authored
      Sat Feb 23 11:54:12 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/*.h gdk/*.h: Massive padding addition to class structures.
      
              * gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN.
      e5d1ea8c
  5. 20 Nov, 2001 1 commit
    • Tim Janik's avatar
      applied patch from owen to get rid of accel map notifiers. changed things · 9800f731
      Tim Janik authored
      Tue Nov 20 21:25:08 2001  Tim Janik  <timj@gtk.org>
      
      	* applied patch from owen to get rid of accel map notifiers.
      	changed things to fix reentrancy and API as discussed on gtk-devel.
      
      	* gtk/gtkaccelgroup.[hc]:
      	(gtk_accel_group_finalize): unregister this accel group from all
      	accel map paths.
      	(accel_closure_invalidate): handle invalidation of closures by
      	disconnecting their accelerators.
      	(quick_accel_add): move closure connection and changed notification
      	into this function to reduce code duplication. don't emit change
      	notification on closurers without accelerators.
      	(quick_accel_remove): rewrite, do the exact opposite of quick_accel_add
      	for a GtkAccelGroupEntry.
      	(gtk_accel_group_connect): get rid of the accel_path_quark argument.
      	(gtk_accel_group_connect_by_path): new function to add accelerators
      	with an accel path.
      	(gtk_accel_group_disconnect_closure): new function, disconnect a
      	closure from of an accel group.
      	(gtk_accel_group_disconnect): loop over all closure for a accel_ley,
      	accel_mods pair and remove them.
      	(_gtk_accel_group_reconnect): new function that basically does
      	gtk_accel_group_disconnect_closure() and
      	gtk_accel_group_connect_by_path() once an accel path changed.
      	(gtk_accel_groups_disconnect_closure): remove this, there's
      	gtk_accel_group_disconnect_closure().
      
      	* gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now,
      	nuke notifiers.
      	(_gtk_accel_path_is_valid): make this non-static for
      	gtkwidget.c and gtkaccelgroup.c assertions.
      	(gtk_accel_map_add_notifer): removed this function.
      	(gtk_accel_map_remove_notifer): same.
      	(_gtk_accel_map_add_group):
      	(_gtk_accel_map_remove_group): (un-)register accel groups, with
      	accel paths for correct propagation.
      	(gtk_accel_map_add_entry): return void.
      	(gtk_accel_map_lookup): return gboolean instead of GQuark.
      
      	* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always
      	set accel_path on widgets.
      
      	* gtk/gtkwidget.[hc]:
      	(accel_path_changed): got rid of this, changes are handled by
      	accel maps internally now.
      	(_gtk_widget_set_accel_path): get things to work without notifiers.
      	(gtk_widget_list_accel_closures): list accel closures of a widget.
      
      	* gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed.
      9800f731
  6. 13 Nov, 2001 1 commit
    • Tim Janik's avatar
      added gtkaccelmap.sgml. other updates. · d07573c0
      Tim Janik authored
      Mon Nov 12 23:06:38 2001  Tim Janik  <timj@gtk.org>
      
              * added gtkaccelmap.sgml. other updates.
      
      Mon Nov 12 23:08:37 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/maketypes.awk: fix type utils generation on unix.
      
      	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
      	registry.
      
      	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
      	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
      	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
      	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
      	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
      	introduced ::accel_changed signal for change notification, and
      	gtk_accel_group_connect/disconnect to connect closures to accel groups.
      	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
      	functions.
      	deprecated gtk_accel_group_ref/unref.
      
      	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
      	to accel group changed notification and basically operate on closures.
      	removed gtk_accel_label_get_accel_object and
      	gtk_accel_label_set_accel_object.
      	introduced gtk_accel_label_set_accel_closure, and for convenience,
      	gtk_accel_label_set_accel_widget.
      
      	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
      	which mostly moved into gtkaccelmap.[hc].
      	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
      	and gtk_item_factory_print_func.
      
      	* gtk/gtkmain.c: call _gtk_accel_map_init().
      
      	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
      	that associates an accelerator path with menu items, through which
      	persistent accelerator settings on menu items are enabled.
      
      	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
      	paths of menu item can be default constructed to allow installation
      	of accelerators on menu items that don't come with an accelerator
      	binding by default.
      
      	* gtk/gtksettings.c: fix STRING type rc settings by special casing
      	them appropriately in the parser.
      
      	* gtk/gtksignal.[hc]: allow a class function offset of 0 for
      	gtk_signal_newv().
      
      	* gtk/gtkwidget.[hc]: accelerator API revamp.
      	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
      	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
      	gtk_widget_(un)lock_accelerators.
      	accelerators maintained through gtk_widget_add/remove_accelerator()
      	are not runtime changable now, the correct sequence to setup a
      	widget for runtime changable accelerators is now:
      	  gtk_accel_map_add_entry(accel_path, key, mods);
      	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);
      
      	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
      	group changes (as well as mnemonic changes) through the new signal
      	::accels_changed.
      
      Sat Nov 10 12:08:56 2001  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
      	GString->string conversions.
      d07573c0
  7. 22 Sep, 2001 1 commit
  8. 23 Aug, 2001 2 commits
    • Owen Taylor's avatar
      Deprecate gtk_menu_bar_append/prepend/insert, forgot to do this when we · f0f3c6bf
      Owen Taylor authored
      Thu Aug 23 19:10:01 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkmenubar.h (gtk_menu_bar_insert): Deprecate
      	gtk_menu_bar_append/prepend/insert, forgot to do this
              when we deprecated gtk_menu_append/prepend/insert.
      
              * gtk/gtkmenu.h (gtk_menu_insert): Add casts to deprecated
              compat macros.
      
      	       * gtk/gtkmenu.c: Fix problem with static gtk_menu_insert() being
      	renamed by compat macro.
      
      	* gtk/gtkfontsel.h: Deprecated gtk_font_selection_get_font(),
              gtk_font_selection_dialog_get_font(). (Suggested by
      	       Vitaly Tishkov, #59383)
      f0f3c6bf
    • Owen Taylor's avatar
      [ Patch from Sebastian Wilhelmi, 52790 ] · a2d60d44
      Owen Taylor authored
      Wed Aug 22 19:15:39 2001  Owen Taylor  <otaylor@redhat.com>
      
      	[ Patch from Sebastian Wilhelmi, 52790 ]
      
      	* gtk/gtkversion.h.in gtk/gtk.h: New file replacing gtkcompat.h
      
      	* gdk/gdkcompat.h gdk/gdk*.h gtk/gtkcompat.h.in gtk/gtk*.h:
      	Move compatibility macros from g[dt]kcompat.h to within
      	#ifndef G[DT]K_DISABLE_DEPRECATED in each file.
      
      	* gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h.
      
      	* demos/Makefile.am demos/gtk-demo/Makefile.am
                docs/reference/gdk-pixbuf/Makefile.am modules/input/Makefile.am
                tests/Makefile.am: Remove references to -G[DT]K_DISABLE_DEPRECATED.
      
      	* demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c,
                       testpixbuf.c}: Fix usages of deprecated functions.
      a2d60d44
  9. 24 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Fix stupid error introduced last night that was making things decidedly · cc223eef
      Owen Taylor authored
      Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
      	introduced last night that was making things decidedly not work.
      
      	* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
      	so that we have getter/setter pairing everywhere it makes
      	sense. (#55767)
      
      	* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
      	Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
      	deprecated compat macro. (#55516)
      
      	* gtk/gtklabel.[ch]: Add functions
      	gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
      	gtk_label_set_label(), which mirror the property API for GtkLabel.
      	Make gtk_label_get_attributes() only reflect the attributes
      	set by gtk_label_set_attributes.
      
      	* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
      	from gtk_notebook_set_page().
      cc223eef
  10. 21 Mar, 2001 1 commit
    • Alexander Larsson's avatar
      Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and removed · de5eafed
      Alexander Larsson authored
      2001-03-21  Alexander Larsson  <alexl@redhat.com>
      
              * gtk/gtkbutton.[ch]:
      	* gtk/gtkdialog.c:
      	Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
      	removed accel_group argument. Renamed gtk_button_new_accel() to
      	gtk_button_new_with_mnemonic() and removed accel_group argument.
      
      	* gtk/gtkcheckbutton.[ch]:
      	New function gtk_check_button_new_with_mnemonic().
      
      	* gtk/gtkentry.c:
      	Override activate_mnemonic and just grab focus.
      
      	* gtk/gtkitemfactory.c:
      	Don't add menu uline accel group, instead use mnemonics support.
      
      	* gtk/gtklabel.[ch]:
      	New support for mnemonics.
      
      	* gtk/gtkmarshal.list:
      	Needed BOOLEAN:BOOLEAN for activate_mnemonic.
      
      	* gtk/gtkmenu.[c]:
      	* gtkmenushell.c:
      	Use mnemonics instead of accel groups for uline
      	support in menu items.
      	Removed gtk_menu_get_uline_accel_group() and
      	gtk_menu_ensure_uline_accel_group().
      
      	* gtk/gtkmenuitem.c:
      	Override activate_mnemonic to handle switching between
      	menu items if there are collisions.
      
      	* gtk/gtknotebook.c:
      	Connect to activate_mnemonic on the tab_label, so that
      	activating it switches to that notebook page.
      
      	* gtk/gtkwidget.[ch]:
      	Add activate_mnemonic signal. New function
      	gtk_widget_activate_mnemonic() to emit it.
      	Default implementation does activate/grab_focus.
      
      	* gtk/gtkwindow.[ch]:
      	Add support for mnemonics in windows.
      	New functions:
      	gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
      	gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
      
      	* gtk/testgtk.c:
      	Update to function name changes.
      de5eafed
  11. 08 Nov, 2000 1 commit
    • Alexander Larsson's avatar
      Add note about GtkMenuPositionFunc API changes. · 814957b4
      Alexander Larsson authored
      2000-11-08  Alexander Larsson  <alexl@redhat.com>
      
      	* docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
      	API changes.
      
      	* gtk/gtkmenu.c: Add support for scrolling menus.
      	Remove gtk_menu_append/prepend/insert, these have been moved to
      	gtkcompat.h as #defines.
      
      	* gtk/gtkcompat.h.in:
      	Add compatibility #defines for gtk_menu_append/prepend/insert
      
      	* gtk/gtkmenu.h: Add data needed for scrolling menus.
      	GtkMenuPositionFunc gets an extra argument push_in.
      	gtk_menu_append/prepend/insert removed.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
      	positioning behaviour to fit to scrolling menus.
      
      	* gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
      	into menuitem->submeny. That is wrong, and broke torn
      	off submenus of torn off menus, since they were unrealized
      	when the first menu was unrealized.
      
      	* gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
      	gtk_menu_shell_select_item() since these need to be overridden in
      	GtkMenu.
      
      	* gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
      	positioning behaviour to fit to scrolling menus.
      	(gtk_option_menu_key_press, gtk_option_menu_button_press): Select
      	the current item so that it is prelighted when the menu pops up.
      	This is a workaround to the fact that the menu doesn't get the
      	initial enter event (due to grabs).
      
      	* gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
      	s/gtk_menu_append/gtk_menu_shell_append/
      
      	* gtk/gtknotebook.c:
      	s/gtk_menu_insert/gtk_menu_shell_insert/
      
      	* gtk/testgtk.c (create_menu, create_menus):
      	Create the first menu with 50 items so that menu scrolling
      	can be tested.
      
      
      	Patch from Jonathan Blandford  <jrb@redhat.com>
      
      	* gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
      	system to handle size requests.  First, we ask what the size of
      	the toggle is.  Then, when allocating the size, we allocate the
      	toggle_size first.  This way we can have multiple menu-item
      	classes w/o needing a seperate class for each.
      
      	* gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
      	* gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
      
      	* gtk/gtkcheckmenuitem.c
      	(gtk_check_menu_item_toggle_size_request): New function to handle
      	the toggle size-request.
      814957b4
  12. 02 Sep, 2000 1 commit
    • Owen Taylor's avatar
      Apply patch from Nils Barth and David Santiago to improve submenu · e4229e9c
      Owen Taylor authored
      Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkmenu.[ch] TODO.xml: Apply patch from
      	Nils Barth and David Santiago to improve submenu
      	navigation. The patch does this by creating a triangular
      	region from the point where the pointer leaves the
      	menu to the submenu.  While the pointer is in
      	that region and a timeout has not expired, events
      	that would cause the active submenu to change are
      	ignored.
      e4229e9c
  13. 30 Aug, 2000 1 commit
  14. 26 Jul, 2000 1 commit
  15. 21 May, 2000 1 commit
  16. 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
  17. 14 Mar, 2000 1 commit
  18. 29 Feb, 2000 1 commit
    • GMT 2000  Tony Gale's avatar
      Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org> · 6ab26599
      GMT 2000 Tony Gale authored
      Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
      
              * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
                gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
                docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
                docs/gtk_tut.sgml docs/gtk.texi TODO:
                Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
      6ab26599
  19. 13 Feb, 2000 1 commit
    • Tim Janik's avatar
      s/refcount/ref_count/. · ef03cb52
      Tim Janik authored
      Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
      
              * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
              * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap):
              * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy):
              * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
              parameters given and cursor->ref_count. coding style fixups.
      
              * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
              not GtkWidget.
      
              * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
              fix up widget macros and add _GET_CLASS() variant.
      
              * gtk/*.c: some GtkType fixups.
      ef03cb52
  20. 17 Mar, 1999 1 commit
    • Tim Janik's avatar
      Tue Mar 16 17:43:33 1999 Tim Janik <timj@gtk.org> · f045ba41
      Tim Janik authored
      Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
      
              * merges from gtk-1-2:
      
      Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
              item factory class has been created.
              (gtk_item_factory_parse_rc): likewise.
      
              * gtk/gtkmenu.c:
              keep proper references for old_active_menu_item.
              (gtk_menu_reparent): unset the usize of the new parent,
              so the menu can sanely be size requested and we don't get nasty screen
              artefacts upon next reparentation.
              (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
              enter notify. only synthesize enter notifies if the pointer really is
              inside the event window.
              (gtk_menu_popdown): use gtk_menu_shell_deselect().
              (gtk_menu_popup): move the background setting stuff into
              gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
      
              * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
              gtk_menu_shell_select_item() to select the new item.
              (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
              do the right thing for deselection as well.
      
      Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.[hc]:
              (gtk_widget_accelerators_locked): return whether a widget's accelerators
              are locked.
      
              * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
              existing accelerators if the widget's accelerators are locked.
      
      Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
      
              * gtk/gtkmenu.c: truely forward key press and key release events to
              the menu widget from the toplevel or tearoff window. we can't simply
              connect to that, we need to stop further processing of the events as
              well.
      
      Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenu.c:
              (gtk_menu_key_press): pass event->keyval, event->state to
              gtk_accelerator_valid, instead of event->keyval twice.
              refuse to install single letter accelerators for menus that use
              single letter shortcuts.
      
              * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
              gtk_menu_ensure_uline_accel_group().
      
              * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
              which will always return an uline accel group, made
              gtk_menu_get_uline_accel_group() return NULL if the group isn't
              yet created.
      
      Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
      
              * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
      
              * gtk/gtkclist.c (gtk_clist_column_title_passive):
              Leave button sensitive, trap  button_press, button_release,
              motion_notify, enter_notify and leave_notify events instead.
              (gtk_clist_column_title_active): disconnect event handler.
              (gtk_clist_drag_data_get): fixed memory leak. Reported by
              Guillaume Laurent <glaurent@worldnet.fr>
      
      Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
      
              * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
              width/height mixups.
      
              * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
              if needed.
      
      Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/testgtk.c (create_item_factory): unref the item factory after
              window's destruction.
      
              * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
              count on the menu shell around the menu item's activation, since the
              signal emission may cause menu shell destruction.
      
              * gtk/gtkitemfactory.c:
              the previous code leaked one accel group per menu. we use
              gtk_menu_get_uline_accel_group() now to fix that, and with that
              also create the underline accelerator group of the menus only if
              required (i.e. an underline accelerator has been specified).
              (gtk_item_factory_construct):
              (gtk_item_factory_create_item): removed code that would create an
              extra accel group for the menu (and leak references).
              (gtk_item_factory_create_item): adapted the underline accelerator
              installation code to properly feature gtk_menu_get_uline_accel_group().
      
              * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
              menu->accel_group, this may return NULL if the accelerator group
              hasn't been set yet.
              added gtk_menu_get_uline_accel_group() to retrive the underline
              accelerator group of the menu, this will be created on demand
              and proper care is taken about its reference count.
      
              * gtk/gtkitemfactory.h:
              * gtk/gtkitemfactory.c:
              dumped the approach of keeping a widgets by action list on the
              factory since the factory<->widget destroy negotiation didn't work
              and would be hard to get going at all. instead we keep a list of
              GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
              persistant throughout a program's life time).
              also, i removed the static const gchar *key_* variables, and made
              them inline strings (they weren't actually used anyways).
              (gtk_item_factory_add_item): update ifactory->items.
              (gtk_item_factory_destroy): destroy ifactory->items (and remove
              the item factory pointer from the remaining ifactory widgets).
              (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
              list to find the widget.
              (gtk_item_factory_get_item): new function that works around
              gtk_item_factory_get_widget() limitations, this function will only
              return menu items, even for <Branch> entries.
      
      Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
      
              * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
              font hash table, if we have a GdkFontPrivate entry for this font
              already, simply increment its reference count, provided by Olaf Dietsche
              <olaf.dietsche+list.gtk@netcologne.de>.
      
              * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
              provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
      
      Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcontainer.c:
              (gtk_container_add_with_args):
              (gtk_container_addv):
              (gtk_container_add): before adding a child to a conatiner, make sure
              it is (default) constructed, this is neccessary because under certain
              circumstances the child will get relized and mapped immediatedly, in
              which case it has to be constructed already.
      
      Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
              values > 1 as TRUE also.
      f045ba41
  21. 25 Feb, 1999 1 commit
  22. 24 Feb, 1999 1 commit
  23. 18 Jan, 1999 1 commit
    • Owen Taylor's avatar
      Added gtk_menu_set_title() to set the title of a menu in the torn-off · e260fd6a
      Owen Taylor authored
      Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
      	set the title of a menu in the torn-off state.
      
      	* gtk/gtkthemes.c (gtk_theme_engine_get): When loading
      	of theme engine fails, just warn and do without -
      	don't error out.
      
      	* gtk/gtkmain.c (gtk_check_version): s/to/too/.
      e260fd6a
  24. 18 Oct, 1998 1 commit
    • Owen Taylor's avatar
      Added a modular client-message-filter mechanism, that is used for the DND · f7bcb456
      Owen Taylor authored
      Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
      	mechanism, that is used for the DND messages.
      
      	  Removed all the old DND code.
      
      	* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
      	get the visual of a given colormap.
      
      	* gtk/gtkcolorsel.c: Conversion to new DND, drag
      	a color-swatch.
      
      	* gdk/gdk.h gdk/gdkdnd.c: The low-level
      	X oriented portions of drag and drop protocols.
      	Sending and receiving client messages, and navigating
      	window trees.
      
      	* gdk/gdkimage.c: added a gdk_flush() when destroying
      	SHM images to hopefully make it more likely that
              X will gracefully handle the segment being destroyed.
      
      	* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
      	DND debugging flags.
      
      	* gtk/gtkeditable.[ch]: Updates for the selection handling
      	changes.
      
      	* gtk/gtkselection.[ch]: Added GtkTargetList, a
      	refcounted data structure for keeping track of lists
      	of GdkAtom + information. Removed selection_handler_add
      	in favor of a "drag_data_get" signal.
      
      	* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
      	dependent) parts of the DND protocols, display of drag icons,
      	drag-under highlighting, and the "default handlers".
      
      	* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
      	windows that are used for reliable pointer grabs and
      	selection handling in the DND code.
      
      	* gtk/testdnd.c: New test program for new DND. (Old
      	DND tests in testgtk still need to be converted.)
      
      	* gtk/testselection.c: Use the new selection API.
      
      	* docs/dnd_internals: Start at describing how
      	all the new code works inside.
      
      	* docs/Changes-1.2.txt: New file describing source-incompatible
      	changes in GTK+-1.2.
      
      Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdkwindow.c (gdk_window_remove_filter): Free
      	the right list node.
      
      	* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
      	to the XID table so we can receive events on it.
      
      Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
      	to get the timestamp from a generic event.
      
      Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_add_events): Added function
      	that safely adds additional events to a widget's event
      	mask, even if the widget has previously been realized.
      	(We can do this, but not remove events from the event
      	 mask).
      
      Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
      	for AnyPropertyType.
      
      Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
      	hashing.
      
      Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
      	isn't a timestamp.
      
      Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.c (gdk_event_translate): Removed printing
      	of unknown window lookup warnings. (Made it
      	a GDK_NOTE) - they happen in many circumstances.
      f7bcb456
  25. 07 Oct, 1998 1 commit
    • Tim Janik's avatar
      removed all occourances of #pragma } and #pragma { which were in place to · 3322a264
      Tim Janik authored
      Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtk*.h:
              * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
              which were in place to fixup emacs' cc-mode indentation.
              putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
              proper way to achive this and doesn't produce problems for
              stupid pragma-related compiler bugs. ;)
      3322a264
  26. 25 Aug, 1998 1 commit
    • Owen Taylor's avatar
      Reference count the fonts used in the text widget. · caf8ebc6
      Owen Taylor authored
      Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c: Reference count the fonts used in
      	the text widget.
      
      	* gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
      	freeing functions to be more consistent, and more
      	convenient; leave the old names in for backwards compatibility.
      
      	* gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
      	allocations in pseudo-color colormaps to greatly reduce
      	calls to XAllocColor. Keep a per-colormap hashtable to
      	speed up finding if there is an already-allocated matching
      	color.
      
      	* gdk/gdkcolor.c: Don't just match read the system colormap
      	when the colormap is created, but synchronize our copy
      	with the system colormap periodically.
      
      	* gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c:
      	Change XIM constants names to match GDK conventions
      
      	* gtk/testinput.c: Allow the drawing area to get the focus.
      
      	* gtk/testgtk.c: Change around the Text test to demonstrates
      	multiple fonts, use more colors.
      
      	* gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
      	so they work after a widget is unrealized.
      
      	* gtk/gtktext.[ch]: Remove the requirement that the text
      	widget be realized before adding text (!) Allocate colors
      	ourself, instead of requiring the caller allocate them.
      	Allow changing styles to work properly by keeping track
      	of the values for a certain property are default or
      	set explicitely.
      
      	* gtk/gtkmenu.h: Added some comments.
      
      	* gtk/gtkentry.c: Changes to match XIM constants.
      
      	* gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
      	for adding keyed data to drawables. (Uses g_dataset
      	internally)
      
      	* gdk/gdkpixmap.c: Keep track of the colors we allocate,
      	when creating an XPM - store them as user data for the GdkPixmap,
      	so we don't leak colors when we create pixmaps from XPM's.
      
      	Allocate memory for color information in large blocks instead of
      	as many little pieces.
      caf8ebc6
  27. 12 Aug, 1998 1 commit
    • Owen Taylor's avatar
      Added gdk_text/string_extents() - too calculate all the metrics at once of · 4af7480f
      Owen Taylor authored
      Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() -
      	  too calculate all the metrics at once of a string, including
      	  things which weren't calculated before.
      
      	* gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
      	  MenuItem type, that when put as the first thing in a
      	  menu, makes the menu tearoff. Currently drawn as a
      	  dashed line.
      
      	* gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
      	  "hide_on_activate" to the MenuItem class structure to allow
      	  check and radio buttons to be changed with <Space> without
      	  hiding the menu.
      
      	* gtk/gtkaccellabel.[ch]: Added new capabilities to set
      	  a underline_group and underline_mods for the label -
      	  accelerators added in the underline group matching
      	  underline_mods will be displayed as an underline character.
      
      	  This doesn't work - Save As needs to be underlined
      	  as Save _As.
      
      	* gtk/gtkitemfactory.c:
      	  - Create a AccelGroup for each MenuShell we create.
      	  - If an '&' appears before a  character 'c' in the path,
      	    then make 'c' an accelerator in the menu's accel group,
      	    and if the menuitem is menubar <alt>C an accelerator
      	    in the itemfactory's accel group.
      
      	* gtk/gtklabel.[ch]: Add support for a pattern arg -
                which is a string. If an '_' appears in this string,
      	  the corresponding position in the label is underlined.
      
                Add gtk_label_parse_uline() convenience function which
      	  takes a string with embedded underlines, sets the
      	  pattern and label, and returns the accelerator keyval.
      
      	* gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
      	  Instead, they create a GtkWindow and add themselves
      	  to that. (When torn off, another new feature, they
      	  create another GtkWindow to hold the torn off menu)
      
      	  New function gtk_menu_set_tearoff_state()
      
      	* gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h:
      	  Added action signals  for keyboard navigation of menus.
      
      	* gtk/gtkmenushell.c: Key press handler which activates
                bindings for navigation, and accelerators, for handling
      	  underline accelerators. Exported functions to select
      	  and activate menu items in a menushell.
      
      	* gtk/testgtk.c: Added a new "Item Factory" test which
      	  tests GtkItemFactory and the new keyboard navigation
      	  of menus.
      4af7480f
  28. 07 Jun, 1998 1 commit
    • Tim Janik's avatar
      fixed an assertment. · a391196b
      Tim Janik authored
      Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
      
              * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
              this should eventually be done by gentypeinfo.el somewhen.
              * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
      
              * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
              enum values of an enum type.
      
              * gtk/gtk.defs:
              * gtk/gtkcurve.h:
              * gtk/gtkobject.h:
              * gtk/gtkprivate.h:
              * gtk/gtkwidget.h:
              * gtk/gtkenums.h:
              brought enum/flags definitions in sync, added a few more enum
              definitions for bindings and pattern matching.
      
              * some more macro and GtkType fixups in various places.
      
              * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
              as a key-release modifier for the binding system.
      
      Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
              was a stale list pointer that is already present in GtkMenuShell.
      
              * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
              GtkMenuShell::selection_done which is emitted after the menu shell
              poped down again and all possible menu items have been activated.
      
      Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
              before activation of the menuitem, so the menu is actually taken off the
              screen prior to any menu item activation.
      
              * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
              for NULL nodes.
      
              * gtk/gtkwidget.h:
              * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
              the emission of the "add-accelerator" signal on a widget. this is
              usefull to prevent accelerator installation on certain widgets.
      
              * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
              labels left justified, by setting their alignment. stop accelerator
              installation for the menu items, since we use dynamic menus.
      
      Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
              should *really* use GtkItemFactory. this is only for preserving source
              compatibility where possible, use of GtkMenuFactory is deprecated as of
              now.
      
              * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
              to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
              missed this possibility when i added gtk_object_class_add_user_signal
              in late january.
      
              * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
      
      Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkaccelgroup.h:
              * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
      
              * gtk/gtkaccellabel.h:
              * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
              display of the accelerators associated with a certain widget.
      
              * gtk/gtkitemfactory.h:
              * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
              parsing and accelerator handling.
      
              * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
              positioning a menu.
              (gtk_menu_map): removed the allocation code.
              (gtk_menu_size_allocate): care for redrawing of children and resize
              our widget->window correctly.
              (gtk_menu_key_press): feature the new accelerator groups.
      
              * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
              submenu if neccessary.
      
              * gtk/gtkmenuitem.c:
              * gtk/gtkcheckmenuitem.c:
              * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
              function variants.
      
              * gdk/gdk.c:
              (gdk_keyval_from_name):
              (gdk_keyval_name): new functions for keyval<->key-name associations.
              (gdk_keyval_to_upper):
              (gdk_keyval_to_lower):
              (gdk_keyval_is_upper):
              (gdk_keyval_is_lower): new functions to check/translate keyvalues with
              regards to their cases.
      
      Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
              widget's class path.
              (gtk_widget_path): new function to calculate a widget's name path.
      
              * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
              pattern matching, features reversed pattern matches.
      a391196b
  29. 13 Apr, 1998 1 commit
  30. 09 Mar, 1998 1 commit
    • Tim Janik's avatar
      made the <widget>_signals[] arrays of type guint rather than gint. made · d1871831
      Tim Janik authored
      Mon Mar  9 15:48:10 1998  Tim Janik  <timj@gimp.org>
      
              * Signal signedness and naming corrections, plus GtkType fixes:
      
              * gtk/gtkadjustment.c:
              * gtk/gtkbutton.c:
              * gtk/gtkcheckmenuitem.c:
              * gtk/gtkclist.c:
              * gtk/gtkcolorsel.c:
              * gtk/gtkcontainer.c:
              * gtk/gtkcurve.c:
              * gtk/gtkdata.c:
              * gtk/gtkeditable.c:
              * gtk/gtkentry.c:
              * gtk/gtkhandlebox.c:
              * gtk/gtkinputdialog.c:
              * gtk/gtkitem.c:
              * gtk/gtklist.c:
              * gtk/gtkmenuitem.c:
              * gtk/gtkmenushell.c:
              * gtk/gtknotebook.c:
              * gtk/gtkstatusbar.c:
              * gtk/gtktoolbar.c:
              * gtk/gtktree.c:
              * gtk/gtktreeitem.c:
              * gtk/gtkwidget.c:
              * gtk/gtktogglebutton.c:
              * gtk/gtkwindow.c:
              made the <widget>_signals[] arrays of type guint rather than gint.
              * gtk/gtkwidget.c (gtk_widget_get_ancestor): made widget_type a GtkType.
      
              * gtk/gtkcombo.h:
              handler ids need to be of type guint (entry_change_id, list_change_id).
      
              * gtk/gtkaccelerator.c:
              changed signal_num to signal_id and typed it guint.
      
              * gtk/gtkmain.c: made gtk_ndebug_keys a guint.
      
              * gtk/gtkmenu.h:
              * gtk/gtkmenu.c:
              (gtk_menu_popup): made button a guint.
              (gtk_menu_set_active): made index a guint.
      
              * gtk/gtkmenuitem.h:
              * gtk/gtkmenuitem.c:
              made accelerator_signal a guint.
      
              * gtk/gtkoptionmenu.h:
              * gtk/gtkoptionmenu.c:
              (gtk_option_menu_set_history): made index a guint.
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c:
              * gtk/gtkobject.h:
              * gtk/gtkobject.c: changed a bunch of prototypes to take guints rather
              than gints. also made some conversions from guint to GtkType, left over
              from when the fundamental-types system was introduced.
      
              * gtk/gtkobject.h:
              * gtk/gtkobject.c: made object_data_id_index and obj_count guints.
              made *signals and nsignals guints in GtkObjectClass.
      d1871831
  31. 08 Feb, 1998 1 commit
  32. 03 Feb, 1998 1 commit
    • Tim Janik's avatar
      attach/detach to menu widget via · b45cd043
      Tim Janik authored
      Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
      
              * gtk/gtkoptionmenu.h:
              * gtk/gtkoptionmenu.c: attach/detach to menu widget via
      
              * gtk/gtkmenu.h:
              * gtk/gtkmenu.c: new functions gtk_menu_attach_to_widget
                and gtk_menu_detach that correspond to the action of
                gtk_widget_set_parent and gtk_widget_unparent.
      
              * gtk/widget.c: few fixups.
      b45cd043
  33. 24 Nov, 1997 1 commit