summaryrefslogtreecommitdiff
path: root/endless
diff options
context:
space:
mode:
authorFelipe Erias Morandeira <femorandeira@igalia.com>2013-07-04 15:53:48 +0100
committerFelipe Erias Morandeira <femorandeira@igalia.com>2013-07-22 13:24:18 +0100
commitbf44cd5821a1beb6ff067b0dd654f10763a1c758 (patch)
tree789fba7d5aa4cf04527e47a6fd18b7ca40d69a1e /endless
parentae9928b88ac2bcc82921e04e8cf4df5e18be174d (diff)
EosActionMenu extends GtkFrame
[endlessm/eos-sdk#146]
Diffstat (limited to 'endless')
-rw-r--r--endless/eosactionmenu-private.h6
-rw-r--r--endless/eosactionmenu.c19
2 files changed, 17 insertions, 8 deletions
diff --git a/endless/eosactionmenu-private.h b/endless/eosactionmenu-private.h
index 8b3755e..4393fdc 100644
--- a/endless/eosactionmenu-private.h
+++ b/endless/eosactionmenu-private.h
@@ -37,21 +37,21 @@ typedef struct _EosActionMenuPrivate EosActionMenuPrivate;
struct _EosActionMenu
{
- GtkGrid parent;
+ GtkFrame parent;
EosActionMenuPrivate *priv;
};
struct _EosActionMenuClass
{
- GtkGridClass parent_class;
+ GtkFrameClass parent_class;
};
GType eos_action_menu_get_type (void) G_GNUC_CONST;
GtkWidget *eos_action_menu_new ();
-void eos_action_menu_add_action (EosActionMenu *menu,
+void eos_action_menu_add_action (EosActionMenu *menu,
GtkAction *action);
GtkAction *eos_action_menu_get_action (EosActionMenu *menu,
diff --git a/endless/eosactionmenu.c b/endless/eosactionmenu.c
index e3466e2..4a0c5e8 100644
--- a/endless/eosactionmenu.c
+++ b/endless/eosactionmenu.c
@@ -17,13 +17,14 @@
*/
-G_DEFINE_TYPE (EosActionMenu, eos_action_menu, GTK_TYPE_GRID)
+G_DEFINE_TYPE (EosActionMenu, eos_action_menu, GTK_TYPE_FRAME)
#define EOS_ACTION_MENU_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), EOS_TYPE_ACTION_MENU, EosActionMenuPrivate))
struct _EosActionMenuPrivate
{
+ GtkWidget *grid;
GtkActionGroup *action_group;
};
@@ -58,13 +59,21 @@ eos_action_menu_init (EosActionMenu *self)
context = gtk_widget_get_style_context (GTK_WIDGET (self));
gtk_style_context_add_class (context, _EOS_STYLE_CLASS_ACTION_MENU);
+ priv->grid = gtk_grid_new ();
+ g_object_set (G_OBJECT (priv->grid),
+ "hexpand", TRUE,
+ "hexpand", TRUE,
+ "halign", GTK_ALIGN_CENTER,
+ "valign", GTK_ALIGN_CENTER,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (self),
+ GTK_WIDGET (priv->grid));
+
// TODO : name?
priv->action_group = gtk_action_group_new ("EosActionMenu");
gtk_widget_set_hexpand (GTK_WIDGET (self), TRUE);
gtk_widget_set_vexpand (GTK_WIDGET (self), TRUE);
- gtk_widget_set_halign (GTK_WIDGET (self), GTK_ALIGN_CENTER);
- gtk_widget_set_valign (GTK_WIDGET (self), GTK_ALIGN_CENTER);
}
/* ******* LIFECYCLE ******* */
@@ -126,7 +135,7 @@ eos_action_menu_add_action (EosActionMenu *menu,
gtk_activatable_set_related_action (GTK_ACTIVATABLE (action_button), action);
// TODO : maybe we need a finer control, taking is-important into account?
- gtk_grid_attach_next_to (GTK_GRID (menu), action_button, NULL,
+ gtk_grid_attach_next_to (GTK_GRID (priv->grid), action_button, NULL,
GTK_POS_BOTTOM, 1, 1);
}
}
@@ -205,7 +214,7 @@ eos_action_menu_remove_action_by_name (EosActionMenu *menu,
action = gtk_action_group_get_action (priv->action_group, name);
if (action)
{
- gtk_action_group_remove_action (priv->action_group, action);
+ eos_action_menu_remove_action (menu, action);
}
}