Commit Graph

197 Commits

Author SHA1 Message Date
Matthias Clasen
09bf05bd57 Fix alignment problems with text cell renderers
When set to PANGO_ALIGN_CENTER, text was rendered off-center
by the amount of 'free space' that the PangoLayout left (ie
the x returned by pango_layout_get_pixel_extents).
2011-01-22 23:23:46 -05:00
Tristan Van Berkom
9a80100e9a Fixed get_size() for GtkCellRendererText to clip to the input area
For ellipsize cells it's important to clip the result of get_size()
so that the returned required rectangle is indeed less than or equal
to the input rectangle... this is done so that GtkCellArea can accurately
paint focus on cells by calling gtk_cell_renderer_get_aligned_area().

Patch also adds assertions to gtk_cell_renderer_get_aligned_area() to
ensure this keeps working correctly.
2011-01-06 02:31:42 +09:00
Kristian Rietveld
9ab2786991 GtkCellRendererText: use PANGO_PIXELS_CEIL for text_width
Usually pango_layout_get_pixel_extents() is used, which uses
PANGO_PIXELS_CEIL on the rectangle's width.  This commit makes the new
function gtk_cell_renderer_text_get_preferred_width() consistent with
this.

This fixes rounding errors on Mac OS X, where we were seeing tree views
with a double height for a single line of text, while the usual single
row height would have been sufficient.
2010-12-23 18:41:23 +01:00
Kristian Rietveld
a28c11a27f Clip to cell_area when rendering cell content
This fixes a GTK+ 3.0 regression.  In GTK+ 2, the render method
on GtkCellRenderer had a expose_area parameter, typically set to
cell_area.  This parameter was used for clipping cell content to be
rendered to the cell area (and thus clipping to within the focus
rectangle).  During the rendering clean up this parameter was removed
and no clipping put back into place.

Since expose_area was usually equal to cell_area anyway, it does not make
sense to reintroduce the expose_area parameter.  Instead, we do clipping at
two levels:
 - in gtk_cell_renderer_render() we clip to background_area.  We cannot
clip to cell_area here because we want to allow cell renderers to
render in the background area (e.g. background color/effect).
 - cell renderers should clip to clip_area when rendering cell
content individually (as they had to individually clip to expose_region
before).
2010-12-16 00:07:08 +01:00
Tristan Van Berkom
2a41de70b1 Removing an unused variable from GtkCellRendererText->get_preferred_width() 2010-12-04 14:31:45 +09:00
Tristan Van Berkom
03a72118ad Merge branch 'master' into treeview-refactor
Conflicts:
	tests/Makefile.am
2010-12-02 13:58:02 +09:00
Emmanuele Bassi
1779ae79a1 rgba: Invert the arguments and improve bindability
Since parse() is a method of the Gdk.RGBA class, the GdkRGBA pointer
should be the first argument, and the string the second one, to allow a
more natural binding.

https://bugzilla.gnome.org/show_bug.cgi?id=635879
2010-11-28 19:01:51 +00:00
Tristan Van Berkom
7fc7bd613b Changed GtkCellRendererText to request less than wrap-width if the text is smaller than the wrap-width (or width-chars). 2010-11-25 22:46:55 +09:00
Tristan Van Berkom
2dd2c7ce05 Added gtk_cell_renderer_get_aligned_area() and class vfunc.
Since a cell renderer might use more space than the natural
size when recieving expand space it's impossible to know how
much space is actually used to render content.

Adding this virtual method to allow text renderers to implement
it, the base default method uses height-for-width apis and aligns
the cell assuming the renderer uses a fixed size.

This commit removes the similar code from gtkcellarea and
subclasses.
2010-11-25 17:41:26 +09:00
Garrett Regier
24c3b956f3 docs: Move documentation to inline comments: GtkCellRendererText
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-08 11:31:02 +09:00
Garrett Regier
d5593dec9e docs: Move documentation to inline comments: GtkCellRendererText
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-06 18:21:36 +01:00
Matthias Clasen
503698f587 Support resetting cell renderer colors with NULL again
This functionality was lost when GdkRGBA was introduced.

