console: implemented basic infra

This commit is contained in:
ChunEon Park 2014-08-10 17:46:14 +09:00
parent ac1430ded0
commit 7a771f79e2
13 changed files with 118 additions and 27 deletions

5
README
View File

@ -34,8 +34,9 @@ F2 = New
F3 = Save
F4 = Load
F5 = Show/Hide Line Number
F10 = Show/Hide Status
F11 = Show/Hide Tools
F9 = Show/Hide Tools
F10 = Show/Hide Console
F11 = Show/Hide Status
F12 = Setting
Ctrl+S = Quick Save + Compile EDC

View File

@ -6,7 +6,7 @@ images {
image: "highlight.png" COMP;
image: "lines.png" COMP;
image: "new.png" COMP;
image: "setting.png" COMP;
image: "console.png" COMP;
image: "status.png" COMP;
image: "swallow_s.png" COMP;
image: "goto.png" COMP;
@ -77,12 +77,12 @@ group { name: "new";
}
}
group { name: "setting";
group { name: "console";
parts {
part { name: "img";
type: IMAGE;
description { state: "default" 0.0;
image.normal: "setting.png";
image.normal: "console.png";
}
}
}

View File

@ -49,9 +49,10 @@ EXTRA_DIST = \
lines.png \
new.png \
setting_icon.png \
setting.png \
console.png \
status.png \
swallow_s.png \
goto.png \
downlight_glow_left.png \
downlight_glow_right.png
downlight_glow_right.png \
alarm_highlight.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

View File

@ -2046,7 +2046,13 @@ group { name: "main_layout";
rel1.relative: 0 1;
rel2.relative: 1 0;
rel1.to_y: "elm.swallow.tools";
rel2.to_y: "elm.swallow.statusbar";
rel2.to_y: "elm.swallow.console";
}
description { state: "console" 0.0;
rel1.to: "elm.swallow.console";
rel2.to: "elm.swallow.console";
rel1.relative: 0 0;
rel2.relative: 1 0;
}
}
part { name: "elm.swallow.statusbar";
@ -2064,33 +2070,63 @@ group { name: "main_layout";
align: 0.5 1;
}
}
part { name: "elm.swallow.console";
type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.statusbar";
rel2.to: "elm.swallow.statusbar";
rel1.relative: 0 0;
rel2.relative: 1 0;
align: 0.5 1;
color: 0 0 0 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
align: 0.5 1;
min: 0 125;
fixed: 0 1;
color: 255 255 255 255;
}
}
}
programs {
program { name: "statusbar_show";
signal: "elm,state,statusbar,show";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.statusbar";
transition: DECELERATE 0.35;
transition: DECELERATE 0.25;
}
program { name: "statusbar_hide";
signal: "elm,state,statusbar,hide";
action: STATE_SET "default" 0.0;
target: "elm.swallow.statusbar";
transition: DECELERATE 0.35;
transition: DECELERATE 0.25;
}
program { name: "tools_show";
signal: "elm,state,tools,show";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.tools";
transition: DECELERATE 0.35;
transition: DECELERATE 0.25;
}
program { name: "tools_hide";
signal: "elm,state,tools,hide";
action: STATE_SET "default" 0.0;
target: "elm.swallow.tools";
transition: DECELERATE 0.35;
transition: DECELERATE 0.25;
}
program { name: "console_show";
signal: "elm,state,console,show";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.console";
transition: DECELERATE 0.25;
}
program { name: "console_hide";
signal: "elm,state,console,hide";
action: STATE_SET "default" 0.0;
target: "elm.swallow.console";
transition: DECELERATE 0.25;
}
}
}

View File

@ -114,6 +114,19 @@ base_left_view_set(Evas_Object *left)
panes_content_set("left", left);
}
void
base_console_toggle(Eina_Bool config)
{
base_data *bd = g_bd;
if (config) config_console_set(!config_console_get());
if (config_console_get())
elm_object_signal_emit(bd->layout, "elm,state,console,show", "");
else
elm_object_signal_emit(bd->layout, "elm,state,console,hide", "");
}
void
base_gui_term(void)
{
@ -129,6 +142,9 @@ err_noti_cb(void *data, const char *msg)
printf("%s\n", msg);
fflush(stdout);
config_console_set(EINA_TRUE);
elm_object_signal_emit(bd->layout, "elm,state,console,show", "");
}
Eina_Bool
@ -161,8 +177,7 @@ base_gui_init(void)
//Base Layout
Evas_Object *layout = elm_layout_add(win);
elm_layout_file_set(layout, EDJE_PATH, "main_layout");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
evas_object_show(layout);
@ -175,6 +190,8 @@ base_gui_init(void)
bd->win = win;
bd->layout = layout;
base_console_toggle(EINA_FALSE);
return EINA_TRUE;
}

View File

