Merge lp:~tapaal-contributor/tapaal/fix-is-enabled-transition-query into lp:tapaal
- fix-is-enabled-transition-query
- Merge into trunk
Proposed by
Lena Ernstsen
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Jiri Srba | ||||
Approved revision: | 1118 | ||||
Merged at revision: | 1113 | ||||
Proposed branch: | lp:~tapaal-contributor/tapaal/fix-is-enabled-transition-query | ||||
Merge into: | lp:tapaal | ||||
Diff against target: |
231 lines (+33/-30) 1 file modified
src/pipe/gui/widgets/QueryDialog.java (+33/-30) |
||||
To merge this branch: | bzr merge lp:~tapaal-contributor/tapaal/fix-is-enabled-transition-query | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Kenneth Yrke Jørgensen | Approve | ||
Jiri Srba | Approve | ||
Review via email: mp+393444@code.launchpad.net |
Commit message
Description of the change
When net is untimed, the predicate for transitions are now shown as "is enabled" instead of " = 0".
When net is game, it is not possible to select any transitions.
To post a comment you must log in.
- 1118. By Lena Ernstsen
-
Removed extra 'is enabled' when net is untimed and game
Revision history for this message
Jiri Srba (srba) wrote : | # |
Tested and fixes the problem.
review:
Approve
Revision history for this message
Kenneth Yrke Jørgensen (yrke) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'src/pipe/gui/widgets/QueryDialog.java' | |||
2 | --- src/pipe/gui/widgets/QueryDialog.java 2020-10-30 21:14:42 +0000 | |||
3 | +++ src/pipe/gui/widgets/QueryDialog.java 2020-11-06 13:15:27 +0000 | |||
4 | @@ -127,7 +127,7 @@ | |||
5 | 127 | private JPanel predicatePanel; | 127 | private JPanel predicatePanel; |
6 | 128 | private JButton addPredicateButton; | 128 | private JButton addPredicateButton; |
7 | 129 | private JComboBox templateBox; | 129 | private JComboBox templateBox; |
9 | 130 | private JComboBox<String> placesBox; | 130 | private JComboBox<String> placeTransitionBox; |
10 | 131 | private JComboBox<String> relationalOperatorBox; | 131 | private JComboBox<String> relationalOperatorBox; |
11 | 132 | private JLabel transitionIsEnabledLabel; | 132 | private JLabel transitionIsEnabledLabel; |
12 | 133 | private CustomJSpinner placeMarking; | 133 | private CustomJSpinner placeMarking; |
13 | @@ -703,10 +703,10 @@ | |||
14 | 703 | } else { | 703 | } else { |
15 | 704 | templateBox.setSelectedItem(tapnNetwork.getTAPNByName(transitionNode.getTemplate())); | 704 | templateBox.setSelectedItem(tapnNetwork.getTAPNByName(transitionNode.getTemplate())); |
16 | 705 | } | 705 | } |
18 | 706 | placesBox.setSelectedItem(transitionNode.getTransition()); | 706 | placeTransitionBox.setSelectedItem(transitionNode.getTransition()); |
19 | 707 | userChangedAtomicPropSelection = true; | 707 | userChangedAtomicPropSelection = true; |
20 | 708 | } | 708 | } |
22 | 709 | if (!lens.isTimed()) { | 709 | if (!lens.isTimed() && !lens.isGame()) { |
23 | 710 | setEnablednessOfOperatorAndMarkingBoxes(); | 710 | setEnablednessOfOperatorAndMarkingBoxes(); |
24 | 711 | } | 711 | } |
25 | 712 | } | 712 | } |
26 | @@ -718,7 +718,7 @@ | |||
27 | 718 | TCTLPlaceNode placeNode = (TCTLPlaceNode) node.getLeft(); | 718 | TCTLPlaceNode placeNode = (TCTLPlaceNode) node.getLeft(); |
28 | 719 | TCTLConstNode placeMarkingNode = (TCTLConstNode) node.getRight(); | 719 | TCTLConstNode placeMarkingNode = (TCTLConstNode) node.getRight(); |
29 | 720 | 720 | ||
31 | 721 | placesBox.setSelectedItem(placeNode.getPlace()); | 721 | placeTransitionBox.setSelectedItem(placeNode.getPlace()); |
32 | 722 | relationalOperatorBox.setSelectedItem(node.getOp()); | 722 | relationalOperatorBox.setSelectedItem(node.getOp()); |
33 | 723 | placeMarking.setValue(placeMarkingNode.getConstant()); | 723 | placeMarking.setValue(placeMarkingNode.getConstant()); |
34 | 724 | userChangedAtomicPropSelection = true; | 724 | userChangedAtomicPropSelection = true; |
35 | @@ -728,10 +728,10 @@ | |||
36 | 728 | userChangedAtomicPropSelection = false; | 728 | userChangedAtomicPropSelection = false; |
37 | 729 | if (node.getLeft() instanceof TCTLPlaceNode) { | 729 | if (node.getLeft() instanceof TCTLPlaceNode) { |
38 | 730 | TCTLPlaceNode placeNode = (TCTLPlaceNode) node.getLeft(); | 730 | TCTLPlaceNode placeNode = (TCTLPlaceNode) node.getLeft(); |
40 | 731 | placesBox.setSelectedItem(placeNode.getPlace()); | 731 | placeTransitionBox.setSelectedItem(placeNode.getPlace()); |
41 | 732 | } else { | 732 | } else { |
44 | 733 | if (placesBox.getItemCount() > 0) { | 733 | if (placeTransitionBox.getItemCount() > 0) { |
45 | 734 | placesBox.setSelectedIndex(0); | 734 | placeTransitionBox.setSelectedIndex(0); |
46 | 735 | } | 735 | } |
47 | 736 | } | 736 | } |
48 | 737 | relationalOperatorBox.setSelectedItem(node.getOp()); | 737 | relationalOperatorBox.setSelectedItem(node.getOp()); |
49 | @@ -756,7 +756,7 @@ | |||
50 | 756 | } | 756 | } |
51 | 757 | 757 | ||
52 | 758 | private boolean transitionIsSelected() { | 758 | private boolean transitionIsSelected() { |
54 | 759 | String itemName = (String) placesBox.getSelectedItem(); | 759 | String itemName = (String) placeTransitionBox.getSelectedItem(); |
55 | 760 | if (itemName == null) return false; | 760 | if (itemName == null) return false; |
56 | 761 | boolean transitionSelected = false; | 761 | boolean transitionSelected = false; |
57 | 762 | boolean sharedTransitionSelected = false; | 762 | boolean sharedTransitionSelected = false; |
58 | @@ -980,7 +980,7 @@ | |||
59 | 980 | disjunctionButton.setEnabled(false); | 980 | disjunctionButton.setEnabled(false); |
60 | 981 | negationButton.setEnabled(false); | 981 | negationButton.setEnabled(false); |
61 | 982 | templateBox.setEnabled(false); | 982 | templateBox.setEnabled(false); |
63 | 983 | placesBox.setEnabled(false); | 983 | placeTransitionBox.setEnabled(false); |
64 | 984 | relationalOperatorBox.setEnabled(false); | 984 | relationalOperatorBox.setEnabled(false); |
65 | 985 | placeMarking.setEnabled(false); | 985 | placeMarking.setEnabled(false); |
66 | 986 | addPredicateButton.setEnabled(false); | 986 | addPredicateButton.setEnabled(false); |
67 | @@ -1005,7 +1005,7 @@ | |||
68 | 1005 | disjunctionButton.setEnabled(false); | 1005 | disjunctionButton.setEnabled(false); |
69 | 1006 | negationButton.setEnabled(false); | 1006 | negationButton.setEnabled(false); |
70 | 1007 | templateBox.setEnabled(false); | 1007 | templateBox.setEnabled(false); |
72 | 1008 | placesBox.setEnabled(false); | 1008 | placeTransitionBox.setEnabled(false); |
73 | 1009 | relationalOperatorBox.setEnabled(false); | 1009 | relationalOperatorBox.setEnabled(false); |
74 | 1010 | placeMarking.setEnabled(false); | 1010 | placeMarking.setEnabled(false); |
75 | 1011 | addPredicateButton.setEnabled(false); | 1011 | addPredicateButton.setEnabled(false); |
76 | @@ -1028,7 +1028,7 @@ | |||
77 | 1028 | disjunctionButton.setEnabled(true); | 1028 | disjunctionButton.setEnabled(true); |
78 | 1029 | negationButton.setEnabled(true); | 1029 | negationButton.setEnabled(true); |
79 | 1030 | templateBox.setEnabled(true); | 1030 | templateBox.setEnabled(true); |
81 | 1031 | placesBox.setEnabled(true); | 1031 | placeTransitionBox.setEnabled(true); |
82 | 1032 | relationalOperatorBox.setEnabled(true); | 1032 | relationalOperatorBox.setEnabled(true); |
83 | 1033 | placeMarking.setEnabled(true); | 1033 | placeMarking.setEnabled(true); |
84 | 1034 | truePredicateButton.setEnabled(true); | 1034 | truePredicateButton.setEnabled(true); |
85 | @@ -1051,7 +1051,7 @@ | |||
86 | 1051 | disjunctionButton.setEnabled(true); | 1051 | disjunctionButton.setEnabled(true); |
87 | 1052 | negationButton.setEnabled(true); | 1052 | negationButton.setEnabled(true); |
88 | 1053 | templateBox.setEnabled(true); | 1053 | templateBox.setEnabled(true); |
90 | 1054 | placesBox.setEnabled(true); | 1054 | placeTransitionBox.setEnabled(true); |
91 | 1055 | relationalOperatorBox.setEnabled(true); | 1055 | relationalOperatorBox.setEnabled(true); |
92 | 1056 | placeMarking.setEnabled(true); | 1056 | placeMarking.setEnabled(true); |
93 | 1057 | truePredicateButton.setEnabled(true); | 1057 | truePredicateButton.setEnabled(true); |
94 | @@ -1076,7 +1076,7 @@ | |||
95 | 1076 | disjunctionButton.setEnabled(false); | 1076 | disjunctionButton.setEnabled(false); |
96 | 1077 | negationButton.setEnabled(false); | 1077 | negationButton.setEnabled(false); |
97 | 1078 | templateBox.setEnabled(false); | 1078 | templateBox.setEnabled(false); |
99 | 1079 | placesBox.setEnabled(false); | 1079 | placeTransitionBox.setEnabled(false); |
100 | 1080 | relationalOperatorBox.setEnabled(false); | 1080 | relationalOperatorBox.setEnabled(false); |
101 | 1081 | placeMarking.setEnabled(false); | 1081 | placeMarking.setEnabled(false); |
102 | 1082 | addPredicateButton.setEnabled(false); | 1082 | addPredicateButton.setEnabled(false); |
103 | @@ -1086,7 +1086,7 @@ | |||
104 | 1086 | } | 1086 | } |
105 | 1087 | 1087 | ||
106 | 1088 | private void setEnablednessOfAddPredicateButton() { | 1088 | private void setEnablednessOfAddPredicateButton() { |
108 | 1089 | if (placesBox.getSelectedItem() == null) | 1089 | if (placeTransitionBox.getSelectedItem() == null) |
109 | 1090 | addPredicateButton.setEnabled(false); | 1090 | addPredicateButton.setEnabled(false); |
110 | 1091 | else | 1091 | else |
111 | 1092 | addPredicateButton.setEnabled(true); | 1092 | addPredicateButton.setEnabled(true); |
112 | @@ -1145,10 +1145,10 @@ | |||
113 | 1145 | TCTLAbstractStateProperty property; | 1145 | TCTLAbstractStateProperty property; |
114 | 1146 | 1146 | ||
115 | 1147 | if (!lens.isTimed() && transitionIsSelected()) { | 1147 | if (!lens.isTimed() && transitionIsSelected()) { |
117 | 1148 | property = new TCTLTransitionNode(template, (String) placesBox.getSelectedItem()); | 1148 | property = new TCTLTransitionNode(template, (String) placeTransitionBox.getSelectedItem()); |
118 | 1149 | } else { | 1149 | } else { |
119 | 1150 | property = new TCTLAtomicPropositionNode( | 1150 | property = new TCTLAtomicPropositionNode( |
121 | 1151 | new TCTLPlaceNode(template, (String) placesBox.getSelectedItem()), | 1151 | new TCTLPlaceNode(template, (String) placeTransitionBox.getSelectedItem()), |
122 | 1152 | (String) relationalOperatorBox.getSelectedItem(), | 1152 | (String) relationalOperatorBox.getSelectedItem(), |
123 | 1153 | new TCTLConstNode((Integer) placeMarking.getValue())); | 1153 | new TCTLConstNode((Integer) placeMarking.getValue())); |
124 | 1154 | } | 1154 | } |
125 | @@ -2002,10 +2002,10 @@ | |||
126 | 2002 | predicatePanel = new JPanel(new GridBagLayout()); | 2002 | predicatePanel = new JPanel(new GridBagLayout()); |
127 | 2003 | predicatePanel.setBorder(BorderFactory.createTitledBorder("Predicates")); | 2003 | predicatePanel.setBorder(BorderFactory.createTitledBorder("Predicates")); |
128 | 2004 | 2004 | ||
130 | 2005 | placesBox = new JComboBox(); | 2005 | placeTransitionBox = new JComboBox(); |
131 | 2006 | Dimension d = new Dimension(125, 27); | 2006 | Dimension d = new Dimension(125, 27); |
134 | 2007 | placesBox.setMaximumSize(d); | 2007 | placeTransitionBox.setMaximumSize(d); |
135 | 2008 | placesBox.setPreferredSize(d); | 2008 | placeTransitionBox.setPreferredSize(d); |
136 | 2009 | 2009 | ||
137 | 2010 | Vector<Object> items = new Vector<Object>(tapnNetwork.activeTemplates().size()+1); | 2010 | Vector<Object> items = new Vector<Object>(tapnNetwork.activeTemplates().size()+1); |
138 | 2011 | items.addAll(tapnNetwork.activeTemplates()); | 2011 | items.addAll(tapnNetwork.activeTemplates()); |
139 | @@ -2025,7 +2025,7 @@ | |||
140 | 2025 | placeNames.add(place.name()); | 2025 | placeNames.add(place.name()); |
141 | 2026 | } | 2026 | } |
142 | 2027 | } | 2027 | } |
144 | 2028 | if (!lens.isTimed()) { | 2028 | if (!lens.isTimed() && !lens.isGame()) { |
145 | 2029 | for (TimedTransition transition : tapn.transitions()) { | 2029 | for (TimedTransition transition : tapn.transitions()) { |
146 | 2030 | if (!transition.isShared()) { | 2030 | if (!transition.isShared()) { |
147 | 2031 | placeNames.add(transition.name()); | 2031 | placeNames.add(transition.name()); |
148 | @@ -2034,7 +2034,7 @@ | |||
149 | 2034 | } | 2034 | } |
150 | 2035 | 2035 | ||
151 | 2036 | placeNames.sort(String::compareToIgnoreCase); | 2036 | placeNames.sort(String::compareToIgnoreCase); |
153 | 2037 | placesBox.setModel(new DefaultComboBoxModel<>(placeNames)); | 2037 | placeTransitionBox.setModel(new DefaultComboBoxModel<>(placeNames)); |
154 | 2038 | 2038 | ||
155 | 2039 | currentlySelected = tapn; | 2039 | currentlySelected = tapn; |
156 | 2040 | setEnablednessOfAddPredicateButton(); | 2040 | setEnablednessOfAddPredicateButton(); |
157 | @@ -2053,7 +2053,7 @@ | |||
158 | 2053 | } | 2053 | } |
159 | 2054 | } | 2054 | } |
160 | 2055 | placeNames.sort(String::compareToIgnoreCase); | 2055 | placeNames.sort(String::compareToIgnoreCase); |
162 | 2056 | placesBox.setModel(new DefaultComboBoxModel<>(placeNames)); | 2056 | placeTransitionBox.setModel(new DefaultComboBoxModel<>(placeNames)); |
163 | 2057 | 2057 | ||
164 | 2058 | currentlySelected = SHARED; | 2058 | currentlySelected = SHARED; |
165 | 2059 | setEnablednessOfAddPredicateButton(); | 2059 | setEnablednessOfAddPredicateButton(); |
166 | @@ -2061,7 +2061,7 @@ | |||
167 | 2061 | updateQueryOnAtomicPropositionChange(); | 2061 | updateQueryOnAtomicPropositionChange(); |
168 | 2062 | } | 2062 | } |
169 | 2063 | } | 2063 | } |
171 | 2064 | if (!lens.isTimed()) setEnablednessOfOperatorAndMarkingBoxes(); | 2064 | if (!lens.isTimed() && !lens.isGame()) setEnablednessOfOperatorAndMarkingBoxes(); |
172 | 2065 | 2065 | ||
173 | 2066 | } | 2066 | } |
174 | 2067 | }); | 2067 | }); |
175 | @@ -2085,7 +2085,7 @@ | |||
176 | 2085 | JPanel placeRow = new JPanel(new FlowLayout(FlowLayout.CENTER)); | 2085 | JPanel placeRow = new JPanel(new FlowLayout(FlowLayout.CENTER)); |
177 | 2086 | gbc.gridy = 1; | 2086 | gbc.gridy = 1; |
178 | 2087 | predicatePanel.add(placeRow, gbc); | 2087 | predicatePanel.add(placeRow, gbc); |
180 | 2088 | placeRow.add(placesBox); | 2088 | placeRow.add(placeTransitionBox); |
181 | 2089 | 2089 | ||
182 | 2090 | String[] relationalSymbols = { "=", "!=", "<=", "<", ">=", ">" }; | 2090 | String[] relationalSymbols = { "=", "!=", "<=", "<", ">=", ">" }; |
183 | 2091 | relationalOperatorBox = new JComboBox(new DefaultComboBoxModel(relationalSymbols)); | 2091 | relationalOperatorBox = new JComboBox(new DefaultComboBoxModel(relationalSymbols)); |
184 | @@ -2098,7 +2098,7 @@ | |||
185 | 2098 | 2098 | ||
186 | 2099 | transitionIsEnabledLabel = new JLabel(" is enabled"); | 2099 | transitionIsEnabledLabel = new JLabel(" is enabled"); |
187 | 2100 | transitionIsEnabledLabel.setPreferredSize(new Dimension(165, 27)); | 2100 | transitionIsEnabledLabel.setPreferredSize(new Dimension(165, 27)); |
189 | 2101 | if (!lens.isTimed()) placeRow.add(transitionIsEnabledLabel); | 2101 | if (!lens.isTimed() && !lens.isGame()) placeRow.add(transitionIsEnabledLabel); |
190 | 2102 | 2102 | ||
191 | 2103 | JPanel addPredicateRow = new JPanel(new FlowLayout(FlowLayout.CENTER)); | 2103 | JPanel addPredicateRow = new JPanel(new FlowLayout(FlowLayout.CENTER)); |
192 | 2104 | gbc.gridy = 2; | 2104 | gbc.gridy = 2; |
193 | @@ -2144,7 +2144,7 @@ | |||
194 | 2144 | queryPanel.add(predicatePanel, gbc); | 2144 | queryPanel.add(predicatePanel, gbc); |
195 | 2145 | 2145 | ||
196 | 2146 | //Add tool tips for predicate panel | 2146 | //Add tool tips for predicate panel |
198 | 2147 | placesBox.setToolTipText(TOOL_TIP_PLACESBOX); | 2147 | placeTransitionBox.setToolTipText(TOOL_TIP_PLACESBOX); |
199 | 2148 | templateBox.setToolTipText(TOOL_TIP_TEMPLATEBOX); | 2148 | templateBox.setToolTipText(TOOL_TIP_TEMPLATEBOX); |
200 | 2149 | relationalOperatorBox.setToolTipText(TOOL_TIP_RELATIONALOPERATORBOX); | 2149 | relationalOperatorBox.setToolTipText(TOOL_TIP_RELATIONALOPERATORBOX); |
201 | 2150 | placeMarking.setToolTipText(TOOL_TIP_PLACEMARKING); | 2150 | placeMarking.setToolTipText(TOOL_TIP_PLACEMARKING); |
202 | @@ -2160,11 +2160,11 @@ | |||
203 | 2160 | String template = templateBox.getSelectedItem().toString(); | 2160 | String template = templateBox.getSelectedItem().toString(); |
204 | 2161 | if(template.equals(SHARED)) template = ""; | 2161 | if(template.equals(SHARED)) template = ""; |
205 | 2162 | 2162 | ||
208 | 2163 | if ((lens.isTimed() || lens.isGame()) && transitionIsSelected()) { | 2163 | if ((!lens.isTimed() && !lens.isGame()) && transitionIsSelected()) { |
209 | 2164 | addPropertyToQuery(new TCTLTransitionNode(template, (String) placesBox.getSelectedItem())); | 2164 | addPropertyToQuery(new TCTLTransitionNode(template, (String) placeTransitionBox.getSelectedItem())); |
210 | 2165 | } else { | 2165 | } else { |
211 | 2166 | TCTLAtomicPropositionNode property = new TCTLAtomicPropositionNode( | 2166 | TCTLAtomicPropositionNode property = new TCTLAtomicPropositionNode( |
213 | 2167 | new TCTLPlaceNode(template, (String) placesBox.getSelectedItem()), | 2167 | new TCTLPlaceNode(template, (String) placeTransitionBox.getSelectedItem()), |
214 | 2168 | (String) relationalOperatorBox.getSelectedItem(), | 2168 | (String) relationalOperatorBox.getSelectedItem(), |
215 | 2169 | new TCTLConstNode((Integer) placeMarking.getValue())); | 2169 | new TCTLConstNode((Integer) placeMarking.getValue())); |
216 | 2170 | addPropertyToQuery(property); | 2170 | addPropertyToQuery(property); |
217 | @@ -2193,10 +2193,13 @@ | |||
218 | 2193 | } | 2193 | } |
219 | 2194 | }); | 2194 | }); |
220 | 2195 | 2195 | ||
222 | 2196 | placesBox.addActionListener(e -> { | 2196 | placeTransitionBox.addActionListener(e -> { |
223 | 2197 | if (userChangedAtomicPropSelection) { | 2197 | if (userChangedAtomicPropSelection) { |
224 | 2198 | updateQueryOnAtomicPropositionChange(); | 2198 | updateQueryOnAtomicPropositionChange(); |
225 | 2199 | } | 2199 | } |
226 | 2200 | if (!lens.isTimed() && !lens.isGame()) { | ||
227 | 2201 | setEnablednessOfOperatorAndMarkingBoxes(); | ||
228 | 2202 | } | ||
229 | 2200 | }); | 2203 | }); |
230 | 2201 | 2204 | ||
231 | 2202 | relationalOperatorBox.addActionListener(e -> { | 2205 | relationalOperatorBox.addActionListener(e -> { |
Open untimed game and make a query; the text "is enabled" is prited next to predicate - it should only show if you select transition from the list.