Redesign the tools bar

Now a toolbar widget is used instead of a box.
The settings window has been replaced by a menu, as well as the apps and
connection hoversels.
This commit is contained in:
Daniel Zaoui 2017-04-21 10:38:21 +03:00
parent 6865c7f810
commit 7db88770c7
3 changed files with 167 additions and 268 deletions

View File

@ -54,7 +54,7 @@ typedef struct
int cid;
int pid;
Eina_Stringshare *name;
Eo *hs_item;
Eo *menu_item;
Eina_List *screenshots; /* Only useful for snapshot save */
Eina_Bool eo_init_done;
Eina_Bool eolian_init_done;
@ -324,7 +324,7 @@ _app_del(int cid)
if (!ai) return;
_apps = eina_list_remove(_apps, ai);
eina_stringshare_del(ai->name);
if (ai->hs_item) efl_del(ai->hs_item);
if (ai->menu_item) efl_del(ai->menu_item);
free(ai);
}
@ -527,11 +527,15 @@ end:
static void
_snapshot_load(void *data, Evas_Object *fs EINA_UNUSED, void *ev)
{
char hs_name[100];
Eo *inwin = data;
Snapshot *s = _snapshot_open(ev);
char menu_name[100];
Evas_Debug_Screenshot *shot;
Snapshot *s = NULL;
Eo *inwin = data;
unsigned int idx = 0;
if (inwin) efl_del(inwin);
s = _snapshot_open(ev);
if (!s) return;
_clean(EINA_TRUE);
@ -542,9 +546,8 @@ _snapshot_load(void *data, Evas_Object *fs EINA_UNUSED, void *ev)
_klids_get_op = s->klids_op;
_obj_info_op = s->obj_info_op;
eina_debug_opcodes_register(session, ops, NULL);
if (inwin) efl_del(inwin);
snprintf(hs_name, 90, "%s [%d]", s->app_name, s->app_pid);
elm_object_text_set(_main_widgets->apps_selector, hs_name);
snprintf(menu_name, 90, "%s [%d]", s->app_name, s->app_pid);
elm_object_text_set(_main_widgets->apps_selector, menu_name);
/* Prevent free of the buffer */
while (idx < s->cur_len)
@ -1009,11 +1012,13 @@ _snapshot_done_cb(Eina_Debug_Session *session EINA_UNUSED, int src EINA_UNUSED,
return EINA_DEBUG_OK;
}
void
snapshot_do(void *data EINA_UNUSED, Evas_Object *fs EINA_UNUSED, void *ev)
static void
_snapshot_do(void *data EINA_UNUSED, Evas_Object *fs EINA_UNUSED, void *ev)
{
void *buf;
Eo *inwin = data;
int size;
if (inwin) efl_del(inwin);
if (!_selected_app) return;
_ui_freeze(EINA_TRUE);
_snapshot = calloc(1, sizeof(*_snapshot));
@ -1023,33 +1028,21 @@ snapshot_do(void *data EINA_UNUSED, Evas_Object *fs EINA_UNUSED, void *ev)
free(buf);
}
static void
_config_objs_type_sel_selected(void *data EINA_UNUSED, const Efl_Event *event)
{
efl_key_data_set(event->object, "show_type_item", event->info);
}
void
gui_config_win_widgets_done(Gui_Config_Win_Widgets *wdgs)
objs_type_changed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
elm_win_modal_set(wdgs->win, EINA_TRUE);
elm_object_text_set(wdgs->objs_types_sel, objs_types_strings[_config->wdgs_show_type]);
efl_event_callback_add(wdgs->objs_types_sel, EFL_UI_EVENT_SELECTED, _config_objs_type_sel_selected, NULL);
elm_check_state_set(wdgs->highlight_ck, _config->highlight);
}
void
config_ok_button_clicked(void *data, const Efl_Event *event EINA_UNUSED)
{
Gui_Config_Win_Widgets *wdgs = data;
Eo *item = efl_key_data_get(wdgs->objs_types_sel, "show_type_item");
if (item)
{
_config->wdgs_show_type = (uintptr_t)elm_object_item_data_get(item);
}
_config->highlight = elm_check_state_get(wdgs->highlight_ck);
int type = (uintptr_t) data;
elm_radio_value_set(_main_widgets->objs_type_radio, type);
_config->wdgs_show_type = type;
_config_save();
}
void
highlight_changed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
_config->highlight = !_config->highlight;
elm_check_state_set(_main_widgets->highlight_ck, _config->highlight);
_config_save();
efl_del(wdgs->win);
}
static Evas_Object *
@ -1098,7 +1091,7 @@ _objs_item_content_get(void *data, Evas_Object *obj, const char *part)
}
static void
_hoversel_selected_app(void *data,
_menu_selected_app(void *data,
Evas_Object *obj, void *event_info)
{
const char *label = elm_object_item_part_text_get(event_info, NULL);
@ -1120,13 +1113,15 @@ _clients_info_added_cb(Eina_Debug_Session *session EINA_UNUSED, int src EINA_UNU
EXTRACT(buf, &pid, sizeof(int));
if(pid != getpid())
{
char hs_name[100];
char name[100];
App_Info *ai = _app_add(cid, pid, buf);
snprintf(hs_name, 90, "%s [%d]", buf, pid);
ai->hs_item = elm_hoversel_item_add(_main_widgets->apps_selector,
hs_name, "home", ELM_ICON_STANDARD, _hoversel_selected_app,
ai);
if (!ai->menu_item)
{
snprintf(name, 90, "%s [%d]", buf, pid);
ai->menu_item = elm_menu_item_add(_main_widgets->apps_selector_menu,
NULL, "home", name, _menu_selected_app, ai);
efl_wref_add(ai->menu_item, &ai->menu_item);
}
}
len = strlen(buf) + 1;
buf += len;
@ -1382,41 +1377,41 @@ _connection_type_change(Connection_Type conn_type)
{
case OFFLINE:
{
efl_gfx_visible_set(_main_widgets->save_bt, EINA_FALSE);
elm_box_unpack(_main_widgets->bar_box, _main_widgets->save_bt);
elm_object_text_set(_main_widgets->load_button, "Load file...");
elm_object_disabled_set(_main_widgets->apps_selector, EINA_TRUE);
elm_object_item_text_set(_main_widgets->save_load_bt, "Load");
elm_menu_item_icon_name_set(_main_widgets->save_load_bt, "document-export");
elm_object_item_disabled_set(_main_widgets->reload_button, EINA_TRUE);
elm_object_item_disabled_set(_main_widgets->apps_selector, EINA_TRUE);
break;
}
case LOCAL_CONNECTION:
{
efl_gfx_visible_set(_main_widgets->save_bt, EINA_TRUE);
elm_box_pack_end(_main_widgets->bar_box, _main_widgets->save_bt);
elm_object_text_set(_main_widgets->load_button, "Reload");
elm_object_disabled_set(_main_widgets->apps_selector, EINA_FALSE);
elm_object_item_text_set(_main_widgets->save_load_bt, "Save");
elm_menu_item_icon_name_set(_main_widgets->save_load_bt, "document-import");
elm_object_item_disabled_set(_main_widgets->reload_button, EINA_FALSE);
elm_object_item_disabled_set(_main_widgets->apps_selector, EINA_FALSE);
_session = eina_debug_local_connect(EINA_TRUE);
break;
}
case REMOTE_CONNECTION:
{
efl_gfx_visible_set(_main_widgets->save_bt, EINA_TRUE);
elm_box_pack_end(_main_widgets->bar_box, _main_widgets->save_bt);
elm_object_text_set(_main_widgets->load_button, "Reload");
elm_object_disabled_set(_main_widgets->apps_selector, EINA_FALSE);
elm_object_item_text_set(_main_widgets->save_load_bt, "Save");
elm_menu_item_icon_name_set(_main_widgets->save_load_bt, "document-import");
elm_object_item_disabled_set(_main_widgets->reload_button, EINA_FALSE);
elm_object_item_disabled_set(_main_widgets->apps_selector, EINA_FALSE);
#if 0
eina_debug_session_basic_codec_add(_session, EINA_DEBUG_CODEC_SHELL);
Eina_List *script_lines = _parse_script(_selected_profile->script);
if (!eina_debug_shell_remote_connect(_session, _selected_profile->command, script_lines))
{
fprintf(stderr, "ERROR: Cannot connect to shell remote debug daemon.\n");
}
eina_debug_session_basic_codec_add(_session, EINA_DEBUG_CODEC_SHELL);
Eina_List *script_lines = _parse_script(_selected_profile->script);
if (!eina_debug_shell_remote_connect(_session, _selected_profile->command, script_lines))
{
fprintf(stderr, "ERROR: Cannot connect to shell remote debug daemon.\n");
}
#endif
break;
}
default: return;
}
if (_session) eina_debug_opcodes_register(_session, ops, _post_register_handle);
elm_object_text_set(_main_widgets->conn_selector, _conn_strs[conn_type]);
elm_object_item_text_set(_main_widgets->conn_selector, _conn_strs[conn_type]);
_conn_type = conn_type;
}
@ -1447,9 +1442,10 @@ _item_realize(Obj_Info *info)
}
void
jump_entry_changed(void *data EINA_UNUSED, const Efl_Event *event)
jump_entry_changed(void *data, const Efl_Event *event)
{
Eo *en = event->object;
Eo *inwin = data;
const char *ptr = elm_entry_entry_get(en);
uint64_t id = 0;
Eina_Bool err = EINA_FALSE;
@ -1464,6 +1460,7 @@ jump_entry_changed(void *data EINA_UNUSED, const Efl_Event *event)
else err = EINA_TRUE;
ptr++;
}
evas_object_hide(inwin);
if (!err)
{
Obj_Info *info = eina_hash_find(_objs_hash, &id);
@ -1485,7 +1482,8 @@ _fs_activate(Eina_Bool is_save)
evas_object_size_hint_weight_set
(fs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(fs, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_smart_callback_add(fs, "done", _snapshot_load, inwin);
evas_object_smart_callback_add(fs, "done",
is_save?_snapshot_do:_snapshot_load, inwin);
evas_object_show(fs);
elm_win_inwin_content_set(inwin, fs);
@ -1493,15 +1491,10 @@ _fs_activate(Eina_Bool is_save)
}
void
load_perform(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
reload_perform(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
switch (_conn_type)
{
case OFFLINE:
{
_fs_activate(EINA_FALSE);
break;
}
case LOCAL_CONNECTION:
case REMOTE_CONNECTION:
{
@ -1516,15 +1509,30 @@ load_perform(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
}
void
conn_menu_show(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
save_load_perform(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
switch (_conn_type)
{
case OFFLINE:
{
_fs_activate(EINA_FALSE);
break;
}
case LOCAL_CONNECTION:
case REMOTE_CONNECTION:
{
_fs_activate(EINA_TRUE);
break;
}
default: break;
}
}
void
conn_menu_show(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
Eina_List *itr;
Profile *p;
int x = 0, y = 0, h = 0;
efl_gfx_position_get(_main_widgets->conn_selector, &x, &y);
efl_gfx_size_get(_main_widgets->conn_selector, NULL, &h);
elm_menu_move(_main_widgets->conn_selector_menu, x, y + h);
efl_gfx_visible_set(_main_widgets->conn_selector_menu, EINA_TRUE);
EINA_LIST_FOREACH(_profiles, itr, p)
{
@ -1619,6 +1627,8 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
eolian_directory_scan(EOLIAN_EO_DIR);
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
_main_widgets = gui_gui_get()->main_win;
elm_radio_value_set(_main_widgets->objs_type_radio, _config->wdgs_show_type);
elm_check_state_set(_main_widgets->highlight_ck, _config->highlight);
for (i = 0; i < LAST_CONNECTION; i++)
{

View File

@ -14,10 +14,16 @@
#include "elm_interface_fileselector.h"
#include "gui.h"
static const char* objs_types_strings[] =
{
"Show all canvas objects",
"Only show Elementary widgets",
NULL
};
static Gui_Widgets g_pub_widgets;
extern void gui_new_profile_win_create_done(Gui_New_Profile_Win_Widgets *wdgs);
extern void gui_config_win_widgets_done(Gui_Config_Win_Widgets *wdgs);
#ifdef GUI_IMAGES_PATH
const char *SHOW_SCREENSHOT_ICON = GUI_IMAGES_PATH"/show-screenshot.png";
@ -31,11 +37,11 @@ new_profile_save_cb(void *data, const Efl_Event *event);
extern void
screenshot_req_cb(void *data, const Efl_Event *event);
extern void
config_ok_button_clicked(void *data, const Efl_Event *event);
conn_menu_show(void *data, Evas_Object *obj, void *event_info);
extern void
conn_menu_show(void *data, const Efl_Event *event);
reload_perform(void *data, Evas_Object *obj, void *event_info);
extern void
load_perform(void *data, const Efl_Event *event);
save_load_perform(void *data, Evas_Object *obj, void *event_info);
extern void
jump_entry_changed(void *data, const Efl_Event *event);
extern void
@ -44,9 +50,10 @@ extern void
show_screenshot_button_clicked(void *data, const Efl_Event *event);
extern void
snapshot_do(void *data, Evas_Object *fs, void *event_info);
static void
_config_open(void *data, const Efl_Event *event);
extern void
objs_type_changed(void *data, Evas_Object *obj, void *event_info);
extern void
highlight_changed(void *data, Evas_Object *obj, void *event_info);
static void
_pubs_free_cb(void *data, const Efl_Event *event EINA_UNUSED)
@ -54,6 +61,12 @@ _pubs_free_cb(void *data, const Efl_Event *event EINA_UNUSED)
free(data);
}
static void
_jump_to_ptr_inwin_show(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
elm_win_inwin_activate(data);
}
Gui_Main_Win_Widgets *
gui_main_win_create(Eo *__main_parent)
{
@ -62,15 +75,10 @@ gui_main_win_create(Eo *__main_parent)
Eo *main_win;
Eo *elm_bg1;
Eo *elm_box1;
Eo *bar_box;
Eo *tb;
Eo *conn_selector;
Eo *conn_selector_menu;
Eo *load_button;
Eo *apps_selector;
Eo *jump2ptr_inwin;
Eo *jump_to_entry;
Eo *extensions_bt;
Eo *settings_bt;
Eo *save_bt;
Eo *freeze_pulse;
Eo *freeze_inwin;
Eo *elm_panes1;
@ -97,76 +105,77 @@ gui_main_win_create(Eo *__main_parent)
elm_win_resize_object_add(main_win, elm_bg1);
elm_win_resize_object_add(main_win, elm_box1);
bar_box = elm_box_add(main_win);
pub_widgets->bar_box = bar_box;
elm_box_horizontal_set(bar_box, EINA_TRUE);
evas_object_size_hint_weight_set(bar_box, 1.000000, 0.000000);
evas_object_size_hint_align_set(bar_box, -1.00000, -1.000000);
efl_gfx_visible_set(bar_box, EINA_TRUE);
tb = elm_toolbar_add(elm_box1);
pub_widgets->tb = tb;
elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_MENU);
elm_toolbar_menu_parent_set(tb, main_win);
evas_object_size_hint_weight_set(tb, 1.000000, 0.000000);
evas_object_size_hint_align_set(tb, -1.00000, 0);
efl_gfx_visible_set(tb, EINA_TRUE);
conn_selector = elm_button_add(bar_box);
conn_selector = elm_toolbar_item_append(tb, "call-start", "Connection", conn_menu_show, NULL);
pub_widgets->conn_selector = conn_selector;
evas_object_size_hint_weight_set(conn_selector, 1.000000, 1.000000);
evas_object_size_hint_align_set(conn_selector, -1.000000, -1.000000);
efl_gfx_visible_set(conn_selector, EINA_TRUE);
elm_box_pack_end(bar_box, conn_selector);
efl_event_callback_add(conn_selector, EFL_UI_EVENT_CLICKED, conn_menu_show, NULL);
elm_toolbar_item_menu_set(conn_selector, EINA_TRUE);
elm_toolbar_item_priority_set(conn_selector, -9999);
conn_selector_menu = elm_menu_add(main_win);
pub_widgets->conn_selector_menu = conn_selector_menu;
pub_widgets->conn_selector_menu = elm_toolbar_item_menu_get(conn_selector);
load_button = elm_button_add(bar_box);
pub_widgets->load_button = load_button;
evas_object_size_hint_weight_set(load_button, 1.000000, 1.000000);
evas_object_size_hint_align_set(load_button, -1.000000, -1.000000);
efl_gfx_visible_set(load_button, EINA_TRUE);
elm_box_pack_end(bar_box, load_button);
efl_event_callback_add(load_button, EFL_UI_EVENT_CLICKED, load_perform, NULL);
pub_widgets->reload_button = elm_toolbar_item_append(tb, "view-refresh", "Reload", reload_perform, NULL);
apps_selector = elm_hoversel_add(main_win);
pub_widgets->apps_selector = apps_selector;
evas_object_size_hint_weight_set(apps_selector, 1.000000, 1.000000);
evas_object_size_hint_align_set(apps_selector, -1.00000, -1.000000);
efl_gfx_visible_set(apps_selector, EINA_TRUE);
elm_obj_widget_part_text_set(apps_selector, NULL, "Select App");
elm_box_pack_end(bar_box, apps_selector);
pub_widgets->apps_selector = elm_toolbar_item_append(tb, "view-list-details", "Select App", NULL, NULL);
elm_toolbar_item_menu_set(pub_widgets->apps_selector, EINA_TRUE);
elm_toolbar_item_priority_set(pub_widgets->apps_selector, -9999);
jump_to_entry = elm_entry_add(bar_box);
pub_widgets->apps_selector_menu = elm_toolbar_item_menu_get(pub_widgets->apps_selector);
jump2ptr_inwin = elm_win_inwin_add(main_win);
jump_to_entry = elm_entry_add(jump2ptr_inwin);
elm_entry_scrollable_set(jump_to_entry, EINA_TRUE);
elm_entry_single_line_set(jump_to_entry, EINA_TRUE);
elm_object_part_text_set(jump_to_entry, "guide", "Jump To Pointer");
evas_object_size_hint_align_set(jump_to_entry,
EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(jump_to_entry,
EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_box_pack_end(bar_box, jump_to_entry);
efl_event_callback_add(jump_to_entry, ELM_ENTRY_EVENT_ACTIVATED, jump_entry_changed, jump2ptr_inwin);
evas_object_show(jump_to_entry);
efl_event_callback_add(jump_to_entry, ELM_ENTRY_EVENT_ACTIVATED, jump_entry_changed, NULL);
elm_win_inwin_content_set(jump2ptr_inwin, jump_to_entry);
extensions_bt = elm_button_add(bar_box);
elm_toolbar_item_append(tb, "edit-find", "Jump To Pointer", _jump_to_ptr_inwin_show, jump2ptr_inwin);
/*
extensions_bt = elm_button_add(tb);
evas_object_size_hint_weight_set(extensions_bt, 1.000000, 1.000000);
evas_object_size_hint_align_set(extensions_bt, -1.00000, -1.000000);
efl_gfx_visible_set(extensions_bt, EINA_TRUE);
elm_obj_widget_part_text_set(extensions_bt, NULL, "Extensions");
elm_box_pack_end(bar_box, extensions_bt);
elm_box_pack_end(tb, extensions_bt);
*/
settings_bt = elm_button_add(bar_box);
evas_object_size_hint_weight_set(settings_bt, 1.000000, 1.000000);
evas_object_size_hint_align_set(settings_bt, -1.00000, -1.000000);
efl_gfx_visible_set(settings_bt, EINA_TRUE);
elm_obj_widget_part_text_set(settings_bt, NULL, "Settings");
elm_box_pack_end(bar_box, settings_bt);
efl_event_callback_add(settings_bt, EFL_UI_EVENT_CLICKED, _config_open, main_win);
{
int i;
Eo *settings_it = elm_toolbar_item_append(tb, "system-run", "Settings", NULL, NULL);
elm_toolbar_item_menu_set(settings_it, EINA_TRUE);
elm_toolbar_item_priority_set(settings_it, -9999);
save_bt = elm_fileselector_button_add(bar_box);
pub_widgets->save_bt = save_bt;
evas_object_size_hint_weight_set(save_bt, 1.000000, 1.000000);
evas_object_size_hint_align_set(save_bt, -1.00000, -1.000000);
elm_fileselector_button_inwin_mode_set(save_bt, EINA_TRUE);
elm_fileselector_is_save_set(save_bt, EINA_TRUE);
elm_fileselector_path_set(save_bt, getenv("HOME"));
elm_object_text_set(save_bt, "Save");
evas_object_smart_callback_add(save_bt, "file,chosen", snapshot_do, NULL);
Eo *settings_menu = elm_toolbar_item_menu_get(settings_it);
Eo *objs_type_it = elm_menu_item_add(settings_menu, NULL, NULL,
"Objects types display", NULL, NULL);
while (objs_types_strings[i])
{
Eo *it = elm_menu_item_add(settings_menu, objs_type_it, NULL,
objs_types_strings[i], objs_type_changed, (void *)(uintptr_t)i);
Eo *rd = elm_radio_add(settings_menu);
elm_radio_state_value_set(rd, i);
if (!i) pub_widgets->objs_type_radio = rd;
else elm_radio_group_add(rd, pub_widgets->objs_type_radio);
elm_object_item_content_set(it, rd);
i++;
}
Eo *highlight_it = elm_menu_item_add(settings_menu, NULL, NULL,
"Hightlight", highlight_changed, NULL);
Eo *ck = elm_check_add(settings_menu);
elm_object_item_content_set(highlight_it, ck);
pub_widgets->highlight_ck = ck;
}
pub_widgets->save_load_bt = elm_toolbar_item_append(tb, "document-export", "Save", save_load_perform, NULL);
freeze_pulse = elm_progressbar_add(main_win);
pub_widgets->freeze_pulse = freeze_pulse;
@ -189,7 +198,7 @@ gui_main_win_create(Eo *__main_parent)
efl_gfx_visible_set(elm_panes1, EINA_TRUE);
evas_object_size_hint_weight_set(elm_panes1, 1.000000, 1.000000);
evas_object_size_hint_align_set(elm_panes1, -1.000000, -1.000000);
elm_box_pack_end(elm_box1, bar_box);
elm_box_pack_end(elm_box1, tb);
elm_box_pack_end(elm_box1, elm_panes1);
object_infos_list = elm_genlist_add(elm_panes1);
pub_widgets->object_infos_list = object_infos_list;
@ -411,112 +420,6 @@ gui_show_screenshot_win_create(Eo *__main_parent)
return pub_widgets;
}
static void
_config_cancel_button_clicked(void *data, const Efl_Event *event EINA_UNUSED)
{
Gui_Config_Win_Widgets *wdgs = data;
efl_del(wdgs->win);
}
static void
_config_open(void *data, const Efl_Event *event EINA_UNUSED)
{
Eo *parent = data;
Gui_Config_Win_Widgets *wdgs = gui_config_win_create(parent);
gui_config_win_widgets_done(wdgs);
}
Gui_Config_Win_Widgets *
gui_config_win_create(Eo *__main_parent)
{
Gui_Config_Win_Widgets *pub_widgets = calloc(1, sizeof(*pub_widgets));
Eo *win;
Eo *elm_bg2;
Eo *elm_box2;
Eo *elm_box3;
Eo *options_box;
Eo *ok_button;
Eo *cancel_button;
Eo *objs_types_sel;
Eo *highlight_ck;
win = elm_win_add(__main_parent, "Win", ELM_WIN_BASIC);
pub_widgets->win = win;
elm_win_autodel_set(win, EINA_TRUE);
elm_widget_part_text_set(win, NULL, "Window");
efl_gfx_size_set(win, 347, 362);
evas_object_size_hint_weight_set(win, 1.000000, 1.000000);
evas_object_freeze_events_set(win, EINA_FALSE);
evas_object_repeat_events_set(win, EINA_FALSE);
elm_win_title_set(win, "Config");
elm_bg2 = elm_bg_add(win);
evas_object_size_hint_weight_set(elm_bg2, 1.000000, 1.000000);
efl_gfx_visible_set(elm_bg2, EINA_TRUE);
elm_box2 = elm_box_add(win);
elm_box_padding_set(elm_box2, 7, 0);
evas_object_size_hint_weight_set(elm_box2, 1.000000, 1.000000);
efl_gfx_visible_set(elm_box2, EINA_TRUE);
elm_win_resize_object_add(win, elm_bg2);
elm_win_resize_object_add(win, elm_box2);
elm_box3 = elm_box_add(elm_box2);
elm_box_padding_set(elm_box3, 7, 0);
evas_object_size_hint_align_set(elm_box3, -1.000000, -1.000000);
efl_gfx_visible_set(elm_box3, EINA_TRUE);
elm_box_horizontal_set(elm_box3, EINA_TRUE);
evas_object_size_hint_weight_set(elm_box3, 1.000000, 0.200000);
ok_button = efl_add(ELM_BUTTON_CLASS, elm_box3);
pub_widgets->ok_button = ok_button;
evas_object_size_hint_weight_set(ok_button, 1.000000, 1.000000);
efl_gfx_visible_set(ok_button, EINA_TRUE);
elm_obj_widget_part_text_set(ok_button, NULL, "Ok");
efl_event_callback_add(ok_button, EFL_UI_EVENT_CLICKED, config_ok_button_clicked, pub_widgets);
cancel_button = efl_add(ELM_BUTTON_CLASS, elm_box3);
pub_widgets->cancel_button = cancel_button;
evas_object_size_hint_weight_set(cancel_button, 1.000000, 1.000000);
efl_gfx_visible_set(cancel_button, EINA_TRUE);
elm_obj_widget_part_text_set(cancel_button, NULL, "Cancel");
efl_event_callback_add(cancel_button, EFL_UI_EVENT_CLICKED, _config_cancel_button_clicked, pub_widgets);
elm_box_pack_end(elm_box3, ok_button);
elm_box_pack_end(elm_box3, cancel_button);
options_box = elm_box_add(elm_box2);
evas_object_size_hint_align_set(options_box, -1.000000, -1.000000);
efl_gfx_visible_set(options_box, EINA_TRUE);
evas_object_size_hint_weight_set(options_box, 1.000000, 0.200000);
objs_types_sel = elm_hoversel_add(options_box);
evas_object_size_hint_weight_set(objs_types_sel, 1.000000, 0.000000);
evas_object_size_hint_align_set(objs_types_sel, -1.00000, -1.000000);
elm_hoversel_hover_parent_set(objs_types_sel, win);
elm_hoversel_auto_update_set(objs_types_sel, EINA_TRUE);
elm_hoversel_item_add(objs_types_sel, objs_types_strings[0], NULL, ELM_ICON_NONE, NULL, (void *)0);
elm_hoversel_item_add(objs_types_sel, objs_types_strings[1], NULL, ELM_ICON_NONE, NULL, (void *)1);
efl_gfx_visible_set(objs_types_sel, EINA_TRUE);
elm_box_pack_end(options_box, objs_types_sel);
pub_widgets->objs_types_sel = objs_types_sel;
highlight_ck = elm_check_add(options_box);
pub_widgets->highlight_ck = highlight_ck;
evas_object_size_hint_weight_set(highlight_ck, 1.000000, 1.000000);
evas_object_size_hint_align_set(highlight_ck, -1.00000, -1.000000);
elm_object_text_set(highlight_ck, "Highlight");
elm_box_pack_end(options_box, highlight_ck);
efl_gfx_visible_set(highlight_ck, EINA_TRUE);
elm_box_pack_end(elm_box2, options_box);
elm_box_pack_end(elm_box2, elm_box3);
efl_gfx_visible_set(win, EINA_TRUE);
efl_event_callback_add(win, EFL_EVENT_DEL, _pubs_free_cb, pub_widgets);
return pub_widgets;
}
Gui_Widgets *gui_gui_get()
{
static Eina_Bool initialized = EINA_FALSE;

View File

@ -3,21 +3,18 @@
#include <Eo.h>
#include <Elementary.h>
static const char* objs_types_strings[] =
{
"Show all canvas objects",
"Only show Elementary widgets"
};
typedef struct
{
Eo *main_win;
Eo *bar_box;
Eo *tb;
Eo *conn_selector;
Eo *conn_selector_menu;
Eo *load_button;
Eo *reload_button;
Eo *apps_selector;
Eo *save_bt;
Eo *apps_selector_menu;
Eo *objs_type_radio;
Eo *highlight_ck;
Eo *save_load_bt;
Eo *object_infos_list;
Eo *objects_list;
Eo *freeze_pulse;
@ -34,15 +31,6 @@ typedef struct
Eo *new_profile_script;
} Gui_New_Profile_Win_Widgets;
typedef struct
{
Eo *win;
Eo *ok_button;
Eo *cancel_button;
Eo *objs_types_sel;
Eo *highlight_ck;
} Gui_Config_Win_Widgets;
typedef struct
{
Eo *bt;
@ -72,7 +60,5 @@ Gui_Take_Screenshot_Button_Widgets *gui_take_screenshot_button_create(Eo *parent
Gui_Show_Screenshot_Button_Widgets *gui_show_screenshot_button_create(Eo *parent);
Gui_Show_Screenshot_Win_Widgets *gui_show_screenshot_win_create(Eo *parent);
Gui_Config_Win_Widgets *gui_config_win_create(Eo *__main_parent);
Gui_Widgets *gui_gui_get();
#endif