efl/legacy/elementary/src/lib/elm_win.eo

1673 lines
51 KiB
Plaintext
Raw Normal View History

enum Elm.Win.Type
{
2015-06-11 08:39:33 -07:00
[[Defines the types of window that can be created
2015-06-11 08:39:33 -07:00
These are hints set on the window so that a running Window Manager knows
how the window should be handled and/or what kind of decorations it
should have.
2015-06-11 08:39:33 -07:00
Currently, only the X11 backed engines use them.
]]
legacy: elm_win;
unknown = -1,
2015-06-11 08:39:33 -07:00
basic, [[A normal window. Indicates a normal, top-level window. Almost every
window will be created with this type.]]
dialog_basic, [[Used for simple dialog windows.]]
desktop, [[For special desktop windows, like a background window holding
desktop icons.]]
dock, [[The window is used as a dock or panel. Usually would be kept on top
of any other window by the Window Manager.]]
toolbar, [[The window is used to hold a floating toolbar, or similar.]]
menu, [[Similar to #ELM_WIN_TOOLBAR.]]
utility, [[A persistent utility window, like a toolbox or palette.]]
splash, [[Splash window for a starting up application.]]
dropdown_menu, [[The window is a dropdown menu, as when an entry in a
menubar is clicked. Typically used with @elm_win_override_set.
This hint exists for completion only, as the EFL way of
implementing a menu would not normally use a separate
window for its contents.]]
popup_menu, [[Like #ELM_WIN_DROPDOWN_MENU, but for the menu triggered by
right-clicking an object.]]
tooltip, [[The window is a tooltip. A short piece of explanatory text that
typically appear after the mouse cursor hovers over an object
for a while. Typically used with @elm_win_override_set and also
not very commonly used in the EFL.]]
notification, [[A notification window, like a warning about battery life or
a new E-Mail received.]]
combo, [[A window holding the contents of a combo box. Not usually used in
the EFL.]]
dnd, [[Used to indicate the window is a representation of an object being
dragged across different windows, or even applications. Typically
used with elm_win_override_set().]]
inlined_image, [[The window is rendered onto an image buffer. No actual
window is created for this type, instead the window and
all of its contents will be rendered to an image buffer.
This allows to have children window inside a parent one
just like any other object would be, and do other things
like applying @Evas_Map effects to it. This is the only
type of window that requires the parent parameter of
@elm_win_add to be a valid @Evas_Object.]]
socket_image, [[The window is rendered onto an image buffer and can be shown
other process's plug image object. No actual window is
created for this type, instead the window and all of its
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
widget can be deleted, but the canvas must be managed externally.
@since 1.13
]]
}
enum Elm.Win.Keyboard_Mode
{
2015-06-11 08:39:33 -07:00
[[The different layouts that can be requested for the virtual keyboard.
2015-06-11 08:39:33 -07:00
When the application window is being managed by Illume, it may request
any of the following layouts for the virtual keyboard.
]]
legacy: elm_win_keyboard;
2015-06-11 08:39:33 -07:00
unknown, [[Unknown keyboard state]]
off, [[Request to deactivate the keyboard]]
on, [[Enable keyboard with default layout]]
alpha, [[Alpha (a-z) keyboard layout]]
numeric, [[Numeric keyboard layout]]
pin, [[PIN keyboard layout]]
phone_number, [[Phone keyboard layout]]
hex, [[Hexadecimal numeric keyboard layout]]
terminal, [[Full (QWERTY) keyboard layout]]
password, [[Password keyboard layout]]
ip, [[IP keyboard layout]]
host, [[Host keyboard layout]]
file, [[File keyboard layout]]
url, [[URL keyboard layout]]
keypad, [[Keypad layout]]
j2me [[J2ME keyboard layout]]
}
enum Elm.Win.Indicator_Mode
{
2015-06-11 08:39:33 -07:00
[[In some environments, like phones, you may have an indicator that
shows battery status, reception, time etc. This is the indicator.
2015-06-11 08:39:33 -07:00
Sometimes you don't want it because you provide the same functionality
inside your app, so this will request that the indicator is hidden in
this circumstance if you use ELM_ILLUME_INDICATOR_HIDE. The default
is to have the indicator shown.
]]
legacy: elm_win_indicator;
2015-06-11 08:39:33 -07:00
unknown, [[Unknown indicator state]]
hide, [[Hides the indicator]]
show [[Shows the indicator]]
}
enum Elm.Win.Indicator_Opacity_Mode
{
2015-06-11 08:39:33 -07:00
[[Defines the opacity modes of indicator that can be shown]]
legacy: elm_win_indicator;
2015-06-11 08:39:33 -07:00
opacity_unknown, [[Unknown indicator opacity mode]]
opaque, [[Opacifies the indicator]]
translucent, [[Be translucent the indicator]]
transparent [[Transparentizes the indicator]]
}
/**
*/
enum Elm.Win.Keygrab_Mode
{
2015-06-11 08:39:33 -07:00
[[Define the keygrab modes of window. A window may send commands to the
Keyrouter according this mode, and perform different actions.]]
legacy: elm_win_keygrab;
2015-06-11 08:39:33 -07:00
unknown = 0, [[Unknown keygrab mode]]
shared = (1 << 8), [[Getting the grabbed-key together with the other client
windows]]
topmost = (1 << 9), [[Getting the grabbed-key only when window is top of the
stack]]
exclusive = (1 << 10), [[Getting the grabbed-key exclusively regardless of
window's position]]
override_exclusive = (1 << 11) [[Getting the grabbed-key exclusively
regardless of window's position. Being
overrided the grab by the other client
window]]
}
enum Elm.Illume_Command
{
2015-06-11 08:39:33 -07:00
[[Available commands that can be sent to the Illume manager.
2015-06-11 08:39:33 -07:00
When running under an Illume session, a window may send commands to the
Illume manager to perform different actions.
]]
2015-06-11 08:39:33 -07:00
focus_back, [[Reverts focus to the previous window]]
focus_forward, [[Sends focus to the next window in the list]]
focus_home, [[Hides all windows to show the Home screen]]
close [[Closes the currently active window]]
}
class Elm.Win (Elm.Widget, Elm_Interface_Atspi_Window,
Elm_Interface_Atspi_Widget_Action)
2014-03-27 06:15:52 -07:00
{
eo_prefix: elm_obj_win;
2015-05-07 09:32:53 -07:00
methods {
@property keyboard_win {
2014-03-27 06:15:52 -07:00
set {
/*@
Sets whether the window is a keyboard.
@ingroup Win */
}
get {
/*@
Get whether the window is a keyboard.
@return If the window is a virtual keyboard
@ingroup Win */
}
values {
is_keyboard: bool; /*@ If true, the window is a virtual keyboard */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property autodel {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the window's autodel state.
When closing the window in any way outside of the program control, like
pressing the X button in the titlebar or using a command from the
Window Manager, a "delete,request" signal is emitted to indicate that
this event occurred and the developer can take any action, which may
include, or not, destroying the window object.
When the @p autodel parameter is set, the window will be automatically
destroyed when this event occurs, after the signal is emitted.
If @p autodel is @c EINA_FALSE, then the window will not be destroyed
and is up to the program to do so when it's required.
@ingroup Win */
}
get {
/*@
Get the window's autodel state.
@return If the window will automatically delete itself when closed
@see elm_win_autodel_set()
@ingroup Win */
}
values {
autodel: bool; /*@ If true, the window will automatically delete itself when
2014-03-27 06:15:52 -07:00
closed */
}
}
@property autohide {
[[Window's autohide state.
This property works similarly to @c autodel, automatically handling
"delete,request" signals when set to @c EINA_TRUE, with the difference
that it will hide the window, instead of destroying it.
It is specially designed to work together with @c ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN
which allows exiting Elementary's main loop when all the windows
are hidden.
@see elm_win_autodel_set()
@note @c autodel and @c autohide are not mutually exclusive. The window
will be deleted if both are set to @c EINA_TRUE.
@ingroup Win
]]
set {
}
get {
}
values {
autohide: bool; /*@ If true, the window will automatically hide itself when
closed */
}
}
2015-05-07 09:32:53 -07:00
@property override {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the override state of a window.
A window with @p override set to EINA_TRUE will not be managed by the
Window Manager. This means that no decorations of any kind will be shown
for it, moving and resizing must be handled by the application, as well
as the window visibility.
This should not be used for normal windows, and even for not so normal
ones, it should only be used when there's a good reason and with a lot
of care. Mishandling override windows may result situations that
disrupt the normal workflow of the end user.
@ingroup Win */
}
get {
/*@
Get the override state of a window.
@return If true, the window is overridden
@see elm_win_override_set()
@ingroup Win */
}
values {
override: bool; /*@ If true, the window is overridden */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property iconified {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the iconified state of a window.
@ingroup Win */
}
get {
/*@
Get the iconified state of a window.
@return If true, the window is iconified
@ingroup Win */
}
values {
iconified: bool; /*@ If true, the window is iconified */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property wm_available_rotations {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the array of available window rotations.
This function is used to set the available rotations to give the hints to WM.
WM will refer this hints and set the orientation window properly.
@see elm_win_wm_rotation_available_rotations_get()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_available_rotations_set;
values {
rotations: const(int)*; /*@ The array of rotation value. */
count: uint; /*@ The size of the @param rotations array. */
}
2014-03-27 06:15:52 -07:00
}
get {
/*@
Get the array of available window rotations.
This function is used to get the available rotations.
@see elm_win_wm_rotation_available_rotations_set()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_available_rotations_get;
values {
rotations: int*; /*@ The array of rotation value. */
count: uint; /*@ The size of the @param rotations array. */
}
return: bool;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property quickpanel_zone {
2014-03-27 06:15:52 -07:00
set {
/*@
Set which zone this quickpanel should appear in
@ingroup Win */
}
get {
/*@
Get which zone this quickpanel should appear in
@return The requested zone for this quickpanel
@ingroup Win */
}
values {
zone: int; /*@ The requested zone for this quickpanel */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property maximized {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the maximized state of a window.
@ingroup Win */
}
get {
/*@
Get the maximized state of a window.
@return If true, the window is maximized
@ingroup Win */
}
values {
maximized: bool; /*@ If true, the window is maximized */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property modal {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the modal state of a window.
@ingroup Win */
}
get {
/*@
Get the modal state of a window.
@return If true, the window is modal
@ingroup Win */
}
values {
modal: bool; /*@ If true, the window is modal */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property icon_name {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the icon name of the window
@ingroup Win */
}
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.
@return The icon name
@ingroup Win */
}
values {
icon_name: const(char)*; /*@ The icon name to set */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property withdrawn {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the withdrawn state of a window.
@ingroup Win */
}
get {
/*@
Get the withdrawn state of a window.
@return If true, the window is withdrawn
@ingroup Win */
}
values {
withdrawn: bool; /*@ If true, the window is withdrawn */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property role {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the role of the window
@ingroup Win */
}
get {
/*@
Get the role 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 role is set or if
the window is destroyed.
@return The role
@ingroup Win */
}
values {
role: const(char)*; /*@ The role to set */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property size_step {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the window stepping used with sizing calculation
Base size + stepping is what is calculated for window sizing restrictions.
@ingroup Win
@see elm_win_size_step_get
@see elm_win_size_base_set
@since 1.7 */
}
get {
/*@
Get the stepping of a window.
@ingroup Win
@see elm_win_size_base_set
@see elm_win_size_step_set
@since 1.7 */
}
values {
w: int; /*@ The stepping width (0 disables) */
h: int; /*@ The stepping height (0 disables) */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property focus_highlight_style {
2014-03-27 06:15:52 -07:00
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 @p style is NULL, the default will be used.
@ingroup Win */
}
get {
/*@
Get the style set for the focus highlight object
Get the style set for this windows highlight object, or NULL if none
is set.
@return The style set or NULL if none was. Default is used in that case.
@ingroup Win */
}
values {
style: const(char)* @nullable; /*@ The style to set */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property borderless {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the borderless state of a window.
This function requests the Window Manager to not draw any decoration
around the window.
@ingroup Win */
}
get {
/*@
Get the borderless state of a window.
@return If true, the window is borderless
@ingroup Win */
}
values {
borderless: bool; /*@ If true, the window is borderless */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property screen_constrain {
2014-03-27 06:15:52 -07:00
set {
/*@
Constrain the maximum width and height of a window to the width and height of its screen
When @p constrain is true, @p obj will never resize larger than the screen.
@ingroup Win */
}
get {
/*@
Get the constraints on the maximum width and height of a window relative to the width and height of its screen
2014-03-27 06:15:52 -07:00
When this function returns true, @p obj will never resize larger than the screen.
@return EINA_TRUE to restrict the window's maximum size, EINA_FALSE to disable restriction
@ingroup Win */
}
values {
constrain: bool; /*@ EINA_TRUE to restrict the window's maximum size, EINA_FALSE to disable restriction */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property available_profiles {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the array of available profiles to a window.
@ingroup Win
@since 1.8 */
values {
profiles: const(char)**; /*@ The string array of available profiles */
count: uint; /*@ The number of members in profiles */
}
2014-03-27 06:15:52 -07:00
}
get {
/*@
Get the array of available profiles of a window.
@return EINA_TRUE if available profiles exist, EINA_FALSE otherwise
@ingroup Win
@since 1.8 */
values {
profiles: char**; /*@ The string array of available profiles */
count: uint; /*@ The number of members in profiles */
}
return: bool;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property focus_highlight_enabled {
2014-03-27 06:15:52 -07:00
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
@ingroup Win */
}
get {
/*@
Get the enabled value of the focus highlight for this window
@return EINA_TRUE if enabled, EINA_FALSE otherwise
@ingroup Win */
}
values {
enabled: bool; /*@ The enabled value for the highlight */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property title {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the title of the window
@ingroup Win */
}
get {
/*@
Get the title 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 title is set or if
the window is destroyed.
@return The title
@ingroup Win */
}
values {
title: const(char)*; /*@ The title to set */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property alpha {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the alpha channel state of a window.
If @p alpha is EINA_TRUE, the alpha channel of the canvas will be enabled
possibly making parts of the window completely or partially transparent.
This is also subject to the underlying system supporting it, like for
example, running under a compositing manager. If no compositing is
available, enabling this option will instead fallback to using shaped
windows, with elm_win_shaped_set().
@note Alpha window can be enabled automatically by window theme style's property.
If "alpha" data.item is "1" or "true" in window style(eg. elm/win/base/default),
the window is switched to alpha automatically without the explicit api call.
2014-03-27 06:15:52 -07:00
@see elm_win_alpha_set()
@ingroup Win */
}
get {
/*@
Get the alpha channel state of a window.
@return EINA_TRUE if the window alpha channel is enabled, EINA_FALSE
otherwise
@ingroup Win */
}
values {
alpha: bool; /*@ EINA_TRUE if the window alpha channel is enabled, EINA_FALSE otherwise */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property urgent {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the urgent state of a window.
@ingroup Win */
}
get {
/*@
Get the urgent state of a window.
@return If true, the window is urgent
@ingroup Win */
}
values {
urgent: bool; /*@ If true, the window is urgent */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property rotation {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the rotation of the window.
Most engines only work with multiples of 90.
This function is used to set the orientation of the window @p obj to
match that of the screen. The window itself will be resized to adjust
to the new geometry of its contents. If you want to keep the window size,
see elm_win_rotation_with_resize_set().
@ingroup Win */
}
get {
/*@
Get the rotation of the window.
@return The rotation of the window in degrees (0-360)
@see elm_win_rotation_set()
@see elm_win_rotation_with_resize_set()
@ingroup Win */
}
values {
rotation: int; /*@ The rotation of the window, in degrees (0-360),
2014-03-27 06:15:52 -07:00
counter-clockwise. */
}
}
2015-05-07 09:32:53 -07:00
@property icon_object {
2014-03-27 06:15:52 -07:00
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
<b>only Evas image objects are allowed</b>, for
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
@ingroup Win */
values {
icon: Evas.Object* @nullable; /*@ The Evas image object to use for an icon */
}
2014-03-27 06:15:52 -07:00
}
get {
/*@
Get the icon object used for the window
The object returns is the one marked by elm_win_icon_object_set() as the
object to use for the window icon.
@return The icon object set
@ingroup Win */
values {
icon: const(Evas.Object)* @nullable; /*@ The Evas image object to use for an icon */
}
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property quickpanel_priority_minor {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the minor priority of a quickpanel window
@ingroup Win */
}
get {
/*@
Get the minor priority of a quickpanel window
@return The minor priority of this quickpanel. If the object is not window object, return -1.
2014-03-27 06:15:52 -07:00
@ingroup Win */
}
values {
priority: int(-1); /*@ The minor priority for this quickpanel */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property sticky {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the sticky state of the window.
Hints the Window Manager that the window in @p obj should be left fixed
at its position even when the virtual desktop it's on moves or changes.
@ingroup Win */
}
get {
/*@
Get the sticky state of the window.
@return If true, the window's sticky state is enabled
@see elm_win_sticky_set()
@ingroup Win */
}
values {
sticky: bool; /*@ If true, the window's sticky state is enabled */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property keyboard_mode {
2014-03-27 06:15:52 -07:00
set {
/*@
Sets the keyboard mode of the window.
@ingroup Win */
}
get {
/*@
Get the keyboard mode of the window.
@return The mode, one of #Elm_Win_Keyboard_Mode
@ingroup Win */
}
values {
mode: Elm.Win.Keyboard_Mode; /*@ The mode to set, one of #Elm_Win_Keyboard_Mode */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property focus_highlight_animate {
2014-03-27 06:15:52 -07:00
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
@ingroup Win */
}
get {
/*@
Get the animate value of the focus highlight for this window
@return EINA_TRUE if animation is enabled, EINA_FALSE otherwise
@ingroup Win */
}
values {
animate: bool; /*@ The enabled value for the highlight animation */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property aspect {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the aspect ratio of a window.
@ingroup Win */
}
get {
/*@
Get the aspect ratio of a window.
@return The aspect ratio set (0 by default)
@ingroup Win */
}
values {
aspect: double; /*@ If 0, the window has no aspect limits, otherwise it is
2014-03-27 06:15:52 -07:00
width divided by height */
}
}
2015-05-07 09:32:53 -07:00
@property quickpanel_priority_major {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the major priority of a quickpanel window
@ingroup Win */
}
get {
/*@
Get the major priority of a quickpanel window
@return The major priority of this quickpanel. If the object is not window object, return -1.
2014-03-27 06:15:52 -07:00
@ingroup Win */
}
values {
priority: int(-1); /*@ The major priority for this quickpanel */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property indicator_opacity {
2014-03-27 06:15:52 -07:00
set {
/*@
Sets the indicator opacity mode of the window.
@ingroup Win */
}
get {
/*@
Get the indicator opacity mode of the window.
@return The mode, one of #Elm_Win_Indicator_Opacity_Mode
@ingroup Win */
}
values {
mode: Elm.Win.Indicator_Opacity_Mode; /*@ The mode to set, one of #Elm_Win_Indicator_Opacity_Mode */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property demand_attention {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the demand_attention state of a window.
@ingroup Win */
}
get {
/*@
Get the demand_attention state of a window.
@return If true, the window is demand_attention
@ingroup Win */
}
values {
demand_attention: bool; /*@ If true, the window is demand_attention */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property wm_preferred_rotation {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the preferred rotation value.
This function is used to set the orientation of window @p obj to spicific angle fixed.
@see elm_win_wm_rotation_preferred_rotation_get()
ingroup Win
@since 1.9 */
legacy: null;
2014-03-27 06:15:52 -07:00
}
get {
/*@
Get the preferred rotation value.
This function is used to get the preferred rotoation value.
@return The preferred rotation of the window in degrees (0-360),
counter-clockwise.
@see elm_win_wm_rotation_preferred_rotation_set()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_preferred_rotation_get;
2014-03-27 06:15:52 -07:00
}
values {
rotation: int; /*@ The preferred rotation of the window in degrees (0-360),
2014-03-27 06:15:52 -07:00
counter-clockwise. */
}
}
2015-05-07 09:32:53 -07:00
@property layer {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the layer of the window.
What this means exactly will depend on the underlying engine used.
In the case of X11 backed engines, the value in @p layer has the
following meanings:
@li < 3: The window will be placed below all others.
@li > 5: The window will be placed above all others.
@li other: The window will be placed in the default layer.
@ingroup Win */
}
get {
/*@
Get the layer of the window.
@return The layer of the window
@see elm_win_layer_set()
@ingroup Win */
}
values {
layer: int; /*@ The layer of the window */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property profile {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the profile of a window.
@ingroup Win
@since 1.8 */
}
get {
/*@
Get the profile of a window.
@return The string value of a window profile, or NULL if none exists
@ingroup Win
@since 1.8 */
}
values {
profile: const(char)*; /*@ The string value of a window profile */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property shaped {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the shaped state of a window.
Shaped windows, when supported, will render the parts of the window that
has no content, transparent.
If @p shaped is EINA_FALSE, then it is strongly advised to have some
background object or cover the entire window in any other way, or the
parts of the canvas that have no data will show framebuffer artifacts.
@see elm_win_alpha_set()
@ingroup Win */
}
get {
/*@
Get the shaped state of a window.
@return If true, the window is shaped
@see elm_win_shaped_set()
@ingroup Win */
}
values {
shaped: bool; /*@ If true, the window is shaped */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property fullscreen {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the fullscreen state of a window.
@ingroup Win */
}
get {
/*@
Get the fullscreen state of a window.
@return If true, the window is fullscreen
@ingroup Win */
}
values {
fullscreen: bool; /*@ If true, the window is fullscreen */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property wm_manual_rotation_done {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the manual rotation done mode.
This function is used to set or reset the manual rotation done mode.
the message of rotation done is sent to WM after rendering its canvas in Ecore_Evas.
but if set the manual rotation done mode,
it's disabled and user should call the "elm_win_wm_rotation_manual_done" explicitly to sends the message.
@see elm_win_wm_rotation_manual_rotation_done_get()
@see elm_win_wm_rotation_manual_rotation_done()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_manual_rotation_done_set;
2014-03-27 06:15:52 -07:00
}
get {
/*@
Get the state of manual rotation done mode.
This function is used to get the state of manual rotation done mode.
@return @c EINA_TRUE manual rotationn done mode, @c EINA_FALSE otherwise.
@see elm_win_wm_rotation_manual_rotation_done_set()
@see elm_win_wm_rotation_manual_rotation_done()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_manual_rotation_done_get;
2014-03-27 06:15:52 -07:00
}
values {
set: bool; /*@ EINA_TRUE means to set manual rotation done mode EINA_FALSE otherwise. */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property indicator_mode {
2014-03-27 06:15:52 -07:00
set {
/*@
Sets the indicator mode of the window.
@ingroup Win */
}
get {
/*@
Get the indicator mode of the window.
@return The mode, one of #Elm_Win_Indicator_Mode
@ingroup Win */
}
values {
mode: Elm.Win.Indicator_Mode; /*@ The mode to set, one of #Elm_Win_Indicator_Mode */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property conformant {
2014-03-27 06:15:52 -07:00
set {
/*@
Set if this window is an illume conformant window
@ingroup Win */
}
get {
/*@
Get if this window is an illume conformant window
@return A boolean if this window is illume conformant or not
@ingroup Win */
}
values {
conformant: bool; /*@ The conformant flag (1 = conformant, 0 = non-conformant) */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property size_base {
2014-03-27 06:15:52 -07:00
set {
/*@
Set the base window size used with stepping calculation
Base size + stepping is what is calculated for window sizing restrictions.
@ingroup Win
@see elm_win_size_step_set
@see elm_win_size_base_get
@since 1.7 */
}
get {
/*@
Get the base size of a window.
@ingroup Win
@see elm_win_size_base_set
@see elm_win_size_step_set
@since 1.7 */
}
values {
w: int; /*@ The base width */
h: int; /*@ The base height */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property quickpanel {
2014-03-27 06:15:52 -07:00
set {
/*@
Set a window to be an illume quickpanel window
By default window objects are not quickpanel windows.
@ingroup Win */
}
get {
/*@
Get if this window is a quickpanel or not
@return A boolean if this window is a quickpanel or not
@ingroup Win */
}
values {
quickpanel: bool; /*@ The quickpanel flag (1 = quickpanel, 0 = normal window) */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property rotation_with_resize {
2014-03-27 06:15:52 -07:00
set {
/*@
Rotates the window and resizes it.
Like elm_win_rotation_set(), but it also resizes the window's contents so
that they fit inside the current window geometry.
@ingroup Win */
}
values {
rotation: int; /*@ The rotation of the window in degrees (0-360),
2014-03-27 06:15:52 -07:00
counter-clockwise. */
}
}
2015-05-07 09:32:53 -07:00
@property prop_focus_skip {
2014-03-27 06:15:52 -07:00
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.
@ingroup Win */
}
values {
skip: bool; /*@ The skip flag state (EINA_TRUE if it is to be skipped) */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property screen_position {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the screen position of a window.
@ingroup Win */
}
values {
x: int; /*@ The int to store the x coordinate to */
y: int; /*@ The int to store the y coordinate to */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property wm_rotation_supported {
2014-03-27 06:15:52 -07:00
get {
/*@
Query whether window manager supports window rotation or not.
The window manager rotation allows the WM to controls the rotation of application windows.
It is designed to support synchronized rotation for the multiple application windows at same time.
@return @c EINA_TRUE if the window manager rotation is supported, @c EINA_FALSE otherwise.
@see elm_win_wm_rotation_supported_get()
@see elm_win_wm_rotation_preferred_rotation_set()
@see elm_win_wm_rotation_preferred_rotation_get()
@see elm_win_wm_rotation_available_rotations_set()
@see elm_win_wm_rotation_available_rotations_get()
@see elm_win_wm_rotation_manual_rotation_done_set()
@see elm_win_wm_rotation_manual_rotation_done_get()
@see elm_win_wm_rotation_manual_rotation_done()
@ingroup Win
@since 1.9 */
return: bool;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property xwindow {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the Ecore_X_Window of an Evas_Object
@return The Ecore_X_Window of @p obj
@ingroup Win */
return: Ecore_X_Window;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property focus {
2014-03-27 06:15:52 -07:00
get {
/*@
Determine whether a window has focus
@return EINA_TRUE if the window exists and has focus, else EINA_FALSE
@ingroup Win */
return: bool;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property screen_size {
2014-03-27 06:15:52 -07:00
get {
/*@
Get screen geometry details for the screen that a window is on
@ingroup Win */
}
values {
x: int; /*@ where to return the horizontal offset value. May be NULL. */
y: int; /*@ where to return the vertical offset value. May be NULL. */
w: int; /*@ where to return the width value. May be NULL. */
h: int; /*@ where to return the height value. May be NULL. */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property main_menu {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the Main Menu of a window.
@return The Main Menu of the window (NULL if error).
@ingroup Win */
return: Evas.Object *;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property wl_window {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the Ecore_Wl_Window of an Evas_Object
@return The Ecore_Wl_Window of @p obj
@ingroup Win */
return: Ecore_Wl_Window *;
legacy: null;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property window_id {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the Ecore_Window of an Evas_Object
When Elementary is using a Wayland engine, this function will return the surface id of the elm window's surface.
@return The Ecore_Window of an Evas_Object
@ingroup Win
@since 1.8 */
return: Ecore_Window;
legacy: null;
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property screen_dpi {
2014-03-27 06:15:52 -07:00
get {
/*@
Get screen dpi for the screen that a window is on
@ingroup Win
@since 1.7 */
}
values {
xdpi: int; /*@ Pointer to value to store return horizontal dpi. May be NULL. */
ydpi: int; /*@ Pointer to value to store return vertical dpi. May be NULL. */
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property inlined_image_object {
2014-03-27 06:15:52 -07:00
get {
/*@
Get the inlined image object handle
When you create a window with elm_win_add() of type #ELM_WIN_INLINED_IMAGE,
2014-03-27 06:15:52 -07:00
then the window is in fact an evas image object inlined in the parent
canvas. You can get this object (be careful to not manipulate it as it
is under control of elementary), and use it to do things like get pixel
data, save the image to a file, etc.
@return The inlined image object, or NULL if none exists
@ingroup Win */
return: Evas.Object *;
2014-03-27 06:15:52 -07:00
}
}
@property name {
/*@
The window name.
The meaning of name depends on the underlying windowing system.
The window name is a constructing property that need to be set at
creation within @ref eo_add.
Example:
@code
win = eo_add(ELM_WIN_CLASS, NULL, elm_obj_win_name_set(ELM_WIN_BASIC));
@endcode
@note Once set, it can NOT be modified afterward.
@ingroup Win */
set {
/*@
Can only be used at creation time, within @ref eo_add.
@ingroup Win */
}
values {
name: const(char)* @nullable;
}
}
2015-05-07 09:32:53 -07:00
@property type {
/*@
The type of the window.
It is a hint of how the Window Manager should handle it.
The window type is a constructing property that need to be set at
creation within @ref eo_add.
Example:
@code
win = eo_add(ELM_WIN_CLASS, NULL, elm_obj_win_type_set(ELM_WIN_BASIC));
@endcode
@note Once set, it can NOT be modified afterward.
@see Elm_Win_Type
@ingroup Win */
set {
2014-03-27 06:15:52 -07:00
/*@
Can only be used at creation time, within @ref eo_add.
@see Elm_Win_Type
2014-03-27 06:15:52 -07:00
@ingroup Win */
}
get {
/*@
If the object is not window object, return #ELM_WIN_UNKNOWN.
2014-03-27 06:15:52 -07:00
@ingroup Win */
}
values {
type: Elm.Win.Type(Elm.Win.Type.unknown);
2014-03-27 06:15:52 -07:00
}
}
2015-05-07 09:32:53 -07:00
@property noblank {
set {
/*@
Set the noblank property of a window.
The "noblank" property is a way to request the display on which
the windowis shown does not blank, screensave or otherwise hide
or obscure the window. It is intended for uses such as media
playback on a television where a user may not want to be
interrupted by an idle screen. The noblank property may have no
effect if the window is iconified/minimized or hidden.
@since 1.11
@ingroup Win */
}
get {
/*@
Get the noblank property of a window.
@return If true, the window has "noblank" set.
@since 1.11
@ingroup Win */
}
values {
noblank: bool; /*@ If true, the window is set to noblank */
}
}
2015-05-07 09:32:53 -07:00
@property trap_data {
get {
/*@
Get the trap data associated with a window
@since 1.12
@ingroup Win */
}
values {
trap_data: void *; /*@ The trap data of the window */
}
}
2015-05-07 09:32:53 -07:00
@property fake_canvas @protected {
set {
/*@ Internal. Used to completent the fake window type. */
}
values {
oee: Ecore_Evas *;
}
}
wm_manual_rotation_done_manual {
2014-03-27 06:15:52 -07:00
/*@
To notify the rotation done to WM manually.
This function is used to notify the rotation done to WM manually.
@see elm_win_wm_rotation_manual_rotation_done_set()
@see elm_win_wm_rotation_manual_rotation_done_get()
ingroup Win
@since 1.9 */
legacy: elm_win_wm_rotation_manual_rotation_done;
2014-03-27 06:15:52 -07:00
}
socket_listen {
/*@
Create a socket to provide the service for Plug widget
@return If socket creation is successful
@ingroup Win */
return: bool;
2014-03-27 06:15:52 -07:00
params {
@in svcname: const(char)*; /*@ The name of the service to be advertised. ensure that it is unique (when combined with @p svcnum) otherwise creation may fail. */
@in svcnum: int; /*@ A number (any value, 0 being the common default) to differentiate multiple instances of services with the same name. */
@in svcsys: bool; /*@ A boolean that if true, specifies to create a system-wide service all users can connect to, otherwise the service is private to the user id that created the service. */
2014-03-27 06:15:52 -07:00
}
}
illume_command_send {
/*@
Send a command to the windowing environment
This is intended to work in touchscreen or small screen device
environments where there is a more simplistic window management policy in
place. This uses the window object indicated to select which part of the
environment to control (the part that this window lives in), and provides
a command and an optional parameter structure (use NULL for this if not
needed).
@ingroup Win */
params {
@in command: Elm.Illume_Command; /*@ The command to send */
@in params: void * @optional; /*@ Optional parameters for the command */
2014-03-27 06:15:52 -07:00
}
}
activate {
/*@
Activate a window object.
This function sends a request to the Window Manager to activate the
window pointed by @p obj. If honored by the WM, the window will receive
the keyboard focus.
@note This is just a request that a Window Manager may ignore, so calling
this function does not ensure in any way that the window will be the
active one after it.
@ingroup Win */
}
resize_object_add {
/*@
Add @p subobj as a resize object of window @p obj.
Setting an object as a resize object of the window means that the
@p subobj child's size and position will be controlled by the window
directly. That is, the object will be resized to match the window size
and should never be moved or resized manually by the developer.
In addition, resize objects of the window control what the minimum size
of it will be, as well as whether it can or not be resized by the user.
For the end user to be able to resize a window by dragging the handles
or borders provided by the Window Manager, or using any other similar
mechanism, all of the resize objects in the window should have their
evas_object_size_hint_weight_set() set to EVAS_HINT_EXPAND.
Also notice that the window can get resized to the current size of the
object if the EVAS_HINT_EXPAND is set @b after the call to
elm_win_resize_object_add(). So if the object should get resized to the
size of the window, set this hint @b before adding it as a resize object
(this happens because the size of the window and the object are evaluated
as soon as the object is added to the window).
@ingroup Win */
params {
@in subobj: Evas.Object *; /*@ The resize object to add */
2014-03-27 06:15:52 -07:00
}
}
raise {
/*@
Raise a window object.
Places the window pointed by @p obj at the top of the stack, so that it's
not covered by any other window.
If elm_win_override_set() is not set, the Window Manager may ignore this
request.
@ingroup Win */
}
lower {
/*@
Lower a window object.
Places the window pointed by @p obj at the bottom of the stack, so that
no other window is covered by it.
If elm_win_override_set() is not set, the Window Manager may ignore this
request.
@ingroup Win */
}
resize_object_del {
/*@
Delete @p subobj as a resize object of window @p obj.
This function removes the object @p subobj from the resize objects of
the window @p obj. It will not delete the object itself, which will be
left unmanaged and should be deleted by the developer, manually handled
or set as child of some other container.
@ingroup Win */
params {
@in subobj: Evas.Object *; /*@ The resize object to add */
2014-03-27 06:15:52 -07:00
}
}
center {
/*@
Center a window on its screen
This function centers window @p obj horizontally and/or vertically based on the values
of @p h and @p v.
@ingroup Win */
params {
@in h: bool; /*@ If true, center horizontally. If false, do not change horizontal location. */
@in v: bool; /*@ If true, center vertically. If false, do not change vertical location. */
2014-03-27 06:15:52 -07:00
}
}
keygrab_set {
/*@
Set keygrab value of the window
This function grabs the @p key of window using @p grab_mode.
@ingroup Win */
return: bool;
params {
@in key: const(char)*; /*@ This string is the keyname to grab. */
@in modifiers: Evas_Modifier_Mask; /*@ This is for the keymask feature. Currently this feature is not supported. */
@in not_modifiers: Evas_Modifier_Mask; /*@ This is for the keymask feature. Currently this feature is not supported. */
@in proirity: int; /*@ This is for the priority of keygrab. Currently this feature is not supported. */
@in grab_mode: Elm.Win.Keygrab_Mode; /*@ According to the grabmode, it can grab key differently */
}
}
keygrab_unset {
/*@
Unset keygrab value of the window
This function unset keygrab value. Ungrab @p key of window.
@ingroup Win */
return: bool;
params {
@in key: const(char)*; /*@ This string is the keyname to grab. */
@in modifiers: Evas_Modifier_Mask; /*@ This is for the keymask feature. Currently this feature is not supported. */
@in not_modifiers: Evas_Modifier_Mask; /*@ This is for the keymask feature. Currently this feature is not supported. */
}
}
2014-03-27 06:15:52 -07:00
}
implements {
class.constructor;
Eo.Base.constructor;
Eo.Base.finalize;
Evas.Object_Smart.hide;
Evas.Object_Smart.show;
Evas.Object_Smart.move;
Evas.Object_Smart.add;
Evas.Object_Smart.del;
Evas.Object_Smart.resize;
Elm.Widget.focus_direction;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next;
Elm.Widget.theme_apply;
Elm.Widget.on_focus;
Elm.Widget.event;
Elm_Interface_Atspi_Accessible.parent.get;
2015-05-13 06:37:47 -07:00
Elm_Interface_Atspi_Accessible.state_set.get;
2015-07-02 04:53:02 -07:00
Elm_Interface_Atspi_Accessible.name.get;
Elm_Interface_Atspi_Widget_Action.elm_actions.get;
2014-03-27 06:15:52 -07:00
}
2014-09-01 07:57:56 -07:00
constructors {
.name;
.type;
2014-09-01 07:57:56 -07:00
}
2014-03-27 06:15:52 -07:00
events {
delete,request;
moved;
withdrawn;
iconified;
normal;
stick;
unstick;
fullscreen;
unfullscreen;
maximized;
unmaximized;
ioerr;
indicator,prop,changed;
rotation,changed;
profile,changed;
wm,rotation,changed;
animator,tick;
theme,changed;
elm,action,block_menu;
2014-03-27 06:15:52 -07:00
}
}