@Override public boolean harvestInputs(final InputPanel<Panel, Panel> inputPanel, final Module module) { final Panel pane = inputPanel.getComponent(); // TODO - use pure AWT instead of Swing here // display input panel in a dialog final String title = module.getInfo().getTitle(); final boolean allowCancel = module.getInfo().canCancel(); final int optionType, messageType; if (allowCancel) optionType = JOptionPane.OK_CANCEL_OPTION; else optionType = JOptionPane.DEFAULT_OPTION; if (inputPanel.isMessageOnly()) { if (allowCancel) messageType = JOptionPane.QUESTION_MESSAGE; else messageType = JOptionPane.INFORMATION_MESSAGE; } else messageType = JOptionPane.PLAIN_MESSAGE; final JOptionPane optionPane = new JOptionPane(pane, messageType, optionType); final JDialog dialog = optionPane.createDialog(title); dialog.setModal(true); dialog.setResizable(true); dialog.pack(); ensureDialogSizeReasonable(dialog); dialog.setVisible(true); final Integer rval = (Integer) optionPane.getValue(); dialog.dispose(); // verify return value of dialog return rval != null && rval == JOptionPane.OK_OPTION; }
@Override public boolean harvestInputs(final InputPanel<JPanel, JPanel> inputPanel, final Module module) { final JPanel pane = inputPanel.getComponent(); // display input panel in a dialog final String title = module.getInfo().getTitle(); final boolean modal = !module.getInfo().isInteractive(); final boolean allowCancel = module.getInfo().canCancel(); final int optionType, messageType; if (allowCancel) optionType = JOptionPane.OK_CANCEL_OPTION; else optionType = JOptionPane.DEFAULT_OPTION; if (inputPanel.isMessageOnly()) { if (allowCancel) messageType = JOptionPane.QUESTION_MESSAGE; else messageType = JOptionPane.INFORMATION_MESSAGE; } else messageType = JOptionPane.PLAIN_MESSAGE; final boolean doScrollBars = messageType == JOptionPane.PLAIN_MESSAGE; final SwingDialog dialog = new SwingDialog(pane, optionType, messageType, doScrollBars); dialog.setTitle(title); dialog.setModal(modal); final int rval = dialog.show(); // verify return value of dialog return rval == JOptionPane.OK_OPTION; }