Added API to pannable are in order to get its adjustments. We added two properties...
authorAlejandro G. Castro <alex@igalia.com>
Fri, 12 Dec 2008 11:29:56 +0000 (11:29 +0000)
committerAlejandro G. Castro <alex@igalia.com>
Fri, 12 Dec 2008 11:29:56 +0000 (11:29 +0000)
* src/hildon-pannable-area.c:
(hildon_pannable_area_class_init): Added hadjustment and
vadjustment properties in order to expose horizontal and vertical
adjustment.
(hildon_pannable_area_get_property),
(hildon_pannable_area_set_property): Added code to handle the new
properties
(hildon_pannable_area_get_hadjustment),
(hildon_pannable_area_get_vadjustment): API functions to get the
adjustments
* src/hildon-pannable-area.h:
(hildon_pannable_area_get_hadjustment),
(hildon_pannable_area_get_vadjustment): API functions to get the
adjustments

ChangeLog
src/hildon-pannable-area.c
src/hildon-pannable-area.h

index 79bb19b..6c17155 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,26 @@
 2008-12-12  Alejandro G. Castro         <alex@igalia.com>
 
+       Added API to pannable are in order to get its adjustments. We
+       added two properties to manage the values we had in the private
+       structure.
+
+       * src/hildon-pannable-area.c:
+       (hildon_pannable_area_class_init): Added hadjustment and
+       vadjustment properties in order to expose horizontal and vertical
+       adjustment.
+       (hildon_pannable_area_get_property),
+       (hildon_pannable_area_set_property): Added code to handle the new
+       properties
+       (hildon_pannable_area_get_hadjustment),
+       (hildon_pannable_area_get_vadjustment): API functions to get the
+       adjustments
+       * src/hildon-pannable-area.h:
+       (hildon_pannable_area_get_hadjustment),
+       (hildon_pannable_area_get_vadjustment): API functions to get the
+       adjustments
+
+2008-12-12  Alejandro G. Castro         <alex@igalia.com>
+
        Fixed some leaks, after valgrinding.
 
        * src/hildon-touch-selector.c:
index 72a8229..69fed5e 100644 (file)
@@ -137,6 +137,8 @@ enum {
   PROP_SCROLL_TIME,
   PROP_INITIAL_HINT,
   PROP_SIZE_REQUEST_POLICY,
+  PROP_HADJUSTMENT,
+  PROP_VADJUSTMENT,
   PROP_LAST
 };
 
@@ -396,6 +398,21 @@ hildon_pannable_area_class_init (HildonPannableAreaClass * klass)
                                                       G_PARAM_READWRITE|
                                                       G_PARAM_CONSTRUCT));
 
+  g_object_class_install_property (object_class,
+                                  PROP_HADJUSTMENT,
+                                  g_param_spec_object ("hadjustment",
+                                                       "Horizontal Adjustment",
+                                                       "The GtkAdjustment for the horizontal position",
+                                                       GTK_TYPE_ADJUSTMENT,
+                                                       G_PARAM_READABLE));
+  g_object_class_install_property (object_class,
+                                  PROP_VADJUSTMENT,
+                                  g_param_spec_object ("vadjustment",
+                                                       "Vertical Adjustment",
+                                                       "The GtkAdjustment for the vertical position",
+                                                       GTK_TYPE_ADJUSTMENT,
+                                                       G_PARAM_READABLE));
+
   gtk_widget_class_install_style_property (widget_class,
                                           g_param_spec_uint
                                           ("indicator-width",
@@ -535,7 +552,16 @@ hildon_pannable_area_get_property (GObject * object,
   case PROP_SIZE_REQUEST_POLICY:
     g_value_set_enum (value, priv->size_request_policy);
     break;
-
+  case PROP_HADJUSTMENT:
+    g_value_set_object (value,
+                        hildon_pannable_area_get_hadjustment
+                        (HILDON_PANNABLE_AREA (object)));
+    break;
+  case PROP_VADJUSTMENT:
+    g_value_set_object (value,
+                        hildon_pannable_area_get_vadjustment
+                        (HILDON_PANNABLE_AREA (object)));
+    break;
   default:
     G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
   }
@@ -2518,6 +2544,41 @@ hildon_pannable_get_child_widget_at (HildonPannableArea *area,
   return child_widget;
 }
 
+
+/**
+ * hildon_pannable_get_hadjustment:
+ * @area: A #HildonPannableArea.
+ *
+ * Returns the horizontal adjustment
+ *
+ * returns: The horizontal #GtkAdjustment
+ **/
+GtkAdjustment*
+hildon_pannable_area_get_hadjustment            (HildonPannableArea *area)
+{
+
+  g_return_val_if_fail (HILDON_IS_PANNABLE_AREA (area), NULL);
+
+  return area->priv->hadjust;
+}
+
+/**
+ * hildon_pannable_get_vadjustment:
+ * @area: A #HildonPannableArea.
+ *
+ * Returns the vertical adjustment
+ *
+ * returns: The vertical #GtkAdjustment
+ **/
+GtkAdjustment*
+hildon_pannable_area_get_vadjustment            (HildonPannableArea *area)
+{
+  g_return_val_if_fail (HILDON_IS_PANNABLE_AREA (area), NULL);
+
+  return area->priv->vadjust;
+}
+
+
 /**
  * hildon_pannable_area_get_size_request_policy:
  * @area: A #HildonPannableArea.
index 969a94e..b118385 100644 (file)
@@ -160,6 +160,8 @@ GtkWidget* hildon_pannable_get_child_widget_at  (HildonPannableArea *area,
 HildonSizeRequestPolicy hildon_pannable_area_get_size_request_policy (HildonPannableArea *area);
 void hildon_pannable_area_set_size_request_policy (HildonPannableArea *area,
                                                    HildonSizeRequestPolicy size_request_policy);
+GtkAdjustment* hildon_pannable_area_get_hadjustment (HildonPannableArea *area);
+GtkAdjustment* hildon_pannable_area_get_vadjustment (HildonPannableArea *area);
 
 G_END_DECLS