summaryrefslogtreecommitdiff
path: root/ui/ilchooser.h
blob: 561e264fed24442cefe8092d84907933e8aad464 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#pragma once

#include "pane.h"
#include "menus.h"

/*!

	\defgroup ilchooser ILChooser
 	\ingroup uiapi
*/

/*!

    \ingroup ilchooser
*/
class BINARYNINJAUIAPI ILChooserWidget : public MenuHelper
{
	Q_OBJECT

	UIActionHandler* m_handler;
	bool m_longDescription;

  public:
	ILChooserWidget(QWidget* parent, UIActionHandler* handler, bool longDescription);
	void updateStatus(const BinaryNinja::FunctionViewType& current);

	static QString shortNameForILType(const BinaryNinja::FunctionViewType& type);
	static QString longNameForILType(const BinaryNinja::FunctionViewType& type);

  protected:
	virtual void showMenu() override;
};

/*!

    \ingroup ilchooser
*/
class BINARYNINJAUIAPI ViewPaneHeaderILChooserWidget : public ViewPaneHeaderSubtypeWidget
{
	Q_OBJECT

	View* m_view;
	ILChooserWidget* m_widget;

  public:
	ViewPaneHeaderILChooserWidget(View* view, UIActionHandler* handler);
	virtual void updateStatus();
};