1. 11 Dec, 2014 1 commit
    • Ralf Habacker's avatar
      Fix another 'Crash while importing C++ code from existing project'. · 713fe83d
      Ralf Habacker authored
      Exclude non UMLPackage based uml objects from accessing not present
      m_objects member in Model_Utils::findUMLObject().
      
      A common solution would be to solve the dynamic_cast<UMLPackage*>()
      failure (see bug) or to add a virtual bool canHaveObjects() method
      to UMLObject, which returns false by default and true for classes
      derived from UMLPackage to guard the access to m_objects.
      
      BUG:341709
      713fe83d
  2. 29 Aug, 2014 1 commit
  3. 26 Aug, 2014 1 commit
    • Oliver Kellogg's avatar
      Address http://bugs.kde.org/show_bug.cgi?id=338536#c5 · 22c37e1c
      Oliver Kellogg authored
      umbrello/model_utils.cpp function findUMLObject()
      - In the for-loop over `pkg' initial part, do not enter into tests of `name'
        against pkg->name() if `type' does not match pkg->baseType().
      
      My current testing shows that this appears to fix the problem.
      However, I will wait with setting the bug to RESOLVED until more testing is
      done. If somebody can confirm that it works, that would be helpful.
      
      CCBUG:338536
      22c37e1c
  4. 23 Aug, 2014 1 commit
  5. 09 Jul, 2014 1 commit
  6. 04 Jul, 2014 1 commit
  7. 03 Jul, 2014 1 commit
  8. 25 Jun, 2014 1 commit
  9. 09 Jun, 2014 1 commit
    • Oliver Kellogg's avatar
      (In reply to comment #2) · 60fc2177
      Oliver Kellogg authored
      > (In reply to comment #1)
      > > A workaround I found is adding the line indicated with '+'.
      > > ms_seenFiles.append(includeFile);
      >
      > The problem is that the current file is added to the list of seen files
      > after importing, which failed when an included file includes the current
      > file.
      
      I tested this on current clucene/src/core/CLucene git master and I confirm
      your finding.
      I therefore commit both comment #2 and a clean version of comment #3:
      
      umbrello/codeimport/classimport.h
      - New virtual function initPerFile() lets concrete importers provide
        initializations which are executed before each single file parsed.
        This is different from initialize() in that initialize() is executed only
        once for all files parsed.
      
      umbrello/codeimport/classimport.cpp
      - Provide empty default implementation for new function initPerFile()
      - In function importFiles(), call importFile() instead of parseFile()
      - In function importFile(), call initPerFile() instead of initialize()
      
      umbrello/codeimport/cppimport.{h,cpp}
      - Reimplement function initPerFile() from ClassImport.
      - In function feedTheModel(), append includeFile to ms_seenFiles prior to
        calling feedTheModel(includeFile) if includeFile is not found in
        ms_seenFiles.
      
      umbrello/codeimport/import_utils.cpp
      - In function createUMLObject(), if name.startsWith("::") then remove the
        leading "::" from name, and set parentPkg to logicalView.
      
      umbrello/model_utils.cpp
      - In function findUMLObject(), if name.startsWith("::") then remove the
        leading "::" from name, and set currentObj to NULL.
      
      BUG:335914
      60fc2177
  10. 24 May, 2014 1 commit
    • Oliver Kellogg's avatar
      (In reply to comment #9) · d22ed2f5
      Oliver Kellogg authored
      >
      > On component diagrams:
      > * Ports (on component edges)
      
      Here is a first stab at ports.
      
      umbrello/pics/sources/port.svg, umbrello/pics/port.png,
      umbrello/pics/CMakeLists.txt
      - Port icon temporarily copied from node.{svg,png}, still to be reworked
        for proper port symbol.
      
      umbrello/port.{h,cpp}, umbrello/widgets/portwidget.{h,cpp}
      - Implementation for new UML object Port and its PortWidget.
        Known issues:
        1) The PortWidget is saved but is not restored on reloading the XMI file.
        2) On dragging a port on the diagram, the PortWidget should be made to
           snap to the nearest edge of the nearest ComponentWidget, i.e. the
           port should "stick" to a component on moving.
      
      umbrello/CMakeLists.txt
      - Add widgets/portwidget.cpp to libwidgets_SRCS.
      - Add port.cpp to libumbrello_SRCS.
      
      umbrello/umlobject.h
      - At end of enum ObjectType, add value ot_Port.
      
      umbrello/umllistviewitem.h
      - At enum ListViewType, insert value lvt_Port before end-of-enum mark.
      
      umbrello/umllistviewitem.cpp
      - In functions slotEditFinished() and toString(), handle case lvt_Port.
      
      umbrello/icon_utils.h
      - At enum IconType add value it_Port.
      
      umbrello/icon_utils.cpp
      In function toString(IconType type), handle case it_Port.
      
      umbrello/listpopupmenu.h
      - At enum MenuType add value mt_Port.
      
      umbrello/listpopupmenu.cpp
      - In constructor
          ListPopupMenu(QWidget*, UMLListViewItem::ListViewType, UMLObject*)
        handle case UMLListViewItem::lvt_Port.
      - In function insertSingleSelectionMenu() handle case WidgetBase::wt_Port.
      - In functions insert() and insertSubMenuNew() handle case mt_Component.
      - In functions insertSubMenuNew() and setupMenu() handle case mt_Port.
      
      umbrello/optionstate.h
      - In struct GeneralState add member bool uml2.
      
      umbrello/umbrello.kcfg
      - In group "General Options" add entry "uml2" for enabling UML2 notation.
      
      umbrello/uml.cpp
      - In functions saveOptions() and readOptionState() handle new
        optionState.generalState member uml2.
      
      umbrello/umlscene.cpp
      - In function dragEnterEvent(), set bAccept = true for `ot' value ot_Port.
      
      umbrello/model_utils.cpp
      - In function isCloneable() handle case WidgetBase::wt_Port.
      - In functions uniqObjectName(), guessContainer(), convert_OT_LVT(), and
        convert_OT_MT(), handle case UMLObject::ot_Port.
      - In functions typeIsCanvasWidget(), typeIsAllowedInType(), convert_LVT_IT()
        handle case UMLListViewItem::lvt_Port.
      
      umbrello/object_factory.cpp
      - In function createNewUMLObject() handle case UMLObject::ot_Port.
      - In function makeObjectFromXMI handle case UMLDoc::tagEq(xmiTag, "Port").
      
      umbrello/umllistview.cpp
      - In function slotMenuSelection() handle case ListPopupMenu::mt_Port.
      - In function connectNewObjectsSlots() handle case UMLObject::ot_Port.
      - In functions findUMLObjectInFolder(), moveObject(), determineParentItem(),
        isUnique(), loadChildrenFromXMI(), handle case UMLListViewItem::lvt_Port.
      - In function slotMenuSelection() handle case ListPopupMenu::mt_Port.
      
      umbrello/assocrules.cpp
      - At AssocRules::m_AssocRules[] add rules for Association and UniAssociation
        from wt_Port to wt_Interface.
      
      umbrello/widgets/widgetbase.h
      - At end of enum WidgetType, add value wt_Port.
      
      umbrello/widgets/widgetbase.cpp
      - In function slotMenuSelection(), at case ListPopupMenu::mt_Properties,
        admit `wt' value wt_Port to call of showPropertiesDialog().
      
      umbrello/widgets/umlwidget.cpp
      - In function widgetHasUMLObject(), return true for `type' value wt_Port.
      
      umbrello/widgets/widget_factory.cpp
      - In function createWidget(), add case for ot_Port setting newWidget to
        a new PortWidget.
      
      umbrello/dialogs/pages/classgeneralpage.cpp
      - In ClassGeneralPage constructor setup of `name', handle case ot_Port.
      
      CCBUG:115269
      d22ed2f5
  11. 22 May, 2014 1 commit
  12. 20 Apr, 2014 1 commit
    • Oliver Kellogg's avatar
      Initial work on loading UML2/XMI2 files, e.g. · c0d58b3b
      Oliver Kellogg authored
        https://bugs.kde.org/attachment.cgi?id=86180 (Eclipse UML2)
      and
        http://www.omg.org/spec/UML/20110701/Infrastructure.xmi
      
      umbrello/model_utils.{h,cpp}
      - New function getXmiId(QDomElement) encapsulates access to xmi.id (XMI-1)
        and xmi:id (XMI-2)
      
      umbrello/{umlobject,folder,operation}.cpp
      - Replace direct accesses to QDomElement::attribute("xmi.id") by
        Model_Utils::getXmiId()
      
      umbrello/{folder,package}.cpp
      - In function load(QDomElement&), decode UML2 tags packagedElement and
        ownedElement.
      
      umbrello/umldoc.cpp
      - In function loadFromXMI(QIODevice&, short), decode outerTag values
        "Model" and "Package" for UML2;
      - In function loadUMLObjectsFromXMI(QDomElement&),
        - decode UML2 tags packagedElement and ownedElement;
        - admit XMI2 syntax "xmi:id" to the check for xmi.id presence.
      
      umbrello/classifier.cpp
      - In function makeChildObject(const QString&), support UML2 tags
        ownedOperation and ownedAttribute.
      
      CCBUG:56184
      c0d58b3b
  13. 14 Nov, 2013 2 commits
    • Joris Steyn's avatar
      Support nesting of class in class · cc238366
      Joris Steyn authored
      GUI support was removed in 4.11.3 for no valid reason. This commit adds it
      back.
      
      BUG: 82685
      (cherry picked from commit 9d2ad4d0)
      cc238366
    • Joris Steyn's avatar
      Support nesting of class in class · 2d791654
      Joris Steyn authored
      GUI support was removed in 4.11.3 for no valid reason. This commit adds it back
      and also works with drag/drop operations.
      
      Additional fix: don't lose stereotype of package when nested in class.
      
      BUG: 82685
      2d791654
  14. 13 Nov, 2013 1 commit
    • Joris Steyn's avatar
      Restore drag&drop in the tree view · 6fdef021
      Joris Steyn authored
      This change allows moving items in the tree view into other items. For example:
      move diagrams and classes to folders, move operations to other classes, etc.
      
      It's also possible to copy/paste items by holding ctrl while dragging.
      
      BUG: 237953
      BUG: 298651
      BUG: 176240
      6fdef021
  15. 06 Oct, 2013 1 commit
  16. 08 Sep, 2013 1 commit
  17. 22 Aug, 2013 3 commits
  18. 12 Aug, 2013 1 commit
  19. 11 Aug, 2013 1 commit
  20. 08 Mar, 2013 2 commits
  21. 26 Feb, 2013 1 commit
    • Andi Fischer's avatar
      Unit test environement added. · 4c00c523
      Andi Fischer authored
      Some basictypes classes changed back to enums and namespace.
      Single Krazy issues fixed.
      A lot of white spaces removed and some documentation moved from h to cpp file.
      4c00c523
  22. 27 Oct, 2012 1 commit
  23. 01 Apr, 2012 1 commit
  24. 04 Mar, 2012 1 commit
  25. 20 Feb, 2012 1 commit
  26. 10 Jan, 2012 1 commit
  27. 28 Dec, 2011 1 commit
  28. 21 Dec, 2011 1 commit
  29. 12 Dec, 2011 1 commit
  30. 07 Jul, 2011 1 commit
  31. 29 Jun, 2011 1 commit
  32. 27 Jun, 2011 1 commit
  33. 25 Jun, 2011 1 commit
  34. 25 Apr, 2011 1 commit
  35. 29 Aug, 2010 1 commit
  36. 28 Jun, 2010 1 commit