[gtk+] GtkTextCellAccessible: add a private struct
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkTextCellAccessible: add a private struct
- Date: Mon, 15 Oct 2012 10:41:06 +0000 (UTC)
commit d13b70f779e1454d2ff9236ad5348184e03cd42f
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Oct 14 21:21:34 2012 -0400
GtkTextCellAccessible: add a private struct
Move instance fields to a private struct, in preparation
for installing a11y headers.
gtk/a11y/gtktextcellaccessible.c | 69 +++++++++++++++++++++-----------------
gtk/a11y/gtktextcellaccessible.h | 10 +++---
2 files changed, 43 insertions(+), 36 deletions(-)
---
diff --git a/gtk/a11y/gtktextcellaccessible.c b/gtk/a11y/gtktextcellaccessible.c
index 25031c9..ce5777a 100644
--- a/gtk/a11y/gtktextcellaccessible.c
+++ b/gtk/a11y/gtktextcellaccessible.c
@@ -23,6 +23,13 @@
#include "gtkcontainercellaccessible.h"
#include "gtkcellaccessibleparent.h"
+struct _GtkTextCellAccessiblePrivate
+{
+ gchar *cell_text;
+ gint caret_pos;
+ gint cell_length;
+};
+
static const gchar* gtk_text_cell_accessible_get_name (AtkObject *atk_obj);
@@ -102,7 +109,7 @@ gtk_text_cell_accessible_finalize (GObject *object)
{
GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (object);
- g_free (text_cell->cell_text);
+ g_free (text_cell->priv->cell_text);
G_OBJECT_CLASS (_gtk_text_cell_accessible_parent_class)->finalize (object);
}
@@ -115,7 +122,7 @@ gtk_text_cell_accessible_get_name (AtkObject *atk_obj)
if (atk_obj->name)
return atk_obj->name;
- return text_cell->cell_text;
+ return text_cell->priv->cell_text;
}
static void
@@ -129,19 +136,17 @@ gtk_text_cell_accessible_update_cache (GtkCellAccessible *cell)
GtkCellRenderer *renderer;
g_object_get (cell, "renderer", &renderer, NULL);
- g_object_get (renderer,
- "text", &text,
- NULL);
+ g_object_get (renderer, "text", &text, NULL);
g_object_unref (renderer);
- if (text_cell->cell_text)
+ if (text_cell->priv->cell_text)
{
- if (text == NULL || g_strcmp0 (text_cell->cell_text, text) != 0)
+ if (text == NULL || g_strcmp0 (text_cell->priv->cell_text, text) != 0)
{
- g_free (text_cell->cell_text);
- temp_length = text_cell->cell_length;
- text_cell->cell_text = NULL;
- text_cell->cell_length = 0;
+ g_free (text_cell->priv->cell_text);
+ temp_length = text_cell->priv->cell_length;
+ text_cell->priv->cell_text = NULL;
+ text_cell->priv->cell_length = 0;
g_signal_emit_by_name (cell, "text-changed::delete", 0, temp_length);
if (obj->name == NULL)
g_object_notify (G_OBJECT (obj), "accessible-name");
@@ -156,13 +161,13 @@ gtk_text_cell_accessible_update_cache (GtkCellAccessible *cell)
{
if (text == NULL)
{
- text_cell->cell_text = g_strdup ("");
- text_cell->cell_length = 0;
+ text_cell->priv->cell_text = g_strdup ("");
+ text_cell->priv->cell_length = 0;
}
else
{
- text_cell->cell_text = g_strdup (text);
- text_cell->cell_length = g_utf8_strlen (text, -1);
+ text_cell->priv->cell_text = g_strdup (text);
+ text_cell->priv->cell_length = g_utf8_strlen (text, -1);
}
}
@@ -171,7 +176,7 @@ gtk_text_cell_accessible_update_cache (GtkCellAccessible *cell)
if (rv)
{
g_signal_emit_by_name (cell, "text-changed::insert",
- 0, text_cell->cell_length);
+ 0, text_cell->priv->cell_length);
if (obj->name == NULL)
g_object_notify (G_OBJECT (obj), "accessible-name");
@@ -191,14 +196,16 @@ _gtk_text_cell_accessible_class_init (GtkTextCellAccessibleClass *klass)
atk_object_class->ref_state_set = gtk_text_cell_accessible_ref_state_set;
gobject_class->finalize = gtk_text_cell_accessible_finalize;
+
+ g_type_class_add_private (klass, sizeof (GtkTextCellAccessiblePrivate));
}
static void
_gtk_text_cell_accessible_init (GtkTextCellAccessible *text_cell)
{
- text_cell->cell_text = NULL;
- text_cell->caret_pos = 0;
- text_cell->cell_length = 0;
+ text_cell->priv = G_TYPE_INSTANCE_GET_PRIVATE (text_cell,
+ GTK_TYPE_TEXT_CELL_ACCESSIBLE,
+ GtkTextCellAccessiblePrivate);
}
static gchar *
@@ -208,7 +215,7 @@ gtk_text_cell_accessible_get_text (AtkText *atk_text,
{
gchar *text;
- text = GTK_TEXT_CELL_ACCESSIBLE (atk_text)->cell_text;
+ text = GTK_TEXT_CELL_ACCESSIBLE (atk_text)->priv->cell_text;
if (text)
return g_utf8_substring (text, start_pos, end_pos > -1 ? end_pos : g_utf8_strlen (text, -1));
else
@@ -269,8 +276,8 @@ gtk_text_cell_accessible_get_text_after_offset (AtkText *atk_text,
static gint
gtk_text_cell_accessible_get_character_count (AtkText *text)
{
- if (GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text != NULL)
- return GTK_TEXT_CELL_ACCESSIBLE (text)->cell_length;
+ if (GTK_TEXT_CELL_ACCESSIBLE (text)->priv->cell_text != NULL)
+ return GTK_TEXT_CELL_ACCESSIBLE (text)->priv->cell_length;
else
return 0;
}
@@ -278,7 +285,7 @@ gtk_text_cell_accessible_get_character_count (AtkText *text)
static gint
gtk_text_cell_accessible_get_caret_offset (AtkText *text)
{
- return GTK_TEXT_CELL_ACCESSIBLE (text)->caret_pos;
+ return GTK_TEXT_CELL_ACCESSIBLE (text)->priv->caret_pos;
}
static gboolean
@@ -287,16 +294,16 @@ gtk_text_cell_accessible_set_caret_offset (AtkText *text,
{
GtkTextCellAccessible *text_cell = GTK_TEXT_CELL_ACCESSIBLE (text);
- if (text_cell->cell_text == NULL)
+ if (text_cell->priv->cell_text == NULL)
return FALSE;
else
{
/* Only set the caret within the bounds and if it is to a new position. */
if (offset >= 0 &&
- offset <= text_cell->cell_length &&
- offset != text_cell->caret_pos)
+ offset <= text_cell->priv->cell_length &&
+ offset != text_cell->priv->caret_pos)
{
- text_cell->caret_pos = offset;
+ text_cell->priv->caret_pos = offset;
/* emit the signal */
g_signal_emit_by_name (text, "text-caret-moved", offset);
@@ -532,12 +539,12 @@ gtk_text_cell_accessible_get_character_extents (AtkText *text,
gint xpad, ypad;
gint x_window, y_window, x_toplevel, y_toplevel;
- if (!GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text)
+ if (!GTK_TEXT_CELL_ACCESSIBLE (text)->priv->cell_text)
{
*x = *y = *height = *width = 0;
return;
}
- if (offset < 0 || offset >= GTK_TEXT_CELL_ACCESSIBLE (text)->cell_length)
+ if (offset < 0 || offset >= GTK_TEXT_CELL_ACCESSIBLE (text)->priv->cell_length)
{
*x = *y = *height = *width = 0;
return;
@@ -624,7 +631,7 @@ gtk_text_cell_accessible_get_offset_at_point (AtkText *text,
gint x_temp, y_temp;
gboolean ret;
- if (!GTK_TEXT_CELL_ACCESSIBLE (text)->cell_text)
+ if (!GTK_TEXT_CELL_ACCESSIBLE (text)->priv->cell_text)
return -1;
gail_renderer = GTK_RENDERER_CELL_ACCESSIBLE (text);
@@ -724,7 +731,7 @@ gtk_text_cell_accessible_get_character_at_offset (AtkText *text,
gchar *index;
gchar *string;
- string = GTK_TEXT_CELL_ACCESSIBLE(text)->cell_text;
+ string = GTK_TEXT_CELL_ACCESSIBLE(text)->priv->cell_text;
if (!string)
return '\0';
diff --git a/gtk/a11y/gtktextcellaccessible.h b/gtk/a11y/gtktextcellaccessible.h
index 95d5b19..92f8b1b 100644
--- a/gtk/a11y/gtktextcellaccessible.h
+++ b/gtk/a11y/gtktextcellaccessible.h
@@ -30,15 +30,15 @@ G_BEGIN_DECLS
#define GTK_IS_TEXT_CELL_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_CELL_ACCESSIBLE))
#define GTK_TEXT_CELL_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_CELL_ACCESSIBLE, GtkTextCellAccessibleClass))
-typedef struct _GtkTextCellAccessible GtkTextCellAccessible;
-typedef struct _GtkTextCellAccessibleClass GtkTextCellAccessibleClass;
+typedef struct _GtkTextCellAccessible GtkTextCellAccessible;
+typedef struct _GtkTextCellAccessibleClass GtkTextCellAccessibleClass;
+typedef struct _GtkTextCellAccessiblePrivate GtkTextCellAccessiblePrivate;
struct _GtkTextCellAccessible
{
GtkRendererCellAccessible parent;
- gchar *cell_text;
- gint caret_pos;
- gint cell_length;
+
+ GtkTextCellAccessiblePrivate *priv;
};
struct _GtkTextCellAccessibleClass
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]