From 811750155227279ae09dc4258f411687f659f690 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 5 May 2014 04:58:31 +1000 Subject: Merge winFangComplete into winFangAdd. --- src/extantz/chat.c | 3 +-- src/extantz/files.c | 3 +-- src/extantz/winFang.c | 67 ++++++++++++++++++++++++--------------------------- src/extantz/winFang.h | 3 +-- src/extantz/woMan.c | 3 +-- 5 files changed, 36 insertions(+), 43 deletions(-) (limited to 'src') diff --git a/src/extantz/chat.c b/src/extantz/chat.c index e0aa9da..5036c95 100644 --- a/src/extantz/chat.c +++ b/src/extantz/chat.c @@ -16,7 +16,7 @@ winFang *chat_add(globals *ourGlobals) Widget *wid; Evas_Object *bx, *en; - me = winFangAdd(ourGlobals->win); + me = winFangAdd(ourGlobals->win, 30, 500, ourGlobals->win_w / 3, ourGlobals->win_h / 3); eina_clist_add_head(&ourGlobals->winFangs, &me->node); bx = eo_add(ELM_OBJ_BOX_CLASS, me->win, @@ -47,6 +47,5 @@ winFang *chat_add(globals *ourGlobals) evas_object_show(bx); eo_unref(bx); - winFangComplete(me, 30, 500, ourGlobals->win_w / 3, ourGlobals->win_h / 3); return me; } diff --git a/src/extantz/files.c b/src/extantz/files.c index 6743deb..254fc5f 100644 --- a/src/extantz/files.c +++ b/src/extantz/files.c @@ -146,7 +146,7 @@ winFang *filesAdd(globals *ourGlobals, char *path, Eina_Bool multi, Eina_Bool sa Widget *wid; Evas_Object *bx, *vbox, *fs, *bt, *rd = NULL, *rdg = NULL, *hoversel; - me = winFangAdd(ourGlobals->win); + me = winFangAdd(ourGlobals->win, ourGlobals->win_w - 380, ourGlobals->win_w - 530, 350, 500); eina_clist_add_head(&ourGlobals->winFangs, &me->node); bx = eo_add(ELM_OBJ_BOX_CLASS, me->win, @@ -278,7 +278,6 @@ winFang *filesAdd(globals *ourGlobals, char *path, Eina_Bool multi, Eina_Bool sa eo_unref(vbox); eo_unref(bx); - winFangComplete(me, ourGlobals->win_w - 380, ourGlobals->win_w - 530, 350, 500); winFangHide(me); return me; } diff --git a/src/extantz/winFang.c b/src/extantz/winFang.c index 830b84e..07fdaa7 100644 --- a/src/extantz/winFang.c +++ b/src/extantz/winFang.c @@ -67,14 +67,21 @@ void winFangShow(winFang *win) evas_object_show(win->hand[i]); } -winFang *winFangAdd(Evas_Object *parent) +winFang *winFangAdd(Evas_Object *parent, int x, int y, int w, int h) { winFang *result; - Evas_Object *bg; + Evas_Object *obj, *obj2, *bg; + char buf[PATH_MAX]; + int i; result = calloc(1, sizeof(winFang)); eina_clist_init(&result->widgets); + result->x = x; + result->y = y; + result->w = w; + result->h = h; + // In theory this should create an EWS window, in practice, I'm not seeing any difference. // Guess I'll have to implement my own internal window manager. I don't think a basic one will be that hard. Famous last words. // elm_config_engine_set("ews"); @@ -92,61 +99,51 @@ winFang *winFangAdd(Evas_Object *parent) elm_win_resize_object_add(result->win, bg); evas_object_show(bg); - return result; -} - -void winFangComplete(winFang *win, int x, int y, int w, int h) -{ - Evas_Object *obj = elm_win_inlined_image_object_get(win->win); - Evas_Object *obj2 = evas_object_evas_get(obj); - char buf[PATH_MAX]; - int i; - - win->x = x; - win->y = y; - win->w = w; - win->h = h; + obj = elm_win_inlined_image_object_get(result->win); + obj2 = evas_object_evas_get(obj); // image object for win is unlinked to its pos/size - so manual control // this allows also for using map and other things with it. - evas_object_move(obj, x, y); + evas_object_move(obj, result->x, result->y); // Odd, it needs to be resized twice. WTF? - evas_object_resize(win->win, w, h); - evas_object_resize(obj, w, h); - evas_object_show(win->win); + evas_object_resize(result->win, result->w, result->h); + evas_object_resize(obj, result->w, result->h); + evas_object_show(result->win); // Create corner handles. snprintf(buf, sizeof(buf), "%s/pt.png", elm_app_data_dir_get()); for (i = 0; i < 4; i++) { char key[32]; - int cx = x, cy = y; + int cx = result->x, cy = result->y; - if (i == 1) cx += w; - else if (i == 2) {cx += w; cy += h;} - else if (i == 3) cy += h; + if (i == 1) cx += result->w; + else if (i == 2) {cx += result->w; cy += result->h;} + else if (i == 3) cy += result->h; snprintf(key, sizeof(key), "h-%i\n", i); #if 1 - win->hand[i] = evas_object_image_filled_add(obj2); - evas_object_image_file_set(win->hand[i], buf, NULL); - evas_object_resize(win->hand[i], 31, 31); - evas_object_move(win->hand[i], cx - 15, cy - 15); - evas_object_data_set(obj, key, win->hand[i]); - evas_object_show(win->hand[i]); - evas_object_event_callback_add(win->hand[i], EVAS_CALLBACK_MOUSE_MOVE, cb_mouse_move, obj); + result->hand[i] = evas_object_image_filled_add(obj2); + evas_object_image_file_set(result->hand[i], buf, NULL); + evas_object_resize(result->hand[i], 31, 31); + evas_object_move(result->hand[i], cx - 15, cy - 15); + evas_object_data_set(obj, key, result->hand[i]); + evas_object_show(result->hand[i]); + evas_object_event_callback_add(result->hand[i], EVAS_CALLBACK_MOUSE_MOVE, cb_mouse_move, obj); #else // TODO - No idea why, but using this version makes the window vanish when you click on a handle. - win->hand[i] = eo_add(EVAS_OBJ_IMAGE_CLASS, obj2, + result->hand[i] = eo_add(EVAS_OBJ_IMAGE_CLASS, obj2, evas_obj_image_filled_set(EINA_TRUE), evas_obj_image_file_set(buf, NULL), evas_obj_size_set(31, 31), evas_obj_position_set(cx - 15, cy - 15), - eo_key_data_set(key, win->hand[i], NULL), + eo_key_data_set(key, result->hand[i], NULL), evas_obj_visibility_set(EINA_TRUE) ); - evas_object_event_callback_add(win->hand[i], EVAS_CALLBACK_MOUSE_MOVE, cb_mouse_move, obj); - eo_unref(win->hand[i]); + evas_object_event_callback_add(result->hand[i], EVAS_CALLBACK_MOUSE_MOVE, cb_mouse_move, obj); + eo_unref(result->hand[i]); #endif } + + return result; } void winFangDel(winFang *win) diff --git a/src/extantz/winFang.h b/src/extantz/winFang.h index 49c7889..478fb4e 100644 --- a/src/extantz/winFang.h +++ b/src/extantz/winFang.h @@ -30,8 +30,7 @@ typedef struct _Widget Evas_Smart_Cb on_del; } Widget; -winFang *winFangAdd(Evas_Object *parent); -void winFangComplete(winFang *win, int x, int y, int w, int h); +winFang *winFangAdd(Evas_Object *parent, int x, int y, int w, int h); void winFangHide(winFang *win); void winFangShow(winFang *win); void winFangDel(winFang *win); diff --git a/src/extantz/woMan.c b/src/extantz/woMan.c index b5a4f50..dc9c8e0 100644 --- a/src/extantz/woMan.c +++ b/src/extantz/woMan.c @@ -159,7 +159,7 @@ winFang *woMan_add(globals *ourGlobals) char buf[PATH_MAX]; int i; - me = winFangAdd(ourGlobals->win); + me = winFangAdd(ourGlobals->win, 30, 30, ourGlobals->win_w / 3, ourGlobals->win_h / 3); eina_clist_add_head(&ourGlobals->winFangs, &me->node); bx = elm_box_add(me->win); @@ -287,6 +287,5 @@ winFang *woMan_add(globals *ourGlobals) eo_unref(bt); evas_object_show(bx); - winFangComplete(me, 30, 30, ourGlobals->win_w / 3, ourGlobals->win_h / 3); return me; } -- cgit v1.1