summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-07-08 14:12:27 +0000
committerTim Janik <timj@src.gnome.org>1998-07-08 14:12:27 +0000
commit9b4d90465ef16ba56272cb91857dab0b2347d93c (patch)
treed7e4b37b892493914a72fdb8bcc7bfc0f5ac0b03
parent88fba9f84531a3c38b9ad6dbc9820288cb8b6094 (diff)
downloadgdk-pixbuf-9b4d90465ef16ba56272cb91857dab0b2347d93c.tar.gz
handle GTK_RELIEF_HALF, which was introduced to keep either
Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org> * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons (GTK_RELIEF_HALF). (gtk_button_paint): set the background for prelighted buttons with GTK_STATE_NORMAL only if GTK_RELIEF_NONE. (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for the shadow type (otherwise we get strange shadows for coloured buttons). (gtk_button_set_relief): queue a redraw after changing the relief. (gtk_button_class_init): (gtk_button_set_arg): (gtk_button_get_arg): added object argument "GtkButton::relief". * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
-rw-r--r--ChangeLog18
-rw-r--r--ChangeLog.pre-2-018
-rw-r--r--ChangeLog.pre-2-1018
-rw-r--r--ChangeLog.pre-2-218
-rw-r--r--ChangeLog.pre-2-418
-rw-r--r--ChangeLog.pre-2-618
-rw-r--r--ChangeLog.pre-2-818
-rw-r--r--gtk/gtk.defs1
-rw-r--r--gtk/gtkbutton.c24
-rw-r--r--gtk/gtkenums.h1
-rw-r--r--gtk/gtktypebuiltins_evals.c1
11 files changed, 147 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d9904898..4f3372d86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 4d9904898..4f3372d86 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,21 @@
+Wed Jul 8 15:31:28 1998 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
+ keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
+ to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
+ (GTK_RELIEF_HALF).
+ (gtk_button_paint): set the background for prelighted buttons with
+ GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
+ (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
+ the shadow type (otherwise we get strange shadows for coloured buttons).
+ (gtk_button_set_relief): queue a redraw after changing
+ the relief.
+ (gtk_button_class_init):
+ (gtk_button_set_arg):
+ (gtk_button_get_arg): added object argument "GtkButton::relief".
+
+ * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
+
Mon Jul 6 18:30:48 1998 Tim Janik <timj@gtk.org>
* gtk/gtkbutton.h:
diff --git a/gtk/gtk.defs b/gtk/gtk.defs
index 05de4b538..d48692a19 100644
--- a/gtk/gtk.defs
+++ b/gtk/gtk.defs
@@ -130,6 +130,7 @@
(define-enum GtkReliefStyle
(normal GTK_RELIEF_NORMAL)
+ (half GTK_RELIEF_HALF)
(none GTK_RELIEF_NONE))
(define-enum GtkResizeMode
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 101ee0d7d..decbbe681 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -39,7 +39,8 @@ enum {
};
enum {
ARG_0,
- ARG_LABEL
+ ARG_LABEL,
+ ARG_RELIEF
};
@@ -132,6 +133,7 @@ gtk_button_class_init (GtkButtonClass *klass)
parent_class = gtk_type_class (GTK_TYPE_BIN);
gtk_object_add_arg_type ("GtkButton::label", GTK_TYPE_STRING, GTK_ARG_READWRITE, ARG_LABEL);
+ gtk_object_add_arg_type ("GtkButton::relief", GTK_TYPE_RELIEF_STYLE, GTK_ARG_READWRITE, ARG_RELIEF);
button_signals[PRESSED] =
gtk_signal_new ("pressed",
@@ -243,6 +245,9 @@ gtk_button_set_arg (GtkObject *object,
gtk_container_add (GTK_CONTAINER (button), label);
break;
+ case ARG_RELIEF:
+ gtk_button_set_relief (button, GTK_VALUE_ENUM (*arg));
+ break;
default:
break;
}
@@ -265,6 +270,9 @@ gtk_button_get_arg (GtkObject *object,
else
GTK_VALUE_STRING (*arg) = NULL;
break;
+ case ARG_RELIEF:
+ GTK_VALUE_ENUM (*arg) = gtk_button_get_relief (button);
+ break;
default:
arg->type = GTK_TYPE_INVALID;
break;
@@ -331,10 +339,11 @@ gtk_button_set_relief (GtkButton *button,
g_return_if_fail (GTK_IS_BUTTON (button));
button->relief = newrelief;
+ gtk_widget_queue_draw (GTK_WIDGET (button));
}
GtkReliefStyle
-gtk_button_get_relief(GtkButton *button)
+gtk_button_get_relief (GtkButton *button)
{
g_return_val_if_fail (button != NULL, GTK_RELIEF_NORMAL);
g_return_val_if_fail (GTK_IS_BUTTON (button), GTK_RELIEF_NORMAL);
@@ -531,8 +540,9 @@ gtk_button_paint (GtkWidget *widget,
if (gdk_rectangle_intersect (area, &restrict_area, &new_area))
{
if ((GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT) &&
- (GTK_BUTTON (widget)->relief == GTK_RELIEF_NONE))
- gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);
+ (GTK_BUTTON (widget)->relief != GTK_RELIEF_NORMAL))
+ gtk_style_set_background (widget->style, widget->window,
+ GTK_BUTTON (widget)->relief == GTK_RELIEF_NONE ? GTK_STATE_NORMAL : GTK_WIDGET_STATE (widget));
else
gtk_style_set_background (widget->style, widget->window, GTK_WIDGET_STATE (widget));
gdk_window_clear_area (widget->window,
@@ -678,7 +688,8 @@ gtk_button_draw_focus (GtkWidget *widget)
(GTK_WIDGET_STATE (widget) != GTK_STATE_INSENSITIVE)))
{
gtk_draw_shadow (widget->style, widget->window,
- GTK_WIDGET_STATE (widget), shadow_type,
+ button->relief == GTK_RELIEF_NONE ? GTK_STATE_NORMAL : GTK_WIDGET_STATE (widget),
+ shadow_type,
x, y, width, height);
}
@@ -712,7 +723,8 @@ gtk_button_draw_default (GtkWidget *widget)
width = widget->allocation.width - GTK_CONTAINER (widget)->border_width * 2;
height = widget->allocation.height - GTK_CONTAINER (widget)->border_width * 2;
- if (GTK_WIDGET_HAS_DEFAULT (widget) && gtk_button_get_relief (GTK_BUTTON (widget)) == GTK_RELIEF_NORMAL)
+ if (GTK_WIDGET_HAS_DEFAULT (widget) &&
+ GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
{
gtk_draw_shadow (widget->style, widget->window,
GTK_STATE_NORMAL, GTK_SHADOW_IN,
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index c65bd8578..ecfe5ca95 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -179,6 +179,7 @@ typedef enum
typedef enum
{
GTK_RELIEF_NORMAL,
+ GTK_RELIEF_HALF,
GTK_RELIEF_NONE
} GtkReliefStyle;
diff --git a/gtk/gtktypebuiltins_evals.c b/gtk/gtktypebuiltins_evals.c
index f2ec1326a..f5eb8c92e 100644
--- a/gtk/gtktypebuiltins_evals.c
+++ b/gtk/gtktypebuiltins_evals.c
@@ -142,6 +142,7 @@ static GtkEnumValue _gtk_preview_type_values[] = {
};
static GtkEnumValue _gtk_relief_style_values[] = {
{ GTK_RELIEF_NORMAL, "GTK_RELIEF_NORMAL", "normal" },
+ { GTK_RELIEF_HALF, "GTK_RELIEF_HALF", "half" },
{ GTK_RELIEF_NONE, "GTK_RELIEF_NONE", "none" },
{ 0, NULL, NULL }
};