00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef FILTERCRITERIAWIDGET_H
00019 #define FILTERCRITERIAWIDGET_H
00020
00021
00022 #include <qwidget.h>
00023 #include <qlayout.h>
00024 #include <qcheckbox.h>
00025
00026
00027 #include <klineedit.h>
00028 #include <kseparator.h>
00029 #include <kdialog.h>
00030 #include <kcombobox.h>
00031 #include <klocale.h>
00032 #include <knuminput.h>
00033 #include <kpushbutton.h>
00034 #include <kregexpeditorinterface.h>
00035 #include <ktrader.h>
00036 #include <kdebug.h>
00037 #include <kmessagebox.h>
00038 #include <kparts/componentfactory.h>
00039
00040
00041 #include <constants.h>
00042 #include <types.h>
00043
00044
00045 #define ID_COMBO_SOURCE_FROM 0
00046 #define ID_COMBO_SOURCE_TO 1
00047 #define ID_COMBO_SOURCE_SIZE 2
00048 #define ID_COMBO_SOURCE_SUBJECT 3
00049 #define ID_COMBO_SOURCE_HEADER 4
00050 #define ID_COMBO_SOURCE_ACCOUNT 5
00051
00052 #define ID_COMBO_COND_TEXT_CONTAINS 0
00053 #define ID_COMBO_COND_TEXT_NOT_CONTAINS 1
00054 #define ID_COMBO_COND_TEXT_EQUALS 2
00055 #define ID_COMBO_COND_TEXT_NOT_EQUALS 3
00056 #define ID_COMBO_COND_TEXT_REGEXPR 4
00057 #define ID_COMBO_COND_TEXT_NOT_REGEXPR 5
00058
00059 #define ID_COMBO_COND_NUM_EQUAL 0
00060 #define ID_COMBO_COND_NUM_NOT_EQUAL 1
00061 #define ID_COMBO_COND_NUM_GREATER 2
00062 #define ID_COMBO_COND_NUM_GREATER_EQUAL 3
00063 #define ID_COMBO_COND_NUM_LESS 4
00064 #define ID_COMBO_COND_NUM_LESS_EQUAL 5
00065
00066 #define FILTER_CRITERIA_WIDGET_NAME "FilterCriteriaWidg"
00067
00068 using namespace Types;
00069
00074 class FilterCriteriaWidget : public QWidget
00075 {
00076
00077 Q_OBJECT
00078
00079 public:
00080
00085 FilterCriteriaWidget( QWidget *parent = 0 );
00086
00090 ~FilterCriteriaWidget();
00091
00098 void setNumCriteria( int source, int condition, uint value );
00099
00107 void setTextCriteria( int source, int condition, QString value, bool cs );
00108
00116 void setTextListCriteria( int source, int condition, QString value, bool cs );
00117
00122 FilterCriteria_Type getValues();
00123
00124 private:
00125
00129 KComboBox* cmbSource;
00130
00134 KComboBox* cmbConditionText;
00135
00139 KComboBox* cmbConditionTextList;
00140
00144 KComboBox* cmbConditionNum;
00145
00149 KLineEdit* txtCompValueText;
00150
00154 KIntNumInput* spbCompValueNum;
00155
00159 QCheckBox* chkCaseSensitive;
00160
00164 KPushButton* btnOpenRegExpEditor;
00165
00169 bool kRegExpEditorAvailable;
00170
00171
00172 private slots:
00173
00178 void slotSetWidgets();
00179
00183 void slotOpenRegExpEditor();
00184 };
00185
00186 #endif