The Meta-Environment API
00001 #ifndef __RSCRIPT_GUI_LISTENERS__ 00002 #define __RSCRIPT_GUI_LISTENERS__ 00003 00004 #include <navigator.tb> 00005 00006 process ImportGraphPainter is 00007 let 00008 AllNotes: term, 00009 DependenciesEvent: dependencies-changed-event, 00010 ImportGraph: term, 00011 ModuleId: module-id 00012 in 00013 MM-Subscribe-Dependencies-Changed(<module-id>) 00014 . subscribe(mm-module-deleted(<module-id>)) 00015 . subscribe(mm-module-created(<module-id>)) 00016 . 00017 ( 00018 ( 00019 rec-note(mm-dependencies-changed(DependenciesEvent?)) 00020 + 00021 rec-note(mm-module-deleted(ModuleId?)) 00022 + 00023 rec-note(mm-module-created(ModuleId?)) 00024 ) 00025 . 00026 ( 00027 rec-note(mm-dependencies-changed(DependenciesEvent?)) 00028 + 00029 rec-note(mm-module-deleted(ModuleId?)) 00030 + 00031 rec-note(mm-module-created(ModuleId?)) 00032 ) 00033 * 00034 no-note(AllNotes?) 00035 . snd-msg(tm-request-transaction(module-manager)) 00036 . MM-GetModuleGraph(GRAPH_NAMESPACE, ImportGraph?) 00037 . RenderGraph("import-graph", RSCRIPT_NAMESPACE, true, false, ImportGraph?) 00038 . snd-msg(tm-end-transaction(module-manager)) 00039 ) 00040 * 00041 delta 00042 endlet 00043 00044 /*toolbus(ImportGraphPainter)*/ 00045 00046 process ImportGraphUpdater is 00047 let 00048 Event: attribute-changed-event, 00049 ModuleId: module-id, 00050 Key: term, 00051 Value: term 00052 in 00053 MM-Subscribe-Attribute-Changed(<module-id>,GRAPH_NAMESPACE,<term>,<term>,<term>) 00054 . 00055 ( 00056 rec-note(mm-attribute-changed(Event?)) 00057 . ACE-GetModuleId(Event, ModuleId?) 00058 . ACE-GetKey(Event, Key?) 00059 . ACE-GetNewValue(Event, Value?) 00060 . snd-msg(tm-request-transaction(module-manager)) 00061 . UpdateGraphAttribute("import-graph", RSCRIPT_NAMESPACE, ModuleId, Key, Value) 00062 . snd-msg(tm-end-transaction(module-manager)) 00063 ) 00064 * 00065 delta 00066 endlet 00067 00068 /*toolbus(ImportGraphUpdater)*/ 00069 00070 process NavigatorUpdater is 00071 let 00072 Event: attribute-changed-event, 00073 HasAttribute: bool, 00074 ModuleId: module-id, 00075 File: file 00076 in 00077 MM-Subscribe-Attribute-Changed(<module-id>,GRAPH_NAMESPACE,"file",<term>,<term>) 00078 . subscribe(mm-module-deleted(<module-id>)) 00079 . 00080 ( 00081 rec-note(mm-attribute-changed(Event?)) 00082 . ACE-GetModuleId(Event, ModuleId?) 00083 . ACE-GetNewValue(Event, File?) 00084 . File := first(args(File)) 00085 . NAV-UpdateModule(ModuleId, File) 00086 + 00087 rec-note(mm-module-deleted(ModuleId?)) 00088 . NAV-DeleteModule(ModuleId) 00089 ) 00090 * 00091 delta 00092 endlet 00093 00094 toolbus(NavigatorUpdater) 00095 00096 #endif /*__RSCRIPT_GUI_LISTENERS__*/