diff options
| author | Josh Ferrell <josh@vector35.com> | 2026-01-26 14:23:12 -0500 |
|---|---|---|
| committer | Josh Ferrell <josh@vector35.com> | 2026-02-06 17:53:45 -0500 |
| commit | 70bbb18a9444824a8ec2b9a7ff57fc848e017b6e (patch) | |
| tree | fe87c0976b75a7557986d1ac6bcc2409a839624c /ui/typebrowser.h | |
| parent | 9b7604d13e8bd98c6998facb9326926ed96281b5 (diff) | |
Add regex and case sensitivity options to FilterEdit
Diffstat (limited to 'ui/typebrowser.h')
| -rw-r--r-- | ui/typebrowser.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/ui/typebrowser.h b/ui/typebrowser.h index 60eb0c30..6cd2ce89 100644 --- a/ui/typebrowser.h +++ b/ui/typebrowser.h @@ -65,7 +65,7 @@ public: virtual std::string text(int column) const = 0; virtual bool lessThan(const TypeBrowserTreeNode& other, int column) const = 0; - virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode) const = 0; + virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const = 0; virtual void updateChildren(bool recursive, UpdateNodeCallback update); }; @@ -78,7 +78,7 @@ public: virtual std::string text(int column) const override; virtual bool lessThan(const TypeBrowserTreeNode& other, int column) const override; - virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode) const override; + virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const override; protected: virtual void generateChildren() override; @@ -96,7 +96,7 @@ public: virtual std::string text(int column) const override; virtual bool lessThan(const TypeBrowserTreeNode& other, int column) const override; - virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode) const override; + virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const override; protected: virtual void generateChildren() override; @@ -148,7 +148,7 @@ public: virtual std::string text(int column) const override; virtual bool lessThan(const TypeBrowserTreeNode& other, int column) const override; - virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode) const override; + virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const override; protected: virtual void generateChildren() override; @@ -166,7 +166,7 @@ public: virtual ~TypeContainerTreeNode(); virtual std::string text(int column) const override; - virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode) const override; + virtual bool filter(const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const override; virtual bool lessThan(const TypeBrowserTreeNode& other, int column) const override; const std::string& containerId() const { return m_containerId; } @@ -293,7 +293,7 @@ public: std::shared_ptr<TypeBrowserTreeNode> nodeForIndex(const QModelIndex& index) const; QModelIndex indexForNode(std::shared_ptr<TypeBrowserTreeNode> node, int column = 0) const; - bool filter(const QModelIndex& index, const std::string& filter, TypeBrowserFilterMode mode) const; + bool filter(const QModelIndex& index, const std::string& filter, TypeBrowserFilterMode mode, bool caseSensitive) const; bool lessThan(const QModelIndex& left, const QModelIndex& right) const; void OnTypeDefined(BinaryNinja::BinaryView* data, const BinaryNinja::QualifiedName& name, BinaryNinja::Type* type) override; @@ -326,7 +326,9 @@ class BINARYNINJAUIAPI TypeBrowserFilterModel : public QSortFilterProxyModel Q_OBJECT BinaryViewRef m_data; TypeBrowserModel* m_model; + std::string m_originalFilter; std::string m_filter; + bool m_filterCaseSensitive = false; TypeBrowserFilterMode m_filterMode; bool m_exactOnTop; @@ -337,7 +339,7 @@ protected: public: TypeBrowserFilterModel(BinaryViewRef data, TypeBrowserModel* model, QObject* parent); - void setFilter(const std::string& filter); + void setFilter(const std::string& filter, FilterOptions options); TypeBrowserFilterMode filterMode() const { return m_filterMode; } void setFilterMode(TypeBrowserFilterMode newMode) { m_filterMode = newMode; } @@ -435,7 +437,7 @@ public: virtual StatusBarWidget* getStatusBarWidget() override; virtual QWidget* getHeaderOptionsWidget() override; - virtual void setFilter(const std::string& filter) override; + virtual void setFilter(const std::string& filter, FilterOptions options) override; virtual void scrollToFirstItem() override; virtual void scrollToCurrentItem() override; virtual void ensureSelection() override; |
