[glide] Paint slide buttons black
- From: Robert Carr <racarr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glide] Paint slide buttons black
- Date: Thu, 29 Apr 2010 08:41:56 +0000 (UTC)
commit 08a9784f529b478f3f9c44027f6c5c837161c23c
Author: Robert Carr <racarr Valentine localdomain>
Date: Thu Apr 29 03:54:01 2010 -0400
Paint slide buttons black
src/glide-slide-button-priv.h | 2 ++
src/glide-slide-button.c | 40 ++++++++++++++++++++--------------------
2 files changed, 22 insertions(+), 20 deletions(-)
---
diff --git a/src/glide-slide-button-priv.h b/src/glide-slide-button-priv.h
index fe6cff9..19a6261 100644
--- a/src/glide-slide-button-priv.h
+++ b/src/glide-slide-button-priv.h
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
struct _GlideSlideButtonPrivate
{
GlideSlide *slide;
+
+ GtkWidget *drawing_area;
};
G_END_DECLS
diff --git a/src/glide-slide-button.c b/src/glide-slide-button.c
index 6bd2b1e..f70ed73 100644
--- a/src/glide-slide-button.c
+++ b/src/glide-slide-button.c
@@ -28,23 +28,19 @@ enum {
PROP_SLIDE
};
-static void
-glide_slide_button_update_label (GlideSlideButton *b)
-{
- gchar *label = g_strdup_printf("%u", glide_slide_get_index (b->priv->slide));
-
- gtk_button_set_label (GTK_BUTTON (b), label);
- g_free (label);
-}
-static void
-glide_slide_button_slide_index_changed_cb (GObject *object,
- GParamSpec *pspec,
- gpointer user_data)
+static gboolean
+glide_slide_button_drawing_area_expose (GtkWidget *drawing_area,
+ GdkEventExpose *event,
+ gpointer user_data)
{
- GlideSlideButton *b = (GlideSlideButton *)user_data;
-
- glide_slide_button_update_label (b);
+ cairo_t *cr = gdk_cairo_create (gtk_widget_get_window (drawing_area));
+
+ cairo_set_source_rgba (cr, 0, 0, 0, 1);
+ cairo_rectangle (cr, 0, 0, 80, 60);
+ cairo_fill (cr);
+
+ return FALSE;
}
static void
@@ -104,8 +100,17 @@ static void
glide_slide_button_init (GlideSlideButton *button)
{
button->priv = GLIDE_SLIDE_BUTTON_GET_PRIVATE (button);
+
+ button->priv->drawing_area = gtk_drawing_area_new ();
+ gtk_container_add (GTK_CONTAINER (button), button->priv->drawing_area);
+ gtk_widget_show (GTK_WIDGET (button->priv->drawing_area));
g_signal_connect (button, "clicked", G_CALLBACK (glide_slide_button_clicked), NULL);
+ g_signal_connect (button->priv->drawing_area, "expose-event",
+ G_CALLBACK (glide_slide_button_drawing_area_expose),
+ button);
+
+ gtk_widget_set_size_request (button->priv->drawing_area, 80, 60);
}
static void
@@ -147,9 +152,4 @@ glide_slide_button_set_slide (GlideSlideButton *button,
{
button->priv->slide = slide;
g_object_notify (G_OBJECT (button), "slide");
-
- glide_slide_button_update_label (button);
- g_signal_connect (slide, "notify::index",
- G_CALLBACK (glide_slide_button_slide_index_changed_cb),
- button);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]