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;
|
||||
|
||||
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,
|
||||
elm_code_widget_code_set(code),
|
||||
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_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;
|
||||
|
||||
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,
|
||||
elm_code_widget_code_set(code),
|
||||
elm_code_widget_font_size_set(14),
|
||||
elm_code_widget_editable_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();
|
||||
elm_code_file_open(code, path);
|
||||
|
||||
diff = eo_add(ELM_CODE_WIDGET_CLASS, parent);
|
||||
eo_do(diff,
|
||||
elm_code_widget_code_set(code));
|
||||
diff = eo_add(ELM_CODE_WIDGET_CLASS, parent,
|
||||
elm_code_widget_code_set(code));
|
||||
|
||||
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);
|
||||
|
|
|
@ -94,10 +94,9 @@ elm_code_diff_widget_add(Evas_Object *parent, Elm_Code *code)
|
|||
|
||||
// left side of diff
|
||||
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);
|
||||
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_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
|
||||
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);
|
||||
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_align_set(widget_right, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
|
|
|
@ -32,9 +32,15 @@ Eina_Unicode status_icons[] = {
|
|||
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
|
||||
_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());
|
||||
|
||||
|
@ -42,6 +48,18 @@ _elm_code_widget_eo_base_constructor(Eo *obj, Elm_Code_Widget_Data *pd EINA_UNUS
|
|||
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
|
||||
_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
|
||||
_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;
|
||||
|
||||
code->widgets = eina_list_append(code->widgets, obj);
|
||||
|
|
|
@ -5,7 +5,9 @@ class Elm_Code_Widget (Elm_Layout, Elm_Interface_Atspi_Text)
|
|||
code {
|
||||
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 */
|
||||
}
|
||||
|
@ -169,6 +171,7 @@ class Elm_Code_Widget (Elm_Layout, Elm_Interface_Atspi_Text)
|
|||
implements {
|
||||
class.constructor;
|
||||
Eo.Base.constructor;
|
||||
Eo.Base.finalize;
|
||||
Evas.Object_Smart.add;
|
||||
Elm_Widget.focus_next_manager_is;
|
||||
Elm_Widget.focus_direction_manager_is;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
START_TEST (elm_code_create_test)
|
||||
{
|
||||
char *path = "elm_code/tests/testfile.txt";
|
||||
char *path = "elm_code/src/tests/testfile.txt";
|
||||
Elm_Code *code;
|
||||
|
||||
code = elm_code_create();
|
||||
|
|
|
@ -41,8 +41,42 @@ START_TEST (elm_code_widget_token_render_simple_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)
|
||||
{
|
||||
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();
|
||||
_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,
|
||||
elm_code_widget_code_set(code),
|
||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||
elm_code_widget_gravity_set(0.0, 1.0),
|
||||
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();
|
||||
_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,
|
||||
elm_code_widget_code_set(code),
|
||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||
elm_code_widget_gravity_set(0.0, 1.0),
|
||||
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[] =
|
||||
{
|
||||
{"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},
|
||||
{"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},
|
||||
|
||||
{NULL, NULL, EINA_FALSE, EINA_FALSE, NULL}
|
||||
|
|
|
@ -52,9 +52,9 @@ void edi_logpanel_add(Evas_Object *parent)
|
|||
Elm_Code *code;
|
||||
|
||||
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,
|
||||
elm_code_widget_code_set(code),
|
||||
elm_code_widget_font_size_set(_edi_cfg->font.size),
|
||||
elm_code_widget_gravity_set(0.0, 1.0),
|
||||
eo_event_callback_add(&ELM_CODE_EVENT_LINE_LOAD_DONE, _edi_logpanel_line_cb, NULL));
|
||||
|
|
Loading…
Reference in New Issue