00001 // ===================================================================== 00021 // ===================================================================== 00022 #ifndef __TRUNINFORMATIONTABLE_HH 00023 #define __TRUNINFORMATIONTABLE_HH 00024 00025 #include "Tglobals.h" 00026 #include "TRunInformationList.hh" 00027 00028 class TOutputHtmlFileStream; 00029 00030 00050 class TRunInformationTable 00051 { 00052 00053 public: 00054 enum { tNotFound = -1 }; 00055 00056 private: 00057 TRunInformationList theRunInformationList; 00058 00059 public: 00060 TRunInformationTable(); 00061 TRunInformationTable( const TRunInformationList& infolist ); 00062 TRunInformationTable( const TRunInformationTable& right ); 00063 ~TRunInformationTable(); 00064 00065 public: 00066 const TRunInformationTable& operator=( const TRunInformationTable& right ); 00067 Tbool operator==( const TRunInformationTable& right ) const; 00068 Tbool operator!=( const TRunInformationTable& right ) const; 00069 friend Tostream& operator<<( Tostream& tos, const TRunInformationTable& right ); 00070 friend TOutputHtmlFileStream& operator<<( TOutputHtmlFileStream& html, const TRunInformationTable& right ); 00071 friend TRunInformationTable operator+( const TRunInformationList& left, const TRunInformationTable& right ); 00072 friend TRunInformationTable operator+( const TRunInformation& left, const TRunInformationTable& right ); 00073 00074 public: 00075 TRunInformationTable operator+( const TRunInformationTable& right ) const; 00076 TRunInformationTable operator+( const TRunInformationList& right ) const; 00077 TRunInformationTable operator+( const TRunInformation& right ) const; 00078 TRunInformationTable& operator+=( const TRunInformationTable& right ); 00079 TRunInformationTable& operator+=( const TRunInformationList& right ); 00080 TRunInformationTable& operator+=( const TRunInformation& right ); 00081 00082 public: 00083 const TRunInformationList& GetRunInformationList() const; 00084 TRunInformationList& GetRunInformationList(); 00085 Tvoid SetRunInformationList( const TRunInformationList& infolist ); 00086 00087 public: 00088 Tint GetNumberOfRows() const; 00089 Tvoid SetRunInformation( const Tstring& item ); 00090 Tvoid SetRunInformation( const Tstring& item, const Tstring& value ); 00091 Tvoid SetRunInformation( const TRunInformation& runinfo ); 00092 Tvoid SetRunInformation(); 00093 Tvoid AddRunInformation( const Tstring& item ); 00094 Tvoid AddRunInformation( const Tstring& item, const Tstring& value ); 00095 Tvoid AddRunInformation( const TRunInformation& runinfo ); 00096 Tvoid AddRunInformation(); 00097 Tstring GetItem( const Tstring& value ) const; 00098 Tstring GetItem( Tint nrow ) const; 00099 Tstring GetValue( const Tstring& item ) const; 00100 Tstring GetValue( Tint nrow ) const; 00101 Tint FindItem( const Tstring& item ) const; 00102 Tint FindValue( const Tstring& value ) const; 00103 Tint FindRunInformation( const TRunInformation& runinfo ) const; 00104 Tbool HasItem( const Tstring& item ) const; 00105 Tbool HasRunInformation( const TRunInformation& runinfo ) const; 00106 Tvoid Remove( const Tstring& item ); 00107 Tvoid Remove( const TRunInformation& runinfo ); 00108 Tvoid Clear(); 00109 00110 }; 00111 00112 inline const TRunInformationList& TRunInformationTable::GetRunInformationList() const 00113 { 00114 return theRunInformationList; 00115 } 00116 00117 inline TRunInformationList& TRunInformationTable::GetRunInformationList() 00118 { 00119 return theRunInformationList; 00120 } 00121 00122 inline Tvoid TRunInformationTable::SetRunInformationList( const TRunInformationList& infolist ) 00123 { 00124 theRunInformationList = infolist; 00125 return; 00126 } 00127 00128 #endif