00001 00005 class ASCIIReporter : public Reporter 00006 00007 { 00008 private: 00009 00010 int enumcnt; 00011 int seccnt; 00012 int subcnt; 00013 int subsubcnt; 00014 00015 int itempad; 00016 00017 int cell_width; 00018 00019 void makeHeaderNote (); 00020 void makeHeaderPage (); 00021 00022 protected: 00023 00024 virtual void putTextline (const String& txt); 00025 virtual void putTabularline (const String& txt); 00026 virtual void putTableline (const String& txt); 00027 virtual void putItemline (const String& txt); 00028 virtual void putEnumline (const String& txt); 00029 virtual void putFigureline (const String& txt); 00030 virtual void putDispmathline (const String& txt); 00031 virtual void putCenterline (const String& txt); 00032 00033 void fill (const char c = ' ', const int n = 1); 00034 void space (const int n = 1); 00035 00036 public: 00037 00038 ASCIIReporter (Os os); 00039 ASCIIReporter (const String& filename); 00040 00041 virtual ~ASCIIReporter () {} 00042 00043 00044 00045 00046 virtual Reporter& header (const String& title, const String& author, 00047 bool fullpage = true, 00048 bool singlefile = true, 00049 const char* purpose = NULL); 00050 00051 virtual Reporter& trailer (); 00052 00053 virtual String getSectionRef (); 00054 00055 virtual Reporter& section (const String& txt); 00056 virtual Reporter& section (const String& txt, const String& label) 00057 { return Reporter ::section(txt,label); } 00058 virtual Reporter& subsection (const String& txt); 00059 virtual Reporter& subsection (const String& txt, const String& label); 00060 virtual Reporter& subsubsection (const String& txt); 00061 virtual Reporter& subsubsection (const String& txt, const String& label); 00062 00063 virtual Reporter& pagebreak (); 00064 virtual Reporter& linebreak (); 00065 virtual Reporter& eject (int n = 1); 00066 virtual Reporter& drawline (); 00067 00068 00069 00070 00071 virtual String cellpad (const String& s); 00072 00073 00074 00075 00076 virtual Reporter& centerline (const String& txt); 00077 00078 virtual Reporter& insertDocument (const String& basename); 00079 virtual Reporter& insertVerbatim (const String& file); 00080 00081 00082 00083 virtual Reporter& beginCenter (); 00084 virtual Reporter& endCenter (); 00085 00086 virtual Reporter& beginTabular (int ncols, const String& col_format); 00087 virtual Reporter& endTabular (); 00088 00089 virtual Reporter& beginTable (int ncols, const String& col_format); 00090 virtual Reporter& endTable (const String& caption, const String& label); 00091 00092 virtual Reporter& beginItemize (); 00093 virtual Reporter& endItemize (); 00094 00095 virtual Reporter& beginEnumerate (); 00096 virtual Reporter& endEnumerate (); 00097 00098 virtual Reporter& beginFigure (const String& psfilename, 00099 real cmWidth = 10.0); 00100 virtual Reporter& endFigure (const String& caption, const String& label); 00101 00102 virtual Reporter& beginDispmath (); 00103 virtual Reporter& endDispmath (); 00104 00105 00106 virtual String makeLabelRef (const String& label); 00107 00108 00109 00110 00111 virtual void process (bool postscript = true); 00112 virtual void print (bool postscript = true); 00113 virtual void preview (bool postscript = true); 00114 00115 00116 CLASS_INFO 00117 00118 }; 00119 00120