diff options
author | Havoc Pennington <hp@redhat.com> | 2001-06-08 18:09:34 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-06-08 18:09:34 +0000 |
commit | 74e7da214f1ee9b98304145813814d4f73a97a15 (patch) | |
tree | fc3dd7f61cea4cabf3fc5dc44dc8fbd9ca691b30 /gtk/gtkhsv.c | |
parent | 72ef055bde913c993d4a38964542b1d1c4470e1b (diff) | |
download | gtk+-74e7da214f1ee9b98304145813814d4f73a97a15.tar.gz |
geez, don't call g_list funcs on GSList
2001-06-08 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
don't call g_list funcs on GSList
* gtk/gtkwidget.c (gtk_widget_child_focus): replaces
gtk_container_focus(), since some widgets have focusable locations
which are not other widgets. These widgets should not have to be
containers just to manage the focus. For example, GtkHSV is
currently a container for no good reason. Also, this cleans
up the "if (is_container && is_sensitive && is_drawable)
container_focus ()" mess in widget implementations.
* gtk/gtkcontainer.c (gtk_container_focus): deprecate this
function, and have it just call gtk_widget_child_focus().
* gtk/gtkhsv.c: derive from widget not container
Throughout: fix to reflect GtkContainer::focus change
Diffstat (limited to 'gtk/gtkhsv.c')
-rw-r--r-- | gtk/gtkhsv.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 6eecde7c3f..d710debce8 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -103,7 +103,7 @@ static gint gtk_hsv_motion (GtkWidget *widget, GdkEventMotion *event); static gint gtk_hsv_expose (GtkWidget *widget, GdkEventExpose *event); -static gboolean gtk_hsv_focus (GtkContainer *container, +static gboolean gtk_hsv_focus (GtkWidget *widget, GtkDirectionType direction); static void gtk_hsv_move (GtkHSV *hsv, @@ -139,7 +139,7 @@ gtk_hsv_get_type (void) (GtkClassInitFunc) NULL }; - hsv_type = gtk_type_unique (GTK_TYPE_CONTAINER, &hsv_info); + hsv_type = gtk_type_unique (GTK_TYPE_WIDGET, &hsv_info); } return hsv_type; @@ -151,13 +151,11 @@ gtk_hsv_class_init (GtkHSVClass *class) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; - GtkContainerClass *container_class; GtkHSVClass *hsv_class; GtkBindingSet *binding_set; object_class = (GtkObjectClass *) class; widget_class = (GtkWidgetClass *) class; - container_class = GTK_CONTAINER_CLASS (class); hsv_class = GTK_HSV_CLASS (class); parent_class = gtk_type_class (GTK_TYPE_WIDGET); @@ -174,8 +172,7 @@ gtk_hsv_class_init (GtkHSVClass *class) widget_class->button_release_event = gtk_hsv_button_release; widget_class->motion_notify_event = gtk_hsv_motion; widget_class->expose_event = gtk_hsv_expose; - - container_class->focus = gtk_hsv_focus; + widget_class->focus = gtk_hsv_focus; hsv_class->move = gtk_hsv_move; @@ -1357,18 +1354,14 @@ gtk_hsv_expose (GtkWidget *widget, } static gboolean -gtk_hsv_focus (GtkContainer *container, +gtk_hsv_focus (GtkWidget *widget, GtkDirectionType dir) { GtkHSV *hsv; HSVPrivate *priv; - hsv = GTK_HSV (container); + hsv = GTK_HSV (widget); priv = hsv->priv; - - if (!GTK_WIDGET_DRAWABLE (container) || - !GTK_WIDGET_IS_SENSITIVE (container)) - return FALSE; if (!GTK_WIDGET_HAS_FOCUS (hsv)) { |