OpenMW
apps/opencs/model/filter/node.hpp
Go to the documentation of this file.
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