2008-10-13 Alberto Garcia <agarcia@igalia.com>
[hildon] / src / hildon-check-button.c
index 6ae135c..9a789fe 100644 (file)
@@ -70,8 +70,6 @@ G_DEFINE_TYPE                                   (HildonCheckButton, hildon_check
                                                 (G_TYPE_INSTANCE_GET_PRIVATE ((obj), \
                                                 HILDON_TYPE_CHECK_BUTTON, HildonCheckButtonPrivate));
 
-typedef struct                                  _HildonCheckButtonPrivate HildonCheckButtonPrivate;
-
 struct                                          _HildonCheckButtonPrivate
 {
     GtkCellRendererToggle *toggle_renderer;
@@ -102,13 +100,11 @@ void
 hildon_check_button_set_active                  (HildonCheckButton *button,
                                                  gboolean           is_active)
 {
-    HildonCheckButtonPrivate *priv;
     gboolean prev_is_active;
 
     g_return_if_fail (HILDON_IS_CHECK_BUTTON (button));
 
-    priv = HILDON_CHECK_BUTTON_GET_PRIVATE (button);
-    prev_is_active = gtk_cell_renderer_toggle_get_active (priv->toggle_renderer);
+    prev_is_active = gtk_cell_renderer_toggle_get_active (button->priv->toggle_renderer);
 
     if (prev_is_active != is_active) {
         gtk_button_clicked (GTK_BUTTON (button));
@@ -127,13 +123,9 @@ hildon_check_button_set_active                  (HildonCheckButton *button,
 gboolean
 hildon_check_button_get_active                  (HildonCheckButton *button)
 {
-    HildonCheckButtonPrivate *priv;
-
     g_return_val_if_fail (HILDON_IS_CHECK_BUTTON (button), FALSE);
 
-    priv = HILDON_CHECK_BUTTON_GET_PRIVATE (button);
-
-    return gtk_cell_renderer_toggle_get_active (priv->toggle_renderer);
+    return gtk_cell_renderer_toggle_get_active (button->priv->toggle_renderer);
 }
 
 /**
@@ -155,7 +147,7 @@ hildon_check_button_new                         (HildonSizeType size)
 static void
 hildon_check_button_clicked                     (GtkButton *button)
 {
-    HildonCheckButtonPrivate *priv = HILDON_CHECK_BUTTON_GET_PRIVATE (button);
+    HildonCheckButtonPrivate *priv = HILDON_CHECK_BUTTON (button)->priv;
     gboolean current = gtk_cell_renderer_toggle_get_active (priv->toggle_renderer);
 
     gtk_cell_renderer_toggle_set_active (priv->toggle_renderer, !current);
@@ -196,6 +188,9 @@ hildon_check_button_init                        (HildonCheckButton *button)
     HildonCheckButtonPrivate *priv = HILDON_CHECK_BUTTON_GET_PRIVATE (button);
     GtkWidget *cell_view = gtk_cell_view_new ();
 
+    /* Store private part */
+    button->priv = priv;
+
     /* Make sure that the check box is always shown, no matter the value of gtk-button-images */
     g_signal_connect (cell_view, "notify::visible", G_CALLBACK (gtk_widget_show), NULL);