forked from enlightenment/efl
elm_win: remove elm_win_icon_name from eo.
1. remain focus_highlight_style,focus_highlight_enabled, focus_highlight_animated,prop_focus_skip,focus. because each window need to set the focus feature. 2. autohide, autodel is remained for convenient. 3. icon_name will be removed. elm_win_icon_object_get can used instaed of icon_name.
This commit is contained in:
parent
26b2e73d56
commit
9dc1140343
|
@ -4289,22 +4289,6 @@ _elm_win_title_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
|
|||
return sd->title;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_win_icon_name_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, const char *icon_name)
|
||||
{
|
||||
if (!icon_name) return;
|
||||
eina_stringshare_replace(&(sd->icon_name), icon_name);
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
_elm_win_xwin_update(sd);
|
||||
#endif
|
||||
}
|
||||
|
||||
EOLIAN static const char*
|
||||
_elm_win_icon_name_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
|
||||
{
|
||||
return sd->icon_name;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_win_role_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, const char *role)
|
||||
{
|
||||
|
@ -6236,4 +6220,26 @@ elm_win_efl_screen_dpi_get(const Evas_Object *obj, int *xdpi, int *ydpi)
|
|||
ecore_evas_screen_dpi_get(sd->ee, xdpi, ydpi);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_win_icon_name_set(Evas_Object *obj, const char *icon_name)
|
||||
{
|
||||
ELM_WIN_CHECK(obj);
|
||||
ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
|
||||
|
||||
if (!icon_name) return;
|
||||
eina_stringshare_replace(&(sd->icon_name), icon_name);
|
||||
#ifdef HAVE_ELEMENTARY_X
|
||||
_elm_win_xwin_update(sd);
|
||||
#endif
|
||||
}
|
||||
|
||||
EAPI const char*
|
||||
elm_win_icon_name_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_WIN_CHECK(obj) NULL;
|
||||
ELM_WIN_DATA_GET_OR_RETURN(obj, sd, NULL);
|
||||
|
||||
return sd->icon_name;
|
||||
}
|
||||
|
||||
#include "elm_win.eo.c"
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
/* FIXME: Shouldn't be here. */
|
||||
type Ecore_Evas: __undefined_type;
|
||||
type Ecore_X_Window: __undefined_type;
|
||||
type Ecore_Wl2_Window: __undefined_type;
|
||||
type Ecore_Cocoa_Window: __undefined_type;
|
||||
type Ecore_Win32_Window: __undefined_type;
|
||||
type Ecore_Window: __undefined_type;
|
||||
|
||||
enum Elm.Win.Type
|
||||
|
@ -230,6 +226,104 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
return: bool;
|
||||
}
|
||||
}
|
||||
@property screen_constrain {
|
||||
set {
|
||||
[[Constrain the maximum width and height of a window to the
|
||||
width and height of its screen.
|
||||
|
||||
When $constrain is $true, $obj will never resize larger than
|
||||
the screen.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the constraints on the maximum width and height of a
|
||||
window relative to the width and height of its screen.
|
||||
|
||||
When this function returns $true, $obj will never resize
|
||||
larger than the screen.
|
||||
]]
|
||||
}
|
||||
values {
|
||||
constrain: bool; [[$true to restrict the window's maximum size.]]
|
||||
}
|
||||
}
|
||||
@property focus_highlight_style {
|
||||
set {
|
||||
[[Set the style for the focus highlight on this window.
|
||||
|
||||
Sets the style to use for theming the highlight of focused
|
||||
objects on the given window. If $style is NULL, the default
|
||||
will be used.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the style set for the focus highlight object.]]
|
||||
}
|
||||
values {
|
||||
style: string @nullable; [[The style or $null if none.]]
|
||||
}
|
||||
}
|
||||
@property focus_highlight_enabled {
|
||||
set {
|
||||
[[Set the enabled status for the focus highlight in a window.
|
||||
|
||||
This function will enable or disable the focus highlight only
|
||||
for the given window, regardless of the global setting for it.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the enabled value of the focus highlight for this window.]]
|
||||
}
|
||||
values {
|
||||
enabled: bool; [[The enabled value for the highlight.]]
|
||||
}
|
||||
}
|
||||
@property focus_highlight_animate {
|
||||
set {
|
||||
[[Set the animate status for the focus highlight for this window.
|
||||
|
||||
This function will enable or disable the animation of focus
|
||||
highlight only for the given window, regardless of the
|
||||
global setting for it.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the animate value of the focus highlight for this window.]]
|
||||
}
|
||||
values {
|
||||
animate: bool; [[The enabled value for the highlight animation.]]
|
||||
}
|
||||
}
|
||||
@property prop_focus_skip {
|
||||
set {
|
||||
[[Set the window to be skipped by keyboard focus.
|
||||
|
||||
This sets the window to be skipped by normal keyboard input.
|
||||
This means a window manager will be asked to not focus this
|
||||
window as well as omit it from things like the taskbar, pager,
|
||||
"alt-tab" list etc. etc.
|
||||
|
||||
Call this and enable it on a window BEFORE you show it for
|
||||
the first time, otherwise it may have no effect.
|
||||
|
||||
Use this for windows that have only output information or
|
||||
might only be interacted with by the mouse or fingers, and
|
||||
never for typing input. Be careful that this may have
|
||||
side-effects like making the window non-accessible in
|
||||
some cases unless the window is specially handled. Use
|
||||
this with care.
|
||||
]]
|
||||
}
|
||||
values {
|
||||
skip: bool; [[The skip flag state ($true if it is to be skipped).]]
|
||||
}
|
||||
}
|
||||
@property focus {
|
||||
get {
|
||||
[[Get whether a window has focus.]]
|
||||
return: bool;
|
||||
}
|
||||
}
|
||||
@property autodel {
|
||||
set {
|
||||
[[Set the window's autodel state.
|
||||
|
@ -280,6 +374,43 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
itself when closed.]]
|
||||
}
|
||||
}
|
||||
@property icon_object {
|
||||
set {
|
||||
[[Set a window object's icon.
|
||||
|
||||
This sets an image to be used as the icon for the given
|
||||
window, in the window manager decoration part. The exact
|
||||
pixel dimensions of the object (not object size) will be
|
||||
used, and the image pixels will be used as-is when this
|
||||
function is called. If the image object has been updated,
|
||||
then call this function again to source the image pixels
|
||||
and put them on the window's icon. Note that only Evas
|
||||
image objects are allowed.
|
||||
]]
|
||||
/* FIXME-doc
|
||||
Example of usage:
|
||||
@code
|
||||
icon = evas_object_image_add(evas_object_evas_get(elm_window));
|
||||
evas_object_image_file_set(icon, "/path/to/the/icon", NULL);
|
||||
elm_win_icon_object_set(elm_window, icon);
|
||||
evas_object_show(icon);
|
||||
@endcode
|
||||
*/
|
||||
values {
|
||||
icon: Evas.Object @nullable; [[The Evas image object to use for an icon.]]
|
||||
}
|
||||
}
|
||||
get {
|
||||
[[Get the icon object used for the window.
|
||||
|
||||
The object returns is the one marked by @.icon_object.set as
|
||||
the object to use for the window icon.
|
||||
]]
|
||||
values {
|
||||
icon: const(Evas.Object) @nullable; [[The Evas image object to use for an icon.]]
|
||||
}
|
||||
}
|
||||
}
|
||||
@property iconified {
|
||||
set {
|
||||
[[Set the iconified state of a window.]]
|
||||
|
@ -313,22 +444,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
modal: bool; [[If true, the window is modal.]]
|
||||
}
|
||||
}
|
||||
@property icon_name {
|
||||
set {
|
||||
[[Set the icon name of the window.]]
|
||||
}
|
||||
get {
|
||||
[[Get the icon name of the window.
|
||||
|
||||
The returned string is an internal one and should not be
|
||||
freed or modified. It will also be invalid if a new icon
|
||||
name is set or if the window is destroyed.
|
||||
]]
|
||||
}
|
||||
values {
|
||||
icon_name: string; [[The icon name to set.]]
|
||||
}
|
||||
}
|
||||
@property withdrawn {
|
||||
set {
|
||||
[[Set the withdrawn state of a window.]]
|
||||
|
@ -377,22 +492,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
h: int; [[The stepping height (0 disables).]]
|
||||
}
|
||||
}
|
||||
@property focus_highlight_style {
|
||||
set {
|
||||
[[Set the style for the focus highlight on this window.
|
||||
|
||||
Sets the style to use for theming the highlight of focused
|
||||
objects on the given window. If $style is NULL, the default
|
||||
will be used.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the style set for the focus highlight object.]]
|
||||
}
|
||||
values {
|
||||
style: string @nullable; [[The style or $null if none.]]
|
||||
}
|
||||
}
|
||||
@property borderless {
|
||||
set {
|
||||
[[Set the borderless state of a window.
|
||||
|
@ -408,27 +507,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
borderless: bool; [[If true, the window is borderless.]]
|
||||
}
|
||||
}
|
||||
@property screen_constrain {
|
||||
set {
|
||||
[[Constrain the maximum width and height of a window to the
|
||||
width and height of its screen.
|
||||
|
||||
When $constrain is $true, $obj will never resize larger than
|
||||
the screen.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the constraints on the maximum width and height of a
|
||||
window relative to the width and height of its screen.
|
||||
|
||||
When this function returns $true, $obj will never resize
|
||||
larger than the screen.
|
||||
]]
|
||||
}
|
||||
values {
|
||||
constrain: bool; [[$true to restrict the window's maximum size.]]
|
||||
}
|
||||
}
|
||||
@property available_profiles {
|
||||
set {
|
||||
[[Set the array of available profiles to a window.
|
||||
|
@ -452,21 +530,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
return: bool;
|
||||
}
|
||||
}
|
||||
@property focus_highlight_enabled {
|
||||
set {
|
||||
[[Set the enabled status for the focus highlight in a window.
|
||||
|
||||
This function will enable or disable the focus highlight only
|
||||
for the given window, regardless of the global setting for it.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the enabled value of the focus highlight for this window.]]
|
||||
}
|
||||
values {
|
||||
enabled: bool; [[The enabled value for the highlight.]]
|
||||
}
|
||||
}
|
||||
@property title {
|
||||
set {
|
||||
[[Set the title of the window.]]
|
||||
|
@ -521,43 +584,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
urgent: bool; [[If true, the window is urgent.]]
|
||||
}
|
||||
}
|
||||
@property icon_object {
|
||||
set {
|
||||
[[Set a window object's icon.
|
||||
|
||||
This sets an image to be used as the icon for the given
|
||||
window, in the window manager decoration part. The exact
|
||||
pixel dimensions of the object (not object size) will be
|
||||
used, and the image pixels will be used as-is when this
|
||||
function is called. If the image object has been updated,
|
||||
then call this function again to source the image pixels
|
||||
and put them on the window's icon. Note that only Evas
|
||||
image objects are allowed.
|
||||
]]
|
||||
/* FIXME-doc
|
||||
Example of usage:
|
||||
@code
|
||||
icon = evas_object_image_add(evas_object_evas_get(elm_window));
|
||||
evas_object_image_file_set(icon, "/path/to/the/icon", NULL);
|
||||
elm_win_icon_object_set(elm_window, icon);
|
||||
evas_object_show(icon);
|
||||
@endcode
|
||||
*/
|
||||
values {
|
||||
icon: Evas.Object @nullable; [[The Evas image object to use for an icon.]]
|
||||
}
|
||||
}
|
||||
get {
|
||||
[[Get the icon object used for the window.
|
||||
|
||||
The object returns is the one marked by @.icon_object.set as
|
||||
the object to use for the window icon.
|
||||
]]
|
||||
values {
|
||||
icon: const(Evas.Object) @nullable; [[The Evas image object to use for an icon.]]
|
||||
}
|
||||
}
|
||||
}
|
||||
@property sticky {
|
||||
set {
|
||||
[[Set the sticky state of the window.
|
||||
|
@ -574,22 +600,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
sticky: bool; [[If true, the window's sticky state is enabled.]]
|
||||
}
|
||||
}
|
||||
@property focus_highlight_animate {
|
||||
set {
|
||||
[[Set the animate status for the focus highlight for this window.
|
||||
|
||||
This function will enable or disable the animation of focus
|
||||
highlight only for the given window, regardless of the
|
||||
global setting for it.
|
||||
]]
|
||||
}
|
||||
get {
|
||||
[[Get the animate value of the focus highlight for this window.]]
|
||||
}
|
||||
values {
|
||||
animate: bool; [[The enabled value for the highlight animation.]]
|
||||
}
|
||||
}
|
||||
@property aspect {
|
||||
set {
|
||||
[[Set the aspect ratio of a window.]]
|
||||
|
@ -703,36 +713,6 @@ class Elm.Win (Elm.Widget, Elm.Interface.Atspi.Window,
|
|||
h: int; [[The base height.]]
|
||||
}
|
||||
}
|
||||
@property prop_focus_skip {
|
||||
set {
|
||||
[[Set the window to be skipped by keyboard focus.
|
||||
|
||||
This sets the window to be skipped by normal keyboard input.
|
||||
This means a window manager will be asked to not focus this
|
||||
window as well as omit it from things like the taskbar, pager,
|
||||
"alt-tab" list etc. etc.
|
||||
|
||||
Call this and enable it on a window BEFORE you show it for
|
||||
the first time, otherwise it may have no effect.
|
||||
|
||||
Use this for windows that have only output information or
|
||||
might only be interacted with by the mouse or fingers, and
|
||||
never for typing input. Be careful that this may have
|
||||
side-effects like making the window non-accessible in
|
||||
some cases unless the window is specially handled. Use
|
||||
this with care.
|
||||
]]
|
||||
}
|
||||
values {
|
||||
skip: bool; [[The skip flag state ($true if it is to be skipped).]]
|
||||
}
|
||||
}
|
||||
@property focus {
|
||||
get {
|
||||
[[Get whether a window has focus.]]
|
||||
return: bool;
|
||||
}
|
||||
}
|
||||
@property main_menu {
|
||||
get {
|
||||
[[Get the Main Menu of a window.]]
|
||||
|
|
|
@ -712,3 +712,25 @@ EAPI void elm_win_screen_size_get(const Evas_Object *obj, int *x, int *y, int *w
|
|||
*/
|
||||
EAPI void elm_win_screen_dpi_get(const Evas_Object *obj, int *xdpi, int *ydpi);
|
||||
|
||||
/**
|
||||
* @brief Set the icon name of the window.
|
||||
*
|
||||
* @param[in] icon_name The icon name to set.
|
||||
*
|
||||
* @ingroup Elm_Win
|
||||
*/
|
||||
EAPI void elm_win_icon_name_set(Evas_Object *obj, const char *icon_name);
|
||||
|
||||
/**
|
||||
* @brief Get the icon name of the window.
|
||||
*
|
||||
* The returned string is an internal one and should not be freed or modified.
|
||||
* It will also be invalid if a new icon name is set or if the window is
|
||||
* destroyed.
|
||||
*
|
||||
* @return The icon name to set.
|
||||
*
|
||||
* @ingroup Elm_Win
|
||||
*/
|
||||
EAPI const char *elm_win_icon_name_get(const Evas_Object *obj);
|
||||
|
||||
|
|
Loading…
Reference in New Issue