Bug 632936
2010-10-25 11:17:24 -04:00
Carlos Garnacho
d1140d0b1e GtkCellRendererText: Add [foreground|background]-rgba properties
These properties use GdkRGBA to render the cell renderer's content.
Note that Pango attributes are used to render the foreground color,
so the alpha value is currently ignored.
2010-10-22 20:14:57 +02:00
Matthias Clasen
21eae6b6f3 Make GdkRectangle arguments in GtkCellRenderer use const consistently
https://bugzilla.gnome.org/show_bug.cgi?id=630900
2010-10-04 10:23:55 -04:00
Benjamin Otte
e66129015d cellrenderer: Merge GtkCellSizeRequest into GtkCellRenderer
This mostly goes to keep consistency with the changes to GtkSizeRequest
in the last patch, as GtkCellSizeRequest requires GtkCellRenderer and
GtkCellRenderer implements GtkCellSizeRequest there's no use in keeping
them separate.

This patch renames the functions:
gtk_cell_size_request_get_request_mode()
  => gtk_cell_renderer_get_request_mode()
gtk_cell_size_request_get_width()
  => gtk_cell_renderer_get_preferred_width()
gtk_cell_size_request_get_height()
  => gtk_cell_renderer_get_preferred_height()
gtk_cell_size_request_get_size()
  => gtk_cell_renderer_get_preferred_size()
gtk_cell_size_request_get_width_for_height()
  => gtk_cell_renderer_get_preferred_width_for_height()
gtk_cell_size_request_get_height_for_width()
  => gtk_cell_renderer_get_preferred_height_for_width()
... and moves the corresponding vfuncs to GtkCellRenderer.

The patch also renames the implementations of these functions in cell
renderers to include the word "preferrred".
2010-09-26 15:11:45 +02:00
Benjamin Otte
d9c9259861 Move GtkSizeRequest into GtkWidget
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.

Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.

So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
  gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
  gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.

The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
2010-09-26 15:11:45 +02:00
Benjamin Otte
1d3f6b30b0 API: Rename gtk_cairo_paint_*() to gtk_paint_*()
Large patch, but just renaming.
Indentation should still mostly be correct because I took care of
keeping the indentation for this function name.
2010-09-26 15:11:42 +02:00
Benjamin Otte
e31e77eeb8 API: Change cellrenderer->render vfunc to take a cairo_t
Also constify the rectangle arguments. They were const anyway.
2010-09-26 15:03:01 +02:00
Javier Jardón
b140884fec Use gtk_size_request_get_size() instead deprecated gtk_widget_size_request()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629598

Signed-off-by: Javier Jardón <jjardon@gnome.org>
Signed-off-by: Tristan Van Berkom <tristanvb@openismus.com>
2010-09-15 03:02:58 +02:00
Javier Jardón
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
Javier Jardón
aad72e59fa gtk/gtkcellrenderertext.c: use accessor functions to access GtkWidget 2010-08-22 22:56:14 +02:00
Tristan Van Berkom
af7a187919 Added GtkCellRendererText::max-width-chars property
Added a property to limit the minimum/natural size request
of a text cell renderer.
2010-08-20 19:26:09 -04:00
Tristan Van Berkom
e2a82c70b4 Added/Implemented GtkCellSizeRequestIface
This patch adds height-for-width geometry management
for cell renderers while still responding to the old
gtk_cell_renderer_get_size() apis with virtual return values
(obtained by soliciting the new height-for-width cell renderer
apis).
2010-08-18 20:01:28 -04:00
Philip Withnall
3eb197b51f Bug 596125 — Property string fixes 2010-08-10 09:23:49 +01:00
Javier Jardón
7fdb991b99 gtkcellrenderertext: Move public members to private structure 2010-07-13 19:40:45 +02:00
Javier Jardón
db584abef3 Use accessor functions to access GtkCellRenderer 2010-07-13 19:40:45 +02:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Javier Jardón
32b9aeaadd Don't use GTK_WIDGET_STATE in internal code anymore
Use gtk_widget_get/set_state() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-09 02:40:17 +01:00
Javier Jardón
4232115e22 Deprecate widget flag: GTK_WIDGET_HAS_FOCUS
Use gtk_widget_has_focus() instead

