Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/ui/sugar-menu.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-08-08 01:07:00 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-08-08 01:07:00 (GMT)
commit0b355dcbb96a46e496401444377e92577ffd1939 (patch)
tree89f9cdd9e187661b115bb678ce2e7b5ec003a899 /lib/ui/sugar-menu.c
parent2485e15030d2ae8b61272dbc16081e5e4f9c3e40 (diff)
First go at support of focusable widgets inside the palette.
Not enabled yet because focus confuses our deactivation logic but it seem to work otherwise.
Diffstat (limited to 'lib/ui/sugar-menu.c')
-rw-r--r--lib/ui/sugar-menu.c43
1 files changed, 5 insertions, 38 deletions
diff --git a/lib/ui/sugar-menu.c b/lib/ui/sugar-menu.c
index 6ed482e..d822867 100644
--- a/lib/ui/sugar-menu.c
+++ b/lib/ui/sugar-menu.c
@@ -28,54 +28,21 @@ static void sugar_menu_init (SugarMenu *menu);
G_DEFINE_TYPE(SugarMenu, sugar_menu, GTK_TYPE_MENU)
void
-sugar_menu_popup(SugarMenu *menu,
- int x,
- int y)
+sugar_menu_set_active(SugarMenu *menu, gboolean active)
{
- GtkWidget *window;
-
- window = GTK_MENU(menu)->toplevel;
- g_return_if_fail(window != NULL);
-
- GTK_MENU_SHELL(menu)->active = TRUE;
-
- gtk_widget_show(GTK_WIDGET(menu));
-
- gtk_window_move(GTK_WINDOW(window), x, y);
- gtk_widget_show(window);
+ GTK_MENU_SHELL(menu)->active = active;
}
void
-sugar_menu_popdown(SugarMenu *menu)
-{
- GtkWidget *window;
-
- window = GTK_MENU(menu)->toplevel;
- g_return_if_fail(window != NULL);
-
- GTK_MENU_SHELL(menu)->active = FALSE;
-
- gtk_widget_hide(GTK_WIDGET(menu));
- gtk_widget_hide(window);
-}
-
-static void
-sugar_menu_size_request (GtkWidget *widget,
- GtkRequisition *requisition)
+sugar_menu_embed(SugarMenu *menu, GtkContainer *parent)
{
- SugarMenu *menu = SUGAR_MENU(widget);
-
- (* GTK_WIDGET_CLASS (sugar_menu_parent_class)->size_request) (widget, requisition);
-
- requisition->width = MAX(requisition->width, menu->min_width);
+ GTK_MENU(menu)->toplevel = gtk_widget_get_toplevel(GTK_WIDGET(parent));
+ gtk_widget_reparent(GTK_WIDGET(menu), GTK_WIDGET(parent));
}
static void
sugar_menu_class_init(SugarMenuClass *menu_class)
{
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(menu_class);
-
- widget_class->size_request = sugar_menu_size_request;
}
static void