[gtk+/native-layout] Implement GtkExtendedCell on GtkCellRendererText
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/native-layout] Implement GtkExtendedCell on GtkCellRendererText
- Date: Tue, 6 Apr 2010 07:09:12 +0000 (UTC)
commit a17e12c87df192f3bc68247843dc3ef68a1ea532
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Tue Apr 6 03:05:52 2010 -0400
Implement GtkExtendedCell on GtkCellRendererText
gtk/gtkcellrenderertext.c | 71 ++++++++++++++++----------------------------
1 files changed, 26 insertions(+), 45 deletions(-)
---
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 37c5eb7..e4f1840 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include "gtkcellrenderertext.h"
#include "gtkeditable.h"
-#include "gtkextendedlayout.h"
+#include "gtkextendedcell.h"
#include "gtkentry.h"
#include "gtkmarshalers.h"
#include "gtkintl.h"
@@ -62,7 +62,7 @@ static GtkCellEditable *gtk_cell_renderer_text_start_editing (GtkCellRenderer
GdkRectangle *cell_area,
GtkCellRendererState flags);
-static void gtk_cell_renderer_text_extended_layout_init (GtkExtendedLayoutIface *iface);
+static void gtk_cell_renderer_text_extended_cell_init (GtkExtendedCellIface *iface);
enum {
EDITED,
@@ -151,12 +151,11 @@ struct _GtkCellRendererTextPrivate
gint wrap_width;
GtkWidget *entry;
- GtkWidget *owner;
};
G_DEFINE_TYPE_WITH_CODE (GtkCellRendererText, gtk_cell_renderer_text, GTK_TYPE_CELL_RENDERER,
- G_IMPLEMENT_INTERFACE (GTK_TYPE_EXTENDED_LAYOUT,
- gtk_cell_renderer_text_extended_layout_init))
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_EXTENDED_CELL,
+ gtk_cell_renderer_text_extended_cell_init))
static void
gtk_cell_renderer_text_init (GtkCellRendererText *celltext)
@@ -1500,7 +1499,6 @@ get_size (GtkCellRenderer *cell,
GtkCellRendererTextPrivate *priv;
priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
- priv->owner = widget;
if (celltext->calc_fixed_height)
{
@@ -1938,58 +1936,41 @@ gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer
}
static void
-gtk_cell_renderer_text_extended_layout_get_desired_size (GtkExtendedLayout *layout,
- GtkRequisition *minimal_size,
- GtkRequisition *desired_size)
+gtk_cell_renderer_text_extended_cell_get_desired_size (GtkExtendedCell *cell,
+ GtkWidget *widget,
+ GtkRequisition *minimal_size,
+ GtkRequisition *desired_size)
{
GtkCellRendererTextPrivate *priv;
- priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (layout);
+ priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
- if (priv->owner)
+ if (minimal_size)
{
-
- if (minimal_size)
- {
- get_size (GTK_CELL_RENDERER (layout),
- priv->owner, NULL, NULL, NULL, NULL,
- &minimal_size->width, &minimal_size->height);
- }
-
- if (desired_size)
- {
- PangoEllipsizeMode ellipsize;
-
- ellipsize = priv->ellipsize;
- priv->ellipsize = PANGO_ELLIPSIZE_NONE;
-
- get_size (GTK_CELL_RENDERER (layout),
- priv->owner, NULL, NULL, NULL, NULL,
- &desired_size->width, &desired_size->height);
-
- priv->ellipsize = ellipsize;
- }
+ get_size (GTK_CELL_RENDERER (cell),
+ widget, NULL, NULL, NULL, NULL,
+ &minimal_size->width, &minimal_size->height);
}
- else
+
+ if (desired_size)
{
- if (minimal_size)
- {
- minimal_size->height = 0;
- minimal_size->width = 0;
- }
+ PangoEllipsizeMode ellipsize;
- if (desired_size)
- {
- desired_size->height = 0;
- desired_size->width = 0;
- }
+ ellipsize = priv->ellipsize;
+ priv->ellipsize = PANGO_ELLIPSIZE_NONE;
+
+ get_size (GTK_CELL_RENDERER (cell),
+ widget, NULL, NULL, NULL, NULL,
+ &desired_size->width, &desired_size->height);
+
+ priv->ellipsize = ellipsize;
}
}
static void
-gtk_cell_renderer_text_extended_layout_init (GtkExtendedLayoutIface *iface)
+gtk_cell_renderer_text_extended_cell_init (GtkExtendedCellIface *iface)
{
- iface->get_desired_size = gtk_cell_renderer_text_extended_layout_get_desired_size;
+ iface->get_desired_size = gtk_cell_renderer_text_extended_cell_get_desired_size;
}
#define __GTK_CELL_RENDERER_TEXT_C__
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]