The Meta-Environment API

module-selection-listener.tb

Go to the documentation of this file.
00001 #ifndef __MODULE_SELECTION_LISTENER__
00002 #define __MODULE_SELECTION_LISTENER__
00003 
00004 #include <navigator.idef>
00005 #include <graph-painter.idef>
00006 #include <moduledetails.idef>
00007 #include <undefined.h>
00008 
00009 process SynchronizeModuleSelection(GraphId: term) is
00010 let
00011   Event: attribute-changed-event,
00012   EventModuleId: module-id,
00013   ModuleId: module-id
00014 in
00015   ModuleId := UNDEFINED
00016   . subscribe(nav-module-selected(<term>))
00017   . subscribe(gp-node-selected(<str>,<term>,<term>))
00018   . MM-Subscribe-Attribute-Changed(<module-id>,<term>,<term>,<term>,<term>)
00019   .
00020   (
00021     rec-note(nav-module-selected(ModuleId?))
00022     . snd-msg(gp-select-node("import-graph", GraphId, ModuleId))
00023     . ShowModuleDetails(ModuleId)
00024   +
00025     rec-note(gp-node-selected("import-graph", GraphId, ModuleId?))
00026     . snd-msg(nav-select-module(ModuleId))
00027     . ShowModuleDetails(ModuleId)
00028   +
00029     rec-note(mm-attribute-changed(Event?))
00030     . ACE-GetModuleId(Event, EventModuleId?)
00031     . 
00032     if equal(ModuleId, EventModuleId) then
00033       ShowModuleDetails(ModuleId)
00034     else
00035       tau
00036     fi
00037   ) 
00038   * delta
00039 endlet
00040 
00041 process ShowModuleDetails(ModuleId: module-id) is
00042 let
00043   Attributes: list
00044 in
00045   MM-GetAllAttributes(ModuleId, Attributes?)
00046   . snd-msg(md-set-details(Attributes))
00047 endlet
00048 
00049 #endif /* __MODULE_SELECTION_LISTENER__ */

Generated on Fri Sep 12 13:08:53 2008 for meta by  doxygen 1.4.6