The Meta-Environment API
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__ */