summaryrefslogtreecommitdiff
path: root/ui/typebrowser.h
diff options
context:
space:
mode:
authorJosh Ferrell <josh@vector35.com>2026-01-26 14:23:12 -0500
committerJosh Ferrell <josh@vector35.com>2026-02-06 17:53:45 -0500
commit70bbb18a9444824a8ec2b9a7ff57fc848e017b6e (patch)
treefe87c0976b75a7557986d1ac6bcc2409a839624c /ui/typebrowser.h
parent9b7604d13e8bd98c6998facb9326926ed96281b5 (diff)
Add regex and case sensitivity options to FilterEdit
Diffstat (limited to 'ui/typebrowser.h')
-rw-r--r--ui/typebrowser.h18
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;