Add-ons for the next MEDM release



Originaly developed at Argonne National Laboratory(ANL) USA.

Contents


MEDM help

how it looks like?

     This is implemented to be used with Motif Window Manager (MWM). MWM default window menu for each Medm's display now has a new button: Medm_Help.
If a user activates it, then Medm will read system environment MEDM_HELP. If that is defined and isn't empty string, then Medm will make system call of script defined in MEDM_HELP with parameter that is Medm's display title.
For example, if we call

   setenv MEDM_HELP /my_path/my_script
   medm -local My_Display.adl

then Medm_help will make a system call

   /my_path/my_script My_Display.adl

We use this to call Netscape to show help information and use Message Box to send operators' messages as for particular Medm's display. If netscape's window exists on the same X display of the medm, then that script forces the netscape to open interesting URL, if not ,then open new one with specified URL. You can see the script


Replace option for RelatedDisplay element

This feature was implemented by Frederick Vong from Argonne National Laboratory.

how it looks like?
The ReletedDisplay dialog window. 


    Now related display can be invoked with replace mode. In that case current display will be removed and new related one will be opened.
    Default mode is none replace. 


Save edited and nonsaved displays when MEDM crashes

    Medm will try to save nonsaved displays on disc in case of crash. Files will be placed in /tmp directory. Medm will write appropriate information in term window(stderr). 


Associated menu for Composite element

    The idea behind of this feature is very simple. We want to have possibility to appropriate a list of actions to particular Composite display element. As Composite element can cover one or more elements so any element or group of element can have its own action list associated with particular Composite display element. This way we will have possibility to open new displays related to particular display element and to call system scripts directly from the group of element, rather than to create RelatedDisplay or ShellCommand element near the group.
    By now the actions can be just one of tree predefined types, in future a list of that will grow.
    If we have some group of element related to a part of controlled system which should be processed somehow by external programs or by MEDM's internal actions, in this case a list of the processing actions can be assign on the group. Sometimes it is necessary to save interesting value of channel in database or invoke script, which has to switch off alarming and so on. In execute mode Associated menu with a list of available actions can be popped up on Composite element. In case when Composite element would have Valuator or CartesianPlot elements inside than the associated menu will have an additional item to pop up a service dialog windows for those types of elements.
    One disadvantage still exists. After a number of element were grouped it is not possible to select on display a children element of Composite element. To improve this ListTree widget will be added in Resource Palette to provide possibility to show and select elements from a list of element.

How to use it:

Resource Palette
The Resource Palette dialog window. 

AssociatedMenuDescriptor
The Associated Menu dialog window. 

Item's PulldownMenu
The Item's pulldown menu. 

AssociatedMenu in work
When Medm is in Execute mode: Associated Menu poped up on the composite element. 


How does format of Composite element data look likes?

        ...
        composite {
                object {
                        x=133
                        y=644
                        width=106
                        height=41
                }
                "composite name"=""
                vis="static"
                chan=""
                menuItem {
                        label="Show panel 1"
                        type="New Display"
                        command="Panel.adl"
                        args="ABC=panel_1"
                }
                menuItem {
                        label="Show panel 2"
                        type="New Display Replace"
                        command="Panel.adl"
                        args="ABC=panel_2"
                }
                menuItem {
                        label="Get help"
                        type="System script"
                        command="netscape"
                        args="-ncols 128 http://www-kryo.desy.de"
                }
                children {
                ...


Check for identical display.

    If user would try to open display which has version number, adl file name and macro substitution table the same as some one of already created display has, than: in Edit mode warning dialog will be popped up, in Execute mode identical one will be poped up on screen. 


Reading archive data into StripChart element.

    Let us see values' history on StripChart plot.

Strip Chart Data dialog
The Strip Chart Data dialog window. 


    If Util channel is specified for StripChart than in Execute mode Medm will try to get a data from Archive Epics's record and to present it on the StripChart element. That will happen every time when user in Execute mode would resize SctripChart.

Again adl format was changed..

        ...
        "strip chart" {
                object {
                        x=45
                        y=51
                        width=299
                        height=272
                }
                plotcom {
                        clr=14
                        bclr=4
                }
                pen[0] {
                        chan="VME01:cpuMonitor_sub"
                        utilChan="VME01:cpuMonitor_sub_h"
                        clr=61
                }
                ...


X Window resource file Medm.ad

    Medm's X resource file Medm.ad is made as public for that users who want to customize it themselves. 


Fixed bugs in version 2.4.3

Fixed bugs in version 2.4.4


Logo is designed by Guennadi Obukhov obukhov@x4u2.desy.de.
~
Vladimir Romanovski romsky@x4u2.desy.de
Updated 7 May 1997