summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2023-11-16 16:00:37 -0500
committerBrian Potchik <brian@vector35.com>2023-11-16 16:00:37 -0500
commitc798413b1d6625a94d90f1ef56c067370d93bb9f (patch)
treecb03df772a8fc87f79ab4b4b6fbc716a51534626 /ui
parent4025361513068463390900635313910200542556 (diff)
Initial components UI update.
Diffstat (limited to 'ui')
-rw-r--r--ui/action.h21
-rw-r--r--ui/uitypes.h1
2 files changed, 22 insertions, 0 deletions
diff --git a/ui/action.h b/ui/action.h
index 9deb3a66..49f58b6a 100644
--- a/ui/action.h
+++ b/ui/action.h
@@ -372,6 +372,27 @@ class BINARYNINJAUIAPI Menu
static std::vector<QString> getMainMenus();
};
+class BINARYNINJAUIAPI OrderedMenuHelper
+{
+ Menu* m_menu = nullptr;
+ uint8_t m_groupOrder = MENU_ORDER_NORMAL;
+ std::map<QString, uint8_t> m_orders;
+
+public:
+ OrderedMenuHelper(Menu* menu) : m_menu(menu) { }
+
+ Menu* getMenu() { return m_menu; }
+
+ void addAction(const QString& action, const QString& group) {
+ if (m_orders.find(group) == m_orders.end())
+ {
+ m_menu->setGroupOrdering(group, m_groupOrder++);
+ m_orders[group] = MENU_ORDER_NORMAL;
+ }
+ m_menu->addAction(action, group, m_orders[group]++);
+ }
+};
+
/*!
\ingroup action
*/
diff --git a/ui/uitypes.h b/ui/uitypes.h
index bf15cbd6..083c4ac5 100644
--- a/ui/uitypes.h
+++ b/ui/uitypes.h
@@ -68,6 +68,7 @@ typedef BinaryNinja::Ref<BinaryNinja::BasicBlock> BasicBlockRef;
typedef BinaryNinja::Ref<BinaryNinja::BinaryData> BinaryDataRef;
typedef BinaryNinja::Ref<BinaryNinja::BinaryView> BinaryViewRef;
typedef BinaryNinja::Ref<BinaryNinja::BinaryViewType> BinaryViewTypeRef;
+typedef BinaryNinja::Ref<BinaryNinja::Component> ComponentRef;
typedef BinaryNinja::Ref<BinaryNinja::Database> DatabaseRef;
typedef BinaryNinja::Ref<BinaryNinja::DebugInfo> DebugInfoRef;
typedef BinaryNinja::Ref<BinaryNinja::DisassemblySettings> DisassemblySettingsRef;