Commit Graph

545 Commits

Author SHA1 Message Date
8f1f743903 gtk: Use g_object_unref instead of gdk_cursor_unref 2010-12-21 12:07:05 -05:00
503be10148 label: plug a memory leak 2010-12-07 10:13:32 +01:00
4a7e746bbc Use the new style context API in GtkLabel. 2010-12-05 22:07:30 +01:00
90dd2eb42b GtkLabel: Use style context for rendering. 2010-12-04 15:39:40 +01:00
0b6c184eaa label: Clarify docs for gtk_label_get_layout() 2010-12-02 20:21:05 +01:00
8c674c5d84 gtklabel.c: Added hack for rint() 2010-11-10 10:21:08 +08:00
9f9edb662e settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538
2010-10-20 10:34:25 +01:00
dec47f062e label: Fix rendering of rotated labels
gtk_paint_layout is utterly broken. Someone needs to fix it so we use
the cairo_t's matrix and don't juggle with both Pango and cairo matrices
everywhere.
2010-09-27 20:49:39 +02:00
eac1959d2c Move destroy signal to GtkWidget
Also make GtkWidget derive from GInitiallyUnowned
2010-09-26 22:18:18 -04:00
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
67284a57de API: Get rid of gtk_draw_insertion_cursor()
and rename gtk_cairo_draw_insertion_cursor() to
gtk_draw_insertion_cursor().
2010-09-26 15:11:43 +02:00
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
4aefc82496 label: Port to draw vfunc 2010-09-26 15:11:36 +02:00
3d340d7449 text: Make _gtk_text_util_create_drag_icon() return a surface
And change its callers to handle it that way.
2010-09-26 15:03:00 +02:00
e0aa12eb0a Tons of transfer annotations 2010-09-21 00:18:11 -04:00
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
913cdf3be7 GDK: Prefix key names with KEY_
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.

For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.

Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
2010-09-08 18:51:44 -04:00
1e5d7c0225 Use GtkFooPrivate instead GtkFooPriv 2010-08-27 04:48:23 +02:00
991eaa7580 gtk/gtklabel.c: Use accessor functions to access GtkWindow 2010-08-23 20:18:55 +02:00
69b6dbdb08 gtk/gtklabel.c: use accessor functions to access GtkWidget 2010-08-22 22:56:10 +02:00
805e0d1082 label: Draw all text using PangoCairo
This includes the addition of a "small" helper function,
_gtk_pango_fill_layout() that ignores color information. This
functionality is not available inside Pango and until that happens, we
need this fix. The bug is filed at:

https://bugzilla.gnome.org/show_bug.cgi?id=624917
2010-08-10 21:02:28 +02:00
59e7571aae Fixed alignment of wrapping labels allocated a greater width than needed
When wrapping labels to allocation width, never set the label wrap
width to a size greater than needed for the label's text (closes bug 625715)
2010-08-06 22:44:11 -04:00
32d365f476 label: Make angle part of GtkLabelPrivate 2010-08-07 02:24:00 +02:00
978a031b76 Use accessor functions to access GtkMisc 2010-07-13 19:40:49 +02:00
bf9875860b GtkLabel: move public members to private structure 2010-07-13 19:40:48 +02:00
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
300e6b84cd s/GdkRegion/cairo_region_t/ in all of gtk
https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
3e96cfe8fc Deprecate the GdkRegion API
Includes fixing all callers to use the cairo region API instead. This is
usually just replacing the function names, the only difference is
gdk_region_get_rectangles() being replaced by
cairo_region_num_rectangles() and cairo_region_get_rectangle() which
required a bit more work.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
2010-06-29 16:06:38 +02:00
edd57602b8 Mass api change from GtkExtendedLayout --> GtkSizeRequest
This commit makes a few massive changes to the extended layout
code:
  a.) gtkextendedlayout.c --> gtksizerequest.c
  b.) _is_height_for_width --> get_request_mode()
  c.) get_desired_size(), get_desired_width(), get_desired_height() -->
      get_size(), get_width(), get_height()

This is the first partial commit and only effects portions
of the tree that have already been merged in master (in order to
easily cherry pick this commit).

Conflicts:

	gtk/Makefile.am
	gtk/gtk.h
	gtk/gtk.symbols
	gtk/gtkextendedlayout.h
2010-06-18 00:11:26 -04:00
bd4609b140 Merge the xi2-for-master branch 2010-05-25 18:38:44 -04:00
77d4d3cdae Merge branch 'gtk-2-90'
Conflicts:
	gtk/gtkentry.h
