ATTACH_PANEL_EVENT_HIDE_FINISH, /**< Attach panel finishes the effect to hide the panel */
} attach_panel_event_e;
+/**
+ * @brief Enumeration for window state
+ * @since_tizen 3.0
+ * @see attach_panel_get_state()
+ */
+typedef enum {
+ ATTACH_PANEL_STATE_HIDDEN = 0, /**< Attach panel is not visible */
+ ATTACH_PANEL_STATE_PARTIAL = 1, /**< Attach panel is in partial window mode */
+ ATTACH_PANEL_STATE_FULL = 2, /**< Attach panel is in full screen mode */
+} attach_panel_state_e;
+
+
/**
* @brief Attach panel handle.
* @since_tizen 2.4
*/
int attach_panel_get_visibility(attach_panel_h attach_panel, bool *visible);
+/**
+ * @brief Gets the state of the attach_panel.
+ * @since_tizen 3.0
+ * @remarks Users can toggle the attach panel between full screen state or partial window state.\n
+ * Developer can get the state of attach panel by calling this function.
+ *
+ * @param[in] attach_panel The attach panel handle
+ * @param[out] state The @attach_panel window state
+ * @return #ATTACH_PANEL_ERROR_NONE on success,
+ * otherwise a negative error value
+ * @retval #ATTACH_PANEL_ERROR_NONE Successful
+ * @retval #ATTACH_PANEL_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #ATTACH_PANEL_ERROR_ALREADY_DESTROYED already removed
+ *
+ * @pre Call attach_panel_create() before calling this function.
+ * @see attach_panel_state_e
+ *
+ * @par Example
+ * @code
+ *
+ * int ret;
+ * attach_panel_state_e attach_panel_state;
+ *
+ * ret = attach_panel_get_state(attach_panel, &attach_panel_state);
+ * if (ATTACH_PANEL_ERROR_NONE != ret) {
+ * // Error handling
+ * }
+ *
+ * switch (attach_panel_state) {
+ * case ATTACH_PANEL_STATE_HIDDEN:
+ * // attach panel is hidden
+ * break;
+ * case ATTACH_PANEL_STATE_PARTIAL:
+ * // for partial window mode
+ * break;
+ * case ATTACH_PANEL_STATE_FULL:
+ * // full screen mode
+ * break;
+ * }
+ *
+ * @endcode
+ */
+int attach_panel_get_state(attach_panel_h attach_panel, attach_panel_state_e *state);
+
/**
* @}
*/
};
-
-typedef enum {
- ATTACH_PANEL_STATE_HIDE,
- ATTACH_PANEL_STATE_HALF,
- ATTACH_PANEL_STATE_FULL,
-} attach_panel_state_e;
-
-
-
struct _attach_panel {
Evas_Object *win;
Evas_Object *attach_panel_rect;
w = h;
attach_panel->rotate = EINA_TRUE;
- if (ATTACH_PANEL_STATE_HIDE == attach_panel->attach_panel_port_state) {
- attach_panel->attach_panel_land_state = ATTACH_PANEL_STATE_HIDE;
- } else if (ATTACH_PANEL_STATE_HALF == attach_panel->attach_panel_port_state) {
+ if (ATTACH_PANEL_STATE_HIDDEN == attach_panel->attach_panel_port_state) {
+ attach_panel->attach_panel_land_state = ATTACH_PANEL_STATE_HIDDEN;
+ } else if (ATTACH_PANEL_STATE_PARTIAL == attach_panel->attach_panel_port_state) {
attach_panel->attach_panel_land_state = ATTACH_PANEL_STATE_FULL;
_gesture_set_state(ATTACH_PANEL_STATE_FULL);
_content_list_send_message(attach_panel->content_list, APP_CONTROL_DATA_SELECTION_MODE, SELECTION_MODE_MULTIPLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
attach_panel->rotate = EINA_FALSE;
- if (ATTACH_PANEL_STATE_HIDE == attach_panel->attach_panel_land_state) {
- attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HIDE;
+ if (ATTACH_PANEL_STATE_HIDDEN == attach_panel->attach_panel_land_state) {
+ attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HIDDEN;
} else {
- if (ATTACH_PANEL_STATE_HALF == attach_panel->attach_panel_port_state) {
- _gesture_set_state(ATTACH_PANEL_STATE_HALF);
+ if (ATTACH_PANEL_STATE_PARTIAL == attach_panel->attach_panel_port_state) {
+ _gesture_set_state(ATTACH_PANEL_STATE_PARTIAL);
_content_list_send_message(attach_panel->content_list, APP_CONTROL_DATA_SELECTION_MODE, SELECTION_MODE_SINGLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,show,half", "");
} else {
}
attach_panel->is_delete = EINA_TRUE;
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_attach_panel_del(attach_panel);
} else {
attach_panel_hide(attach_panel);
return ATTACH_PANEL_ERROR_ALREADY_DESTROYED;
}
- if (ATTACH_PANEL_STATE_HIDE != _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN != _gesture_get_state()) {
_D("Attach panel is already shown");
return ATTACH_PANEL_ERROR_NONE;
}
}
if (attach_panel->rotate) {
- if (ATTACH_PANEL_STATE_HIDE == attach_panel->attach_panel_land_state) {
+ if (ATTACH_PANEL_STATE_HIDDEN == attach_panel->attach_panel_land_state) {
*visible = false;
} else {
*visible = true;
}
} else {
- if (ATTACH_PANEL_STATE_HIDE == attach_panel->attach_panel_port_state) {
+ if (ATTACH_PANEL_STATE_HIDDEN == attach_panel->attach_panel_port_state) {
*visible = false;
} else {
*visible = true;
return ATTACH_PANEL_ERROR_NONE;
}
+
+EXPORT_API int attach_panel_get_state(attach_panel_h attach_panel, attach_panel_state_e *state)
+{
+ retv_if(!attach_panel, ATTACH_PANEL_ERROR_INVALID_PARAMETER);
+ retv_if(!state, ATTACH_PANEL_ERROR_INVALID_PARAMETER);
+
+ if (EINA_TRUE == attach_panel->is_delete) {
+ _E("Attach panel is already removed");
+ return ATTACH_PANEL_ERROR_ALREADY_DESTROYED;
+ }
+
+ if (attach_panel->rotate == EINA_TRUE) {
+ *state = attach_panel->attach_panel_land_state;
+ }
+ else {
+ *state = attach_panel->attach_panel_port_state;
+ }
+
+ return ATTACH_PANEL_ERROR_NONE;
+}
attach_panel_state_e attach_panel_state;
} gesture_info_s = {
.transit = NULL,
- .attach_panel_state = ATTACH_PANEL_STATE_HIDE,
+ .attach_panel_state = ATTACH_PANEL_STATE_HIDDEN,
};
typedef struct custom_effect {
_D("%s : transit is ended", __func__);
gesture_info_s.transit = NULL;
- if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDE) {
+ if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDDEN) {
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,hide,finished", "");
if (attach_panel->event_cb) {
attach_panel->event_cb(attach_panel, ATTACH_PANEL_EVENT_HIDE_FINISH, NULL, attach_panel->event_data);
if (gesture_info_s.transit) {
_E("Transit is already activating");
if (attach_panel->cur_event_state == ATTACH_PANEL_EVENT_HIDE_START) {
- if (gesture_info_s.attach_panel_state != ATTACH_PANEL_STATE_HIDE) {
+ if (gesture_info_s.attach_panel_state != ATTACH_PANEL_STATE_HIDDEN) {
if (attach_panel->event_cb) {
attach_panel->event_cb(attach_panel, ATTACH_PANEL_EVENT_HIDE_FINISH, NULL, attach_panel->event_data);
attach_panel->event_cb(attach_panel, ATTACH_PANEL_EVENT_SHOW_START, NULL, attach_panel->event_data);
}
}
} else {
- if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDE) {
+ if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDDEN) {
if (attach_panel->event_cb) {
attach_panel->event_cb(attach_panel, ATTACH_PANEL_EVENT_SHOW_FINISH, NULL, attach_panel->event_data);
attach_panel->event_cb(attach_panel, ATTACH_PANEL_EVENT_HIDE_START, NULL, attach_panel->event_data);
custom_effect = __custom_effect_new(from_h, to_h);
ret_if(!custom_effect);
- if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDE) {
+ if (gesture_info_s.attach_panel_state == ATTACH_PANEL_STATE_HIDDEN) {
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,hide,started", "");
attach_panel->cur_event_state = ATTACH_PANEL_EVENT_HIDE_START;
if (attach_panel->event_cb) {
void _gesture_show(attach_panel_h attach_panel)
{
- gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HALF;
+ gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_PARTIAL;
_D("gesture show start");
elm_config_focus_autoscroll_mode_set(ELM_FOCUS_AUTOSCROLL_MODE_NONE);
} else {
_content_list_send_message(attach_panel->content_list, APP_CONTROL_DATA_SELECTION_MODE, SELECTION_MODE_SINGLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
elm_scroller_movement_block_set(attach_panel->grid, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
- attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HALF;
- gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HALF;
+ attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_PARTIAL;
+ gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_PARTIAL;
__attach_panel_transit_set(attach_panel, 0, attach_panel->transit_height, TRANSIT_DURATION);
}
}
elm_config_focus_autoscroll_mode_set(ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN);
if (attach_panel->rotate) {
- attach_panel->attach_panel_land_state = ATTACH_PANEL_STATE_HIDE;
+ attach_panel->attach_panel_land_state = ATTACH_PANEL_STATE_HIDDEN;
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,show,half", "");
} else {
if (ATTACH_PANEL_STATE_FULL == attach_panel->attach_panel_port_state) {
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,show,half", "");
}
- attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HIDE;
+ attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HIDDEN;
}
- gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HIDE;
+ gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HIDDEN;
_content_list_set_flick(attach_panel->content_list, EINA_TRUE);
__attach_panel_transit_set(attach_panel, attach_panel->transit_height, 0, TRANSIT_DURATION);
}
if (attach_panel->rotate) {
return;
}
- if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_HALF) {
+ if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_PARTIAL) {
attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_FULL;
gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_FULL;
elm_scroller_movement_block_set(attach_panel->grid, ELM_SCROLLER_MOVEMENT_NO_BLOCK);
if (attach_panel->rotate) {
return EVAS_EVENT_FLAG_ON_HOLD;
}
- if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_HALF) {
+ if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_PARTIAL) {
attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_FULL;
gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_FULL;
elm_scroller_movement_block_set(attach_panel->grid, ELM_SCROLLER_MOVEMENT_NO_BLOCK);
}
} else {
if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_FULL) {
- attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_HALF;
- gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_HALF;
+ attach_panel->attach_panel_port_state = ATTACH_PANEL_STATE_PARTIAL;
+ gesture_info_s.attach_panel_state = ATTACH_PANEL_STATE_PARTIAL;
elm_scroller_movement_block_set(attach_panel->grid, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL);
elm_object_signal_emit(attach_panel->conformant, "elm,state,attach_panel,show,half", "");
_content_list_send_message(attach_panel->content_list, APP_CONTROL_DATA_SELECTION_MODE, SELECTION_MODE_SINGLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
- } else if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_HALF) {
+ } else if (attach_panel->attach_panel_port_state == ATTACH_PANEL_STATE_PARTIAL) {
_gesture_hide(attach_panel);
_content_list_send_message(attach_panel->content_list, APP_CONTROL_DATA_SELECTION_MODE, SELECTION_MODE_SINGLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
}
ret_if(!content_info);
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state())
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state())
return;
ret = app_control_get_extra_data(result, "__ATTACH_PANEL_FLICK_DOWN__", &enable);
_D("attach panel show panel %s", enable);
if (!strcmp(enable, MODE_TRUE)) {
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
/* This is same with attach_panel_show() */
_content_list_set_resume(content_info->attach_panel->content_list, ATTACH_PANEL_CONTENT_CATEGORY_UG);
_content_list_send_message(content_info->attach_panel->content_list, "__ATTACH_PANEL_INITIALIZE__", MODE_ENABLE, ATTACH_PANEL_CONTENT_CATEGORY_UG);
_gesture_show(content_info->attach_panel);
}
} else {
- if (ATTACH_PANEL_STATE_HIDE != _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN != _gesture_get_state()) {
/* This is same with attach_panel_hide() */
_content_list_set_pause(content_info->attach_panel->content_list, ATTACH_PANEL_CONTENT_CATEGORY_UG);
_gesture_hide(content_info->attach_panel);
return;
}
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_D("state of attach_panel is hide state");
return;
}
attach_panel_h attach_panel = data;
ret_if(!attach_panel);
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_D("attach panel is already hide");
return;
}
attach_panel_h attach_panel = data;
ret_if(!attach_panel);
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_D("attach panel is already hide");
return;
}
_D("keypad state on");
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_D("attach panel is already hide");
return;
}
attach_panel_h attach_panel = data;
ret_if(!attach_panel);
- if (ATTACH_PANEL_STATE_HIDE == _gesture_get_state()) {
+ if (ATTACH_PANEL_STATE_HIDDEN == _gesture_get_state()) {
_D("attach panel is already hide");
return;
}