package holeg.ui; import ui.controller.SimulationManager; import ui.controller.SingletonControl; import ui.model.Model; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class PowerFlowAnalysisMenu extends JMenu { private JMenuItem settingsMenu; private JMenuItem showFlow; private JMenuItem clearCache; private JMenuItem solve; private JCheckBoxMenuItem disableUpdates; private JCheckBoxMenuItem showResultMessageBox; private JCheckBoxMenuItem showDebugMessageBox; private static PowerFlowAnalysisMenu instance; public PowerFlowAnalysisMenu(Model model) { super("Power flow"); settingsMenu = add(new JMenuItem("Settings")); showFlow = add(new JMenuItem("Show flow table")); addSeparator(); clearCache = add(new JMenuItem("Clear cache")); solve = add(new JMenuItem("Solve")); addSeparator(); disableUpdates = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Disable updates")); showResultMessageBox = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Show result message")); showDebugMessageBox = (JCheckBoxMenuItem) add(new JCheckBoxMenuItem("Show debug message")); clearCache.addActionListener((e) -> { SingletonControl.getInstance().getControl().getSimManager().getHolegPowerFlowContext().clearCache(); }); instance = this; } public boolean areUpdatesDisabled() { return disableUpdates.getState(); } public boolean shouldShowResult() { return showResultMessageBox.getState(); } public boolean shouldShowDebug() { return showDebugMessageBox.getState(); } public static PowerFlowAnalysisMenu getInstance() { return instance; } }