summaryrefslogtreecommitdiff
path: root/ui/menus.h
blob: 0a455243c78af21228d1e9579976c3ff5afc80eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <QtCore/QPointer>
#include <QtWidgets/QMenu>
#include <QtWidgets/QWidget>
#include <functional>
#include <map>
#include <string>
#include "binaryninjaapi.h"
#include "viewframe.h"

class BINARYNINJAUIAPI ContextMenuManager
{
	QWidget* m_parent;
	QPointer<QMenu> m_menu;
	MenuInstance* m_instance;

public:
	ContextMenuManager(QWidget* parent);
	~ContextMenuManager();
	QMenu* create();
	MenuInstance* show(View* view);
	MenuInstance* show(Menu* source, UIActionHandler* handler);
	bool isActive() { return !m_menu.isNull(); }
};