}
EOLIAN static void
-_elm_win_profile_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, const char *profile)
-{
- /* check to see if a given profile is present in an available profiles */
- if ((profile) && (sd->profile.available_list))
- {
- Eina_Bool found = EINA_FALSE;
- unsigned int i;
- for (i = 0; i < sd->profile.count; i++)
- {
- if (!strcmp(profile,
- sd->profile.available_list[i]))
- {
- found = EINA_TRUE;
- break;
- }
- }
- if (!found) return;
- }
-
- if (ecore_evas_window_profile_supported_get(sd->ee))
- {
- if (!profile) _elm_win_profile_del(sd);
- ecore_evas_window_profile_set(sd->ee, profile);
- }
- else
- {
- if (_internal_elm_win_profile_set(sd, profile))
- _elm_win_profile_update(sd);
- }
-}
-
-EOLIAN static const char*
-_elm_win_profile_get(Eo *obj EINA_UNUSED, Elm_Win_Data *sd)
-{
- return sd->profile.name;
-}
-
-EOLIAN static void
_elm_win_urgent_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Elm_Win_Urgent_Mode urgent)
{
Eina_Bool urgent_tmp = !!urgent;
TRAP(sd, focus_skip_set, skip);
}
-EOLIAN static void
-_elm_win_illume_command_send(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Elm_Illume_Command command, void *params)
-{
- (void) params;
-
-#ifdef HAVE_ELEMENTARY_X
- _internal_elm_win_xwindow_get(sd);
- if (sd->x.xwin)
- {
- switch (command)
- {
- case ELM_ILLUME_COMMAND_FOCUS_BACK:
- ecore_x_e_illume_focus_back_send(sd->x.xwin);
- break;
-
- case ELM_ILLUME_COMMAND_FOCUS_FORWARD:
- ecore_x_e_illume_focus_forward_send(sd->x.xwin);
- break;
-
- case ELM_ILLUME_COMMAND_FOCUS_HOME:
- ecore_x_e_illume_focus_home_send(sd->x.xwin);
- break;
-
- case ELM_ILLUME_COMMAND_CLOSE:
- ecore_x_e_illume_close_send(sd->x.xwin);
- break;
-
- default:
- break;
- }
- }
-#else
- (void)sd;
- (void)command;
-#endif
-}
-
EOLIAN static Eina_Bool
_elm_win_keygrab_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, const char *key, Evas_Modifier_Mask modifiers EINA_UNUSED, Evas_Modifier_Mask not_modifiers EINA_UNUSED, int priority EINA_UNUSED, Elm_Win_Keygrab_Mode grab_mode)
{
efl_gfx_size_hint_step_get(obj, w, h);
}
+EAPI void
+elm_win_illume_command_send(Evas_Object *obj, Elm_Illume_Command command, void *params)
+{
+ ELM_WIN_CHECK(obj);
+ ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+
+ (void) params;
+
+#ifdef HAVE_ELEMENTARY_X
+ _internal_elm_win_xwindow_get(sd);
+ if (sd->x.xwin)
+ {
+ switch (command)
+ {
+ case ELM_ILLUME_COMMAND_FOCUS_BACK:
+ ecore_x_e_illume_focus_back_send(sd->x.xwin);
+ break;
+
+ case ELM_ILLUME_COMMAND_FOCUS_FORWARD:
+ ecore_x_e_illume_focus_forward_send(sd->x.xwin);
+ break;
+
+ case ELM_ILLUME_COMMAND_FOCUS_HOME:
+ ecore_x_e_illume_focus_home_send(sd->x.xwin);
+ break;
+
+ case ELM_ILLUME_COMMAND_CLOSE:
+ ecore_x_e_illume_close_send(sd->x.xwin);
+ break;
+
+ default:
+ break;
+ }
+ }
+#else
+ (void)sd;
+ (void)command;
+#endif
+}
+
+EAPI void
+elm_win_profile_set(Evas_Object *obj, const char *profile)
+{
+ ELM_WIN_CHECK(obj);
+ ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+
+ /* check to see if a given profile is present in an available profiles */
+ if ((profile) && (sd->profile.available_list))
+ {
+ Eina_Bool found = EINA_FALSE;
+ unsigned int i;
+ for (i = 0; i < sd->profile.count; i++)
+ {
+ if (!strcmp(profile,
+ sd->profile.available_list[i]))
+ {
+ found = EINA_TRUE;
+ break;
+ }
+ }
+ if (!found) return;
+ }
+
+ if (ecore_evas_window_profile_supported_get(sd->ee))
+ {
+ if (!profile) _elm_win_profile_del(sd);
+ ecore_evas_window_profile_set(sd->ee, profile);
+ }
+ else
+ {
+ if (_internal_elm_win_profile_set(sd, profile))
+ _elm_win_profile_update(sd);
+ }
+}
+
+EAPI const char*
+elm_win_profile_get(const Evas_Object *obj)
+{
+ ELM_WIN_CHECK(obj) NULL;
+ ELM_WIN_DATA_GET_OR_RETURN(obj, sd, NULL);
+
+ return sd->profile.name;
+}
+
#include "elm_win.eo.c"
window]]
}
-enum Elm.Illume_Command
-{
- [[Available commands that can be sent to the Illume manager.
-
- When running under an Illume session, a window may send commands to the
- Illume manager to perform different actions.
- ]]
-
- 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]]
-}
-
enum Elm.Win.Modal_Mode
{
[[Defines the mode of a modal window]]
name: string @nullable;
}
}
+ @property type { /* FIXME: before finalize */
+ [[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.
+
+ Note: Once set, it can NOT be modified afterward.
+ ]]
+ /* FIXME-doc
+ Example:
+ @code
+ win = eo_add(ELM_WIN_CLASS, NULL, elm_obj_win_type_set(ELM_WIN_BASIC));
+ @endcode
+ */
+ set {
+ [[Can only be used at creation time, within \@ref eo_add.]]
+ }
+ get {
+ [[If the object is not window object, return #ELM_WIN_UNKNOWN.]]
+ }
+ values {
+ type: Elm.Win.Type(Elm.Win.Type.unknown);
+ }
+ }
@property available_profiles {
set {
[[Set the array of available profiles to a window.
layer: int; [[The layer of the window.]]
}
}
- @property profile {
- set {
- [[Set the profile of a window.
-
- @since 1.8
- ]]
- }
- get {
- [[Get the profile of a window.
-
- @since 1.8
- ]]
- }
- values {
- profile: string; [[The string value of a window profile.]]
- }
- }
@property main_menu {
get {
[[Get the Main Menu of a window.]]
return: Evas.Object; [[The inlined image object or $null if none exists.]]
}
}
- @property type { /* FIXME: before finalize */
- [[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.
-
- Note: Once set, it can NOT be modified afterward.
- ]]
- /* FIXME-doc
- Example:
- @code
- win = eo_add(ELM_WIN_CLASS, NULL, elm_obj_win_type_set(ELM_WIN_BASIC));
- @endcode
- */
- set {
- [[Can only be used at creation time, within \@ref eo_add.]]
- }
- get {
- [[If the object is not window object, return #ELM_WIN_UNKNOWN.]]
- }
- values {
- type: Elm.Win.Type(Elm.Win.Type.unknown);
- }
- }
@property fake_canvas @protected {
set {
[[Internal. Used to completent the fake window type.]]
id that created the service.]]
}
}
- 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).
- ]]
- params {
- @in command: Elm.Illume_Command; [[The command to send.]]
- @in params: void * @optional; [[Optional parameters for the command.]]
- }
- }
activate {
[[Activate a window object.
} Elm_Win_Indicator_Opacity_Mode;
/**
+ * @brief Available commands that can be sent to the Illume manager.
+ *
+ * When running under an Illume session, a window may send commands to the
+ * Illume manager to perform different actions.
+ *
+ * @ingroup Elm
+ */
+typedef enum
+{
+ ELM_ILLUME_COMMAND_FOCUS_BACK = 0, /** Reverts focus to the previous window
+ */
+ ELM_ILLUME_COMMAND_FOCUS_FORWARD, /** Sends focus to the next window in the
+ * list */
+ ELM_ILLUME_COMMAND_FOCUS_HOME, /** Hides all windows to show the Home screen
+ */
+ ELM_ILLUME_COMMAND_CLOSE /** Closes the currently active window */
+} Elm_Illume_Command;
+
+/**
* Adds a window object. If this is the first window created, pass NULL as
* @p parent.
*
*/
EAPI void elm_win_size_step_get(const Evas_Object *obj, int *w, int *h);
+/**
+ * @brief 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).
+ *
+ * @param[in] params Optional parameters for the command.
+ *
+ * @ingroup Elm_Win
+ */
+EAPI void elm_win_illume_command_send(Evas_Object *obj, Elm_Illume_Command command, void *params);
+
+/**
+ * @brief Set the profile of a window.
+ *
+ * @param[in] profile The string value of a window profile.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Win
+ */
+EAPI void elm_win_profile_set(Evas_Object *obj, const char *profile);
+
+/**
+ * @brief Get the profile of a window.
+ *
+ * @return The string value of a window profile.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Win
+ */
+EAPI const char *elm_win_profile_get(const Evas_Object *obj);
+