Bug 98654 - Suggestion: Actors become classes
Summary: Suggestion: Actors become classes
Status: REOPENED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 1.3.1
Platform: Debian testing Linux
: NOR wishlist
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-05 23:19 UTC by D. Blystak
Modified: 2016-09-12 07:18 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
actor (class) instance on sequence diagram (6.04 KB, image/png)
2014-04-27 08:05 UTC, Ralf Habacker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description D. Blystak 2005-02-05 23:19:05 UTC
Version:           1.3.1 (using KDE KDE 3.3.1)
Installed from:    Debian testing/unstable Packages
OS:                Linux

It would be nice if an actor can be created and handled as a class. This makes it possible to modell a class for automated testing purposes. Also helpful if object lifetimes depend on the actor's actions.
Comment 1 Oliver Kellogg 2005-02-08 17:32:20 UTC
Candidate for JJ (Junior Job.) Make a class with stereotype <<actor>>.
Comment 2 Tumul 2013-05-16 10:18:11 UTC
(In reply to comment #1)
> Candidate for JJ (Junior Job.) Make a class with stereotype <<actor>>.

I want to patch this bug but i dont understand what you want. Can you please explain it
Comment 3 Renato Atilio 2014-04-25 17:29:42 UTC
I agree with Tumul. This is a 2005 candidate for junior job, but there is no clear description of what needs to be done or if this is even needed nowadays.
Comment 4 Oliver Kellogg 2014-04-25 19:05:29 UTC
(In reply to comment #0)
> 
> It would be nice if an actor can be created and handled as a class. This
> makes it possible to model a class for automated testing purposes. Also
> helpful if object lifetimes depend on the actor's actions.

On second thought, it's not clear to me anymore what the intention was.
My best guess would be: Dragging an Actor from the Use Case View to a sequence diagram, which has been implemented for years.
Comment 5 Ralf Habacker 2014-04-27 08:05:35 UTC
Created attachment 86289 [details]
actor (class) instance on sequence diagram

The rational I can imagine is that a dragged actor on a sequence diagram is handled like an object widget. The actor name becomes the class name and you can give it an object name. Also you can send messages to it (see the screenshot), but it is not listed in the tree view as a class, which is done on adding normal object widgets nor the message name could be set or selected.
Comment 6 Oliver Kellogg 2014-04-27 13:21:57 UTC
(In reply to comment #5)
> Created attachment 86289 [details]
> actor (class) instance on sequence diagram
> 
> The rational I can imagine is that a dragged actor on a sequence diagram is
> handled like an object widget. The actor name becomes the class name and you
> can give it an object name. Also you can send messages to it (see the
> screenshot), but it is not listed in the tree view as a class, which is done
> on adding normal object widgets nor the message name could be set or
> selected.

Thanks for your comment, Ralf.
If it's imaginable then it's not a WONTFIX :)
Comment 7 Oliver Kellogg 2014-04-27 13:24:27 UTC
(In reply to comment #1)
> Candidate for JJ (Junior Job.) Make a class with stereotype <<actor>>.

On the grounds of Ralf's interpretation (comment #5) I'm not so sure this qualifies as a Junior Job.
Comment 8 Ralf Habacker 2014-04-28 05:26:53 UTC
For the record I collected the callstack of both implementations:

A. ObjectWidget creation from toolbar
0    ObjectWidget::ObjectWidget    objectwidget.cpp    64    0x5acbcd   
1    Widget_Factory::createWidget    widget_factory.cpp    135    0x5bb246   
2    UMLScene::slotObjectCreated    umlscene.cpp    627    0x6376ab   
3    UMLScene::qt_static_metacall    moc_umlscene.cpp    109    0x441a48   
4    QMetaObject::activate(QObject*, QMetaObject const*, int, void**)    /usr/lib64/libQtCore.so.4        0x7ffff57f9d68   
5    UMLDoc::sigObjectCreated    umldoc.moc    166    0x60f2c0   
6    UMLDoc::signalUMLObjectCreated    umldoc.cpp    1649    0x60f2d5   
7    Object_Factory::createNewUMLObject    object_factory.cpp    149    0x5f1f13  
8    Object_Factory::createUMLObject    object_factory.cpp    229    0x5f2290   
9    ToolBarStateOther::mouseReleaseEmpty    toolbarstateother.cpp    84    0x5fe541   
10    ToolBarState::mouseRelease    toolbarstate.cpp    127    0x5faff6   
11    QGraphicsScene::event(QEvent*)    /usr/lib64/libQtGui.so.4        0x7ffff4f464e0   
....

B: drag and drop Actor on sequence diagram
0    ObjectWidget::ObjectWidget    objectwidget.cpp    64    0x5acbcd   
1    Widget_Factory::createWidget    widget_factory.cpp    76    0x5bb049   
2    UMLScene::dropEvent    umlscene.cpp    833    0x637a93   
3    QGraphicsScene::event(QEvent*)    /usr/lib64/libQtGui.so.4        0x7ffff4f465d0   
...
Comment 9 Oliver Kellogg 2014-05-07 22:00:22 UTC
(In reply to comment #8)
> For the record I collected the callstack of both implementations:
> 
> A. ObjectWidget creation from toolbar
> [...]
> B: drag and drop Actor on sequence diagram
> [...]

Perhaps I misunderstood. Are you saying that this PR can be closed?
Comment 10 Ralf Habacker 2014-05-08 05:02:38 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > For the record I collected the callstack of both implementations:
> > 
> > A. ObjectWidget creation from toolbar
> > [...]
> > B: drag and drop Actor on sequence diagram
> > [...]
> 
> Perhaps I misunderstood. Are you saying that this PR can be closed?
no, the mentioned backtrace should be a hint how the difference calls are be performed. Unfortunally the Actor exits already as UMLObject and recreating as "class" UMLObject results into a name clash because it will have the same id.