diff options
| author | KyleMiles <krm504@nyu.edu> | 2022-01-27 22:43:28 -0500 |
|---|---|---|
| committer | KyleMiles <krm504@nyu.edu> | 2022-01-28 00:24:06 -0500 |
| commit | 6812c973c9fa9b4ad642ab81856c05f87bd6fcc4 (patch) | |
| tree | dace4156d03148bcaf02df138ab4e0d93e61bc6f /ui/typeview.h | |
| parent | 519c9db22367f2659d1a54599fab47e6313be06e (diff) | |
Format All Files
Diffstat (limited to 'ui/typeview.h')
| -rw-r--r-- | ui/typeview.h | 117 |
1 files changed, 61 insertions, 56 deletions
diff --git a/ui/typeview.h b/ui/typeview.h index 527e35cf..3a7e744b 100644 --- a/ui/typeview.h +++ b/ui/typeview.h @@ -3,9 +3,9 @@ #include <QtWidgets/QAbstractScrollArea> #include <QtWidgets/QComboBox> #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) -#include <QtWidgets/QAction> + #include <QtWidgets/QAction> #else -#include <QtGui/QAction> + #include <QtGui/QAction> #endif #include <QtCore/QTimer> #include <string> @@ -63,7 +63,7 @@ struct BINARYNINJAUIAPI TypeDefinitionLinesAndFilterStatus }; -class BINARYNINJAUIAPI TypeViewHistoryEntry: public HistoryEntry +class BINARYNINJAUIAPI TypeViewHistoryEntry : public HistoryEntry { BinaryNinja::QualifiedName m_cursorType; size_t m_cursorLine; @@ -74,7 +74,7 @@ class BINARYNINJAUIAPI TypeViewHistoryEntry: public HistoryEntry size_t m_selectionStartOffset; HighlightTokenState m_highlight; -public: + public: const BinaryNinja::QualifiedName& getCursorType() const { return m_cursorType; } size_t getCursorLine() const { return m_cursorLine; } size_t getCursorOffset() const { return m_cursorOffset; } @@ -103,7 +103,7 @@ public: class TypesContainer; -class BINARYNINJAUIAPI TypeView: public QAbstractScrollArea, public View, public BinaryNinja::BinaryDataNotification +class BINARYNINJAUIAPI TypeView : public QAbstractScrollArea, public View, public BinaryNinja::BinaryDataNotification { Q_OBJECT @@ -189,22 +189,23 @@ class BINARYNINJAUIAPI TypeView: public QAbstractScrollArea, public View, public void goToAddress(bool selecting); void moveCursorToMouse(QMouseEvent* event, bool selecting); - void createNewTypes(const QString& definition = "", const std::set<BinaryNinja::QualifiedName>& typesAllowRedefinition = {}); + void createNewTypes( + const QString& definition = "", const std::set<BinaryNinja::QualifiedName>& typesAllowRedefinition = {}); void bindActions(); void checkForValidSelection(); static TypeDefinitionLine getTypeDefinitionHeaderLine(PlatformRef platform, const std::string& name, TypeRef type); -public: + public: explicit TypeView(BinaryViewRef data, ViewFrame* view, TypesContainer* container, bool compact = false); virtual ~TypeView(); - virtual bool findNextData(uint64_t start, uint64_t end, const BinaryNinja::DataBuffer& data, uint64_t& addr, BNFindFlag flags, - const std::function<bool (size_t current, size_t total)>& cb) override; + virtual bool findNextData(uint64_t start, uint64_t end, const BinaryNinja::DataBuffer& data, uint64_t& addr, + BNFindFlag flags, const std::function<bool(size_t current, size_t total)>& cb) override; virtual bool findNextText(uint64_t start, uint64_t end, const std::string& text, uint64_t& addr, - DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, - const std::function<bool (size_t current, size_t total)>& cb) override; + DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, + const std::function<bool(size_t current, size_t total)>& cb) override; virtual BinaryViewRef getData() override { return m_data; } virtual uint64_t getCurrentOffset() override; virtual BNAddressRange getSelectionOffsets() override; @@ -216,20 +217,23 @@ public: virtual void setNavigationMode(std::string mode) override; virtual std::vector<std::string> getNavigationModes() override; - uint64_t findMatchingLine(const BinaryNinja::QualifiedName& name, uint64_t offset, - size_t& cursorOffset); + uint64_t findMatchingLine(const BinaryNinja::QualifiedName& name, uint64_t offset, size_t& cursorOffset); bool navigateToType(const std::string& name, uint64_t offset = 0); - virtual void OnTypeDefined(BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, - BinaryNinja::Type* type) override; - virtual void OnTypeUndefined(BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, - BinaryNinja::Type* type) override; - virtual void OnTypeReferenceChanged(BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, - BinaryNinja::Type* type) override; - virtual void OnTypeFieldReferenceChanged(BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, - uint64_t offset) override; + virtual void OnTypeDefined( + BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, BinaryNinja::Type* type) override; + virtual void OnTypeUndefined( + BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, BinaryNinja::Type* type) override; + virtual void OnTypeReferenceChanged( + BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, BinaryNinja::Type* type) override; + virtual void OnTypeFieldReferenceChanged( + BinaryNinja::BinaryView* view, const BinaryNinja::QualifiedName& name, uint64_t offset) override; - void MarkFilterChanged() { m_updatesRequired = true; m_filterChanged = true; } + void MarkFilterChanged() + { + m_updatesRequired = true; + m_filterChanged = true; + } void MarkTypeChanged(const BinaryNinja::QualifiedName& typeName); virtual void updateFonts() override; @@ -238,7 +242,7 @@ public: virtual BinaryNinja::Ref<HistoryEntry> getHistoryEntry() override; virtual void navigateToHistoryEntry(BinaryNinja::Ref<HistoryEntry> entry) override; - void lineNumberAreaPaintEvent(QPaintEvent *event); + void lineNumberAreaPaintEvent(QPaintEvent* event); int lineNumberAreaWidth(); virtual bool canCut() override { return false; } @@ -258,10 +262,12 @@ public: virtual ArchitectureRef getOrAskForArchitecture(); - bool isTypeCollapsed(const std::string& name) const { return m_collapsedTypes.find(name) != m_collapsedTypes.end(); } - static std::vector<TypeDefinitionLine> getLinesForType(const std::string& name, - const std::string& varName, size_t index, TypeRef type, TypeRef parent, BinaryViewRef data, - int paddingCols, bool collapsed = false); + bool isTypeCollapsed(const std::string& name) const + { + return m_collapsedTypes.find(name) != m_collapsedTypes.end(); + } + static std::vector<TypeDefinitionLine> getLinesForType(const std::string& name, const std::string& varName, + size_t index, TypeRef type, TypeRef parent, BinaryViewRef data, int paddingCols, bool collapsed = false); void showContextMenu(Menu* source = nullptr); @@ -271,7 +277,7 @@ public: bool isTypeTextFiltered(const std::string& name) const; -protected: + protected: virtual void resizeEvent(QResizeEvent* event) override; virtual void paintEvent(QPaintEvent* event) override; virtual void mousePressEvent(QMouseEvent* event) override; @@ -279,7 +285,7 @@ protected: virtual void mouseDoubleClickEvent(QMouseEvent* event) override; virtual void scrollContentsBy(int dx, int dy) override; -private Q_SLOTS: + private Q_SLOTS: void copySelection(); void selectAll(); void updateTimerEvent(); @@ -309,23 +315,23 @@ private Q_SLOTS: class BINARYNINJAUIAPI LineNumberArea : public QWidget { -public: - LineNumberArea(TypeView *editor) : QWidget(editor), m_typeEditor(editor) { } + public: + LineNumberArea(TypeView* editor) : QWidget(editor), m_typeEditor(editor) {} QSize sizeHint() const override { return QSize(m_typeEditor->lineNumberAreaWidth(), 0); } -protected: - void paintEvent(QPaintEvent *event) override { m_typeEditor->lineNumberAreaPaintEvent(event); } + protected: + void paintEvent(QPaintEvent* event) override { m_typeEditor->lineNumberAreaPaintEvent(event); } -private: + private: TypeView* m_typeEditor; }; -class TypeViewType: public ViewType +class TypeViewType : public ViewType { static TypeViewType* m_instance; -public: + public: TypeViewType(); virtual int getPriority(BinaryViewRef data, const QString& filename) override; virtual QWidget* create(BinaryViewRef data, ViewFrame* viewFrame) override; @@ -333,22 +339,22 @@ public: }; -class BINARYNINJAUIAPI TypeFilterEdit: public QLineEdit +class BINARYNINJAUIAPI TypeFilterEdit : public QLineEdit { Q_OBJECT -public: + public: TypeFilterEdit(QWidget* parent); -protected: + protected: virtual void keyPressEvent(QKeyEvent* event) override; -Q_SIGNALS: + Q_SIGNALS: void focusView(); }; -class BINARYNINJAUIAPI TypeFilter: public QWidget +class BINARYNINJAUIAPI TypeFilter : public QWidget { Q_OBJECT @@ -359,18 +365,18 @@ class BINARYNINJAUIAPI TypeFilter: public QWidget bool MatchesAutoFilter(BinaryViewRef data, const BinaryNinja::QualifiedName& name); bool MatchesTextFilter(const std::vector<TypeDefinitionLine>& lines); -Q_SIGNALS: + Q_SIGNALS: void filterChanged(); -private Q_SLOTS: + private Q_SLOTS: void focusView(); -public: + public: TypeFilter(TypesContainer* container = nullptr); void setContainer(TypesContainer* container) { m_container = container; } - TypeLinesFilteredReason checkTypeLinesForFilter(BinaryViewRef data, const BinaryNinja::QualifiedName& name, - const std::vector<TypeDefinitionLine>& lines); + TypeLinesFilteredReason checkTypeLinesForFilter( + BinaryViewRef data, const BinaryNinja::QualifiedName& name, const std::vector<TypeDefinitionLine>& lines); void showAndFocus(); bool areAutoTypesVisible(); void setShowAutoTypes(bool showAutoTypes); @@ -378,7 +384,7 @@ public: }; -class BINARYNINJAUIAPI TypesContainer: public QWidget, public ViewContainer +class BINARYNINJAUIAPI TypesContainer : public QWidget, public ViewContainer { Q_OBJECT @@ -386,9 +392,8 @@ class BINARYNINJAUIAPI TypesContainer: public QWidget, public ViewContainer TypeFilter* m_typeFilter; UIActionHandler m_actionHandler; -public: - TypesContainer(BinaryViewRef data, ViewFrame* view, - TypeFilter* filter = nullptr, bool compact = false); + public: + TypesContainer(BinaryViewRef data, ViewFrame* view, TypeFilter* filter = nullptr, bool compact = false); virtual View* getView() override { return m_typeView; } TypeView* getTypesView() { return m_typeView; } @@ -396,12 +401,12 @@ public: bool navigateToType(const std::string& name, uint64_t offset = 0); -protected: + protected: virtual void focusInEvent(QFocusEvent* event) override; }; -class BINARYNINJAUIAPI TypeViewSidebarWidget: public SidebarWidget +class BINARYNINJAUIAPI TypeViewSidebarWidget : public SidebarWidget { Q_OBJECT @@ -409,7 +414,7 @@ class BINARYNINJAUIAPI TypeViewSidebarWidget: public SidebarWidget QWidget* m_header; Menu m_addMenu; -public: + public: TypeViewSidebarWidget(BinaryViewRef data, ViewFrame* frame); TypesContainer* container() const { return m_container; } @@ -417,14 +422,14 @@ public: virtual QWidget* headerWidget() override { return m_header; } -private Q_SLOTS: + private Q_SLOTS: void showAddMenu(); }; -class BINARYNINJAUIAPI TypeViewSidebarWidgetType: public SidebarWidgetType +class BINARYNINJAUIAPI TypeViewSidebarWidgetType : public SidebarWidgetType { -public: + public: TypeViewSidebarWidgetType(); virtual SidebarWidget* createWidget(ViewFrame* frame, BinaryViewRef data) override; }; |
