00001 00002 // 00003 // Copyright 2010, Lowell Boggs Jr. 00004 // 00005 // This file or directory, containing source code for a computer program, 00006 // is Copyrighted by Lowell Boggs, Jr. 987 Regency Drive, Lewisville 00007 // TX (USA), 75067. You may use, copy, modify, and distribute this 00008 // source file without charge or obligation so long as you agree to 00009 // the following: 00010 // 00011 // 1. You must indemnify Lowell Boggs against any and all financial 00012 // obligations caused by its use, misuse, function, or malfunction. 00013 // Further, you acknowledge that there is no warranty of any kind, 00014 // whatsoever. 00015 // 00016 // 2. You agree not to attempt to patent any portion of this original 00017 // work -- though you may attempt to patent your own extensions to 00018 // it if you so choose. 00019 // 00020 // 3. You keep this copyright notice with the file and all copies 00021 // of the file and do not change it anyway except language translation. 00022 // 00023 // You are responsible for enforcing your own compliance with these 00024 // conditions and may not use this source file if you cannot agree to the 00025 // above terms and conditions. 00026 00027 00028 //@File 00029 // 00032 00033 #include <cxxtls/symbolviewer.h> 00034 #include <cxxtls/viewermanager.h> 00035 #include <cxxtls/textviewer.h> 00036 #include <fmtio/fmtio.h> 00037 #include <cxxtls/cpptagdb.h> 00038 #include <iostream> 00039 00040 using namespace std; 00041 using namespace cxxtls; 00042 00043 int main() 00044 { 00045 ViewerManager vm; 00046 00047 vm.open(); 00048 00049 vm.add_app(TextViewer::app, TextViewer::app_name); 00050 00051 vm.add_app(SymbolViewer::app, "SymbolViewer"); 00052 00053 vm.add_viewer_app(TextViewer::app, ".c"); 00054 vm.add_viewer_app(TextViewer::app, ".h"); 00055 00056 vm.add_editor_app(TextViewer::app, ".c"); 00057 vm.add_editor_app(TextViewer::app, ".h"); 00058 00059 SymbolViewer *p = new SymbolViewer(&vm, "AtticCppTagDb"); 00060 00061 vm.add( p, "tree" ); 00062 00063 00064 (*p)(vm.active_viewport(), CursorWindow::viewport::repaint_handler::activate); 00065 00066 vm.run(); 00067 00068 00069 00070 } 00071