[src/lib/Elementary.h.in, src/lib/elm_panes.c] Added APIs for unsetting the left...
authorRajeev Ranjan <rajeev.r@samsung.com>
Tue, 28 Sep 2010 06:35:44 +0000 (15:35 +0900)
committerRajeev Ranjan <rajeev.r@samsung.com>
Tue, 28 Sep 2010 06:35:44 +0000 (15:35 +0900)
src/lib/Elementary.h.in
src/lib/elm_panes.c

index f11333f..3ccee7f 100644 (file)
@@ -1668,17 +1668,19 @@ extern "C" {
     * Update the minimun height of the bar in the theme. No minimun should be set in the vertical theme
     * Add events (move, start ...)
     */
-   EAPI Evas_Object *elm_panes_add(Evas_Object *parent);
-   EAPI void         elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content);
-   EAPI void         elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_panes_content_left_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_panes_content_right_get(const Evas_Object *obj);
-   EAPI double       elm_panes_content_left_size_get(const Evas_Object *obj);
-   EAPI void         elm_panes_content_left_size_set(Evas_Object *obj, double size);
-   EAPI void         elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool    elm_panes_horizontal_is(const Evas_Object *obj);
-   EAPI void         elm_panes_fixed_set(Evas_Object *obj, Eina_Bool fixed);
-   EAPI Eina_Bool    elm_panes_fixed_is(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_panes_add(Evas_Object *parent);
+   EAPI void                  elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content);
+   EAPI void                  elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content);
+   EAPI Evas_Object          *elm_panes_content_left_get(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_panes_content_right_get(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_panes_content_left_unset(Evas_Object *obj);
+   EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj);
+   EAPI double                elm_panes_content_left_size_get(const Evas_Object *obj);
+   EAPI void                  elm_panes_content_left_size_set(Evas_Object *obj, double size);
+   EAPI void                  elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
+   EAPI Eina_Bool             elm_panes_horizontal_get(const Evas_Object *obj);
+   EAPI void                             elm_panes_fixed_set(Evas_Object *obj, Eina_Bool fixed);
+   EAPI Eina_Bool                elm_panes_fixed_is(const Evas_Object *obj);
 
    typedef enum _Elm_Flip_Mode
      {
index c964960..9d1ef6e 100644 (file)
@@ -154,7 +154,7 @@ elm_panes_add(Evas_Object *parent)
    e = evas_object_evas_get(parent);
    obj = elm_widget_add(e);
    ELM_SET_WIDTYPE(widtype, "panes");
-   elm_widget_type_set(obj, "panes");
+   elm_widget_type_set(obj, widtype);
    elm_widget_sub_object_add(parent, obj);
    elm_widget_data_set(obj, wd);
    elm_widget_del_hook_set(obj, _del_hook);
@@ -267,6 +267,56 @@ EAPI Evas_Object
 }
 
 /**
+ * Unset a control from a left/top content of the pane
+ *
+ * @param obj The pane object
+ * @return The content being unset
+ *
+ * @ingroup Panes
+ */
+EAPI Evas_Object *
+elm_panes_content_left_unset(Evas_Object *obj)
+{
+        ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+        Widget_Data *wd;
+        Evas_Object *content;
+
+        wd = elm_widget_data_get(obj);
+
+        content = edje_object_part_swallow_get(wd->panes, "elm.swallow.left");
+        if(!content) return NULL;
+        edje_object_part_unswallow(wd->panes, content);
+        elm_widget_sub_object_del(obj, content);
+        wd->contents.left = NULL;
+        return content;
+}
+
+/**
+ * Unset a control from a right/bottom content of the pane
+ *
+ * @param obj The pane object
+  * @return The content being unset
+ *
+ * @ingroup Panes
+ */
+EAPI Evas_Object *
+elm_panes_content_right_unset(Evas_Object *obj)
+{
+        ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+        Widget_Data *wd;
+        Evas_Object *content;
+
+        wd = elm_widget_data_get(obj);
+
+        content = edje_object_part_swallow_get(wd->panes, "elm.swallow.right");
+        if(!content) return NULL;
+        edje_object_part_unswallow(wd->panes, content);
+        elm_widget_sub_object_del(obj, content);
+        wd->contents.right = NULL;
+        return content;
+}
+
+/**
  * Get the relative normalized size of left/top content of the pane
  *
  * @param obj The pane object