[Orxonox-commit 1761] r6479 - code/branches/pickup3/src/libraries/core

dafrick at orxonox.net dafrick at orxonox.net
Sun Mar 7 11:07:03 CET 2010


Author: dafrick
Date: 2010-03-07 11:07:03 +0100 (Sun, 07 Mar 2010)
New Revision: 6479

Modified:
   code/branches/pickup3/src/libraries/core/BaseObject.cc
   code/branches/pickup3/src/libraries/core/BaseObject.h
Log:
Added XMLPortParam to add one single template to BaseObject for ease of use.


Modified: code/branches/pickup3/src/libraries/core/BaseObject.cc
===================================================================
--- code/branches/pickup3/src/libraries/core/BaseObject.cc	2010-03-07 09:55:23 UTC (rev 6478)
+++ code/branches/pickup3/src/libraries/core/BaseObject.cc	2010-03-07 10:07:03 UTC (rev 6479)
@@ -114,7 +114,8 @@
         XMLPortParam(BaseObject, "visible", setVisible, isVisible, xmlelement, mode);
         XMLPortParam(BaseObject, "active", setActive, isActive, xmlelement, mode);
         XMLPortParam(BaseObject, "mainstate", setMainStateName, getMainStateName, xmlelement, mode);
-
+        XMLPortParamTemplate(BaseObject, "template", addTemplate, getSingleTemplate, xmlelement, mode, const std::string&);
+        
         XMLPortObjectTemplate(BaseObject, Template, "templates", addTemplate, getTemplate, xmlelement, mode, Template*);
         XMLPortObject(BaseObject, BaseObject, "eventlisteners", addEventListener, getEventListener, xmlelement, mode);
 
@@ -189,6 +190,18 @@
     }
 
     /**
+        @brief Returns the name of the first Template.
+        @return The name as string.
+    */
+    const std::string& BaseObject::getSingleTemplate(void) const
+    {
+        if(this->templates_.empty())
+            return BLANKSTRING;
+
+        return (*this->templates_.begin())->getName();
+    }
+
+    /**
         @brief Returns the Template with the given index.
         @param index The index
     */

Modified: code/branches/pickup3/src/libraries/core/BaseObject.h
===================================================================
--- code/branches/pickup3/src/libraries/core/BaseObject.h	2010-03-07 09:55:23 UTC (rev 6478)
+++ code/branches/pickup3/src/libraries/core/BaseObject.h	2010-03-07 10:07:03 UTC (rev 6479)
@@ -194,6 +194,7 @@
                 { this->eventListeners_.erase(object); }
 
             void setXMLName(const std::string& name);
+            const std::string& getSingleTemplate(void) const;
             Template* getTemplate(unsigned int index) const;
             void registerEventStates();
 




More information about the Orxonox-commit mailing list