OpenMW
|
00001 #ifndef CSM_FILTER_NODE_H 00002 #define CSM_FILTER_NODE_H 00003 00004 #include <string> 00005 #include <map> 00006 #include <vector> 00007 00008 #include <boost/shared_ptr.hpp> 00009 00010 #include <QMetaType> 00011 00012 namespace CSMWorld 00013 { 00014 class IdTable; 00015 } 00016 00017 namespace CSMFilter 00018 { 00023 class Node 00024 { 00025 // not implemented 00026 Node (const Node&); 00027 Node& operator= (const Node&); 00028 00029 public: 00030 00031 Node(); 00032 00033 virtual ~Node(); 00034 00035 virtual bool test (const CSMWorld::IdTable& table, int row, 00036 const std::map<int, int>& columns) const = 0; 00039 00040 virtual std::vector<int> getReferencedColumns() const = 0; 00043 00044 virtual std::string toString (bool numericColumns) const = 0; 00048 }; 00049 } 00050 00051 Q_DECLARE_METATYPE (boost::shared_ptr<CSMFilter::Node>) 00052 00053 #endif