View(View&) = delete;
View& operator=(View&) = delete;
Evas_Object_Event_Cb getCb(Evas_Callback_Type);
- void *getSmartData() const;
- static void *getSmartData(Evas_Object *obj);
- void setSmartData(const void *data);
- static void setSmartData(Evas_Object *obj, const void *data);
+ void *getData() const;
+ static void *getData(Evas_Object *obj);
+ void setData(const void *data);
+ static void setData(Evas_Object *obj, const void *data);
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::setSmartData(const void *data)
+ inline void View::setData(const void *data)
{
- setSmartData(m_pEo, data);
+ setData(m_pEo, data);
}
- inline void *View::getSmartData() const
+ inline void *View::getData() const
{
- return getSmartData(m_pEo);
- }
-
- inline void View::setSmartData(Evas_Object *obj, const void *data)
- {
- evas_object_smart_data_set(obj, (void*)data);
- }
-
- inline void *View::getSmartData(Evas_Object *obj)
- {
- return evas_object_smart_data_get(obj);
+ return getData(m_pEo);
}
template<typename T>
inline T View::staticCast(void *evasObj)
{
- return static_cast<T>(getSmartData((Evas_Object*)evasObj));
+ return static_cast<T>(getData((Evas_Object*)evasObj));
}
template<typename T>
inline T View::reinterpretCast(void *evasObj)
{
- return reinterpret_cast<T>(getSmartData((Evas_Object*)evasObj));
+ return reinterpret_cast<T>(getData((Evas_Object*)evasObj));
}
template<typename T>
using namespace Msg;
+namespace
+{
+ const char *thisKey = "this";
+}
+
View::View()
: m_pEo(nullptr)
{
m_pEo = eo;
if(eo)
{
- setSmartData(this);
+ setData(this);
setEventCb(EVAS_CALLBACK_FREE);
setEventCb(EVAS_CALLBACK_DEL);
}
return layout;
}
+void View::setData(Evas_Object *obj, const void *data)
+{
+ evas_object_data_set(obj, thisKey, (void*)data);
+}
+
+void *View::getData(Evas_Object *obj)
+{
+ return evas_object_data_get(obj, thisKey);
+}
+
std::string Msg::markupToUtf8(const char *str)
{
if(!str)