Merge lp:~yrke/tapaal/fix-1887770-and-1887771-ContextMenuForArcs into lp:tapaal

Proposed by Kenneth Yrke Jørgensen
Status: Merged
Approved by: Jiri Srba
Approved revision: 1072
Merged at revision: 1073
Proposed branch: lp:~yrke/tapaal/fix-1887770-and-1887771-ContextMenuForArcs
Merge into: lp:tapaal
Diff against target: 103 lines (+16/-14)
4 files modified
src/dk/aau/cs/gui/TabContent.java (+4/-0)
src/pipe/gui/graphicElements/tapn/TimedOutputArcComponent.java (+2/-1)
src/pipe/gui/graphicElements/tapn/TimedTransportArcComponent.java (+2/-3)
src/pipe/gui/handler/TimedArcHandler.java (+8/-10)
To merge this branch: bzr merge lp:~yrke/tapaal/fix-1887770-and-1887771-ContextMenuForArcs
Reviewer Review Type Date Requested Status
Jiri Srba Approve
Kenneth Yrke Jørgensen Needs Resubmitting
Review via email: mp+387504@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Jiri Srba (srba) wrote :

Seems to work but rightclicking on output arc and selecting properties raises an exception on moc:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: class pipe.gui.graphicElements.tapn.TimedOutputArcComponent cannot be cast to class pipe.gui.graphicElements.tapn.TimedInputArcComponent (pipe.gui.graphicElements.tapn.TimedOutputArcComponent and pipe.gui.graphicElements.tapn.TimedInputArcComponent are in unnamed module of loader 'app')
        at pipe.gui.handler.TimedArcHandler.lambda$getPopup$0(TimedArcHandler.java:27)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
        at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)

review: Needs Fixing
1072. By Kenneth Yrke Jørgensen

Fixed wrong cast in TimedArcHandler for output arcs

Revision history for this message
Kenneth Yrke Jørgensen (yrke) wrote :

Good catch, its fixed, was a wrong cast.

