#ifndef EFLPP_EDJEPART_H #define EFLPP_EDJEPART_H /* STL */ #include /* EFL++ */ #include #include #include /* EFL */ #include using std::string; namespace Edjexx { // forward declarations class ExternalParam; class Object; class Part { friend class Object; private: Part( Object* parent, const std::string &partname ); public: ~Part(); Eflxx::Rect getGeometry() const; void setText( const std::string &text ); const std::string getText() const; void swallow( Evasxx::Object* ); void unswallow( Evasxx::Object* ); /*! * @throw SwallowNotExistingException */ Evasxx::Object &getSwallow (); bool isExternalObject (); /*! * @throw ExternalNotExistingException */ Evasxx::Object &getExternalObject (); Evasxx::Object &getExternalContent (const std::string &content); bool setParam (Edjexx::ExternalParam *param); bool getParam (Edjexx::ExternalParam &inOutparam); Edje_External_Param_Type getParamType (const std::string ¶m); //const Evasxx::Object* getObject ( const char* name ); private: Object* mParent; std::string mPartname; Evasxx::Object *mExternalObject; Evasxx::Object *mExternalContent; Evasxx::Object *mSwallowObject; /* State? EAPI const char *edje_object_part_state_get (Evas_Object *obj, const char *part, double *val_ret); */ /* Directions? EAPI int edje_object_part_drag_dir_get (Evas_Object *obj, const char *part); */ /* Drag? EAPI void edje_object_part_drag_value_set (Evas_Object *obj, const char *part, double dx, double dy); EAPI void edje_object_part_drag_value_get (Evas_Object *obj, const char *part, double *dx, double *dy); EAPI void edje_object_part_drag_size_set (Evas_Object *obj, const char *part, double dw, double dh); EAPI void edje_object_part_drag_size_get (Evas_Object *obj, const char *part, double *dw, double *dh); EAPI void edje_object_part_drag_step_set (Evas_Object *obj, const char *part, double dx, double dy); EAPI void edje_object_part_drag_step_get (Evas_Object *obj, const char *part, double *dx, double *dy); EAPI void edje_object_part_drag_page_set (Evas_Object *obj, const char *part, double dx, double dy); EAPI void edje_object_part_drag_page_get (Evas_Object *obj, const char *part, double *dx, double *dy); EAPI void edje_object_part_drag_step (Evas_Object *obj, const char *part, double dx, double dy); EAPI void edje_object_part_drag_page (Evas_Object *obj, const char *part, double dx, double dy); */ private: Part(); Part( const Part& ); bool operator=( const Part& ); bool operator==( const Part& ); }; } // end namespace Edjexx #endif // EFLPP_EDJEPART_H