elm theme/test - add start of nviframe window style and test it

This commit is contained in:
Carsten Haitzler 2017-01-12 18:02:18 +09:00
parent 4d8b6d54bc
commit 11432d42a7
5 changed files with 137 additions and 25 deletions

View File

@ -994,6 +994,99 @@ group { name: "elm/border/base/default";
} }
} }
group { name: "elm/border/base/dialog";
inherit: "elm/border/base/default";
parts {
text { "elm.text.title";
clip: "top_clip";
desc { "default";
rel2.to_x: "elm.event.close";
}
desc { "focused";
inherit: "default";
visible: 0;
}
}
text { "title2";
desc { "default";
rel2.to_x: "elm.event.close";
}
desc { "focused";
inherit: "default";
visible: 1;
}
}
image { "max1";
desc { "default";
visible: 0;
}
desc { "selected";
visible: 0;
}
}
image { "min1";
desc { "default";
visible: 0;
}
desc { "selected";
visible: 0;
}
}
image { "max2";
desc { "default";
visible: 0;
}
desc { "selected";
visible: 0;
}
}
image { "min2";
desc { "default";
visible: 0;
}
desc { "selected";
visible: 0;
}
}
rect { "elm.event.maximize";
desc { "default";
visible: 0;
}
}
rect { "elm.event.minimize";
desc { "default";
visible: 0;
}
}
}
}
group { name: "elm/border/base/naviframe";
images.image: "sym_left_dark_normal.png" COMP;
images.image: "sym_left_glow_normal.png" COMP;
images.image: "sym_left_light_normal.png" COMP;
inherit: "elm/border/base/dialog";
parts {
image { "close1";
desc { "default";
image.normal: "sym_left_dark_normal.png";
}
desc { "selected";
image.normal: "sym_left_glow_normal.png";
}
}
image { "close2"; nomouse;
clip: "clip2";
desc { "default";
image.normal: "sym_left_light_normal.png";
}
desc { "selected";
image.normal: "sym_left_glow_normal.png";
}
}
}
}
#undef UNRESIZABLE #undef UNRESIZABLE
#undef BORDERLESS #undef BORDERLESS
#undef MAXIMIZED #undef MAXIMIZED

View File

