EScope4: Adding Zoom and Grab Options Using the Decorator Pattern
This refactoring step marks a milestone inthe development of EScope. From now, the preparatory work in refactoring carried out in the previous EScope versions, starts producing its effects. This version, in fact, provides a much more sophisticated interaction with the displayed waveform. When a waveform is displayed, it is possible now to:

- drag a crosshair over the waveform, as for the older versions
- zoom a portion of the waveform by dragging the mouse to define a rectangle of interest. When the mouse is released, the enlarged portion of the waveform is displayed
- grab the entire waveform. Thism option is especially useful after enlarging a portion of the waveform to bring into view portions of the waveform which lie outside the display window.

A double click restores the default confition, i.e. the whole waveform matted into the display window.

This application defines three panels. At the left side, when a database is open, the hierarchical structure is displayed and it is possible to navigate in the tree. When a node containing a valid signal is clicked, the corresponding waveform is displayed in the central panel.

The File Menu Bar option allows to:

- connect to a MDSplus server. The default server and port is localhost and 8000, i.e. a MDSplus data server running locally on port 8000 (the default configuration)
- open an experiment and shot. The default experiment and port is edam and 17615, respectively. They correspond to a database which is provided by the installer.
- exit from the application

The Graph Menu Bar option activates a pop-up panel which allows to

- associte a separate color to the graph title, the background and the plot line.
- define whether a border is defined arould the signal plot
- define which algorithm to use for computing tick numbers.
- define the current waveform interaction (crosshair, Zoom or Grab)

The changes are applied when either Ok or Apply button is pressed.

To exercise this program the following steps are required:

1. If not already running, start a MDSplus data server. On windows, click on start->programs->MDSplus->MDSDataserver. On Linux, run script start_mdsip.
2. Change directory in <source root>/escopes/escope4, where <source root> is the directory where you copied the source directory in the CD.
3. Include the current directory in your CLASSPATH environmante variable. On Windows this can be done by changing the CLASSPATH definition in Control Panel/System setting, or by the command
   set CLASSPATH=.;%CLASSPATH%
   On Linux (bash shell) this can be done by the command
   export CLASSPATH=.:$CLASSPATH
4. Compile the java source files with the command
   javac *.java
5. Run the program with no arguments.
   java EScope4

When the edam database is open, valid signals are listed in the SIGNALS.PB subtree.

View Source