[Uml-devel] KDE/kdesdk/umbrello/umbrello

Andi Fischer andi.fischer at hispeed.ch
Mon Jul 19 16:34:03 UTC 2010


SVN commit 1151825 by fischer:

Getters from UMLFolder without get.

 M  +30 -37    folder.cpp  
 M  +3 -6      folder.h  
 M  +1 -1      listpopupmenu.cpp  
 M  +4 -3      umllistview.cpp  
 M  +8 -8      umllistviewitem.cpp  
 M  +1 -1      umlview.cpp  


--- trunk/KDE/kdesdk/umbrello/umbrello/folder.cpp #1151824:1151825
@@ -36,7 +36,8 @@
 UMLFolder::UMLFolder(const QString & name, Uml::IDType id)
         : UMLPackage(name, id)
 {
-    init();
+    m_BaseType = Uml::ot_Folder;
+    UMLObject::setStereotype("folder");
 }
 
 /**
@@ -44,24 +45,11 @@
  */
 UMLFolder::~UMLFolder()
 {
-    // TODO : check if safe
-    while ( !m_diagrams.isEmpty() ) {
-        delete m_diagrams.takeFirst();
+    qDeleteAll(m_diagrams);
+    m_diagrams.clear();
     }
-}
 
 /**
- * Initializes key variables of the class.
- */
-void UMLFolder::init()
-{
-    m_BaseType = Uml::ot_Folder;
-    // Porting to QList. No autodelete supported. TODO: check if all elements of m_diagrams are properly disposed
-    //m_diagrams.setAutoDelete(true);
-    UMLObject::setStereotype("folder");
-}
-
-/**
  * Make a clone of this object.
  */
 UMLObject* UMLFolder::clone() const
@@ -86,7 +74,7 @@
  * Return the localized name of this folder.
  * Only useful for the predefined root folders.
  */
-QString UMLFolder::getLocalName()
+QString UMLFolder::localName() const
 {
     return m_localName;
 }
@@ -104,7 +92,6 @@
  */
 void UMLFolder::removeView(UMLView *view)
 {
-    // m_diagrams is set to autodelete!
     m_diagrams.removeAll(view);
     delete view;
 }
@@ -125,9 +112,10 @@
             }
         }
     }
-    foreach (UMLView* v, m_diagrams )
+    foreach (UMLView* v, m_diagrams) {
         viewList.append(v);
 }
+}
 
 /**
  * Acivate the views in this folder.
@@ -163,19 +151,22 @@
 UMLView *UMLFolder::findView(Uml::IDType id)
 {
     foreach (UMLView* v, m_diagrams ) {
-        if (v->getID() == id)
+        if (v->getID() == id) {
             return v;
     }
+    }
 
-    UMLView* v = NULL;
+    UMLView* v = 0;
     foreach (UMLObject* o, m_objects ) {
-        if (o->getBaseType() != Uml::ot_Folder)
+        if (o->getBaseType() != Uml::ot_Folder) {
             continue;
+        }
         UMLFolder *f = static_cast<UMLFolder*>(o);
         v = f->findView(id);
-        if (v)
+        if (v) {
             break;
     }
+    }
     return v;
 }
 
@@ -189,21 +180,24 @@
 UMLView *UMLFolder::findView(Uml::Diagram_Type type, const QString &name, bool searchAllScopes)
 {
     foreach (UMLView* v, m_diagrams ) {
-        if (v->getType() == type && v->getName() == name)
+        if (v->getType() == type && v->name() == name) {
             return v;
     }
+    }
 
-    UMLView* v = NULL;
+    UMLView* v = 0;
     if (searchAllScopes) {
         foreach (UMLObject* o, m_objects  ) {
-            if (o->getBaseType() != Uml::ot_Folder)
+            if (o->getBaseType() != Uml::ot_Folder) {
                 continue;
+            }
             UMLFolder *f = static_cast<UMLFolder*>(o);
             v = f->findView(type, name, searchAllScopes);
-            if (v)
+            if (v) {
                 break;
         }
     }
+    }
     return v;
 }
 
@@ -213,9 +207,10 @@
 void UMLFolder::setViewOptions(const Settings::OptionState& optionState)
 {
     // for each view update settings
-    foreach (UMLView* v, m_diagrams )
-        v->setOptionState(optionState);
+    foreach (UMLView* v, m_diagrams ) {
+        v->umlScene()->setOptionState(optionState);
 }
+}
 
 /**
  * Remove all views in this folder.
@@ -238,11 +233,9 @@
         UMLApp::app()->document()->removeView(v, false);
     }
 
-    // m_diagrams.clear()
-    while ( !m_diagrams.empty() ) {
-        delete m_diagrams.takeFirst();
+    qDeleteAll(m_diagrams);
+    m_diagrams.clear();
     }
-}
 
 /**
  * Set the folder file name for a separate submodel.
@@ -255,7 +248,7 @@
 /**
  * Get the folder file name for a separate submodel.
  */
