00001 #include "qseregexpparametereditor.h"
00002 #include "qseregexpparameter.h"
00003 #include <QLineEdit>
00004 #include <QCheckBox>
00005 #include <QPushButton>
00006
00007 QseRegExpParameterEditor::QseRegExpParameterEditor
00008 (QseOperatorEditor* ed, QseRegExpParameter* param, QObject* parent)
00009 : QseParameterEditor(ed, param, parent),
00010 m_RegExpParameter(param),
00011 m_PatternEdit(NULL),
00012 m_UseRegExp(NULL)
00013 {
00014 }
00015
00016 void QseRegExpParameterEditor::setEditors
00017 (QLineEdit* pattern, QCheckBox* useRegExp, QPushButton* apply, QPushButton* cancel)
00018 {
00019 QseParameterEditor::setEditors(apply, cancel);
00020
00021 m_PatternEdit = pattern;
00022 m_UseRegExp = useRegExp;
00023
00024 connect(m_PatternEdit, SIGNAL(textChanged(const QString&)), this, SLOT(editorChanged()));
00025 connect(m_UseRegExp, SIGNAL(toggled(bool)), this, SLOT(editorChanged()));
00026
00027 editorCancel();
00028 }
00029
00030 bool QseRegExpParameterEditor::editorValidate()
00031 {
00032
00033
00034 return true;
00035 }
00036
00037 void QseRegExpParameterEditor::editorApply()
00038 {
00039 QRegExp r = m_RegExpParameter->value().toRegExp();
00040
00041
00042
00043 r.setPatternSyntax(m_UseRegExp->isChecked() ? QRegExp::RegExp : QRegExp::Wildcard);
00044 r.setPattern(m_PatternEdit->text());
00045
00046
00047
00048 m_RegExpParameter->setValue(r);
00049
00050
00051
00052
00053 }
00054
00055 void QseRegExpParameterEditor::editorCancel()
00056 {
00057 QRegExp r = m_RegExpParameter->value().toRegExp();
00058
00059 m_PatternEdit -> setText(r.pattern());
00060 m_UseRegExp -> setChecked(r.patternSyntax()==QRegExp::RegExp);
00061 }