[Uml-devel] [Bug 145916] Class attribute documentation not generated for python

Oliver Kellogg okellogg at users.sourceforge.net
Fri May 25 21:54:38 UTC 2007


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=145916         
okellogg users sourceforge net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From okellogg users sourceforge net  2007-05-25 23:54 -------
SVN commit 668297 by okellogg:

writeAttributes(): New. Write attribute documentation, name, and visibility
 in a Python comment section.
BUG:145916


 M  +1 -0      ChangeLog  
 M  +18 -1     umbrello/codegenerators/pythonwriter.cpp  
 M  +9 -0      umbrello/codegenerators/pythonwriter.h  


--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #668296:668297
 @ -3,6 +3,7  @
 * Bugs/wishes from http://bugs.kde.org:
 * Unstable saves and loads, class names become dirty (145709)
 * Crash on deleting class in list view (145762)
+* Class attribute documentation not generated for python (145916)
 * Python code generator does not wrap lines properly (145918)
 
 Version 1.5.7
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/codegenerators/pythonwriter.cpp #668296:668297
 @ -30,6 +30,7  @
 #include "../association.h"
 #include "../attribute.h"
 #include "../classifier.h"
+#include "../attribute.h"
 #include "../operation.h"
 #include "../umlnamespace.h"
 
 @ -143,6 +144,9  @
         m_bNeedPass = false;
     }
 
+    // attributes
+    writeAttributes(c->getAttributeList(), h);
+
     //operations
     writeOperations(c,h);
 
 @ -161,8 +165,21  @
 ////////////////////////////////////////////////////////////////////////////////////
 //  Helper Methods
 
-void PythonWriter::writeOperations(UMLClassifier *c,QTextStream &h) {
+void PythonWriter::writeAttributes(UMLAttributeList atList, QTextStream &py) {
+    if (!forceDoc() || atList.count() == 0)
+        return;
+    py << m_indentation << "\"\"\" ATTRIBUTES" << m_endl << m_endl;
+    for (UMLAttribute *at = atList.first(); at; at = atList.next()) {
+        py << formatDoc(at->getDoc(), m_indentation + ' ') << m_endl;
+        Uml::Visibility vis = at->getVisibility();
+        py << m_indentation << cleanName(at->getName()) << "  ("
+            << vis.toString() << ")" << m_endl << m_endl ;
+    } // end for
+    py << m_indentation << "\"\"\"" << m_endl << m_endl;
+}
 
+void PythonWriter::writeOperations(UMLClassifier *c, QTextStream &h) {
+
     //Lists to store operations  sorted by scope
     UMLOperationList oppub,opprot,oppriv;
 
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/codegenerators/pythonwriter.h #668296:668297
 @ -20,6 +20,7  @
 #define PYTHONWRITER_H
 
 #include "simplecodegenerator.h"
+#include "../umlattributelist.h"
 #include "../umloperationlist.h"
 
 enum Access {PRIVATE, PUBLIC, PROTECTED};
 @ -54,6 +55,14  @
 private:
 
     /**
+     * write all attributes for a given class
+     *
+     *  param c   the concept we are generating code for
+     *  param py  output stream for the header file
+     */
+    void writeAttributes(UMLAttributeList atList, QTextStream &py);
+
+    /**
       * write all operations for a given class
       *
       *  param c the concept we are generating code for




More information about the umbrello-devel mailing list