-QString UMLFolder::getFolderFile()
+QString UMLFolder::folderFile() const
 {
     return m_folderFile;
 }
@@ -268,7 +261,7 @@
 void UMLFolder::saveContents(QDomDocument& qDoc, QDomElement& qElement)
 {
     QDomElement ownedElement = qDoc.createElement("UML:Namespace.ownedElement");
-    UMLObject *obj = NULL;
+    UMLObject *obj = 0;
     // Save contained objects if any.
     for (UMLObjectListIt oit(m_objects); oit.hasNext(); ) {
         obj = oit.next();
@@ -503,7 +496,7 @@
                 continue;
             }
         }
-        UMLObject *pObject = NULL;
+        UMLObject *pObject = 0;
         // Avoid duplicate creation of forward declared object
         QString idStr = tempElement.attribute("xmi.id", "");
         if (!idStr.isEmpty()) {
@@ -513,7 +506,7 @@
                 uDebug() << "object " << idStr << "already exists";
             }
         }
-        if (pObject == NULL) {
+        if (pObject == 0) {
             QString stereoID = tempElement.attribute("stereotype", "");
             pObject = Object_Factory::makeObjectFromXMI(type, stereoID);
             if (!pObject) {
--- trunk/KDE/kdesdk/umbrello/umbrello/folder.h #1151824:1151825
@@ -4,7 +4,7 @@
  *   the Free Software Foundation; either version 2 of the License, or     *
  *   (at your option) any later version.                                   *
  *                                                                         *
- *   copyright (C) 2006-2009                                               *
+ *   copyright (C) 2006-2010                                               *
  *   Umbrello UML Modeller Authors <uml-devel at uml.sf.net>                  *
  ***************************************************************************/
 
@@ -34,15 +34,12 @@
     Q_OBJECT
 public:
     explicit UMLFolder(const QString & name = QString(), Uml::IDType id = Uml::id_None);
-
     virtual ~UMLFolder();
 
-    virtual void init();
-
     virtual UMLObject* clone() const;
 
     void setLocalName(const QString& localName);
-    QString getLocalName();
+    QString localName() const;
 
     void addView(UMLView *view);
 
@@ -60,7 +57,7 @@
     void removeAllViews();
 
     void setFolderFile(const QString& fileName);
-    QString getFolderFile();
+    QString folderFile() const;
 
     void saveToXMI( QDomDocument & qDoc, QDomElement & qElement );
 
--- trunk/KDE/kdesdk/umbrello/umbrello/listpopupmenu.cpp #1151824:1151825
@@ -884,7 +884,7 @@
         uError() << o->getName() << " is not a Folder";
         return;
     }
-    QString submodelFile = f->getFolderFile();
+    QString submodelFile = f->folderFile();
     if (submodelFile.isEmpty()) {
         insert(mt_Externalize_Folder);
     }
--- trunk/KDE/kdesdk/umbrello/umbrello/umllistview.cpp #1151824:1151825
@@ -811,7 +811,7 @@
     QString name = object->getName();
     if (type == Uml::ot_Folder) {
         UMLFolder *f = static_cast<UMLFolder*>(object);
-        QString folderFile = f->getFolderFile();
+        QString folderFile = f->folderFile();
         if (!folderFile.isEmpty())
             name.append(" (" + folderFile + ')');
     }
@@ -1232,14 +1232,15 @@
             Uml::Model_Type mt = (Uml::Model_Type)i;
             UMLFolder *sysFolder = m_doc->rootFolder(mt);
             Uml::ListView_Type lvt = Model_Utils::convert_MT_LVT(mt);
-            m_lv[i] = new UMLListViewItem(m_rv, sysFolder->getLocalName(), lvt, sysFolder);
+            m_lv[i] = new UMLListViewItem(m_rv, sysFolder->localName(), lvt, sysFolder);
         }
     } else {
         for (int i = 0; i < Uml::N_MODELTYPES; ++i)
             deleteChildrenOf(m_lv[i]);
     }
     UMLFolder *datatypeFolder = m_doc->datatypeFolder();
