summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Kantor <yossi.kantor@samsung.com>2014-10-02 18:04:00 +0300
committerYakov Goldberg <yakov.g@samsung.com>2014-10-27 10:27:31 +0200
commit8eb961bbeae05fbe5154d347dbf81bc6593bce5c (patch)
tree106af4a793d0545099b6ac6c80574539189711f3
parent12954fbb64f7a0b4ed234d677fdbbfb44117d1cc (diff)
Naviframe added to factory
-rw-r--r--data/config/egui_all.eo2
-rw-r--r--data/config/func_names.json27
-rw-r--r--data/images/CMakeLists.txt1
-rw-r--r--data/images/factory_naviframe.pngbin0 -> 8234 bytes
-rw-r--r--src/bin/egui_gui/editor.c3
-rw-r--r--src/bin/egui_gui/egui_layout.json46
-rw-r--r--src/bin/egui_gui/egui_logic.c4
-rw-r--r--src/bin/egui_gui/propview.c6
-rw-r--r--src/lib/database.h1
-rw-r--r--src/lib/gui_parser.c50
-rw-r--r--src/lib/gui_widget.c3
-rw-r--r--src/lib/json_generator.c22
12 files changed, 153 insertions, 12 deletions
diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo
index 2c5ac64..ce89010 100644
--- a/data/config/egui_all.eo
+++ b/data/config/egui_all.eo
@@ -1,3 +1,3 @@
1class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image) 1class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm_Naviframe)
2{ 2{
3} 3}
diff --git a/data/config/func_names.json b/data/config/func_names.json
index 370598b..0e5e501 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -89,6 +89,10 @@
89 { 89 {
90 "Evas.Object.size":[60, 30] 90 "Evas.Object.size":[60, 30]
91 }, 91 },
92 "Elm_Naviframe":
93 {
94 "Evas.Object.size":[70, 60]
95 },
92 "Evas.Object": 96 "Evas.Object":
93 { 97 {
94 "Evas.Object.size_hint_weight":[1.0, 1.0], 98 "Evas.Object.size_hint_weight":[1.0, 1.0],
@@ -456,6 +460,27 @@
456 "class" : "Elm_Hoversel", 460 "class" : "Elm_Hoversel",
457 "name" : "hover_parent", 461 "name" : "hover_parent",
458 "display_name" : "Hover Parent" 462 "display_name" : "Hover Parent"
463 },
464 {
465 "class" : "Elm_Naviframe",
466 "name" : "item_push",
467 "display_name" : "Item push",
468 "container_behavior_data":["OBJ_CONTAINER", "CONTAINER_PACK"]
469 },
470 {
471 "class" : "Elm_Naviframe",
472 "name" : "event_enabled",
473 "display_name" : "Event enabled"
474 },
475 {
476 "class" : "Elm_Naviframe",
477 "name" : "content_preserve_on_pop",
478 "display_name" : "Preserve on pop"
479 },
480 {
481 "class" : "Elm_Naviframe",
482 "name" : "prev_btn_auto_pushed",
483 "display_name" : "Prev button auto-pushed"
459 } 484 }
460 ] 485 ]
461} 486} \ No newline at end of file
diff --git a/data/images/CMakeLists.txt b/data/images/CMakeLists.txt
index 0c88a7a..b010023 100644
--- a/data/images/CMakeLists.txt
+++ b/data/images/CMakeLists.txt
@@ -26,6 +26,7 @@ LIST(APPEND FACTORY_IMAGES
26 factory_ctxpopup.png 26 factory_ctxpopup.png
27 factory_toolbar.png 27 factory_toolbar.png
28 factory_layout.png 28 factory_layout.png
29 factory_naviframe.png
29 resize_red.png 30 resize_red.png
30 canvas_bg.jpg 31 canvas_bg.jpg
31 icon_up_arrow.png 32 icon_up_arrow.png
diff --git a/data/images/factory_naviframe.png b/data/images/factory_naviframe.png
new file mode 100644
index 0000000..047452a
--- /dev/null
+++ b/data/images/factory_naviframe.png
Binary files differ
diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index ee99d1f..e3ea3f3 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -2217,7 +2217,8 @@ _itemview_item_do_(unsigned int type)
2217 gui_value_string_set(val, strdup(str)); 2217 gui_value_string_set(val, strdup(str));
2218 } 2218 }
2219 else if (!strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) || 2219 else if (!strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) ||
2220 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS)) 2220 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) ||
2221 !strcmp(wdg_class_name_get(wdg), DB_DEF_NAVIFRAME_CLASS))
2221 { 2222 {
2222 val = prop_value_nth_get(prop, 0); 2223 val = prop_value_nth_get(prop, 0);
2223 gui_value_string_set(val, strdup(str)); 2224 gui_value_string_set(val, strdup(str));
diff --git a/src/bin/egui_gui/egui_layout.json b/src/bin/egui_gui/egui_layout.json
index a101e60..4f1f3db 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1097,7 +1097,8 @@
1097 "fctr_diskselector_it":[0, 21, 1, 1], 1097 "fctr_diskselector_it":[0, 21, 1, 1],
1098 "fctr_ctxpopup_it":[0, 22, 1, 1], 1098 "fctr_ctxpopup_it":[0, 22, 1, 1],
1099 "fctr_toolbar_it":[0, 23, 1, 1], 1099 "fctr_toolbar_it":[0, 23, 1, 1],
1100 "fctr_layout_it":[0, 24, 1, 1] 1100 "fctr_layout_it":[0, 24, 1, 1],
1101 "fctr_naviframe_it":[0, 25, 1, 1]
1101 } 1102 }
1102 }, 1103 },
1103 "fctr_win_it": 1104 "fctr_win_it":
@@ -1917,6 +1918,49 @@
1917 "Evas.Object.visibility":[true] 1918 "Evas.Object.visibility":[true]
1918 } 1919 }
1919 }, 1920 },
1921 "fctr_naviframe_it":
1922 {
1923 "Desc":
1924 {
1925 "parent":"fctr_table",
1926 "class":"Elm_Box",
1927 "public":true
1928 },
1929 "Properties":
1930 {
1931 "Elm_Box.horizontal":[true],
1932 "Elm_Box.padding":[7, 0],
1933 "Evas.Object.visibility":[true]
1934 },
1935 "Contains":["fctr_naviframe_image", "fctr_naviframe_label"]
1936 },
1937 "fctr_naviframe_image":
1938 {
1939 "Desc":
1940 {
1941 "parent":"fctr_naviframe_it",
1942 "class":"Elm_Image"
1943 },
1944 "Properties":
1945 {
1946 "Evas.Object.size_hint_min":[25, 25],
1947 "Elm_Image.resizable":[true, true],
1948 "Evas.Object.visibility":[true]
1949 }
1950 },
1951 "fctr_naviframe_label":
1952 {
1953 "Desc":
1954 {
1955 "parent":"fctr_naviframe_it",
1956 "class":"Elm_Label"
1957 },
1958 "Properties":
1959 {
1960 "Elm_Widget.part_text":[null, "Naviframe"],
1961 "Evas.Object.visibility":[true]
1962 }
1963 },
1920 "fctr_table_it": 1964 "fctr_table_it":
1921 { 1965 {
1922 "Desc": 1966 "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 0d45df3..3ee395c 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -825,6 +825,8 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
825 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_ctxpopup_it, 0, 22, 1, 1); 825 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_ctxpopup_it, 0, 22, 1, 1);
826 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_toolbar_it, 0, 23, 1, 1); 826 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_toolbar_it, 0, 23, 1, 1);
827 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_layout_it, 0, 24, 1, 1); 827 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_layout_it, 0, 24, 1, 1);
828
829 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_naviframe_it, 0, 25, 1, 1);
828 } 830 }
829 else 831 else
830 { 832 {
@@ -863,6 +865,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
863 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_toolbar_it, 2, 7, 1, 1); 865 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_toolbar_it, 2, 7, 1, 1);
864 866
865 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_layout_it, 0, 8, 1, 1); 867 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_layout_it, 0, 8, 1, 1);
868 elm_table_pack(g_main_wdgs->main_win->fctr_table, g_main_wdgs->main_win->fctr_naviframe_it, 1, 8, 1, 1);
866 } 869 }
867} 870}
868 871
@@ -1047,6 +1050,7 @@ egui_start()
1047 _factory_item_finalize(g_main_wdgs->main_win->fctr_ctxpopup_it, "factory_ctxpopup.png", DB_DEF_CTXPOPUP_CLASS); 1050 _factory_item_finalize(g_main_wdgs->main_win->fctr_ctxpopup_it, "factory_ctxpopup.png", DB_DEF_CTXPOPUP_CLASS);
1048 _factory_item_finalize(g_main_wdgs->main_win->fctr_toolbar_it, "factory_toolbar.png", DB_DEF_TOOLBAR_CLASS); 1051 _factory_item_finalize(g_main_wdgs->main_win->fctr_toolbar_it, "factory_toolbar.png", DB_DEF_TOOLBAR_CLASS);
1049 _factory_item_finalize(g_main_wdgs->main_win->fctr_layout_it, "factory_layout.png", DB_DEF_LAYOUT_CLASS); 1052 _factory_item_finalize(g_main_wdgs->main_win->fctr_layout_it, "factory_layout.png", DB_DEF_LAYOUT_CLASS);
1053 _factory_item_finalize(g_main_wdgs->main_win->fctr_naviframe_it, "factory_naviframe.png", DB_DEF_NAVIFRAME_CLASS);
1050 1054
1051 /*FIXME: Need to unpack inline image, so pass it into delete callback*/ 1055 /*FIXME: Need to unpack inline image, so pass it into delete callback*/
1052 evas_object_smart_callback_add(g_main_wdgs->main_win->main_win, "delete,request", _main_win_del_cb, NULL); 1056 evas_object_smart_callback_add(g_main_wdgs->main_win->main_win, "delete,request", _main_win_del_cb, NULL);
diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index bf16953..4d9de50 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -921,7 +921,8 @@ _propview_build_post_cb(const Gui_Widget *wdg, It_Data_Type new_type)
921 } 921 }
922 else if (wdg_is_container(wdg, DB_DEF_DISKSELECTOR_CLASS) || 922 else if (wdg_is_container(wdg, DB_DEF_DISKSELECTOR_CLASS) ||
923 wdg_is_container(wdg, DB_DEF_CTXPOPUP_CLASS) || 923 wdg_is_container(wdg, DB_DEF_CTXPOPUP_CLASS) ||
924 wdg_is_container(wdg, DB_DEF_TOOLBAR_CLASS)) 924 wdg_is_container(wdg, DB_DEF_TOOLBAR_CLASS) ||
925 wdg_is_container(wdg, DB_DEF_NAVIFRAME_CLASS))
925 { 926 {
926 eo_do(g->main_win->itemview_add_item_nested_but, elm_obj_widget_disabled_set(EINA_TRUE)); 927 eo_do(g->main_win->itemview_add_item_nested_but, elm_obj_widget_disabled_set(EINA_TRUE));
927 eo_do(g->main_win->itemview_add_separator_but, elm_obj_widget_disabled_set(EINA_TRUE)); 928 eo_do(g->main_win->itemview_add_separator_but, elm_obj_widget_disabled_set(EINA_TRUE));
@@ -963,7 +964,8 @@ propview_build(const Gui_Widget *wdg)
963 (wdg_is_container(wdg, DB_DEF_MENU_CLASS) || 964 (wdg_is_container(wdg, DB_DEF_MENU_CLASS) ||
964 wdg_is_container(wdg, DB_DEF_DISKSELECTOR_CLASS) || 965 wdg_is_container(wdg, DB_DEF_DISKSELECTOR_CLASS) ||
965 wdg_is_container(wdg, DB_DEF_CTXPOPUP_CLASS) || 966 wdg_is_container(wdg, DB_DEF_CTXPOPUP_CLASS) ||
966 wdg_is_container(wdg, DB_DEF_TOOLBAR_CLASS))) 967 wdg_is_container(wdg, DB_DEF_TOOLBAR_CLASS) ||
968 wdg_is_container(wdg, DB_DEF_NAVIFRAME_CLASS)))
967 { 969 {
968 type = ITEM_TYPE; 970 type = ITEM_TYPE;
969 } 971 }
diff --git a/src/lib/database.h b/src/lib/database.h
index cf52e9f..d76db81 100644
--- a/src/lib/database.h
+++ b/src/lib/database.h
@@ -108,6 +108,7 @@ typedef struct _Container_Desc Container_Desc;
108#define DB_DEF_TOOLBAR_CLASS "Elm_Toolbar" 108#define DB_DEF_TOOLBAR_CLASS "Elm_Toolbar"
109#define DB_DEF_LAYOUT_CLASS "Elm_Layout" 109#define DB_DEF_LAYOUT_CLASS "Elm_Layout"
110#define DB_DEF_EFL_FILE_INTERFACE "Elm_File" 110#define DB_DEF_EFL_FILE_INTERFACE "Elm_File"
111#define DB_DEF_NAVIFRAME_CLASS "Elm_Naviframe"
111 112
112#define VISIBILITY_SET "visibility" 113#define VISIBILITY_SET "visibility"
113#define SIZE_SET "size" 114#define SIZE_SET "size"
diff --git a/src/lib/gui_parser.c b/src/lib/gui_parser.c
index b88f99c..dae28ee 100644
--- a/src/lib/gui_parser.c
+++ b/src/lib/gui_parser.c
@@ -273,6 +273,7 @@ _read_items_section(const Gui_Context *gui_ctx, Gui_Widget *wdg, Item_Container_
273 273
274 Gui_Value *val_parent_it = NULL, *val_label = NULL, *val_icon = NULL, *val_cb = NULL; 274 Gui_Value *val_parent_it = NULL, *val_label = NULL, *val_icon = NULL, *val_cb = NULL;
275 Gui_Type val_icon_type; 275 Gui_Type val_icon_type;
276 Gui_Value *val_prev_btn = NULL, *val_next_btn = NULL, *val_content = NULL;
276 277
277 if (!strcmp(class_name, DB_DEF_MENU_CLASS)) 278 if (!strcmp(class_name, DB_DEF_MENU_CLASS))
278 { 279 {
@@ -297,6 +298,13 @@ _read_items_section(const Gui_Context *gui_ctx, Gui_Widget *wdg, Item_Container_
297 val_label = prop_value_nth_get(prop, 0); 298 val_label = prop_value_nth_get(prop, 0);
298 val_cb = prop_value_nth_get(prop, 2); 299 val_cb = prop_value_nth_get(prop, 2);
299 } 300 }
301 else if (!strcmp(class_name, DB_DEF_NAVIFRAME_CLASS))
302 {
303 val_label = prop_value_nth_get(prop, 0);
304 val_prev_btn = prop_value_nth_get(prop, 1);
305 val_next_btn = prop_value_nth_get(prop, 2);
306 val_content = prop_value_nth_get(prop, 3);
307 }
300 /* Put 0nt parameter - parent item 308 /* Put 0nt parameter - parent item
301 * this parent exists for Menu widget. */ 309 * this parent exists for Menu widget. */
302 if (val_parent_it) 310 if (val_parent_it)
@@ -348,6 +356,48 @@ _read_items_section(const Gui_Context *gui_ctx, Gui_Widget *wdg, Item_Container_
348 } 356 }
349 } 357 }
350 358
359 tmp = EINA_JSON_OBJECT_VALUE_GET(js_it, "prevbutton");
360 if (tmp)
361 {
362 if (eina_json_type_get(tmp) == EINA_JSON_TYPE_STRING)
363 {
364 const char *str = eina_json_string_get(tmp);
365 gui_value_name_id_set(val_prev_btn, GUI_TYPE_OBJECT, gui_context_dep_id_by_name_get(gui_ctx, str));
366 }
367 else
368 {
369 gui_value_name_id_set(val_prev_btn, GUI_TYPE_OBJECT, 0);
370 }
371 }
372
373 tmp = EINA_JSON_OBJECT_VALUE_GET(js_it, "nextbutton");
374 if (tmp)
375 {
376 if (eina_json_type_get(tmp) == EINA_JSON_TYPE_STRING)
377 {
378 const char *str = eina_json_string_get(tmp);
379 gui_value_name_id_set(val_next_btn, GUI_TYPE_OBJECT, gui_context_dep_id_by_name_get(gui_ctx, str));
380 }
381 else
382 {
383 gui_value_name_id_set(val_next_btn, GUI_TYPE_OBJECT, 0);
384 }
385 }
386
387 tmp = EINA_JSON_OBJECT_VALUE_GET(js_it, "content");
388 if (tmp)
389 {
390 if (eina_json_type_get(tmp) == EINA_JSON_TYPE_STRING)
391 {
392 const char *str = eina_json_string_get(tmp);
393 gui_value_name_id_set(val_content, GUI_TYPE_OBJECT, gui_context_dep_id_by_name_get(gui_ctx, str));
394 }
395 else
396 {
397 gui_value_name_id_set(val_content, GUI_TYPE_OBJECT, 0);
398 }
399 }
400
351 /* Read "callback" field from JSON. */ 401 /* Read "callback" field from JSON. */
352 tmp = EINA_JSON_OBJECT_VALUE_GET(js_it, "callback"); 402 tmp = EINA_JSON_OBJECT_VALUE_GET(js_it, "callback");
353 if (tmp) 403 if (tmp)
diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c
index 6306ef6..bd6936c 100644
--- a/src/lib/gui_widget.c
+++ b/src/lib/gui_widget.c
@@ -937,7 +937,8 @@ wdg_new(Gui_Context *ctx, const char *class_name, Dep_Id *name_id)
937 if (!strcmp(wdg_class_name_get(wdg), DB_DEF_MENU_CLASS) || 937 if (!strcmp(wdg_class_name_get(wdg), DB_DEF_MENU_CLASS) ||
938 !strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) || 938 !strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) ||
939 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) || 939 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) ||
940 !strcmp(wdg_class_name_get(wdg), DB_DEF_TOOLBAR_CLASS)) 940 !strcmp(wdg_class_name_get(wdg), DB_DEF_TOOLBAR_CLASS) ||
941 !strcmp(wdg_class_name_get(wdg), DB_DEF_NAVIFRAME_CLASS))
941 { 942 {
942 Dep_Id *dep_id = gui_context_dep_data_new(ctx, DEP_TYPE_ITEM); 943 Dep_Id *dep_id = gui_context_dep_data_new(ctx, DEP_TYPE_ITEM);
943 Dep_Data *root_it_dep_data = gui_context_dep_data_get(dep_id); 944 Dep_Data *root_it_dep_data = gui_context_dep_data_get(dep_id);
diff --git a/src/lib/json_generator.c b/src/lib/json_generator.c
index 9fe4a8b..53fb0b2 100644
--- a/src/lib/json_generator.c
+++ b/src/lib/json_generator.c
@@ -47,8 +47,7 @@ _gui_value_json_get(const Gui_Context *ctx, Gui_Value *gui_value)
47 Dep_Id *dep_id = DEP_ID_GET(gui_value); 47 Dep_Id *dep_id = DEP_ID_GET(gui_value);
48 if (!dep_id) 48 if (!dep_id)
49 { 49 {
50 eina_json_value_free(jsncur); 50 jsncur = eina_json_null_new();
51 jsncur = NULL;
52 } 51 }
53 else 52 else
54 { 53 {
@@ -202,6 +201,7 @@ _item_json_generate(const Gui_Widget *wdg, const Item_Container_Item *wit)
202 const Gui_Context *ctx = wdg_context_get(wdg); 201 const Gui_Context *ctx = wdg_context_get(wdg);
203 202
204 Gui_Value *val_label = NULL, *val_icon = NULL, *val_cb = NULL; 203 Gui_Value *val_label = NULL, *val_icon = NULL, *val_cb = NULL;
204 Gui_Value *val_prev_btn = NULL, *val_next_btn = NULL, *val_content = NULL;
205 205
206 if (!strcmp(class_name, DB_DEF_MENU_CLASS)) 206 if (!strcmp(class_name, DB_DEF_MENU_CLASS))
207 { 207 {
@@ -222,6 +222,13 @@ _item_json_generate(const Gui_Widget *wdg, const Item_Container_Item *wit)
222 val_label = prop_value_nth_get(prop, 0); 222 val_label = prop_value_nth_get(prop, 0);
223 val_cb = prop_value_nth_get(prop, 2); 223 val_cb = prop_value_nth_get(prop, 2);
224 } 224 }
225 else if (!strcmp(class_name, DB_DEF_NAVIFRAME_CLASS))
226 {
227 val_label = prop_value_nth_get(prop, 0);
228 val_prev_btn = prop_value_nth_get(prop, 1);
229 val_next_btn = prop_value_nth_get(prop, 2);
230 val_content = prop_value_nth_get(prop, 3);
231 }
225 232
226 if (item_container_item_type_get(wit) == ITEM_REGULAR) 233 if (item_container_item_type_get(wit) == ITEM_REGULAR)
227 { 234 {
@@ -238,8 +245,12 @@ _item_json_generate(const Gui_Widget *wdg, const Item_Container_Item *wit)
238 eina_json_object_append(obj, "public", eina_json_boolean_new(EINA_TRUE)); 245 eina_json_object_append(obj, "public", eina_json_boolean_new(EINA_TRUE));
239 } 246 }
240 247
241 eina_json_object_append(obj, "icon", _gui_value_json_get(ctx, val_icon)); 248 if (val_icon) eina_json_object_append(obj, "icon", _gui_value_json_get(ctx, val_icon));
242 eina_json_object_append(obj, "label", _gui_value_json_get(ctx, val_label)); 249 if (val_label) eina_json_object_append(obj, "label", _gui_value_json_get(ctx, val_label));
250 if (val_prev_btn) eina_json_object_append(obj, "prevbutton", _gui_value_json_get(ctx, val_prev_btn));
251 if (val_next_btn) eina_json_object_append(obj, "nextbutton", _gui_value_json_get(ctx, val_next_btn));
252 if (val_content) eina_json_object_append(obj, "content", _gui_value_json_get(ctx, val_content));
253
243 if (gui_value_type_get(val_cb) == GUI_TYPE_CB) 254 if (gui_value_type_get(val_cb) == GUI_TYPE_CB)
244 { 255 {
245 Eina_Json_Value *js = _gui_value_json_get(ctx, val_cb); 256 Eina_Json_Value *js = _gui_value_json_get(ctx, val_cb);
@@ -432,7 +443,8 @@ _widget_json_generate(Gui_Widget *wdg)
432 if (!strcmp(wdg_class_name_get(wdg), DB_DEF_MENU_CLASS) || 443 if (!strcmp(wdg_class_name_get(wdg), DB_DEF_MENU_CLASS) ||
433 !strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) || 444 !strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) ||
434 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) || 445 !strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) ||
435 !strcmp(wdg_class_name_get(wdg), DB_DEF_TOOLBAR_CLASS)) 446 !strcmp(wdg_class_name_get(wdg), DB_DEF_TOOLBAR_CLASS) ||
447 !strcmp(wdg_class_name_get(wdg), DB_DEF_NAVIFRAME_CLASS))
436 { 448 {
437 /* ...create obj, into which put all subitems... */ 449 /* ...create obj, into which put all subitems... */
438 Eina_Json_Value *subobjs = NULL; 450 Eina_Json_Value *subobjs = NULL;