aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/text
diff options
context:
space:
mode:
authorHiroyuki Ikezoe <poincare@ikezoe.net>2007-07-28 05:14:15 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2007-07-28 05:14:15 +0800
commit6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f (patch)
tree64868338277e36a40c6b37106dfb8112fc278264 /widgets/text
parent08de5e9e147248b84bc1fa618f7cc9d892ddb136 (diff)
downloadgsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar.gz
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar.bz2
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar.lz
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar.xz
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.tar.zst
gsoc2013-evolution-6baf4d9bcc8fac7d3ac4442ffa54138f9670b20f.zip
Remove E_MAKE_TYPE macro.
2007-07-27 Hiroyuki Ikezoe <poincare@ikezoe.net> * e-util/e-util.h: Remove E_MAKE_TYPE macro. * e-util/e-bit-array.c: * e-util/e-sorter-array.c: * e-util/e-sorter.c: * e-util/e-text-event-processor-emacs-like.c: * e-util/e-text-event-processor.c: * widgets/menus/gal-define-views-dialog.c: * widgets/menus/gal-define-views-model.c: * widgets/menus/gal-view-collection.c: * widgets/menus/gal-view-etable.c: * widgets/menus/gal-view-factory-etable.c: * widgets/menus/gal-view-factory.c: * widgets/menus/gal-view-instance-save-as-dialog.c: * widgets/menus/gal-view-instance.c: * widgets/menus/gal-view-new-dialog.c: * widgets/menus/gal-view.c: * widgets/misc/e-canvas-background.c: * widgets/misc/e-canvas-vbox.c: * widgets/misc/e-canvas.c: * widgets/misc/e-printable.c: * widgets/misc/e-reflow-model.c: * widgets/misc/e-reflow.c: * widgets/misc/e-selection-model-array.c: * widgets/misc/e-selection-model-simple.c: * widgets/misc/e-selection-model.c: * widgets/table/e-cell-checkbox.c: * widgets/table/e-cell-combo.c: * widgets/table/e-cell-date.c: * widgets/table/e-cell-float.c: * widgets/table/e-cell-hbox.c: * widgets/table/e-cell-number.c: * widgets/table/e-cell-pixbuf.c: * widgets/table/e-cell-popup.c: * widgets/table/e-cell-progress.c: * widgets/table/e-cell-size.c: * widgets/table/e-cell-spin-button.c: * widgets/table/e-cell-text.c: * widgets/table/e-cell-toggle.c: * widgets/table/e-cell-tree.c: * widgets/table/e-cell-vbox.c: * widgets/table/e-cell.c: * widgets/table/e-table-click-to-add.c: * widgets/table/e-table-col.c: * widgets/table/e-table-column-specification.c: * widgets/table/e-table-column.c: * widgets/table/e-table-config-field.c: * widgets/table/e-table-config.c: * widgets/table/e-table-extras.c: * widgets/table/e-table-field-chooser-dialog.c: * widgets/table/e-table-field-chooser-item.c: * widgets/table/e-table-field-chooser.c: * widgets/table/e-table-group-container.c: * widgets/table/e-table-group-leaf.c: * widgets/table/e-table-group.c: * widgets/table/e-table-header-item.c: * widgets/table/e-table-header.c: * widgets/table/e-table-item.c: * widgets/table/e-table-memory-callbacks.c: * widgets/table/e-table-memory-store.c: * widgets/table/e-table-memory.c: * widgets/table/e-table-model.c: * widgets/table/e-table-one.c: * widgets/table/e-table-scrolled.c: * widgets/table/e-table-search.c: * widgets/table/e-table-selection-model.c: * widgets/table/e-table-simple.c: * widgets/table/e-table-sort-info.c: * widgets/table/e-table-sorted-variable.c: * widgets/table/e-table-sorted.c: * widgets/table/e-table-sorter.c: * widgets/table/e-table-specification.c: * widgets/table/e-table-state.c: * widgets/table/e-table-subset-variable.c: * widgets/table/e-table-subset.c: * widgets/table/e-table-without.c: * widgets/table/e-table.c: * widgets/table/e-tree-memory-callbacks.c: * widgets/table/e-tree-memory.c: * widgets/table/e-tree-model.c: * widgets/table/e-tree-scrolled.c: * widgets/table/e-tree-selection-model.c: * widgets/table/e-tree-simple.c: * widgets/table/e-tree-sorted-variable.c: * widgets/table/e-tree-sorted.c: * widgets/table/e-tree-table-adapter.c: * widgets/table/e-tree.c: * widgets/text/e-completion-callbacks.c: * widgets/text/e-completion-view.c: * widgets/text/e-completion.c: * widgets/text/e-entry.c: * widgets/text/e-table-text-model.c: * widgets/text/e-text-model-uri.c: * widgets/text/e-text-model.c: * widgets/text/e-text.c: Use G_DEFINE_TYPE instead of E_MAKE_TYPE. svn path=/trunk/; revision=33864
Diffstat (limited to 'widgets/text')
-rw-r--r--widgets/text/e-completion-callbacks.c14
-rw-r--r--widgets/text/e-completion-view.c20
-rw-r--r--widgets/text/e-completion.c18
-rw-r--r--widgets/text/e-entry.c27
-rw-r--r--widgets/text/e-table-text-model.c29
-rw-r--r--widgets/text/e-text-model-uri.c24
-rw-r--r--widgets/text/e-text-model.c27
-rw-r--r--widgets/text/e-text.c42
8 files changed, 44 insertions, 157 deletions
diff --git a/widgets/text/e-completion-callbacks.c b/widgets/text/e-completion-callbacks.c
index 229a28d760..f6412e95ac 100644
--- a/widgets/text/e-completion-callbacks.c
+++ b/widgets/text/e-completion-callbacks.c
@@ -38,25 +38,13 @@ static void e_completion_callbacks_init (ECompletionCallbacks *complete);
static void callbacks_request_completion (ECompletion *comp, const gchar *search_text, gint pos, gint limit);
static void callbacks_end_completion (ECompletion *comp);
-#define PARENT_TYPE E_COMPLETION_TYPE
-static ECompletionClass *parent_class;
-
-
-
-E_MAKE_TYPE (e_completion_callbacks,
- "ECompletionCallbacks",
- ECompletionCallbacks,
- e_completion_callbacks_class_init,
- e_completion_callbacks_init,
- PARENT_TYPE)
+G_DEFINE_TYPE (ECompletionCallbacks, e_completion_callbacks, E_COMPLETION_TYPE)
static void
e_completion_callbacks_class_init (ECompletionCallbacksClass *klass)
{
ECompletionClass *comp_class = (ECompletionClass *) klass;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
comp_class->request_completion = callbacks_request_completion;
comp_class->end_completion = callbacks_end_completion;
}
diff --git a/widgets/text/e-completion-view.c b/widgets/text/e-completion-view.c
index 0837160d6f..f08f2ecbc5 100644
--- a/widgets/text/e-completion-view.c
+++ b/widgets/text/e-completion-view.c
@@ -59,11 +59,6 @@ static void e_completion_view_class_init (ECompletionViewClass *klass);
static void e_completion_view_init (ECompletionView *completion);
static void e_completion_view_dispose (GObject *object);
-#define PARENT_TYPE GTK_TYPE_EVENT_BOX
-static GtkObjectClass *parent_class;
-
-
-
static gint
e_completion_view_local_key_press_handler (GtkWidget *w, GdkEventKey *ev)
{
@@ -199,21 +194,14 @@ e_completion_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
}
}
-E_MAKE_TYPE (e_completion_view,
- "ECompletionView",
- ECompletionView,
- e_completion_view_class_init,
- e_completion_view_init,
- PARENT_TYPE)
-
+G_DEFINE_TYPE (ECompletionView, e_completion_view, GTK_TYPE_EVENT_BOX)
+
static void
e_completion_view_class_init (ECompletionViewClass *klass)
{
GObjectClass *object_class = (GObjectClass *) klass;
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- parent_class = g_type_class_ref (PARENT_TYPE);
-
e_completion_view_signals[E_COMPLETION_VIEW_NONEMPTY] =
g_signal_new ("nonempty",
G_OBJECT_CLASS_TYPE (object_class),
@@ -309,8 +297,8 @@ e_completion_view_dispose (GObject *object)
g_object_unref (cv->completion);
cv->completion = NULL;
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_completion_view_parent_class)->dispose)
+ (G_OBJECT_CLASS (e_completion_view_parent_class)->dispose) (object);
}
static void
diff --git a/widgets/text/e-completion.c b/widgets/text/e-completion.c
index 7c45c8e0ec..1de9baf8da 100644
--- a/widgets/text/e-completion.c
+++ b/widgets/text/e-completion.c
@@ -64,25 +64,13 @@ static void e_completion_clear_matches (ECompletion *complete);
static gboolean e_completion_sort (ECompletion *complete);
#endif
-#define PARENT_TYPE GTK_TYPE_OBJECT
-static GtkObjectClass *parent_class;
-
-
-
-E_MAKE_TYPE (e_completion,
- "ECompletion",
- ECompletion,
- e_completion_class_init,
- e_completion_init,
- PARENT_TYPE)
+G_DEFINE_TYPE (ECompletion, e_completion, GTK_TYPE_OBJECT)
static void
e_completion_class_init (ECompletionClass *klass)
{
GObjectClass *object_class = (GObjectClass *) klass;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
e_completion_signals[COMPLETION_STARTED] =
g_signal_new ("completion_started",
G_OBJECT_CLASS_TYPE (object_class),
@@ -140,8 +128,8 @@ e_completion_dispose (GObject *object)
complete->priv = NULL;
}
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_completion_parent_class)->dispose)
+ (G_OBJECT_CLASS (e_completion_parent_class)->dispose) (object);
}
static void
diff --git a/widgets/text/e-entry.c b/widgets/text/e-entry.c
index 979048671f..589f3840dc 100644
--- a/widgets/text/e-entry.c
+++ b/widgets/text/e-entry.c
@@ -50,9 +50,7 @@
#define d(x)
-#define PARENT_TYPE gtk_table_get_type ()
-
-static GtkObjectClass *parent_class;
+G_DEFINE_TYPE (EEntry, e_entry, GTK_TYPE_TABLE)
enum {
E_ENTRY_CHANGED,
@@ -296,10 +294,9 @@ proxy_populate_popup (EText *text, GdkEventButton *ev, gint pos, GtkWidget *menu
}
static void
-e_entry_init (GtkObject *object)
+e_entry_init (EEntry *entry)
{
- EEntry *entry = E_ENTRY (object);
- GtkTable *gtk_table = GTK_TABLE (object);
+ GtkTable *gtk_table = GTK_TABLE (entry);
entry->priv = g_new0 (EEntryPrivate, 1);
@@ -1127,8 +1124,8 @@ e_entry_dispose (GObject *object)
entry->priv = NULL;
}
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_entry_parent_class)->dispose)
+ (* G_OBJECT_CLASS (e_entry_parent_class)->dispose) (object);
}
static void
@@ -1136,8 +1133,8 @@ e_entry_realize (GtkWidget *widget)
{
EEntry *entry;
- if (GTK_WIDGET_CLASS (parent_class)->realize)
- (* GTK_WIDGET_CLASS (parent_class)->realize) (widget);
+ if (GTK_WIDGET_CLASS (e_entry_parent_class)->realize)
+ (* GTK_WIDGET_CLASS (e_entry_parent_class)->realize) (widget);
entry = E_ENTRY (widget);
@@ -1150,12 +1147,10 @@ e_entry_realize (GtkWidget *widget)
}
static void
-e_entry_class_init (GObjectClass *object_class)
+e_entry_class_init (EEntryClass *klass)
{
- EEntryClass *klass = E_ENTRY_CLASS(object_class);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->set_property = et_set_property;
object_class->get_property = et_get_property;
@@ -1343,4 +1338,4 @@ e_entry_class_init (GObjectClass *object_class)
G_PARAM_READWRITE));
}
-E_MAKE_TYPE(e_entry, "EEntry", EEntry, e_entry_class_init, e_entry_init, PARENT_TYPE)
+
diff --git a/widgets/text/e-table-text-model.c b/widgets/text/e-table-text-model.c
index 7ecaa2f543..e0b8b6bae2 100644
--- a/widgets/text/e-table-text-model.c
+++ b/widgets/text/e-table-text-model.c
@@ -41,27 +41,8 @@ static void e_table_text_model_insert (ETextModel *model, gint postion, const gc
static void e_table_text_model_insert_length (ETextModel *model, gint postion, const gchar *text, gint length);
static void e_table_text_model_delete (ETextModel *model, gint postion, gint length);
-#define PARENT_TYPE E_TYPE_TEXT_MODEL
-static GtkObject *parent_class;
-
-
-
-/**
- * e_table_text_model_get_type:
- * @void:
- *
- * Registers the &ETableTextModel class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &ETableTextModel class.
- **/
-E_MAKE_TYPE (e_table_text_model,
- "ETableTextModel",
- ETableTextModel,
- e_table_text_model_class_init,
- e_table_text_model_init,
- PARENT_TYPE)
-
+G_DEFINE_TYPE (ETableTextModel, e_table_text_model, E_TYPE_TEXT_MODEL)
+
/* Class initialization function for the text item */
static void
e_table_text_model_class_init (ETableTextModelClass *klass)
@@ -72,8 +53,6 @@ e_table_text_model_class_init (ETableTextModelClass *klass)
object_class = (GObjectClass *) klass;
model_class = (ETextModelClass *) klass;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
model_class->get_text = e_table_text_model_get_text;
model_class->set_text = e_table_text_model_set_text;
model_class->insert = e_table_text_model_insert;
@@ -122,8 +101,8 @@ e_table_text_model_dispose (GObject *object)
g_object_unref (model->model);
model->model = NULL;
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_table_text_model_parent_class)->dispose)
+ (* G_OBJECT_CLASS (e_table_text_model_parent_class)->dispose) (object);
}
static const gchar *
e_table_text_model_get_text (ETextModel *text_model)
diff --git a/widgets/text/e-text-model-uri.c b/widgets/text/e-text-model-uri.c
index 95ce7cc076..9bf0af7805 100644
--- a/widgets/text/e-text-model-uri.c
+++ b/widgets/text/e-text-model-uri.c
@@ -51,15 +51,7 @@ struct _ObjInfo {
gint offset, len;
};
-#define PARENT_TYPE E_TYPE_TEXT_MODEL
-static GtkObject *parent_class;
-
-E_MAKE_TYPE (e_text_model_uri,
- "ETextModelURI",
- ETextModelURI,
- e_text_model_uri_class_init,
- e_text_model_uri_init,
- PARENT_TYPE)
+G_DEFINE_TYPE (ETextModelURI, e_text_model_uri, E_TYPE_TEXT_MODEL)
static void
e_text_model_uri_class_init (ETextModelURIClass *klass)
@@ -70,8 +62,6 @@ e_text_model_uri_class_init (ETextModelURIClass *klass)
object_class = (GObjectClass *) klass;
model_class = E_TEXT_MODEL_CLASS (klass);
- parent_class = g_type_class_ref (PARENT_TYPE);
-
object_class->dispose = e_text_model_uri_dispose;
model_class->object_activated = e_text_model_uri_activate_nth_object;
@@ -105,8 +95,8 @@ e_text_model_uri_dispose (GObject *object)
g_list_free (model_uri->uris);
model_uri->uris = NULL;
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_text_model_uri_parent_class)->dispose)
+ (* G_OBJECT_CLASS (e_text_model_uri_parent_class)->dispose) (object);
}
@@ -254,8 +244,8 @@ e_text_model_uri_objectify (ETextModel *model)
if (model_uri->objectify_idle == 0)
model_uri->objectify_idle = g_idle_add (objectify_idle_cb, model);
- if (E_TEXT_MODEL_CLASS(parent_class)->objectify)
- E_TEXT_MODEL_CLASS(parent_class)->objectify (model);
+ if (E_TEXT_MODEL_CLASS(e_text_model_uri_parent_class)->objectify)
+ E_TEXT_MODEL_CLASS(e_text_model_uri_parent_class)->objectify (model);
}
static void
@@ -288,8 +278,8 @@ e_text_model_uri_validate_pos (ETextModel *model, gint pos)
- if (E_TEXT_MODEL_CLASS (parent_class)->validate_pos)
- pos = E_TEXT_MODEL_CLASS (parent_class)->validate_pos (model, pos);
+ if (E_TEXT_MODEL_CLASS (e_text_model_uri_parent_class)->validate_pos)
+ pos = E_TEXT_MODEL_CLASS (e_text_model_uri_parent_class)->validate_pos (model, pos);
return pos;
}
diff --git a/widgets/text/e-text-model.c b/widgets/text/e-text-model.c
index eb7b728c19..684dfea99a 100644
--- a/widgets/text/e-text-model.c
+++ b/widgets/text/e-text-model.c
@@ -61,26 +61,7 @@ static void e_text_model_real_insert (ETextModel *model, gint
static void e_text_model_real_insert_length (ETextModel *model, gint postion, const gchar *text, gint length);
static void e_text_model_real_delete (ETextModel *model, gint postion, gint length);
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObject *parent_class;
-
-
-
-/**
- * e_text_model_get_type:
- * @void:
- *
- * Registers the &ETextModel class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &ETextModel class.
- **/
-E_MAKE_TYPE (e_text_model,
- "ETextModel",
- ETextModel,
- e_text_model_class_init,
- e_text_model_init,
- PARENT_TYPE)
+G_DEFINE_TYPE (ETextModel, e_text_model, G_TYPE_OBJECT)
/* Class initialization function for the text item */
static void
@@ -90,8 +71,6 @@ e_text_model_class_init (ETextModelClass *klass)
object_class = (GObjectClass *) klass;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
e_text_model_signals[E_TEXT_MODEL_CHANGED] =
g_signal_new ("changed",
G_OBJECT_CLASS_TYPE (object_class),
@@ -178,8 +157,8 @@ e_text_model_dispose (GObject *object)
model->priv = NULL;
}
- if (G_OBJECT_CLASS (parent_class)->dispose)
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ if (G_OBJECT_CLASS (e_text_model_parent_class)->dispose)
+ G_OBJECT_CLASS (e_text_model_parent_class)->dispose (object);
}
static gint
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c
index c523548765..932144a343 100644
--- a/widgets/text/e-text.c
+++ b/widgets/text/e-text.c
@@ -58,7 +58,7 @@
#include "e-text.h"
-#define PARENT_TYPE (gnome_canvas_item_get_type())
+G_DEFINE_TYPE (EText, e_text, GNOME_TYPE_CANVAS_ITEM)
#define BORDER_INDENT 3
#define d(x)
@@ -168,7 +168,6 @@ static gboolean e_text_delete_surrounding_cb (GtkIMContext *context,
gint n_chars,
EText *text);
-static GnomeCanvasItemClass *parent_class;
static GdkAtom clipboard_atom = GDK_NONE;
@@ -277,8 +276,8 @@ e_text_dispose (GObject *object)
text->font_desc = NULL;
}
- if (G_OBJECT_CLASS (parent_class)->dispose)
- (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+ if (G_OBJECT_CLASS (e_text_parent_class)->dispose)
+ (* G_OBJECT_CLASS (e_text_parent_class)->dispose) (object);
}
static void
@@ -1199,8 +1198,8 @@ e_text_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int fla
text = E_TEXT (item);
- if (parent_class->update)
- (* parent_class->update) (item, affine, clip_path, flags);
+ if (GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->update)
+ (* GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->update) (item, affine, clip_path, flags);
if ( text->needs_recalc_bounds
|| (flags & GNOME_CANVAS_UPDATE_AFFINE)) {
@@ -1239,8 +1238,8 @@ e_text_realize (GnomeCanvasItem *item)
text = E_TEXT (item);
- if (parent_class->realize)
- (* parent_class->realize) (item);
+ if (GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->realize)
+ (* GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->realize) (item);
create_layout (text);
@@ -1273,8 +1272,8 @@ e_text_unrealize (GnomeCanvasItem *item)
gdk_cursor_unref (text->default_cursor);
text->default_cursor = NULL;
- if (parent_class->unrealize)
- (* parent_class->unrealize) (item);
+ if (GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->unrealize)
+ (* GNOME_CANVAS_ITEM_CLASS (e_text_parent_class)->unrealize) (item);
}
static void
@@ -2486,8 +2485,8 @@ e_text_event (GnomeCanvasItem *item, GdkEvent *event)
}
if (return_val)
return return_val;
- if (GNOME_CANVAS_ITEM_CLASS(parent_class)->event)
- return GNOME_CANVAS_ITEM_CLASS(parent_class)->event(item, event);
+ if (GNOME_CANVAS_ITEM_CLASS(e_text_parent_class)->event)
+ return GNOME_CANVAS_ITEM_CLASS(e_text_parent_class)->event(item, event);
else
return 0;
}
@@ -3415,8 +3414,6 @@ e_text_class_init (ETextClass *klass)
gobject_class = (GObjectClass *) klass;
item_class = (GnomeCanvasItemClass *) klass;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
gobject_class->dispose = e_text_dispose;
gobject_class->set_property = e_text_set_property;
gobject_class->get_property = e_text_get_property;
@@ -3808,23 +3805,6 @@ e_text_init (EText *text)
e_canvas_item_set_reflow_callback(GNOME_CANVAS_ITEM(text), e_text_reflow);
}
-/**
- * e_text_get_type:
- * @void:
- *
- * Registers the &EText class if necessary, and returns the type ID
- * associated to it.
- *
- * Return value: The type ID of the &EText class.
- **/
-E_MAKE_TYPE (e_text,
- "EText",
- EText,
- e_text_class_init,
- e_text_init,
- PARENT_TYPE)
-
-
/* IM Context Callbacks */
static void