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:
parent
6865c7f810
commit
7db88770c7
|
@ -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++)
|
||||
{
|
||||
|
|
251
src/bin/gui.c
251
src/bin/gui.c
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue