The Meta-Environment API

rscript-module-actions.tb

Go to the documentation of this file.
00001 #ifndef __RSCRIPT_MODULE_ACTIONS__
00002 #define __RSCRIPT_MODULE_ACTIONS__
00003 
00004 #include <rscript-namespace.h>
00005 #include <configuration-manager.idef>
00006 #include <graph-painter.idef> 
00007 #include <rscript-actions.tb>
00008 
00009 process SelectModule(ModuleId: module-id) is
00010   snd-msg(nav-select-module(ModuleId))
00011   . snd-msg(gp-select-node("import-graph", RSCRIPT_NAMESPACE, ModuleId))
00012 
00013 process HandleModuleEvent(Type: term, Event: term, ModuleId: module-id) is
00014 let
00015   Action: str,
00016   Modulename: str
00017 in
00018   snd-msg(cm-get-action(Type, Event))
00019   . rec-msg(cm-action(Action?))
00020   . Action(ModuleId)
00021 endlet
00022 
00023 process GetModulePopupEvents(Modulename: str, PopupMenu: list?) is
00024 let
00025   Events: list 
00026 in
00027   snd-msg(cm-get-events(module-popup(Modulename)))
00028   . rec-msg(cm-events(PopupMenu?))
00029 endlet
00030 
00031 process HandleModulePopup is
00032 let
00033   GraphId: str,
00034   GraphType: str,
00035   ModuleId: module-id,
00036   Modulename: str,
00037   Menu: term,
00038   PopupMenu: list,
00039   Type: term
00040 in
00041   (
00042     NAV-RequestPopup(ModuleId?)
00043     . MM-GetAttribute(ModuleId, RSCRIPT_NAMESPACE, "name", Modulename?)
00044     . GetModulePopupEvents(Modulename, PopupMenu?)
00045     . NAV-ShowPopup(ModuleId, PopupMenu)
00046   +
00047     NAV-PopupEvent(ModuleId?, Menu?)
00048     . HandleModuleEvent(module-popup, Menu, ModuleId)
00049   +
00050     GP-RequestPopup(GraphType?, GraphId?, ModuleId?)
00051     .
00052     if equal(GraphType, "import-graph") then
00053       MM-GetAttribute(ModuleId, RSCRIPT_NAMESPACE, "name", Modulename?)
00054       . GetModulePopupEvents(Modulename, PopupMenu?)
00055       . GP-ShowPopup("import-graph", RSCRIPT_NAMESPACE, ModuleId, PopupMenu)
00056     else
00057       tau
00058     fi
00059   +
00060     GP-PopupEvent(GraphType?, GraphId?, ModuleId?, Menu?)
00061     .
00062     if equal(GraphType, "import-graph") then
00063       HandleModuleEvent(module-popup, Menu, ModuleId)
00064     else
00065       tau
00066     fi
00067   )
00068   *
00069   delta
00070 endlet
00071 
00072 toolbus(HandleModulePopup)
00073 
00074 #endif /* __RSCRIPT_MODULE_ACTIONS__ */

Generated on Fri Sep 12 13:18:43 2008 for rscript-meta by  doxygen 1.4.6