summaryrefslogtreecommitdiff
path: root/gtk/gtktext.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-07-16 20:23:12 +0000
committerTim Janik <timj@src.gnome.org>1998-07-16 20:23:12 +0000
commit81517a6d4c09663ba97335affe5b1ec047a567d3 (patch)
tree4638e036b6e692136a617d1fdd7d8f8a05f6a3bf /gtk/gtktext.c
parent5e3acecc12dc9b7671ea56150a66e2ae41a65a6e (diff)
downloadgdk-pixbuf-81517a6d4c09663ba97335affe5b1ec047a567d3.tar.gz
signdness corrections all ove the place. implementation of object
Thu Jul 16 18:24:41 1998 Tim Janik <timj@gtk.org> * gtk/gtknotebook.h: * gtk/gtknotebook.c: signdness corrections all ove the place. implementation of object arguments: GtkNotebook::enable_popup, GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs, GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page. begun implementation of child args, we have GtkNotebook::tab_label, but GtkNotebook::menu_label and GtkNotebook::position still lack the implementation. (gtk_notebook_remove_page): (gtk_notebook_current_page): allow negative indices (-1) as alias for the last page. * gtk/gtkentry.h: * gtk/gtkentry.c: GtkType and macro fixups. implementation of object arguments GtkEntry::max_length and GtkEntry::visibility. (gtk_entry_adjust_scroll): queue a redraw. * gtk/gtkeditable.h: * gtk/gtkeditable.c: GtkType und macro fixups. implementation of object arguments GtkEditable::text_position and GtkEditable::editable. new (action) signal GtkEditable::set_editable. provide a default handler for GtkEditable::changed that queues a redraw. * gtk/gtktext.h: * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable:: set_editable.
Diffstat (limited to 'gtk/gtktext.c')
-rw-r--r--gtk/gtktext.c70
1 files changed, 42 insertions, 28 deletions
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index cacbf181c..f15d62f23 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -174,23 +174,25 @@ static void gtk_text_adjustment (GtkAdjustment *adjustment,
static void gtk_text_disconnect (GtkAdjustment *adjustment,
GtkText *text);
-static void gtk_text_insert_text (GtkEditable *editable,
- const gchar *new_text,
- gint new_text_length,
- gint *position);
-static void gtk_text_delete_text (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-static void gtk_text_update_text (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-static gchar *gtk_text_get_chars (GtkEditable *editable,
- gint start,
- gint end);
-static void gtk_text_set_selection (GtkEditable *editable,
- gint start,
- gint end);
-
+static void gtk_text_insert_text (GtkEditable *editable,
+ const gchar *new_text,
+ gint new_text_length,
+ gint *position);
+static void gtk_text_delete_text (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+static void gtk_text_update_text (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+static gchar *gtk_text_get_chars (GtkEditable *editable,
+ gint start,
+ gint end);
+static void gtk_text_set_selection (GtkEditable *editable,
+ gint start,
+ gint end);
+static void gtk_text_real_set_editable (GtkEditable *editable,
+ gboolean is_editable);
+
/* Event handlers */
static void gtk_text_draw (GtkWidget *widget,
GdkRectangle *area);
@@ -445,10 +447,10 @@ static GtkTextFunction alt_keys[26] =
/* Widget Crap */
/**********************************************************************/
-guint
+GtkType
gtk_text_get_type (void)
{
- static guint text_type = 0;
+ static GtkType text_type = 0;
if (!text_type)
{
@@ -464,7 +466,7 @@ gtk_text_get_type (void)
(GtkClassInitFunc) NULL,
};
- text_type = gtk_type_unique (gtk_editable_get_type (), &text_info);
+ text_type = gtk_type_unique (GTK_TYPE_EDITABLE, &text_info);
}
return text_type;
@@ -481,7 +483,7 @@ gtk_text_class_init (GtkTextClass *class)
widget_class = (GtkWidgetClass*) class;
editable_class = (GtkEditableClass*) class;
- parent_class = gtk_type_class (gtk_editable_get_type ());
+ parent_class = gtk_type_class (GTK_TYPE_EDITABLE);
object_class->destroy = gtk_text_destroy;
object_class->finalize = gtk_text_finalize;
@@ -501,6 +503,7 @@ gtk_text_class_init (GtkTextClass *class)
widget_class->focus_in_event = gtk_text_focus_in;
widget_class->focus_out_event = gtk_text_focus_out;
+ editable_class->set_editable = gtk_text_real_set_editable;
editable_class->insert_text = gtk_text_insert_text;
editable_class->delete_text = gtk_text_delete_text;
@@ -555,7 +558,7 @@ gtk_text_new (GtkAdjustment *hadj,
{
GtkText *text;
- text = gtk_type_new (gtk_text_get_type ());
+ text = gtk_type_new (GTK_TYPE_TEXT);
gtk_text_set_adjustments (text, hadj, vadj);
@@ -580,17 +583,28 @@ gtk_text_set_word_wrap (GtkText *text,
void
gtk_text_set_editable (GtkText *text,
- gint editable)
+ gboolean is_editable)
{
- GtkWidget *widget;
-
g_return_if_fail (text != NULL);
g_return_if_fail (GTK_IS_TEXT (text));
- widget = GTK_WIDGET (text);
- GTK_EDITABLE(text)->editable = (editable != FALSE);
+ gtk_editable_set_editable (GTK_EDITABLE (text), is_editable);
+}
+
+static void
+gtk_text_real_set_editable (GtkEditable *editable,
+ gboolean is_editable)
+{
+ GtkText *text;
+
+ g_return_if_fail (editable != NULL);
+ g_return_if_fail (GTK_IS_TEXT (editable));
+
+ text = GTK_TEXT (editable);
+
+ editable->editable = (is_editable != FALSE);
- if (editable)
+ if (is_editable)
draw_cursor (text, TRUE);
else
undraw_cursor (text, TRUE);