summaryrefslogtreecommitdiff
path: root/ui/forminputdialog.h
blob: 7c797366a26be401e324f890589a453946f4584b (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
#pragma once

#include <QtWidgets/QDialog>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QTextEdit>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QLabel>
#include <vector>
#include "binaryninjaapi.h"
#include "uicontext.h"

class BINARYNINJAUIAPI FormInputDialog : public QDialog
{
	Q_OBJECT

	std::vector<BinaryNinja::FormInputField>* m_fields;
	std::vector<QWidget*> m_fieldControls;

	void openFileName(QLineEdit* edit, const std::string& ext);
	void saveFileName(QLineEdit* edit, const std::string& ext, const std::string& defaultName);
	void directoryName(QLineEdit* edit, const std::string& defaultName);

  public:
	FormInputDialog(QWidget* parent, std::vector<BinaryNinja::FormInputField>* fields, const std::string& title);

  protected Q_SLOTS:
	void finish();
};