edc_navigator: not completed. but first patch set for base layout & infra

This commit is contained in:
Hermet Park 2016-02-22 20:44:07 +09:00
parent 28a622d04e
commit b891b071be
15 changed files with 129 additions and 17 deletions

2
README
View File

@ -36,7 +36,7 @@ F3 - Save
F4 - Load
F5 - Toggle Line Number
F9 - Toggle Tools
F10 - Toggle Console
F10 - Toggle EDC Navigator
F11 - Toggle Status
F12 - Settings

View File

@ -18,7 +18,7 @@ F3 - Save</br>
F4 - Load</br>
F5 - Toggle Line Number</br>
F9 - Toggle Tools</br>
F10 - Toggle Console</br>
F10 - Toggle EDC Navigator</br>
F11 - Toggle Status</br>
F12 - Settings</br>
</br>

View File

@ -21,6 +21,7 @@ images {
image: "live_textblock.png" COMP;
image: "expand.png" COMP;
image: "invert.png" COMP;
image: "edc_navigator.png" COMP;
}
#define ICON_GROUP(_group_name, _image_path) \
@ -55,5 +56,6 @@ ICON_GROUP("Swallow", "live_swallow.png")
ICON_GROUP("Text", "live_text.png")
ICON_GROUP("Textblock", "live_textblock.png")
ICON_GROUP("close", "icon_close.png")
ICON_GROUP("edc_navigator", "edc_navigator.png")
#undef ICON_GROUP

View File

@ -70,4 +70,5 @@ EXTRA_DIST = \
horizontal_separated_bar_small_glow.png \
expand.png \
invert.png \
icon_close.png
icon_close.png \
edc_navigator.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -2387,7 +2387,7 @@ group { name: "main_layout";
type: SPACER;
scale: 1;
description {
min: 640 440;
min: 900 440;
}
}
part { name: "tools_base";
@ -2427,12 +2427,12 @@ group { name: "main_layout";
image.border_scale: 1;
}
}
part { name: "elm.swallow.panes";
type: SWALLOW;
swallow { "elm.swallow.panes";
scale: 1;
description { state: "default" 0.0;
desc { "default";
rel1.relative: 0 1;
rel2.relative: 1 0;
rel2.relative: 0 0;
rel2.to: "elm.swallow.edc_navigator";
rel1.to_y: "elm.swallow.tools";
rel2.to_y: "elm.swallow.statusbar";
}
@ -2465,8 +2465,36 @@ group { name: "main_layout";
align: 0.5 1;
}
}
swallow { "elm.swallow.edc_navigator";
scale: 1;
desc { "default";
rel1.relative: 1 1;
rel2.relative: 1 0;
rel1.to_y: "elm.swallow.tools";
rel2.to_y: "elm.swallow.statusbar";
align: 1 0;
min: 0 0;
fixed: 1 0;
}
desc { "visible";
inherit: "default";
min: 150 0;
}
}
}
programs {
program { "edc_navigator_show";
signal: "elm,state,edc_navigator,show";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.edc_navigator";
transition: DECELERATE 0.25;
}
program { "edc_navigator_hide";
signal: "elm,state,edc_navigator,hide";
action: STATE_SET "default" 0.0;
target: "elm.swallow.edc_navigator";
transition: DECELERATE 0.25;
}
program { name: "statusbar_show";
signal: "elm,state,statusbar,show";
action: STATE_SET "visible" 0.0;

View File

@ -70,6 +70,19 @@ base_statusbar_toggle(Eina_Bool toggle)
elm_object_signal_emit(bd->layout, "elm,state,statusbar,hide", "");
}
void base_edc_navigator_toggle(Eina_Bool toggle)
{
base_data *bd = g_bd;
assert(bd);
if (toggle) config_edc_navigator_set(!config_edc_navigator_get());
if (config_edc_navigator_get())
elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,show", "");
else
elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,hide", "");
}
void
base_tools_toggle(Eina_Bool config)
{

View File

@ -38,6 +38,7 @@ typedef struct config_s
Eina_Bool console;
Eina_Bool auto_complete;
Eina_Bool smart_undo_redo;
Eina_Bool edc_navigator;
} config_data;
static config_data *g_cd = NULL;
@ -158,7 +159,7 @@ config_load(void)
}
}
// loaded config is not compatile with current version of Enventor
if (cd->version < ENVENTOR_CONFIG_VERSION)
if (!ef || cd->version < ENVENTOR_CONFIG_VERSION)
{
cd->img_path_list = NULL;
cd->snd_path_list = NULL;
@ -180,6 +181,7 @@ config_load(void)
cd->auto_complete = EINA_TRUE;
cd->version = ENVENTOR_CONFIG_VERSION;
cd->smart_undo_redo = EINA_FALSE;
cd->edc_navigator = EINA_TRUE;
}
g_cd = cd;
@ -288,6 +290,8 @@ eddc_init(void)
auto_complete, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "smart_undo_redo",
smart_undo_redo, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "edc_navigator",
edc_navigator, EET_T_UCHAR);
}
void
@ -876,3 +880,17 @@ config_tools_set(Eina_Bool enabled)
config_data *cd = g_cd;
cd->tools = enabled;
}
void
config_edc_navigator_set(Eina_Bool enabled)
{
config_data *cd = g_cd;
cd->edc_navigator = enabled;
}
Eina_Bool
config_edc_navigator_get(void)
{
config_data *cd = g_cd;
return cd->edc_navigator;
}

View File

