47
boolean reverse = false;
48
private List<TransitionNode> possibleFires, minFires, maxFires;
47
boolean isRev = false;
48
private Color color = new Color(255, 228, 181);
49
private List<TransitionNode> possibleFire, minFire;
49
50
private TransitionNode clickedEvent;
51
52
private JPanel eventPanel, interfacePanel, buttonsPanel, eventInfoPanel;
123
124
DefaultListModel listModel = new DefaultListModel();
125
for(TransitionNode event : this.possibleFires){
126
EventItem item = new EventItem(net.getNodeReference(event)+" "+event.getLabel(), event, possibleFires);
126
for(TransitionNode event : this.possibleFire){
127
EventItem item = new EventItem(net.getNodeReference(event)+" "+event.getLabel(), event, possibleFire);
127
128
listModel.addElement(item);
154
155
if(item.isSelected() ){
155
156
selectedEvents.add(item.getEvent());
157
List<TransitionNode> set;
159
set = simuAlg.getMinFires(item.getEvent(), sync, possibleFires);
161
set = simuAlg.getMaxFires(item.getEvent(), sync, possibleFires);
158
List<TransitionNode> minFire = simuAlg.getMinFire(item.getEvent(), sync, possibleFire, isRev);
163
for(TransitionNode e : set){
160
for(TransitionNode e : minFire){
164
161
for(EventItem eventItem : itemList){
165
162
if(e==eventItem.getEvent()){
166
163
selectedEvents.add(e);
167
164
eventItem.setSelected(true);
168
eventItem.setForegroudColor(Color.BLUE);
165
eventItem.setFillColor(color);
172
item.setForegroudColor(Color.BLUE);
169
item.setFillColor(color);
175
172
if(!item.isSelected() ){
176
173
selectedEvents.remove(item.getEvent());
178
List<TransitionNode> set;
180
set = simuAlg.getMaxFires(item.getEvent(), sync, possibleFires);
182
set = simuAlg.getMinFires(item.getEvent(), sync, possibleFires);
175
List<TransitionNode> minFire = simuAlg.getMinFire(item.getEvent(), sync, possibleFire, !isRev);
184
177
//unselected related synchronous events.
185
for(TransitionNode e : set){
178
for(TransitionNode e : minFire){
186
179
for(EventItem eventItem : itemList){
187
180
if(e==eventItem.getEvent()){
188
181
selectedEvents.remove(e);
189
182
eventItem.setSelected(false);
190
eventItem.setForegroudColor(CommonSimulationSettings.getEnabledForegroundColor());
183
eventItem.setFillColor(Color.WHITE);
195
item.setForegroudColor(CommonSimulationSettings.getEnabledForegroundColor());
188
item.setFillColor(Color.WHITE);
198
191
for(int i=0; i<list.getModel().getSize(); i++)
265
258
private String[][] createData(){
266
String dataVal[][] = new String[this.minFires.size()+1][2];
259
String dataVal[][] = new String[this.minFire.size()+1][2];
268
261
dataVal[0][0] = net.getNodeReference(clickedEvent)+ "(clicked)";
269
262
dataVal[0][1] = this.clickedEvent.getLabel();
271
if(!minFires.isEmpty()){
272
for(int i=1 ; i < minFires.size()+1; i++)
273
dataVal[i][0]=net.getNodeReference(minFires.get(i-1));
274
for(int i=1 ; i < minFires.size()+1; i++)
275
dataVal[i][1] = minFires.get(i-1).getLabel();
264
if(!minFire.isEmpty()){
265
for(int i=1 ; i < minFire.size()+1; i++)
266
dataVal[i][0]=net.getNodeReference(minFire.get(i-1));
267
for(int i=1 ; i < minFire.size()+1; i++)
268
dataVal[i][1] = minFire.get(i-1).getLabel();
282
275
public ParallelSimDialog (Window owner, SON net,
283
List<TransitionNode> possibleFires, List<TransitionNode> minFires,
284
List<TransitionNode> maxFires, TransitionNode event, boolean reverse,
276
List<TransitionNode> possibleFire, List<TransitionNode> minFire,
277
TransitionNode event, boolean isRev,
285
278
Collection<Path> sync){
286
279
super(owner, "Parallel Execution Setting", ModalityType.TOOLKIT_MODAL);
289
this.reverse = reverse;
290
this.possibleFires = possibleFires;
291
this.minFires = minFires;
292
this.maxFires = maxFires;
283
this.possibleFire = possibleFire;
284
this.minFire = minFire;
293
285
this.clickedEvent = event;
294
286
this.sync = sync;
296
setEventsColor(minFires, event);
288
setColor(minFire, event);
298
290
//this.setSize(new Dimension(280, 260));
299
291
createButtonsPanel();
334
private void setEventsColor(List<TransitionNode> preEvents, TransitionNode event){
335
event.setForegroundColor(Color.BLUE);
326
private void setColor(List<TransitionNode> preEvents, TransitionNode event){
327
event.setFillColor(color);
336
328
for(TransitionNode e : preEvents)
337
e.setForegroundColor(Color.BLUE);
329
e.setFillColor(color);
340
332
public SON getSONModel(){