- How Does it Work?
- Let's say you have an existing NeXtMidas macro for which you want to make a new
Swing GUI.
- When your macro runs everything is laid out by
PANEL
and
GCONTROL
.
- If you use the
/JSETUP
switch this tells PANEL
that
you want to use the setup defined in your Swing JFrame
rather than
the default setup provided by PANEL
.
- When you provide the
/JSETUP
switch, PANEL
loads your
Swing GUI.
- When it loads your Swing GUI it uses reflection to figure out what widgets
and displays you have in your GUI.
- For each widget (
JButton
, JTextField
, etc.) it finds,
PANEL
adds the necessary listeners so that the widget will send its
message to the processMessage
procedure in your macro.
- Also, for each widget,
PANEL
adds the necessary wrapper so that you
can use GC.<name>.VALUE
to set/get the value of the widget.
- When
PANEL
sees a MidasControls
component
named pane0
(this is a special name that must be used if you use
MidasControls
) it instructs GCONTROL
to add all of the
GControls to this component.
- The GControls will look and function the same as they would in a traditional
NeXtMidas GUI and are not customizable within the GUI builder.
- If
PANEL
does not find a MidasControls
it
assumes that you do not care about the GControls because you are using Swing
controls in place of them.
- For each
MidasDisplay
included in your GUI that has a
variable name that matches the ID of your PLOT
or LIST2
it will tell PLOT
or LIST2
to attach themselves to the
MidasDisplay
in your GUI.
- If you have this line in your macro:
plot/id=MYPLOT world.prm
You will need to set the variable name of your MidasDisplay
to myplot
(by convention variable names are lowercase).