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 BORDERLESS
#undef MAXIMIZED

View File

@ -15,11 +15,17 @@ _win_new(Evas_Object *stack_top, const char *title)
Evas_Object *bg, *bx, *bt, *lb, *win;
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
win = elm_win_add(NULL, "window-stack", ELM_WIN_BASIC);
elm_win_title_set(win, title);
elm_win_autodel_set(win, EINA_TRUE);
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_DIALOG_BASIC),
efl_text_set(efl_added, title),
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
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)
{
// Theme compatibility
const char *key = "elm/border/base/default"; // FIXME?
const char *key = "elm/border/base/default"; // FIXME?
char *sys_theme;
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 */
if (type != ELM_WIN_FAKE)
{
const char *style = "default";
_elm_win_list = eina_list_append(_elm_win_list, obj);
_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);
}
_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)
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
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.
@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

View File

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