The Meta-Environment API

sdf-module-actions.tb

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

Generated on Fri Sep 12 13:09:47 2008 for sdf-meta by  doxygen 1.4.6