Account for bottom panel size in conformant widget.
authorChristopher Michael <cpmichael1@comcast.net>
Thu, 14 Jan 2010 02:45:15 +0000 (02:45 +0000)
committerChristopher Michael <cpmichael1@comcast.net>
Thu, 14 Jan 2010 02:45:15 +0000 (02:45 +0000)
SVN revision: 45104

data/themes/default.edc
src/lib/elm_conform.c

index 34eb79c..6c1fc26 100644 (file)
@@ -22194,6 +22194,18 @@ group
                   align: 0.0 0.0;
                   rel1.relative: 0.0 1.0;
                   rel1.to_y: "elm.swallow.shelf";
+                  rel2.relative: 1.0 0.0;
+                  rel2.to_y: "elm.swallow.panel";
+               }
+          }
+        part 
+          {
+             name: "elm.swallow.panel";
+             type: SWALLOW;
+             description 
+               {
+                  state: "default" 0.0;
+                  align: 0.0 1.0;
                }
           }
      }
index 9103a03..83ed9ca 100644 (file)
@@ -5,7 +5,7 @@ typedef struct _Widget_Data Widget_Data;
 struct _Widget_Data 
 {
    Evas_Object *base;
-   Evas_Object *shelf;
+   Evas_Object *shelf, *panel;
    Evas_Object *content;
 };
 
@@ -50,7 +50,6 @@ elm_conformant_add(Evas_Object *parent)
    Evas_Object *obj;
    Evas *evas;
    Widget_Data *wd;
-   int sh = -1;
 
    wd = ELM_NEW(Widget_Data);
    evas = evas_object_evas_get(parent);
@@ -66,6 +65,8 @@ elm_conformant_add(Evas_Object *parent)
    elm_widget_resize_object_set(obj, wd->base);
 
 #ifdef HAVE_ELEMENTARY_X
+   int sh = -1;
+
    ecore_x_e_illume_top_shelf_geometry_get(ecore_x_window_root_first_get(), 
                                            NULL, NULL, NULL, &sh);
    if (sh < 0) sh = 32;
@@ -75,6 +76,17 @@ elm_conformant_add(Evas_Object *parent)
    evas_object_size_hint_min_set(wd->shelf, -1, sh);
    evas_object_size_hint_max_set(wd->shelf, -1, sh);
    edje_object_part_swallow(wd->base, "elm.swallow.shelf", wd->shelf);
+
+   sh = -1;
+   ecore_x_e_illume_bottom_panel_geometry_get(ecore_x_window_root_first_get(), 
+                                              NULL, NULL, NULL, &sh);
+   if (sh < 0) sh = 32;
+
+   wd->panel = evas_object_rectangle_add(evas);
+   evas_object_color_set(wd->panel, 0, 0, 0, 0);
+   evas_object_size_hint_min_set(wd->panel, -1, sh);
+   evas_object_size_hint_max_set(wd->panel, -1, sh);
+   edje_object_part_swallow(wd->base, "elm.swallow.panel", wd->panel);
 #endif
 
    _sizing_eval(obj);