2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.
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.
Thu Feb 24 14:20:16 2005 Søren Sandmann <sandmann@redhat.com>
* gtk/gtkstyle.c: Add
g_return_if_fail (style->depth == gdk_drawable_get_depth(window));
all over the place.
2005-01-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_check)
(gtk_default_draw_option, gtk_default_draw_handle): Add some
more NULL checks, patch by Michael Natterer.
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c (gtk_default_draw_resize_grip): Only
clear the triangle below the grip to the background,
not the full area.
2004-09-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkexpander.c:
* gtk/gtktreeview.c: Change the default expander size to 12 to compensate
for the recent change to gtk_default_draw_expander().
* gtk/gtkstyle.c (gtk_default_draw_expander): Use a linewidth of one
for expander sizes up to 16.
Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de>
Add hidden aliases for exported symbols which are
used internally in order to get rid of many PLT
entries. (#145519, Arjan van de Ven)
* gtk/Makefile.am: Add rules to generate gtk.def and
from gtk.symbols, and make make check check the abi
with abicheck.sh.
(gtk_private_h_sources): Add gtkinternals.h
(gtk_built_private_headers): Add gtkalias.h
(gtk_extra_sources): Add gtk.symbols
(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
The file can be processed by cpp to filter out certain
subsets of symbols.
* gtk/abicheck.sh: New file. Script to check the actually
symbols exported from libgtk-x11.2.0.so against the symbols
found in gtk.symbols.
* gtk/makegtkalias.pl: New file. Perl script to generate the
header containing the alias definitions for internally used
exported symbols from a list of symbols.
* gtk/gtkinternals.h: New file. An uninstalled header listing
symbols which must be exported for some reason and do not appear
in any other header.
* gtk/*.c: Include gtkalias.h
Thu Jul 15 22:19:40 2004 Matthias Clasen <maclas@gmx.de>
Fix#60128, #58307, #144706:
* gtk/gtkstyle.c (gtk_style_real_copy): Handle references
to bg_pixmaps properly.
(gtk_style_real_unrealize): Don't keep dangling references
to the bg_pixmaps.
(gtk_style_attach): Split the loop into two loops, first
looking for a matching style, then for an empty one.
(gtk_style_finalize):
(gtk_style_duplicate): Add comments explaining the handling
of style->styles.
2004-07-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c: Fix some cases where style functions were
not handling widget == NULL properly. (#146282)
2004-05-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhsv.c: Draw focus indication in the color wheel using
standard focus style. (#63071, Bill Haneman, idea for new
style by Owen Taylor)
* gtk/gtkstyle.c (gtk_default_draw_focus): Support drawing on
focus on the colorwheel via details.
2004-03-11 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkstyle.c: (gtk_default_draw_expander): Use the PRELIGHT
fg color for drawing the expander when prelit. Fixes problem
with the HighContrast theme: bug #136789.
2004-03-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkstyle.c (draw_dot): Remove spurious semicolon. Thanks to
Kjartan Maraas for pointing it out.
Tue Mar 9 13:49:14 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_paint_polygon): Fix
g_return_if_fail() that was checking draw_shadow.
(#136669, Morten Welinder)
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
Fri Feb 20 00:21:38 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkstyle.c (gtk_default_draw_handle):
(gtk_default_draw_box): Make the paned handles gray when the the
widget is_focus() but not HAS_FOCUS(). (#122751, Soeren Sandmann)
Tue Feb 3 01:38:06 2004 Matthias Clasen <maclas@gmx.de>
Clip narrow columns in rtl-oriented tree views (#128089,
chinen@jp.ibm.com):
* gtk/gtkstyle.c (gtk_default_draw_option):
* gtk/gtkstyle.c (gtk_default_draw_check): Clip to the
given area.
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
Use the right clip area when calling gtk_cell_renderer_render().
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_draw_focus):
Use the right clip area when calling gtk_paint_focus().
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
Use the right clip area when calling gtk_paint_toggle() or
gtk_paint_check().
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
Clip to the expose_area when drawing the background rectangle.
Tue Jul 8 19:57:14 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstyle.c (gtk_default_draw_arrow): remove correction on x
when detail is "menuitem". With the new menu look is isn't needed
anymore.
* gtk/gtktoolitem.c (gtk_tool_item_toolbar_reconfigured): queue a
resize here, so that tool items will get a chance to relayout
themselves based on the toolbar configuration.
change DEFAULT_SPACE_SIZE to 4 instead of 5
* gtk/gtktoolbar.c
Get rid of "!GTK_BIN (item)->child means separator". Separators
are widgets in their own right
change DEFAULT_SPACE_SIZE to 4 instead of 5
(get_space_size): remove this function
(toolbar_item_is_homogeneous): new function
* gtk/gtkseparatortoolitem.c
(gtk_separator_tool_item_size_request): new function.
Tue Jul 8 14:10:35 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoggletoolbutton.h: use private data, add new
internal function _gtk_toggle_tool_button_get_button()
* gtk/gtktoolbutton.h: move to private data
* gtk/gtkradiotoolbutton.c, gtk/gtktoolbutton.c: updates for new
private data.
Sat Jul 5 10:34:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c: add vertical_padding style property.
* gtk/gtkmenuitem.c: add style properties toggle_spacing,
arrow_spacing and horizontal_padding. Also center separators and
make them a bit taller.
* gtk/*menuitem.c: use new style properties.
* docs/widget_geometry.txt: Add note about GtkMenuItem
* gtk/gtkstyle.c
(gtk_default_draw_vline, gtk_default_draw_hline):
fix +/-1 errors.
(gtk_default_draw_shadow): draw a black border around menus.
* gtk/gtkvseparator, gtk/gtkhseparator.c, gtk/gtkmenuitem.c: fix
calls to gtk_paint_hline() and gtk_paint_vline() (they take x1,
x2 and y1, y2 respectively, not x, width and y, height).
Thu Jan 30 23:48:30 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
only count the special cell if it is also visible,
(_gtk_tree_view_column_get_neighbor_sizes): only take the width into
account from visible cells,
(gtk_tree_view_column_cell_get_position): likewise, (Reported and
testcase provided by Vasco Alexandre da Silva Costa, via IRC,
tracking bug was #104563).
Thu Jan 30 23:46:15 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
subtract expander space and focus line space from the extra space
we are about the allocate. (Fixes#104635).
Thu Jan 30 23:42:03 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
(Fixes#96252, patch from Soeren Sandmann).
Tue Dec 10 12:40:30 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenuitem.c, gtk/gtkstyle.c, gtk/gtkrc.c: new default
color scheme based on the GNOME stock icon palette. (#80691,
Tuomas Kuosmanen, Garrett LeSage, Owen Taylor)
* gtk/gtknotebook.c (gtk_notebook_real_remove): take a new
parameter, "destroying", and don't emit the switch-page signals
when it is true (fix#64832, reported by Jarred Keuch)
* gtk/gtklabel.c (gtk_label_set_property): remove unused
variable.
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
add a gtk_list_store_sort_iter_changed line for some special
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
Daniel Elstner).
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
in #88130.
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
fix some indentation issues.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
(gtk_cell_renderer_toggle_set_property),
(gtk_cell_renderer_toggle_get_property),
(gtk_cell_renderer_toggle_render): add an inconsistent property.
* gtk/gtkstyle.c (gtk_default_draw_check),
(gtk_default_draw_option): support drawing inconsistent
options/checks for cells.
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
calling _editing_done twice (which has nasty side-effects). (#96647,
(issue 2) testcase from Soeren Sandmann).
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
#82739, patch from Padraig O'Briain.
* gtk/gtktreeviewcolumn.[ch]: add
gtk_tree_view_column_cell_get_position()
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
Yes, this chunk breaks ABI compatibility. Owen knows about it and
agreed with it. It doesn't break ABI that bad though, things will
still work. Please keep it silent :P.
This patch fixes some keynav issues reported by Narayana Pattipati
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
* gtk/gtkmarshalers.list: add two silly marshalers
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
(gtk_tree_view_real_unselect_all),
(gtk_tree_view_real_select_cursor_row),
(gtk_tree_view_real_toggle_cursor_row),
(gtk_tree_view_real_expand_collapse_cursor_row),
(gtk_tree_view_real_start_interactive_search): change the return
type from void to gboolean, update prototypes, functions, signals and
entries in GtkTreeViewClass,
(gtk_tree_view_class_init): add select_cursor_row binding for
enter key,
(gtk_tree_view_key_press): only navigate the header button if the
header is also visible ...
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
API bit of #75745, reported by Richard Hult.
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
Tue Nov 19 17:05:51 2002 Manish Singh <yosh@gimp.org>
* gtk/Makefile.am: add -DGTK_DISABLE_DEPRECATED. #undef it at the
top of gtktypebuiltins.c.
* gtk/gtkclist.c
* gtk/gtkcombo.c
* gtk/gtkctree.c
* gtk/gtklist.c
* gtk/gtklistitem.c
* gtk/gtkoldeditable.c
* gtk/gtkpixmap.c
* gtk/gtkpreview.c
* gtk/gtksignal.c
* gtk/gtktext.c
* gtk/gtktipsquery.c
* gtk/gtktree.c
* gtk/gtktreeitem.c
* gtk/gtktypeutils.c: #undef GTK_DISABLE_DEPRECATED, deprecated widgets
and compat code.
* gtk/gtkcolorsel.c: move gtk_color_selection_set_color implementation
to set_color_internal, and use that. The deprecated function now
merely wraps it.
* gtk/gtkfontsel.c: same as above, except with
gtk_font_selection_get_font.
* gtk/gtknotebook.c: same as above, except with
gtk_notebook_set_homogeneous, and gtk_notebook_set_tab_{border,
hborder,vborder}.
* gtk/gtkprogressbar.c: same as above, except with
gtk_progress_bar_set_{bar_stype,discrete_blocks,activity_step,
activity_blocks}.
* gtk/gtkstyle.c: same as above, except with gtk_style_get_font.
* gtk/gtkwidget.c: same as above, except with gtk_widget_set_usize.
* gtk/gtkitemfactory.h: declare compatibility functions for deprecated
GtkMenuFactory stuff if GTK_COMPILATION, since they are used
internally by the compat code.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
use of deprecated gtk_check_menu_item_set_show_toggle (it is a noop
now).
* gtk/gtkmain.c: replaced deprecated GTK_TYPE_* with G_TYPE_*.
* gtk/gtkobject.c: replaced various deprecated functions. In set and
get_property, use g_object_{set,get}_data with "user_data" instead
of gtk_object_{set,get}_user_data.
* gtk/gtkprogress.h: API declared if GTK_COMPILATION
* gtk/gtkprogress.c: port get_type to GObject API.
* gtk/gtktypeutils.h: declare GtkArg stuff and gtk_type_init,
if GTK_COMPILATION.
* gtk/gtkwidget.c: define gtk_widget_queue_clear in terms of
gtk_widget_queue_draw instead of the other way around.
* tests/Makefile.am: define -DGTK_DISABLE_DEPRECATED
* tests/testgtk.c
* tests/testselection.c
* tests/testsocket.c: #undef GTK_DISABLE_DEPRECATED, makes use of
deprecated stuff.
* gtk/theme-bits/decompose-bits.c (do_part): Add a const here.
* gtk/gtkcolorsel.c:
* gtk/gtkimcontextsimple.c:
* gtk/gtkstyle.c: Mark constant data as const to give the compiler
a chance to put it in a readonly section. (#75754)
Wed Nov 13 14:01:44 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstyle.c:
- comment out check_inconsistent_aa_bits[].
- use fg/bg with a generated aa color to draw check and option
marks in menu items.
- use text/base to draw check and option buttons, except when
state is ACTIVE, in which case we use fg/bg with a generated
aa color.
* tests/testgtk.c (menu_items): Add three check items.
Wed Oct 23 01:03:43 2002 Kristian Rietveld <kris@gtk.org>
Another feature to create truly ugly TreeViews!: style properties
for the even/odd colors used for row hinting. (#71595, reported
by Owen Taylor).
* gtk/gtktreeview.c (gtk_tree_view_class_init): add even_row_color
and odd_row_color style properties.
* gtk/gtkstyle.c (get_darkened_gc): support darken_count == 0 case,
(gtk_default_draw_flat_box): rework cell coloring code to support
user-provided even/odd row colors.
Wed Oct 23 01:01:52 2002 Kristian Rietveld <kris@gtk.org>
Cache signal IDs to speed up signal emission. This is a good speedup
because GtkTreeModel emits a big number of signals.
* gtk/gtktreemodel.c (gtk_tree_model_base_init): save IDs returned
by g_signal_new,
(gtk_tree_model_row_changed): use g_signal_emit instead of
g_signal_emit_by_name,
(gtk_tree_model_row_inserted): ditto,
(gtk_tree_model_row_has_child_toggled): ditto,
(gtk_tree_model_row_deleted): ditto,
(gtk_tree_model_rows_reordered): ditto.
Wed Oct 23 00:56:15 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (model_changed): new function,
(gtk_tree_selection_selected_foreach): monitor changes in the model,
bail out if the model has been changed from the foreach func.
(#50263, reported by Havoc Pennington).
* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
free anchor if applicable (#94868, reported and testcase provided by
Daniel Elstner).
Tue Sep 24 16:40:14 2002 Owen Taylor <otaylor@redhat.com>
Make icon sizes configurable (#70648, slightly based
on a patch from Bill Haneman, Brian Cameron)
* gtk/gtkiconfactory.[ch]: Add
gtk_icon_size_lookup_for_settings().
* gtk/gtksettings.c: Add gtk-icon-sizes XSETTING
* gtk/gtkiconfactory.c: Make icon sizes per-GtkSettings.
* gtk/gtkstyle.c: Use gtk_icon_size_lookup_for_settings()
* gtk/gtkrc.[ch]: Privately export _gtk_rc_reset_styles()
to force all the widgets to recompute their appearance.
Wed Sep 11 12:33:34 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstyle.c: Draw radio buttons more symmetric. Draw shadow
out bevels slightly different. Fix drawing of top right corner of
etched in shadows.
Mon Aug 5 14:50:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkitemfactory.h: Add a note that yes, we do know
what () means and we can't change it.
Fixes for warnings reported by David L. Cooper II
* tests/testtext.c: Warning fixes. Fix order of arguments
to gtk_message_dialog_new(). (#85891)
* gtk/gtktreeitem.c (gtk_tree_item_paint): Fix incorrect
use GTK_STATE_INSENSITIVE for a shadow type. (Not clear
what the drawing intent was, but it's ENABLE_BROKEN
anyways.) (#85880)
* gtk/gtktexttypes.c: Use character literals
instead of direct constants to avoid warning. (#85878)
* gtk/theme-bits/decompose-bits.c gtk/gtkstyle.c:
Fix some signed/unsigned problems (#85876)
* gtk/gtksignal.c (gtk_signal_newv): Add an explicit
cast from GtkSignalRunType to GSignalFlags. (#85875)
* gtk/gtkitemfactory.c (gtk_item_factory_add_item): Fix
use of guint instead of GdkModifierType (#85871)
* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
Fix signed/unsigned problem (#85870)
* gtk/gtkimcontext.c (gtk_im_context_class_init): Get
rid of GtkType/Signal*. (Fixes#85869 as a side effect)
* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix some
signed/unsigned warnings (#85865)