@ -43,6 +43,7 @@ tools_update(void)
tools_highlight_update(EINA_FALSE);
tools_dummy_update(EINA_FALSE);
tools_status_update(EINA_FALSE);
tools_edc_navigator_update(EINA_FALSE);
}
static void
@ -772,11 +773,11 @@ keygrabber_key_down_cb(void *data, Evas *e EINA_UNUSED,
base_tools_toggle(EINA_TRUE);
return;
}
//Console
//EDC Navigator
if (!strcmp(ev->key, "F10"))
{
enventor_object_ctxpopup_dismiss(ad->enventor);
base_console_toggle();
tools_edc_navigator_update(EINA_TRUE);
return;
}
//Statusbar

View File

@ -23,6 +23,7 @@ struct setting_s
Evas_Object *toggle_highlight;
Evas_Object *toggle_swallow;
Evas_Object *toggle_stats;
Evas_Object *toggle_edc_navigator;
Evas_Object *toggle_tools;
Evas_Object *toggle_console;
@ -414,6 +415,11 @@ general_layout_create(setting_data *sd, Evas_Object *parent)
config_stats_bar_get());
elm_box_pack_end(box, toggle_stats);
//Toggle (EDC Navigator)
Evas_Object *toggle_edc_navigator = toggle_create(box, _("EDC Navigator"),
config_edc_navigator_get());
elm_box_pack_end(box, toggle_edc_navigator);
//Toggle (Tools)
Evas_Object *toggle_tools = toggle_create(box, _("Tools"),
config_tools_get());
@ -435,6 +441,7 @@ general_layout_create(setting_data *sd, Evas_Object *parent)
sd->toggle_highlight = toggle_highlight;
sd->toggle_swallow = toggle_swallow;
sd->toggle_stats = toggle_stats;
sd->toggle_edc_navigator = toggle_edc_navigator;
sd->toggle_tools = toggle_tools;
sd->toggle_console = toggle_console;

View File

@ -8,6 +8,7 @@ typedef struct tools_s
{
Evas_Object *swallow_btn;
Evas_Object *status_btn;
Evas_Object *edc_navigator_btn;
Evas_Object *lines_btn;
Evas_Object *highlight_btn;
Evas_Object *goto_btn;
@ -31,25 +32,33 @@ menu_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
}
static void
highlight_cb(void *data, Evas_Object *obj EINA_UNUSED,
highlight_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
tools_highlight_update(EINA_TRUE);
}
static void
dummy_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
dummy_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
tools_dummy_update(EINA_TRUE);
}
static void
lines_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
lines_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
tools_lines_update(EINA_TRUE);
}
static void
edc_navigator_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
tools_edc_navigator_update(EINA_TRUE);
}
static void
status_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
@ -238,7 +247,6 @@ tools_init(Evas_Object *parent)
elm_box_pack_end(box, btn);
td->lines_btn = btn;
sp = elm_separator_add(box);
evas_object_show(sp);
elm_box_pack_end(box, sp);
@ -250,6 +258,13 @@ tools_init(Evas_Object *parent)
elm_box_pack_end(box, btn);
td->console_btn = btn;
btn = tools_btn_create(box, "edc_navigator", _("EDC Navigator (F10)"),
edc_navigator_cb);
evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL);
elm_box_pack_end(box, btn);
td->edc_navigator_btn = btn;
btn = tools_btn_create(box, "status", _("Status (F11)"), status_cb);
evas_object_size_hint_weight_set(btn, 0, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(btn, 1.0, EVAS_HINT_FILL);
@ -309,6 +324,29 @@ tools_highlight_update(Eina_Bool toggle)
elm_object_signal_emit(td->highlight_btn, "icon,highlight,disabled", "");
}
void
tools_edc_navigator_update(Eina_Bool toggle)
{
tools_data *td = g_td;
if (!td) return;
if (toggle) config_edc_navigator_set(!config_edc_navigator_get());
base_edc_navigator_toggle(EINA_FALSE);
//Toggle on/off
if (config_edc_navigator_get())
{
elm_object_signal_emit(td->edc_navigator_btn, "icon,highlight,enabled",
"");
}
else
{
elm_object_signal_emit(td->edc_navigator_btn, "icon,highlight,disabled",
"");
}
}
void
tools_lines_update(Eina_Bool toggle)
{

View File

@ -21,3 +21,4 @@ void base_gui_term(void);
void base_console_reset(void);
void base_error_msg_set(const char *msg);
void base_console_full_view(void);
void base_edc_navigator_toggle(Eina_Bool toggle);

View File

@ -57,7 +57,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
#define ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.5) / pow(10, dig))
#define ENVENTOR_CONFIG_VERSION 4
#define ENVENTOR_CONFIG_VERSION 5
#define EVENT_KEY_MODIFIER_CHECK(NAME, MASK) \
((MASK & ECORE_EVENT_MODIFIER_##NAME) && \

View File

@ -58,3 +58,5 @@ void config_win_size_get(Evas_Coord *w, Evas_Coord *h);
void config_win_size_set(Evas_Coord w, Evas_Coord h);
void config_smart_undo_redo_set(Eina_Bool smart_undo_redo);
Eina_Bool config_smart_undo_redo_get(void);
void config_edc_navigator_set(Eina_Bool enabled);
Eina_Bool config_edc_navigator_get(void);

View File

@ -5,6 +5,7 @@ void tools_highlight_update(Eina_Bool toggle);
void tools_lines_update(Eina_Bool toggle);
void tools_dummy_update(Eina_Bool toggle);
void tools_status_update(Eina_Bool toggle);
void tools_edc_navigator_update(Eina_Bool toggle);
void tools_goto_update(void);
void tools_search_update(void);
void tools_live_update(Eina_Bool on);