}
}
+static void slot_resume_ise_option_window(const scim::HelperAgent *agent, int ic, const scim::String &uuid) {
+ CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+ if (impl) {
+ CSCLCoreUI *core_ui = impl->get_core_ui();
+ if (core_ui) {
+ LOGD("slot_resume_ise_option_window() called!!!\n");
+ core_ui->show_option_window(OPTION_WINDOW_TYPE_SETTING_APPLICATION);
+ }
+ }
+}
+
static void slot_check_ise_option_window(const scim::HelperAgent *agent, sclu32 &avail) {
CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
if (impl) {
m_helper_agent.signal_connect_associate_table_page_down(scim::slot(slot_associate_table_page_down));
m_helper_agent.signal_connect_update_associate_table_page_size(scim::slot(slot_update_associate_table_page_size));
m_helper_agent.signal_connect_show_option_window(scim::slot(slot_show_ise_option_window));
+ m_helper_agent.signal_connect_resume_option_window(scim::slot(slot_resume_ise_option_window));
m_helper_agent.signal_connect_check_option_window(scim::slot(slot_check_ise_option_window));
m_helper_agent.signal_connect_process_key_event(scim::slot(slot_process_key_event));
m_helper_agent.signal_connect_candidate_show(scim::slot(slot_candidate_show));
sclboolean ret = false;
callback->on_check_option_window_availability(&ret);
if (ret == false) {
- LOGW("on_create_option_window() is not available\n");
+ LOGW("option_window not available\n");
return SCLWINDOW_INVALID;
}
} else {
set_transient_for_app_window(window);
} else if (type == OPTION_WINDOW_TYPE_SETTING_APPLICATION) {
set_transient_for_isf_setting_window(window);
- evas_object_show(window);
}
m_option_window_info[type].window = window;
return window;
}
+bool CSCLCoreUIEFL::show_option_window(SCLOptionWindowType type)
+{
+ if (type < 0 || type >= OPTION_WINDOW_TYPE_MAX) {
+ return SCLWINDOW_INVALID;
+ }
+
+ ISCLCoreEventCallback *callback = NULL;
+ CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
+ if (impl) {
+ callback = impl->get_core_event_callback();
+ if (callback) {
+ sclboolean ret = false;
+ callback->on_check_option_window_availability(&ret);
+ if (ret == false) {
+ LOGW("option_window not available\n");
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ if (m_option_window_info[type].window != SCLWINDOW_INVALID) {
+ evas_object_show(static_cast<Evas_Object*>(m_option_window_info[type].window));
+ elm_win_raise(static_cast<Evas_Object*>(m_option_window_info[type].window));
+ return true;
+ }
+
+ return false;
+}
+
void CSCLCoreUIEFL::destroy_option_window(sclwindow window)
{
CSCLCoreImpl *impl = CSCLCoreImpl::get_instance();
virtual int get_screen_rotation_degree();
virtual sclwindow create_option_window(SCLOptionWindowType type);
+ virtual bool show_option_window(SCLOptionWindowType type);
virtual void destroy_option_window(sclwindow window);
void set_screen_rotation_degree(int degree);
return ret;
}
+bool CSCLCoreUI::show_option_window(SCLOptionWindowType type)
+{
+ bool ret = false;
+ if (m_impl) {
+ ret = m_impl->show_option_window(type);
+ }
+ return ret;
+}
+
void CSCLCoreUI::destroy_option_window(sclwindow window)
{
if (m_impl) {
if (m_impl) {
m_impl->process_keyboard_ui_state_change(state);
}
-}
\ No newline at end of file
+}
virtual sclwindow create_option_window(SCLOptionWindowType type);
/**
+ * @brief Requests to show existing option window
+ */
+ virtual bool show_option_window(SCLOptionWindowType type);
+
+ /**
* @brief Requests to destroy an option window
*/
virtual void destroy_option_window(sclwindow window);