diff options
Diffstat (limited to 'Swift/Controllers')
| -rw-r--r-- | Swift/Controllers/HighlightManager.cpp | 8 | ||||
| -rw-r--r-- | Swift/Controllers/HighlightManager.h | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Swift/Controllers/HighlightManager.cpp b/Swift/Controllers/HighlightManager.cpp index eac562f..ca0567e 100644 --- a/Swift/Controllers/HighlightManager.cpp +++ b/Swift/Controllers/HighlightManager.cpp @@ -105,2 +105,10 @@ void HighlightManager::removeRule(int index) +void HighlightManager::swapRules(const size_t first, const size_t second) { + assert(first < rules_->getSize()); + assert(second < rules_->getSize()); + const HighlightRule swap = rules_->getRule(first); + rules_->setRule(first, rules_->getRule(second)); + rules_->setRule(second, swap); +} + void HighlightManager::storeSettings() diff --git a/Swift/Controllers/HighlightManager.h b/Swift/Controllers/HighlightManager.h index 3da72eb..07a3fe3 100644 --- a/Swift/Controllers/HighlightManager.h +++ b/Swift/Controllers/HighlightManager.h @@ -33,6 +33,9 @@ namespace Swift { const HighlightRule& getRule(const size_t index) const { return list_[index]; } - void addRule(const HighlightRule &rule) { list_.push_back(rule); } - void combineRules(const HighlightRulesList &rhs) { + void addRule(const HighlightRule& rule) { list_.push_back(rule); } + void combineRules(const HighlightRulesList& rhs) { list_.insert(list_.end(), rhs.list_.begin(), rhs.list_.end()); } + void setRule(const size_t index, const HighlightRule& rule) { + list_[index] = rule; + } private: @@ -51,2 +54,3 @@ namespace Swift { void removeRule(int index); + void swapRules(const size_t first, const size_t second); void storeSettings(); |
Swift