Package eu.bandm.tools.option.runtime
Class Gui
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
eu.bandm.tools.option.runtime.Gui
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
BatchOptionsGui
,GeneratedGui
,GuiOptions
,GuiOptions
,OptionsGui
,ToolGui
Base class for GUI code generated by
Realizes fundamental methods for displaying and editing option arguments. These methods will partly be called by the generated code, partly by user code (for initialization and final checking), partly by the swing ui-process autonomously.
The layout of the control panel itself (inner panel, without the interactive buttons) is
All text fields, labels, tooltips etc are multilingual. The translations for the model-independent texts (e.g. "input integer" / "ganze Zahl eingeben") are fixed and contained in
Translations for further languages can be added to the value of field
Compiler
.
Realizes fundamental methods for displaying and editing option arguments. These methods will partly be called by the generated code, partly by user code (for initialization and final checking), partly by the swing ui-process autonomously.
The layout of the control panel itself (inner panel, without the interactive buttons) is
JPanel --- GridBagLayout | | TTLabel (=abbrev-string) | JLabel (= "/") | TTLabel (=name-string) | JLabel (= ":") | JPanel ("growing group") // has "MultiLineFlowLayout" | | Field_int | | Field_bool | | | | Handles | | | TTHandle | | | TTHandle | | | TTHandle | | Collection ("growing group") | | | Field_int | | | Field_string | | Handles | | | ... | | Collection | | | ... | | Handles | | | ... | | TTLabel // next line | JLabel
All text fields, labels, tooltips etc are multilingual. The translations for the model-independent texts (e.g. "input integer" / "ganze Zahl eingeben") are fixed and contained in
Messages
.Translations for further languages can be added to the value of field
messages
.
The documentation texts for option names and parameter fields are in the Model,
namely Model.descriptions
.
This class can be used in varying contexts (e.g. integrated in card layouts).
But it also offers a standard way for modification and confirmation
by the user by +++
editGraphically(String,JPanel,Dimension,String,String[],String[])
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Contains all widgets for all arguments in one(1) of many repeting groups.class
Fields are generated by the compiler, therefore it must access this class.class
Widget for the input of one boolean argument.class
Gui.Field_enum<E extends Enum<E>>
Widget for the input of one enumeration argument.class
Gui.Field_enumSet<E extends Enum<E>>
Widget for an input field of a selection of enumeration values.class
Widget for the input of one floating point number argument.class
Widget for the input of one integer number argument.class
Widget for the input of one rational (=broken) number argument.class
Widget for the input of one string argument.class
Widget for the input of one uri argument.protected class
Basic functionality: identify and give access to the context of a handle-click.class
Specialized by generated code, mainly becauseGui.Handles.doplus(Component)
andGui.Handles.makeModelInstance()
, the generation of a new group in the gui/the model, delivers different types.static class
A wrapper class which prints a string in a very tiny font, for putting it on a "JButton".protected class
Reacts to changes in the gui argument input.protected class
Derived from JButton only for getting the tool tip text always in the (possibly dynamically changing) current language.protected class
Subclass needed for getting tool-tip text dynamically, indexed by current language, and by the text of the label.protected class
Comon superclass for all text field inputs the editing of which may FAIL --- (=Field_int Field_float Field_rat)Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected final ActionListener
re-usable constant for handle buttons.protected final ActionListener
re-usable constant for handle buttons.protected final ActionListener
re-usable constant for handle buttons.static final Color
Evidentstatic final Color
Evidentstatic final Color
Evidentprotected static final Insets
Distance around a singleGui.TTHandle
.Maps each JButton to a key intomessages
for dynamic language switching.protected static final Dimension
Size for a singleGui.TTHandle
.protected JFrame
Top-level swing container for executingeditGraphically(String,JPanel,DIRECTORIES_ONLY,String,String[],String[])
protected @Opt JComponent
The component, the editing of which caused the last error, if any.protected Set<JComponent>
Make the arguments becoming inactive on input errors, and active again when the error is corrected.protected String
The un-translated error message, i.e.protected boolean
Is set/reset by theInputVerifier
methods of all fields with syntax, and read by the handle buttons, to make them inactive as long as a widget input error is pending.protected JPanel
After the generated code has created its labels, this is the panel in which to create the argument value widgets.protected static final Dimension
Size for the group of three handles in aGui.Handles
.protected static final Gui.StringIcon
Icon for the button in the aGui.TTHandle
.protected static final Gui.StringIcon
Icon for the button in the aGui.TTHandle
.protected static final Gui.StringIcon
Icon for the button in the aGui.TTHandle
.message pane for showing the message if a "field with syntax" cannot be left because the current text input cannot be parsed into a value.final Messages
For translating the (generic!) error messages ("please insert integer!") and button label ("ok", "cancel").List of languages for all translations.protected final Gui.TextReaction
Has a verify method according to the syntax of decimal floating point input.protected final Gui.TextReaction
Has a verify method according to the syntax of decimal integer input.protected final Gui.TextReaction
Has a verify method according to the syntax of decimal integer input, including hexadecimal.protected final Gui.TextReaction
Has a verify method which lets pass any string.protected final Gui.TextReaction
Has a verify method according to the syntax of rational number input.Field where with each change in the GUI inputs a serialization will be presented.protected boolean
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
buttonAction
(String key) void
Make no external component to become inactive on input errors, and active again when the error is corrected.protected void
Will be overridden by the generated code.protected void
Calculate and display a serialization of the current input state of the GUIvoid
editGraphically
(@Opt String titleText, @Opt JPanel titleGraphic, @Opt Dimension innerArea, String lang, String[] buttonLabels, String[] cancelButtons) Interactive execution of the gui panel, very simple style.protected Object[]
field2coordinates
(Component field) Calculates the position (option name, numeric positions) of an input field for showing it (as a synthesized muli-text) to the user.
(Currently only used for the title etc.protected int
Deliver the width (in pixels) for the right part (=value part) of every option's representation.protected abstract Model
getModel()
Overriden by generated code.protected Gui.CommentField
make_commentfield
(String key, String text) Called by generated code whenever a "comment" instruction is interspered into the sequence of option definitions.protected void
Called by Generated code.void
makeErrorControlled
(JComponent... comps) Make the arguments becoming inactive on input errors, and active again when the error is corrected.protected Gui.Field_bool
Factory method called bypopulate()
in compiled code.protected <E extends Enum<E>>
Gui.Field_enum<E>makeField_enum
(Class<E> e) Factory method called bypopulate()
in compiled code.protected <E extends Enum<E>>
Gui.Field_enumSet<E>makeField_enumSet
(Class<E> e) Factory method called bypopulate()
in compiled code.protected Gui.Field_float
Factory method called bypopulate()
in compiled code.protected Gui.Field_int
makeField_int
(boolean has16) Factory method called bypopulate()
in compiled code.protected Gui.Field_rational
Factory method called bypopulate()
in compiled code.protected Gui.Field_string
Factory method called bypopulate()
in compiled code.protected Gui.Field_uri
Factory method called bypopulate()
in compiled code.protected Gui.Field_uri
makeField_uri
(boolean _dirOnly, boolean _fileOnly, boolean _writableOnly) Factory method called bypopulate()
in compiled code.abstract Gui
Overriden by generated code.abstract void
model2view
(Model m) Overriden by generated code.static void
model2view_repeting
(JPanel container, List models) Called by the generated code for data transfer.protected abstract void
populate()
Callback function, overriden by generated code.void
Clearerrorstate
and the contents ofmessagePane
.protected void
set_error_on
(String mkey) Translate the error message keymkey
according tomessages
and present it to the user in the panemessagePane
.protected void
set_error_on
(JComponent comp, String mkey) Reflect an illegal input syntax in the gui.void
setLivingListLanguagePreferences
(List<String> lang_prefs) Sets a link to a "living", i.e.void
setMessagePane
(JLabel mp) Set the field were syntax errors are shown when the input form is stuck.void
setSerializationField
(@Opt JLabel serializationField) Set the widget in wich with each change in the GUI inputs a serialization will be presented.static final void
switchOptionEnableState
(Component comp, boolean active) Sets the component itself, and all descendants, to enabled/disabled.static final void
switchOptionEnableState
(List<Component> comps, boolean active) Sets all components in the list (and all sub-components) to enabled/disableds.Translate a key into the application specific descriptions.void
Signals from outside that the language preferences (in particular the first language) have changed.static void
Re-assigns the numbering of the groups, which appears in the title, and makes certain buttons invisible in the "Handles" groups at both ends.abstract void
view2model
(Model m) Overriden by generated code.static <Sub> void
view2model_repeting
(JPanel container, List<Sub> models) Called by the generated code for data transfer.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
errorstate
protected boolean errorstateIs set/reset by theInputVerifier
methods of all fields with syntax, and read by the handle buttons, to make them inactive as long as a widget input error is pending. -
errorkey
The un-translated error message, i.e. the key into the translation map. -
errorcomponent
The component, the editing of which caused the last error, if any. -
messagePane
message pane for showing the message if a "field with syntax" cannot be left because the current text input cannot be parsed into a value. INPUT parameter, must be set from outside. -
buttonKeys
Maps each JButton to a key intomessages
for dynamic language switching. -
messages
For translating the (generic!) error messages ("please insert integer!") and button label ("ok", "cancel"). The translations for the option descriptions, displayed as a tool tip overGui.TTLabel
, are NOT from here, but from the model. This field is public, so further languages can be added by the caller, and further translations for buttons, column headers, menu items, tabbed pane riders, etc. -
prefLangs
List of languages for all translations. Mere input data, linked to some outer list object which is maintained dynamically by some employer. Must be set by callingsetLivingListLanguagePreferences(List)
before GUI gets visible. -
growingGroup
After the generated code has created its labels, this is the panel in which to create the argument value widgets. -
errorControlled
Make the arguments becoming inactive on input errors, and active again when the error is corrected. -
react_int
Has a verify method according to the syntax of decimal integer input. -
react_int_hex
Has a verify method according to the syntax of decimal integer input, including hexadecimal. -
react_float
Has a verify method according to the syntax of decimal floating point input. -
react_rational
Has a verify method according to the syntax of rational number input. -
react_noSyntax
Has a verify method which lets pass any string. -
uriDialogActive
protected boolean uriDialogActive -
backgroundColor_error
Evident -
backgroundColor_warning
Evident -
backgroundColor_ok
Evident -
iinsert
Icon for the button in the aGui.TTHandle
. Attention, its object identity is used for switching reactions. -
idelete
Icon for the button in the aGui.TTHandle
. Attention, its object identity is used for switching reactions. -
iswap
Icon for the button in the aGui.TTHandle
. Attention, its object identity is used for switching reactions. -
buttonsize
Size for a singleGui.TTHandle
. -
handlesize
Size for the group of three handles in aGui.Handles
. -
buttoninsets
Distance around a singleGui.TTHandle
. -
action_insert
re-usable constant for handle buttons. -
action_delete
re-usable constant for handle buttons. -
action_swap
re-usable constant for handle buttons. -
serializationField
Field where with each change in the GUI inputs a serialization will be presented. Input field, must be set by the user. -
editingFrame
Top-level swing container for executingeditGraphically(String,JPanel,DIRECTORIES_ONLY,String,String[],String[])
-
-
Constructor Details
-
Gui
public Gui()
-
-
Method Details
-
setMessagePane
Set the field were syntax errors are shown when the input form is stuck. -
getModel
Overriden by generated code. Gives access to the correspondingModel
object. -
makeInstance
Overriden by generated code. Creates all fields and initializes them. -
view2model
Overriden by generated code. Copies all argumenta values from GUI to Model. -
model2view
Overriden by generated code. Copies all argumenta values from Model to GUI. -
setLivingListLanguagePreferences
Sets a link to a "living", i.e. dynamically changing list of language codes, used for translation. Changes are signalled by callingupdateLanguage()
-
updateLanguage
public void updateLanguage()Signals from outside that the language preferences (in particular the first language) have changed.
Tooltips will be affected the next time they pop-up (language change passive, rendering inquires text actively.)
Error messages will be affected only from now on (passive).
Button texts will be changed immediately (language change is active). -
populate
protected abstract void populate()Callback function, overriden by generated code. Inserts the different labels and input widgets for options and their arguments into this. Does not yet fill in values. -
translate_description
Translate a key into the application specific descriptions. (NOT into the standard generic messages.) The result can be in a different language, if the key has not been translated in preferred language. In this case the result is enclosed in brackets. -
make_label
protected void make_label(@Opt @Opt String name, @Opt @Opt String abbrev, List<Component> allcomponents) Called by Generated code. Creates labels with name and/or abbrev and a panel for the value widgets ("growingGroup") and puts them into top level grid bag. Not both of "name" and "abbrev" may be ==null. -
getInitialWidthOfValuesPanel
protected int getInitialWidthOfValuesPanel()Deliver the width (in pixels) for the right part (=value part) of every option's representation. Can be overridden by the generated code. -
make_commentfield
Called by generated code whenever a "comment" instruction is interspered into the sequence of option definitions.
Translated text (found by "key") will be set whenever language is switched byupdateLanguage()
. -
makeErrorControlled
Make the arguments becoming inactive on input errors, and active again when the error is corrected. -
clearErrorControlled
public void clearErrorControlled()Make no external component to become inactive on input errors, and active again when the error is corrected. -
set_error_on
Reflect an illegal input syntax in the gui. The offending field is colouredbackgroundColor_error
(=normally red); all focus shifts (internal to the GUI) away from it are hindered by in-activating all sibling inputs; a multi-lingual error text is shown in the dedicated fieldmessagePane
. -
set_error_on
Translate the error message keymkey
according tomessages
and present it to the user in the panemessagePane
. Memorize errorstate and the key of the message text, for switching the language on the fly. -
set_error_off
public void set_error_off()Clearerrorstate
and the contents ofmessagePane
. -
makeField_int
Factory method called bypopulate()
in compiled code. -
makeField_float
Factory method called bypopulate()
in compiled code. -
makeField_rat
Factory method called bypopulate()
in compiled code. -
makeField_string
Factory method called bypopulate()
in compiled code. -
makeField_bool
Factory method called bypopulate()
in compiled code. -
makeField_uri
Factory method called bypopulate()
in compiled code. -
makeField_uri
Factory method called bypopulate()
in compiled code.
Renaming of files is disabled via UIManager; thanks to http://stackoverflow.com/questions/8188459/disable-rename-of-a-file-in-jfilechooser/8188695 -
makeField_enum
Factory method called bypopulate()
in compiled code.
For tooltips on JComboBox-Enum-Items see http://stackoverflow.com/questions/480261/java-swing-mouseover-text-on-jcombobox-items -
makeField_enumSet
Factory method called bypopulate()
in compiled code. -
updatePos
Re-assigns the numbering of the groups, which appears in the title, and makes certain buttons invisible in the "Handles" groups at both ends.
ASSUME only called when container does contain Handles. Then the last component (count-1) is a Handle, and the next-to-last (count-2) is not!
Each "middle" handle has all three actions; the "last" has only "add"; The "first" has "add" and (possibly) "delete". The structure of the JPanel ispanel "pp" count=14 (6 7 8 9 10 11 12 num=13) XXX Handles Collection Handles Collection Handles Collection Handles #0 #1 #2 b b - F F F b b b F F F b b b F F F b - -
-
field2coordinates
Calculates the position (option name, numeric positions) of an input field for showing it (as a synthesized muli-text) to the user.
(Currently only used for the title etc. of a FileChooser.)
res[0]:String = longest parameter name
res[1]:int 0..n = repetition group number, or -1 for the non-repeting prefix
res[2]:int 0..n = parameter no in that group, or -1 for single member
TTLabel JLabel TTLabel JPanel=growingGroup field field field Handle Collection(with pos) field field field
-
switchOptionEnableState
Sets all components in the list (and all sub-components) to enabled/disableds. -
switchOptionEnableState
Sets the component itself, and all descendants, to enabled/disabled. -
displayActive
protected void displayActive()Will be overridden by the generated code. Sets some options to active and others to inactive, depending on the rules and the current states of arguments. -
setSerializationField
Set the widget in wich with each change in the GUI inputs a serialization will be presented. -
displaySerialization
protected void displaySerialization()Calculate and display a serialization of the current input state of the GUI -
model2view_repeting
Called by the generated code for data transfer. Un-zips the list of components in "container" into Collections and Handles, then calls "model2view" for all objects in "models", possibly after creating new view Collections via "doplus()" of any (/of the first)Gui.Handles
. -
view2model_repeting
Called by the generated code for data transfer. Un-zips the list of components in "container" into Collections and Handles, then calls "view2model" for all Collections, possibly after creating new model instances via "makeModelInstance()" of any (/of the first)Gui.Handles
. -
editGraphically
public void editGraphically(@Opt @Opt String titleText, @Opt @Opt JPanel titleGraphic, @Opt @Opt Dimension innerArea, String lang, String[] buttonLabels, String[] cancelButtons) Interactive execution of the gui panel, very simple style.
Only one language, no Menus. The method opens a top-level (dialog-)window with the option pane (as generated by the compiler), plus additional buttons plus an error message line. It lets the user play with the widgets until one of the buttons is pressed (and currently no syntax error pending!) ThenbuttonAction(String)
is called, with the untranslated label key.- Parameters:
titleText
- text on top of the windowtitleGraphic
- included above the parameters' panelinnerArea
- if set, default size of parameters' panellang
- the initial languagebuttonLabels
- the keys of the action buttons (the presented texts are translations from the current muli configuration.)cancelButtons
- keys of buttons which are active during input errors
-
buttonAction
-