From 8705b83353e72b410a47484ea736d41acf0a1f26 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 7 Jun 2005 13:53:27 +0000 Subject: [PATCH] writign stuff SVN revision: 15178 --- src/bin/e_moveresize.c | 2 ++ src/bin/e_winlist.c | 61 ++++++++++++++++++++++++++++++++++++++++++ src/bin/e_winlist.h | 2 +- 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/src/bin/e_moveresize.c b/src/bin/e_moveresize.c index 2bed8b7ae..0abb778e2 100644 --- a/src/bin/e_moveresize.c +++ b/src/bin/e_moveresize.c @@ -16,6 +16,8 @@ e_resize_begin(E_Zone *zone, int w, int h) if (_disp_pop) e_object_del(E_OBJECT(_disp_pop)); _disp_pop = e_popup_new(zone, 0, 0, 1, 1); + if (!_disp_pop) return; + e_popup_layer_set(_disp_pop, 255); _obj = edje_object_add(_disp_pop->evas); e_theme_edje_object_set(_obj, "base/theme/borders", "widgets/border/default/resize"); diff --git a/src/bin/e_winlist.c b/src/bin/e_winlist.c index b7f045601..be6b33e4a 100644 --- a/src/bin/e_winlist.c +++ b/src/bin/e_winlist.c @@ -6,6 +6,7 @@ /* local subsystem functions */ /* local subsystem globals */ +static E_Popup *winlist = NULL; /* externally accessible functions */ int @@ -17,6 +18,7 @@ e_winlist_init(void) int e_winlist_shutdown(void) { + e_winlist_hide(); return 1; } @@ -30,3 +32,62 @@ e_winlist_shutdown(void) * 1 - 9, 0 = select window 1 - 9, 10 * local subsystem functions */ + +void +e_winlist_show(E_Zone *zone) +{ + int x, y, w, h; + Evas_Object *o; + + if (winlist) return; + + /* FIXME: should be config */ + w = zone->w / 2; + if (w > 400) w = 400; + h = zone->h / 2; + if (h > 800) h = 800; + else if (h < 400) h = 400; + + winlist = e_popup_new(zone, x, y, w, h); + if (!winlist) return; + e_popup_layer_set(winlist, 255); + o = edje_object_add(winlist->evas); + /* FIXME: need theme stuff */ + e_theme_edje_object_set(o, "base/theme/winlist", + "widgets/winlist/main"); + evas_object_move(o, 0, 0); + evas_object_resize(o, w, h); + evas_object_show(o); + e_popup_edje_bg_object_set(winlist, o); + /* FIXME: bg obj needs to be stored */ + /* FIXME: create and swallow box */ + /* FIXME: fill box with current clients */ + /* FIXME: configure list with current focused window */ + /* FIXME: grab mouse and keyboard */ + + e_popup_show(winlist); +} + +void +e_winlist_hide(void) +{ + if (!winlist) return; + e_popup_hide(winlist); + e_object_del(E_OBJECT(winlist)); + winlist = NULL; +} + +void +e_winlist_next(void) +{ +} + +void +e_winlist_prev(void) +{ +} + +void +e_winlist_modifiers_set(int mod) +{ +} diff --git a/src/bin/e_winlist.h b/src/bin/e_winlist.h index dfd619ebe..118b3031e 100644 --- a/src/bin/e_winlist.h +++ b/src/bin/e_winlist.h @@ -10,7 +10,7 @@ EAPI int e_winlist_init(void); EAPI int e_winlist_shutdown(void); -EAPI void e_winlist_show(void); +EAPI void e_winlist_show(E_Zone *zone); EAPI void e_winlist_hide(void); EAPI void e_winlist_next(void); EAPI void e_winlist_prev(void);