$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_TableTableViewColumnInfo_h_ 00002 #define _ots_TableTableViewColumnInfo_h_ 00003 00004 #include <map> 00005 #include <memory> /* shared_ptr */ 00006 #include <string> 00007 #include <vector> 00008 00009 namespace ots 00010 { 00011 class TableViewColumnInfo 00012 { 00013 public: 00014 TableViewColumnInfo(const std::string& type, 00015 const std::string& name, 00016 const std::string& storageName, 00017 const std::string& dataType, 00018 const std::string& dataChoicesCSV, 00019 std::string* capturedExceptionString); 00020 TableViewColumnInfo( 00021 const TableViewColumnInfo& c); // copy constructor because of bitmap pointer 00022 TableViewColumnInfo& operator=( 00023 const TableViewColumnInfo& c); // assignment operator because of bitmap pointer 00024 00025 virtual ~TableViewColumnInfo(void); 00026 00027 const std::string& getType(void) const; 00028 const std::string& getName(void) const; 00029 const std::string& getStorageName(void) const; 00030 const std::string& getDataType(void) const; 00031 const std::string& getDefaultValue(void) const; 00032 const std::vector<std::string>& getDataChoices(void) const; 00033 00034 struct BitMapInfo // uses dataChoices CSV fields if type is TYPE_BITMAP_DATA 00035 { 00036 BitMapInfo() : minColor_(""), midColor_(""), maxColor_("") {} 00037 unsigned int numOfRows_, numOfColumns_, cellBitSize_; 00038 uint64_t minValue_, maxValue_, stepValue_; 00039 std::string aspectRatio_; 00040 std::string minColor_, midColor_, maxColor_; 00041 std::string absMinColor_, absMaxColor_; 00042 bool rowsAscending_, colsAscending_, snakeRows_, snakeCols_; 00043 }; 00044 const BitMapInfo& getBitMapInfo( 00045 void) const; // uses dataChoices CSV fields if type is TYPE_BITMAP_DATA 00046 00047 static std::vector<std::string> getAllTypesForGUI(void); 00048 static std::map<std::pair<std::string, std::string>, std::string> 00049 getAllDefaultsForGUI(void); 00050 static std::vector<std::string> getAllDataTypesForGUI(void); 00051 00052 const bool isChildLink(void) const; 00053 const bool isChildLinkUID(void) const; 00054 const bool isChildLinkGroupID(void) const; 00055 const bool isGroupID(void) const; 00056 const bool isUID(void) const; 00057 const bool isBoolType(void) const; 00058 const bool isNumberDataType(void) const; 00059 00060 std::string getChildLinkIndex(void) const; 00061 00062 static const std::string TYPE_UID; 00063 static const std::string TYPE_DATA, TYPE_UNIQUE_DATA, TYPE_UNIQUE_GROUP_DATA, 00064 TYPE_MULTILINE_DATA, TYPE_FIXED_CHOICE_DATA, TYPE_BITMAP_DATA; 00065 static const std::string TYPE_ON_OFF, TYPE_TRUE_FALSE, TYPE_YES_NO; 00066 static const std::string TYPE_COMMENT, TYPE_AUTHOR, TYPE_TIMESTAMP; 00067 static const std::string TYPE_START_CHILD_LINK, TYPE_START_CHILD_LINK_UID, 00068 TYPE_START_CHILD_LINK_GROUP_ID, TYPE_START_GROUP_ID; 00069 static const std::string DATATYPE_NUMBER, DATATYPE_STRING, DATATYPE_TIME; 00070 00071 static const std::string TYPE_VALUE_YES; 00072 static const std::string TYPE_VALUE_NO; 00073 static const std::string TYPE_VALUE_TRUE; 00074 static const std::string TYPE_VALUE_FALSE; 00075 static const std::string TYPE_VALUE_ON; 00076 static const std::string TYPE_VALUE_OFF; 00077 00078 static const std::string DATATYPE_STRING_DEFAULT; 00079 static const std::string DATATYPE_COMMENT_DEFAULT; 00080 static const std::string DATATYPE_BOOL_DEFAULT; 00081 static const std::string DATATYPE_NUMBER_DEFAULT; 00082 static const std::string DATATYPE_TIME_DEFAULT; 00083 static const std::string DATATYPE_LINK_DEFAULT; 00084 00085 static const std::string COL_NAME_STATUS, COL_NAME_PRIORITY; 00086 00087 private: 00088 TableViewColumnInfo(); // private constructor, only used in assignment operator 00089 void extractBitMapInfo(); 00090 00091 protected: 00092 std::string type_; 00093 std::string name_; 00094 std::string storageName_; 00095 std::string dataType_; 00096 std::vector<std::string> dataChoices_; 00097 BitMapInfo* bitMapInfoP_; 00098 }; 00099 00100 } // namespace ots 00101 00102 #endif