virtual void load();
virtual void unload();
virtual void unload_content();
+ virtual void set_event_block(bool block);
public:
ui_basic_view(ui_controller *controller, const char *name = NULL);
* @return base layout of viewmgr.
*/
Evas_Object *get_parent();
+
+ /** @brief toggle event block.
+ *
+ * @note It makes internal conformant event freeze during effect showing.
+ *
+ * @param block @c true, when blocking is enabled, otherwise @c false.
+ */
+ virtual void set_event_block(bool block) {}
};
}
if (!this->get_controller()) return;
(dynamic_cast<ui_basic_controller *>(this->get_controller()))->menu();
}
+
+void ui_basic_view::set_event_block(bool block)
+{
+ evas_object_freeze_events_set(this->get_base(), block);
+}
void ui_iface_viewmgr::set_event_block(ui_iface_view *view, bool block)
{
-
if (!ui_iface_viewmgr::event_block) return;
view->set_event_block(block);
}
}
view->inactive();
- this->set_event_block(view, true);
+
+ //FIXME: First view has no effect?
+ if (this->view_list.size() != 1) this->set_event_block(view, true);
return view;
}