|
Aegis
4.25.D505
|
00001 // 00002 // aegis - project change supervisor 00003 // Copyright (C) 1999, 2002, 2005, 2006, 2008, 2012 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation; either version 3 of the License, or (at 00008 // your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 // 00018 00019 #ifndef LIBAEGIS_COL_UNFORMATTED_H 00020 #define LIBAEGIS_COL_UNFORMATTED_H 00021 00022 #include <common/ac/stddef.h> 00023 00024 #include <libaegis/col.h> 00025 #include <libaegis/wide_output/column.h> 00026 00027 00033 class col_unformatted: 00034 public col 00035 { 00036 public: 00040 virtual ~col_unformatted(); 00041 00042 private: 00050 col_unformatted(const wide_output::pointer &deeper); 00051 00052 public: 00060 static pointer create(const wide_output::pointer &deeper); 00061 00062 protected: 00063 // See base class for documentation. 00064 output::pointer create(int left, int right, const char *title); 00065 00066 // See base class for documentation. 00067 void title(const nstring &first, const nstring &second); 00068 00069 // See base class for documentation. 00070 void eoln(); 00071 00072 // See base class for documentation. 00073 void need(int n); 00074 00075 // See base class for documentation. 00076 void eject(); 00077 00078 // See base class for documentation. 00079 void flush(); 00080 00081 // See base class for documentation. 00082 void forget(const output::pointer &op); 00083 00084 private: 00085 struct column_ty 00086 { 00087 ~column_ty(); 00088 column_ty(); 00089 00090 wide_output_column::cpointer content; 00091 output::pointer content_filter; 00092 00093 void clear(); 00094 }; 00095 00096 wide_output::pointer deeper; 00097 wchar_t separator; 00098 size_t ncolumns; 00099 size_t ncolumns_max; 00100 column_ty *column; 00101 00105 col_unformatted(); 00106 00110 col_unformatted(const col_unformatted &); 00111 00115 col_unformatted &operator=(const col_unformatted &); 00116 }; 00117 00118 #endif // LIBAEGIS_COL_UNFORMATTED_H 00119 // vim: set ts=8 sw=4 et :
1.7.6.1