Skip to content

Commit

Permalink
fix invalid places in observation dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
mtygesen committed Jan 27, 2025
1 parent 893f1a8 commit 4de674d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
1 change: 0 additions & 1 deletion src/main/java/dk/aau/cs/io/queries/TAPNQueryLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
import dk.aau.cs.TCTL.Parsing.TAPAALQueryParser;
import dk.aau.cs.TCTL.XMLParsing.XMLCTLQueryParser;
import dk.aau.cs.TCTL.XMLParsing.XMLQueryParseException;
import dk.aau.cs.model.tapn.TimedArcPetriNet;
import dk.aau.cs.model.tapn.TimedArcPetriNetNetwork;
import dk.aau.cs.model.tapn.TimedPlace;
import dk.aau.cs.translations.ReductionOption;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import java.awt.Insets;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;
import java.util.regex.Pattern;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
Expand Down Expand Up @@ -179,19 +180,31 @@ public void mouseClicked(MouseEvent e) {
placesPanel.setBorder(BorderFactory.createTitledBorder("Places"));

JComboBox<Object> templateComboBox = new JComboBox<>();
tapnNetwork.activeTemplates().forEach(templateComboBox::addItem);
tapnNetwork.activeTemplates().forEach(template -> {
List<TimedPlace> places = template.places();
long sharedPlaces = places.stream().filter(TimedPlace::isShared).count();
if (sharedPlaces != places.size() && !template.name().equals(SHARED)) {
templateComboBox.addItem(template);
}
});

if (tapnNetwork.sharedPlaces().size() > 0) {
templateComboBox.addItem(SHARED);
}

JComboBox<TimedPlace> placeComboBox = new JComboBox<>();
templateComboBox.addActionListener(e -> {
placeComboBox.removeAllItems();
System.out.println(templateComboBox.getSelectedItem());
if (templateComboBox.getSelectedItem().equals(SHARED)) {
tapnNetwork.sharedPlaces().forEach(place -> placeComboBox.addItem(place));
} else {
TimedArcPetriNet template = (TimedArcPetriNet) templateComboBox.getSelectedItem();
template.places().forEach(place -> placeComboBox.addItem(place));
TimedArcPetriNet template = (TimedArcPetriNet)templateComboBox.getSelectedItem();
template.places().forEach(place -> {
if (!place.isShared()) {
placeComboBox.addItem(place);
}
});
}
});

Expand Down

0 comments on commit 4de674d

Please sign in to comment.