summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorkat <katherine@vector35.com>2022-10-23 05:27:30 -0400
committerPeter LaFosse <peter@vector35.com>2022-11-10 16:19:13 -0500
commit2e74d0a19579c8f5dee38c5b8a7660549746146b (patch)
treedb478b838d1d02bfce2d0cdac19150e1f42fccfe /ui
parentef840b45be92f50fc9e708977efd6b2dcc259ba0 (diff)
Several documentation improvements and fixes
- Reduce file count, add minifier script - Group UI and group Core C - Add more items to groups - Add Tranform docs
Diffstat (limited to 'ui')
-rw-r--r--ui/action.h42
-rw-r--r--ui/addressdialog.h14
-rw-r--r--ui/addressindicator.h25
-rw-r--r--ui/assembledialog.h10
-rw-r--r--ui/clickablelabel.h21
-rw-r--r--ui/commandpalette.h30
-rw-r--r--ui/commands.h10
-rw-r--r--ui/commentdialog.h10
-rw-r--r--ui/compiledialog.h14
-rw-r--r--ui/compileoptions.h4
-rw-r--r--ui/createstructdialog.h4
-rw-r--r--ui/createtypedialog.h4
-rw-r--r--ui/datatypelist.h4
-rw-r--r--ui/dialogtextedit.h4
-rw-r--r--ui/disassemblyview.h27
-rw-r--r--ui/dockhandler.h18
-rw-r--r--ui/expandablegroup.h4
-rw-r--r--ui/featuremap.h10
-rw-r--r--ui/filecontext.h10
-rw-r--r--ui/filter.h18
-rw-r--r--ui/flowgraphwidget.h14
-rw-r--r--ui/fontsettings.h10
-rw-r--r--ui/forminputdialog.h4
-rw-r--r--ui/getsymbolslistthread.h5
-rw-r--r--ui/globalarea.h22
-rw-r--r--ui/hexeditor.h14
-rw-r--r--ui/ilchooser.h14
-rw-r--r--ui/instructionedit.h4
-rw-r--r--ui/linearview.h26
-rw-r--r--ui/logview.h33
-rw-r--r--ui/memorymap.h30
-rw-r--r--ui/menus.h13
-rw-r--r--ui/mergevariablesdialog.h22
-rw-r--r--ui/minigraph.h13
-rw-r--r--ui/options.h10
-rw-r--r--ui/pane.h46
-rw-r--r--ui/platformcursor.h9
-rw-r--r--ui/platformdialog.h10
-rw-r--r--ui/possiblevaluesetdialog.h5
-rw-r--r--ui/preview.h15
-rw-r--r--ui/progressindicator.h1
-rw-r--r--ui/progresstask.h17
-rw-r--r--ui/qfileaccessor.h9
-rw-r--r--ui/render.h24
-rw-r--r--ui/reportcollectionwidget.h9
-rw-r--r--ui/reportwidget.h9
-rw-r--r--ui/scriptingconsole.h21
-rw-r--r--ui/searchresult.h37
-rw-r--r--ui/settingsview.h38
-rw-r--r--ui/sidebar.h36
-rw-r--r--ui/stackview.h35
-rw-r--r--ui/statusbarwidget.h14
-rw-r--r--ui/stringsview.h32
-rw-r--r--ui/symbollist.h17
-rw-r--r--ui/symbolsview.h14
-rw-r--r--ui/syncgroup.h14
-rw-r--r--ui/tabwidget.h46
-rw-r--r--ui/taglist.h24
-rw-r--r--ui/tagtypelist.h24
-rw-r--r--ui/textbrowser.h22
-rw-r--r--ui/textdialog.h10
-rw-r--r--ui/theme.h10
-rw-r--r--ui/tokenizedtextview.h14
-rw-r--r--ui/transformparam.h10
-rw-r--r--ui/typedialog.h20
-rw-r--r--ui/typeview.h46
-rw-r--r--ui/uicomment.h14
-rw-r--r--ui/uicontext.h24
-rw-r--r--ui/uitypes.h10
-rw-r--r--ui/util.h10
-rw-r--r--ui/variablelist.h36
-rw-r--r--ui/viewframe.h33
-rw-r--r--ui/viewlist.h10
-rw-r--r--ui/viewtype.h13
-rw-r--r--ui/xreflist.h82
75 files changed, 1362 insertions, 25 deletions
diff --git a/ui/action.h b/ui/action.h
index 51d2feff..a81310e6 100644
--- a/ui/action.h
+++ b/ui/action.h
@@ -25,6 +25,15 @@ class View;
class UIContext;
struct LinearViewCursorPosition;
+/*!
+
+ \defgroup action Action
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI HighlightTokenState
{
bool valid;
@@ -45,6 +54,9 @@ struct BINARYNINJAUIAPI HighlightTokenState
};
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI UIActionContext
{
UIContext* context;
@@ -66,6 +78,9 @@ struct BINARYNINJAUIAPI UIActionContext
operator BinaryNinja::PluginCommandContext() const;
};
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI UIAction
{
std::function<void(const UIActionContext& context)> activate;
@@ -112,6 +127,9 @@ struct BINARYNINJAUIAPI UIAction
static void writeKeyBindingsFile();
};
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI UITransformAction
{
std::function<void(const UIActionContext& context, TransformRef xform)> activate;
@@ -131,6 +149,9 @@ struct BINARYNINJAUIAPI UITransformAction
UITransformAction(const UITransformAction& other);
};
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI UIHighlightColorAction
{
std::function<void(const UIActionContext& context, BNHighlightColor color)> activate;
@@ -150,6 +171,9 @@ struct BINARYNINJAUIAPI UIHighlightColorAction
UIHighlightColorAction(const UIHighlightColorAction& other);
};
+/*!
+ \ingroup action
+*/
struct BINARYNINJAUIAPI UIBookmarkAction
{
std::function<void(const UIActionContext& context, int index)> activate;
@@ -159,6 +183,9 @@ struct BINARYNINJAUIAPI UIBookmarkAction
const std::function<bool(const UIActionContext& context, int index)>& isValid);
};
+/*!
+ \ingroup action
+*/
enum ActionPriority
{
LowActionPriority,
@@ -166,6 +193,9 @@ enum ActionPriority
HighActionPriority
};
+/*!
+ \ingroup action
+*/
class BINARYNINJAUIAPI UIActionHandler
{
std::map<QString, UIAction> m_actions;
@@ -257,6 +287,9 @@ class BINARYNINJAUIAPI UIActionHandler
static void reparentWidget(QWidget* widget);
};
+/*!
+ \ingroup action
+*/
enum MenuItemVisibility
{
DefaultMenuItemVisibility,
@@ -267,6 +300,9 @@ enum MenuItemVisibility
class MenuInstance;
+/*!
+ \ingroup action
+*/
class BINARYNINJAUIAPI Menu
{
std::map<QString, QString> m_actions;
@@ -335,6 +371,9 @@ class BINARYNINJAUIAPI Menu
static std::vector<QString> getMainMenus();
};
+/*!
+ \ingroup action
+*/
class BINARYNINJAUIAPI MenuInstance
{
Menu* m_menu;
@@ -381,6 +420,9 @@ class BINARYNINJAUIAPI MenuInstance
static void updateActionBindings(const QString& name);
};
+/*!
+ \ingroup action
+*/
class BINARYNINJAUIAPI MainMenuInstance
{
QMenuBar* m_instance;
diff --git a/ui/addressdialog.h b/ui/addressdialog.h
index 7ad3e93f..c725ef9c 100644
--- a/ui/addressdialog.h
+++ b/ui/addressdialog.h
@@ -13,7 +13,15 @@
#include "uitypes.h"
#include "getsymbolslistthread.h"
+/*!
+ \defgroup addressdialog AddressDialog
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup addressdialog
+*/
class BINARYNINJAUIAPI AddressDialogWithPreview : public QDialog
{
Q_OBJECT
@@ -55,6 +63,9 @@ class BINARYNINJAUIAPI AddressDialogWithPreview : public QDialog
uint64_t getOffset() const { return m_addr; }
};
+/*!
+ \ingroup addressdialog
+*/
class BINARYNINJAUIAPI FileOffsetDialogWithPreview : public QDialog
{
Q_OBJECT
@@ -92,6 +103,9 @@ class BINARYNINJAUIAPI FileOffsetDialogWithPreview : public QDialog
uint64_t getOffset() const { return m_fileOffset; }
};
+/*!
+ \ingroup addressdialog
+*/
class BINARYNINJAUIAPI AddUserXrefDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/addressindicator.h b/ui/addressindicator.h
index 76d3eefa..fce16a11 100644
--- a/ui/addressindicator.h
+++ b/ui/addressindicator.h
@@ -5,7 +5,16 @@
#include "menus.h"
#include "uicontext.h"
-//! Format for displaying offsets.
+/*!
+
+ \defgroup addressindicator AddressIndicator
+ \ingroup uiapi
+*/
+
+/*! Format for displaying offsets
+
+ \ingroup addressindicator
+*/
enum class OffsetFormat : char
{
VirtualAddress,
@@ -15,7 +24,10 @@ enum class OffsetFormat : char
FunctionStart
};
-//! Format for displaying an address range.
+/*! Format for displaying an address range
+
+ \ingroup addressindicator
+*/
enum class RangeFormat : char
{
StartOnly,
@@ -24,13 +36,20 @@ enum class RangeFormat : char
StartAndEnd
};
-//! Options for displaying an address or address range.
+/*! Options for displaying an address or address range
+
+ \ingroup addressindicator
+*/
struct DisplayOptions
{
OffsetFormat format = OffsetFormat::VirtualAddress;
RangeFormat rangeFormat = RangeFormat::StartAndEnd;
};
+/*!
+
+ \ingroup addressindicator
+*/
class BINARYNINJAUIAPI AddressIndicator : public MenuHelper
{
Q_OBJECT
diff --git a/ui/assembledialog.h b/ui/assembledialog.h
index 62be31ef..5fa13357 100644
--- a/ui/assembledialog.h
+++ b/ui/assembledialog.h
@@ -6,6 +6,16 @@
#include "dialogtextedit.h"
#include "uicontext.h"
+/*!
+
+ \defgroup assembledialog AssembleDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup assembledialog
+*/
class BINARYNINJAUIAPI AssembleDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/clickablelabel.h b/ui/clickablelabel.h
index 6b7d8744..d9b679d7 100644
--- a/ui/clickablelabel.h
+++ b/ui/clickablelabel.h
@@ -7,7 +7,16 @@
#include <QtWidgets/QLabel>
#include "uicontext.h"
+/*!
+ \defgroup clickablelabel ClickableLabel
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup clickablelabel
+*/
struct BINARYNINJAUIAPI IconImage
{
QImage original;
@@ -18,6 +27,10 @@ struct BINARYNINJAUIAPI IconImage
};
+/*!
+
+ \ingroup clickablelabel
+*/
class BINARYNINJAUIAPI ClickableLabel : public QLabel
{
Q_OBJECT
@@ -44,6 +57,10 @@ class BINARYNINJAUIAPI ClickableLabel : public QLabel
};
+/*!
+
+ \ingroup clickablelabel
+*/
class BINARYNINJAUIAPI ClickableIcon : public QWidget
{
Q_OBJECT
@@ -80,6 +97,10 @@ class BINARYNINJAUIAPI ClickableIcon : public QWidget
};
+/*!
+
+ \ingroup clickablelabel
+*/
class BINARYNINJAUIAPI ClickableStateLabel : public ClickableLabel
{
Q_OBJECT
diff --git a/ui/commandpalette.h b/ui/commandpalette.h
index af773ba9..d697f608 100644
--- a/ui/commandpalette.h
+++ b/ui/commandpalette.h
@@ -9,6 +9,16 @@
#include <vector>
#include "action.h"
+/*!
+
+ \defgroup commandpalette CommandPalette
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup commandpalette
+*/
struct BINARYNINJAUIAPI CommandListItem
{
QString name;
@@ -20,6 +30,10 @@ class CommandPalette;
class CommandListFilter;
+/*!
+
+ \ingroup commandpalette
+*/
class BINARYNINJAUIAPI CommandListDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -32,6 +46,10 @@ class BINARYNINJAUIAPI CommandListDelegate : public QStyledItemDelegate
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
};
+/*!
+
+ \ingroup commandpalette
+*/
class BINARYNINJAUIAPI CommandListModel : public QAbstractItemModel
{
Q_OBJECT
@@ -61,6 +79,10 @@ class BINARYNINJAUIAPI CommandListModel : public QAbstractItemModel
void addRecentItem(const QString& name);
};
+/*!
+
+ \ingroup commandpalette
+*/
class BINARYNINJAUIAPI CommandList : public QListView
{
Q_OBJECT
@@ -84,6 +106,10 @@ class BINARYNINJAUIAPI CommandList : public QListView
virtual void focusOutEvent(QFocusEvent* event) override;
};
+/*!
+
+ \ingroup commandpalette
+*/
class BINARYNINJAUIAPI CommandListFilter : public QLineEdit
{
Q_OBJECT
@@ -103,6 +129,10 @@ class BINARYNINJAUIAPI CommandListFilter : public QLineEdit
virtual void focusOutEvent(QFocusEvent* event) override;
};
+/*!
+
+ \ingroup commandpalette
+*/
class BINARYNINJAUIAPI CommandPalette : public QFrame
{
Q_OBJECT
diff --git a/ui/commands.h b/ui/commands.h
index 3530e8ad..b0ed34be 100644
--- a/ui/commands.h
+++ b/ui/commands.h
@@ -5,6 +5,12 @@
#include "render.h"
#include "uicontext.h"
+/*!
+ @addtogroup commands
+ \ingroup uiapi
+ @{
+*/
+
bool BINARYNINJAUIAPI undefineNameForAddress(BinaryViewRef data, uint64_t addr);
bool BINARYNINJAUIAPI undefineNameForLocalVariable(
BinaryViewRef data, FunctionRef func, const BinaryNinja::Variable& var);
@@ -46,3 +52,7 @@ std::string BINARYNINJAUIAPI createStructureName(BinaryViewRef data);
std::optional<BinaryNinja::Variable> BINARYNINJAUIAPI getSplitVariableForAssignment(
FunctionRef func, BNFunctionGraphType ilType, uint64_t location, const BinaryNinja::Variable& var);
+
+/*!
+ @}
+*/
diff --git a/ui/commentdialog.h b/ui/commentdialog.h
index 2a70c3eb..f1c40ca5 100644
--- a/ui/commentdialog.h
+++ b/ui/commentdialog.h
@@ -7,6 +7,16 @@
#include "uicontext.h"
#include "uicomment.h"
+/*!
+
+ \defgroup commentdialog CommentDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup commentdialog
+*/
class BINARYNINJAUIAPI CommentDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/compiledialog.h b/ui/compiledialog.h
index b40bc68d..a0218cca 100644
--- a/ui/compiledialog.h
+++ b/ui/compiledialog.h
@@ -8,12 +8,26 @@
#include "dialogtextedit.h"
#include "uicontext.h"
+/*!
+
+ \defgroup compiledialog CompileDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup compiledialog
+*/
enum CompileMode
{
CompileStandalone,
CompilePatch
};
+/*!
+
+ \ingroup compiledialog
+*/
class BINARYNINJAUIAPI CompileDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/compileoptions.h b/ui/compileoptions.h
index 58521bd1..2f9031ea 100644
--- a/ui/compileoptions.h
+++ b/ui/compileoptions.h
@@ -7,6 +7,10 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI CompileOptions : public QDialog
{
Q_OBJECT
diff --git a/ui/createstructdialog.h b/ui/createstructdialog.h
index bcb9cd20..7fa534a7 100644
--- a/ui/createstructdialog.h
+++ b/ui/createstructdialog.h
@@ -6,6 +6,10 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI CreateStructDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/createtypedialog.h b/ui/createtypedialog.h
index 3c47e4ab..7b4e8b9e 100644
--- a/ui/createtypedialog.h
+++ b/ui/createtypedialog.h
@@ -6,6 +6,10 @@
#include "dialogtextedit.h"
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI CreateTypeDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/datatypelist.h b/ui/datatypelist.h
index c2a96489..7d802b98 100644
--- a/ui/datatypelist.h
+++ b/ui/datatypelist.h
@@ -5,6 +5,10 @@
#include "viewframe.h"
#include "menus.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI DataTypeList : public MenuHelper
{
Q_OBJECT
diff --git a/ui/dialogtextedit.h b/ui/dialogtextedit.h
index 28f025c7..cf0cf228 100644
--- a/ui/dialogtextedit.h
+++ b/ui/dialogtextedit.h
@@ -3,6 +3,10 @@
#include <QtWidgets/QTextEdit>
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI DialogTextEdit : public QTextEdit
{
Q_OBJECT
diff --git a/ui/disassemblyview.h b/ui/disassemblyview.h
index ffd963e5..f7cadb2a 100644
--- a/ui/disassemblyview.h
+++ b/ui/disassemblyview.h
@@ -18,6 +18,16 @@
#define FUNCTION_UPDATE_CHECK_INTERVAL 100
+/*!
+
+ \defgroup disassemblyview
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup disassemblyview
+*/
class BINARYNINJAUIAPI DisassemblyHistoryEntry : public FlowGraphHistoryEntry
{
BNFunctionGraphType m_graphType;
@@ -31,7 +41,10 @@ class BINARYNINJAUIAPI DisassemblyHistoryEntry : public FlowGraphHistoryEntry
};
class DisassemblyContainer;
+/*!
+ \ingroup disassemblyview
+*/
class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
{
Q_OBJECT
@@ -124,7 +137,10 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
void cycleILView(bool forward);
};
+/*!
+ \ingroup disassemblyview
+*/
class GraphTypeLabel : public MenuHelper
{
Q_OBJECT
@@ -142,7 +158,10 @@ class GraphTypeLabel : public MenuHelper
void showMenu() override;
};
+/*!
+ \ingroup disassemblyview
+*/
class BINARYNINJAUIAPI DisassemblyFunctionHeader : public QWidget
{
Q_OBJECT
@@ -184,6 +203,10 @@ class BINARYNINJAUIAPI DisassemblyFunctionHeader : public QWidget
virtual QSize sizeHint() const override;
};
+/*!
+
+ \ingroup disassemblyview
+*/
class BINARYNINJAUIAPI DisassemblyContainer : public QWidget, public ViewContainer
{
Q_OBJECT
@@ -216,6 +239,10 @@ class BINARYNINJAUIAPI DisassemblyContainer : public QWidget, public ViewContain
void linkActivatedEvent(const QString& link);
};
+/*!
+
+ \ingroup disassemblyview
+*/
class DisassemblyViewType : public ViewType
{
static DisassemblyViewType* m_instance;
diff --git a/ui/dockhandler.h b/ui/dockhandler.h
index cb150a81..846fb883 100644
--- a/ui/dockhandler.h
+++ b/ui/dockhandler.h
@@ -14,7 +14,16 @@ class ContextMenuManager;
class DockHandler;
class Menu;
+/*!
+ \defgroup dockhandler DockHandler
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup dockhandler
+*/
struct BINARYNINJAUIAPI DockProperties
{
DockProperties() {};
@@ -53,7 +62,10 @@ struct BINARYNINJAUIAPI DockProperties
std::function<void()> actionOnShow;
};
+/*!
+ \ingroup dockhandler
+*/
struct DockSizePrefs
{
DockSizePrefs() {}
@@ -63,7 +75,10 @@ struct DockSizePrefs
bool nonUniformVisibility = false;
};
+/*!
+ \ingroup dockhandler
+*/
class BINARYNINJAUIAPI DockContextHandler
{
protected:
@@ -90,7 +105,10 @@ class BINARYNINJAUIAPI DockContextHandler
};
Q_DECLARE_INTERFACE(DockContextHandler, "binary.ninja.dockcontexthandler/1.0");
+/*!
+ \ingroup dockhandler
+*/
class BINARYNINJAUIAPI DockHandler : public QObject
{
Q_OBJECT
diff --git a/ui/expandablegroup.h b/ui/expandablegroup.h
index 63b1d70a..1591c9a7 100644
--- a/ui/expandablegroup.h
+++ b/ui/expandablegroup.h
@@ -7,6 +7,10 @@
#include <QtWidgets/QScrollArea>
#include <QtCore/QPropertyAnimation>
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI ExpandableGroup : public QWidget
{
Q_OBJECT
diff --git a/ui/featuremap.h b/ui/featuremap.h
index f4b82c03..f67d4443 100644
--- a/ui/featuremap.h
+++ b/ui/featuremap.h
@@ -27,6 +27,16 @@ class Menu;
class View;
class SplitPaneWidget;
+/*!
+
+ \defgroup featuremap FeatureMap
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup featuremap
+*/
class BINARYNINJAUIAPI FeatureMap : public QWidget, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
diff --git a/ui/filecontext.h b/ui/filecontext.h
index e7a79927..e9b37267 100644
--- a/ui/filecontext.h
+++ b/ui/filecontext.h
@@ -22,6 +22,16 @@ class FileContextBase
FileContextBase() {}
};
+/*!
+
+ \defgroup filecontext FileContext
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup filecontext
+*/
class BINARYNINJAUIAPI FileContext : public FileContextBase, public BinaryNinja::NavigationHandler
{
QString m_filename;
diff --git a/ui/filter.h b/ui/filter.h
index ba186a38..006b92de 100644
--- a/ui/filter.h
+++ b/ui/filter.h
@@ -4,6 +4,16 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \defgroup filter Filter
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup filter
+*/
class BINARYNINJAUIAPI FilterTarget
{
public:
@@ -17,6 +27,10 @@ class BINARYNINJAUIAPI FilterTarget
virtual void closeFilter();
};
+/*!
+
+ \ingroup filter
+*/
class BINARYNINJAUIAPI FilterEdit : public QLineEdit
{
Q_OBJECT
@@ -30,6 +44,10 @@ class BINARYNINJAUIAPI FilterEdit : public QLineEdit
virtual void keyPressEvent(QKeyEvent* event) override;
};
+/*!
+
+ \ingroup filter
+*/
class BINARYNINJAUIAPI FilteredView : public QWidget
{
Q_OBJECT
diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h
index 08c41b7d..9ee41e65 100644
--- a/ui/flowgraphwidget.h
+++ b/ui/flowgraphwidget.h
@@ -10,6 +10,16 @@
#include "commentdialog.h"
#include "instructionedit.h"
+/*!
+
+ \defgroup flowgraphwidget FlowGraphWidget
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup flowgraphwidget
+*/
class BINARYNINJAUIAPI GraphLayoutCompleteEvent : public QEvent
{
FlowGraphRef m_graph;
@@ -19,6 +29,10 @@ class BINARYNINJAUIAPI GraphLayoutCompleteEvent : public QEvent
FlowGraphRef GetGraph() { return m_graph; }
};
+/*!
+
+ \ingroup flowgraphwidget
+*/
class BINARYNINJAUIAPI FlowGraphHistoryEntry : public HistoryEntry
{
PlatformRef m_platform;
diff --git a/ui/fontsettings.h b/ui/fontsettings.h
index 7e54a28f..f32db195 100644
--- a/ui/fontsettings.h
+++ b/ui/fontsettings.h
@@ -4,6 +4,12 @@
#include <QtWidgets/QWidget>
#include "uicontext.h"
+/*!
+ @addtogroup FontSettings
+ \ingroup uiapi
+ @{
+*/
+
enum AntialiasingStyle
{
SubpixelAntialiasing,
@@ -34,3 +40,7 @@ void BINARYNINJAUIAPI setAntialiasingStyle(AntialiasingStyle style);
void BINARYNINJAUIAPI adjustFontForAntialiasingSettings(QFont& font, QWidget* widget);
int BINARYNINJAUIAPI getFontWidthAndAdjustSpacing(QFont& font);
+
+/*!
+ @}
+*/
diff --git a/ui/forminputdialog.h b/ui/forminputdialog.h
index 7c797366..43d3faae 100644
--- a/ui/forminputdialog.h
+++ b/ui/forminputdialog.h
@@ -9,6 +9,10 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI FormInputDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/getsymbolslistthread.h b/ui/getsymbolslistthread.h
index 220c8f84..73c97962 100644
--- a/ui/getsymbolslistthread.h
+++ b/ui/getsymbolslistthread.h
@@ -12,6 +12,11 @@
// QThread has issues working in the bindings on some platforms
class GetSymbolsListThread;
#else
+
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI GetSymbolsListThread : public QThread
{
Q_OBJECT
diff --git a/ui/globalarea.h b/ui/globalarea.h
index cfb28fda..098f209f 100644
--- a/ui/globalarea.h
+++ b/ui/globalarea.h
@@ -5,6 +5,16 @@
#include "viewframe.h"
#include "tabwidget.h"
+/*!
+
+ \defgroup globalarea GlobalArea
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup globalarea
+*/
class BINARYNINJAUIAPI GlobalAreaWidget : public QWidget
{
Q_OBJECT
@@ -28,6 +38,10 @@ class BINARYNINJAUIAPI GlobalAreaWidget : public QWidget
virtual void focus();
};
+/*!
+
+ \ingroup globalarea
+*/
class BINARYNINJAUIAPI GlobalAreaTabStyle : public DockableTabStyle
{
int closeButtonSize(const QWidget* widget) const;
@@ -44,6 +58,10 @@ class BINARYNINJAUIAPI GlobalAreaTabStyle : public DockableTabStyle
virtual DockableTabStyle* duplicate() override;
};
+/*!
+
+ \ingroup globalarea
+*/
class BINARYNINJAUIAPI CloseButton : public QWidget
{
Q_OBJECT
@@ -71,6 +89,10 @@ class BINARYNINJAUIAPI CloseButton : public QWidget
void clicked();
};
+/*!
+
+ \ingroup globalarea
+*/
class BINARYNINJAUIAPI GlobalArea : public QWidget
{
Q_OBJECT
diff --git a/ui/hexeditor.h b/ui/hexeditor.h
index 5769ad47..b971a1cb 100644
--- a/ui/hexeditor.h
+++ b/ui/hexeditor.h
@@ -11,6 +11,16 @@
#define HEX_EDITOR_UPDATE_CHECK_INTERVAL 200
+/*!
+
+ \defgroup hexeditor HexEditor
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup hexeditor
+*/
class BINARYNINJAUIAPI HexEditor :
public QAbstractScrollArea,
public View,
@@ -219,6 +229,10 @@ class BINARYNINJAUIAPI HexEditor :
void updateTimerEvent();
};
+/*!
+
+ \ingroup hexeditor
+*/
class HexEditorViewType : public ViewType
{
static HexEditorViewType* m_instance;
diff --git a/ui/ilchooser.h b/ui/ilchooser.h
index 5779c7b2..e57b82a6 100644
--- a/ui/ilchooser.h
+++ b/ui/ilchooser.h
@@ -3,6 +3,16 @@
#include "pane.h"
#include "menus.h"
+/*!
+
+ \defgroup ilchooser ILChooser
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup ilchooser
+*/
class BINARYNINJAUIAPI ILChooserWidget : public MenuHelper
{
Q_OBJECT
@@ -21,6 +31,10 @@ class BINARYNINJAUIAPI ILChooserWidget : public MenuHelper
virtual void showMenu() override;
};
+/*!
+
+ \ingroup ilchooser
+*/
class BINARYNINJAUIAPI ViewPaneHeaderILChooserWidget : public ViewPaneHeaderSubtypeWidget
{
Q_OBJECT
diff --git a/ui/instructionedit.h b/ui/instructionedit.h
index ea398f34..0f904196 100644
--- a/ui/instructionedit.h
+++ b/ui/instructionedit.h
@@ -4,6 +4,10 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI InstructionEdit : public QLineEdit
{
Q_OBJECT
diff --git a/ui/linearview.h b/ui/linearview.h
index 2e591fdc..3c5ce9eb 100644
--- a/ui/linearview.h
+++ b/ui/linearview.h
@@ -17,6 +17,16 @@
#define LINEAR_VIEW_UPDATE_CHECK_INTERVAL 200
#define MAX_STRING_TYPE_LENGTH 1048576
+/*!
+
+ \defgroup linearview LinearView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup linearview
+*/
struct BINARYNINJAUIAPI LinearViewLine : public BinaryNinja::LinearDisassemblyLine
{
BinaryNinja::Ref<BinaryNinja::LinearViewCursor> cursor;
@@ -24,6 +34,10 @@ struct BINARYNINJAUIAPI LinearViewLine : public BinaryNinja::LinearDisassemblyLi
size_t lineIndex;
};
+/*!
+
+ \ingroup linearview
+*/
struct BINARYNINJAUIAPI LinearViewCursorPosition
{
FunctionRef function;
@@ -53,6 +67,10 @@ struct BINARYNINJAUIAPI LinearViewCursorPosition
LinearViewCursorPosition AsLine() const;
};
+/*!
+
+ \ingroup linearview
+*/
class BINARYNINJAUIAPI LinearViewHistoryEntry : public HistoryEntry
{
std::vector<BinaryNinja::LinearViewObjectIdentifier> m_topPath;
@@ -93,6 +111,10 @@ public:
virtual bool deserialize(const Json::Value& value) override;
};
+/*!
+
+ \ingroup linearview
+*/
class BINARYNINJAUIAPI LinearView : public QAbstractScrollArea, public View, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -445,6 +467,10 @@ protected:
void splitToNewPaneAndNavigateFromCursorPosition();
};
+/*!
+
+ \ingroup linearview
+*/
class LinearViewType : public ViewType
{
static LinearViewType* m_instance;
diff --git a/ui/logview.h b/ui/logview.h
index f9ece62d..19251df7 100644
--- a/ui/logview.h
+++ b/ui/logview.h
@@ -27,6 +27,16 @@ class LogStatus;
class View;
class ViewFrame;
+/*!
+
+ \defgroup logview LogView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup logview
+*/
struct BINARYNINJAUIAPI LogListItem
{
size_t sessionId;
@@ -39,6 +49,10 @@ struct BINARYNINJAUIAPI LogListItem
LogListItem(size_t sessionId, BNLogLevel level, std::string text, bool selected = false, const std::string& logger_name = "", size_t tid = 0);
};
+/*!
+
+ \ingroup logview
+*/
enum LoggingScope
{
CurrentTabOnly,
@@ -47,6 +61,10 @@ enum LoggingScope
AllTabs
};
+/*!
+
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogListFilterProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
@@ -66,7 +84,10 @@ class BINARYNINJAUIAPI LogListFilterProxyModel : public QSortFilterProxyModel
void updateFilter();
};
+/*!
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, public BinaryNinja::LogListener
{
Q_OBJECT
@@ -131,7 +152,10 @@ class BINARYNINJAUIAPI LogListModel : public QAbstractItemModel, public BinaryNi
void notifySessionChanged(size_t sessionId);
};
+/*!
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -164,7 +188,10 @@ class BINARYNINJAUIAPI LogItemDelegate : public QStyledItemDelegate
void viewChanged(QWidget* frame);
};
+/*!
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogViewComboBox : public QComboBox
{
Q_OBJECT
@@ -179,7 +206,10 @@ class BINARYNINJAUIAPI LogViewComboBox : public QComboBox
void itemSelected(QString text);
};
+/*!
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogView : public GlobalAreaWidget
{
Q_OBJECT
@@ -249,7 +279,10 @@ class BINARYNINJAUIAPI LogView : public GlobalAreaWidget
void showContextMenu();
};
+/*!
+ \ingroup logview
+*/
class BINARYNINJAUIAPI LogStatus : public QWidget
{
Q_OBJECT
diff --git a/ui/memorymap.h b/ui/memorymap.h
index 544cf2a3..7b831c0c 100644
--- a/ui/memorymap.h
+++ b/ui/memorymap.h
@@ -15,7 +15,16 @@
#include "uitypes.h"
#include "fontsettings.h"
+/*!
+ \defgroup memorymap MemoryMap
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI DataComparedTableItem : public QTableWidgetItem
{
public:
@@ -23,7 +32,10 @@ public:
bool operator<(const QTableWidgetItem& other) const;
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI MemoryMapItemDelegate : public QStyledItemDelegate
{
public:
@@ -31,7 +43,10 @@ public:
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI SegmentDialog : public QDialog
{
@@ -53,7 +68,10 @@ public:
SegmentDialog(QWidget* parent, BinaryViewRef data, SegmentRef segment = nullptr);
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI SectionDialog : public QDialog
{
@@ -72,7 +90,10 @@ public:
SectionDialog(QWidget* parent, BinaryViewRef data, SectionRef section = nullptr);
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI SegmentWidget : public QWidget, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -114,7 +135,10 @@ Q_SIGNALS:
void addressDoubleClicked(uint64_t address);
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI SectionWidget : public QWidget, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -155,7 +179,10 @@ Q_SIGNALS:
void addressDoubleClicked(uint64_t address);
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI MemoryMapSidebarWidget : public SidebarWidget
{
Q_OBJECT
@@ -175,7 +202,10 @@ class BINARYNINJAUIAPI MemoryMapSidebarWidget : public SidebarWidget
QWidget* headerWidget() override { return m_header; }
};
+/*!
+ \ingroup memorymap
+*/
class BINARYNINJAUIAPI MemoryMapSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/menus.h b/ui/menus.h
index ee2e8780..b63a308c 100644
--- a/ui/menus.h
+++ b/ui/menus.h
@@ -11,6 +11,16 @@
#include "action.h"
#include "viewframe.h"
+/*!
+
+ \defgroup menus Menus
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup menus
+*/
class BINARYNINJAUIAPI ContextMenuManager : public QObject
{
Q_OBJECT
@@ -36,7 +46,10 @@ class BINARYNINJAUIAPI ContextMenuManager : public QObject
void onClose();
};
+/*!
+ \ingroup menus
+*/
class BINARYNINJAUIAPI MenuHelper : public QLabel
{
Q_OBJECT
diff --git a/ui/mergevariablesdialog.h b/ui/mergevariablesdialog.h
index b4c81c06..9082b6a4 100644
--- a/ui/mergevariablesdialog.h
+++ b/ui/mergevariablesdialog.h
@@ -11,6 +11,16 @@
#include "uicontext.h"
#include "render.h"
+/*!
+
+ \defgroup mergevariablesdialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup mergevariablesdialog
+*/
class BINARYNINJAUIAPI MergeVariableHeader : public QWidget
{
std::vector<BinaryNinja::InstructionTextToken> m_tokens;
@@ -25,6 +35,10 @@ public:
MergeVariableHeader(const std::vector<BinaryNinja::InstructionTextToken>& tokens, QWidget* parent = nullptr);
};
+/*!
+
+ \ingroup mergevariablesdialog
+*/
class BINARYNINJAUIAPI MergeVariableListItem : public QListWidgetItem
{
QWidget* m_owner;
@@ -46,6 +60,10 @@ public:
const std::string& name);
};
+/*!
+
+ \ingroup mergevariablesdialog
+*/
class BINARYNINJAUIAPI MergeVariableItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -62,6 +80,10 @@ public:
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& idx) const override;
};
+/*!
+
+ \ingroup mergevariablesdialog
+*/
class BINARYNINJAUIAPI MergeVariablesDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/minigraph.h b/ui/minigraph.h
index a4be4368..2dced4a9 100644
--- a/ui/minigraph.h
+++ b/ui/minigraph.h
@@ -13,6 +13,16 @@ class FlowGraphWidget;
class Menu;
class ViewFrame;
+/*!
+
+ \defgroup minigraph MiniGraph
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup minigraph
+*/
class BINARYNINJAUIAPI MiniGraph : public SidebarWidget, public UIContextNotification
{
Q_OBJECT
@@ -51,7 +61,10 @@ class BINARYNINJAUIAPI MiniGraph : public SidebarWidget, public UIContextNotific
void newPane();
};
+/*!
+ \ingroup minigraph
+*/
class BINARYNINJAUIAPI MiniGraphSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/options.h b/ui/options.h
index 01714117..0bfba08c 100644
--- a/ui/options.h
+++ b/ui/options.h
@@ -15,6 +15,16 @@
#include <tuple>
#include <vector>
+/*!
+
+ \defgroup options Options
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup options
+*/
class BINARYNINJAUIAPI OptionsDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/pane.h b/ui/pane.h
index 94cbc2b6..e9d452aa 100644
--- a/ui/pane.h
+++ b/ui/pane.h
@@ -15,6 +15,16 @@ class CloseButton;
class TabDragIndicator;
class SyncGroup;
+/*!
+
+ \defgroup pane Pane
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI Pane : public QWidget
{
Q_OBJECT
@@ -64,6 +74,10 @@ class BINARYNINJAUIAPI Pane : public QWidget
void newWindowForPaneRequested(QScreen* screen, QPoint pos);
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI SplitButton : public ClickableIcon
{
Q_OBJECT
@@ -93,6 +107,10 @@ class BINARYNINJAUIAPI SplitButton : public ClickableIcon
void splitWithDirection(Qt::Orientation orientation);
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI PaneHeader : public QWidget
{
Q_OBJECT
@@ -126,6 +144,10 @@ class BINARYNINJAUIAPI PaneHeader : public QWidget
class ViewFrame;
class ViewPaneHeader;
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI ViewPane : public Pane
{
Q_OBJECT
@@ -160,6 +182,10 @@ class DataTypeList;
class ViewList;
class SyncGroupWidget;
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI ViewPaneHeaderSubtypeWidget : public QWidget
{
Q_OBJECT
@@ -169,6 +195,10 @@ class BINARYNINJAUIAPI ViewPaneHeaderSubtypeWidget : public QWidget
virtual void updateStatus() = 0;
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI ViewPaneHeader : public PaneHeader
{
Q_OBJECT
@@ -204,6 +234,10 @@ class BINARYNINJAUIAPI ViewPaneHeader : public PaneHeader
void updateViewType(ViewFrame* frame);
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI WidgetPane : public Pane
{
Q_OBJECT
@@ -219,6 +253,10 @@ class BINARYNINJAUIAPI WidgetPane : public Pane
void updateWidgetStatus();
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI WidgetPaneHeader : public PaneHeader
{
Q_OBJECT
@@ -234,6 +272,10 @@ class BINARYNINJAUIAPI WidgetPaneHeader : public PaneHeader
class SplitPaneWidget;
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI SplitPaneContainer : public QWidget
{
Q_OBJECT
@@ -313,6 +355,10 @@ Q_SIGNALS:
void childViewChanged(ViewFrame* frame);
};
+/*!
+
+ \ingroup pane
+*/
class BINARYNINJAUIAPI SplitPaneWidget : public QWidget
{
Q_OBJECT
diff --git a/ui/platformcursor.h b/ui/platformcursor.h
index 5e19b65f..68ed23db 100644
--- a/ui/platformcursor.h
+++ b/ui/platformcursor.h
@@ -1,4 +1,13 @@
#pragma once
+/*!
+ \addtogroup PlatformCursor
+ \ingroup uiapi
+ @{
+*/
+
void hideCursorUntilMouseMoves();
+
+
+/*! @} */
diff --git a/ui/platformdialog.h b/ui/platformdialog.h
index 071d4f8e..9d8709c2 100644
--- a/ui/platformdialog.h
+++ b/ui/platformdialog.h
@@ -5,6 +5,16 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \defgroup platformdialog PlatformDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup platformdialog
+*/
class BINARYNINJAUIAPI PlatformDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/possiblevaluesetdialog.h b/ui/possiblevaluesetdialog.h
index 8202fca0..79d56abd 100644
--- a/ui/possiblevaluesetdialog.h
+++ b/ui/possiblevaluesetdialog.h
@@ -7,6 +7,11 @@
#include "uitypes.h"
+
+/*!
+
+ \ingroup uiapi
+*/
class BINARYNINJAUIAPI PossibleValueSetDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/preview.h b/ui/preview.h
index 4ce1e3b2..84f40d79 100644
--- a/ui/preview.h
+++ b/ui/preview.h
@@ -4,6 +4,16 @@
#include <QtWidgets/QWidget>
#include "uitypes.h"
+/*!
+
+ \defgroup preview Preview
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup preview
+*/
class BINARYNINJAUIAPI PreviewScrollHandler
{
public:
@@ -11,6 +21,11 @@ class BINARYNINJAUIAPI PreviewScrollHandler
virtual void sendWheelEvent(QWheelEvent* event) = 0;
};
+
+/*!
+
+ \ingroup preview
+*/
class BINARYNINJAUIAPI PreviewWidget : public QFrame
{
Q_OBJECT
diff --git a/ui/progressindicator.h b/ui/progressindicator.h
index f89f6232..128f49f4 100644
--- a/ui/progressindicator.h
+++ b/ui/progressindicator.h
@@ -29,6 +29,7 @@
\class QProgressIndicator
\brief The QProgressIndicator class lets an application display a progress indicator to show that a lengthy task is
under way.
+ \ingroup uiapi
Progress indicators are indeterminate and do nothing more than spin to show that the application is busy.
\sa QProgressBar
diff --git a/ui/progresstask.h b/ui/progresstask.h
index c46dfbff..6f15da42 100644
--- a/ui/progresstask.h
+++ b/ui/progresstask.h
@@ -17,9 +17,22 @@
#include "binaryninjaapi.h"
#include "uitypes.h"
+/*!
+
+ \defgroup progresstask ProgressTask
+ \ingroup uiapi
+*/
+
+/*!
+
+ \defgroup backgroundthread BackgroundThread
+ \ingroup uiapi
+*/
/*!
Dialog displaying a progress bar and cancel button
+
+ \ingroup progresstask
*/
class BINARYNINJAUIAPI ProgressDialog : public QDialog
{
@@ -85,6 +98,8 @@ class BINARYNINJAUIAPI ProgressDialog : public QDialog
task->wait();
// Task deletes itself later
\endcode
+
+ \ingroup progresstask
*/
class BINARYNINJAUIAPI ProgressTask : public QObject
{
@@ -244,6 +259,8 @@ std::function<QVariant(QVariant)> convertToQVariantFunction(Func&& func);
// Call start to start the thread
->start();
\endcode
+
+ \ingroup backgroundthread
*/
class BINARYNINJAUIAPI BackgroundThread : public QObject
{
diff --git a/ui/qfileaccessor.h b/ui/qfileaccessor.h
index 1686eccc..0211fa1b 100644
--- a/ui/qfileaccessor.h
+++ b/ui/qfileaccessor.h
@@ -4,6 +4,15 @@
#include "binaryninjaapi.h"
#include "action.h"
+/*!
+
+ \defgroup qfileaccessor QFileAccessor
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup qfileaccessor
+*/
class BINARYNINJAUIAPI QFileAccessor : public BinaryNinja::FileAccessor
{
QFile* m_file;
diff --git a/ui/render.h b/ui/render.h
index e8a03774..5d08c278 100644
--- a/ui/render.h
+++ b/ui/render.h
@@ -5,6 +5,15 @@
#include "uicontext.h"
#include "action.h"
+/*!
+
+ \defgroup render Render
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup render
+*/
enum HexEditorHighlightMode
{
NoHighlight,
@@ -12,6 +21,9 @@ enum HexEditorHighlightMode
ByteValueHighlight
};
+/*!
+ \ingroup render
+*/
enum HexEditorColorMode
{
NoColorization,
@@ -19,6 +31,9 @@ enum HexEditorColorMode
ModificationColorization
};
+/*!
+ \ingroup render
+*/
enum HexEditorHighlightContrast
{
NormalContrastHighlight,
@@ -26,6 +41,9 @@ enum HexEditorHighlightContrast
HighContrastHighlight
};
+/*!
+ \ingroup render
+*/
struct BINARYNINJAUIAPI HexEditorHighlightState
{
HexEditorHighlightMode mode;
@@ -36,6 +54,9 @@ struct BINARYNINJAUIAPI HexEditorHighlightState
void saveSettings();
};
+/*!
+ \ingroup render
+*/
class BINARYNINJAUIAPI FontParameters
{
QWidget* m_owner;
@@ -58,6 +79,9 @@ class BINARYNINJAUIAPI FontParameters
int getOffset() const { return m_charOffset; }
};
+/*!
+ \ingroup render
+*/
class BINARYNINJAUIAPI RenderContext
{
QWidget* m_owner;
diff --git a/ui/reportcollectionwidget.h b/ui/reportcollectionwidget.h
index 42d56421..d74bd063 100644
--- a/ui/reportcollectionwidget.h
+++ b/ui/reportcollectionwidget.h
@@ -8,6 +8,15 @@
#include "viewframe.h"
#include "uicontext.h"
+/*!
+
+ \defgroup reportcollectionwidget ReportCollectionWidget
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup reportcollectionwidget
+*/
class BINARYNINJAUIAPI ReportCollectionWidget : public QWidget, public ViewContainer
{
Q_OBJECT
diff --git a/ui/reportwidget.h b/ui/reportwidget.h
index 414fb412..515cb395 100644
--- a/ui/reportwidget.h
+++ b/ui/reportwidget.h
@@ -32,6 +32,15 @@ class WebPage2 : public QWebEnginePage
};
#endif
+/*!
+
+ \defgroup reportwidget
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup reportwidget
+*/
class BINARYNINJAUIAPI ReportWidget : public QScrollArea, public UIActionHandler
{
Q_OBJECT
diff --git a/ui/scriptingconsole.h b/ui/scriptingconsole.h
index acedb0d7..21636be5 100644
--- a/ui/scriptingconsole.h
+++ b/ui/scriptingconsole.h
@@ -25,6 +25,15 @@
class ScriptingConsole;
+/*!
+
+ \defgroup scriptingconsole ScriptingConsole
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup scriptingconsole
+*/
class BINARYNINJAUIAPI ScriptingCompletionModel : public QAbstractListModel
{
Q_OBJECT
@@ -43,6 +52,9 @@ class BINARYNINJAUIAPI ScriptingCompletionModel : public QAbstractListModel
void setModelData(const std::vector<std::string>& completions, bool searching);
};
+/*!
+ \ingroup scriptingconsole
+*/
class BINARYNINJAUIAPI ScriptingCompletionPopup : public QDialog
{
Q_OBJECT
@@ -66,6 +78,9 @@ class BINARYNINJAUIAPI ScriptingCompletionPopup : public QDialog
void complete(QString text);
};
+/*!
+ \ingroup scriptingconsole
+*/
class BINARYNINJAUIAPI ScriptingConsoleEdit : public QTextEdit
{
Q_OBJECT
@@ -101,6 +116,9 @@ class BINARYNINJAUIAPI ScriptingConsoleEdit : public QTextEdit
virtual void keyPressEvent(QKeyEvent* event) override;
};
+/*!
+ \ingroup scriptingconsole
+*/
class BINARYNINJAUIAPI ScriptingConsoleOutput : public QPlainTextEdit
{
Q_OBJECT
@@ -126,6 +144,9 @@ class BINARYNINJAUIAPI ScriptingConsoleOutput : public QPlainTextEdit
class ScriptingConsoleWidget;
+/*!
+ \ingroup scriptingconsole
+*/
class BINARYNINJAUIAPI ScriptingConsole : public GlobalAreaWidget, BinaryNinja::ScriptingOutputListener
{
Q_OBJECT
diff --git a/ui/searchresult.h b/ui/searchresult.h
index 3b648367..954d0142 100644
--- a/ui/searchresult.h
+++ b/ui/searchresult.h
@@ -20,6 +20,15 @@
#define COLUMN_MIN_WIDTH_IN_CHAR 10
#define COLUMN_MAX_WIDTH_IN_CHAR 30
+/*!
+
+ \defgroup searchreult SearchResult
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup searchresult
+*/
class CachedTokens
{
public:
@@ -33,7 +42,9 @@ class CachedTokens
{}
};
-
+/*!
+ \ingroup searchresult
+*/
class SearchResultItem
{
private:
@@ -62,7 +73,9 @@ class SearchResultItem
Q_DECLARE_METATYPE(SearchResultItem);
-
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchResultModel : public QAbstractTableModel
{
Q_OBJECT
@@ -124,7 +137,9 @@ class BINARYNINJAUIAPI SearchResultModel : public QAbstractTableModel
void setUserColumnWidth(size_t column);
};
-
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchResultFilterProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
@@ -136,7 +151,9 @@ class BINARYNINJAUIAPI SearchResultFilterProxyModel : public QSortFilterProxyMod
virtual QVariant data(const QModelIndex& idx, int role) const override;
};
-
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchResultItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -151,6 +168,10 @@ class BINARYNINJAUIAPI SearchResultItemDelegate : public QStyledItemDelegate
};
class SearchResultWidget;
+
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchResultTable : public QTableView
{
Q_OBJECT
@@ -207,6 +228,10 @@ class BINARYNINJAUIAPI SearchResultTable : public QTableView
};
class SearchProgressBar;
+
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchResultWidget : public QWidget
{
Q_OBJECT
@@ -249,7 +274,9 @@ class BINARYNINJAUIAPI SearchResultWidget : public QWidget
void updateTotal();
};
-
+/*!
+ \ingroup searchresult
+*/
class BINARYNINJAUIAPI SearchProgressBar : public QWidget
{
Q_OBJECT
diff --git a/ui/settingsview.h b/ui/settingsview.h
index 5507f182..30a6007f 100644
--- a/ui/settingsview.h
+++ b/ui/settingsview.h
@@ -29,7 +29,15 @@
#include "menus.h"
#include "clickablelabel.h"
+/*!
+ \defgroup settingsview SettingsView
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup settingsview
+*/
struct SettingsEntry
{
SettingsEntry(int p, const QString& h, const QString& g, std::vector<void*>&& j) :
@@ -43,6 +51,9 @@ struct SettingsEntry
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsTreeModel : public QAbstractItemModel
{
Q_OBJECT
@@ -72,6 +83,9 @@ class BINARYNINJAUIAPI SettingsTreeModel : public QAbstractItemModel
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsFilterProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
@@ -103,6 +117,9 @@ class BINARYNINJAUIAPI SettingsFilterProxyModel : public QSortFilterProxyModel
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsOutlineProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
@@ -115,6 +132,9 @@ class BINARYNINJAUIAPI SettingsOutlineProxyModel : public QSortFilterProxyModel
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsEditor : public QWidget
{
Q_OBJECT
@@ -203,6 +223,9 @@ class BINARYNINJAUIAPI SettingsEditor : public QWidget
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -264,6 +287,9 @@ class BINARYNINJAUIAPI SettingsDelegate : public QStyledItemDelegate
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsTreeView : public QTreeView
{
Q_OBJECT
@@ -281,6 +307,9 @@ class BINARYNINJAUIAPI SettingsTreeView : public QTreeView
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI BinaryViewScopeLabel : public MenuHelper
{
Q_OBJECT
@@ -310,6 +339,9 @@ class BINARYNINJAUIAPI BinaryViewScopeLabel : public MenuHelper
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsScopeBar : public QWidget
{
Q_OBJECT
@@ -334,6 +366,9 @@ class BINARYNINJAUIAPI SettingsScopeBar : public QWidget
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SearchFilter : public QLineEdit
{
Q_OBJECT
@@ -360,6 +395,9 @@ class BINARYNINJAUIAPI SearchFilter : public QLineEdit
};
+/*!
+ \ingroup settingsview
+*/
class BINARYNINJAUIAPI SettingsView : public QWidget
{
Q_OBJECT
diff --git a/ui/sidebar.h b/ui/sidebar.h
index ef0b0c0b..79dcb3a8 100644
--- a/ui/sidebar.h
+++ b/ui/sidebar.h
@@ -13,6 +13,15 @@ class MainWindow;
class ContextMenuManager;
class SplitPaneWidget;
+/*!
+
+ \defgroup sidebar Sidebar
+ \ingroup uiapi
+*/
+
+/*!
+ \ingroup sidebar
+*/
struct SidebarIcon
{
QImage original;
@@ -22,6 +31,9 @@ struct SidebarIcon
static SidebarIcon generate(const QImage& src);
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarWidget : public QWidget
{
Q_OBJECT
@@ -47,6 +59,9 @@ class BINARYNINJAUIAPI SidebarWidget : public QWidget
virtual QWidget* headerWidget() { return nullptr; }
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarWidgetAndHeader : public QWidget
{
Q_OBJECT
@@ -65,6 +80,9 @@ class BINARYNINJAUIAPI SidebarWidgetAndHeader : public QWidget
void updateFonts();
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarHeaderTitle : public QLabel
{
Q_OBJECT
@@ -73,6 +91,9 @@ class BINARYNINJAUIAPI SidebarHeaderTitle : public QLabel
SidebarHeaderTitle(const QString& name);
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarHeader : public QWidget
{
Q_OBJECT
@@ -81,6 +102,9 @@ class BINARYNINJAUIAPI SidebarHeader : public QWidget
SidebarHeader(const QString& name, QWidget* rightSide = nullptr);
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarInvalidContextWidget : public SidebarWidget
{
Q_OBJECT
@@ -92,6 +116,9 @@ class BINARYNINJAUIAPI SidebarInvalidContextWidget : public SidebarWidget
void openFile();
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarWidgetType
{
SidebarIcon m_icon;
@@ -114,6 +141,9 @@ class BINARYNINJAUIAPI SidebarWidgetType
class ViewFrame;
+/*!
+ \ingroup sidebar
+*/
struct SidebarWidgetContainerState
{
SidebarWidgetType* contentWidgetType;
@@ -122,6 +152,9 @@ struct SidebarWidgetContainerState
QList<int> parentSplitterSizes;
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget
{
Q_OBJECT
@@ -193,6 +226,9 @@ class BINARYNINJAUIAPI SidebarWidgetContainer : public QWidget
void hideContents();
};
+/*!
+ \ingroup sidebar
+*/
class BINARYNINJAUIAPI Sidebar : public QWidget
{
Q_OBJECT
diff --git a/ui/stackview.h b/ui/stackview.h
index 85f6f169..e64b4706 100644
--- a/ui/stackview.h
+++ b/ui/stackview.h
@@ -12,7 +12,16 @@
#define STACK_VIEW_UPDATE_CHECK_INTERVAL 200
-//! Dialog to enable arbitrary stack variable creation.
+/*!
+
+ \defgroup stackview StackView
+ \ingroup uiapi
+*/
+
+/*! Dialog to enable arbitrary stack variable creation.
+
+ \ingroup stackview
+*/
class BINARYNINJAUIAPI CreateStackVariableDialog : public QDialog
{
Q_OBJECT
@@ -34,7 +43,10 @@ class BINARYNINJAUIAPI CreateStackVariableDialog : public QDialog
CreateStackVariableDialog(QWidget* parent, BinaryViewRef data, FunctionRef func, int64_t initialOffset = 0);
};
-//! A single line in the stack view.
+/*! A single line in the stack view.
+
+ \ingroup stackview
+*/
class StackViewLine
{
public:
@@ -142,7 +154,10 @@ class StackViewLine
BinaryNinja::DisassemblyTextLine m_content;
};
-//! Simple direction enum; used for cursor movement functions.
+/*! Simple direction enum; used for cursor movement functions.
+
+ \ingroup stackview
+*/
enum class Direction
{
Up,
@@ -151,7 +166,10 @@ enum class Direction
Right
};
-//! The stack view!
+/*! The Stack View
+
+ \ingroup stackview
+*/
class BINARYNINJAUIAPI StackView : public QAbstractScrollArea, public View
{
Q_OBJECT
@@ -252,7 +270,10 @@ class BINARYNINJAUIAPI StackView : public QAbstractScrollArea, public View
void updateFonts() override;
};
-//! Stack view sidebar widget wrapper.
+/*! Stack view sidebar widget wrapper.
+
+ \ingroup stackview
+*/
class BINARYNINJAUIAPI StackViewSidebarWidget : public SidebarWidget
{
Q_OBJECT
@@ -269,6 +290,10 @@ class BINARYNINJAUIAPI StackViewSidebarWidget : public SidebarWidget
QWidget* headerWidget() override { return m_header; }
};
+/*!
+
+ \ingroup stackview
+*/
class BINARYNINJAUIAPI StackViewSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/statusbarwidget.h b/ui/statusbarwidget.h
index b7ab2537..c2ddb529 100644
--- a/ui/statusbarwidget.h
+++ b/ui/statusbarwidget.h
@@ -4,6 +4,16 @@
#include <QtWidgets/QLabel>
#include "uicontext.h"
+/*!
+
+ \defgroup statusbarwidget StatusBarWidget
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup statusbarwidget
+*/
class BINARYNINJAUIAPI StatusBarWidget : public QWidget
{
Q_OBJECT
@@ -13,6 +23,10 @@ class BINARYNINJAUIAPI StatusBarWidget : public QWidget
virtual void updateStatus();
};
+/*!
+
+ \ingroup statusbarwidget
+*/
class BINARYNINJAUIAPI DisabledOptionsStatusBarWidget : public StatusBarWidget
{
public:
diff --git a/ui/stringsview.h b/ui/stringsview.h
index 64822c44..100a496f 100644
--- a/ui/stringsview.h
+++ b/ui/stringsview.h
@@ -12,6 +12,16 @@
#define STRINGS_LIST_UPDATE_INTERVAL 250
+/*!
+
+ \defgroup stringsview StringsView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringsListModel : public QAbstractItemModel, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -81,6 +91,10 @@ class BINARYNINJAUIAPI StringsListModel : public QAbstractItemModel, public Bina
bool getIncludeOnlyFromCurrentFunction() const { return m_includeOnlyFromCurrentFunction; };
};
+/*!
+
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -104,6 +118,10 @@ class BINARYNINJAUIAPI StringItemDelegate : public QStyledItemDelegate
class StringsContainer;
class StringsViewSidebarWidget;
+/*!
+
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringsView : public QListView, public View, public FilterTarget
{
Q_OBJECT
@@ -168,6 +186,10 @@ class BINARYNINJAUIAPI StringsView : public QListView, public View, public Filte
void updateTimerEvent();
};
+/*!
+
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringsContainer : public QWidget, public ViewContainer
{
Q_OBJECT
@@ -192,6 +214,10 @@ class BINARYNINJAUIAPI StringsContainer : public QWidget, public ViewContainer
virtual void focusInEvent(QFocusEvent* event) override;
};
+/*!
+
+ \ingroup stringsview
+*/
class StringsViewType : public ViewType
{
static StringsViewType* m_instance;
@@ -203,7 +229,10 @@ class StringsViewType : public ViewType
static void init();
};
+/*!
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringsViewSidebarWidget : public SidebarWidget
{
Q_OBJECT
@@ -225,7 +254,10 @@ class BINARYNINJAUIAPI StringsViewSidebarWidget : public SidebarWidget
void showContextMenu();
};
+/*!
+ \ingroup stringsview
+*/
class BINARYNINJAUIAPI StringsViewSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/symbollist.h b/ui/symbollist.h
index ffefa3c8..5a7b1c1d 100644
--- a/ui/symbollist.h
+++ b/ui/symbollist.h
@@ -20,6 +20,16 @@
class SymbolsView;
static std::string emptyArch;
+/*!
+
+ \defgroup symbollist SymbolList
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup symbollist
+*/
class BINARYNINJAUIAPI SymbolListDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -32,6 +42,10 @@ class BINARYNINJAUIAPI SymbolListDelegate : public QStyledItemDelegate
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
};
+/*!
+
+ \ingroup symbollist
+*/
class BINARYNINJAUIAPI SymbolListModel : public QAbstractItemModel, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -282,7 +296,10 @@ class BINARYNINJAUIAPI SymbolListModel : public QAbstractItemModel, public Binar
void beforeListReset();
};
+/*!
+ \ingroup symbollist
+*/
class BINARYNINJAUIAPI SymbolList : public QListView, public FilterTarget
{
Q_OBJECT
diff --git a/ui/symbolsview.h b/ui/symbolsview.h
index 0997285b..8df6b2e7 100644
--- a/ui/symbolsview.h
+++ b/ui/symbolsview.h
@@ -9,6 +9,16 @@
class ViewFrame;
class SymbolList;
+/*!
+
+ \defgroup symbolview SymbolView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup symbolview
+*/
class BINARYNINJAUIAPI SymbolsView : public SidebarWidget, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -60,6 +70,10 @@ class BINARYNINJAUIAPI SymbolsView : public SidebarWidget, public BinaryNinja::B
void showContextMenu();
};
+/*!
+
+ \ingroup symbolview
+*/
class BINARYNINJAUIAPI SymbolsViewSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/syncgroup.h b/ui/syncgroup.h
index 6600f8ce..187a4151 100644
--- a/ui/syncgroup.h
+++ b/ui/syncgroup.h
@@ -3,6 +3,16 @@
#include "viewframe.h"
#include "clickablelabel.h"
+/*!
+
+ \defgroup syncgroup SyncGroup
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup syncgroup
+*/
class BINARYNINJAUIAPI SyncGroup
{
std::set<ViewFrame*> m_members;
@@ -26,6 +36,10 @@ class BINARYNINJAUIAPI SyncGroup
static void syncToTarget(View* srcView, ViewFrame* targetFrame, const ViewLocation& location);
};
+/*!
+
+ \ingroup syncgroup
+*/
class BINARYNINJAUIAPI SyncGroupWidget : public ClickableIcon
{
Q_OBJECT
diff --git a/ui/tabwidget.h b/ui/tabwidget.h
index 0aefdc17..ba2b6b54 100644
--- a/ui/tabwidget.h
+++ b/ui/tabwidget.h
@@ -15,6 +15,16 @@
class DockableTabWidget;
+/*!
+
+ \defgroup tabwidget TabWidget
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DockableTabCollection
{
std::set<DockableTabWidget*> m_containers;
@@ -26,6 +36,10 @@ class BINARYNINJAUIAPI DockableTabCollection
const std::set<DockableTabWidget*>& containers() const { return m_containers; }
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI TabDragIndicator : public QWidget
{
Q_OBJECT
@@ -50,6 +64,10 @@ class BINARYNINJAUIAPI TabDragIndicator : public QWidget
virtual void paintEvent(QPaintEvent* event) override;
};
+/*!
+
+ \ingroup tabwidget
+*/
enum DockableTabInteractionState
{
NoTabInteraction,
@@ -59,6 +77,10 @@ enum DockableTabInteractionState
CloseButtonPressInactive
};
+/*!
+
+ \ingroup tabwidget
+*/
struct BINARYNINJAUIAPI DockableTabInfo
{
QString title;
@@ -68,6 +90,10 @@ struct BINARYNINJAUIAPI DockableTabInfo
bool canClose;
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DockableTabStyle
{
public:
@@ -83,6 +109,10 @@ class BINARYNINJAUIAPI DockableTabStyle
virtual DockableTabStyle* duplicate();
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DefaultDockableTabStyle : public DockableTabStyle
{
QStyleOptionTab styleForTab(
@@ -103,6 +133,10 @@ class BINARYNINJAUIAPI DefaultDockableTabStyle : public DockableTabStyle
virtual DockableTabStyle* duplicate() override;
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DockableTabBar : public QAbstractScrollArea
{
Q_OBJECT
@@ -191,6 +225,10 @@ class BINARYNINJAUIAPI DockableTabBar : public QAbstractScrollArea
virtual void wheelEvent(QWheelEvent* event) override;
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DockableTabBarWithCornerWidget : public QWidget
{
DockableTabBar* m_bar;
@@ -210,6 +248,10 @@ class BINARYNINJAUIAPI DockableTabBarWithCornerWidget : public QWidget
QWidget* cornerWidget() const { return m_cornerWidget; }
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI DockableTabWidget : public QWidget
{
Q_OBJECT
@@ -277,6 +319,10 @@ class BINARYNINJAUIAPI DockableTabWidget : public QWidget
void reparentTab(int oldIdx, DockableTabWidget* target, int newIdx);
};
+/*!
+
+ \ingroup tabwidget
+*/
class BINARYNINJAUIAPI SplitTabWidget : public QWidget
{
Q_OBJECT
diff --git a/ui/taglist.h b/ui/taglist.h
index c5ef0c7d..9b3198d4 100644
--- a/ui/taglist.h
+++ b/ui/taglist.h
@@ -12,7 +12,16 @@
#include "filter.h"
#include "tagtypelist.h"
+/*!
+ \defgroup taglist TagList
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagListModel : public QAbstractItemModel
{
Q_OBJECT
@@ -66,7 +75,10 @@ class BINARYNINJAUIAPI TagListModel : public QAbstractItemModel
QItemSelectionModel* selectionModel, int sortColumn, Qt::SortOrder sortOrder, bool& selectionUpdated);
};
+/*!
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -87,7 +99,10 @@ class BINARYNINJAUIAPI TagItemDelegate : public QStyledItemDelegate
virtual void setEditorData(QWidget* editor, const QModelIndex& index) const override;
};
+/*!
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagList : public QTreeView, public BinaryNinja::BinaryDataNotification, public FilterTarget
{
Q_OBJECT
@@ -177,7 +192,10 @@ class BINARYNINJAUIAPI TagList : public QTreeView, public BinaryNinja::BinaryDat
void activateFirstItem() override;
};
+/*!
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagListWidget : public SidebarWidget
{
Q_OBJECT
@@ -216,7 +234,10 @@ class BINARYNINJAUIAPI TagListWidget : public SidebarWidget
virtual QWidget* headerWidget() override { return m_header; }
};
+/*!
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagListDialog : public QDialog
{
Q_OBJECT
@@ -244,7 +265,10 @@ class BINARYNINJAUIAPI TagListDialog : public QDialog
void removeTag();
};
+/*!
+ \ingroup taglist
+*/
class BINARYNINJAUIAPI TagListSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/tagtypelist.h b/ui/tagtypelist.h
index b272113f..284bbfe1 100644
--- a/ui/tagtypelist.h
+++ b/ui/tagtypelist.h
@@ -12,6 +12,16 @@
#define TAGS_UPDATE_CHECK_INTERVAL 200
+/*!
+
+ \defgroup tagtypelist TagTypeList
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup tagtypelist
+*/
class BINARYNINJAUIAPI TagTypeListModel : public QAbstractItemModel, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -48,7 +58,10 @@ class BINARYNINJAUIAPI TagTypeListModel : public QAbstractItemModel, public Bina
void needRepaint();
};
+/*!
+ \ingroup tagtypelist
+*/
class BINARYNINJAUIAPI TagTypeItemDelegate : public QItemDelegate
{
Q_OBJECT
@@ -72,7 +85,10 @@ class BINARYNINJAUIAPI TagTypeItemDelegate : public QItemDelegate
const QModelIndex& index) override;
};
+/*!
+ \ingroup tagtypelist
+*/
class BINARYNINJAUIAPI TagTypeList : public QTableView, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -120,6 +136,10 @@ class BINARYNINJAUIAPI TagTypeList : public QTableView, public BinaryNinja::Bina
bool hasSelection();
};
+/*!
+
+ \ingroup tagtypelist
+*/
class BINARYNINJAUIAPI TagTypeDialogModel : public QAbstractItemModel
{
Q_OBJECT
@@ -142,6 +162,10 @@ class BINARYNINJAUIAPI TagTypeDialogModel : public QAbstractItemModel
virtual QVariant data(const QModelIndex& i, int role) const override;
};
+/*!
+
+ \ingroup tagtypelist
+*/
class BINARYNINJAUIAPI TagTypeSelectDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/textbrowser.h b/ui/textbrowser.h
index d58a0c2f..b62a076b 100644
--- a/ui/textbrowser.h
+++ b/ui/textbrowser.h
@@ -17,6 +17,16 @@
class TextBrowser;
class TextBrowserDownloadThread;
+/*!
+
+ \defgroup textbrowser TextBrowser
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup textbrowser
+*/
class BINARYNINJAUIAPI TextBrowserDownloadCache
{
QMutex m_mutex;
@@ -34,6 +44,10 @@ class BINARYNINJAUIAPI TextBrowserDownloadCache
bool isInProgress(const QUrl& url);
};
+/*!
+
+ \ingroup textbrowser
+*/
class TextBrowserDownloadQueue : public QObject
{
Q_OBJECT
@@ -60,6 +74,10 @@ class TextBrowserDownloadQueue : public QObject
void dataDownloaded(QUrl name, QByteArray contents);
};
+/*!
+
+ \ingroup textbrowser
+*/
class TextBrowserDownloadThread : public QThread
{
Q_OBJECT
@@ -77,6 +95,10 @@ class TextBrowserDownloadThread : public QThread
TextBrowserDownloadThread(TextBrowserDownloadQueue* queue);
};
+/*!
+
+ \ingroup textbrowser
+*/
class BINARYNINJAUIAPI TextBrowser : public QTextBrowser
{
Q_OBJECT
diff --git a/ui/textdialog.h b/ui/textdialog.h
index 81750bf9..74df6315 100644
--- a/ui/textdialog.h
+++ b/ui/textdialog.h
@@ -8,6 +8,16 @@
#include "uitypes.h"
#include "binaryninjaapi.h"
+/*!
+
+ \defgroup textdialog TextDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup textdialog
+*/
class BINARYNINJAUIAPI TextDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/theme.h b/ui/theme.h
index 51d6491b..9a27429b 100644
--- a/ui/theme.h
+++ b/ui/theme.h
@@ -6,6 +6,12 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+ @addtogroup Theme
+ \ingroup uiapi
+ @{
+*/
+
class BINARYNINJAUIAPI CustomFusionStyle : public QProxyStyle
{
public:
@@ -37,3 +43,7 @@ QColor BINARYNINJAUIAPI avgColor(QColor a, QColor b);
QColor BINARYNINJAUIAPI mixColor(QColor a, QColor b, uint8_t mix);
QColor BINARYNINJAUIAPI getThemeHighlightColor(BNHighlightStandardColor color);
+
+/*!
+ @}
+*/
diff --git a/ui/tokenizedtextview.h b/ui/tokenizedtextview.h
index 3bfd091c..0624564d 100644
--- a/ui/tokenizedtextview.h
+++ b/ui/tokenizedtextview.h
@@ -9,6 +9,16 @@
#include "menus.h"
#include "uicontext.h"
+/*!
+
+ \defgroup tokenizedtextview TokenizedTextView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup tokenizedtextview
+*/
class BINARYNINJAUIAPI TokenizedTextViewHistoryEntry : public HistoryEntry
{
size_t m_topLine, m_cursorLine;
@@ -27,6 +37,10 @@ class BINARYNINJAUIAPI TokenizedTextViewHistoryEntry : public HistoryEntry
virtual bool deserialize(const Json::Value& value) override;
};
+/*!
+
+ \ingroup tokenizedtextview
+*/
class BINARYNINJAUIAPI TokenizedTextView :
public QAbstractScrollArea,
public View,
diff --git a/ui/transformparam.h b/ui/transformparam.h
index 5c67650a..e0ecf3c5 100644
--- a/ui/transformparam.h
+++ b/ui/transformparam.h
@@ -4,6 +4,16 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \defgroup transformparam TransformParam
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup transformparam
+*/
class BINARYNINJAUIAPI TransformParameterDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/typedialog.h b/ui/typedialog.h
index 7388a83c..c8768559 100644
--- a/ui/typedialog.h
+++ b/ui/typedialog.h
@@ -17,6 +17,17 @@
class GetTypesListThread;
class ParseTypeThread;
#else
+
+/*!
+
+ \defgroup typedialog TypeDialog
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup typedialog
+*/
class BINARYNINJAUIAPI GetTypesListThread : public QThread
{
Q_OBJECT
@@ -39,7 +50,10 @@ class BINARYNINJAUIAPI GetTypesListThread : public QThread
Q_DECLARE_METATYPE(BinaryNinja::QualifiedNameAndType);
-//! QThread subclass for handling type string parsing to avoid UI interruptions.
+/*! QThread subclass for handling type string parsing to avoid UI interruptions.
+
+ \ingroup typedialog
+*/
class ParseTypeThread : public QThread
{
Q_OBJECT
@@ -58,6 +72,10 @@ class ParseTypeThread : public QThread
};
#endif
+/*!
+
+ \ingroup typedialog
+*/
class BINARYNINJAUIAPI TypeDialog : public QDialog
{
Q_OBJECT
diff --git a/ui/typeview.h b/ui/typeview.h
index e47823b3..1aa89cc8 100644
--- a/ui/typeview.h
+++ b/ui/typeview.h
@@ -21,6 +21,16 @@
#define TYPE_VIEW_UPDATE_CHECK_INTERVAL 200
+/*!
+
+ \defgroup typeview TypeView
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup typeview
+*/
enum TypeLinesFilteredReason
{
TypeLinesFilterNotApplied,
@@ -30,14 +40,20 @@ enum TypeLinesFilteredReason
TypeLinesFilteredByBothFilters
};
+/*!
+ \ingroup typeview
+*/
struct BINARYNINJAUIAPI TypeDefinitionLinesAndFilterStatus
{
std::vector<BinaryNinja::TypeDefinitionLine> lines;
TypeLinesFilteredReason reason;
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeViewHistoryEntry : public HistoryEntry
{
BinaryNinja::QualifiedName m_cursorType;
@@ -78,6 +94,10 @@ class BINARYNINJAUIAPI TypeViewHistoryEntry : public HistoryEntry
class TypesContainer;
+/*!
+
+ \ingroup typeview
+*/
enum ModifyExistingMember
{
DontModify,
@@ -85,6 +105,10 @@ enum ModifyExistingMember
ToggleSign
};
+/*!
+
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeView : public QAbstractScrollArea, public View, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -294,7 +318,10 @@ class BINARYNINJAUIAPI TypeView : public QAbstractScrollArea, public View, publi
void expandAll();
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI LineNumberArea : public QWidget
{
public:
@@ -309,6 +336,10 @@ class BINARYNINJAUIAPI LineNumberArea : public QWidget
TypeView* m_typeEditor;
};
+/*!
+
+ \ingroup typeview
+*/
class TypeViewType : public ViewType
{
static TypeViewType* m_instance;
@@ -320,7 +351,10 @@ class TypeViewType : public ViewType
static void init();
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeFilterEdit : public QLineEdit
{
Q_OBJECT
@@ -335,7 +369,10 @@ class BINARYNINJAUIAPI TypeFilterEdit : public QLineEdit
void focusView();
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeFilter : public QWidget
{
Q_OBJECT
@@ -365,7 +402,10 @@ class BINARYNINJAUIAPI TypeFilter : public QWidget
void clearTextFilter();
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypesContainer : public QWidget, public ViewContainer
{
Q_OBJECT
@@ -387,7 +427,10 @@ class BINARYNINJAUIAPI TypesContainer : public QWidget, public ViewContainer
virtual void focusInEvent(QFocusEvent* event) override;
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeViewSidebarWidget : public SidebarWidget
{
Q_OBJECT
@@ -408,7 +451,10 @@ class BINARYNINJAUIAPI TypeViewSidebarWidget : public SidebarWidget
void showAddMenu();
};
+/*!
+ \ingroup typeview
+*/
class BINARYNINJAUIAPI TypeViewSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/uicomment.h b/ui/uicomment.h
index d80444ec..2856c3c0 100644
--- a/ui/uicomment.h
+++ b/ui/uicomment.h
@@ -3,7 +3,17 @@
#include "binaryninjaapi.h"
#include "uicontext.h"
+/*!
+
+ \defgroup uicomment UIComment
+ \ingroup uiapi
+*/
+
// these are only intended to be used for the ui
+/*!
+
+ \ingroup uicomment
+*/
typedef enum
{
FunctionComment,
@@ -11,6 +21,10 @@ typedef enum
DataComment
} UICommentType;
+/*!
+
+ \ingroup uicomment
+*/
class UIComment
{
public:
diff --git a/ui/uicontext.h b/ui/uicontext.h
index 424411ab..352a62dd 100644
--- a/ui/uicontext.h
+++ b/ui/uicontext.h
@@ -25,8 +25,16 @@ class Pane;
struct SelectionInfoForXref;
/*!
+
+ \defgroup uicontext UIContext
+ \ingroup uiapi
+*/
+
+/*!
Interface used to receive notifications related to files and contexts. Many notifications include the ability
to modify the behavior of the context.
+
+ \ingroup uicontext
*/
class BINARYNINJAUIAPI UIContextNotification
{
@@ -220,6 +228,10 @@ class BINARYNINJAUIAPI UIContextNotification
}
};
+/*!
+
+ \ingroup uicontext
+*/
class BINARYNINJAUIAPI UIContextHandler
{
public:
@@ -229,6 +241,10 @@ class BINARYNINJAUIAPI UIContextHandler
virtual void registerFileOpenMode(const QString& buttonName, const QString& description, const QString& action);
};
+/*!
+
+ \ingroup uicontext
+*/
class BINARYNINJAUIAPI UIContext
{
static UIContextHandler* m_handler;
@@ -453,6 +469,10 @@ class BINARYNINJAUIAPI UIContext
Q_DECLARE_METATYPE(UIContext*)
+/*!
+ @addtogroup uicontext
+ @{
+*/
void BINARYNINJAUIAPI InitUIViews();
void BINARYNINJAUIAPI InitUIActions();
@@ -460,3 +480,7 @@ void BINARYNINJAUIAPI InitUIPlugins();
void BINARYNINJAUIAPI SetCurrentUIPluginLoadOrder(BNPluginLoadOrder order);
void BINARYNINJAUIAPI AddRequiredUIPluginDependency(const std::string& name);
void BINARYNINJAUIAPI AddOptionalUIPluginDependency(const std::string& name);
+
+/*!
+ @}
+*/
diff --git a/ui/uitypes.h b/ui/uitypes.h
index e0348acd..9c1dadd3 100644
--- a/ui/uitypes.h
+++ b/ui/uitypes.h
@@ -53,6 +53,12 @@
}
#endif
+/*!
+ @addtogroup UITypes
+ \ingroup uiapi
+ @{
+*/
+
// The Python bindings generator does not recognize automatic conversion of API types into their
// Python equivalents if using templates (Ref<*>), so we typedef all API references so that
// the Python bindings can be easily generated for them.
@@ -99,3 +105,7 @@ typedef BinaryNinja::Ref<BinaryNinja::WebsocketProvider> WebsocketProviderRef;
typedef BinaryNinja::Ref<BinaryNinja::RepoPlugin> RepoPluginRef;
typedef BinaryNinja::Ref<BinaryNinja::Repository> RepositoryRef;
typedef BinaryNinja::Ref<BinaryNinja::RepositoryManager> RepositoryManagerRef;
+
+/*!
+ @}
+*/
diff --git a/ui/util.h b/ui/util.h
index 7b2f97d6..bb2a9b50 100644
--- a/ui/util.h
+++ b/ui/util.h
@@ -8,6 +8,12 @@
#include <optional>
+/*!
+ @addtogroup Util
+ \ingroup uiapi
+ @{
+*/
+
std::string BINARYNINJAUIAPI getStringForLocalVariable(ArchitectureRef arch, FunctionRef func, BinaryNinja::Variable localVar);
std::string BINARYNINJAUIAPI getStringForRegisterValue(ArchitectureRef arch, BinaryNinja::RegisterValue value);
std::string BINARYNINJAUIAPI getPossibleValueSetStateName(BNRegisterValueType state);
@@ -24,3 +30,7 @@ bool BINARYNINJAUIAPI showDisassemblyPreview(QWidget* parent, ViewFrame* frame,
void BINARYNINJAUIAPI showTextTooltip(QWidget* parent, const QPoint& previewPos, const QString& text);
bool BINARYNINJAUIAPI isBinaryNinjaDataBase(QFileInfo& info, QFileAccessor& accessor);
+
+/*!
+ @}
+*/
diff --git a/ui/variablelist.h b/ui/variablelist.h
index bbf0a51a..e974f6a3 100644
--- a/ui/variablelist.h
+++ b/ui/variablelist.h
@@ -10,15 +10,27 @@
#include "uitypes.h"
#include "viewframe.h"
-//! A variable list item can represent either a function-local variable, or a
-//! data variable referenced by the current function.
+/*!
+
+ \defgroup variablelist VariableList
+ \ingroup uiapi
+*/
+
+/*! A variable list item can represent either a function-local variable, or a
+ data variable referenced by the current function.
+
+ \ingroup variablelist
+*/
enum class VariableListItemType
{
LocalVariable,
DataVariable
};
-//! An item part of VariableListModel.
+/*! An item part of VariableListModel.
+
+ \ingroup variablelist
+*/
class VariableListItem
{
FunctionRef m_func;
@@ -74,7 +86,10 @@ class VariableListItem
bool isUserDefined() const;
};
-//! The backing model for the variable list widget, holds VariableListItem.
+/*! The backing model for the variable list widget, holds VariableListItem.
+
+ \ingroup variablelist
+*/
class BINARYNINJAUIAPI VariableListModel : public QAbstractListModel
{
Q_OBJECT
@@ -113,6 +128,10 @@ class BINARYNINJAUIAPI VariableListModel : public QAbstractListModel
virtual QVariant headerData(int column, Qt::Orientation orientation, int role) const override;
};
+/*!
+
+ \ingroup variablelist
+*/
class VariableListItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -124,7 +143,10 @@ class VariableListItemDelegate : public QStyledItemDelegate
QSize sizeHint(const QStyleOptionViewItem& opt, const QModelIndex& index) const;
};
-//! The main variable list dock widget.
+/*! The main variable list dock widget.
+
+ \ingroup variablelist
+*/
class BINARYNINJAUIAPI VariableList : public SidebarWidget
{
Q_OBJECT
@@ -178,6 +200,10 @@ class BINARYNINJAUIAPI VariableList : public SidebarWidget
void setSelectedVariableDeadStoreElimination(BNDeadStoreElimination dse);
};
+/*! The main variable list dock widget.
+
+ \ingroup variablelist
+*/
class BINARYNINJAUIAPI VariableListSidebarWidgetType : public SidebarWidgetType
{
public:
diff --git a/ui/viewframe.h b/ui/viewframe.h
index 21cbc6f1..25937dfd 100644
--- a/ui/viewframe.h
+++ b/ui/viewframe.h
@@ -21,7 +21,16 @@
#include "action.h"
#include "sidebar.h"
-// this struct is used to pass selection information for cross references
+/*!
+
+ \defgroup viewframe ViewFrame
+ \ingroup uiapi
+*/
+
+/*! This struct is used to pass selection information for cross references
+
+ \ingroup viewframe
+*/
struct SelectionInfoForXref
{
// Check these booleans before accessing the address/type/variable info,
@@ -60,6 +69,10 @@ struct SelectionInfoForXref
bool isValid() const { return addrValid || typeValid || typeFieldValid || localVarValid; }
};
+/*!
+
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI HistoryEntry : public BinaryNinja::RefCountObject
{
QString m_viewType;
@@ -96,7 +109,10 @@ class TransformParameterDialog;
class ViewPaneHeaderSubtypeWidget;
// struct BinaryNinjaCore::LinearDisassemblyLine;
+/*!
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI View
{
protected:
@@ -243,7 +259,10 @@ class BINARYNINJAUIAPI View
static void registerLateActions();
};
+/*!
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI ViewNavigationMode
{
View* m_view;
@@ -260,7 +279,10 @@ class BINARYNINJAUIAPI ViewNavigationMode
~ViewNavigationMode() { m_view->setNavigationMode(m_mode); }
};
+/*!
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI ViewLocation
{
bool m_valid = false;
@@ -312,7 +334,10 @@ class BINARYNINJAUIAPI ViewLocation
bool operator!=(const ViewLocation& other) const { return !((*this) == other); }
};
+/*!
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI ViewContainer
{
public:
@@ -324,7 +349,10 @@ class SymbolsView;
class ViewFrame;
class ViewPane;
+/*!
+ \ingroup viewframe
+*/
class InitialNavigation: public BinaryNinja::BinaryDataNotification
{
ViewFrame* m_frame;
@@ -339,7 +367,10 @@ public:
virtual void OnSymbolAdded(BinaryNinja::BinaryView* view, BinaryNinja::Symbol* symbol) override;
};
+/*!
+ \ingroup viewframe
+*/
class BINARYNINJAUIAPI ViewFrame : public QWidget
{
Q_OBJECT
diff --git a/ui/viewlist.h b/ui/viewlist.h
index e79f76b5..4437b7e7 100644
--- a/ui/viewlist.h
+++ b/ui/viewlist.h
@@ -6,6 +6,16 @@
#include "menus.h"
#include "action.h"
+/*!
+
+ \defgroup viewlist ViewList
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup viewlist
+*/
class BINARYNINJAUIAPI ViewList : public MenuHelper
{
Q_OBJECT
diff --git a/ui/viewtype.h b/ui/viewtype.h
index e68c02e2..56d861cd 100644
--- a/ui/viewtype.h
+++ b/ui/viewtype.h
@@ -8,6 +8,16 @@
class ViewFrame;
+/*!
+
+ \defgroup viewtype ViewType
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup viewtype
+*/
class BINARYNINJAUIAPI ViewType
{
QString m_name, m_longName;
@@ -30,7 +40,10 @@ class BINARYNINJAUIAPI ViewType
static void registerViewType(ViewType* type);
};
+/*!
+ \ingroup viewtype
+*/
class BINARYNINJAUIAPI ViewTypeContainer
{
public:
diff --git a/ui/xreflist.h b/ui/xreflist.h
index 5de15c6b..112573ee 100644
--- a/ui/xreflist.h
+++ b/ui/xreflist.h
@@ -27,6 +27,17 @@
#include "expandablegroup.h"
class XrefHeader;
+
+/*!
+
+ \defgroup xreflist XrefList
+ \ingroup uiapi
+*/
+
+/*!
+
+ \ingroup xreflist
+*/
class XrefItem
{
public:
@@ -96,7 +107,10 @@ class XrefItem
bool operator!=(const XrefItem& other) const;
};
+/*!
+ \ingroup xreflist
+*/
class XrefHeader : public XrefItem
{
protected:
@@ -116,7 +130,10 @@ class XrefHeader : public XrefItem
virtual int childCount() const = 0;
};
+/*!
+ \ingroup xreflist
+*/
class XrefFunctionHeader : public XrefHeader
{
std::deque<XrefItem*> m_refs;
@@ -132,7 +149,10 @@ class XrefFunctionHeader : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefTypeHeader : public XrefHeader
{
std::deque<XrefItem*> m_refs;
@@ -147,7 +167,10 @@ class XrefTypeHeader : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefVariableHeader : public XrefHeader
{
std::deque<XrefItem*> m_refs;
@@ -162,7 +185,10 @@ class XrefVariableHeader : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefCodeReferences : public XrefHeader
{
std::map<FunctionRef, XrefFunctionHeader*> m_refs;
@@ -178,7 +204,10 @@ class XrefCodeReferences : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefDataReferences : public XrefHeader
{
std::deque<XrefItem*> m_refs;
@@ -192,7 +221,10 @@ class XrefDataReferences : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefTypeReferences : public XrefHeader
{
std::map<BinaryNinja::QualifiedName, XrefTypeHeader*> m_refs;
@@ -208,7 +240,10 @@ class XrefTypeReferences : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefVariableReferences : public XrefHeader
{
std::map<BinaryNinja::Variable, XrefVariableHeader*> m_refs;
@@ -224,7 +259,10 @@ class XrefVariableReferences : public XrefHeader
virtual XrefItem* child(int i) const override;
};
+/*!
+ \ingroup xreflist
+*/
class XrefRoot : public XrefHeader
{
std::map<XrefItem::XrefType, XrefHeader*> m_refs;
@@ -240,6 +278,10 @@ class XrefRoot : public XrefHeader
virtual XrefHeader* child(int i) const override;
};
+/*!
+
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceTreeModel : public QAbstractItemModel
{
Q_OBJECT
@@ -285,7 +327,10 @@ class BINARYNINJAUIAPI CrossReferenceTreeModel : public QAbstractItemModel
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceTableModel : public QAbstractTableModel
{
Q_OBJECT
@@ -345,7 +390,10 @@ class BINARYNINJAUIAPI CrossReferenceTableModel : public QAbstractTableModel
void startUpdateTimer(FunctionRef func);
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
@@ -369,7 +417,10 @@ class BINARYNINJAUIAPI CrossReferenceItemDelegate : public QStyledItemDelegate
size_t getMaxUIItems() const { return m_maxUIItems; }
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceFilterProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
@@ -401,6 +452,11 @@ class BINARYNINJAUIAPI CrossReferenceFilterProxyModel : public QSortFilterProxyM
};
class CrossReferenceWidget;
+
+/*!
+
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceContainer
{
protected:
@@ -426,7 +482,10 @@ class BINARYNINJAUIAPI CrossReferenceContainer
virtual void updateMaxUIItems(size_t value) = 0;
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceTree : public QTreeView, public CrossReferenceContainer, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -470,7 +529,10 @@ class BINARYNINJAUIAPI CrossReferenceTree : public QTreeView, public CrossRefere
void doRepaint();
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceTable : public QTableView, public CrossReferenceContainer, public BinaryNinja::BinaryDataNotification
{
Q_OBJECT
@@ -514,6 +576,11 @@ class BINARYNINJAUIAPI CrossReferenceTable : public QTableView, public CrossRefe
class ExpandableGroup;
class QCheckboxCombo;
+
+/*!
+
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceWidget : public SidebarWidget, public UIContextNotification
{
Q_OBJECT
@@ -595,7 +662,10 @@ class BINARYNINJAUIAPI CrossReferenceWidget : public SidebarWidget, public UICon
void directionChanged(int change, bool checked);
};
+/*!
+ \ingroup xreflist
+*/
class BINARYNINJAUIAPI CrossReferenceSidebarWidgetType : public SidebarWidgetType
{
public:
@@ -606,11 +676,13 @@ class BINARYNINJAUIAPI CrossReferenceSidebarWidgetType : public SidebarWidgetTyp
// https://github.com/CuriousCrow/QCheckboxCombo
-/*
- * QCheckboxCombo is a combobox widget that contains items with checkboxes
- * User can select proper items by checking corresponding checkboxes.
- * Resulting text will contain list of selected items separated by delimiter (", " by default)
- */
+/*! QCheckboxCombo is a combobox widget that contains items with checkboxes.
+
+ User can select proper items by checking corresponding checkboxes.
+ Resulting text will contain list of selected items separated by delimiter (", " by default)
+
+ \ingroup xreflists
+*/
class BINARYNINJAUIAPI QCheckboxCombo : public QComboBox
{
Q_OBJECT