int i = getCurrentPageIndex() + 1; // left padding
int count = eina_list_count(list) - 1; // right padding
if (i >=0 && i < count)
- res = staticCast<TaskListViewItem*>(eina_list_nth(list, i));
+ res = staticCast<TaskListViewItem>(eina_list_nth(list, i));
}
return res;
if (obj == m_LeftPadding || obj == m_RightPadding)
continue;
- res.push_back(staticCast<TaskListViewItem*>(obj));
+ res.push_back(staticCast<TaskListViewItem>(obj));
}
eina_list_free(list);
void addSignalCb(const char *emission, const char *source, Edje_Signal_Cb func, void *data);
template<typename T>
- static T staticCast(void *evasObj);
+ static T* staticCast(const void *evasObj);
template<typename T>
- static T reinterpretCast(void *evasObj);
- template<typename T>
- static T dynamicCast(void *evasObj);
+ static T* dynamicCast(const void *evasObj);
/**
* @brief Gets text placed in specified part.
View(View&) = delete;
View& operator=(View&) = delete;
Evas_Object_Event_Cb getCb(Evas_Callback_Type);
- void *getData() const;
- static void *getData(Evas_Object *obj);
- void setData(const void *data);
- static void setData(Evas_Object *obj, const void *data);
+ static View *getThis(const Evas_Object *obj);
private:
static void on_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
return evas_object_data_get(m_pEo, key);
}
- inline void View::setData(const void *data)
- {
- setData(m_pEo, data);
- }
-
- inline void *View::getData() const
- {
- return getData(m_pEo);
- }
-
- template<typename T>
- inline T View::staticCast(void *evasObj)
- {
- return static_cast<T>(getData((Evas_Object*)evasObj));
- }
-
template<typename T>
- inline T View::reinterpretCast(void *evasObj)
+ inline T* View::staticCast(const void *evasObj)
{
- return reinterpret_cast<T>(getData((Evas_Object*)evasObj));
+ return static_cast<T*>(getThis((Evas_Object*)evasObj));
}
template<typename T>
- inline T View::dynamicCast(void *evasObj)
+ inline T* View::dynamicCast(const void *evasObj)
{
- return dynamic_cast<T>(staticCast<View*>(evasObj));
+ return dynamic_cast<T*>(staticCast<View*>(evasObj));
}
inline void View::addEventCb(Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)
BaseView::setEo(eo);
if (eo) {
- setData(this);
+ evas_object_data_set(eo, thisKey, this);
setEventCb(EVAS_CALLBACK_FREE);
setEventCb(EVAS_CALLBACK_DEL);
}
return layout;
}
-void View::setData(Evas_Object *obj, const void *data)
+View *View::getThis(const Evas_Object *obj)
{
- evas_object_data_set(obj, thisKey, (void*)data);
-}
-
-void *View::getData(Evas_Object *obj)
-{
- return evas_object_data_get(obj, thisKey);
+ return static_cast<View*>(evas_object_data_get(obj, thisKey));
}
std::string TaskMngr::markupToUtf8(const char *str)