2010-05-06 22:55:02 -04:00
c1d36af3e8 Do not use C99 constant INFINITY
Use G_MAXDOUBLE instead
2010-05-03 22:47:21 +02:00
fead8cd49a Remove deprecated code: GtkLabel 2010-05-03 01:48:45 +02:00
db76c77b81 Merge branch 'native-layout-incubator'
Conflicts:
	configure.in
	docs/reference/gtk/tmpl/gtkaction.sgml
	docs/reference/gtk/tmpl/gtkbuilder.sgml
	gdk/directfb/gdkkeys-directfb.c
	gdk/gdk.symbols
	gdk/x11/gdkwindow-x11.c
	gtk/gtkalignment.c
	gtk/gtkbox.c
	gtk/gtkbutton.c
	gtk/gtkcelleditable.c
	gtk/gtkfilechooser.c
	gtk/gtkframe.c
	gtk/gtkinvisible.c
	gtk/gtklabel.c
	gtk/gtkscrolledwindow.c
	gtk/gtksearchenginetracker.c
	gtk/gtktextview.c
	gtk/gtktoolbutton.c
	gtk/gtktooltip.c
	gtk/gtkviewport.c
	gtk/gtkwidget.c
	gtk/gtkwindow.c
	po-properties/ca@valencia.po
	po-properties/es.po
	po-properties/kn.po
	po-properties/mr.po
	po/ca.po
	po/ca@valencia.po
	po/el.po
	po/es.po
	po/gl.po
	po/id.po
	po/kn.po
	po/lv.po
	po/mr.po
	po/th.po
2010-04-30 17:56:50 -04:00
3833ef5c35 Fix the build 2010-04-28 11:17:30 -04:00
c8dd9895e4 Add some documentation about width-chars and max-width-chars
Explain how these properties determine the width of ellipsized
and wrapped labels.
2010-04-28 00:48:15 -04:00
a0b61a5a72 Make testellipsize work for rotating non-ellipsized labels 2010-04-25 20:58:36 -04:00
bcbd7cce13 Don't add padding to a pointer 2010-04-25 16:45:21 -04:00
9306a73dfd Added documentation, implemented gtk_extended_layout_is_height_for_width() where needed. 2010-04-21 01:32:55 -04:00
680d7762ba Make sure not to base the minimum size on "max-width-chars", only the natural size. 2010-04-20 20:30:10 -04:00
dfd311497d Fixed GtkLabel to wrap correctly and report width-for-height correctly when vertical. 2010-04-20 18:54:50 -04:00
17883f3ce6 Fixed GtkLabel to include GtkMisc padding when calculating height-for-width. 2010-04-20 15:23:13 -04:00
80428e7745 Restore layout in get_desired_size() after guessing a wrap width
This fixes the label layout in cases where gtk_widget_size_request()
is called on a label without a following size_allocate(), for instance
when a button state changes.
2010-04-20 14:16:13 -04:00
b0fc43e958 Reduced natural request padding for rotating ellipsizing labels
After fixing height requests this works much smoother, although in
some places pango seems to ellipsize a rotated label when given
the width it requested.
2010-04-19 21:50:55 -04:00
de4a8f8ddc Unconditionally return the height for the minimum width when doing get_desired_height()
This is the correct support for the opposing orientation for widgets
that support height-for-width, in an interface that was realized as
width-for-height, a height-for-width supporting widget should return
the minimum height for the minimum width when the initial
get_desired_height() is run.
2010-04-19 20:43:19 -04:00
e9e3725ee7 Fixed testellipsize 2010-04-19 14:04:20 -04:00
3cbd9e9313 Further fixed base outputs of GtkLabel desired geometries.
Now (when wrapping), if no "width-chars" was specified for a minimum
width, default to the width guessed by gtk_label_ensure_layout(), small
specified widths will otherwise result in very large height requests.
2010-04-18 18:13:56 -04:00
e8a365ce36 Restore functionality where ellipsizing label *minimum* size grows to "max-char-width". 2010-04-17 23:06:24 -04:00
64e23c42bd Fixed GtkLabel reported minimum and natural sizes
This commit makes GtkLabel use "max-width-chars" to determine the
desired natural width for wrapping labels as well as all around refactoring
the initially reported values in get_desired_width/height. this also
addresses some issues with rotating ellipsizing text.
2010-04-17 22:54:29 -04:00
46fe9c3f00 Disabling natural sizes of labels.
Since GtkLabel is returning invalid natural sizes for now,
in order to test regressions well with the new width-for-height
api, I've temporarily disabled the natural values.
2010-04-17 01:49:35 -04:00