r315 - trunk/src/target/OM-2007/openmoko-libs/libmokoui
ken_zhao at gta01.hmw-consulting.de
ken_zhao at gta01.hmw-consulting.de
Wed Dec 6 09:07:39 CET 2006
Author: ken_zhao
Date: 2006-12-06 08:07:34 +0000 (Wed, 06 Dec 2006)
New Revision: 315
Modified:
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c
Log:
moko-pixmap-button: adjust label width/height on toolbox action button
Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c 2006-12-06 07:47:12 UTC (rev 314)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c 2006-12-06 08:07:34 UTC (rev 315)
@@ -37,6 +37,8 @@
{
GtkMenu *menu;
GtkWidget *buttonvbox;
+ GtkWidget *actionbtnlowerlabel;
+ GtkWidget *actionbtnstockimage;
} MokoPixmapButtonPrivate;
static void
@@ -102,7 +104,7 @@
static void
cb_button_clicked(MokoPixmapButton* self, gpointer data)
{
- MokoPixmapButtonPrivate *priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE(self);
+ MokoPixmapButtonPrivate *priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
if (!priv->menu)
return;
@@ -120,7 +122,7 @@
static void
moko_pixmap_button_init (MokoPixmapButton *self)
{
- MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE(self);
+ MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
moko_debug( "moko_pixmap_button_init" );
gtk_button_set_focus_on_click( GTK_BUTTON(self), FALSE ); //FIXME probably don't need this when focus is invisible
@@ -160,6 +162,16 @@
GtkRequisition child_requisition;
gtk_widget_size_request (GTK_BIN (button)->child, &child_requisition);
}
+
+ //Set label width/height on action button for better view
+ //FIXME try to adjust alignment to implement this fuction.
+ MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (widget);
+ if ( priv->actionbtnlowerlabel )
+ {
+ //gtk_widget_set_size_request(priv->actionbtnstockimage, size_request->right, size_request->bottom/2 - 1);
+ gtk_widget_set_size_request(priv->actionbtnlowerlabel, size_request->right, size_request->bottom/2 + 1);
+ }
+
}
else // old dynamic routine
{
@@ -199,7 +211,7 @@
void
moko_pixmap_button_set_menu (MokoPixmapButton* self, GtkMenu* menu)
{
- MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE(self);
+ MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
g_assert( !priv->menu ); //FIXME what's canon for these things? a) Error out or b) just don't do it or c) free the old menu and set the new one?
priv->menu = menu;
}
@@ -208,31 +220,37 @@
void
moko_pixmap_button_set_action_btn_upper_stock (MokoPixmapButton* self, const gchar *stock_name)
{
- MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE(self);
+ MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
+ if ( priv->actionbtnstockimage )
+ return;
+
GtkWidget *upperalignment = gtk_alignment_new (1, 0.5, 0, 0);
gtk_box_pack_start (GTK_BOX (priv->buttonvbox), upperalignment, TRUE, TRUE, 0);
- GtkWidget *stock_image = gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_BUTTON);
- gtk_container_add (GTK_CONTAINER (upperalignment), stock_image);
+ priv->actionbtnstockimage = gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_BUTTON);
+ gtk_container_add (GTK_CONTAINER (upperalignment), priv->actionbtnstockimage);
- gtk_misc_set_alignment (GTK_MISC (stock_image), 1, 0.2);
+ gtk_misc_set_alignment (GTK_MISC (priv->actionbtnstockimage), 0.5, 0);
}
void
moko_pixmap_button_set_action_btn_lower_label (MokoPixmapButton* self, const gchar *label)
{
+ MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
+
+ if ( priv->actionbtnlowerlabel )
+ return;
- MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE(self);
-
GtkWidget *loweralignment = gtk_alignment_new (1, 0.5, 0, 0);
gtk_box_pack_start (GTK_BOX (priv->buttonvbox), loweralignment, TRUE, TRUE, 0);
- GtkWidget *lowerlabel = gtk_label_new (label);
- gtk_container_add (GTK_CONTAINER (loweralignment), lowerlabel);
+ priv->actionbtnlowerlabel = gtk_label_new (label);
- gtk_misc_set_alignment (GTK_MISC (lowerlabel), 0.5, 0);
+ gtk_container_add (GTK_CONTAINER (loweralignment), priv->actionbtnlowerlabel);
+ gtk_misc_set_alignment (GTK_MISC (priv->actionbtnlowerlabel), 0.5, 0);
+
}
More information about the commitlog
mailing list