1. 07 Jul, 2014 2 commits
  2. 04 Jul, 2014 12 commits
  3. 03 Jul, 2014 9 commits
  4. 02 Jul, 2014 1 commit
  5. 01 Jul, 2014 5 commits
    • Ralf Habacker's avatar
    • Oliver Kellogg's avatar
      umbrello/uml.cpp · 3b638620
      Oliver Kellogg authored
      - In function setGenerator() revert part of commit ea25b643 which returns
        preexisting m_codegen if (m_codegen->language() == pl).
      
      umbrello/codegenerators/codegenerator.{h,cpp}
      - New virtual function finalizeRun() with empty default implementation can
        be reimplemented by concrete code generators to perform additional
        cleanups or other actions that can only be performed once all code has
        been written. The function is called in writeCodeToFile() after return
        from writeListedCodeDocsToFile().
      
      umbrello/codegenerators/simplecodegenerator.cpp
      - In function writeCodeToFile(), utilize writeCodeToFile(concepts) for
        minimizing code duplication.
      - In function writeCodeToFile(UMLClassifierList&),
        - do not writeClass(c) if Model_Utils::isCommonDataType(c->name());
        - call finalizeRun() after foreach loop over `concepts'.
      
      umbrello/codegenerators/ada/adawriter.{h,cpp}
      - Add `static' on declaration of functions isOOClass() and packageName().
      - New function declareClass() factors trunk of Ada declaration which is
        common to partial (public) and full (private) view.
      - Reimplement function finalizeRun() from CodeGenerator: Cumulative
        generation of the private part is moved from writeClass() to here.
      - New member m_pkgsGenerated is required for closing opened files in
        finalizeRun().
      - New member m_classesGenerated is required for ensuring that order of code
        generation is consistent with order of dependencies among classifiers in
        the package.
      
      umbrello/codegenerators/ada/adawriter.cpp function writeClass()
      - Return immediately without further action if `c' is already present in
        m_classesGenerated.
      - If `pkg' is found in m_pkgsGenerated then do not open file / write
        initial declarations but instead use the value() of the PackageFileMap::
        iterator found for `file'.
      - If `pkg' is found in m_pkgsGenerated then:
        - Open file and write initial declarations; in loop over `imports', do not
          write "with" if packageName(con) does not match `pkg'.
        - Assign `file' into m_pkgsGenerated[pkg].
      - Before declaring the Ada type mapped from `c', loop over
        c->getSuperClasses() and ensure that superclasses in same package are
        written beforehand.
      - Move all aggregation/composition/attribute handling to finalizeRun().
      
      umbrello/codegenerators/ada/adawriter.cpp function reservedKeywords()
      - Add Ada2005 reserved word "interface".
      
      BUG:336933
      3b638620
    • Oliver Kellogg's avatar
    • Oliver Kellogg's avatar
      umbrello/codegenerators/cpp/cppwriter.cpp · bbc6f725
      Oliver Kellogg authored
      - In function writeClassDecl() remove extraneous generated ';' after closing
        of namespace.
      bbc6f725
    • Ralf Habacker's avatar
      Fix bug not placing class N1::A below N1 package in tree view. · b37eebda
      Ralf Habacker authored
      The problem was, that Import_Utils::createUMLObject() tries to find an object
      in different namespaces and only creates an uml object if not found.
      
      In the case of parsing a c++ import class specification we simply need
      to create the related uml class object in the current namespace, which
      is provided by the additional parameter "doNotSearch".
      
      Related test case is https://bugs.kde.org/show_bug.cgi?id=336810#c10
      
      CCBUG:368810
      b37eebda
  6. 30 Jun, 2014 3 commits
  7. 28 Jun, 2014 4 commits
    • Oliver Kellogg's avatar
      umbrello/dialogs/pages/classgeneralpage.{h,cpp} · b10cdc25
      Oliver Kellogg authored
      umbrello/dialogs/dialog_utils.{h,cpp}
      - Move function insertStereotypesSorted() from ClassGeneralPage to
        Dialog_Utils.
      
      umbrello/dialogs/pages/associationgeneralpage.{h,cpp}
      - Allow for selection of stereotype in place of name.
      b10cdc25
    • Oliver Kellogg's avatar
    • Oliver Kellogg's avatar
      (In reply to comment #4) · f90f771b
      Oliver Kellogg authored
      > [...] Unfortunately the fix seems not to be complete because with
      > the following testcase class GlobalA is shown in Logical View but
      > assigned to namespace NameSpace which is wrong.
      
      Here is the fix for this case.
      The fixing of your other test cases is still wide open, help appreciated.
      
      umbrello/codeimport/kdevcppparser/cpptree2uml.cpp
      - In function parseBaseClause(), before calling
        Import_Utils::createUMLObject() for creating the parent object, call
        Import_Utils::putAtGlobalScope(true). After creation of parent object,
        call Import_Utils::putAtGlobalScope(false).
      
      CCBUG:336810
      f90f771b
    • Oliver Kellogg's avatar
      umbrello/codeimport/kdevcppparser/cpptree2uml.cpp · 0160b7d8
      Oliver Kellogg authored
      - In function parseBaseClause() first call Import_Utils::createUMLObject()
        for creating the parent object coresponding to baseName, and then call
          Import_Utils::createGeneralization(UMLClassifier*, UMLClassifier*)
        with the parent object obtained.
      
      umbrello/codeimport/import_utils.cpp
      - At function
          createGeneralization(UMLClassifier *child, const QString &parentName)
        mention its shortcoming and mention the preferred solution as applied
        above.
      
      BUG:336810
      0160b7d8
  8. 26 Jun, 2014 3 commits
  9. 25 Jun, 2014 1 commit
    • Oliver Kellogg's avatar
      umbrello/petaltree2uml.cpp · e9b61b49
      Oliver Kellogg authored
      - In function umbrellify(), replace last remaining usage of
        Import_Utils::createUMLObject() by Object_Factory.
        Reason: The Import_Utils function gives too strong preference to
        the Logical View on creating a new object.
      e9b61b49