mainwindow.h

Go to the documentation of this file.
00001 
00002 #ifndef MAINWINDOW_H
00003 #define MAINWINDOW_H
00004 
00005 #include "ui_boomerang.h"
00006 #include "ui_about.h"
00007 #include "types.h"
00008 #include <vector>
00009 #include <map>
00010 #include <set>
00011 
00012 class DecompilerThread;
00013 class QToolButton;
00014 
00015 class MainWindow : public QMainWindow
00016 {
00017     Q_OBJECT
00018 
00019 public:
00020     MainWindow(QWidget *parent = 0);
00021 
00022     void errorLoadingFile();
00023 
00024 public slots:
00025     void loadComplete();
00026     void decodeComplete();
00027     void decompileComplete();
00028     void generateCodeComplete();
00029     void showLoadPage();
00030     void showDecodePage();
00031     void showDecompilePage();
00032     void showGenerateCodePage();
00033     void on_inputFileBrowseButton_clicked();
00034     void on_outputPathBrowseButton_clicked();
00035     void on_inputFileComboBox_editTextChanged(const QString &text);
00036     void on_inputFileComboBox_currentIndexChanged(const QString &text);
00037     void on_outputPathComboBox_editTextChanged(QString &text);
00038     void showConsideringProc(const QString &parent, const QString &name);
00039     void showDecompilingProc(const QString &name);
00040     void showNewUserProc(const QString &name, unsigned int addr);
00041     void showNewLibProc(const QString &name, const QString &params);
00042     void showRemoveUserProc(const QString &name, unsigned int addr);
00043     void showRemoveLibProc(const QString &name);
00044     void showNewEntrypoint(unsigned int addr, const QString &name);
00045     void showMachineType(const QString &machine);
00046     void showNewCluster(const QString &name);
00047     void showNewProcInCluster(const QString &name, const QString &cluster);
00048     void showDebuggingPoint(const QString &name, const QString &description);
00049     void showNewSection(const QString &name, unsigned int start, unsigned int end);
00050     void showRTLEditor(const QString &name);
00051 
00052     void on_clusters_itemDoubleClicked(QTreeWidgetItem *item, int column);
00053     void on_decompileProcsTreeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
00054     void on_actionEnable_toggled(bool b);
00055     void on_actionStep_activated();
00056     void on_userProcs_horizontalHeader_sectionClicked(int logicalIndex);
00057     void on_userProcs_cellDoubleClicked(int row, int column);
00058     void on_userProcs_cellChanged(int row, int column);
00059     void on_libProcs_cellDoubleClicked(int row, int column);
00060     void on_actionOpen_activated();
00061     void on_actionSave_activated();
00062     void on_actionClose_activated();
00063     void on_actionAbout_activated();
00064     void on_actionAboutQt_activated();
00065     void on_tabWidget_currentChanged(int index);
00066 
00067     void on_actionCut_activated();
00068     void on_actionCopy_activated();
00069     void on_actionPaste_activated();
00070     void on_actionDelete_activated();
00071     void on_actionFind_activated();
00072     void on_actionFind_Next_activated();
00073     void on_actionGo_To_activated();
00074     void on_actionSelect_All_activated();
00075 
00076     void on_actionLoad_activated();
00077     void on_actionDecode_activated();
00078     void on_actionDecompile_activated();
00079     void on_actionGenerate_Code_activated();
00080     void on_actionStructs_activated();
00081     void on_structName_returnPressed();
00082 
00083     void on_actionBoomerang_Website_activated();
00084 
00085     void on_enableDFTAcheckBox_toggled(bool b);
00086     void on_enableNoDecodeChildren_toggled(bool b);
00087 
00088     void on_entrypoints_currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *previous);
00089     void on_addButton_pressed();
00090     void on_removeButton_pressed();
00091 
00092     void closeCurrentTab();
00093     void currentTabTextChanged();
00094 
00095 protected:
00096     void showInitPage();
00097     void saveSettings();
00098 
00099 private:
00100     Ui::MainWindow ui;
00101     DecompilerThread *decompilerThread;
00102 
00103     QToolButton *step;
00104 
00105     int decompiledCount, codeGenCount;
00106     std::map<QWidget*, QString> openFiles;
00107     std::set<QWidget*> signatureFiles;
00108 
00109     QWidget *structs;
00110     bool loadingSettings;
00111 };
00112 
00113 #endif
00114 

Generated on Tue Sep 19 21:18:25 2006 for Boomerang by  doxygen 1.4.6