review: Needs Resubmitting
Revision history for this message
Jiri Srba (srba) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/dk/aau/cs/gui/TabContent.java'
2--- src/dk/aau/cs/gui/TabContent.java 2020-08-03 11:14:55 +0000
3+++ src/dk/aau/cs/gui/TabContent.java 2020-08-04 07:42:41 +0000
4@@ -2457,6 +2457,10 @@
5 e->e.pno instanceof Arc && e.a == MouseAction.doubleClicked && e.e.isControlDown(),
6 e->arcDoubleClickedWithContrl(((Arc) e.pno), e.e)
7 );
8+ registerEvent(
9+ e->e.pno instanceof TimedOutputArcComponent && e.a == MouseAction.doubleClicked && !e.e.isControlDown(),
10+ e -> ((TimedOutputArcComponent) e.pno).showTimeIntervalEditor()
11+ );
12
13 }
14
15
16=== modified file 'src/pipe/gui/graphicElements/tapn/TimedOutputArcComponent.java'
17--- src/pipe/gui/graphicElements/tapn/TimedOutputArcComponent.java 2020-06-23 07:22:17 +0000
18+++ src/pipe/gui/graphicElements/tapn/TimedOutputArcComponent.java 2020-08-04 07:42:41 +0000
19@@ -14,6 +14,7 @@
20 import pipe.gui.graphicElements.ArcPath;
21 import pipe.gui.graphicElements.PlaceTransitionObject;
22 import pipe.gui.handler.ArcHandler;
23+import pipe.gui.handler.TimedArcHandler;
24 import pipe.gui.undo.ArcTimeIntervalEdit;
25 import pipe.gui.widgets.EscapableDialog;
26 import pipe.gui.widgets.GuardDialogue;
27@@ -67,7 +68,7 @@
28 protected void addMouseHandler() {
29 //XXX: kyrke 2018-09-06, this is bad as we leak "this", think its ok for now, as it alwas constructed when
30 //XXX: handler is called. Make static constructor and add handler from there, to make it safe.
31- mouseHandler = new ArcHandler(this);
32+ mouseHandler = new TimedArcHandler(this);
33 }
34
35
36
37=== modified file 'src/pipe/gui/graphicElements/tapn/TimedTransportArcComponent.java'
38--- src/pipe/gui/graphicElements/tapn/TimedTransportArcComponent.java 2020-06-23 09:02:28 +0000
39+++ src/pipe/gui/graphicElements/tapn/TimedTransportArcComponent.java 2020-08-04 07:42:41 +0000
40@@ -3,11 +3,10 @@
41 import java.awt.Polygon;
42 import java.util.Hashtable;
43
44-import com.sun.jdi.connect.Transport;
45 import pipe.gui.CreateGui;
46 import pipe.gui.Pipe;
47 import pipe.gui.graphicElements.PlaceTransitionObject;
48-import pipe.gui.handler.TransportArcHandler;
49+import pipe.gui.handler.TimedArcHandler;
50 import pipe.gui.undo.ArcTimeIntervalEdit;
51 import dk.aau.cs.gui.undo.Command;
52 import dk.aau.cs.model.tapn.ConstantBound;
53@@ -68,7 +67,7 @@
54 protected void addMouseHandler() {
55 //XXX: kyrke 2018-09-06, this is bad as we leak "this", think its ok for now, as it alwas constructed when
56 //XXX: handler is called. Make static constructor and add handler from there, to make it safe.
57- mouseHandler = new TransportArcHandler(this);
58+ mouseHandler = new TimedArcHandler(this);
59 }
60
61 public void setUnderlyingArc(TransportArc arc) {
62
63=== modified file 'src/pipe/gui/handler/TimedArcHandler.java'
64--- src/pipe/gui/handler/TimedArcHandler.java 2020-07-03 06:46:54 +0000
65+++ src/pipe/gui/handler/TimedArcHandler.java 2020-08-04 07:42:41 +0000
66@@ -5,10 +5,12 @@
67 import javax.swing.JMenuItem;
68 import javax.swing.JPopupMenu;
69
70+import dk.aau.cs.model.tapn.TimedOutputArc;
71 import pipe.gui.action.SplitArcAction;
72 import pipe.gui.graphicElements.Arc;
73 import pipe.gui.graphicElements.tapn.TimedInhibitorArcComponent;
74 import pipe.gui.graphicElements.tapn.TimedInputArcComponent;
75+import pipe.gui.graphicElements.tapn.TimedOutputArcComponent;
76 import pipe.gui.graphicElements.tapn.TimedTransportArcComponent;
77
78 public class TimedArcHandler extends ArcHandler {
79@@ -23,16 +25,12 @@
80 JMenuItem menuItem;
81 JPopupMenu popup = super.getPopup(e);
82
83- if (myObject instanceof TimedInputArcComponent && !(myObject instanceof TimedTransportArcComponent)) {
84-
85- if (!(myObject instanceof TimedInhibitorArcComponent)) {
86- menuItem = new JMenuItem("Properties");
87- menuItem.addActionListener(e1 -> ((TimedInputArcComponent) myObject).showTimeIntervalEditor());
88- popup.insert(menuItem, popupIndex++);
89- }
90-
91- popup.insert(new JPopupMenu.Separator(), popupIndex);
92- }
93+ menuItem = new JMenuItem("Properties");
94+ menuItem.addActionListener(e1 -> ((TimedOutputArcComponent) myObject).showTimeIntervalEditor());
95+ popup.insert(menuItem, popupIndex++);
96+
97+ popup.insert(new JPopupMenu.Separator(), popupIndex);
98+
99 return popup;
100 }
101 }
102
103=== removed file 'src/pipe/gui/handler/TransportArcHandler.java'

Subscribers

People subscribed via source and target branches