#ifndef __RULE_EDITOR__ #define __RULE_EDITOR__ class Rule; class RuleSetHighlighter; #include namespace Ui { class RuleEditor; }; class RuleEditor : public QDialog { Q_OBJECT public: RuleEditor(QWidget *parent = 0); void setRule(const Rule *r); void setIndex(int idx) { _idx = idx; } int index() const { return _idx; } void setRegex(const QString &s); const QString regex() const; void addOption(const QString &key, const QString &value); void setRuleId(const QString id); void setLast(bool is_last); void setRevision(const QString t); void setSilent(bool is_set); void setChained(bool is_set); void setGoto(const QString t); void setOptGoto(const QString t); operator Rule*(); public slots: void clear(); private slots: void addProperty(); void deleteProperty(); private: void createPropertiesEditor(); void createValidators(); void connectSlots(); void clearOptions(); void setCurrentRegexFile(const QString &fileName); QString strippedName(const QString &fullFileName); RuleSetHighlighter * highlighter; QString curRegexFile; int _idx; Ui::RuleEditor *ui; }; #endif /* __RULE_EDITOR__ */