summaryrefslogtreecommitdiff
path: root/ui/dockhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/dockhandler.h')
-rw-r--r--ui/dockhandler.h60
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);