r1785 - trunk/src/target/OM-2007/openmoko-libs/libmokoui
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Mon Apr 16 21:06:09 CEST 2007
Author: mickey
Date: 2007-04-16 21:06:08 +0200 (Mon, 16 Apr 2007)
New Revision: 1785
Modified:
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c
trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-tree-view.c
Log:
libmokoui: remove some warnings
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 2007-04-16 18:47:17 UTC (rev 1784)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-pixmap-button.c 2007-04-16 19:06:08 UTC (rev 1785)
@@ -65,12 +65,12 @@
moko_pixmap_button_class_init (MokoPixmapButtonClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
/* register private data */
g_type_class_add_private (klass, sizeof (MokoPixmapButtonPrivate));
/* hook virtual methods */
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
widget_class->size_request = moko_pixmap_button_size_request;
/* install properties */
@@ -123,14 +123,14 @@
moko_pixmap_button_init (MokoPixmapButton *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
GTK_WIDGET_UNSET_FLAGS( GTK_WIDGET(self), GTK_CAN_FOCUS); // The default value of can-focus is TRUE, So it is necessory
priv->buttonvbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (self), priv->buttonvbox);
-
+
g_signal_connect( G_OBJECT(self), "clicked", G_CALLBACK(cb_button_clicked), NULL );
}
@@ -150,7 +150,7 @@
"focus-padding", &focus_pad,
"size-request", &size_request, // modified
NULL);
-
+
if ( size_request && size_request->left + size_request->right + size_request->top + size_request->bottom ) // new fixed thing
{
moko_debug( "moko_pixmap_button_size_request: style requested size = '%d x %d'", size_request->right, size_request->bottom );
@@ -162,7 +162,7 @@
GtkRequisition child_requisition;
gtk_widget_size_request (GTK_BIN (button)->child, &child_requisition);
}
-
+
}
else // old dynamic routine
{
@@ -213,18 +213,18 @@
moko_pixmap_button_set_action_btn_upper_stock (MokoPixmapButton* self, const gchar *stock_name)
{
MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
-
+
if ( priv->actionbtnstockimage )
return;
-
+
GtkWidget *upperalignment = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_box_pack_start (GTK_BOX (priv->buttonvbox), upperalignment, TRUE, TRUE, 0);
-
+
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 (priv->actionbtnstockimage), 0.5, 0.0);
-
+
gtk_widget_show_all (GTK_WIDGET (priv->buttonvbox));
}
@@ -235,26 +235,26 @@
if ( priv->actionbtnlowerlabel )
return;
-
+
GtkWidget *loweralignment = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_box_pack_start (GTK_BOX (priv->buttonvbox), loweralignment, TRUE, TRUE, 0);
-
+
priv->actionbtnlowerlabel = gtk_label_new (label);
-
+
gtk_container_add (GTK_CONTAINER (loweralignment), priv->actionbtnlowerlabel);
-
+
gtk_widget_set_size_request (priv->actionbtnlowerlabel, 38, 23); //FIXME get size from style
gtk_misc_set_alignment (GTK_MISC (priv->actionbtnlowerlabel), 0.5, 0.0);
-
+
gtk_widget_show_all (GTK_WIDGET (priv->buttonvbox));
-
+
}
void
moko_pixmap_button_set_center_stock (MokoPixmapButton* self, const gchar *stock_name)
{
MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
-
+
if ( priv->centerimage )
return;
@@ -263,7 +263,7 @@
priv->centerimage = gtk_image_new_from_stock (stock_name, GTK_ICON_SIZE_DND);
gtk_container_add (GTK_CONTAINER (loweralignment), priv->centerimage);
-
+
gtk_widget_show_all (GTK_WIDGET (priv->buttonvbox));
}
@@ -272,7 +272,7 @@
moko_pixmap_button_set_center_image (MokoPixmapButton* self, GtkWidget* image)
{
MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
-
+
if ( priv->centerimage )
return;
@@ -281,7 +281,7 @@
priv->centerimage = image;
gtk_container_add (GTK_CONTAINER (loweralignment), priv->centerimage);
-
+
gtk_widget_show_all (GTK_WIDGET (priv->buttonvbox));
}
@@ -300,22 +300,22 @@
moko_pixmap_button_set_finger_toolbox_btn_center_image_pixbuf (MokoPixmapButton* self, GdkPixbuf* pixbuf)
{
MokoPixmapButtonPrivate* priv = MOKO_PIXMAP_BUTTON_GET_PRIVATE (self);
-
+
GdkPixbuf *dest_pixbuf = gdk_pixbuf_scale_simple (pixbuf, 35, 35, GDK_INTERP_NEAREST);
if ( priv->fingertoolboxbtnimage == NULL )
{
priv->fingertoolboxbtnloweralignment = gtk_alignment_new (0.45, 0.28, 0, 0);
gtk_box_pack_start (GTK_BOX (priv->buttonvbox), priv->fingertoolboxbtnloweralignment, TRUE, TRUE, 0);
-
+
}
else
{
gtk_container_remove (GTK_CONTAINER (priv->fingertoolboxbtnloweralignment), priv->fingertoolboxbtnimage);
}
-
+
priv->fingertoolboxbtnimage = gtk_image_new_from_pixbuf (dest_pixbuf);
gtk_container_add (GTK_CONTAINER (priv->fingertoolboxbtnloweralignment), priv->fingertoolboxbtnimage);
-
+
gtk_widget_show_all (GTK_WIDGET (priv->buttonvbox));
}
Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-tree-view.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-tree-view.c 2007-04-16 18:47:17 UTC (rev 1784)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-tree-view.c 2007-04-16 19:06:08 UTC (rev 1785)
@@ -18,16 +18,27 @@
#include "moko-tree-view.h"
-G_DEFINE_TYPE (MokoTreeView, moko_tree_view, GTK_TYPE_TREE_VIEW);
+#undef DEBUG_THIS_FILE
+#ifdef DEBUG_THIS_FILE
+#define moko_debug(fmt,...) g_debug(fmt,##__VA_ARGS__)
+#define moko_debug_minder(predicate) moko_debug( __FUNCTION__ ); g_return_if_fail(predicate)
+#else
+#define moko_debug(fmt,...)
+#endif
+G_DEFINE_TYPE (MokoTreeView, moko_tree_view, GTK_TYPE_TREE_VIEW)
+
#define TREE_VIEW_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MOKO_TYPE_TREE_VIEW, MokoTreeViewPrivate))
typedef struct _MokoTreeViewPrivate
{
} MokoTreeViewPrivate;
+/* parent class pointer */
+GObjectClass* parent_class = NULL;
+
/* forward declarations */
-/* ... */
+void moko_tree_view_size_request(GtkWidget* widget, GtkRequisition* requisition);
static void
moko_tree_view_dispose (GObject *object)
@@ -45,13 +56,16 @@
static void
moko_tree_view_class_init (MokoTreeViewClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ /* hook parent */
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+ parent_class = g_type_class_peek_parent( klass );
/* register private data */
- g_type_class_add_private (klass, sizeof (MokoTreeViewPrivate));
+ g_type_class_add_private( klass, sizeof (MokoTreeViewPrivate) );
/* hook virtual methods */
- /* ... */
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass);
+ widget_class->size_request = moko_tree_view_size_request;
/* install properties */
/* ... */
@@ -79,6 +93,30 @@
return GTK_WIDGET(g_object_new(moko_tree_view_get_type(), "model", model, NULL));
}
+/* reimplemented to enforce entry-height granularity */
+void moko_tree_view_size_request(GtkWidget* widget, GtkRequisition* requisition)
+{
+ moko_debug( "moko_tree_view_size_request" );
+ MokoTreeView* self = MOKO_TREE_VIEW(widget);
+ GTK_WIDGET_CLASS(parent_class)->size_request( widget, requisition );
+#if 0 /* it doesn't work with size_request... should we try overwriting size_alloc? */
+ moko_debug( "-- [old] requesting %d, %d", requisition->width, requisition->height );
+
+ // compute height as a whole-number factor of the cell height
+ GtkTreeViewColumn* first_column = gtk_tree_view_get_column( GTK_TREE_VIEW(self), 0 );
+ g_assert( first_column ); // fail here if no columns added yet
+ gint cr_x_offset;
+ gint cr_y_offset;
+ gint cr_width;
+ gint cr_height;
+ gtk_tree_view_column_cell_get_size( first_column, NULL, &cr_x_offset, &cr_y_offset, &cr_width, &cr_height );
+
+ // prevent half cells to be visible
+ requisition->height -= requisition->height % (cr_height+2);
+ moko_debug( "-- [old] requesting %d, %d", requisition->width, requisition->height );
+#endif
+}
+
void moko_tree_view_append_column(MokoTreeView* self, GtkTreeViewColumn* column)
{
gtk_tree_view_column_set_alignment( column, 0.5 );
@@ -90,13 +128,13 @@
g_object_set( G_OBJECT(column),
"resizable", TRUE,
- "reorderable", TRUE,
+ "reorderable", FALSE,
"sort-indicator", TRUE,
NULL );
}
-_moko_tree_view_adjustment_changed(GtkAdjustment* adj, MokoTreeView* self)
+void _moko_tree_view_adjustment_changed(GtkAdjustment* adj, MokoTreeView* self)
{
// compute value for vadjustment
gtk_tree_view_set_fixed_height_mode( GTK_TREE_VIEW(self), TRUE );
More information about the commitlog
mailing list