Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-07-06 13:21:50 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-07-06 13:21:50 (GMT)
commit739dbafa97525f3a92425fbaf0033d2d58a0a260 (patch)
treebc4ce8af01fcb61b31d984bd15c26e7b35c6d114 /lib
parent943214dee35df019efa266446a8e544b97fcbafd (diff)
Improve tooltips sizing
Diffstat (limited to 'lib')
-rw-r--r--lib/sugar-menu.c40
-rw-r--r--lib/sugar-menu.h14
2 files changed, 39 insertions, 15 deletions
diff --git a/lib/sugar-menu.c b/lib/sugar-menu.c
index 822b4a7..a7e6635 100644
--- a/lib/sugar-menu.c
+++ b/lib/sugar-menu.c
@@ -27,16 +27,6 @@ static void sugar_menu_init (SugarMenu *menu);
G_DEFINE_TYPE(SugarMenu, sugar_menu, GTK_TYPE_MENU)
-static void
-sugar_menu_class_init(SugarMenuClass *menu_class)
-{
-}
-
-static void
-sugar_menu_init(SugarMenu *menu)
-{
-}
-
void
sugar_menu_popup(SugarMenu *menu,
int x,
@@ -69,3 +59,33 @@ sugar_menu_popdown(SugarMenu *menu)
gtk_widget_hide(window);
}
+void
+sugar_menu_set_min_width (SugarMenu *menu,
+ int min_width)
+{
+ menu->min_width = min_width;
+}
+
+static void
+sugar_menu_size_request (GtkWidget *widget,
+ GtkRequisition *requisition)
+{
+ SugarMenu *menu = SUGAR_MENU(widget);
+
+ (* GTK_WIDGET_CLASS (sugar_menu_parent_class)->size_request) (widget, requisition);
+
+ requisition->width = MAX(requisition->width, menu->min_width);
+}
+
+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
+sugar_menu_init(SugarMenu *menu)
+{
+}
diff --git a/lib/sugar-menu.h b/lib/sugar-menu.h
index a9c3f67..24e2865 100644
--- a/lib/sugar-menu.h
+++ b/lib/sugar-menu.h
@@ -36,17 +36,21 @@ typedef struct _SugarMenuClass SugarMenuClass;
struct _SugarMenu {
GtkMenu base_instance;
+
+ int min_width;
};
struct _SugarMenuClass {
GtkMenuClass base_class;
};
-GType sugar_menu_get_type (void);
-void sugar_menu_popup (SugarMenu *menu,
- int x,
- int y);
-void sugar_menu_popdown (SugarMenu *menu);
+GType sugar_menu_get_type (void);
+void sugar_menu_popup (SugarMenu *menu,
+ int x,
+ int y);
+void sugar_menu_set_min_width (SugarMenu *menu,
+ int min_width);
+void sugar_menu_popdown (SugarMenu *menu);
G_END_DECLS