19 from java.awt
import Component
20 from java.awt.event
import WindowAdapter
21 from javax.swing
import (BoxLayout, JLabel, JOptionPane, JPanel,
22 JPasswordField, JTextField, JList, JScrollPane)
23 from javax.swing.JOptionPane
import (DEFAULT_OPTION, OK_CANCEL_OPTION,
24 OK_OPTION, PLAIN_MESSAGE,
25 UNINITIALIZED_VALUE, YES_NO_OPTION)
30 MAX_CHARS_PER_LINE = 120
40 panel.setLayout(BoxLayout(panel, BoxLayout.Y_AXIS))
42 label.setAlignmentX(Component.LEFT_ALIGNMENT)
44 widget.setAlignmentX(Component.LEFT_ALIGNMENT)
51 wrapper = textwrap.TextWrapper(MAX_CHARS_PER_LINE,
52 drop_whitespace=
False)
54 for line
in html_escape(message, linkify=
False).splitlines():
56 lines.extend(wrapper.wrap(line))
59 return JLabel(
'<html>%s</html>' %
'<br>'.join(lines))
66 dialog = pane.createDialog(
None,
'Robot Framework')
67 dialog.setModal(
False)
68 dialog.setAlwaysOnTop(
True)
69 dialog.addWindowFocusListener(pane.focus_listener)
71 while dialog.isShowing():
76 value = pane.getInputValue()
77 return value
if value != UNINITIALIZED_VALUE
else None
84 _SwingDialog.__init__(self, pane)
89 def __init__(self, message, default, hidden=False):
90 self.
_input_field_input_field = JPasswordField()
if hidden
else JTextField()
96 _SwingDialog.__init__(self, pane)
99 if pane.getValue() != OK_OPTION:
108 pane.setWantsInput(
True)
109 pane.setSelectionValues(options)
110 _SwingDialog.__init__(self, pane)
120 _SwingDialog.__init__(self, pane)
123 if pane.getValue() != OK_OPTION:
125 return list(self.
_selection_list_selection_list.getSelectedValuesList())
132 None, [
'PASS',
'FAIL'],
'PASS')
133 _SwingDialog.__init__(self, pane)
136 value = pane.getValue()
137 return value ==
'PASS' if value
in [
'PASS',
'FAIL']
else None
141 focus_listener =
None
144 return MAX_CHARS_PER_LINE
156 self.
componentcomponent.requestFocusInWindow()
def __init__(self, message)
def _get_value(self, pane)
def __init__(self, message, options)
def _get_value(self, pane)
def __init__(self, message)
def __init__(self, message, options)
def windowGainedFocus(self, event)
def __init__(self, component)
def set_focus_listener(self, component)
def getMaxCharactersPerLineCount(self)
def _show_dialog(self, pane)
def _create_panel(self, message, widget)
def _create_label(self, message)
def _get_value(self, pane)
def html_escape(text, linkify=True)