Merge branch 'master' into elm_code
Conflicts: elm_code/src/lib/elm_code_diff_widget.c
This commit is contained in:
commit
7ed4aa9695
|
@ -69,9 +69,9 @@ _elm_code_test_welcome_setup(Evas_Object *parent)
|
||||||
Elm_Code_Widget *widget;
|
Elm_Code_Widget *widget;
|
||||||
|
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
eo_do(widget,
|
eo_do(widget,
|
||||||
elm_code_widget_code_set(code),
|
|
||||||
elm_code_widget_font_size_set(12),
|
elm_code_widget_font_size_set(12),
|
||||||
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL);
|
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _elm_code_test_line_done_cb, NULL);
|
||||||
eo_event_callback_add(ELM_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code));
|
eo_event_callback_add(ELM_CODE_WIDGET_EVENT_LINE_CLICKED, _elm_code_test_line_clicked_cb, code));
|
||||||
|
@ -95,9 +95,9 @@ _elm_code_test_editor_setup(Evas_Object *parent)
|
||||||
Elm_Code_Widget *widget;
|
Elm_Code_Widget *widget;
|
||||||
|
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
eo_do(widget,
|
eo_do(widget,
|
||||||
elm_code_widget_code_set(code),
|
|
||||||
elm_code_widget_font_size_set(14),
|
elm_code_widget_font_size_set(14),
|
||||||
elm_code_widget_editable_set(EINA_TRUE),
|
elm_code_widget_editable_set(EINA_TRUE),
|
||||||
elm_code_widget_show_whitespace_set(EINA_TRUE),
|
elm_code_widget_show_whitespace_set(EINA_TRUE),
|
||||||
|
@ -127,9 +127,8 @@ _elm_code_test_diff_inline_setup(Evas_Object *parent)
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
elm_code_file_open(code, path);
|
elm_code_file_open(code, path);
|
||||||
|
|
||||||
diff = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
diff = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
eo_do(diff,
|
elm_code_widget_code_set(code));
|
||||||
elm_code_widget_code_set(code));
|
|
||||||
|
|
||||||
evas_object_size_hint_weight_set(diff, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(diff, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(diff, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(diff, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
|
|
@ -94,10 +94,9 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code)
|
||||||
|
|
||||||
// left side of diff
|
// left side of diff
|
||||||
wcode1 = elm_code_create();
|
wcode1 = elm_code_create();
|
||||||
widget_left = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
|
||||||
eo_do(widget_left,
|
|
||||||
elm_code_widget_code_set(wcode1));
|
|
||||||
elm_code_parser_standard_add(wcode1, ELM_CODE_PARSER_STANDARD_DIFF);
|
elm_code_parser_standard_add(wcode1, ELM_CODE_PARSER_STANDARD_DIFF);
|
||||||
|
widget_left = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(wcode1));
|
||||||
|
|
||||||
evas_object_size_hint_weight_set(widget_left, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(widget_left, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(widget_left, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(widget_left, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
@ -107,10 +106,9 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code)
|
||||||
|
|
||||||
// right side of diff
|
// right side of diff
|
||||||
wcode2 = elm_code_create();
|
wcode2 = elm_code_create();
|
||||||
widget_right = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
|
||||||
eo_do(widget_right,
|
|
||||||
elm_code_widget_code_set(wcode2));
|
|
||||||
elm_code_parser_standard_add(wcode2, ELM_CODE_PARSER_STANDARD_DIFF);
|
elm_code_parser_standard_add(wcode2, ELM_CODE_PARSER_STANDARD_DIFF);
|
||||||
|
widget_right = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(wcode2));
|
||||||
|
|
||||||
evas_object_size_hint_weight_set(widget_right, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(widget_right, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
|
|
@ -32,9 +32,15 @@ Eina_Unicode status_icons[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define EO_CONSTRUCTOR_CHECK_RETURN(obj) \
|
||||||
|
if (eo_do(obj, eo_finalized_get())) \
|
||||||
|
{ \
|
||||||
|
ERR("This function is only allowed during construction."); \
|
||||||
|
return; \
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_code_widget_eo_base_constructor(Eo *obj, Elm_Code_Widget_Data *pd EINA_UNUSED)
|
_elm_code_widget_eo_base_constructor(Eo *obj, Elm_Code_Widget_Data *pd)
|
||||||
{
|
{
|
||||||
eo_do_super(obj, ELM_CODE_WIDGET_CLASS, eo_constructor());
|
eo_do_super(obj, ELM_CODE_WIDGET_CLASS, eo_constructor());
|
||||||
|
|
||||||
|
@ -42,6 +48,18 @@ _elm_code_widget_eo_base_constructor(Eo *obj, Elm_Code_Widget_Data *pd EINA_UNUS
|
||||||
pd->cursor_col = 1;
|
pd->cursor_col = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static Eo *
|
||||||
|
_elm_code_widget_eo_base_finalize(Eo *obj, Elm_Code_Widget_Data *pd)
|
||||||
|
{
|
||||||
|
eo_do_super(obj, ELM_CODE_WIDGET_CLASS, eo_finalize());
|
||||||
|
|
||||||
|
if (pd->code)
|
||||||
|
return obj;
|
||||||
|
|
||||||
|
ERR("Elm_Code_Widget cannot finalize without calling elm_code_widget_code_set.");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_code_widget_class_constructor(Eo_Class *klass EINA_UNUSED)
|
_elm_code_widget_class_constructor(Eo_Class *klass EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
@ -723,8 +741,10 @@ _elm_code_widget_font_size_get(Eo *obj EINA_UNUSED, Elm_Code_Widget_Data *pd)
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_code_widget_code_set(Eo *obj, Elm_Code_Widget_Data *pd EINA_UNUSED, Elm_Code *code)
|
_elm_code_widget_code_set(Eo *obj, Elm_Code_Widget_Data *pd, Elm_Code *code)
|
||||||
{
|
{
|
||||||
|
EO_CONSTRUCTOR_CHECK_RETURN(obj);
|
||||||
|
|
||||||
pd->code = code;
|
pd->code = code;
|
||||||
|
|
||||||
code->widgets = eina_list_append(code->widgets, obj);
|
code->widgets = eina_list_append(code->widgets, obj);
|
||||||
|
|
|
@ -5,7 +5,9 @@ class Elm_Code_Widget (Elm_Layout, Elm_Interface_Atspi_Text)
|
||||||
code {
|
code {
|
||||||
set {
|
set {
|
||||||
/*@
|
/*@
|
||||||
Set the underlying code object that this widget renders
|
Set the underlying code object that this widget renders.
|
||||||
|
This can only be set during construction, once the widget is created the
|
||||||
|
backing code object cannot be changed.
|
||||||
|
|
||||||
@ingroup Data */
|
@ingroup Data */
|
||||||
}
|
}
|
||||||
|
@ -169,6 +171,7 @@ class Elm_Code_Widget (Elm_Layout, Elm_Interface_Atspi_Text)
|
||||||
implements {
|
implements {
|
||||||
class.constructor;
|
class.constructor;
|
||||||
Eo.Base.constructor;
|
Eo.Base.constructor;
|
||||||
|
Eo.Base.finalize;
|
||||||
Evas.Object_Smart.add;
|
Evas.Object_Smart.add;
|
||||||
Elm_Widget.focus_next_manager_is;
|
Elm_Widget.focus_next_manager_is;
|
||||||
Elm_Widget.focus_direction_manager_is;
|
Elm_Widget.focus_direction_manager_is;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
START_TEST (elm_code_create_test)
|
START_TEST (elm_code_create_test)
|
||||||
{
|
{
|
||||||
char *path = "elm_code/tests/testfile.txt";
|
char *path = "elm_code/src/tests/testfile.txt";
|
||||||
Elm_Code *code;
|
Elm_Code *code;
|
||||||
|
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
|
|
|
@ -41,8 +41,42 @@ START_TEST (elm_code_widget_token_render_simple_test)
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST (elm_code_widget_construct)
|
||||||
|
{
|
||||||
|
Elm_Code *code;
|
||||||
|
Elm_Code_Widget *widget, *win;
|
||||||
|
|
||||||
|
elm_init(1, NULL);
|
||||||
|
code = elm_code_create();
|
||||||
|
|
||||||
|
win = elm_win_add(NULL, "entry", ELM_WIN_BASIC);
|
||||||
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, win,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
|
|
||||||
|
ck_assert(!!widget);
|
||||||
|
elm_code_free(code);
|
||||||
|
elm_shutdown();
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST (elm_code_widget_construct_nocode)
|
||||||
|
{
|
||||||
|
Elm_Code_Widget *widget, *win;
|
||||||
|
|
||||||
|
elm_init(1, NULL);
|
||||||
|
|
||||||
|
win = elm_win_add(NULL, "entry", ELM_WIN_BASIC);
|
||||||
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, win);
|
||||||
|
ck_assert(!widget);
|
||||||
|
|
||||||
|
elm_shutdown();
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
void elm_code_test_widget(TCase *tc)
|
void elm_code_test_widget(TCase *tc)
|
||||||
{
|
{
|
||||||
tcase_add_test(tc, elm_code_widget_token_render_simple_test);
|
tcase_add_test(tc, elm_code_widget_token_render_simple_test);
|
||||||
|
tcase_add_test(tc, elm_code_widget_construct);
|
||||||
|
tcase_add_test(tc, elm_code_widget_construct_nocode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -316,9 +316,9 @@ void edi_consolepanel_add(Evas_Object *parent)
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
_edi_console_code = code;
|
_edi_console_code = code;
|
||||||
|
|
||||||
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
eo_do(widget,
|
eo_do(widget,
|
||||||
elm_code_widget_code_set(code),
|
|
||||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||||
elm_code_widget_gravity_set(0.0, 1.0),
|
elm_code_widget_gravity_set(0.0, 1.0),
|
||||||
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_consolepanel_line_cb, NULL),
|
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_consolepanel_line_cb, NULL),
|
||||||
|
@ -342,9 +342,9 @@ void edi_testpanel_add(Evas_Object *parent)
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
_edi_test_code = code;
|
_edi_test_code = code;
|
||||||
|
|
||||||
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
eo_do(widget,
|
eo_do(widget,
|
||||||
elm_code_widget_code_set(code),
|
|
||||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||||
elm_code_widget_gravity_set(0.0, 1.0),
|
elm_code_widget_gravity_set(0.0, 1.0),
|
||||||
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_testpanel_line_cb, NULL),
|
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_testpanel_line_cb, NULL),
|
||||||
|
|
|
@ -49,9 +49,9 @@ _edi_content_provider_diff_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
||||||
|
|
||||||
static Edi_Content_Provider _edi_content_provider_registry[] =
|
static Edi_Content_Provider _edi_content_provider_registry[] =
|
||||||
{
|
{
|
||||||
{"text", "txt", EINA_TRUE, EINA_TRUE, edi_editor_add},
|
{"text", "text-x-generic", EINA_TRUE, EINA_TRUE, edi_editor_add},
|
||||||
{"code", "text-x-csrc", EINA_TRUE, EINA_TRUE, edi_editor_add},
|
{"code", "text-x-csrc", EINA_TRUE, EINA_TRUE, edi_editor_add},
|
||||||
{"image", "image", EINA_FALSE, EINA_FALSE, _edi_content_provider_image_add},
|
{"image", "image-x-generic", EINA_FALSE, EINA_FALSE, _edi_content_provider_image_add},
|
||||||
{"diff", "text-x-source", EINA_TRUE, EINA_FALSE, _edi_content_provider_diff_add},
|
{"diff", "text-x-source", EINA_TRUE, EINA_FALSE, _edi_content_provider_diff_add},
|
||||||
|
|
||||||
{NULL, NULL, EINA_FALSE, EINA_FALSE, NULL}
|
{NULL, NULL, EINA_FALSE, EINA_FALSE, NULL}
|
||||||
|
|
|
@ -52,9 +52,9 @@ void edi_logpanel_add(Evas_Object *parent)
|
||||||
Elm_Code *code;
|
Elm_Code *code;
|
||||||
|
|
||||||
code = elm_code_create();
|
code = elm_code_create();
|
||||||
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
widget = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||||
|
elm_code_widget_code_set(code));
|
||||||
eo_do(widget,
|
eo_do(widget,
|
||||||
elm_code_widget_code_set(code),
|
|
||||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||||
elm_code_widget_gravity_set(0.0, 1.0),
|
elm_code_widget_gravity_set(0.0, 1.0),
|
||||||
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_logpanel_line_cb, NULL));
|
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_logpanel_line_cb, NULL));
|
||||||
|
|
Loading…
Reference in New Issue