forked from enlightenment/enventor
console: implemented basic infra
This commit is contained in:
parent
ac1430ded0
commit
7a771f79e2
5
README
5
README
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 |
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue