|
From: Enlightenment S. <no-...@en...> - 2008-10-28 22:32:12
|
Log:
clean and delete objects
Author: andreas
Date: 2008-10-28 15:32:07 -0700 (Tue, 28 Oct 2008)
New Revision: 37287
Modified:
trunk/BINDINGS/cxx/examples/esmart/group/main.cpp trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.cpp trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.h trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.cpp trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.h trunk/BINDINGS/cxx/src/evas/eflpp_evas.cpp trunk/BINDINGS/cxx/src/evas/eflpp_evas.h
Modified: trunk/BINDINGS/cxx/examples/esmart/group/main.cpp
===================================================================
--- trunk/BINDINGS/cxx/examples/esmart/group/main.cpp 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/examples/esmart/group/main.cpp 2008-10-28 22:32:07 UTC (rev 37287)
@@ -36,8 +36,8 @@
EvasEsmartGroup* vbox = new EvasEsmartGroup( 50, 50, 200, 200, evas );
//vbox->resize( 100, 100 );
//vbox->setLayer( 20 );
- vbox->add( buttonbackground );
- vbox->add( buttontext );
+ vbox->append( buttonbackground );
+ vbox->append( buttontext );
vbox->show();
/* Enter the application main loop */
Modified: trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.cpp
===================================================================
--- trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.cpp 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.cpp 2008-10-28 22:32:07 UTC (rev 37287)
@@ -148,7 +148,7 @@
esmart_container_element_destroy( o, object->obj() );
}
-void EvasEsmartContainer::clean()
+void EvasEsmartContainer::clear()
{
esmart_container_empty( o );
}
Modified: trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.h
===================================================================
--- trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.h 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_container.h 2008-10-28 22:32:07 UTC (rev 37287)
@@ -70,7 +70,7 @@
void prepend( EvasObject* object, EvasObject* before = 0 );
void remove( EvasObject* object );
void destroy( EvasObject* object );
- void clean();
+ void clear();
//void sort();
//EvasList* elements() const;
Modified: trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.cpp
===================================================================
--- trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.cpp 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.cpp 2008-10-28 22:32:07 UTC (rev 37287)
@@ -39,20 +39,38 @@
EvasEsmartGroup::~EvasEsmartGroup()
{
+ clear ();
evas_object_del( o );
}
-void EvasEsmartGroup::add (EvasObject *object)
+void EvasEsmartGroup::append (EvasObject *object)
{
evasObjectList.push_back (object);
- printf ("add (%p) -> size: %d\n", this, evasObjectList.size ());
}
+void EvasEsmartGroup::prepend (EvasObject *object)
+{
+ evasObjectList.push_front (object);
+}
+
void EvasEsmartGroup::remove (EvasObject* object)
{
+ evasObjectList.remove (object);
cerr << "EvasEsmartGroup::remove" << endl;
}
+void EvasEsmartGroup::clear()
+{
+ for (list<EvasObject*>::iterator eo_it = evasObjectList.begin ();
+ eo_it != evasObjectList.end ();
+ ++eo_it)
+ {
+ delete *eo_it;
+ }
+
+ evasObjectList.clear ();
+}
+
// Handler functions
void EvasEsmartGroup::addHandler()
Modified: trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.h
===================================================================
--- trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.h 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/esmart/eflpp_esmart_group.h 2008-10-28 22:32:07 UTC (rev 37287)
@@ -18,8 +18,10 @@
EvasEsmartGroup( int x, int y, int width, int height, EvasCanvas* canvas, const char* name = 0 );
virtual ~EvasEsmartGroup();
- void add (EvasObject* object);
+ void append (EvasObject* object); // TODO: , EvasObject* after = 0
+ void prepend (EvasObject* object); // TODO: , EvasObject* before = 0
void remove (EvasObject* object);
+ void clear();
protected:
// smart object handlers
Modified: trunk/BINDINGS/cxx/src/evas/eflpp_evas.cpp
===================================================================
--- trunk/BINDINGS/cxx/src/evas/eflpp_evas.cpp 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/evas/eflpp_evas.cpp 2008-10-28 22:32:07 UTC (rev 37287)
@@ -211,6 +211,7 @@
EvasObject::~EvasObject()
{
Dout( dc::notice, *this << " EvasObject::~EvasObject" );
+ evas_object_del( o );
}
const char* EvasObject::name() const
Modified: trunk/BINDINGS/cxx/src/evas/eflpp_evas.h
===================================================================
--- trunk/BINDINGS/cxx/src/evas/eflpp_evas.h 2008-10-28 22:30:18 UTC (rev 37286)
+++ trunk/BINDINGS/cxx/src/evas/eflpp_evas.h 2008-10-28 22:32:07 UTC (rev 37287)
@@ -113,9 +113,9 @@
// construction/destruction
EvasObject( EvasCanvas* canvas,
const char* name = "(null)" );
- virtual ~EvasObject();
public:
+ virtual ~EvasObject();
bool operator==(const EvasObject& rhs) { return rhs.o == o; };
/* don't use these */
|