[gtk+/refactor: 61/106] GtkImageMenuItem: move public members to private structure
- From: Javier Jardón <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/refactor: 61/106] GtkImageMenuItem: move public members to private structure
- Date: Tue, 13 Jul 2010 17:35:07 +0000 (UTC)
commit c9b7066e145ec62a72cd8fe8bc5ef7af362da929
Author: Javier Jardón <jjardon gnome org>
Date: Thu Jun 24 00:53:00 2010 +0200
GtkImageMenuItem: move public members to private structure
gtk/gtkimcontextsimple.c | 237 ++++++++++++++++++++++++++--------------------
gtk/gtkimcontextsimple.h | 11 +--
2 files changed, 136 insertions(+), 112 deletions(-)
---
diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c
index f45efcc..7a17340 100644
--- a/gtk/gtkimcontextsimple.c
+++ b/gtk/gtkimcontextsimple.c
@@ -33,6 +33,18 @@
typedef struct _GtkComposeTable GtkComposeTable;
typedef struct _GtkComposeTableCompact GtkComposeTableCompact;
+struct _GtkIMContextSimplePriv
+{
+ GSList *tables;
+
+ guint compose_buffer[GTK_MAX_COMPOSE_LEN + 1];
+ gunichar tentative_match;
+ gint tentative_match_len;
+
+ guint in_hex_sequence : 1;
+ guint modifiers_dropped : 1;
+};
+
struct _GtkComposeTable
{
const guint16 *data;
@@ -106,24 +118,30 @@ gtk_im_context_simple_class_init (GtkIMContextSimpleClass *class)
im_context_class->reset = gtk_im_context_simple_reset;
im_context_class->get_preedit_string = gtk_im_context_simple_get_preedit_string;
gobject_class->finalize = gtk_im_context_simple_finalize;
+
+ g_type_class_add_private (class, sizeof (GtkIMContextSimplePriv));
}
static void
gtk_im_context_simple_init (GtkIMContextSimple *im_context_simple)
-{
+{
+ im_context_simple->priv = G_TYPE_INSTANCE_GET_PRIVATE (im_context_simple,
+ GTK_TYPE_IM_CONTEXT_SIMPLE,
+ GtkIMContextSimplePriv);
}
static void
gtk_im_context_simple_finalize (GObject *obj)
{
GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (obj);
+ GtkIMContextSimplePriv *priv = context_simple->priv;
- if (context_simple->tables)
+ if (priv->tables)
{
- g_slist_foreach (context_simple->tables, (GFunc)g_free, NULL);
- g_slist_free (context_simple->tables);
+ g_slist_foreach (priv->tables, (GFunc)g_free, NULL);
+ g_slist_free (priv->tables);
- context_simple->tables = NULL;
+ priv->tables = NULL;
}
G_OBJECT_CLASS (gtk_im_context_simple_parent_class)->finalize (obj);
@@ -146,21 +164,21 @@ static void
gtk_im_context_simple_commit_char (GtkIMContext *context,
gunichar ch)
{
+ GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
+ GtkIMContextSimplePriv *priv = context_simple->priv;
gchar buf[10];
gint len;
- GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
-
g_return_if_fail (g_unichar_validate (ch));
-
+
len = g_unichar_to_utf8 (ch, buf);
buf[len] = '\0';
- if (context_simple->tentative_match || context_simple->in_hex_sequence)
+ if (priv->tentative_match || priv->in_hex_sequence)
{
- context_simple->in_hex_sequence = FALSE;
- context_simple->tentative_match = 0;
- context_simple->tentative_match_len = 0;
+ priv->in_hex_sequence = FALSE;
+ priv->tentative_match = 0;
+ priv->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit-changed");
g_signal_emit_by_name (context_simple, "preedit-end");
}
@@ -207,6 +225,7 @@ check_table (GtkIMContextSimple *context_simple,
const GtkComposeTable *table,
gint n_compose)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
gint row_stride = table->max_seq_len + 2;
guint16 *seq;
@@ -216,7 +235,7 @@ check_table (GtkIMContextSimple *context_simple,
if (n_compose > table->max_seq_len)
return FALSE;
- seq = bsearch (context_simple->compose_buffer,
+ seq = bsearch (priv->compose_buffer,
table->data, table->n_seqs,
sizeof (guint16) * row_stride,
compare_seq);
@@ -231,7 +250,7 @@ check_table (GtkIMContextSimple *context_simple,
while (seq > table->data)
{
prev_seq = seq - row_stride;
- if (compare_seq (context_simple->compose_buffer, prev_seq) != 0)
+ if (compare_seq (priv->compose_buffer, prev_seq) != 0)
break;
seq = prev_seq;
}
@@ -250,10 +269,10 @@ check_table (GtkIMContextSimple *context_simple,
next_seq = seq + row_stride;
if (next_seq < table->data + row_stride * table->n_seqs)
{
- if (compare_seq (context_simple->compose_buffer, next_seq) == 0)
+ if (compare_seq (priv->compose_buffer, next_seq) == 0)
{
- context_simple->tentative_match = value;
- context_simple->tentative_match_len = n_compose;
+ priv->tentative_match = value;
+ priv->tentative_match_len = n_compose;
g_signal_emit_by_name (context_simple, "preedit-changed");
@@ -262,7 +281,7 @@ check_table (GtkIMContextSimple *context_simple,
}
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
}
return TRUE;
@@ -294,12 +313,13 @@ static gboolean
check_win32_special_cases (GtkIMContextSimple *context_simple,
gint n_compose)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
if (n_compose == 2 &&
- context_simple->compose_buffer[1] == GDK_space)
+ priv->compose_buffer[1] == GDK_space)
{
gunichar value = 0;
- switch (context_simple->compose_buffer[0])
+ switch (priv->compose_buffer[0])
{
case GDK_dead_acute:
value = 0x00B4; break;
@@ -309,7 +329,7 @@ check_win32_special_cases (GtkIMContextSimple *context_simple,
if (value > 0)
{
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
GTK_NOTE (MISC, g_print ("win32: U+%04X\n", value));
return TRUE;
@@ -323,12 +343,14 @@ check_win32_special_case_after_compact_match (GtkIMContextSimple *context_sim
gint n_compose,
guint value)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
+
/* On Windows user expectation is that typing two dead accents will input
* two corresponding spacing accents.
*/
if (n_compose == 2 &&
- context_simple->compose_buffer[0] == context_simple->compose_buffer[1] &&
- IS_DEAD_KEY (context_simple->compose_buffer[0]))
+ priv->compose_buffer[0] == priv->compose_buffer[1] &&
+ IS_DEAD_KEY (priv->compose_buffer[0]))
{
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
GTK_NOTE (MISC, g_print ("win32: U+%04X ", value));
@@ -342,6 +364,7 @@ check_compact_table (GtkIMContextSimple *context_simple,
const GtkComposeTableCompact *table,
gint n_compose)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
gint row_stride;
guint16 *seq_index;
guint16 *seq;
@@ -352,8 +375,8 @@ check_compact_table (GtkIMContextSimple *context_simple,
* will overrun val if key is longer than val. */
if (n_compose > table->max_seq_len)
return FALSE;
-
- seq_index = bsearch (context_simple->compose_buffer,
+
+ seq_index = bsearch (priv->compose_buffer,
table->data, table->n_index_size,
sizeof (guint16) * table->n_index_stride,
compare_seq_index);
@@ -379,7 +402,7 @@ check_compact_table (GtkIMContextSimple *context_simple,
if (seq_index[i+1] - seq_index[i] > 0)
{
- seq = bsearch (context_simple->compose_buffer + 1,
+ seq = bsearch (priv->compose_buffer + 1,
table->data + seq_index[i], (seq_index[i+1] - seq_index[i]) / row_stride,
sizeof (guint16) * row_stride,
compare_seq);
@@ -414,7 +437,7 @@ check_compact_table (GtkIMContextSimple *context_simple,
#ifdef G_OS_WIN32
check_win32_special_case_after_compact_match (context_simple, n_compose, value);
#endif
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
GTK_NOTE (MISC, g_print ("U+%04X\n", value));
return TRUE;
@@ -496,6 +519,7 @@ check_algorithmically (GtkIMContextSimple *context_simple,
gint n_compose)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
gint i;
gunichar combination_buffer[GTK_MAX_COMPOSE_LEN];
gchar *combination_utf8, *nfc;
@@ -503,19 +527,19 @@ check_algorithmically (GtkIMContextSimple *context_simple,
if (n_compose >= GTK_MAX_COMPOSE_LEN)
return FALSE;
- for (i = 0; i < n_compose && IS_DEAD_KEY (context_simple->compose_buffer[i]); i++)
+ for (i = 0; i < n_compose && IS_DEAD_KEY (priv->compose_buffer[i]); i++)
;
if (i == n_compose)
return TRUE;
if (i > 0 && i == n_compose - 1)
{
- combination_buffer[0] = gdk_keyval_to_unicode (context_simple->compose_buffer[i]);
+ combination_buffer[0] = gdk_keyval_to_unicode (priv->compose_buffer[i]);
combination_buffer[n_compose] = 0;
i--;
while (i >= 0)
{
- switch (context_simple->compose_buffer[i])
+ switch (priv->compose_buffer[i])
{
#define CASE(keysym, unicode) \
case GDK_dead_##keysym: combination_buffer[i+1] = unicode; break
@@ -552,7 +576,7 @@ check_algorithmically (GtkIMContextSimple *context_simple,
/* CASE (psili, 0x343); */
#undef CASE
default:
- combination_buffer[i+1] = gdk_keyval_to_unicode (context_simple->compose_buffer[i]);
+ combination_buffer[i+1] = gdk_keyval_to_unicode (priv->compose_buffer[i]);
}
i--;
}
@@ -569,7 +593,7 @@ check_algorithmically (GtkIMContextSimple *context_simple,
value = g_utf8_get_char (nfc);
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
g_free (combination_utf8);
g_free (nfc);
@@ -602,6 +626,7 @@ static gboolean
check_hex (GtkIMContextSimple *context_simple,
gint n_compose)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
/* See if this is a hex sequence, return TRUE if so */
gint i;
GString *str;
@@ -609,8 +634,8 @@ check_hex (GtkIMContextSimple *context_simple,
gchar *nptr = NULL;
gchar buf[7];
- context_simple->tentative_match = 0;
- context_simple->tentative_match_len = 0;
+ priv->tentative_match = 0;
+ priv->tentative_match_len = 0;
str = g_string_new (NULL);
@@ -619,7 +644,7 @@ check_hex (GtkIMContextSimple *context_simple,
{
gunichar ch;
- ch = gdk_keyval_to_unicode (context_simple->compose_buffer[i]);
+ ch = gdk_keyval_to_unicode (priv->compose_buffer[i]);
if (ch == 0)
return FALSE;
@@ -649,8 +674,8 @@ check_hex (GtkIMContextSimple *context_simple,
if (g_unichar_validate (n))
{
- context_simple->tentative_match = n;
- context_simple->tentative_match_len = n_compose;
+ priv->tentative_match = n;
+ priv->tentative_match_len = n_compose;
}
return TRUE;
@@ -686,6 +711,7 @@ no_sequence_matches (GtkIMContextSimple *context_simple,
gint n_compose,
GdkEventKey *event)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
GtkIMContext *context;
gunichar ch;
@@ -694,18 +720,18 @@ no_sequence_matches (GtkIMContextSimple *context_simple,
/* No compose sequences found, check first if we have a partial
* match pending.
*/
- if (context_simple->tentative_match)
+ if (priv->tentative_match)
{
- gint len = context_simple->tentative_match_len;
+ gint len = priv->tentative_match_len;
int i;
- gtk_im_context_simple_commit_char (context, context_simple->tentative_match);
- context_simple->compose_buffer[0] = 0;
+ gtk_im_context_simple_commit_char (context, priv->tentative_match);
+ priv->compose_buffer[0] = 0;
for (i=0; i < n_compose - len - 1; i++)
{
GdkEvent *tmp_event = gdk_event_copy ((GdkEvent *)event);
- tmp_event->key.keyval = context_simple->compose_buffer[len + i];
+ tmp_event->key.keyval = priv->compose_buffer[len + i];
gtk_im_context_filter_keypress (context, (GdkEventKey *)tmp_event);
gdk_event_free (tmp_event);
@@ -715,7 +741,7 @@ no_sequence_matches (GtkIMContextSimple *context_simple,
}
else
{
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
if (n_compose > 1) /* Invalid sequence */
{
beep_window (event->window);
@@ -790,6 +816,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
GdkEventKey *event)
{
GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
+ GtkIMContextSimplePriv *priv = context_simple->priv;
GSList *tmp_list;
int n_compose = 0;
gboolean have_hex_mods;
@@ -800,34 +827,34 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
guint hex_keyval;
int i;
- while (context_simple->compose_buffer[n_compose] != 0)
+ while (priv->compose_buffer[n_compose] != 0)
n_compose++;
if (event->type == GDK_KEY_RELEASE)
{
- if (context_simple->in_hex_sequence &&
+ if (priv->in_hex_sequence &&
(event->keyval == GDK_Control_L || event->keyval == GDK_Control_R ||
event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R))
{
- if (context_simple->tentative_match &&
- g_unichar_validate (context_simple->tentative_match))
+ if (priv->tentative_match &&
+ g_unichar_validate (priv->tentative_match))
{
- gtk_im_context_simple_commit_char (context, context_simple->tentative_match);
- context_simple->compose_buffer[0] = 0;
+ gtk_im_context_simple_commit_char (context, priv->tentative_match);
+ priv->compose_buffer[0] = 0;
}
else if (n_compose == 0)
{
- context_simple->modifiers_dropped = TRUE;
+ priv->modifiers_dropped = TRUE;
}
else
{
/* invalid hex sequence */
beep_window (event->window);
- context_simple->tentative_match = 0;
- context_simple->in_hex_sequence = FALSE;
- context_simple->compose_buffer[0] = 0;
+ priv->tentative_match = 0;
+ priv->in_hex_sequence = FALSE;
+ priv->compose_buffer[0] = 0;
g_signal_emit_by_name (context_simple, "preedit-changed");
g_signal_emit_by_name (context_simple, "preedit-end");
@@ -844,7 +871,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
if (event->keyval == gtk_compose_ignore[i])
return FALSE;
- if (context_simple->in_hex_sequence && context_simple->modifiers_dropped)
+ if (priv->in_hex_sequence && priv->modifiers_dropped)
have_hex_mods = TRUE;
else
have_hex_mods = (event->state & (HEX_MOD_MASK)) == HEX_MOD_MASK;
@@ -866,13 +893,13 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
* ISO_Level3_Switch.
*/
if (!have_hex_mods ||
- (n_compose > 0 && !context_simple->in_hex_sequence) ||
- (n_compose == 0 && !context_simple->in_hex_sequence && !is_hex_start) ||
- (context_simple->in_hex_sequence && !hex_keyval &&
+ (n_compose > 0 && !priv->in_hex_sequence) ||
+ (n_compose == 0 && !priv->in_hex_sequence && !is_hex_start) ||
+ (priv->in_hex_sequence && !hex_keyval &&
!is_hex_start && !is_hex_end && !is_escape && !is_backspace))
{
if (event->state & (GDK_MOD1_MASK | GDK_CONTROL_MASK) ||
- (context_simple->in_hex_sequence && context_simple->modifiers_dropped &&
+ (priv->in_hex_sequence && priv->modifiers_dropped &&
(event->keyval == GDK_Return ||
event->keyval == GDK_ISO_Enter ||
event->keyval == GDK_KP_Enter)))
@@ -882,35 +909,35 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
}
/* Handle backspace */
- if (context_simple->in_hex_sequence && have_hex_mods && is_backspace)
+ if (priv->in_hex_sequence && have_hex_mods && is_backspace)
{
if (n_compose > 0)
{
n_compose--;
- context_simple->compose_buffer[n_compose] = 0;
+ priv->compose_buffer[n_compose] = 0;
check_hex (context_simple, n_compose);
}
else
{
- context_simple->in_hex_sequence = FALSE;
+ priv->in_hex_sequence = FALSE;
}
g_signal_emit_by_name (context_simple, "preedit-changed");
- if (!context_simple->in_hex_sequence)
+ if (!priv->in_hex_sequence)
g_signal_emit_by_name (context_simple, "preedit-end");
return TRUE;
}
/* Check for hex sequence restart */
- if (context_simple->in_hex_sequence && have_hex_mods && is_hex_start)
+ if (priv->in_hex_sequence && have_hex_mods && is_hex_start)
{
- if (context_simple->tentative_match &&
- g_unichar_validate (context_simple->tentative_match))
+ if (priv->tentative_match &&
+ g_unichar_validate (priv->tentative_match))
{
- gtk_im_context_simple_commit_char (context, context_simple->tentative_match);
- context_simple->compose_buffer[0] = 0;
+ gtk_im_context_simple_commit_char (context, priv->tentative_match);
+ priv->compose_buffer[0] = 0;
}
else
{
@@ -918,19 +945,19 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
if (n_compose > 0)
beep_window (event->window);
- context_simple->tentative_match = 0;
- context_simple->in_hex_sequence = FALSE;
- context_simple->compose_buffer[0] = 0;
+ priv->tentative_match = 0;
+ priv->in_hex_sequence = FALSE;
+ priv->compose_buffer[0] = 0;
}
}
/* Check for hex sequence start */
- if (!context_simple->in_hex_sequence && have_hex_mods && is_hex_start)
+ if (!priv->in_hex_sequence && have_hex_mods && is_hex_start)
{
- context_simple->compose_buffer[0] = 0;
- context_simple->in_hex_sequence = TRUE;
- context_simple->modifiers_dropped = FALSE;
- context_simple->tentative_match = 0;
+ priv->compose_buffer[0] = 0;
+ priv->in_hex_sequence = TRUE;
+ priv->modifiers_dropped = FALSE;
+ priv->tentative_match = 0;
g_signal_emit_by_name (context_simple, "preedit-start");
g_signal_emit_by_name (context_simple, "preedit-changed");
@@ -939,10 +966,10 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
}
/* Then, check for compose sequences */
- if (context_simple->in_hex_sequence)
+ if (priv->in_hex_sequence)
{
if (hex_keyval)
- context_simple->compose_buffer[n_compose++] = hex_keyval;
+ priv->compose_buffer[n_compose++] = hex_keyval;
else if (is_escape)
{
gtk_im_context_simple_reset (context);
@@ -958,11 +985,11 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
}
}
else
- context_simple->compose_buffer[n_compose++] = event->keyval;
+ priv->compose_buffer[n_compose++] = event->keyval;
- context_simple->compose_buffer[n_compose] = 0;
+ priv->compose_buffer[n_compose] = 0;
- if (context_simple->in_hex_sequence)
+ if (priv->in_hex_sequence)
{
/* If the modifiers are still held down, consider the sequence again */
if (have_hex_mods)
@@ -970,20 +997,20 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
/* space or return ends the sequence, and we eat the key */
if (n_compose > 0 && is_hex_end)
{
- if (context_simple->tentative_match &&
- g_unichar_validate (context_simple->tentative_match))
+ if (priv->tentative_match &&
+ g_unichar_validate (priv->tentative_match))
{
- gtk_im_context_simple_commit_char (context, context_simple->tentative_match);
- context_simple->compose_buffer[0] = 0;
+ gtk_im_context_simple_commit_char (context, priv->tentative_match);
+ priv->compose_buffer[0] = 0;
}
else
{
/* invalid hex sequence */
beep_window (event->window);
- context_simple->tentative_match = 0;
- context_simple->in_hex_sequence = FALSE;
- context_simple->compose_buffer[0] = 0;
+ priv->tentative_match = 0;
+ priv->in_hex_sequence = FALSE;
+ priv->compose_buffer[0] = 0;
}
}
else if (!check_hex (context_simple, n_compose))
@@ -991,7 +1018,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
g_signal_emit_by_name (context_simple, "preedit-changed");
- if (!context_simple->in_hex_sequence)
+ if (!priv->in_hex_sequence)
g_signal_emit_by_name (context_simple, "preedit-end");
return TRUE;
@@ -999,7 +1026,7 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
}
else
{
- tmp_list = context_simple->tables;
+ tmp_list = priv->tables;
while (tmp_list)
{
if (check_table (context_simple, tmp_list->data, n_compose))
@@ -1011,12 +1038,12 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context,
g_print ("[ ");
for (i = 0; i < n_compose; i++)
{
- const gchar *keyval_name = gdk_keyval_name (context_simple->compose_buffer[i]);
+ const gchar *keyval_name = gdk_keyval_name (priv->compose_buffer[i]);
if (keyval_name != NULL)
g_print ("%s ", keyval_name);
else
- g_print ("%04x ", context_simple->compose_buffer[i]);
+ g_print ("%04x ", priv->compose_buffer[i]);
}
g_print ("] ");
});
@@ -1041,14 +1068,15 @@ static void
gtk_im_context_simple_reset (GtkIMContext *context)
{
GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
+ GtkIMContextSimplePriv *priv = context_simple->priv;
- context_simple->compose_buffer[0] = 0;
+ priv->compose_buffer[0] = 0;
- if (context_simple->tentative_match || context_simple->in_hex_sequence)
+ if (priv->tentative_match || priv->in_hex_sequence)
{
- context_simple->in_hex_sequence = FALSE;
- context_simple->tentative_match = 0;
- context_simple->tentative_match_len = 0;
+ priv->in_hex_sequence = FALSE;
+ priv->tentative_match = 0;
+ priv->tentative_match_len = 0;
g_signal_emit_by_name (context_simple, "preedit-changed");
g_signal_emit_by_name (context_simple, "preedit-end");
}
@@ -1060,29 +1088,29 @@ gtk_im_context_simple_get_preedit_string (GtkIMContext *context,
PangoAttrList **attrs,
gint *cursor_pos)
{
+ GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
+ GtkIMContextSimplePriv *priv = context_simple->priv;
char outbuf[37]; /* up to 6 hex digits */
int len = 0;
-
- GtkIMContextSimple *context_simple = GTK_IM_CONTEXT_SIMPLE (context);
- if (context_simple->in_hex_sequence)
+ if (priv->in_hex_sequence)
{
int hexchars = 0;
outbuf[0] = 'u';
len = 1;
- while (context_simple->compose_buffer[hexchars] != 0)
+ while (priv->compose_buffer[hexchars] != 0)
{
- len += g_unichar_to_utf8 (gdk_keyval_to_unicode (context_simple->compose_buffer[hexchars]),
+ len += g_unichar_to_utf8 (gdk_keyval_to_unicode (priv->compose_buffer[hexchars]),
outbuf + len);
++hexchars;
}
g_assert (len < 25);
}
- else if (context_simple->tentative_match)
- len = g_unichar_to_utf8 (context_simple->tentative_match, outbuf);
+ else if (priv->tentative_match)
+ len = g_unichar_to_utf8 (priv->tentative_match, outbuf);
outbuf[len] = '\0';
@@ -1130,6 +1158,7 @@ gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple,
gint max_seq_len,
gint n_seqs)
{
+ GtkIMContextSimplePriv *priv = context_simple->priv;
GtkComposeTable *table;
g_return_if_fail (GTK_IS_IM_CONTEXT_SIMPLE (context_simple));
@@ -1141,5 +1170,5 @@ gtk_im_context_simple_add_table (GtkIMContextSimple *context_simple,
table->max_seq_len = max_seq_len;
table->n_seqs = n_seqs;
- context_simple->tables = g_slist_prepend (context_simple->tables, table);
+ priv->tables = g_slist_prepend (priv->tables, table);
}
diff --git a/gtk/gtkimcontextsimple.h b/gtk/gtkimcontextsimple.h
index 8017c31..ee02e1b 100644
--- a/gtk/gtkimcontextsimple.h
+++ b/gtk/gtkimcontextsimple.h
@@ -39,6 +39,7 @@ G_BEGIN_DECLS
typedef struct _GtkIMContextSimple GtkIMContextSimple;
+typedef struct _GtkIMContextSimplePriv GtkIMContextSimplePriv;
typedef struct _GtkIMContextSimpleClass GtkIMContextSimpleClass;
#define GTK_MAX_COMPOSE_LEN 7
@@ -47,14 +48,8 @@ struct _GtkIMContextSimple
{
GtkIMContext object;
- GSList *GSEAL (tables);
-
- guint GSEAL (compose_buffer[GTK_MAX_COMPOSE_LEN + 1]);
- gunichar GSEAL (tentative_match);
- gint GSEAL (tentative_match_len);
-
- guint GSEAL (in_hex_sequence) : 1;
- guint GSEAL (modifiers_dropped) : 1;
+ /* <private> */
+ GtkIMContextSimplePriv *priv;
};
struct _GtkIMContextSimpleClass
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]