Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

nci/suif/suif2b/suifbrowser/viewers/src_viewer.h

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------
00002  * src_viewer.h
00003  *
00004  * The "src_viewer" displays source code of the currently selected object.
00005  */
00006 
00007 #ifndef SRC_VIEWER_H
00008 #define SRC_VIEWER_H
00009 
00010 #include "base_viewer.h"
00011 #include "code_tree.h"
00012 
00013 class src_viewer : public text_base_viewer {
00014   typedef text_base_viewer inherited;
00015 
00016   FileBlock* current_file_block;
00017   String current_file_name;
00018   vmessage* infobar;
00019   column_id annote_column;
00020   code_tree* stree;
00021   list<code_tree*>* stree_cache;
00022 
00023   static const String no_source_file;
00024 
00025   virtual void create_file_menu();
00026   virtual void update_infobar();
00027 
00028   virtual void clear();
00029   virtual void refresh();
00030 
00031   virtual void clear_cache();
00032   virtual void build_stree();
00033 
00034   virtual bool print_source();
00035   virtual void show( vnode *vn );
00036 
00037   virtual void annotate_src();
00038   void annotate_src_helper(code_fragment* f );
00039 
00040   static void create_src_links(SuifObject* z, src_viewer* viewer );
00041   static code_range map_tree_node(SuifObject* z, src_viewer* viewer );
00042   static void do_close( event& e, src_viewer* viewer );
00043 
00044 public:
00045   src_viewer();
00046   virtual ~src_viewer();
00047 
00048   virtual void create_window();
00049   virtual char* class_name() { return "Source Viewer"; }
00050   virtual void handle_event( event& e );
00051 
00052   virtual String get_source_file_name() {
00053     return current_file_name;
00054   }
00055 
00056   virtual void view(FileBlock* file, String = String());
00057   virtual void view(SuifObject* tn, bool select = true);
00058 
00059   static window* constructor() {
00060     return new src_viewer;
00061   }
00062 
00063 };
00064 
00065 #endif // SRC_VIEWER_H

Generated at Mon Jul 31 13:42:32 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000