PowerFlowAnalysisMenu.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package holeg.ui;
  2. import ui.controller.SimulationManager;
  3. import ui.controller.SingletonControl;
  4. import ui.model.Model;
  5. import javax.swing.*;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. public class PowerFlowAnalysisMenu extends JMenu {
  9. private JMenuItem settingsMenu;
  10. private JMenuItem showFlow;
  11. private JMenuItem clearCache;
  12. private JMenuItem solve;
  13. private JCheckBoxMenuItem disableUpdates;
  14. private JCheckBoxMenuItem showResultMessageBox;
  15. private JCheckBoxMenuItem showDebugMessageBox;
  16. private static PowerFlowAnalysisMenu instance;
  17. public PowerFlowAnalysisMenu(Model model) {
  18. super("Power flow");
  19. settingsMenu = add(new JMenuItem("Settings"));
  20. showFlow = add(new JMenuItem("Show flow table"));
  21. addSeparator();
  22. clearCache = add(new JMenuItem("Clear cache"));
  23. solve = add(new JMenuItem("Solve"));
  24. addSeparator();
  25. disableUpdates = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Disable updates"));
  26. showResultMessageBox = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Show result message"));
  27. showDebugMessageBox = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Show debug message"));
  28. clearCache.addActionListener((e) -> {
  29. SingletonControl.getInstance().getControl().getSimManager().getHolegPowerFlowContext().clearCache();
  30. });
  31. instance = this;
  32. }
  33. public boolean areUpdatesDisabled() {
  34. return disableUpdates.getState();
  35. }
  36. public boolean shouldShowResult() {
  37. return showResultMessageBox.getState();
  38. }
  39. public boolean shouldShowDebug() {
  40. return showDebugMessageBox.getState();
  41. }
  42. public static PowerFlowAnalysisMenu getInstance() {
  43. return instance;
  44. }
  45. }