https://bugzilla.gnome.org/show_bug.cgi?id=69872
2010-03-01 06:11:01 +01:00
Hiroyuki Ikezoe
d3fab727ae Use g_value_dup_string instead.
g_value_get_string and g_strdup should be replaced by
g_value_dup_string.
2009-12-18 20:51:03 +01:00
Javier Jardón
325bd9299a Use GtkCellEditable::editing-canceled
GtkCellEditable::editing-canceled property was added in 2.19 cycle,
so we should make the code that currently uses entry->editing_canceled
directly go through the property

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=599213
2009-12-04 02:50:57 +01:00
Michael Natterer
b2d286d5bf examples/gtkdial/gtkdial.c gdk/gdkapplaunchcontext.c gdk/gdkpango.c
2008-08-12  Michael Natterer  <mitch@imendio.com>

	* examples/gtkdial/gtkdial.c
	* gdk/gdkapplaunchcontext.c
	* gdk/gdkpango.c
	* gtk/gtkcellrendererpixbuf.c
	* gtk/gtkcellrenderertext.c
	* gtk/gtkcellview.c
	* gtk/gtkcombobox.c
	* gtk/gtkfontsel.c
	* gtk/gtkinvisible.c
	* gtk/gtkliststore.c
	* gtk/gtktexttag.c
	* gtk/gtktexttagtable.c: remove dereferencing from some function
	pointers i missed before.


svn path=/trunk/; revision=21089
2008-08-12 09:51:16 +00:00
Sven Neumann
2a95978506 gtk/gtkaboutdialog.c gtk/gtkcellrendereraccel.c gtk/gtkcellrenderercombo.c
2008-08-11  Sven Neumann  <sven@gimp.org>

	* gtk/gtkaboutdialog.c
	* gtk/gtkcellrendereraccel.c
	* gtk/gtkcellrenderercombo.c
	* gtk/gtkcellrendererspin.c
	* gtk/gtkcellrenderertext.c
	* gtk/gtkclipboard.c
	* gtk/gtkcolorsel.c
	* gtk/gtkcombo.c
	* gtk/gtkcombobox.c
	* gtk/gtkdnd-quartz.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkentrycompletion.c
	* gtk/gtkfilechooserbutton.c
	* gtk/gtkfilechooserdefault.c
	* gtk/gtkfilechooserentry.c
	* gtk/gtkfontsel.c
	* gtk/gtkinputdialog.c
	* gtk/gtkmenutoolbutton.c
	* gtk/gtkpathbar.c
	* gtk/gtktooltip.c: use canonical signal names in 
g_signal_connect().


svn path=/trunk/; revision=21060
2008-08-11 09:17:49 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Matthias Clasen
f7f1dabdf9 Bug 511163 – Remove pango_extents_to_pixels() calls
* gtk/gtkcellrenderertext.c (get_size): Use
        pango_layout_get_pixel_extents.

        * configure.in: Bump Pango requirement to 1.20

        * INSTALL.in: Update required versions


svn path=/trunk/; revision=20171
2008-05-26 04:33:25 +00:00
Matthias Clasen
1312be0dd5 Fix the default value for the wrap-mode and font-scale properties.
2007-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellrenderertext.c: Fix the default value for the
        wrap-mode and font-scale properties.



svn path=/trunk/; revision=19256
2007-12-28 05:32:55 +00:00
Matthias Clasen
37b454c5cc Add more documentation.
svn path=/trunk/; revision=18453
2007-07-12 01:55:15 +00:00
Kristian Rietveld
5fc26ddab7 transform the ink_rect using pango_extents_to_pixels to avoid rounding
2007-06-01  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (get_size): transform the ink_rect using
	pango_extents_to_pixels to avoid rounding errors.  (Fixes #430218,
	Shlomi Israel).


svn path=/trunk/; revision=17996
2007-05-31 22:21:55 +00:00
Matthias Clasen
3d53233146 Don't copy PangoLanguage. (#340031, Morten Welinder)
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
        Don't copy PangoLanguage.  (#340031, Morten Welinder)



svn path=/trunk/; revision=17489
2007-03-12 04:46:58 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Mariano Suárez-Alvarez
92ea76c372 be a little more helpful with the docs on GtkCellRendererText:alignment.
2007-02-02  Mariano Suárez-Alvarez  <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c(gtk_cell_renderer_text_class_init):
	be a little more helpful with the docs on GtkCellRendererText:alignment.
	Bug #403409.



