diff options
| author | Mason Reed <mason@vector35.com> | 2025-10-12 22:46:54 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-10-12 22:50:20 -0400 |
| commit | 40f7d40e394657575001a8146d8233f1fc4356fd (patch) | |
| tree | a1dfac7f90bbd284119d0a3e10e205fe2e0303c1 /plugins/warp/ui/shared/function.h | |
| parent | 49558b88ed5dacaac0bdf1946291bc37a4a88cb9 (diff) | |
[WARP] Improve UX surrounding removal of matched functions
- Adds Python API to remove matched function
- Adds command + UI actions to remove matched function
- Adds command + UI actions to ignore function in subsequent matches
Diffstat (limited to 'plugins/warp/ui/shared/function.h')
| -rw-r--r-- | plugins/warp/ui/shared/function.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/warp/ui/shared/function.h b/plugins/warp/ui/shared/function.h index 5cfaff75..6281944d 100644 --- a/plugins/warp/ui/shared/function.h +++ b/plugins/warp/ui/shared/function.h @@ -49,6 +49,8 @@ public: void InsertFunction(uint64_t address, WarpFunctionItem* item); + void RemoveFunction(uint64_t address); + WarpFunctionItem* GetItem(const QModelIndex& index) const; std::optional<uint64_t> GetAddress(const QModelIndex& index) const; @@ -68,6 +70,8 @@ public: emit dataChanged(topLeft, bottomRight); } } + + Warp::Ref<Warp::Function> GetMatchedFunction() const { return m_matchedFunction; } }; class WarpFunctionFilterModel : public QSortFilterProxyModel @@ -95,6 +99,7 @@ class WarpFunctionTableWidget : public QWidget, public FilterTarget FilteredView* m_filterView; QMenu* m_contextMenu; std::map<QString, std::function<void(WarpFunctionItem*, std::optional<uint64_t>)>> m_contextMenuActions; + std::map<QString, std::function<bool(WarpFunctionItem*, std::optional<uint64_t>)>> m_contextMenuIsValid; public: explicit WarpFunctionTableWidget(QWidget* parent = nullptr); @@ -107,10 +112,17 @@ public: void RegisterContextMenuAction( const QString& name, const std::function<void(WarpFunctionItem*, std::optional<uint64_t>)>& callback); + void RegisterContextMenuAction( + const QString &name, + const std::function<void(WarpFunctionItem *, std::optional<uint64_t>)> &callback, + const std::function<bool(WarpFunctionItem *, std::optional<uint64_t>)> &isValid); + void SetFunctions(QVector<WarpFunctionItem*> functions); void InsertFunction(uint64_t address, WarpFunctionItem* function); + void RemoveFunction(uint64_t address); + void setFilter(const std::string&) override; void scrollToFirstItem() override {} |
