aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libraries
diff options
context:
space:
mode:
authorDavid Walter Seikel2014-05-11 05:40:27 +1000
committerDavid Walter Seikel2014-05-11 05:40:27 +1000
commit062cfdcc1b213d5cecd907a367dee51046e2eb7b (patch)
treed9df5b851518cad53452a611f17604e62033d218 /src/libraries
parentAdd internal window title bar, and dragging them around. Plus some related c... (diff)
downloadSledjHamr-062cfdcc1b213d5cecd907a367dee51046e2eb7b.zip
SledjHamr-062cfdcc1b213d5cecd907a367dee51046e2eb7b.tar.gz
SledjHamr-062cfdcc1b213d5cecd907a367dee51046e2eb7b.tar.bz2
SledjHamr-062cfdcc1b213d5cecd907a367dee51046e2eb7b.tar.xz
Add a rectangle to pad out those that don't use the winFang box, and have them make their widdgets relative to that.
Diffstat (limited to 'src/libraries')
-rw-r--r--src/libraries/winFang.c18
-rw-r--r--src/libraries/winFang.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/src/libraries/winFang.c b/src/libraries/winFang.c
index bcf99ce..5f5b575 100644
--- a/src/libraries/winFang.c
+++ b/src/libraries/winFang.c
@@ -262,6 +262,14 @@ winFang *winFangAdd(winFang *parent, int x, int y, int w, int h, char *title, ch
262 ); 262 );
263 elm_box_pack_end(result->box, obj1); 263 elm_box_pack_end(result->box, obj1);
264 eo_unref(obj1); 264 eo_unref(obj1);
265
266 result->content = eo_add(EVAS_OBJ_RECTANGLE_CLASS, result->win,
267 evas_obj_size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL),
268 evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
269 evas_obj_color_set(0, 0, 0, 0),
270 evas_obj_visibility_set(EINA_TRUE)
271 );
272 elm_box_pack_end(result->box, result->content);
265 } 273 }
266 274
267 evas_object_resize(result->win, result->w, result->h); 275 evas_object_resize(result->win, result->w, result->h);
@@ -277,6 +285,7 @@ void winFangDel(winFang *win)
277 285
278 if (!win) return; 286 if (!win) return;
279 287
288 eo_unref(win->content);
280 eo_unref(win->box); 289 eo_unref(win->box);
281 eo_unref(win->bg); 290 eo_unref(win->bg);
282 EINA_CLIST_FOR_EACH_ENTRY(wf, &win->winFangs, winFang, node) 291 EINA_CLIST_FOR_EACH_ENTRY(wf, &win->winFangs, winFang, node)
@@ -294,6 +303,15 @@ void winFangDel(winFang *win)
294 evas_object_del(win->win); 303 evas_object_del(win->win);
295} 304}
296 305
306void useBox(winFang *win)
307{
308 eo_do(win->content,
309 evas_obj_visibility_set(EINA_FALSE),
310 evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, 0.0),
311 evas_obj_size_set(0, 0)
312 );
313}
314
297Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title) 315Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title)
298{ 316{
299 Widget *result; 317 Widget *result;
diff --git a/src/libraries/winFang.h b/src/libraries/winFang.h
index f3b4e45..17cf942 100644
--- a/src/libraries/winFang.h
+++ b/src/libraries/winFang.h
@@ -24,6 +24,7 @@ typedef struct _winFang
24 Evas_Object *title; 24 Evas_Object *title;
25 Evas_Object *bg; 25 Evas_Object *bg;
26 Evas_Object *box; 26 Evas_Object *box;
27 Evas_Object *content;
27 EPhysics_Body *body; 28 EPhysics_Body *body;
28 Eina_Clist widgets; 29 Eina_Clist widgets;
29 Eina_Clist winFangs; 30 Eina_Clist winFangs;
@@ -58,6 +59,7 @@ void winFangHide(winFang *win);
58void winFangShow(winFang *win); 59void winFangShow(winFang *win);
59void winFangDel(winFang *win); 60void winFangDel(winFang *win);
60 61
62void useBox(winFang *win);
61Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title); 63Widget *widgetAdd(winFang *win, const Eo_Class *klass, Evas_Object *parent, char *title);
62 64
63#endif 65#endif