Design details



// Load document - 
  Done for time being..
// Save document
  What is the active document.
  issue pre_save to all modules (which returns array(bookmarkid,URL) from call!
    any document holders, if they are active editors can then 
    ask the transport_manager to save the specified URL.
  
  save_document is then issued to all module - 
    - used to change undo/* markers on file lists, 
    - refresh the parsers?
    


/---------------------------


What is still missing :

where do parsers fit into the jigsaw.


where do the bookmark editors go...
 // under the bookmark module?
 


/---------------------------

Language_manager
  - load languages & parsers
  - holds it in documents[$URL]
  - called straight after load document.
  





Interface manager

  Loads the Chosen Interface into the top level window.
  Then instructs the module manager to load/attach it's widgets to the layout.
  





/--------------



Module manager - 

responsible for 
  loading modules
  passing messages to modiles (eg. menu emit,load_document)


modules :
  holds
    documents[$URL]     - widget that holds URL. (optional)
    widget              - widget that is added to interface
    
  responsible for 
    a widget or group of widgets.
    responding to menu_emits selectivly.
  







/------------

transport manager
  holds
    documents[URL] = array of transport objects
    
  responsible for 
    forwarding tree queries
    storing open documents


transport modules:
  responsible for file/network read write access..
  2 types
    transport_core_file (answers tree queries)
    transport_document_file (does file/save stuff)
    
    
  
  

