MEDM 2.4.9 release note
MEDM was originaly developed at Argonne National Laboratory(ANL) USA.
The release was done in association with
Thomas Birke(BESSY) and Xiaosong GENG(IHEP/China).

Contents


Increased the size of string token in adl file and reduced memory usage.

   Maxinal size of text string using in adl file, which can be processed by MEDM was 256 characters. Now it is 4096. This makes an available to use long macro substitution strings as DESY/KRYK does.
   All string information in adl file like PV name, macro substitution, label text were saved in MEDM in static size char arrays (MAX_TOKEN_LENGTH=256, char str[MAX_TOKEN_LENGTH] ), the memory was allocated even when string was empty. That is way, just increasing of the constant MAX_TOKEN_LENGTH made MEDM very fat. To solve this problem an using of static size array was reprogramed for an using dynamicly allocated memory.


Add one in Composite element

   New resource became available in the Composite element: Element name. It is used to access Composite elements in adl file. This feature is used by DynSymbol implementation.


New element type was implemented.


The DynSymbol's icon on the Object Palette.

   The element type has name DynSymbol. It belongs to the group of monitor elements. The aim of this element type is to provide adl displays with elements changing its graphic representation depend on the value of PV.
   The DynSymbol element has two levels, which specify resulting graphic representation of the element on the adl display. First level deals with the background color changable following some of the Color Rules. Second one deals with a group of graphic objects painted on the adl display.
   To use DynSymbol element in adl display, it has to be created and its resources have to be customised. Main resource of DynSymbol is Graphic Rule. On the Resource Palette it is presented in for of menu. During initialisation, MEDM reads ASCII file with graphic rules and constructs internal list of all available graphical symbols. The graphical symbol is a named Composite element, which groups one or more adl display elements inside. Let's take a look into Graphic Rules file format:

;
;
;
graphicRule  ElectricKeys#1 ; graphic rules for hall 1
        0 0 /applic/graphic/GR/ElectricFigures1.adl State0 abc=10,def=20
        1 1 /applic/graphic/GR/ElectricFigures2.adl State1 abc=11,def=20
        2 2 /applic/graphic/GR/ElectricFigures1.adl State2 abc=10,def=22
        3 3 /applic/graphic/GR/ElectricFigures1.adl State2 x=12,y=23

graphicRule  PumpKeys#1  
        0.  0.1 /applic/graphic/GR/PumpFigures12.adl Open1 s=12,d23,g90
        0.1 1.  /applic/graphic/GR/PumpFigures2.adl  Open2 
        1.  10. /applic/graphic/GR/PumpFigures23.adl Close 
Where does MEDM read Graphic Rules file from?
First, MEDM tries to read system environment MEDM_GRAPHIC_RULE, which (if defined) has to keep the path to the file. If the environment is not set, MEDM will tries to read GraphicRules from current directory.


Resources used by DynSymbol


The DynSymbol's Resource Palette.

Background
This resource specifies the background color of the element if Color Mode is static.
Color Mode
This resource specifies varied schemes of defining the element's background.
static - color can not be not changed dynamicly;
alarm - color can be changed dynamicly depend on the alarm status of PV;
discrete - color can be changed dynamicly depend on the Color Rule.
Color Rule
This resource specifies the name of the Color Rule used for background color.
Fit within
This resource specifies whether Dynamic Symbol will resize each symbol to fit it within its own geometry.
Graphic Rule
This resource specifies the name of the Graphic Rule used for the element.

Limitation of using DynSymbol elements


MEDM's Faceplate Tool

    The aim of this feature is to alleviate the construction of displays, which consist of a number of already existed adl displays with the unique set of macro substitution. It is implemented in form of GUI embeded in MEDM. This tool helps user to build Medm FacePlate (.mfp) files, which keep information about location faceplates on the display. In execute mode, by request of user, MEDM will load such file and will construct display as it would be original adl file. After switching to edit mode, MEDM will delete such display from the screen, as the display would be a related display.

    The above picture displays layout of the areas on the faceplate display. The display consists of the title string, the work, and the notes string areas. The strings drawing in the title and the notes are one line texts. The work area keeps a group of faceplate. Each faceplate has resources: location, adl file name, and macro surstitution.
    There are six faceplates on the picture. They are named from A till F. Each of them has its own location on the display.


Main File menu has additional item Load faceplate.... Having been activated, this button will pop up file selection dialog, where user can select .mfp file to be load.


Faceplate tool can be invoked either directly from menu Tools:Faceplate... or by Ctrl+F accelerator.

Faceplate's dialog overview


The sample of the using Faceplate dialog.

Group Attributes


The frame keeps general resources for the display.

Title
If it is provided, than it specifies the label on the top of the display.
Notes
If it is provided, than it specifies the label at the bottom of the display.
Comments
Remarks about the display. It is irrelevant to drawing on the screen.
Location
The position and size the display on the screen (those are similar to Display element resources).
Faceplate's coordinates
It specifies the unit used for faceplates' locations within display's work area.


    The sample above shows layout with using fraction base unit. Fraction base parameter specifies the count of fractions in horizontal and vertical direction. It is 6 for the example. Let's see the locations of every faceplate: A(x=0, y=0, width=1, height=3), B(1, 0, 1, 3), C(2, 0, 4, 3), D(0, 3, 4, 3), E(4, 3, 1, 3), F(5, 3, 1, 3).

Whole group


This frame keeps all faceplates defined within display. Each faceplate has toggle button assotiated with it. Having been activated the button displays all resorces of the faceplate in the frame and sets faceplate as current facelate, so the button apply changes will work with this faceplate.

Faceplate's location


Faceplate location can be defined either as one cell from the grid 8x2 or by x, y, width, abd height in units(in pixel or fraction base) specified in Group Attributes frame. The button unselect cell unselects cell from the grid and makes text entries for the position and the size sensitive for typping in.

Faceplate's macro substitution


The frame keeps macro substitution name=value pairs. Faceplate tool automaticaly distinguishes macro names from adl file, when such is defined.

Faceplate's adl file


Selecting adl file for the faceplate. The button browse activates file selection dialog with the directory defined in EPICS_DISPLAY_PATH system environtment.

Faceplate's submit buttons


These three buttons manipulate with contents of Faceplate frame. add new faceplate adds new faceplate to the group with current set of resources(location, adl file, macro). apply changes save current set of resources into current faceplate(selected one). delete faceplate deletes faceplate out from the group.


Add one in select adl file dialog


New button was added into adl file selection dialog. This makes the dialog to change working directory of the dialog to the directory defined in the EPICS_DISPLAY_PATH environtment.


Vladimir Romanovski (romsky@heras1.desy.de ; romanov@picasso.ucsf.edu)
Updated 3 Oktober 1997