diff options
| author | Brian Potchik <brian@vector35.com> | 2024-11-21 15:38:49 -0500 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2024-11-21 15:38:49 -0500 |
| commit | d707b4012c516e1aa15e0cc4b0b01ebdd3a7d184 (patch) | |
| tree | 825f0e279902b23a4d104c03d1462c0579a4b8cf | |
| parent | 07fac8b5f590f31f879dda36ecd7e943ae63f97c (diff) | |
Remove DockHandler and DockWidget support.
| -rw-r--r-- | docs/guide/settings.md | 1 | ||||
| -rw-r--r-- | ui/dockhandler.h | 178 | ||||
| -rw-r--r-- | ui/featuremap.h | 3 | ||||
| -rw-r--r-- | ui/memorymap.h | 2 | ||||
| -rw-r--r-- | ui/scriptingconsole.h | 1 | ||||
| -rw-r--r-- | ui/stackview.h | 1 | ||||
| -rw-r--r-- | ui/tagtypelist.h | 1 | ||||
| -rw-r--r-- | ui/variablelist.h | 1 | ||||
| -rw-r--r-- | ui/viewframe.h | 11 |
9 files changed, 4 insertions, 195 deletions
diff --git a/docs/guide/settings.md b/docs/guide/settings.md index cece3c51..0d5cc22e 100644 --- a/docs/guide/settings.md +++ b/docs/guide/settings.md @@ -295,7 +295,6 @@ All settings are uniquely identified with an identifier string. Identifiers are |triage|Always Prefer Triage Summary View|Always prefer opening binaries in Triage Summary view, even when performing full analysis.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='triage.preferSummaryView'>triage.preferSummaryView</a>| |triage|Prefer Triage Summary View for Raw Files|Prefer opening raw files in Triage Summary view.|`boolean`|`False`|[`SettingsProjectScope`, `SettingsResourceScope`, `SettingsUserScope`]|<a id='triage.preferSummaryViewForRaw'>triage.preferSummaryViewForRaw</a>| |ui|Allow Welcome Popup|By default, the welcome window will only show up when it has changed and this install has not seen it. However, disabling this setting will prevent even that.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.allowWelcome'>ui.allowWelcome</a>| -|ui|Dock Window Title Bars|Enable to display title bars for dockable windows attached to a main window.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.docks.titleBars'>ui.docks.titleBars</a>| |ui|Typelib Explorer|Enables Type Library Explorer tools. Requires a restart and creates a new sidebar icon that can be enabled.|`boolean`|`False`|[`SettingsUserScope`]|<a id='ui.experimental.typelibExplorer'>ui.experimental.typelibExplorer</a>| |ui|Developer Tools|Enables Qt UI development tooling. Requires a restart and creates a new sidebar icon that can be enabled.|`boolean`|`False`|[`SettingsUserScope`]|<a id='ui.experimental.uiDeveloperTools'>ui.experimental.uiDeveloperTools</a>| |ui|Feature Map|Enable the feature map which displays a visual overview of the BinaryView.|`boolean`|`True`|[`SettingsUserScope`]|<a id='ui.featureMap.enable'>ui.featureMap.enable</a>| diff --git a/ui/dockhandler.h b/ui/dockhandler.h deleted file mode 100644 index 846fb883..00000000 --- a/ui/dockhandler.h +++ /dev/null @@ -1,178 +0,0 @@ -#pragma once - -#include <QtCore/QObject> -#include <QtCore/QSettings> -#include <QtWidgets/QDockWidget> -#include <map> - -#include "binaryninjaapi.h" -#include "action.h" -#include "viewframe.h" -#include "uitypes.h" - -class ContextMenuManager; -class DockHandler; -class Menu; - -/*! - - \defgroup dockhandler DockHandler - \ingroup uiapi -*/ - -/*! - - \ingroup dockhandler -*/ -struct BINARYNINJAUIAPI 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) - {} - DockProperties& operator=(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; - return *this; - } - - QDockWidget* dockWidget; - bool visibleState; - Qt::DockWidgetArea defaultArea; - Qt::Orientation defaultOrientation; - bool defaultVisibility; - bool viewSensitive; - bool neverBeenVisible; - QSize sizeStash; - std::function<void()> actionOnShow; -}; - -/*! - - \ingroup dockhandler -*/ -struct DockSizePrefs -{ - DockSizePrefs() {} - QList<QDockWidget*> docks; - QList<int> hDockSizes; - QList<int> vDockSizes; - bool nonUniformVisibility = false; -}; - -/*! - - \ingroup dockhandler -*/ -class BINARYNINJAUIAPI DockContextHandler -{ - protected: - QString m_name; - UIActionHandler m_actionHandler; - ContextMenuManager* m_contextMenuManager = nullptr; - Menu* m_menu = nullptr; - QWidget* m_parentWindow; - - 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 bool shouldBeVisible(ViewFrame* /*frame*/) { return true; } -}; -Q_DECLARE_INTERFACE(DockContextHandler, "binary.ninja.dockcontexthandler/1.0"); - -/*! - - \ingroup dockhandler -*/ -class BINARYNINJAUIAPI DockHandler : public QObject -{ - Q_OBJECT - - int m_windowIndex = 0; - ViewFrame* m_viewFrame = nullptr; - View* m_view = nullptr; - BinaryViewRef m_data; - std::map<QString, DockProperties> m_docks; - bool m_resizeDocksRequest = false; - bool m_shouldResizeDocks = false; - std::map<Qt::DockWidgetArea, bool> m_enableHiddenGroupSave; - - std::map<View*, ViewLocation> m_currentViewLocation; - - friend class DockContextHandler; - std::map<QWidget*, DockContextHandler*> m_contexts; - 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); - - public: - explicit DockHandler(QObject* parent, int windowIndex); - - void close(); - void notifyRestoredFromState(); - 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); - QDockWidget* getDockWidget(const QString& name); - ViewFrame* getViewFrame() { return m_viewFrame; } - bool isVisible(const QString& name); - void setVisible(const QString& name, bool visible); - - void saveState(QSettings& settings, const QString& windowStateName); - void restoreState(QSettings& settings, const QString& windowStateName); - void saveDockSizes(bool nullFrame = false); - void restoreDockSizes(); - - bool shouldResizeDocks(); - void updateFonts(); - void clearViewLocation(View* view); - void updateViewLocation(View* view, const ViewLocation& viewLocation); - void updateTheme(); - void addActionOnShow(const QString& name, const std::function<void()>& action); - - static DockHandler* getActiveDockHandler(); - - Q_SIGNALS: - void notifyVisibilityChanged(); - - public Q_SLOTS: - void viewChanged(ViewFrame* frame); - void visibilityChanged(bool visible); - void topLevelChanged(bool topLevel); - void removeWidget(QObject* object); -}; diff --git a/ui/featuremap.h b/ui/featuremap.h index 12b25488..17407d1e 100644 --- a/ui/featuremap.h +++ b/ui/featuremap.h @@ -15,12 +15,11 @@ #include <vector> #include "binaryninjaapi.h" -#include "dockhandler.h" +#include "action.h" #include "notificationsdispatcher.h" #include "uitypes.h" class ContextMenuManager; -class Menu; class View; class SplitPaneWidget; diff --git a/ui/memorymap.h b/ui/memorymap.h index 982bfe26..4052a646 100644 --- a/ui/memorymap.h +++ b/ui/memorymap.h @@ -9,11 +9,11 @@ #include <QtWidgets/QPushButton> #include <QtWidgets/QStyledItemDelegate> -#include "dockhandler.h" #include "render.h" #include "sidebar.h" #include "uitypes.h" #include "fontsettings.h" +#include "viewframe.h" /*! diff --git a/ui/scriptingconsole.h b/ui/scriptingconsole.h index 23849e8f..730bba31 100644 --- a/ui/scriptingconsole.h +++ b/ui/scriptingconsole.h @@ -207,7 +207,6 @@ class BINARYNINJAUIAPI ScriptingConsole : public SidebarWidget, BinaryNinja::Scr bool getScriptIsActive() const { return m_scriptActive; } void clearConsole(); - void hideConsole(); void addInput(const std::string& text); diff --git a/ui/stackview.h b/ui/stackview.h index 43c6692e..02e16b48 100644 --- a/ui/stackview.h +++ b/ui/stackview.h @@ -6,7 +6,6 @@ #include <QtWidgets/QLineEdit> #include <optional> -#include "dockhandler.h" #include "render.h" #include "sidebar.h" #include "uitypes.h" diff --git a/ui/tagtypelist.h b/ui/tagtypelist.h index cc99dcb9..62950405 100644 --- a/ui/tagtypelist.h +++ b/ui/tagtypelist.h @@ -7,7 +7,6 @@ #include <QtWidgets/QDialog> #include <QtWidgets/QComboBox> #include "binaryninjaapi.h" -#include "dockhandler.h" #include "viewframe.h" #define TAGS_UPDATE_CHECK_INTERVAL 200 diff --git a/ui/variablelist.h b/ui/variablelist.h index e10d40eb..7cad6e2a 100644 --- a/ui/variablelist.h +++ b/ui/variablelist.h @@ -7,7 +7,6 @@ #include <QtWidgets/QWidget> #include "binaryninjacore.h" -#include "dockhandler.h" #include "filter.h" #include "uitypes.h" #include "viewframe.h" diff --git a/ui/viewframe.h b/ui/viewframe.h index 234e01c9..520e3f77 100644 --- a/ui/viewframe.h +++ b/ui/viewframe.h @@ -97,7 +97,6 @@ class BINARYNINJAUIAPI HistoryEntry : public BinaryNinja::RefCountObject class AssembleDialog; class ClickableStateLabel; class CompileDialog; -class DockHandler; class FeatureMap; class StatusBarWidget; class ViewNavigationMode; @@ -382,7 +381,7 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget Q_OBJECT private: - QWidget* createView(const QString& typeName, ViewType* type, BinaryViewRef data, bool createDynamicWidgets = true); + QWidget* createView(const QString& typeName, ViewType* type, BinaryViewRef data); BinaryNinja::Ref<HistoryEntry> getHistoryEntry(); ViewFrame* searchForOtherPane(const std::function<void(const std::function<void(ViewPane*)>&)>& enumerator); @@ -392,7 +391,6 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget QWidget* m_view = nullptr; QWidget* m_viewContainer; QVBoxLayout* m_viewLayout; - std::map<QString, std::map<QString, QPointer<QWidget>>> m_extViewCache; std::map<QString, QWidget*> m_viewCache; std::list<BinaryNinja::Ref<HistoryEntry>> m_back, m_forward; bool m_graphViewPreferred = false; @@ -421,15 +419,13 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget bool tryMainSymbolsNavigation(); public: - explicit ViewFrame(QWidget* parent, FileContext* file, const QString& type, bool createDynamicWidgets = false); + explicit ViewFrame(QWidget* parent, FileContext* file, const QString& type); virtual ~ViewFrame(); FileContext* getFileContext() const { return m_context; } bool areFileContentsLocked(bool showToolTip = false); void setFileContentsLocked(bool enable); - DockHandler* getDockHandler(); - QString getTabName(); QString getShortFileName(); std::vector<QString> getAvailableTypes() const; @@ -451,8 +447,6 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget bool setViewType(const QString& viewType); void focus(); - QWidget* getExtendedView(const QString& name, bool create = false); - Sidebar* getSidebar(); template <class T> @@ -484,7 +478,6 @@ class BINARYNINJAUIAPI ViewFrame : public QWidget bool isAboutToClose() { return m_aboutToClose; } bool closeRequest(); void closing(); - void clearViewLocation(); void updateFonts(); void updateTheme(); |