svn path=/trunk/; revision=17250
2007-02-02 03:50:46 +00:00
Matthias Clasen
b3ef93d8ee Use word wrapping by default, and center multiline labels. (#318763, Ross
2006-12-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c: Use word wrapping by default, and
        center multiline labels.  (#318763, Ross Burton)

        * gtk/gtkcellrenderertext.c (get_layout): Remove a special
        case for single-line layouts.
2006-12-29 04:39:51 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Benjamin Berg
1830558a3e Undo bogus commit. 2006-12-14 18:33:43 +00:00
Benjamin Berg
78fcce907f - Remove unused code/options from the code. Warn about their usage while
2006-12-13  Benjamin Berg  <benjamin@sipsolutions.net>


	* engines/clearlooks/src/clearlooks_rc_style.c:
	(clearlooks_rc_style_init), (clearlooks_gtk2_rc_parse_dummy),
	(clearlooks_rc_style_parse), (clearlooks_rc_style_merge):
	* engines/clearlooks/src/clearlooks_rc_style.h:
	* engines/clearlooks/src/clearlooks_style.c:
	(clearlooks_style_draw_box), (clearlooks_style_init_from_rc),
	(clearlooks_style_copy):
	* engines/clearlooks/src/clearlooks_style.h:
	* engines/clearlooks/src/clearlooks_types.h:
	- Remove unused code/options from the code. Warn about their usage
	while parsing.


	* themes/Clearlooks/gtk-2.0/gtkrc:
	- Remove options that don't have any effect.
2006-12-13 17:32:49 +00:00
Kristian Rietveld
1cd7347a54 cancel editing (ie. don't accept changes) when the entry loses focus.
2006-12-10  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
	cancel editing (ie. don't accept changes) when the entry loses
	focus. (Fixes #164494, reported by Chris Rouch).
2006-12-10 20:52:05 +00:00
Kristian Rietveld
817d667da8 Make sure [xy]_offset are always being initialized, fix pixbuf renderer
2006-12-03  Kristian Rietveld  <kris@gtk.org>

	Make sure [xy]_offset are always being initialized, fix pixbuf
	renderer padding.  (#108235, Sven Neuman).

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_get_size),
	(gtk_cell_renderer_pixbuf_render): add padding in _render instead
	of _get_size.

	* gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_get_size):
	always initialize [xy]_offset.
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): ditto.
	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
	ditto.
2006-12-03 20:02:04 +00:00
Mariano Suárez-Alvarez
52ae260503 add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16  Mariano Suárez-Alvarez <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16 21:35:52 +00:00
Kristian Rietveld
7dbaf7ef5c actually add align-set property to the API (left-over patch from #157439).
2006-09-24  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
	(gtk_cell_renderer_text_[sg]et_property): actually add align-set
	property to the API (left-over patch from #157439).
2006-09-24 17:12:00 +00:00
Kristian Rietveld
e1d2805cc5 add align_set field to keep track whether the align property was set by
2006-07-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_init),
	(gtk_cell_renderer_text_[gs]et_property), (get_layout): add
	align_set field to keep track whether the align property was
	set by the user, if not we will use the alignment by looking
	at the direction of the widget. (#157439)
2006-07-19 16:27:10 +00:00
Kristian Rietveld
66180232be oooops.
2006-07-18  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
	oooops.
2006-07-18 13:57:06 +00:00
Kristian Rietveld
36329391a7 Fix for #335012, reported by Matteo Nastasi.
2006-07-18  Kristian Rietveld  <kris@imendio.com>

	Fix for #335012, reported by Matteo Nastasi.

	* gtk/gtktreeview.c (gtk_tree_view_real_start_editing): if the
	requested space of the editable is smaller than the cell area,
	put it up above the middle of the cell area.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
	configure the inner border to cover the cell area if the
	entry requisition is smaller than the cell_area.
2006-07-18 13:33:28 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
6162f9d51a Use _static variants when copying and merging short-lived Pango layouts.
2006-04-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_size): Use _static variants when
	copying and merging short-lived Pango layouts. (#340033, Morten Welinder)
2006-04-29 03:53:25 +00:00
Michael Natterer
450a117ce4 add missing ')'.
2006-03-27  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
	add missing ')'.
2006-03-27 10:17:31 +00:00
Matthias Clasen
0d04bd7fec Small optimization 2006-03-26 06:03:31 +00:00
Matthias Clasen
f50363d3fa Add test cases for alignment.
2006-03-14  Matthias Clasen  <mclasen@redhat.com>

	* tests/testcellrenderertext.c: Add test cases for alignment.

	* gtk/gtkcellrenderertext.c: Add an alignment property,
	and fix some cases where ellipsize_set was being used to
	mean "we're ellipsizing" even when ellipsize was set to NONE.
	(#318761, Ross Burton)
2006-03-14 19:44:59 +00:00
Matthias Clasen
5c0d5d0b33 Use connect_after to connect to the focus_out event. This ensures that the
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
	Use connect_after to connect to the focus_out event. This
	ensures that the entry has already stopped blinking by the time
	we emit the edited signal.  (#315229, Thomas Leonard)
2005-09-09 18:38:52 +00:00
Matthias Clasen
9a86f65818 Stylistic improvements and clarifications for some blurbs. (#315520,
2005-09-09  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_class_init):
	* gtk/gtkfilesel.c (gtk_file_selection_class_init):
	* gtk/gtkcombobox.c (gtk_combo_box_class_init):
	* gtk/gtklabel.c (gtk_label_class_init):
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Stylistic improvements and clarifications for some blurbs.
	(#315520, Clytie Siddall)
2005-09-09 16:21:15 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am:
	* gtk/Makefile.am: Intern type names in code generated by
	glib-mkenums, too.

	* gtk/*.c:
	* gdk/x11/*.c:
	* gdk/*.c: Intern type names before registering the type to avoid
	unnecessary copies.
2005-08-31 16:53:43 +00:00
Owen Taylor
dda40ca71a Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
	to draw the swatch in to avoid having an extraneous window.

	* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
	color when !has_opacity.

2005-05-10  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
	files for Cairo convenience functionality.

	* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
	convenience functions to add GdkRectangle, GdkRegion to a cairo path.

	* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
	gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().

	* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
	gdk_drawable_create_cairo_context() to gdk_cairo_create().

	* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
	Rename gdk_pixbuf_set_as_cairo_source() to
	gdk_cairo_set_source_pixbuf().

	* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
	gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
	Adjust for renames.

	* gdk/gdk.symbols: Update.

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
	coordinate system problem that was causing the wrong portions
	to be invalidated.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
	gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
	gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
	gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
	gtk/gtkcellview.c (gtk_cell_view_expose)
	gtk/gtkdnd.c (gtk_drag_highlight_expose)
	gtk/gtkentry.c (gtk_entry_draw_text)
	gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.

	* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
	GTK+ style ... use instance-private data and standard names for
	private structure, etc. Move function docs inline.

	* gtk/gtkcalendar.[ch]: Switch to drawing everything in
	expose. Switch drawing to Cairo.

	* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
	gtk_calendar_freeze/thaw
2005-05-11 19:16:19 +00:00
Matthias Clasen
7aee89d29d Forgotten file 2005-05-04 13:51:41 +00:00
Matthias Clasen
ba91bf6d18 Return a sufficient width for cases where pango_layout_get_pixel_extents()
2005-05-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_size): Return a sufficient
	width for cases where pango_layout_get_pixel_extents() returns
	a rectangle with nonzero x.
2005-05-02 17:53:52 +00:00
Matthias Clasen
4c28ce0877 Use canonical names for g_object_notify() as well.
2005-03-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c:
	* gdk/gdkdisplaymanager.c:
	Use canonical names for g_object_notify() as well.
2005-03-26 05:49:15 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
	GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
	their G_ counterparts, but also mark the name, nick
	and blurb as static.

	* gtk/*.c: Mark param spec strings as static, using
	the new macros.
2005-03-22 02:14:55 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
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-20 07:01:23 +00:00
Matthias Clasen
263bce4445 x
2005-03-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init):
	* gtk/gtkrange.c (gtk_range_class_init):
	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init):
	* gtk/gtktexttag.c (gtk_text_tag_class_init):
	* gtk/gtktextview.c (gtk_text_view_class_init):
	* gtk/gtkscrollbar.c (gtk_scrollbar_class_init):
	* gtk/gtknotebook.c (gtk_notebook_class_init):
	* gtk/gtkentry.c (gtk_entry_class_init):
	* gtk/gtkexpander.c (gtk_expander_class_init):
	* gtk/gtkarrow.c (gtk_arrow_class_init):
	* gtk/gtkalignment.c (gtk_alignment_class_init):
	* gtk/gtkbutton.c (gtk_button_class_init):
	* gtk/gtklabel.c (gtk_label_class_init):
	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init):
	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): x
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init):
	* gtk/gtktreeview.c (gtk_tree_view_class_init):
	* gtk/gtkbox.c (gtk_box_class_init):
	* gtk/gtkwindow.c (gtk_window_class_init, gtk_window_class_init):
	* gtk/gtkcontainer.c (gtk_container_class_init):
	* gtk/gtkwidget.c (gtk_widget_class_init):
	* gtk/gtkobject.c (gtk_object_class_init): Use canonical names
	when registering param specs.
2005-03-09 04:04:40 +00:00
Matthias Clasen
2fc5429c28 Forgotten file, ChangeLog from 2005-01-27 2005-02-01 18:13:06 +00:00
Matthias Clasen
889e66decd Support wrapping in GtkCellRendererText (#163608):
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	Support wrapping in GtkCellRendererText  (#163608):

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Add wrap-mode and wrap-width properties which cause a
	text cell to break to a specified width when set.

	* gtk/gtkcellrenderertext.c (get_layout): Use wrap-mode
	and wrap-width when they are set.
2005-01-20 18:47:58 +00:00
Anders Carlsson
b1167d1d11 Don't pass NULL to pango_context_get_metrics. Use
2005-01-09  Anders Carlsson <andersca@gnome.org>

	* gtk/gtkcellrenderertext.c: (get_size):
	* gtk/gtklabel.c: (gtk_label_size_request):
	* gtk/gtkprogressbar.c: (gtk_progress_bar_size_request):
	Don't pass NULL to pango_context_get_metrics. Use
	pango_context_get_language instead, which is way faster.
2005-01-09 17:32:25 +00:00
Matthias Clasen
f7c6751c29 Use g_value_get_boolean() for ellipsize_set. (#162447, Brian Tarricone)
2004-12-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
	Use g_value_get_boolean() for ellipsize_set.  (#162447,
	Brian Tarricone)
2004-12-30 05:11:03 +00:00
Matthias Clasen
024c31e2fe Add a width-chars property like GtkLabel has. (#160496, James M. Cape)
2004-12-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c: Add a width-chars property like
	GtkLabel has.  (#160496, James M. Cape)
2004-12-13 16:12:39 +00:00
Matthias Clasen
788bec8384 Fix #145463, reported by Michael Natterer.
2004-12-09  Matthias Clasen  <mclasen@redhat.com>

	Fix #145463, reported by Michael Natterer.

	* gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add an
	editing flag to keep track of when editing is done.

	* gtk/gtkcellrenderer.h:
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_stop_editing): New
	function to replace gtk_cell_renderer_editing_canceled().
	Deprecate gtk_cell_renderer_editing_canceled().

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done):
	* gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_editing_done):
	* gtk/gtktreeview.c (gtk_tree_view_stop_editing):
	Use gtk_cell_renderer_stop_editing().
2004-12-09 17:55:58 +00:00
Matthias Clasen
e23cf6361d Don't use the foreground color for selected cells, Don't use the
2004-11-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_layout): Don't use the foreground
	color for selected cells, Don't use the background color
	in unfocused selected cells. Also avoid creating two PangoLayouts
	per render call.  (#154615, #154611, Billy Biggs)
2004-11-16 05:19:21 +00:00
Matthias Clasen
3363b6e35e Fix a wrong blurb. (#155838, Morten Welinder)
2004-10-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Fix a wrong blurb.  (#155838, Morten Welinder)
2004-10-20 05:15:44 +00:00
Matthias Clasen
a263e05646 Fix bug #150790:
2004-10-01  Matthias Clasen  <mclasen@redhat.com>

	Fix bug #150790:

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): Fix the
	calculation of x_offset when ellipsized and in RTL mode.
	(gtk_cell_renderer_text_render): Fix the calculation of the layout
	width when ellipsized.
2004-10-01 21:39:01 +00:00
Matthias Clasen
350559dea8 Remove leftover debug code.
2004-09-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): Remove
	leftover debug code.

	Improve the behaviour of the file chooser in save mode. Fixes bugs
	#151031, #151608, #151994 reported by Owen Taylor and Alexander
	Larsson.

	* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
	(location_entry_create): Propagate the action to the file
	chooser entries.
	(gtk_file_chooser_default_should_respond): Switch folders if
	the user enters a directory name in the entry and clear the entry
	after switching folders.
	(gtk_file_chooser_default_should_respond, shortcuts_row_activated_cb):
	Move focus to the file list when activating a shortcut.
	(gtk_file_chooser_default_should_respond): Handle the case where the
	user clicks on "Save" after selecting a folder in the file list.

	* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
	Propagate the action to the file chooser entries.

	* gtk/gtkfilechooserentry.h:
	* gtk/gtkfilechooserentry.c (_gtk_file_chooser_entry_set_action):
	(_gtk_file_chooser_entry_get_action): New functions to propagate
	the GtkFileChooserAction of the file chooser to the file chooser
	entry.
	(check_completion_callback): If we are in save mode, only do
	inline completion for directories.
2004-09-17 18:13:26 +00:00
Jonathan Blandford
fa3293eb5e load images at normal size.
Thu Sep 16 02:07:56 2004  Jonathan Blandford  <jrb@gnome.org>

        * docs/tools/widgets.c (create_icon_view): load images at normal
        size.

        * docs/reference/gtk/images/*png: Update shots.
2004-09-16 06:16:38 +00:00
Jonathan Blandford
08bc720614 constrain cell area to passed in cell_area, #147867
Tue Aug 31 17:07:41 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeviewcolumn.c
        (gtk_tree_view_column_cell_process_action): constrain cell area to
        passed in cell_area, #147867

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size): if
        ellipsizing, get_size is only 3 chars wide.

        * docs/tree-column-sizing.png: Add Matthias's excellent image.
2004-08-31 21:15:51 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
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
2004-08-09 16:59:53 +00:00
Matthias Clasen
9ccd401659 align the entry in the same way as the cell. (#136749)
Fri Jul 23 11:11:10 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
	align the entry in the same way as the cell.  (#136749)
2004-07-23 15:12:11 +00:00
Matthias Clasen
f0d8fe3a7d Add a new :ellipsize property which controls ellipsization of the rendered
Thu Jul 22 01:42:16 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Add a new :ellipsize property which controls ellipsization of the
	rendered text.  (#144835, Vincent Untz, patch by Jonathan Blandford
	and Anders Carlsson

	* gtk/gtkfilechooserdefault.c (create_file_list): Use ellipsization
	for the name column.
2004-07-22 05:45:19 +00:00
Matthias Clasen
e387e7e60c Make the entry context menu work in editable text cells. The changes are
Sun Jun  6 23:57:21 2004  Matthias Clasen  <maclas@gmx.de>

	Make the entry context menu work in editable text cells. The changes are
	based on a patch by Kristian Rietveld, which implemented an approach outlined
	by Owen Taylor.  (#50075)

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event): Ignore
	focus out if the entry menu is posted.
	(gtk_cell_renderer_text_populate_popup): Mark the entry menu as posted, and
	set up a signal handler to clear the flag if the menu is unmapped.
	(gtk_cell_renderer_text_popup_unmap): Clear the in_entry_menu flag, set up
	a timeout to stop editing if the focus is lost.
	(popdown_timeout): Stop editing if the entry doesn't have focus any more.
	(gtk_cell_renderer_text_start_editing): Connect to the populate_popup signal
	on the entry and keep a pointer to the entry.
	(gtk_cell_renderer_text_editing_done): Disconnect from popuplate_popup, clear
	the pointer to the entry.
2004-06-07 04:04:27 +00:00
Matthias Clasen
310fd268e7 Support insensitive cells in tree views and combo boxes. 2004-05-27 03:31:17 +00:00
Matthias Clasen
b18a684f28 Make the arrow and separator regular children of an hbox inside the
2004-04-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c: Make the arrow and separator regular
	children of an hbox inside the button, and propagate state
	changes from the button to the cell view.  (part of the fix
	for #138650, should also fix #137535)

	* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
	state to gtk_cell_renderer_render() when prelighted. (part
	of the fix for #138650)

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
	Use PRELIGHT state when appropriate.  (part of the fix for
	#138650)
2004-04-14 20:26:26 +00:00
Owen Taylor
cc77c2c8b7 Don't leak the temporary font description. (Nils O. Selåsdal)
Mon Mar 15 13:50:14 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
        Don't leak the temporary font description. (Nils O. Selåsdal)
2004-03-15 18:53:37 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by 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>
2004-03-06 03:38:59 +00:00
Matthias Clasen
6c935950b2 Clip narrow columns in rtl-oriented tree views (#128089,
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.
2004-02-03 00:40:56 +00:00
Richard Hult
25d649abbf Free font_desc. Fixes #132805.
2004-01-28  Richard Hult  <richard@imendio.com>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_size):
	Free font_desc.  Fixes #132805.
2004-01-29 18:10:29 +00:00
Matthias Clasen
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
Federico Mena Quintero
fb526d239a Fix #130969.
2004-01-16  Federico Mena Quintero  <federico@ximian.com>

	Fix #130969.

	* gtk/gtkcellrenderer.h (struct _GtkCellRendererClass): Added an
	editing_canceled signal.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Create the
	"editing-canceled" signal.
	(gtk_cell_renderer_editing_canceled): New function.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done):
	Call gtk_cell_renderer_editing_canceled().
2004-01-16 19:18:28 +00:00
Matthias Clasen
f3faa16dab Fix the "language_set" blurb. (#129720, Christian Rose)
Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	Fix the "language_set" blurb.  (#129720, Christian Rose)
2003-12-20 23:43:30 +00:00
Kristian Rietveld
10b2c91b23 clear the extra_attrs list if we set "text" after "markup". (Fixes
Thu Dec 18 17:52:56 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
	clear the extra_attrs list if we set "text" after "markup".
	(Fixes #121933, Federico Mena Quintero).
2003-12-18 16:55:58 +00:00
Kristian Rietveld
bc6e2d5563 added language and language_set properties like GtkTextTag has. (#103800,
Thu Dec 18 01:41:50 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
	(gtk_cell_renderer_text_finalize),
	(gtk_cell_renderer_text_get_property),
	(gtk_cell_renderer_text_set_property), (get_layout): added language
	and language_set properties like GtkTextTag has. (#103800, reported
	by Owen Taylor).
2003-12-18 00:44:37 +00:00
Kristian Rietveld
c43efa516f Migrating all cell renderers to use the new instance private data
Thu Dec 18 00:57:18 2003  Kristian Rietveld  <kris@gtk.org>

	Migrating all cell renderers to use the new instance private data
	construction.

	* gtk/gtktreeprivate.h: remove GtkCellRendererInfo, as it is no
	longer being used.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init),
	(gtk_cell_renderer_class_init), (gtk_cell_renderer_get_property),
	(set_cell_bg_color), (gtk_cell_renderer_render): remove old
	GtkCellRendererInfo handling, migrate to instance private data.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
	(gtk_cell_renderer_text_start_editing): moved focus_out_id
	from GtkCellRendererInfo to text renderer private data.

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_init),
	(gtk_cell_renderer_pixbuf_class_init),
	(gtk_cell_renderer_pixbuf_finalize),
	(gtk_cell_renderer_pixbuf_get_property),
	(gtk_cell_renderer_pixbuf_set_property),
	(gtk_cell_renderer_pixbuf_create_stock_pixbuf),
	(gtk_cell_renderer_pixbuf_get_size), (gtk_cell_renderer_pixbuf_render):
	migrate to instance private data.

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
	(gtk_cell_renderer_toggle_get_property),
	(gtk_cell_renderer_toggle_set_property),
	(gtk_cell_renderer_toggle_render): migrate to instance private data.
2003-12-18 00:06:43 +00:00
Kristian Rietveld
62a15f2ae1 add a single-paragraph-mode property, use private instance data. (Fixes
Thu Dec 18 00:24:32 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init),
	(gtk_cell_renderer_text_get_property),
	(gtk_cell_renderer_text_set_property), (get_layout): add a
	single-paragraph-mode property, use private instance data.
	(Fixes #114943, reported by Morten Welinder).
2003-12-17 23:30:36 +00:00