2017-12-06 23:19:14 +00:00
|
|
|
#ifndef PSEUDOCODEWIDGET_H
|
|
|
|
#define PSEUDOCODEWIDGET_H
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
2018-03-04 17:42:02 +00:00
|
|
|
#include "Cutter.h"
|
2018-03-16 21:46:57 +00:00
|
|
|
#include "CutterDockWidget.h"
|
2017-12-06 23:19:14 +00:00
|
|
|
|
2018-03-21 20:32:32 +00:00
|
|
|
namespace Ui {
|
|
|
|
class PseudocodeWidget;
|
2017-12-21 14:23:44 +00:00
|
|
|
}
|
2017-12-15 10:52:47 +00:00
|
|
|
|
|
|
|
class QTextEdit;
|
|
|
|
class SyntaxHighlighter;
|
2017-12-06 23:19:14 +00:00
|
|
|
|
2018-03-16 21:46:57 +00:00
|
|
|
class PseudocodeWidget : public CutterDockWidget
|
2017-12-06 23:19:14 +00:00
|
|
|
{
|
2018-03-21 20:32:32 +00:00
|
|
|
Q_OBJECT
|
2017-12-06 23:19:14 +00:00
|
|
|
|
|
|
|
public:
|
2018-03-16 21:46:57 +00:00
|
|
|
explicit PseudocodeWidget(MainWindow *main, QAction *action = nullptr);
|
2017-12-06 23:19:14 +00:00
|
|
|
~PseudocodeWidget();
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void raisePrioritizedMemoryWidget(CutterCore::MemoryWidgetType type);
|
|
|
|
void fontsUpdated();
|
|
|
|
void colorsUpdatedSlot();
|
|
|
|
void refreshPseudocode();
|
2017-12-15 10:52:47 +00:00
|
|
|
|
|
|
|
private:
|
2018-09-08 07:12:08 +00:00
|
|
|
enum DecompilerComboBoxValues { DecompilerCBR2Dec, DecompilerCBPdc };
|
2017-12-21 14:23:44 +00:00
|
|
|
std::unique_ptr<Ui::PseudocodeWidget> ui;
|
|
|
|
|
|
|
|
SyntaxHighlighter *syntaxHighLighter;
|
|
|
|
|
2019-01-12 17:02:51 +00:00
|
|
|
void doRefresh(RVA addr);
|
2017-12-15 10:52:47 +00:00
|
|
|
void setupFonts();
|
2017-12-06 23:19:14 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // PSEUDOCODEWIDGET_H
|