console: new feature comes.
This console box displays error messages.
This commit is contained in:
parent
0c0e439bb4
commit
8e89c0f357
|
@ -2050,6 +2050,19 @@ group { name: "main_layout";
|
|||
rel2.to_y: "elm.swallow.statusbar";
|
||||
}
|
||||
}
|
||||
part { name: "error_alert";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to_y: "elm.swallow.panes";
|
||||
rel2.to_y: "elm.swallow.panes";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 200 0 0 175;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.statusbar";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
|
@ -2091,6 +2104,17 @@ group { name: "main_layout";
|
|||
target: "elm.swallow.tools";
|
||||
transition: DECELERATE 0.25;
|
||||
}
|
||||
program { name: "alert_show";
|
||||
signal: "elm,state,alert,show";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "error_alert";
|
||||
after: "alert_show2";
|
||||
}
|
||||
program { name: "alert_show2";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "error_alert";
|
||||
transition: DECELERATE 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,8 @@ enventor_SOURCES = \
|
|||
globals.c \
|
||||
redoundo.c \
|
||||
template.c \
|
||||
live_edit.c
|
||||
live_edit.c \
|
||||
console.c
|
||||
|
||||
enventor_LDADD = @ENVENTOR_LIBS@
|
||||
enventor_LDFLAGS = $(LTLIBINTL)
|
||||
|
|
|
@ -5,6 +5,7 @@ typedef struct base_s
|
|||
{
|
||||
Evas_Object *win;
|
||||
Evas_Object *layout;
|
||||
Evas_Object *console;
|
||||
} base_data;
|
||||
|
||||
static base_data *g_bd = NULL;
|
||||
|
@ -133,10 +134,7 @@ base_console_toggle(Eina_Bool config)
|
|||
|
||||
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", "");
|
||||
panes_editors_full_view();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -152,11 +150,20 @@ err_noti_cb(void *data, const char *msg)
|
|||
{
|
||||
base_data *bd = data;
|
||||
|
||||
printf("%s\n", msg);
|
||||
fflush(stdout);
|
||||
|
||||
config_console_set(EINA_TRUE);
|
||||
if (!config_console_get())
|
||||
{
|
||||
base_editors_full_view();
|
||||
config_console_set(EINA_TRUE);
|
||||
}
|
||||
elm_object_signal_emit(bd->layout, "elm,state,alert,show", "");
|
||||
console_text_set(bd->console, msg);
|
||||
}
|
||||
|
||||
void
|
||||
base_console_reset(void)
|
||||
{
|
||||
base_data *bd = g_bd;
|
||||
console_text_set(bd->console, "");
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
|
@ -197,12 +204,15 @@ base_gui_init(void)
|
|||
Evas_Object *panes = panes_init(layout);
|
||||
elm_object_part_content_set(layout, "elm.swallow.panes", panes);
|
||||
|
||||
//Console
|
||||
Evas_Object *console = console_create(panes);
|
||||
panes_console_set(console);
|
||||
|
||||
build_err_noti_cb_set(err_noti_cb, bd);
|
||||
|
||||
bd->win = win;
|
||||
bd->layout = layout;
|
||||
|
||||
base_console_toggle(EINA_FALSE);
|
||||
bd->console = console;
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
#include <Elementary.h>
|
||||
#include "common.h"
|
||||
|
||||
void
|
||||
console_text_set(Evas_Object *console, const char *text)
|
||||
{
|
||||
elm_entry_entry_set(console, text);
|
||||
}
|
||||
|
||||
Evas_Object *
|
||||
console_create(Evas_Object *parent)
|
||||
{
|
||||
Evas_Object *obj = elm_entry_add(parent);
|
||||
elm_entry_scrollable_set(obj, EINA_TRUE);
|
||||
elm_entry_editable_set(obj, EINA_FALSE);
|
||||
elm_entry_line_wrap_set(obj, ELM_WRAP_WORD);
|
||||
elm_object_focus_allow_set(obj, EINA_FALSE);
|
||||
evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND,
|
||||
EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
|
||||
return obj;
|
||||
}
|
|
@ -159,6 +159,7 @@ exe_del_event_cb(void *data, int type EINA_UNUSED, void *event)
|
|||
view_obj_min_update(vd->layout);
|
||||
view_part_highlight_set(vd, vd->part_name);
|
||||
dummy_obj_update(vd->layout);
|
||||
base_console_reset();
|
||||
|
||||
vd->edj_reload_need = EINA_FALSE;
|
||||
|
||||
|
|
|
@ -167,13 +167,13 @@ ctrl_func(app_data *ad, const char *key)
|
|||
//Full Console View
|
||||
if (!strcmp(key, "Up"))
|
||||
{
|
||||
base_editors_full_view();
|
||||
base_console_full_view();
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
//Full Editors View
|
||||
if (!strcmp(key, "Down"))
|
||||
{
|
||||
base_console_full_view();
|
||||
base_editors_full_view();
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
//Auto Indentation
|
||||
|
|
|
@ -5,10 +5,10 @@ static const double TRANSIT_TIME = 0.25;
|
|||
|
||||
typedef enum
|
||||
{
|
||||
PANES_FULL_VIEW_LEFT,
|
||||
PANES_FULL_VIEW_RIGHT,
|
||||
PANES_FULL_VIEW_TOP,
|
||||
PANES_FULL_VIEW_BOTTOM,
|
||||
PANES_LIVE_VIEW_EXPAND,
|
||||
PANES_TEXT_EDITOR_EXPAND,
|
||||
PANES_EDITORS_EXPAND,
|
||||
PANES_CONSOLE_EXPAND,
|
||||
PANES_SPLIT_VIEW
|
||||
} Panes_State;
|
||||
|
||||
|
@ -105,6 +105,8 @@ panes_v_full_view_cancel(panes_data *pd)
|
|||
elm_transit_go(transit);
|
||||
|
||||
pd->vert.state = PANES_SPLIT_VIEW;
|
||||
|
||||
config_console_set(EINA_TRUE);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -113,7 +115,7 @@ panes_text_editor_full_view(void)
|
|||
panes_data *pd = g_pd;
|
||||
|
||||
//Revert state if the current state is full view right already.
|
||||
if (pd->horiz.state == PANES_FULL_VIEW_RIGHT)
|
||||
if (pd->horiz.state == PANES_TEXT_EDITOR_EXPAND)
|
||||
{
|
||||
panes_h_full_view_cancel(pd);
|
||||
return;
|
||||
|
@ -131,7 +133,7 @@ panes_text_editor_full_view(void)
|
|||
elm_transit_duration_set(transit, TRANSIT_TIME);
|
||||
elm_transit_go(transit);
|
||||
|
||||
pd->horiz.state = PANES_FULL_VIEW_RIGHT;
|
||||
pd->horiz.state = PANES_TEXT_EDITOR_EXPAND;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -140,7 +142,7 @@ panes_live_view_full_view(void)
|
|||
panes_data *pd = g_pd;
|
||||
|
||||
//Revert state if the current state is full view left already.
|
||||
if (pd->horiz.state == PANES_FULL_VIEW_LEFT)
|
||||
if (pd->horiz.state == PANES_LIVE_VIEW_EXPAND)
|
||||
{
|
||||
panes_h_full_view_cancel(pd);
|
||||
return;
|
||||
|
@ -158,16 +160,16 @@ panes_live_view_full_view(void)
|
|||
elm_transit_duration_set(transit, TRANSIT_TIME);
|
||||
elm_transit_go(transit);
|
||||
|
||||
pd->horiz.state = PANES_FULL_VIEW_LEFT;
|
||||
pd->horiz.state = PANES_LIVE_VIEW_EXPAND;
|
||||
}
|
||||
|
||||
void
|
||||
panes_console_full_view(void)
|
||||
panes_editors_full_view(void)
|
||||
{
|
||||
panes_data *pd = g_pd;
|
||||
|
||||
//Revert state if the current state is full view bottom already.
|
||||
if (pd->vert.state == PANES_FULL_VIEW_BOTTOM)
|
||||
if (pd->vert.state == PANES_EDITORS_EXPAND)
|
||||
{
|
||||
panes_v_full_view_cancel(pd);
|
||||
return;
|
||||
|
@ -184,16 +186,18 @@ panes_console_full_view(void)
|
|||
elm_transit_duration_set(transit, TRANSIT_TIME);
|
||||
elm_transit_go(transit);
|
||||
|
||||
pd->vert.state = PANES_FULL_VIEW_BOTTOM;
|
||||
pd->vert.state = PANES_EDITORS_EXPAND;
|
||||
|
||||
config_console_set(EINA_FALSE);
|
||||
}
|
||||
|
||||
void
|
||||
panes_editors_full_view(void)
|
||||
panes_console_full_view(void)
|
||||
{
|
||||
panes_data *pd = g_pd;
|
||||
|
||||
//Revert state if the current state is full view top already.
|
||||
if (pd->vert.state == PANES_FULL_VIEW_TOP)
|
||||
if (pd->vert.state == PANES_CONSOLE_EXPAND)
|
||||
{
|
||||
panes_v_full_view_cancel(pd);
|
||||
return;
|
||||
|
@ -211,7 +215,7 @@ panes_editors_full_view(void)
|
|||
elm_transit_duration_set(transit, TRANSIT_TIME);
|
||||
elm_transit_go(transit);
|
||||
|
||||
pd->vert.state = PANES_FULL_VIEW_TOP;
|
||||
pd->vert.state = PANES_CONSOLE_EXPAND;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -228,6 +232,13 @@ panes_live_view_set(Evas_Object *live_view)
|
|||
elm_object_part_content_set(pd->horiz.obj, "left", live_view);
|
||||
}
|
||||
|
||||
void
|
||||
panes_console_set(Evas_Object *console)
|
||||
{
|
||||
panes_data *pd = g_pd;
|
||||
elm_object_part_content_set(pd->vert.obj, "bottom", console);
|
||||
}
|
||||
|
||||
void
|
||||
panes_term(void)
|
||||
{
|
||||
|
@ -239,6 +250,8 @@ panes_term(void)
|
|||
Evas_Object *
|
||||
panes_init(Evas_Object *parent)
|
||||
{
|
||||
const double DEFAULT_CONSOLE_SIZE = 0.3;
|
||||
|
||||
panes_data *pd = malloc(sizeof(panes_data));
|
||||
if (!pd)
|
||||
{
|
||||
|
@ -258,8 +271,8 @@ panes_init(Evas_Object *parent)
|
|||
|
||||
pd->vert.obj = panes_v;
|
||||
pd->vert.state = PANES_SPLIT_VIEW;
|
||||
pd->vert.last_size[0] = 0.5;
|
||||
pd->vert.last_size[1] = 0.5;
|
||||
pd->vert.last_size[0] = DEFAULT_CONSOLE_SIZE;
|
||||
pd->vert.last_size[1] = DEFAULT_CONSOLE_SIZE;
|
||||
|
||||
//Panes Horizontal
|
||||
Evas_Object *panes_h = elm_panes_add(parent);
|
||||
|
@ -277,5 +290,10 @@ panes_init(Evas_Object *parent)
|
|||
pd->horiz.last_size[0] = 0.5;
|
||||
pd->horiz.last_size[1] = 0.5;
|
||||
|
||||
if (config_console_get())
|
||||
elm_panes_content_right_size_set(panes_v, DEFAULT_CONSOLE_SIZE);
|
||||
else
|
||||
elm_panes_content_right_size_set(panes_v, 0.0);
|
||||
|
||||
return panes_v;
|
||||
}
|
||||
|
|
|
@ -27,4 +27,5 @@ EXTRA_DIST = common.h \
|
|||
search.h \
|
||||
redoundo.h \
|
||||
template.h \
|
||||
live_edit.h
|
||||
live_edit.h \
|
||||
console.h
|
||||
|
|
|
@ -17,3 +17,4 @@ void base_console_toggle(Eina_Bool config);
|
|||
void base_live_view_set(Evas_Object *live_view);
|
||||
void base_text_editor_set(Evas_Object *text_editor);
|
||||
void base_gui_term(void);
|
||||
void base_console_reset(void);
|
||||
|
|
|
@ -35,5 +35,6 @@ typedef struct redoundo_s redoundo_data;
|
|||
#include "redoundo.h"
|
||||
#include "template.h"
|
||||
#include "live_edit.h"
|
||||
#include "console.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,3 +6,4 @@ void panes_editors_full_view(void);
|
|||
void panes_console_full_view(void);
|
||||
void panes_live_view_set(Evas_Object *live_view);
|
||||
void panes_text_editor_set(Evas_Object *text_editor);
|
||||
void panes_console_set(Evas_Object *console);
|
||||
|
|
Loading…
Reference in New Issue