diff options
Diffstat (limited to 'ui/dockhandler.h')
| -rw-r--r-- | ui/dockhandler.h | 60 |
1 files changed, 35 insertions, 25 deletions
diff --git a/ui/dockhandler.h b/ui/dockhandler.h index 9a053b46..cb150a81 100644 --- a/ui/dockhandler.h +++ b/ui/dockhandler.h @@ -17,14 +17,17 @@ class Menu; struct BINARYNINJAUIAPI DockProperties { - DockProperties() { }; + DockProperties() {}; DockProperties(QDockWidget* dw, bool vis, Qt::DockWidgetArea dar, Qt::Orientation dor, bool dvis, bool vs) : - dockWidget(dw), visibleState(vis), defaultArea(dar), defaultOrientation(dor), defaultVisibility(dvis), - viewSensitive(vs), neverBeenVisible(true), sizeStash(0, 0), actionOnShow(nullptr) { } - DockProperties(const DockProperties &dp) : - dockWidget(dp.dockWidget), visibleState(dp.visibleState), defaultArea(dp.defaultArea), - defaultOrientation(dp.defaultOrientation), defaultVisibility(dp.defaultVisibility), - viewSensitive(dp.viewSensitive), neverBeenVisible(dp.neverBeenVisible), sizeStash(dp.sizeStash), actionOnShow(dp.actionOnShow) { } + dockWidget(dw), visibleState(vis), defaultArea(dar), defaultOrientation(dor), defaultVisibility(dvis), + viewSensitive(vs), neverBeenVisible(true), sizeStash(0, 0), actionOnShow(nullptr) + {} + DockProperties(const DockProperties& dp) : + dockWidget(dp.dockWidget), visibleState(dp.visibleState), defaultArea(dp.defaultArea), + defaultOrientation(dp.defaultOrientation), defaultVisibility(dp.defaultVisibility), + viewSensitive(dp.viewSensitive), neverBeenVisible(dp.neverBeenVisible), sizeStash(dp.sizeStash), + actionOnShow(dp.actionOnShow) + {} DockProperties& operator=(const DockProperties& dp) { dockWidget = dp.dockWidget; @@ -53,7 +56,7 @@ struct BINARYNINJAUIAPI DockProperties struct DockSizePrefs { - DockSizePrefs() { } + DockSizePrefs() {} QList<QDockWidget*> docks; QList<int> hDockSizes; QList<int> vDockSizes; @@ -63,32 +66,32 @@ struct DockSizePrefs class BINARYNINJAUIAPI DockContextHandler { -protected: + protected: QString m_name; UIActionHandler m_actionHandler; ContextMenuManager* m_contextMenuManager = nullptr; Menu* m_menu = nullptr; QWidget* m_parentWindow; -public: + public: DockContextHandler(QWidget* widget, const QString& name); virtual ~DockContextHandler(); QString getName() const { return m_name; } QWidget* getParentWindow() const { return m_parentWindow; } - virtual void notifyFontChanged() { } - virtual void notifyOffsetChanged(uint64_t /*offset*/) { } - virtual void notifyThemeChanged() { } - virtual void notifyViewChanged(ViewFrame* /*frame*/) { } - virtual void notifyViewLocationChanged(View* /*view*/, const ViewLocation& /*viewLocation*/) { } - virtual void notifyVisibilityChanged(bool /*visible*/) { } + virtual void notifyFontChanged() {} + virtual void notifyOffsetChanged(uint64_t /*offset*/) {} + virtual void notifyThemeChanged() {} + virtual void notifyViewChanged(ViewFrame* /*frame*/) {} + virtual void notifyViewLocationChanged(View* /*view*/, const ViewLocation& /*viewLocation*/) {} + virtual void notifyVisibilityChanged(bool /*visible*/) {} virtual bool shouldBeVisible(ViewFrame* /*frame*/) { return true; } }; Q_DECLARE_INTERFACE(DockContextHandler, "binary.ninja.dockcontexthandler/1.0"); -class BINARYNINJAUIAPI DockHandler: public QObject +class BINARYNINJAUIAPI DockHandler : public QObject { Q_OBJECT @@ -105,11 +108,13 @@ class BINARYNINJAUIAPI DockHandler: public QObject friend class DockContextHandler; std::map<QWidget*, DockContextHandler*> m_contexts; - std::map<QString, std::pair<QString, std::function<QWidget*(const QString&, ViewFrame*, BinaryViewRef)>>> m_widgetFactories; + std::map<QString, std::pair<QString, std::function<QWidget*(const QString&, ViewFrame*, BinaryViewRef)>>> + m_widgetFactories; DockContextHandler* getDockContextHandler(QWidget* widget); - bool addDockWidget(const QString& name, QWidget* widget, Qt::DockWidgetArea area, Qt::Orientation orientation, bool defaultVisibility); + bool addDockWidget(const QString& name, QWidget* widget, Qt::DockWidgetArea area, Qt::Orientation orientation, + bool defaultVisibility); -public: + public: explicit DockHandler(QObject* parent, int windowIndex); void close(); @@ -117,9 +122,14 @@ public: void reset(bool initial = false); void reset(const QString& name); void resizeDocksOnShow(bool resizeDocks) { m_resizeDocksRequest = resizeDocks; } - bool addDockWidget(QWidget* widget, Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, Qt::Orientation orientation = Qt::Horizontal, bool defaultVisibility = false); - bool addDockWidget(const QString& name, const std::function<QWidget*(const QString&, ViewFrame*, BinaryViewRef)>& createWidget, Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, Qt::Orientation orientation = Qt::Horizontal, bool defaultVisibility = false); - void createDynamicWidgets(ViewFrame* frame, BinaryViewRef data, std::map<QString, QPointer<QWidget>>& store, std::vector<QString> filter, bool isExcludeFilter = true); + bool addDockWidget(QWidget* widget, Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, + Qt::Orientation orientation = Qt::Horizontal, bool defaultVisibility = false); + bool addDockWidget(const QString& name, + const std::function<QWidget*(const QString&, ViewFrame*, BinaryViewRef)>& createWidget, + Qt::DockWidgetArea area = Qt::BottomDockWidgetArea, Qt::Orientation orientation = Qt::Horizontal, + bool defaultVisibility = false); + void createDynamicWidgets(ViewFrame* frame, BinaryViewRef data, std::map<QString, QPointer<QWidget>>& store, + std::vector<QString> filter, bool isExcludeFilter = true); QDockWidget* getDockWidget(const QString& name); ViewFrame* getViewFrame() { return m_viewFrame; } bool isVisible(const QString& name); @@ -139,10 +149,10 @@ public: static DockHandler* getActiveDockHandler(); -Q_SIGNALS: + Q_SIGNALS: void notifyVisibilityChanged(); -public Q_SLOTS: + public Q_SLOTS: void viewChanged(ViewFrame* frame); void visibilityChanged(bool visible); void topLevelChanged(bool topLevel); |
