1. 23 Nov, 2005 1 commit
    • Michael Natterer's avatar
      Added symbolic themable colors. Patch is a merged version of proposals · de3155a4
      Michael Natterer authored
      2005-11-23  Michael Natterer  <mitch@imendio.com>
      
      	Added symbolic themable colors. Patch is a merged version of
      	proposals from Matthias and maemo-gtk. Fixes bug #114355.
      
      	* configure.in: require glib >= 2.9.1 for refcountable hashtables.
      
      	* gtk/gtksettings.c: added property "color-scheme" which is a
      	string defining colors like "foreground:black\nbackground:grey".
      	Automatically provide a name->GdkColor hash table mapping for the
      	color scheme.
      
      	* gtk/gtkrc.[ch]: added list of color hashes that works like the
      	list of icon factories. Append the color scheme hash from
      	GtkSettings if it exists. Extended gtkrc syntax to allow defining
      	and referencing of logical colors. Also allow to modulate colors
      	in gtkrc by using arbitrary expressions of mix(), shade(),
      	lighter() and darker(). Added internal function
      	_gtk_rc_style_get_color_hashes().
      
      	* gtk/gtkstyle.[ch]: keep a private list of color hashes around.
      	Get the list from _gtk_rc_style_get_color_hashes(). Export
      	internal function _gtk_style_shade() (used by above color
      	expressions). Added public API gtk_style_lookup_color() which
      	looks up a logical color by name.
      
      	* gtk/gtk.symbols: add gtk_style_lookup_color
      
      	* tests/testgtkrc: use symbolic colors for making
      	the scrollbars red.
      de3155a4
  2. 17 Mar, 2005 1 commit
    • Owen Taylor's avatar
      Switch set_cairo_target() virtual function to ref_cairo_surface() · 09d7eafb
      Owen Taylor authored
      2005-03-15  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
      	gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
      	gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
      	ref_cairo_surface()
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
      	function to create_cairo_context()
      
      	* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.
      
      	* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
      	not just the pixel.
      
      	* tests/testcairo.c: Update for create_cairo_context()
      
      	* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
      	Reimplement in terms of Cairo, bypass the vtable entries.
      
      	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
      	gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
      	gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
      	implementation of draw_trapezoids / draw_glyphs[_transformed].
      
      	* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo
      
      	* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
      	gdk_pango_context_get_for_screen() into the backend independent code.
      
      	* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
      	for drawing images.
      
      	* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
      	gdk_draw_rectangle_alpha_libgtk_only.
      
      	* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
      	gdk_pixbuf_set_as_cairo_source()
      
      	* gdk/gdk.symbols: Update
      
      	* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
      	gtk/gtk[hv]ruler.c: Convert to Cairo rendering.
      
      	* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
      	gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
      	radio button style for now to get something more scalable.
      
      	*  gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
      	antialiasing/dpi settings.
      09d7eafb
  3. 31 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Add a --screen option for setting the default screen. (Based on a patch · 550bf181
      Owen Taylor authored
      Thu Oct 31 12:40:39 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdk.[ch] gdk/gdkglobals.c gdk/gdkinternals.h
              gdk/{x11,win32,linux-fb}/gdkscreen-{x11,win32,linux-fb}.c:
              Add a --screen option for setting the default screen.
              (Based on a patch from Balamurali Viswanathan, #81145)
      
              * gdk/gdk.c gdkdisplay.h gtk/gtkmain.c: Add
              gdk_display_open_default_libgtk_only(), so gtk_init_check()
              and gdk_init_check() can share the same behavior w.r.t.
              --screen.
      
              * gdk/gdk.[ch]: Make gdk_get_display_arg_name() G_CONST_RETURN.
      
              * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
              Suppress a spurious warning.
      
              * tests/testgtkrc: Remove someleft-over commented out
              includes that could be confusing.
      550bf181
  4. 29 Oct, 2002 1 commit
  5. 21 Sep, 2002 1 commit
  6. 03 Mar, 2002 1 commit
    • Owen Taylor's avatar
      Centralize lookup and caching of cursor GC's here. · c848fbbc
      Owen Taylor authored
      Sun Mar  3 14:26:33 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkstyle.[ch] (_gtk_get_insertion_cursor_gc):
              Centralize lookup and caching of cursor GC's here.
      
              * gtk/gtkentry.[ch] gtk/gtktextview.[ch] gtk/gtktextdisplay.c
              gtk/gtklabel.c: Move to using _gtk_get_insertion_cursor_gc().
      
              * gtk/gtkentry.c (gtk_entry_expose): Draw cursors
              under the text, not over the text.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): add
              a secondary-cursor-color property.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): Decrease
              the default aspect ratio to 1/25 (0.04).
      
              * tests/testgtkrc (bell_duration): Comment out
              cursor color setting.
      c848fbbc
  7. 14 Feb, 2002 1 commit
    • Owen Taylor's avatar
      Patch from Bill Haneman and Padraig O'Briain to add cursor_aspect_ratio · 8f5c2c76
      Owen Taylor authored
      Thu Feb 14 16:46:48 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
      	gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
      	Haneman and Padraig O'Briain to add cursor_aspect_ratio
      	style property to GtkWidget to allow theming the aspect
      	ratio of the cursor.
      
      	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
      	gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
      	to GtkWidget.
      8f5c2c76
  8. 05 Feb, 2002 1 commit
  9. 02 Feb, 2002 1 commit
    • Owen Taylor's avatar
      Fix ordering of priorities so that priorities take precendence over the · 5288e079
      Owen Taylor authored
      Fri Feb  1 17:48:51 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkrc.c (gtk_rc_get_style): Fix ordering of
              priorities so that priorities take precendence over
              the ordering by type. (#70205)
      
              * test/testgtkrc tests/testgtk.c (create_rc_file): Add
              some labels to test priorities in testgtkrc.
      5288e079
  10. 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
  11. 25 Aug, 2001 1 commit
    • Owen Taylor's avatar
      Add optional movement on push to buttons (based on patch from Soeren · b94e6c0a
      Owen Taylor authored
      Sat Aug 25 19:02:39 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkbutton.[ch] gtk/gtktogglebutton.c: Add optional movement
              on push to buttons (based on patch from Soeren Sandmann, #54720)
      
                - Add child_displacement_x/y style properties to control how far the
                  child moves when the button is depressed.
      
                - Add non-exported function _gtk_button_set_depressed to clean
                  up the handling of the in/out shadow and separate it frmo
                  widget->state.
      
                - Lots of code cleanup and simplification of state handling
                  for GtkButton/GtkToggleButton.
      
              * tests/testgtkrc: Set the x/y displacement to 1 to provide a test
              of button movement. testgtk + testgtkrc == test ugly GTK+, as always.
      b94e6c0a
  12. 30 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Allow %NULL for style to mean "revert to default style" · fbfc3051
      Owen Taylor authored
      Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
      	for style to mean "revert to default style"
      
      	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
      	  gtk_widget_restore_default_style): Make this functions
      	deprecated aliases for gtk_widget_set_style (widget, NULL).
      
      	* gtk/gtkwidget.[ch]: Remove:
      	   gtk_widget_set_default_style ()
      	   gtk_widget_push_style ()
      	   gtk_widget_pop_style ()
      	These functions interact are overriden by RC files, and
      	thus virtually useless, and complicated.
      
      Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkrc.c: Add a GtkRcContext structure to hold
      	most of the previous global variables in gtkrc.c. This is
      	in preparation for multi-head, since each screen can
      	have different GtkSettings and RC information.
      
      	* gtk/gtkrc.[ch]:
      
      	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
      	GtkSettings parameter to GtkRcStyle::parse.
      
      	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
      	Add two new settings gtk-theme-name, gtk-key-theme-name,
      	for RC files that are loaded by name after reading
      	the default RC files.
      
      	* gtk/gtkrc.c: Allow priorities for styles, as wll as
      	bindings.
      
      	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
      	and use it by default for RC files loaded via
      	gtk-theme-name, gtk-key-theme-name.
      
      	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
              gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
      	tests/testgtkrc: Require pathnames to be absolute.
      
      	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
      	the source when parsing, since the operation of looking up a
      	pixmap from an RC file depends on the parsing context.
      
      	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
      	reset RC styles on all widgets when files are reparsed.
      
      	* tests/testgtk.c (create_rc_file)
      	  gtk/gtkwindow.c (gtk_window_read_rcfiles):
      	Simplify, now that gtk_rc_reparse_all() resets styles on
      	all widgets itself.
      
      	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
      	return value.
      
      	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
      	GtkSettings argument.
      
      	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
      	gtk_settings_get_global().
      
      	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
      	to get the appropriate GtkSettings for a widget. (For now,
      	just gets the default GtkSetttings.)
      
      	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
      	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
              changes.
      
      	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
      	getting a style for a path without actually having a widget.
      	(Allows using a style for a subpart of a widget, for
      	example.)
      
      	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
      	the RC files to be reloaded for just one GtkSettings
      	(not sure how useful this really is.)
      
      	* gtk/gtkrc.h: Deprecate
      	gtk_rc_add_widget_name/widget_class/class_style
      fbfc3051
  13. 28 Apr, 2001 1 commit
    • Havoc Pennington's avatar
      fix warning · 7e9b154f
      Havoc Pennington authored
      2001-04-27  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
      
      	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
      
      	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
      	line/para separators
      	(gtk_entry_create_layout): set single paragraph mode on the layout
      
      	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
      	spacing between the image and label; instead, inside a button box
      	the button will get extra space that will go there, but if people
      	configure button box for 0 chubbiness, then there's no spacing.
      
      	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
      	and min/max size style properties, so people can tune their
      	chubbiness.
      
      	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
      	functions
      
      	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
      	space_style, and button_relief into style properties, remove
      	functions for setting them
      
      	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
      	it back down
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
      	types from gtk_widget_style_get
      
      	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
      	with a style property.
      
      	* gdk/x11/gdkevents-x11.c: namespace the settings
      
      	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
      
      	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
      	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
      	be used. Also, translate doc strings for settings. Also, namespace
      	the double-click-time property. Also, remove bell properties crap.
      7e9b154f
  14. 17 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS · eced7172
      Owen Taylor authored
      Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
      
      	* gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
      	names to compatibility #defines so docs work.
      
      	* gtk/gtkenums.h: Remove GtkMenuFactoryType
      
      	* gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
      
      	* configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
      
      	* tests/testgtkrc: No magenta cursors, please.
      
      	* README.in INSTALL.in HACKING README.cvs-commits: Updated.
      
      	* gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
      eced7172
  15. 03 Apr, 2001 1 commit
    • Tim Janik's avatar
      changed gtk_item_factory_dump_items() and gtk_item_factory_dump_rc() · 748560e1
      Tim Janik authored
      Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
              and gtk_item_factory_dump_rc() GtkPatternSpec argument to
              GPatternSpec. this is actually unlikely to cause breakage in
              third-party apps since except for gle, pretty much ever caller
              passes NULL here.
      
              * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
      
              * *.c: use g_pattern_*() API.
      
              * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
      
              * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
              directions aren't passed in.
      
              * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
              functionality to be usable from gtkstyle.c as well, give precedence
              for conversion to user-supplied parsers.
              s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
      
              * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
              _gtk_settings_parse_convert() for rcporperty value conversion.
      748560e1
  16. 02 Apr, 2001 3 commits
    • Owen Taylor's avatar
      Applied patch from Ron Steinke to add signal accumulators so that signals · 0aef43bc
      Owen Taylor authored
      Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* Applied patch from Ron Steinke to add signal accumulators
      	so that signals with the convention 'TRUE return means
      	handled' stop emission on a TRUE return.
      
      	* gtk/gtkmain.[ch]: Add private accumulator
      	_gtk_boolean_handled_accumulator, used throughout GTK+.
      
      	* gtk/gtkspinbutton.c: Add accumulator for ::output.
      
      	* gtk/gtktipsquery.c: Add accumulator for ::widget_selected
      
      	* gtk/gtkwidget.c: Add accumulators for event signals,
      	::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
      	for ::mnemonic-activate.
      
      	* gtk/gtkwindow.c: Add accumulator for ::frame_event
      
      Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c: Add missing include.
      0aef43bc
    • Owen Taylor's avatar
      Reference param spec when caching property values, since we unref it later · 096fdfb7
      Owen Taylor authored
      Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference
      	param spec when caching property values, since we unref it
      	later when we free the style.
      
      	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
      	values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
      096fdfb7
    • Owen Taylor's avatar
      Fix G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE · c944151a
      Owen Taylor authored
      Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_class_init): Fix
      	G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
      	stupidity.
      
      Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
      
      	[ First pass at adding style properties. Still needs some definite
      	fine-tuning. ]
      
              * gtk/gtkbutton.c: Add ::default_spacing style property.
      
      	* gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
      	::indicator_spacing style properties.
      
      	* gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
      	style properties.
      
      	* gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
      	rather than a normal property.
      
      	* gtk/gtkwidget.c: Add an ::interior_focus style property to
      	draw focus inside buttons, in the Windows/Java Metal/etc. style.
      
      	* gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
      	Honor ::interior_focus.
      
      	* gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is
      	TRUE.
      
      	* gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
      	Add ::slider_width, ::trough_border, ::stepper_size,
      	::stepper_spacing style properties.
      
      	* gtk/gtkscale.[ch] Add ::slider-length style property.
      c944151a
  17. 18 Mar, 2001 1 commit
    • Tim Janik's avatar
      added rc-style argument GtkSpinButton::shadow_type. removed · ac68581f
      Tim Janik authored
      Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkspinbutton.[hc]: added rc-style argument
              GtkSpinButton::shadow_type.
              removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
              and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
              rc-style settings.
      
              * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
      
              * gtk/gtkwidget.c: quark cleanups.
      
              * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
              scanner with appropriate configuration, renamed GtkRcStyleClass.clone
              to create_rc_style() (we don't do cloning in standard OO sense).
              added per rc style properties.
      
              * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
              property values and for caching those. some cleanups.
      
              * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
      
              * gtk/gtksettings.[hc]: new file for global rc-file properties
              (at least currently, should get extended to support X properties
              and other communication mechanisms).
      
              * gtk/gtkwidget.[hc]: added style property support:
              (gtk_widget_class_install_style_property_parser): install style
              property pspec with parser function for rc-file values other
              than LONG, DOUBLE or STRING.
              (gtk_widget_class_install_style_property): same as above without
              parser (parsers are going to be needed quite infrequently).
              (gtk_widget_style_get_property): retrive style property value.
              (gtk_widget_style_get_valist): same as above with varargs support,
              has NOCOPY semantics.
              (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
      ac68581f
  18. 19 Feb, 2001 1 commit
  19. 04 Feb, 2001 1 commit
    • Tim Janik's avatar
      removed gtk_signal_init() compat define. · 89a0a894
      Tim Janik authored
      Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.h: removed gtk_signal_init() compat define.
      
              * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
              GTypeDebugFlags debug_flags and pass it on to g_type_init ();
              deprecated this function.
      
              * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
              argument.
      
      Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
      
      Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
      
              * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
              we finally need the gobject->gruntime rename.
      
              * *.c: scratched calls to g_type_init(), there's simply no point in
              doing that, use gtk_init().
      89a0a894
  20. 20 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      create some stock buttons with the default accel group (create_image): · 1c9f0c0b
      Havoc Pennington authored
      2000-10-04  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/testgtk.c (create_buttons): create some stock buttons
      	with the default accel group
      	(create_image): test some new GtkImage features
      	(make_message_dialog): test GtkMessageDialog
      	(create_modal_window): fix someone's bizzarro indentation
      
              * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement
      	GTK_WIN_POS_CENTER_ON_PARENT.
      	Add "destroy with parent" setting, which means the window goes
      	away with its transient parent.
      	(gtk_window_get_default_accel_group): get the default accel group
      	for the window.
      	(gtk_window_set_destroy_with_parent): set/unset destroy with
      	parent flag
      	(gtk_window_read_rcfiles): invalidate icon set caches
      	after reloading rcfiles
      
      	* gtk/gtkenums.h (GtkWindowPosition): add
      	GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog
      	on its parent window when the dialog is mapped for the first time.
      
              * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add
      	a simple message dialog class
      
      	* gtk/gtkdialog.c (gtk_dialog_init): Connect delete event
      	handler to emit response signal, and maybe later it would
      	honor a hide_on_delete flag - though that isn't there yet.
      	Set border width on the vbox to 2, so we get some padding.
      	Use a button box for the action area.
      	(gtk_dialog_key_press): synthesize a delete event if Esc
      	is pressed and the GtkWidget key press handler didn't
      	handle the escape key.
      	(gtk_dialog_new_with_buttons): new function creates a dialog
      	with some default buttons in it.
      	(gtk_dialog_add_action_widget): add an activatable widget
      	as a button in the dialog - you can also add a non-activatable
      	widget by accessing the action area directly.
      	(gtk_dialog_add_button): add a simple button - stock ID or
      	label - to the action area
      	(gtk_dialog_response): emit response signal
      	(gtk_dialog_run): block waiting for the dialog, return
      	the response. Override normal delete_event behavior, so that
      	delete_event does nothing inside gtk_dialog_run().
      
      	* gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
      	emitted when an action widget is clicked or the dialog gets
      	delete_event
      
      	* gtk/gtk.h: add gtkmessagedialog.h
      
      	* gtk/Makefile.am: add gtkmessagedialog.[hc]
      
      2000-10-20  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtk-sections.txt: Add dialog docs
      1c9f0c0b
  21. 11 Jul, 2000 1 commit
    • Tim Janik's avatar
      add xthickness and ythickness to GtkRcStyle and add the necessary tokens. · 64911ddc
      Tim Janik authored
      Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
              add the necessary tokens.
      
              * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
              (gtk_rc_style_to_style): copy thicknesses.
              (gtk_rc_init_style): apply thicknesses.
              (gtk_rc_parse_style): parse xthickness and ythickness.
      
              * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
      
              * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new):
              (gdk_window_new):
              (_gdk_windowing_window_init):
              * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new):
              (gdk_pixmap_create_from_data):
              (gdk_bitmap_create_from_data):
              (gdk_pixmap_new):
              * gdk/x11/gdkimage-x11.c (gdk_image_get):
              (gdk_image_new):
              * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new):
              * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new):
              * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
              (gdk_colormap_get_system):
              (gdk_colormap_new):
              * gdk/gdkwindow.c (gdk_window_init):
              * gtk/gtkstyle.c (gtk_style_new):
              * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
              * gdk/gdkpixmap.c (gdk_pixmap_init):
              * gtk/gtkrc.c (gtk_rc_style_new):
              use g_object_new() instead of g_type_create_instance() which
              is a private function for fundamental type implementations.
      
      Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>
      
              * io-gif.c (gdk_pixbuf__gif_image_load_animation):
              * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
              * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
              use g_object_new() instead of g_type_create_instance() which
              is a private function for fundamental type implementations.
      64911ddc
  22. 02 Jun, 2000 1 commit
    • Havoc Pennington's avatar
      Remove all references to offscreen flag which was no longer used. · 9ae724bf
      Havoc Pennington authored
      Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c: Remove all references to
      	offscreen flag which was no longer used.
      
      	* gtk/gtkprivate.h (enum): Remove unused flags and compress.
      
      	* gtk/gtkframe.c (gtk_frame_set_label_widget): Check
      	for non-null label_widget->parent.
      
      	* gtk/gtkentry.c: Get rid of code to deal with PangoAttribute
      	which no longer was used.
      
      	* gdk/gdkpango.c (gdk_pango_context_get_info): make static.
      
      	* gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
      	for null arguments.
      
      	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
      	check for destroyed windows.
      
      Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimmulticontext.c: Add a finalize method and unref
      	the slave context there.
      
      	* gtk/gtkinvisible.[ch]: Make reference counting behavior
      	identical to GtkWindow.
      
      Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* Makefile.am gdk/gdkpango.c: Copy the layout render function from
      	pangox to here, so we can write them independent of rendering
      	system, using GDK primitives.
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
      	gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
      	since we have a rendering-system independent implementation in
      	terms of draw_glyphs().
      
      	* gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
      	function to render a single line.
      
      	* gdk/x11/gdkpango.c: Move the guts of this file mostly
      	into ../gdkpango.c, which simplifies things, since we
      	don't have to deal with raw X gc's.
      
      Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
      	get the logical attributes for a given GtkTextLine.
      
      Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
      	g_locale_get_codeset() to g_get_codeset() change.
      
      Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testcalendar.c (calendar_font_selection_ok): Use font
      	descriptions.
      
      	* gtk/gtkentry.c (gtk_entry_draw_text): Center text within
      	the entry.
      
      	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
      	redoing (vastly simplifying) for Pango. Still needs quite
      	a bit of work. (Size selection is currently poor. List of
      	predefined sizes is not a good idea, since all of these
      	sizes won't necessarily be distinct.)
      
      Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
      	CODESET results for LANG=C.
      
      Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
      	which takes a stringized pango font description;
      	ignore the older 'font' and 'fontset' declarations.
      
      	* gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
      	field with a GdkFont derived via gdk_font_from_description(),
      	for compatibility. (Should we just remove it entirely?
      	Probably too much compatibility breakage, but people
      	should be migrating to the new Pango stuff as quickly
      	as possible.)
      
      Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
      
      Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkcalender.c: Roughly pango-ized. Really needs
      	redoing; there are some bugs in size allocation right
      	now, the semi-existant distinction between header / day
      	fonts was removed, but, with Pango, could actually
      	be made functional in a nice way.
      
      	* gtk/testcalender: Move calender from examples into this
      	directory as a test program. (We really need to restrcture
      	testgtk into a whole directory full of tests for every
      	widget or functionality group, separated into multiple .c
      	files.)
      
      Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testgtk.c (file_exists): Fix stupid typo that
      	was keeping RC file from being loaded.
      
      	* gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
      	RC file font code.
      
      Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
      	Add function to load a GdkFont from a PangoFontDescription.
      
      Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
      	to have any widget for the label, use a GtkLabel widget
      	to display the text. (Based partially on a patch from
      	Anders Carlson.)
      
      	(Quite a bit of code reorganization - strip 90% of the
      	guts out of gtkaspectframe and add a single virtual
      	func to GtkFrameClass - compute_child_allocation.)
      
      Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
      	(Removed clist->row_center_offset field because caching
      	it wasn't saving time or code, added private function
      	_gtk_clist_create_cell_layout()).
      
      Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkaccellabel.c: Pangoized.
      
      	* gtk/[hv]ruler.c: Pangoized
      
      Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkfilesel.c (gtk_file_selection_init):
      	Use gtk_clist_set_column_auto_resize() to remove need
      	need for manual column width computations.
      
      Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel,
      	ensuring Pango correctness, and considerably simplifying the
      	code.
      
      	* gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
      
      	* gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
      	getting of numbers of lines.
      
      	* gtk/gtklabel.c (gtk_label_size_request): Set the requisition
      	to the actual requested width of the lable, not to the wrap
      	width we set.
      
      	* gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
      
      	* gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
      	  gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
      
      	* gtk/gtktextview.c: Fix structure inheritance.
      
      	* gtk/gtkprogressbar.c: Pangoize.
      
      Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
      	in a function.
      
      	* gtk/gtktextlayout.c (find_display_line_above): Fixed
      	bug with computing line tops.
      
      	* gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
      
      Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
      	and y_offset coordinates to do what we need now. (The offset between
      	buffer and layout coordinates has been reintroduced, but is a
      	bit different than before.)
      
      	* gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
      	handle the adjustments ourselves, and scroll as necessary using
      	the new gdk_window_scroll().
      
      	The advantage of this is that when we are incrementally revalidating,
      	we are essentially rearranging things around the visible portion
      	of the screen. With the old setup, the visible portion of the
      	screen was moved around in the layout, so scrolling and redrawing
      	to track that caused jumping of the display. Since we now
      	control the scrolling ourselves, we can suppress this and
      	only redraw when things actually change.
      
      Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
      	the region not just redisplay it after-all, since we store the
      	cursors in the LineDisplay. (Ugly interactions here between
      	GtkLayout and GtkTextBTree here.)
      
      	* gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
      
      Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
      	Added function to scroll contents of a window while keeping the
      	window constant. Works by XCopyArea or guffaw-scrolling depending
      	on the details of how the window is set up. (guffaw-scrolling
      	still needs to be filled in.)
      
      Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
      	move the debugging that was tied to a global variable
      	to that.
      
      	* gtk/gtkmarshal.list: Add NONE:INT,INT,INT
      
      	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
      	validated flag, in line data instead of setting height/width to
      	-1. This allows us to perform operations with partially invalid
      	buffer (using the old size for invalid lines) and thus to do
      	incremental vaidation. Keep height/width aggregates up to date
      	when deleting text and rebalancing the tree.
      
      	* gtk/gtktextbtree.[ch]: Add functions validate a line
      	(gtk_text_btree_validate_line), and to validate up
      	to a number of pixels (gtk_text_btree_validate).
      
      	* gtk/gtktextlayout.[ch]: Add an ::invalidated signal
      	that indicates that something is changed and a revalidation
      	pass is needed. Change ::need_repaint to ::changed, and
      	make it take old and new yranges instead of a rectangle.
      
      	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
      	the line_data_destroy() function from
      	gtk_text_btree_add_view() to a virtual function in
      	GtkTextLayout
      
      	* gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
      	since we are handling partial repaints in a different fashion
      	now.
      
      	* gtk/gtktextbtree.[ch]: Only repaint the changed portion
      	of the selection instead of queueing a repaint on the
      	entire widget.
      
      	* gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
      	get_selection_bounds() down to btree, make the function
      	in buffer a wrapper around the btree function.
      
      	* gtk/gtktextlayout.[ch]: Add functions to check if the
      	layout is valid and to recompute either a range of pixels
      	aroudn a line or a certain total number of pixels.
      
      	* gtk/gtktextlayout.[ch]: Cache a single line display;
      	now that we only redraw the needed portions, the hit rate
      	for this cache is quite high.
      
      	* gtk/gtktextview.[ch]: Keep track of the first paragraph
      	on the screen so that when re-laying-out the buffer, we can
      	keep the same place. This requires connecting to ::value_changed
      	on the adjustments
      
      	* gtk/gtktextview.[ch]: Add idle functions to revalidate
      	the buffer after we receive an ::invalidated signal.
      
      Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
      	to max of allocation and layout size, not just to the
      	layout size.
      
      	* gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size):
      	Invalidate window so it gets redrawn properly.
      
      	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
      	to mean the entire window.
      
      	* gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
      	into public header.
      
      Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
      	to get the name of a mark.
      
      	* gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
      	to find the paragraph from a y position.
      
      Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
      	nodes have width/height >= 0, not > 0.
      
      Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
      	Add a size_only flag, so when we only need the size, we don't create
      	useless appearance attributes.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
      	duplicate setting of font description.
      
      	* gtk/gtkscale.c: Use PANGO_SCALE instead of 1000
      
      Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into
      	EXTRA_DIST. It does not work well when the file that
      	everything depends on is not in the tarball.
      
      Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/testgtk.c: Some hacks and fixes so that it basically
      	works when not sitting in the GTK+ build tree.
      
      2000-05-03  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
      	Properly determine the ordering of the tag root and the current
      	line within the tree. Previous algorithm only worked if the tag
      	root's immediate parent was the common root of both the current
      	line and the tag root.
      
      Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (set_para_values): Fix some bugs in
      	alignment.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
      	the widget text directional dynamically.
      
      	* gtk/gtktextview.[ch]: Added functions to get and set default
      	wrap mode.
      
      Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
      	in cursor location computation.
      
      Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
      	vadjusment values properly when layout gets smaller.
      
      	* gtk/gtktextview.c (need_repaint_handler): Areas being
      	passed in are far completely inaccurate, and sometimes
      	too small, so, for now, just queue a redraw on the
      	whole visible region.
      
      2000-04-25  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbtree.c (summary_destroy): new function to
      	destroy tag summary nodes
      	(gtk_text_line_next_could_contain_tag): this function was
      	totally broken if the line passed in wasn't below the tag
      	root. Fix it.
      	(gtk_text_btree_first_could_contain_tag): In the tag == NULL
      	"wildcard" case, we have to do a linear scan. Blah.
      	(gtk_text_btree_last_could_contain_tag): In tag == NULL case,
      	we have to do the linear scan
      	(tag_removed_cb): When a tag is removed from the tag table,
      	remove the GtkTextTagInfo node from the btree.
      	(gtk_text_btree_spew): Implement the spew function, for
      	our debugging pleasure.
      
      Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
      	a problem with referring to the wrong buffer.
      
      	* gtk/gtkentry.c: Fix focus-in/focus-out confusion.
      
      	* gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
      	font description to gtk_style_new() - otherwise things
      	don't work without a .gtkrc file.
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
      	tags table if we create it ourself, too.
      
      	* gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
      	it was conflicting with XKB modifiers.
      
      	* gtk/gtktextview.[ch]: Add simple support for
      	GtkIMContext.
      
      Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
      	with deletion from last commit.
      
      Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
      	in the context from the current locale.
      
      	* gtk/gtkentry.c (gtk_entry_size_request): Use language from the
      	context, not hardcoded value.
      
      	* gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
      	not logical.
      
      Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
      	attributes - that doesn't handle partial-glyph selection
      	properly. Instead use new pango_layout_line_get_x_ranges()
      	functionality to draw the selection.
      
      	* gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
      	now properly handles out-of-range coordinates.
      
      	* gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
      
      	* gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
      	public.
      
      	* gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
      	for paragraphs opposite to the base direction of the widget.
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
      
      	* gtk/gtktextlayout.c: Don't split segments on marks, since that
      	causes Arabic words to reshape as you cursor through.
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
      	cursor position when moving vertically with the arrow keys and
      	scrolling with page-up/page-down. (Arrow keys save only the X,
      	scrolling saves both X and Y.)
      
      	This means you can line-up / line-down or page-up / page-down
      	without losing your place, and also that moving vertically
      	with the cursor keys keeps the same X position, not the same
      	character count:
      
      	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
      	arrow keys move by display lines, not paragraphs.
      
      Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklayout.c: Make sure that the bin window is at least
      	as big as the allocation. (Should we also make sure that the
      	bin window is big enough to completely cover widget->window?)
      
      	* gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
      	function to get the onscreen rectangle.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
      	for offsets in window coordinates.
      
      Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
      	confusion.
      
      	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
      	from the widget direction.
      
      	* gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg):
      	Add a "direction" attribute.
      
      	* gtk/gtktextview.c: global s/tkxt/text_view/.
      
      	* gtk/testtext.c: Added long block of text in Arabic, to test out
      	the direction attributes. (Some problems with the shaping system
      	for arabic become obvious - like the fact the cursor splits words
      	into unjoined pieces.)
      
      Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
      
      	* gtk/gtktextlayout.c: Fix up alignment.
      
      	* gtk/testtext.c: Add some tests for centering, wrapping.
      
      Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
      	Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
      	If we wrote GTK+-specific layout-render function this could just replace
      	the draw_layout() operation in the vtable.
      
      	* gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to
      	pango_layout_get_cursor_pos() and use that function.
      
      	* gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
      	is a non-static symbol.
      
      	* gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
      	with gtk_text_btree_find_line_by_y()
      
      	* gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
      	renderer that handles GtkTextAppearance attributes.
      
      	* gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h:
      
      	  - Move the values in the style that don't affect geometry into a
      	    GtkTextAppearance structure.
      	  - Change underline to take a PangoUnderline and "font" a string
      	    representation of a font description
      	  - Add a "font_desc" attribute which takes a FontDescription structure.
      
      	* gtk/gtktextlayout.[ch]:
      
      	  - Get rid of the display-line list per each line. Instead, we
      	    generate, on demand, a GtkTextLineDisplay structure which]
      	    contains a PangoLayout * and other necesary information
      	    (offsets, cursor locations) for displaying a paragraph.
      	  - Get rid of the code to wrap lines, create display chunks,
      	    etc. Instead, we just go through a paragraph and convert
      	    it into the necessary inputs to a PangoLayout.
      	  - Implement a new attribute type, GtkTextAttrAppearance. This
      	    holds a GtkTextAppearance, and is used to pass colors,
      	    stipple, etc, through from the layout to the display without
      	    having to use lots and lots of individual attributes.
      	  - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
      	    in terms of PangoLayout functions.
      
      	* gtk/gtktextview.c:
      
      	  - Handle passing the necessary PangoContext to the layout
      	  - Some fixups in painting to deal with the automatic backing store
      	    and offsetting of GTK+-1.4
      	  - Add a style_set handler so that the default style reacts
      	    properly to theme changes.
      
      	* gtk/gtktext?*.[ch]: Random code-style fixes.
      
      	* gtk/testtext.c: Substitute in languages that Pango handles now for Thai
      
      Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
      	in original form preparatory to Pango-ization and gdkimcontext-ization.
      
      Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
      	so that we can derive from gtkimcontext in language bindings properly.
      
      Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
      	Add a compose table including (almost) all the compose combinations
      	from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
      	data in the XIM implementation.
      
      	* gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
      	Moved functions to convert keyvalues from and to unicode here from
      	the win32 port and made them public.
      
      Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
      
      Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimcontext.[ch]: Base class for new input context system
      
      	* gtk/gtkimmulticontext.[ch]: Proxy input context that allows
      	the real input context implementation to be loaded from modules
      	and switched on the fly.
      
      	* gtk/gtkcontextsimple.[ch]: Simple implementation of an input
      	context that just does direct keysymbol => unicode translation.
      
      	* gtk/gtkentry.[ch]: Start switching editing over to using
      	GtkInputContext. (No handling of preedit yet.)
      
      Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
      	many substitutions. (klass should not be subsituted.)
      
      Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in: Add checks for Pango
      
      	* configure.in docs/Makefile.am: Add test for sgml2html
      	and allow 'make dist' without building html, but print out
      	warnings in that case. (For making snapshots)
      
      	* gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
      	Add Pango libraries and C flags
      
      	* gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
      	Add function (gdk_draw_layout) to draw a pango layout.
      
      	* gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
      	for getting Pango contexts for GDK.
      
      	* gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
      
      	* gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
      	editing.
      
      	* gtk/gtkentry.c: Hack in simple Hebrew input with direct
      	keysym => unicode translations. More languages can be added
      	here, but real input-method support is needed.
      
      	* docs/Changes-1.4.txt: Added note about entry behavior.
      
      	* gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
      	to set the reading direction for a widget and the global direction.
      	Add test which allows toggling the global direction. Two private
      	flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
      
      	* gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
      	  gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c
      
      	* gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
      
      	* gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
      	underlining now handled by Pango.
      
      	* gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
      	to RCStyle and Style. (Having both this and the old font name and GdkFont
      	is temporary.)
      
      	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added
      	convenience functions for creating contexts and layouts for widgets.
      
      	* gtk/testgtk.c: Enhance label tests with multilingual labels.
      9ae724bf
  23. 25 May, 1999 1 commit
  24. 21 Feb, 1999 1 commit
  25. 22 Jan, 1999 1 commit
    • Tim Janik's avatar
      take value_spacing into account for GTK_POS_LEFT. · 060c32e4
      Tim Janik authored
      Fri Jan 22 07:33:44 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkvscale.c (gtk_vscale_pos_trough): take value_spacing into
              account for GTK_POS_LEFT.
      
              * gtk/gtkradiobutton.c (gtk_radio_button_set_group): use
              gtk_toggle_button_set_active () to set the new state.
              (gtk_radio_button_new): only _set_group if group != NULL.
              (gtk_radio_button_clicked): reference the widget.
              (gtk_radio_button_init): make radio buttons active upon
              startup.
      060c32e4
  26. 15 Jan, 1999 2 commits
    • Tim Janik's avatar
      define GTK_DISABLE_COMPAT_H for compilation of gtk code. · 87620764
      Tim Janik authored
      Fri Jan 15 19:16:42 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/Makefile.am: define GTK_DISABLE_COMPAT_H for compilation of gtk
              code.
      
              * gtk/gtkrc.c (gtk_rc_style_unref): added an assertment.
      
              * gtk/gtkcompat.h:
              * gtk/gtklabel.h:
              don't provide compatibility defines if GTK_DISABLE_COMPAT_H is defined.
      
              * gtk/gtkstyle.h:
              * gtk/gtkstyle.c: coding style, indentation and alignment fixups.
              (gtk_draw_string):
              (gtk_paint_string):
              (gtk_draw_polygon):
              (gtk_style_set_background): fixed assertments.
              (gtk_default_draw_ramp):
              (gtk_default_draw_cross):
              (gtk_default_draw_oval): issue warnings since these functions aren't
              yet implemented.
      
              * gdk/gdkwindow.c:
              (gdk_window_hide): only unmap window if already mapped.
              (gdk_window_show): only map window if !mapped.
              (gdk_window_internal_destroy): destroyed windows can't be mapped.
      
              * gtk/gtkwidget.c (gtk_widget_event): don't ignore expose events just
              because a resize is queued on a widget, we rely on the expose events
              now.
      87620764
    • Owen Taylor's avatar
      nparams for selection_get should be 3, not 2. [ From Damon Chaplin · 2e99e771
      Owen Taylor authored
      Fri Jan 15 10:22:21 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_class_init):
      	nparams for selection_get should be 3, not 2.
      	[ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]
      
      	* gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
      	routine so queued redraws work inside event boxes.
      
      Thu Jan 14 17:47:37 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
       	 redraw character under cursor when not displaying
      	highlighted selection.
      
      	* gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
      	gpointer to make IRIX cc happy.
      
      Thu Jan 14 12:29:50 1999  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
      	the drawing code to remove a bit of duplication -
      	and to remove a call to gtk_widget_draw_focus()
      	that queues a redraw when an expose occurs.
      
      	* gtk/gtklabel.c (gtk_label_expose): Fix up handling
      	  of ypadding.
      
      	* gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
      	  the whole widget, also redraw the corresponding
      	  areas of the child widget. (have_visible_child
      	  still has some problems)
      
      	* gdk/gdkpixmap.c: Change some g_new's to g_new0 so
      	  that fields unused for pixmaps get initialzized
      	  sanely.
      
              * gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
      	  gdk_window_is_visible() and gdk_window_is_viewable()
      	  and a mapped flag to the window private structure.
      
              * gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
      	  gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
      	  gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
      	  gtk/gtktreeitem.c gtk/gtkviewport.c:
      	Map windows after mapping children.
      
      	* gtk/gtkwidget.c (gtk_widget_clip_rect): Handle
      	rectangles completely clipped away correctly.
      
      	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
      	call gtk_widget_draw if width or height is 0.
      
      	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
      	rely on GTK_REDRAW_PENDING after we've cleared
      	it. (This was causing draw-combining to not
      	happen at all).
      
      	* gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
      	to gtk_widget_queue_draw() when mapping.
      2e99e771
  27. 12 Jan, 1999 1 commit
    • Tim Janik's avatar
      reworked the redrawing heuristics somewhat, this fixed a bunch of existing · d7bd87f2
      Tim Janik authored
      Tue Jan 12 13:47:07 1999  Tim Janik  <timj@gtk.org>
      
              * reworked the redrawing heuristics somewhat, this fixed a bunch of
              existing redrawing problems and majorly reduces overall redrawing needs
              during normal operation. basically we now only queue redraws when
              neccessary and much rely on the draw_area coalescing code in gtkwidget.c
              to optimize the queued portions. widgets will now upon reallocation only
              get redrawed if their allocation has changed. upon hide/show only the
              area allocated by the child will be queued for the parent, this has the
              side effect that parents which change their appearance in dependance on
              the numer of visible children have to keep track of their children's
              visiblity and eventually fully redraw themselves. this is a minor
              constrain with great benefits in terms of redraw reduction, and only got
              triggered by the notebook widget.
      
              * gtk/gtkwidget.c:
              (gtk_widget_queue_clear): don't bother if width and height == 0.
              (gtk_widget_queue_clear_child): new static function to queue a redraw of
              the area obscured by a child on a parent.
              (gtk_widget_queue_resize): queue_clear the widget if it is drawable.
              (gtk_widget_show): queue resize on the widget before showing.
              (gtk_widget_hide): queue resize on the widget after hiding.
              (gtk_widget_map): queue_draw the widget after mapping.
              (gtk_widget_unmap): queue_clear_child the widget.
              (gtk_widget_size_allocate): queue_clear_child and queue_draw if the
              widget's allocation changed.
              (gtk_widget_unparent): queue_clear_child so the parent redraws obscured
              portions.
              (gtk_widget_real_show):
              (gtk_widget_real_hide):
              (gtk_widget_real_map):
              (gtk_widget_real_unmap):
              (gtk_widget_real_size_allocate): don't bother with redraw queueing,
              descendants that override these functions don't do either and we handle
              all redrawing/resizing related stuff before or after the signal emission
              now.
      
              * gtk/gtkcontainer.c:
              (gtk_container_resize_children): don't bother about redrawing anymore
              since gtk_widget_size_allocate handles that for us now.
      
              * gtk/gtknotebook.h:
              * gtk/gtknotebook.c:
              added a flag have_visible_child to indicate whether we need to draw
              non child related portions at all, e.g. shadows etc.
              (gtk_notebook_draw): if have_visible_child changed, do a full paint
              instead of updating a small area only.
      
      Mon Jan 11 20:44:35 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkstyle.c: changed gtk_style_apply_default_pixmap to
              gtk_style_apply_default_background which takes an extra argument
              copy_area to determine NO_WINDOW widget pixmap copying.
              changed callers accordingly.
      
              * gtk/gtktogglebutton.c:
              (gtk_toggle_size_allocate):
              (gtk_toggle_button_expose):
              (gtk_toggle_button_paint): avoid messing with our parent's window if
              toggle_button->draw_indicator == TRUE and we are a NO_WINDOW widget.
      
              * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): draw
              the draw_indicator with GTK_STATE_ACTIVE if the toggle button is active.
      
              * gtk/check-n.xpm:
              * gtk/check-y.xpm:
              * gtk/testgtkrc: set pixmaps for ACTIVE and NORMAL check button
              bg_pixmaps.
      d7bd87f2
  28. 11 Jan, 1999 2 commits
    • Tim Janik's avatar
      eliminated some queue_draws when invoking gtk_widget_set_state, since that · d2e69a89
      Tim Janik authored
      Mon Jan 11 15:23:32 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktogglebutton.c: eliminated some queue_draws when invoking
              gtk_widget_set_state, since that cares about redrawing already.
              some code cleanups.
      
              * gtk/gtktogglebutton.[hc]:
              * gtk/gtkfontsel.c:
              * gtkgamma.c:
              s/gtk_toggle_button_set_state/gtk_toggle_button_set_active/ since
              set_state is already taken by gtkwidget.h.
      
              * gtk/gtkcompat.h: #define gtk_toggle_button_set_state
              gtk_toggle_button_set_active.
      
              * gtk/gtkstyle.c: some indentation cleanups.
      d2e69a89
    • Tim Janik's avatar
      only pass key events to the focus widget if it is sensitive. · e3ee9e9d
      Tim Janik authored
      Mon Jan 11 13:18:37 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwindow.c:
              (gtk_window_key_release_event):
              (gtk_window_key_press_event): only pass key events to the focus widget
              if it is sensitive.
      
              * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): don't popup the
              submenu if it isn't sensitive.
              (gtk_menu_item_paint): state_type doesn't need to be reset to
              GTK_STATE_INSENSITIVE if the widget is insensitive anyways.
      
              * gtk/gtkcontainer.c (gtk_container_real_focus):
              * gtk/gtklist.c (gtk_list_focus):
              * gtk/gtkmenushell.c (gtk_menu_shell_move_selected):
              * gtk/gtknotebook.c (gtk_notebook_focus):
              s/GTK_WIDGET_SENSITIVE/GTK_WIDGET_IS_SENSITIVE/ since a widgets
              sensitivity is determined through the parent as well,
              GTK_WIDGET_SENSITIVE is only of interest inside gtkwidget.c, everywhere
              else GTK_WIDGET_IS_SENSITIVE (widget) needs to be used to check for
              sensitivity.
      
              * gtk/gtkaccelgroup.c (gtk_accel_group_activate): don't activate
              object if it is an insensitive widget.
      e3ee9e9d
  29. 17 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Free previous label->label_wc. · eba4c9a8
      Owen Taylor authored
      Thu Dec 17 10:53:20 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtklabel.c (gtk_label_set_text): Free
      	previous label->label_wc.
      
      	* gtk/testgtkrc: Leave font, not fontset commented
      	in by default.
      eba4c9a8
  30. 16 Dec, 1998 1 commit
  31. 09 Dec, 1998 1 commit
    • Owen Taylor's avatar
      Destroy widgets _after_ propagating unrealize signals through the widget · 207757e7
      Owen Taylor authored
      Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
      	signals through the widget heirarchy. This is unpleasant, as it
      	causes more X traffic, but is necessary, because we have to clean
      	up our Input Contexts before destroying the X windows.
      	(from matsu-981109-0.patch)
      
      Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
      
      	Applied gtk-a-higuti-981202-0 :
      	[ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
      
      	* gdk/gdk.h gdk/gdk.c
      		(gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
      			implemented by a combination of Xlib functions, so
      			it works even with X_LOCALE.
      		(gdk_wcstombs): New function.
      		(g_mbtowc): Removed. No longer needed.
      
      	* gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c:
      	        Added _wc() variants to gdk_text_width(),
      		gdk_char_width(), gdk_draw_text(),
      
      	* gdk/gdki18n.h
      		(mblen, mbtowc, wctomb, mbstowcs, wcstombs,
      		 wcslen, wcscpy, wcsncpy):
      			Removed. No longer needed.
      		(iswalnum): Removed.
      		(gdk_iswalnum): New macro.
      		(gdk_iswspace): New macro.
      	* gdk/gdktype.h
      		(GdkWChar): New typedef.
      
      	* gtk/gtkentry.h, gtk/gtkentry.c
      		There are many changes according to the change of the
      		internal representation of text, from multibyte string
      		to wide characters.
      	* gtk/gtkprivate.h, gtk/gtkmain.c
      		Removed the variable gtk_use_mb and related codes.
      	* gtk/gtkspinbutton.c
      		Some changes according to the change of type of entry->text.
      	* gtk/gtktext.h, gtk/gtktext.c
      		Changed the internal representation of text. We use GdkWchar
      		if a fontset is supplied. If not, we use guchar to save
      		memory.
      207757e7
  32. 30 Nov, 1998 1 commit
    • Tim Janik's avatar
      merged testgtkrc with the pre-themes one, removed system specific · 0c36e308
      Tim Janik authored
      Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
              system specific includes.
      
              * gtk/gtksignal.c: asured that stop and restart emissions are also
              checked and processed for not connected objects. fixed up restart
              emission administration. invoke emission hooks after emission, hooks
              are not supposed to muck around with the current emission, and
              may also not cause emission restarts. fixed up stop emission
              administration.
      0c36e308
  33. 13 Nov, 1998 1 commit
    • Owen Taylor's avatar
      New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher · a0ca2a7b
      Owen Taylor authored
      Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
      	(gtk-blizzard-981005-0.
      	 Christopher Blizzard <blizzard@applied-theory.com)
      
      	* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
      	gdk_pixmap_foreign_new to gdkx.h.
      
      Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am: Added rules to generate an empty
      	GTK+ theme called "Default" upon installation.
      
      	* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
      	of fonts and fontsets.
      	(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
      
      	* gtk/gtkmain.c: Change test to detect glibc's
      	utf8 based mb* functions to be more specific.
      
      	* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
      	cleanups.
      a0ca2a7b
  34. 06 Nov, 1998 1 commit
  35. 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
  36. 27 Jul, 1998 1 commit
    • Tim Janik's avatar
      fixup, so that enum values are looked up. · fc7c7f46
      Tim Janik authored
      Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
              values are looked up.
      
              * gtk/gtktypeutils.h:
              * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
              gtk_type_enums_find_value to lookup enum values.
      
              * gtk/gtkctree.h:
              * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
              GtkCTreeExpansionType. fixed signal creations to pass the enum
              types not just the base type GTK_TYPE_ENUM.
      
              * gtk/gtkclist.h:
              * gtk/gtkclist.c: fixed signal creations to pass the real enum
              types not just the base type GTK_TYPE_ENUM.
      fc7c7f46