-    m_datatypeFolder = new UMLListViewItem(m_lv[Uml::mt_Logical], datatypeFolder->getLocalName(),
+    if (!m_datatypeFolder)
+        m_datatypeFolder = new UMLListViewItem(m_lv[Uml::mt_Logical], datatypeFolder->localName(),
                                            Uml::lvt_Datatype_Folder, datatypeFolder);
     m_rv->setOpen(true);
     for (int i = 0; i < Uml::N_MODELTYPES; ++i)
--- trunk/KDE/kdesdk/umbrello/umbrello/umllistviewitem.cpp #1151824:1151825
@@ -4,7 +4,7 @@
  *   the Free Software Foundation; either version 2 of the License, or     *
  *   (at your option) any later version.                                   *
  *                                                                         *
- *   copyright (C) 2002-2009                                               *
+ *   copyright (C) 2002-2010                                               *
  *   Umbrello UML Modeller Authors <uml-devel at uml.sf.net>                  *
  ***************************************************************************/
 
@@ -14,11 +14,13 @@
 // system includes
 #include <cstdlib>
 
-// qt/kde includes
+// qt includes
 #include <QtCore/QTextStream>
 #include <QtCore/QFile>
+#include <QtCore/QRegExp>
 #include <QtGui/QDrag>
-#include <QtCore/QRegExp>
+
+// kde includes
 #include <klocale.h>
 #include <kmessagebox.h>
 #include <kdebug.h>
@@ -158,10 +160,8 @@
     default:
         setIcon(Icon_Utils::it_Diagram);
     }
-    /*
-        Constructor also used by folder so just make sure we don't need to
-        to set pixmap to folder.  doesn't hurt diagrams.
-    */
+    //  Constructor also used by folder so just make sure we don't need to
+    //  to set pixmap to folder.  doesn't hurt diagrams.
     updateFolder();
     setText(name);
     setRenameEnabled(0, true);
@@ -884,7 +884,7 @@
             itemElement.setAttribute("label", m_Label);
     } else if (m_pObject->getBaseType() == Uml::ot_Folder) {
         extFolder = static_cast<UMLFolder*>(m_pObject);
-        if (!extFolder->getFolderFile().isEmpty()) {
+        if (!extFolder->folderFile().isEmpty()) {
             itemElement.setAttribute("open", "0");
             qElement.appendChild(itemElement);
             return;
--- trunk/KDE/kdesdk/umbrello/umbrello/umlview.cpp #1151824:1151825
@@ -1223,7 +1223,7 @@
         uError() << msgPrefix << "parent model object is not a UMLFolder (?)";
         return false;
     }
-    QString folderFile = modelFolder->getFolderFile();
+    QString folderFile = modelFolder->folderFile();
     return !folderFile.isEmpty();
 }
 




More information about the umbrello-devel mailing list