@ -29,6 +29,7 @@ typedef struct config_s
Eina_Bool auto_indent;
Eina_Bool tools;
Eina_Bool auto_complete;
Eina_Bool console;
} config_data;
static config_data *g_cd = NULL;
@ -136,6 +137,7 @@ config_load(void)
cd->auto_indent = EINA_TRUE;
cd->tools = EINA_FALSE;
cd->auto_complete = EINA_TRUE;
cd->console = EINA_FALSE;
}
g_cd = cd;
@ -210,6 +212,8 @@ eddc_init(void)
tools, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "auto_complete",
auto_complete, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(edd_base, config_data, "console",
console, EET_T_UCHAR);
}
void
@ -660,6 +664,20 @@ config_view_size_get(Evas_Coord *w, Evas_Coord *h)
if (h) *h = cd->view_size.h;
}
Eina_Bool
config_console_get(void)
{
config_data *cd = g_cd;
return cd->console;
}
void
config_console_set(Eina_Bool enabled)
{
config_data *cd = g_cd;
cd->console = enabled;
}
Eina_Bool
config_tools_get(void)
{

View File

@ -255,18 +255,24 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
edit_line_number_toggle(ad->ed);
return ECORE_CALLBACK_DONE;
}
//Statusbar
if (!strcmp(event->key, "F10"))
{
base_statusbar_toggle(EINA_TRUE);
return ECORE_CALLBACK_DONE;
}
//Tools
if (!strcmp(event->key, "F11"))
if (!strcmp(event->key, "F9"))
{
base_tools_toggle(EINA_TRUE);
return ECORE_CALLBACK_DONE;
}
//Console
if (!strcmp(event->key, "F10"))
{
base_console_toggle(EINA_TRUE);
return ECORE_CALLBACK_DONE;
}
//Statusbar
if (!strcmp(event->key, "F11"))
{
base_statusbar_toggle(EINA_TRUE);
return ECORE_CALLBACK_DONE;
}
//Setting
if (!strcmp(event->key, "F12"))
{
@ -383,6 +389,7 @@ config_update_cb(void *data)
edit_font_size_update(ad->ed, EINA_FALSE, EINA_TRUE);
base_tools_toggle(EINA_FALSE);
base_console_toggle(EINA_FALSE);
base_statusbar_toggle(EINA_FALSE);
edit_part_highlight_toggle(ad->ed, EINA_FALSE);
view_dummy_toggle(VIEW_DATA, EINA_FALSE);

View File

@ -12,6 +12,7 @@ struct setting_s
Evas_Object *slider_font;
Evas_Object *slider_view;
Evas_Object *toggle_tools;
Evas_Object *toggle_console;
Evas_Object *toggle_stats;
Evas_Object *toggle_linenum;
Evas_Object *toggle_highlight;
@ -107,6 +108,7 @@ setting_apply_btn_cb(void *data, Evas_Object *obj EINA_UNUSED,
config_font_size_set((float) elm_slider_value_get(sd->slider_font));
config_view_scale_set(elm_slider_value_get(sd->slider_view));
config_tools_set(elm_check_state_get(sd->toggle_tools));
config_console_set(elm_check_state_get(sd->toggle_console));
config_stats_bar_set(elm_check_state_get(sd->toggle_stats));
config_linenumber_set(elm_check_state_get(sd->toggle_linenum));
config_part_highlight_set(elm_check_state_get(sd->toggle_highlight));
@ -145,6 +147,7 @@ setting_reset_btn_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
elm_slider_value_set(sd->slider_view, (double) config_view_scale_get());
elm_check_state_set(sd->toggle_tools, config_tools_get());
elm_check_state_set(sd->toggle_console, config_console_get());
elm_check_state_set(sd->toggle_stats, config_stats_bar_get());
elm_check_state_set(sd->toggle_linenum, config_linenumber_get());
elm_check_state_set(sd->toggle_highlight, config_part_highlight_get());
@ -314,6 +317,11 @@ setting_open(void)
config_tools_get());
elm_box_pack_end(box, toggle_tools);
//Toggle (Console)
Evas_Object *toggle_console = toggle_create(box, "Console",
config_console_get());
elm_box_pack_end(box, toggle_console);
//Toggle (Status)
Evas_Object *toggle_stats = toggle_create(box, "Status",
config_stats_bar_get());
@ -373,6 +381,7 @@ setting_open(void)
sd->slider_font = slider_font;
sd->slider_view = slider_view;
sd->toggle_tools = toggle_tools;
sd->toggle_console = toggle_console;
sd->toggle_stats = toggle_stats;
sd->toggle_linenum = toggle_linenum;
sd->toggle_highlight = toggle_highlight;

View File

@ -93,10 +93,10 @@ goto_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
}
static void
setting_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
console_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
void *event_info)
{
menu_setting();
base_console_toggle(EINA_TRUE);
item_unselect((Elm_Object_Item *)event_info);
}
@ -134,8 +134,8 @@ tools_create(Evas_Object *parent, edit_data *ed)
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "line");
it = elm_toolbar_item_append(toolbar, NULL, "Status", status_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "status");
it = elm_toolbar_item_append(toolbar, NULL, "Setting", setting_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "setting");
it = elm_toolbar_item_append(toolbar, NULL, "Console", console_cb, NULL);
elm_toolbar_item_icon_file_set(it, EDJE_PATH, "console");
return toolbar;
}

View File

@ -11,6 +11,7 @@ void base_tools_toggle(Eina_Bool config);
void base_tools_set(Evas_Object *tools);
void base_full_view_left(void);
void base_full_view_right(void);
void base_console_toggle(Eina_Bool config);
void base_left_view_set(Evas_Object *left);
void base_right_view_set(Evas_Object *right);
void base_gui_term(void);

View File

@ -42,4 +42,5 @@ void config_view_scale_set(double view_scale);
double config_view_scale_get(void);
Eina_Bool config_tools_get(void);
void config_tools_set(Eina_Bool enabled);
Eina_Bool config_console_get(void);
void config_console_set(Eina_Bool enabled);