Bug 374845

Summary: Add support for importing sequence diagram entries from file or clipboard
Product: [Applications] umbrello Reporter: Ralf Habacker <ralf.habacker>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: 2.21.0 (KDE Applications 16.12.0)   
Target Milestone: ---   
Platform: Other   
OS: All   
Latest Commit: Version Fixed In: 2.21.80 (KDE Applications 17.03.80)
Sentry Crash Report:

Description Ralf Habacker 2017-01-09 22:35:22 UTC
With bug 358867 importing of stack traces into sequence diagrams has been added to umbrello.

It would be nice to have additional support to importing simple sequence diagram entries from file or clipboard for example:

QApplicationPrivate::sendMouseEvent()
QCoreApplication::notifyInternal(QObject*)
KApplication::notify(QObject*)
QApplication::notify(QObject*)
QApplicationPrivate::notify_helper(QObject*)
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*)
QTreeView::viewportEvent(QEvent*)
QAbstractItemView::viewportEvent(QEvent*)
QFrame::event(QEvent*)
QWidget::event(QEvent*)
UMLListView::mouseDoubleClickEvent
UMLObject::showPropertiesDialog
MultiPageDialogBase::exec
QDialog::exec()

which adds objects for each class and synchronous messages for each method from an initial ::client method.
Comment 1 Ralf Habacker 2017-01-09 22:40:30 UTC
Git commit 6174c30867c2a6e0f09f3a3ab84998c9850e43d4 by Ralf Habacker.
Committed on 09/01/2017 at 22:39.
Pushed by habacker into branch 'master'.

Add support for importing sequence diagram entries from file or clipboard.

Import sequence diagram entry support is now located in
namespace Diagram_Utils.
FIXED-IN:2.21.80 (KDE Applications 17.03.80)

M  +1    -0    umbrello/CMakeLists.txt
M  +2    -2    umbrello/clipboard/umlclipboard.cpp
M  +0    -278  umbrello/codeimport/import_utils.cpp
M  +0    -4    umbrello/codeimport/import_utils.h
A  +345  -0    umbrello/diagram_utils.cpp     [License: GPL (v2+)]
A  +32   -0    umbrello/diagram_utils.h     [License: GPL (v2+)]
M  +2    -1    umbrello/umlscene.cpp

https://commits.kde.org/umbrello/6174c30867c2a6e0f09f3a3ab84998c9850e43d4
Comment 2 Ralf Habacker 2017-04-09 17:56:32 UTC
Git commit 3674ad28b6cee16088cfdcc0a188accb1c6cd074 by Ralf Habacker.
Committed on 09/04/2017 at 17:56.
Pushed by habacker into branch 'Applications/17.04'.

Fix crash on importing empty lines.

M  +3    -2    umbrello/diagram_utils.cpp

https://commits.kde.org/umbrello/3674ad28b6cee16088cfdcc0a188accb1c6cd074
Comment 3 Ralf Habacker 2017-04-09 17:57:44 UTC
Git commit 89e79b8db35dd019c6399440b36df73838911826 by Ralf Habacker.
Committed on 09/04/2017 at 17:56.
Pushed by habacker into branch 'Applications/17.04'.

Fix crash on importing empty lines.

M  +3    -2    umbrello/diagram_utils.cpp

https://commits.kde.org/umbrello/89e79b8db35dd019c6399440b36df73838911826
Comment 4 Ralf Habacker 2017-05-29 10:29:57 UTC
How to use this feature:

Importing from file:

1. start umbrello
2. add a new sequence diagram
3. right click on diagram and select new->import stack trace
4. Select file and press okay

Importing from clipboard:

1. start umbrello
2. add a new sequence diagram
3. copy sequences into clipboard
4. paste clipboard into sequence diagram  


Importing sequences requires to use one of the following forms:

class1::function1(...)
class2::function2()
class3::function3
::function4(...)
::function5()
::function6

These sequences are imported in the mentioned order, e.g. 'class1::function1(...)' will be the first, 'function6' the last synchronous sequence.