diff options
author | Chris Lahey <clahey@src.gnome.org> | 2000-01-11 14:44:57 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2000-01-11 14:44:57 +0800 |
commit | a01de808cd46baea31419a42b221cb65974a9fb1 (patch) | |
tree | a32c6dc47d19d64c907d7d577798cad380a6caa2 /widgets/e-text/e-text-event-processor.c | |
parent | b2a25c6add10c40eb6d369fdf504f2e7d13d2c97 (diff) | |
download | gsoc2013-evolution-a01de808cd46baea31419a42b221cb65974a9fb1.tar.gz gsoc2013-evolution-a01de808cd46baea31419a42b221cb65974a9fb1.tar.zst gsoc2013-evolution-a01de808cd46baea31419a42b221cb65974a9fb1.zip |
Removed some code which got in the way of testing properly.
* widgets/test-minicard.c: Removed some code which got in the way
of testing properly.
* widgets/e-minicard-label.c (e_minicard_label_realize): Made the
field text item editable.
* widgets/Makefile.am: Added e-text-event-process*.[ch].
* widgets/e-text.c, widgets/e-text.h: Changed these to support
editing.
* widgets/e-text-event-processor.c,
widgets/e-text-event-processor.h,
widgets/e-text-event-processor-types.h,
widgets/e-text-event-processor-emacs-like.c,
widgets/e-text-event-processor-emacs-like.h: These are a new pair
of classes which handle all events from the text item and convert
them into commands.
svn path=/trunk/; revision=1553
Diffstat (limited to 'widgets/e-text/e-text-event-processor.c')
-rw-r--r-- | widgets/e-text/e-text-event-processor.c | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/widgets/e-text/e-text-event-processor.c b/widgets/e-text/e-text-event-processor.c new file mode 100644 index 0000000000..47f028ca62 --- /dev/null +++ b/widgets/e-text/e-text-event-processor.c @@ -0,0 +1,103 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* e-text-event-processor.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey <clahey@helixcode.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <gnome.h> +#include "e-text-event-processor.h" +static void e_text_event_processor_init (ETextEventProcessor *card); +static void e_text_event_processor_class_init (ETextEventProcessorClass *klass); + +static GtkObjectClass *parent_class = NULL; + +/* The arguments we take */ +enum { + ARG_0 +}; + +enum { + E_TEP_EVENT, + E_TEP_LAST_SIGNAL +}; + +static guint e_tep_signals[E_TEP_LAST_SIGNAL] = { 0 }; + +GtkType +e_text_event_processor_get_type (void) +{ + static GtkType text_event_processor_type = 0; + + if (!text_event_processor_type) + { + static const GtkTypeInfo text_event_processor_info = + { + "ETextEventProcessor", + sizeof (ETextEventProcessor), + sizeof (ETextEventProcessorClass), + (GtkClassInitFunc) e_text_event_processor_class_init, + (GtkObjectInitFunc) e_text_event_processor_init, + /* reserved_1 */ NULL, + /* reserved_2 */ NULL, + (GtkClassInitFunc) NULL, + }; + + text_event_processor_type = gtk_type_unique (gtk_object_get_type (), &text_event_processor_info); + } + + return text_event_processor_type; +} + +static void +e_text_event_processor_class_init (ETextEventProcessorClass *klass) +{ + GtkObjectClass *object_class; + + object_class = (GtkObjectClass*) klass; + + parent_class = gtk_type_class (gtk_object_get_type ()); + + e_tep_signals[E_TEP_EVENT] = + gtk_signal_new ("command", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (ETextEventProcessorClass, command), + gtk_marshal_NONE__POINTER, + GTK_TYPE_NONE, 1, + GTK_TYPE_POINTER); + + gtk_object_class_add_signals (object_class, e_tep_signals, E_TEP_LAST_SIGNAL); + + klass->event = NULL; + klass->command = NULL; +} + +static void +e_text_event_processor_init (ETextEventProcessor *tep) +{ +} + +gint +e_text_event_processor_handle_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event) +{ + if (E_TEXT_EVENT_PROCESSOR_CLASS(GTK_OBJECT(tep)->klass)->event) { + return E_TEXT_EVENT_PROCESSOR_CLASS(GTK_OBJECT(tep)->klass)->event(tep, event); + } else { + return 0; + } +} |