The Meta-Environment API

rscript-gui-listeners.tb

Go to the documentation of this file.
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__*/

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