+2007-04-17 Xan Lopez <xan.lopez@nokia.com>
+
+ * src/hildon-bread-crumb.c:
+ * src/hildon-bread-crumb.h:
+
+ Make the get_natural_size function a vfunc.
+
2007-04-16 Xan Lopez <xan.lopez@nokia.com>
* src/hildon-bread-crumb.c:
struct _HildonBreadCrumbPrivate
{
- GtkWidget *icon;
GtkWidget *label;
GtkWidget *arrow;
gchar *text;
const GValue *value, GParamSpec *pspec);
static void hildon_bread_crumb_get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec);
+static void hildon_bread_crumb_real_get_natural_size (HildonBreadCrumb *bread_crumb,
+ gint *width, gint *height);
G_DEFINE_TYPE (HildonBreadCrumb, hildon_bread_crumb, GTK_TYPE_BUTTON)
{
GObjectClass *gobject_class = (GObjectClass*)klass;
+ klass->get_natural_size = hildon_bread_crumb_real_get_natural_size;
+
/* GObject signals */
gobject_class->finalize = hildon_bread_crumb_finalize;
gobject_class->set_property = hildon_bread_crumb_set_property;
g_object_notify (G_OBJECT (item), "show-separator");
}
-void
-hildon_bread_crumb_get_natural_size (HildonBreadCrumb *item,
- gint *natural_width,
- gint *natural_height)
+static void
+hildon_bread_crumb_real_get_natural_size (HildonBreadCrumb *item,
+ gint *natural_width,
+ gint *natural_height)
{
GtkRequisition widget_req, label_req;
gint width, height;
}
}
+void
+hildon_bread_crumb_get_natural_size (HildonBreadCrumb *bread_crumb,
+ gint *natural_width,
+ gint *natural_height)
+{
+ HildonBreadCrumbClass *klass;
+
+ g_return_if_fail (HILDON_IS_BREAD_CRUMB (bread_crumb));
+
+ klass = HILDON_BREAD_CRUMB_GET_CLASS (bread_crumb);
+
+ if (klass->get_natural_size)
+ return (* klass->get_natural_size) (bread_crumb,
+ natural_width,
+ natural_height);
+}
+
GtkWidget*
hildon_bread_crumb_new (const gchar* text)
{
struct _HildonBreadCrumbClass
{
GtkButtonClass parent_class;
+
+ /* vfuncs */
+ void (* get_natural_size) (HildonBreadCrumb *bc,
+ gint *natural_width, gint *natural_height);
};
GType hildon_bread_crumb_get_type (void) G_GNUC_CONST;