enventor - added a feature: part template code insert.
This commit is contained in:
parent
f9c47b40d4
commit
0262bb3afa
17
README
17
README
|
@ -56,9 +56,20 @@ Ctrl+. = Full Edje View / Split View
|
|||
Ctrl+W = Show/Hide Dummy Swallow Object
|
||||
Ctrl++ = Font Size Up
|
||||
Ctrl+- = Font Size Down
|
||||
Ctrl+T = Insert Template Code
|
||||
|
||||
|
||||
Ctrl+T = Insert Defaut Template Code
|
||||
Ctrl+Shift+A = Insert Part Template Code: Table
|
||||
Ctrl+Shift+B = Insert Part Template Code: Textblock
|
||||
Ctrl+Shift+E = Insert Part Template Code: External
|
||||
Ctrl+Shift+G = Insert Part Template Code: Gradient
|
||||
Ctrl+Shift+I = Insert Part Template Code: Image
|
||||
Ctrl+Shift+O = Insert Part Template Code: Group
|
||||
Ctrl+Shift+P = Insert Part Template Code: Proxy
|
||||
Ctrl+Shift+R = Insert Part Template Code: Rectangle
|
||||
Ctrl+Shift+T = Insert Part Template Code: Text
|
||||
Ctrl+Shift+S = Insert Part Template Code: Spacer
|
||||
Ctrl+Shift+W = Insert Part Template Code: Swallow
|
||||
Ctrl+Shift+X = Insert Part Template Code: Box
|
||||
|
||||
[Command Line Usage]
|
||||
|
||||
enventor --help
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
//FIXME: Make flexible
|
||||
const int MAX_LINE_DIGIT_CNT = 10;
|
||||
const double SYNTAX_COLOR_TIME = 0.25;
|
||||
|
||||
struct editor_s
|
||||
{
|
||||
|
@ -178,7 +179,8 @@ edit_changed_cb(void *data, Evas_Object *obj, void *event_info)
|
|||
if (!syntax_color) return;
|
||||
|
||||
if (ed->syntax_color_timer) ecore_timer_del(ed->syntax_color_timer);
|
||||
ed->syntax_color_timer = ecore_timer_add(0.25, syntax_color_timer_cb, ed);
|
||||
ed->syntax_color_timer = ecore_timer_add(SYNTAX_COLOR_TIME,
|
||||
syntax_color_timer_cb, ed);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -260,8 +262,10 @@ edit_attr_candidate_show(edit_data *ed, attr_value *attr, int x, int y, const ch
|
|||
}
|
||||
|
||||
void
|
||||
edit_template_insert(edit_data *ed)
|
||||
edit_template_insert(edit_data *ed, Edje_Part_Type type)
|
||||
{
|
||||
if (type == EDJE_PART_TYPE_NONE) return;
|
||||
|
||||
int cursor_pos = elm_entry_cursor_pos_get(ed->en_edit);
|
||||
elm_entry_cursor_line_begin_set(ed->en_edit);
|
||||
int space = indent_space_get(ed);
|
||||
|
@ -271,18 +275,50 @@ edit_template_insert(edit_data *ed)
|
|||
memset(p, ' ', space);
|
||||
p[space] = '\0';
|
||||
|
||||
int line_cnt = TEMPLATE_PART_LINE_CNT;
|
||||
int line_cnt;
|
||||
char **t;
|
||||
|
||||
switch(type)
|
||||
{
|
||||
case EDJE_PART_TYPE_RECTANGLE:
|
||||
line_cnt = TEMPLATE_PART_RECT_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_RECT;
|
||||
break;
|
||||
case EDJE_PART_TYPE_TEXT:
|
||||
line_cnt = TEMPLATE_PART_TEXT_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_TEXT;
|
||||
break;
|
||||
case EDJE_PART_TYPE_SWALLOW:
|
||||
line_cnt = TEMPLATE_PART_SWALLOW_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_SWALLOW;
|
||||
break;
|
||||
case EDJE_PART_TYPE_TEXTBLOCK:
|
||||
line_cnt = TEMPLATE_PART_TEXTBLOCK_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_TEXTBLOCK;
|
||||
break;
|
||||
case EDJE_PART_TYPE_SPACER:
|
||||
line_cnt = TEMPLATE_PART_SPACER_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_SPACER;
|
||||
break;
|
||||
case EDJE_PART_TYPE_IMAGE:
|
||||
defaut:
|
||||
line_cnt = TEMPLATE_PART_IMAGE_LINE_CNT;
|
||||
t = (char **) &TEMPLATE_PART_IMAGE;
|
||||
break;
|
||||
}
|
||||
|
||||
int i;
|
||||
for (i = 0; i < line_cnt; i++)
|
||||
{
|
||||
elm_entry_entry_insert(ed->en_edit, p);
|
||||
elm_entry_entry_insert(ed->en_edit, TEMPLATE_PART[i]);
|
||||
elm_entry_entry_insert(ed->en_edit, t[i]);
|
||||
}
|
||||
|
||||
elm_entry_cursor_pos_set(ed->en_edit, cursor_pos);
|
||||
|
||||
if (ed->syntax_color_timer) ecore_timer_del(ed->syntax_color_timer);
|
||||
ed->syntax_color_timer = ecore_timer_add(0.25, syntax_color_timer_cb, ed);
|
||||
ed->syntax_color_timer = ecore_timer_add(SYNTAX_COLOR_TIME,
|
||||
syntax_color_timer_cb, ed);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -349,6 +349,33 @@ part_name_thread_cancel(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
free(td);
|
||||
}
|
||||
|
||||
void
|
||||
parser_current_paragh_name_get(parser_data *pd, Evas_Object *entry)
|
||||
{
|
||||
const char *PARTS = "parts";
|
||||
const char *PART = "part";
|
||||
const char *DESC = "description";
|
||||
const char *PROGS = "programs";
|
||||
|
||||
Evas_Object *tb = elm_entry_textblock_get(entry);
|
||||
char *text = (char *) evas_object_textblock_text_markup_get(tb);
|
||||
if (!text) return;
|
||||
|
||||
char *utf8 = elm_entry_markup_to_utf8(text);
|
||||
if (!utf8) return;
|
||||
|
||||
int cur_pos = elm_entry_cursor_pos_get(entry);
|
||||
|
||||
char *p = utf8;
|
||||
char *end = utf8 + cur_pos;
|
||||
|
||||
while (p <= end)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
parser_part_name_get(parser_data *pd, Evas_Object *entry, void (*cb)(void *data, Eina_Stringshare *part_name), void *data)
|
||||
{
|
||||
|
|
|
@ -22,6 +22,7 @@ struct app_s
|
|||
Eio_Monitor *edc_monitor;
|
||||
|
||||
Eina_Bool ctrl_pressed : 1;
|
||||
Eina_Bool shift_pressed : 1;
|
||||
Eina_Bool menu_opened : 1;
|
||||
};
|
||||
|
||||
|
@ -158,6 +159,8 @@ main_key_up_cb(void *data, int type EINA_UNUSED, void *ev)
|
|||
edit_editable_set(ad->ed, EINA_TRUE);
|
||||
ad->ctrl_pressed = EINA_FALSE;
|
||||
}
|
||||
else if (!strcmp("Shift_L", event->keyname))
|
||||
ad->shift_pressed = EINA_FALSE;
|
||||
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
}
|
||||
|
@ -195,6 +198,43 @@ auto_indentation_toggle(app_data *ad)
|
|||
config_auto_indent_set(ad->cd, toggle);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
template_insert(app_data *ad, const char *keyname)
|
||||
{
|
||||
Edje_Part_Type type;
|
||||
|
||||
if (!strcmp(keyname, "a") || !strcmp(keyname, "A"))
|
||||
type = EDJE_PART_TYPE_TABLE;
|
||||
else if (!strcmp(keyname, "b") || !strcmp(keyname, "B"))
|
||||
type = EDJE_PART_TYPE_TEXTBLOCK;
|
||||
else if (!strcmp(keyname, "e") || !strcmp(keyname, "E"))
|
||||
type = EDJE_PART_TYPE_EXTERNAL;
|
||||
else if (!strcmp(keyname, "g") || !strcmp(keyname, "G"))
|
||||
type = EDJE_PART_TYPE_GRADIENT;
|
||||
else if (!strcmp(keyname, "i") || !strcmp(keyname, "I"))
|
||||
type = EDJE_PART_TYPE_IMAGE;
|
||||
else if (!strcmp(keyname, "o") || !strcmp(keyname, "O"))
|
||||
type = EDJE_PART_TYPE_GROUP;
|
||||
else if (!strcmp(keyname, "p") || !strcmp(keyname, "P"))
|
||||
type = EDJE_PART_TYPE_PROXY;
|
||||
else if (!strcmp(keyname, "r") || !strcmp(keyname, "R"))
|
||||
type = EDJE_PART_TYPE_RECTANGLE;
|
||||
else if (!strcmp(keyname, "t") || !strcmp(keyname, "T"))
|
||||
type = EDJE_PART_TYPE_TEXT;
|
||||
else if (!strcmp(keyname, "s") || !strcmp(keyname, "S"))
|
||||
type = EDJE_PART_TYPE_SPACER;
|
||||
else if (!strcmp(keyname, "w") || !strcmp(keyname, "W"))
|
||||
type = EDJE_PART_TYPE_SWALLOW;
|
||||
else if (!strcmp(keyname, "x") || !strcmp(keyname, "X"))
|
||||
type = EDJE_PART_TYPE_BOX;
|
||||
else
|
||||
type = EDJE_PART_TYPE_NONE;
|
||||
|
||||
edit_template_insert(ad->ed, type);
|
||||
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
ctrl_func(app_data *ad, const char *keyname)
|
||||
{
|
||||
|
@ -213,12 +253,6 @@ ctrl_func(app_data *ad, const char *keyname)
|
|||
//Select All
|
||||
if (!strcmp(keyname, "a") || !strcmp(keyname, "A"))
|
||||
return ECORE_CALLBACK_PASS_ON;
|
||||
//Template Code
|
||||
if (!strcmp(keyname, "t") || !strcmp(keyname, "T"))
|
||||
{
|
||||
edit_template_insert(ad->ed);
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
//Part Highlight
|
||||
if (!strcmp(keyname, "h") || !strcmp(keyname, "H"))
|
||||
{
|
||||
|
@ -274,7 +308,18 @@ main_key_down_cb(void *data, int type EINA_UNUSED, void *ev)
|
|||
Ecore_Event_Key *event = ev;
|
||||
app_data *ad = data;
|
||||
|
||||
if (ad->ctrl_pressed) return ctrl_func(ad, event->keyname);
|
||||
//Shift Key
|
||||
if (!strcmp("Shift_L", event->keyname))
|
||||
{
|
||||
ad->shift_pressed = EINA_TRUE;
|
||||
return ECORE_CALLBACK_DONE;
|
||||
}
|
||||
|
||||
if (ad->ctrl_pressed)
|
||||
{
|
||||
if (ad->shift_pressed) return template_insert(ad, event->keyname);
|
||||
else return ctrl_func(ad, event->keyname);
|
||||
}
|
||||
|
||||
//Main Menu
|
||||
if (!strcmp(event->keyname, "Escape"))
|
||||
|
|
|
@ -407,10 +407,12 @@ color_apply(color_data *cd, const char *src, int length, Eina_Bool realtime)
|
|||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "mouse_events", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "name", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "normal", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "offset", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "on", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "scale", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "signal", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "state", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "style", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "relative", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "repeat_events", col3);
|
||||
COLOR_INSERT(strbuf, &src, length, &cur, &prev, "source", col3);
|
||||
|
|
|
@ -14,4 +14,4 @@ void edit_new(edit_data* ed);
|
|||
void edit_part_changed_cb_set(edit_data *ed, void (*cb)(void *data, const char *part_name), void *data);
|
||||
void edit_cur_part_update(edit_data *ed);
|
||||
void edit_font_size_update(edit_data *ed, Eina_Bool msg);
|
||||
void edit_template_insert(edit_data *ed);
|
||||
void edit_template_insert(edit_data *ed, Edje_Part_Type type);
|
||||
|
|
Loading…
Reference in New Issue