@ -15,11 +15,17 @@ _win_new(Evas_Object *stack_top, const char *title)
Evas_Object *bg, *bx, *bt, *lb, *win; Evas_Object *bg, *bx, *bt, *lb, *win;
if (level >= 3) if (level >= 3)
win = elm_win_add(NULL, "window-stack", ELM_WIN_DIALOG_BASIC); win = efl_add(EFL_UI_WIN_CLASS, NULL,
efl_ui_win_name_set(efl_added, "window-stack"),
efl_ui_win_type_set(efl_added, ELM_WIN_NAVIFRAME_BASIC),
efl_text_set(efl_added, title),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
else else
win = elm_win_add(NULL, "window-stack", ELM_WIN_BASIC); win = efl_add(EFL_UI_WIN_CLASS, NULL,
elm_win_title_set(win, title); efl_ui_win_name_set(efl_added, "window-stack"),
elm_win_autodel_set(win, EINA_TRUE); efl_ui_win_type_set(efl_added, ELM_WIN_DIALOG_BASIC),
efl_text_set(efl_added, title),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
if (level == 3) popto_win = win; if (level == 3) popto_win = win;

View File

@ -4165,7 +4165,7 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *style)
if (v < FRAME_OBJ_THEME_MIN_VERSION) if (v < FRAME_OBJ_THEME_MIN_VERSION)
{ {
// Theme compatibility // Theme compatibility
const char *key = "elm/border/base/default"; // FIXME? const char *key = "elm/border/base/default"; // FIXME?
char *sys_theme; char *sys_theme;
WRN("Selected theme does not support the required border theme API " WRN("Selected theme does not support the required border theme API "
@ -5103,6 +5103,8 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
/* do not append to list; all windows render as black rects */ /* do not append to list; all windows render as black rects */
if (type != ELM_WIN_FAKE) if (type != ELM_WIN_FAKE)
{ {
const char *style = "default";
_elm_win_list = eina_list_append(_elm_win_list, obj); _elm_win_list = eina_list_append(_elm_win_list, obj);
_elm_win_count++; _elm_win_count++;
@ -5111,7 +5113,13 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
{ {
TRAP(sd, fullscreen_set, 1); TRAP(sd, fullscreen_set, 1);
} }
_elm_win_frame_add(sd, "default"); switch (type)
{
case EFL_UI_WIN_DIALOG_BASIC: style = "dialog"; break;
case EFL_UI_WIN_NAVIFRAME_BASIC: style = "naviframe"; break;
default: break;
}
_elm_win_frame_add(sd, style);
if (_elm_config->focus_highlight_enable) if (_elm_config->focus_highlight_enable)
elm_win_focus_highlight_enabled_set(obj, EINA_TRUE); elm_win_focus_highlight_enabled_set(obj, EINA_TRUE);

View File

@ -53,11 +53,15 @@ enum Efl.Ui.Win.Type
contents will be rendered to an image buffer and can be contents will be rendered to an image buffer and can be
shown other process's plug image object. shown other process's plug image object.
]] ]]
fake [[This window was created using a pre-existing canvas. The window fake, [[This window was created using a pre-existing canvas. The window
widget can be deleted, but the canvas must be managed externally. widget can be deleted, but the canvas must be managed externally.
@since 1.13 @since 1.13
]] ]]
naviframe_basic [[Used for naviframe style replacement with a back
button instead of a close button.
@since 1.19
]]
} }
enum Efl.Ui.Win.Keyboard_Mode enum Efl.Ui.Win.Keyboard_Mode

View File

@ -52,24 +52,25 @@ typedef enum
typedef Efl_Ui_Win_Type Elm_Win_Type; typedef Efl_Ui_Win_Type Elm_Win_Type;
#define ELM_WIN_UNKNOWN EFL_UI_WIN_UNKNOWN #define ELM_WIN_UNKNOWN EFL_UI_WIN_UNKNOWN
#define ELM_WIN_BASIC EFL_UI_WIN_BASIC #define ELM_WIN_BASIC EFL_UI_WIN_BASIC
#define ELM_WIN_DIALOG_BASIC EFL_UI_WIN_DIALOG_BASIC #define ELM_WIN_DIALOG_BASIC EFL_UI_WIN_DIALOG_BASIC
#define ELM_WIN_DESKTOP EFL_UI_WIN_DESKTOP #define ELM_WIN_DESKTOP EFL_UI_WIN_DESKTOP
#define ELM_WIN_DOCK EFL_UI_WIN_DOCK #define ELM_WIN_DOCK EFL_UI_WIN_DOCK
#define ELM_WIN_TOOLBAR EFL_UI_WIN_TOOLBAR #define ELM_WIN_TOOLBAR EFL_UI_WIN_TOOLBAR
#define ELM_WIN_MENU EFL_UI_WIN_MENU #define ELM_WIN_MENU EFL_UI_WIN_MENU
#define ELM_WIN_UTILITY EFL_UI_WIN_UTILITY #define ELM_WIN_UTILITY EFL_UI_WIN_UTILITY
#define ELM_WIN_SPLASH EFL_UI_WIN_SPLASH #define ELM_WIN_SPLASH EFL_UI_WIN_SPLASH
#define ELM_WIN_DROPDOWN_MENU EFL_UI_WIN_DROPDOWN_MENU #define ELM_WIN_DROPDOWN_MENU EFL_UI_WIN_DROPDOWN_MENU
#define ELM_WIN_POPUP_MENU EFL_UI_WIN_POPUP_MENU #define ELM_WIN_POPUP_MENU EFL_UI_WIN_POPUP_MENU
#define ELM_WIN_TOOLTIP EFL_UI_WIN_TOOLTIP #define ELM_WIN_TOOLTIP EFL_UI_WIN_TOOLTIP
#define ELM_WIN_NOTIFICATION EFL_UI_WIN_NOTIFICATION #define ELM_WIN_NOTIFICATION EFL_UI_WIN_NOTIFICATION
#define ELM_WIN_COMBO EFL_UI_WIN_COMBO #define ELM_WIN_COMBO EFL_UI_WIN_COMBO
#define ELM_WIN_DND EFL_UI_WIN_DND #define ELM_WIN_DND EFL_UI_WIN_DND
#define ELM_WIN_INLINED_IMAGE EFL_UI_WIN_INLINED_IMAGE #define ELM_WIN_INLINED_IMAGE EFL_UI_WIN_INLINED_IMAGE
#define ELM_WIN_SOCKET_IMAGE EFL_UI_WIN_SOCKET_IMAGE #define ELM_WIN_SOCKET_IMAGE EFL_UI_WIN_SOCKET_IMAGE
#define ELM_WIN_FAKE EFL_UI_WIN_FAKE #define ELM_WIN_FAKE EFL_UI_WIN_FAKE
#define ELM_WIN_NAVIFRAME_BASIC EFL_UI_WIN_NAVIFRAME_BASIC
typedef Efl_Ui_Win_Keyboard_Mode Elm_Win_Keyboard_Mode; typedef Efl_Ui_Win_Keyboard_Mode Elm_Win_Keyboard_Mode;