From: Christopher Michael Date: Mon, 28 Dec 2009 02:13:20 +0000 (+0000) Subject: Add quickpanel state functions (get/set/send). X-Git-Tag: submit/devel/efl/20131022.203902~14564 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fcbe8a2ecaba3d4e3d8b21da1a77a74eddee6aee;p=platform%2Fupstream%2Fefl.git Add quickpanel state functions (get/set/send). Add quickpanel atoms. SVN revision: 44739 --- diff --git a/legacy/ecore/src/lib/ecore_x/Ecore_X.h b/legacy/ecore/src/lib/ecore_x/Ecore_X.h index d8e7407..8ff57fa 100644 --- a/legacy/ecore/src/lib/ecore_x/Ecore_X.h +++ b/legacy/ecore/src/lib/ecore_x/Ecore_X.h @@ -967,22 +967,24 @@ typedef enum _Ecore_X_Window_Type { ECORE_X_WINDOW_TYPE_UNKNOWN } Ecore_X_Window_Type; -typedef enum _Ecore_X_Action { - ECORE_X_ACTION_MOVE, - ECORE_X_ACTION_RESIZE, - ECORE_X_ACTION_MINIMIZE, - ECORE_X_ACTION_SHADE, - ECORE_X_ACTION_STICK, - ECORE_X_ACTION_MAXIMIZE_HORZ, - ECORE_X_ACTION_MAXIMIZE_VERT, - ECORE_X_ACTION_FULLSCREEN, - ECORE_X_ACTION_CHANGE_DESKTOP, - ECORE_X_ACTION_CLOSE, - ECORE_X_ACTION_ABOVE, - ECORE_X_ACTION_BELOW +typedef enum _Ecore_X_Action +{ + ECORE_X_ACTION_MOVE, + ECORE_X_ACTION_RESIZE, + ECORE_X_ACTION_MINIMIZE, + ECORE_X_ACTION_SHADE, + ECORE_X_ACTION_STICK, + ECORE_X_ACTION_MAXIMIZE_HORZ, + ECORE_X_ACTION_MAXIMIZE_VERT, + ECORE_X_ACTION_FULLSCREEN, + ECORE_X_ACTION_CHANGE_DESKTOP, + ECORE_X_ACTION_CLOSE, + ECORE_X_ACTION_ABOVE, + ECORE_X_ACTION_BELOW } Ecore_X_Action; -typedef enum _Ecore_X_Window_Configure_Mask { +typedef enum _Ecore_X_Window_Configure_Mask +{ ECORE_X_WINDOW_CONFIGURE_MASK_X = (1 << 0), ECORE_X_WINDOW_CONFIGURE_MASK_Y = (1 << 1), ECORE_X_WINDOW_CONFIGURE_MASK_W = (1 << 2), @@ -992,23 +994,24 @@ typedef enum _Ecore_X_Window_Configure_Mask { ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE = (1 << 6) } Ecore_X_Window_Configure_Mask; -typedef enum _Ecore_X_Virtual_Keyboard_State { - ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN = 0, - ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF, - ECORE_X_VIRTUAL_KEYBOARD_STATE_ON, - ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA, - ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC, - ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN, - ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER, - ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX, - ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL, - ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD, - ECORE_X_VIRTUAL_KEYBOARD_STATE_IP, - ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST, - ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE, - ECORE_X_VIRTUAL_KEYBOARD_STATE_URL, - ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD, - ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME +typedef enum _Ecore_X_Virtual_Keyboard_State +{ + ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN = 0, + ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF, + ECORE_X_VIRTUAL_KEYBOARD_STATE_ON, + ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA, + ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC, + ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN, + ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER, + ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX, + ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL, + ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD, + ECORE_X_VIRTUAL_KEYBOARD_STATE_IP, + ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST, + ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE, + ECORE_X_VIRTUAL_KEYBOARD_STATE_URL, + ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD, + ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME } Ecore_X_Virtual_Keyboard_State; typedef enum _Ecore_X_Illume_Mode @@ -1018,6 +1021,13 @@ typedef enum _Ecore_X_Illume_Mode ECORE_X_ILLUME_MODE_DUAL } Ecore_X_Illume_Mode; +typedef enum _Ecore_X_Illume_Quickpanel_State +{ + ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN = 0, + ECORE_X_ILLUME_QUICKPANEL_STATE_OFF, + ECORE_X_ILLUME_QUICKPANEL_STATE_ON +} Ecore_X_Illume_Quickpanel_State; + /* Window layer constants */ #define ECORE_X_WINDOW_LAYER_BELOW 2 #define ECORE_X_WINDOW_LAYER_NORMAL 4 @@ -1552,6 +1562,9 @@ EAPI void ecore_x_e_illume_drag_start_send(Ecore_X_Window win); EAPI void ecore_x_e_illume_drag_end_send(Ecore_X_Window win); EAPI void ecore_x_e_illume_quickpanel_set(Ecore_X_Window win, unsigned int is_quickpanel); EAPI int ecore_x_e_illume_quickpanel_get(Ecore_X_Window win); +EAPI void ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win, Ecore_X_Illume_Quickpanel_State state); +EAPI Ecore_X_Illume_Quickpanel_State ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win); +EAPI void ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win, Ecore_X_Illume_Quickpanel_State state); EAPI void ecore_x_xinerama_query_screens_prefetch(void); EAPI void ecore_x_xinerama_query_screens_fetch(void); diff --git a/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h b/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h index 2567993..d596ea7 100644 --- a/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h +++ b/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h @@ -215,5 +215,8 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_START; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_END; EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON; +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF; #endif /* _ECORE_X_ATOMS_H */ diff --git a/legacy/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h b/legacy/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h index efd33d2..15a174c 100644 --- a/legacy/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h +++ b/legacy/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h @@ -238,3 +238,6 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_START = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_DRAG_END = 0; EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF = 0; diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c index fd1b738..1a6be35 100644 --- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c +++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_atoms.c @@ -227,7 +227,10 @@ _ecore_x_atoms_init(void) { "_E_ILLUME_DRAG_LOCKED", &ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED }, { "_E_ILLUME_DRAG_START", &ECORE_X_ATOM_E_ILLUME_DRAG_START }, { "_E_ILLUME_DRAG_END", &ECORE_X_ATOM_E_ILLUME_DRAG_END }, - { "_E_ILLUME_QUICKPANEL", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL } + { "_E_ILLUME_QUICKPANEL", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL }, + { "_E_ILLUME_QUICKPANEL_STATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE }, + { "_E_ILLUME_QUICKPANEL_ON", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON }, + { "_E_ILLUME_QUICKPANEL_OFF", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF } }; Atom *atoms; char **names; diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_e.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_e.c index 03c0cbe..72ddbee 100644 --- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_e.c +++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_e.c @@ -139,7 +139,7 @@ EAPI Ecore_X_Virtual_Keyboard_State ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win) { Ecore_X_Atom atom; - + if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE, &atom, 1)) return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN; @@ -293,6 +293,31 @@ ecore_x_e_illume_drag_end_send(Ecore_X_Window win) 1, 0, 0, 0, 0); } +static Ecore_X_Atom +_ecore_x_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state) +{ + switch (state) + { + case ECORE_X_ILLUME_QUICKPANEL_STATE_ON: + return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON; + case ECORE_X_ILLUME_QUICKPANEL_STATE_OFF: + return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF; + default: + return 0; + } + return 0; +} + +static Ecore_X_Illume_Quickpanel_State +_ecore_x_e_quickpanel_state_get(Ecore_X_Atom atom) +{ + if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON) + return ECORE_X_ILLUME_QUICKPANEL_STATE_ON; + if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF) + return ECORE_X_ILLUME_QUICKPANEL_STATE_OFF; + return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN; +} + EAPI void ecore_x_e_illume_quickpanel_set(Ecore_X_Window win, unsigned int is_quickpanel) { @@ -310,3 +335,33 @@ ecore_x_e_illume_quickpanel_get(Ecore_X_Window win) return 0; return val; } + +EAPI void +ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win, Ecore_X_Illume_Quickpanel_State state) +{ + Ecore_X_Atom atom = 0; + + atom = _ecore_x_e_quickpanel_atom_get(state); + ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, + &atom, 1); +} + +EAPI Ecore_X_Illume_Quickpanel_State +ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win) +{ + Ecore_X_Atom atom; + + if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, + &atom, 1)) + return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN; + return _ecore_x_e_quickpanel_state_get(atom); +} + +EAPI void +ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win, Ecore_X_Illume_Quickpanel_State state) +{ + ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE, + ECORE_X_EVENT_MASK_WINDOW_CONFIGURE, + _ecore_x_e_quickpanel_atom_get(state), + 0, 0, 0, 0); +}