OpenMW
apps/opencs/view/filter/editwidget.hpp
Go to the documentation of this file.
00001 #ifndef CSV_FILTER_EDITWIDGET_H
00002 #define CSV_FILTER_EDITWIDGET_H
00003 
00004 #include <boost/shared_ptr.hpp>
00005 
00006 #include <QLineEdit>
00007 #include <QPalette>
00008 
00009 #include "../../model/filter/parser.hpp"
00010 #include "../../model/filter/node.hpp"
00011 
00012 class QModelIndex;
00013 
00014 namespace CSMWorld
00015 {
00016     class Data;
00017 }
00018 
00019 namespace CSVFilter
00020 {
00021     class EditWidget : public QLineEdit
00022     {
00023             Q_OBJECT
00024 
00025             CSMFilter::Parser mParser;
00026             QPalette mPalette;
00027 
00028         public:
00029 
00030             EditWidget (CSMWorld::Data& data, QWidget *parent = 0);
00031 
00032         signals:
00033 
00034             void filterChanged (boost::shared_ptr<CSMFilter::Node> filter);
00035 
00036         private slots:
00037 
00038             void textChanged (const QString& text);
00039 
00040             void filterDataChanged (const QModelIndex& topLeft, const QModelIndex& bottomRight);
00041 
00042             void filterRowsRemoved (const QModelIndex& parent, int start, int end);
00043 
00044             void filterRowsInserted (const QModelIndex& parent, int start, int end);
00045     };
00046 }
00047 
00048 #endif