| 1 |
|
| 2 |
#ifndef __MainWindow_H |
| 3 |
#define __MainWindow_H |
| 4 |
|
| 5 |
#include <QMainWindow> |
| 6 |
#include "fvect.h" |
| 7 |
#include "rpaint.h" |
| 8 |
|
| 9 |
class QAction; |
| 10 |
class QDialog; |
| 11 |
class RvuWidget; |
| 12 |
|
| 13 |
namespace Ui |
| 14 |
{ |
| 15 |
class MainWindow; |
| 16 |
class exposureDialog; |
| 17 |
class parameterDialog; |
| 18 |
class viewDialog; |
| 19 |
class incrementsDialog; |
| 20 |
class commandsDialog; |
| 21 |
} |
| 22 |
|
| 23 |
class MainWindow : public QMainWindow |
| 24 |
{ |
| 25 |
Q_OBJECT |
| 26 |
|
| 27 |
public: |
| 28 |
MainWindow(int width, int height, const char* name, const char* id); |
| 29 |
~MainWindow(); |
| 30 |
|
| 31 |
RvuWidget* getRvuWidget() const; |
| 32 |
void resizeImage(int width, int height); |
| 33 |
void setStatus(const char*); |
| 34 |
void setProgress(int); |
| 35 |
void pick( int* x, int* y); |
| 36 |
protected: |
| 37 |
void closeEvent(QCloseEvent *event); |
| 38 |
void doSubmit(); |
| 39 |
void updatePositionLabels(); |
| 40 |
void runCommand(const char *command); |
| 41 |
void move(int direction, float amount); |
| 42 |
void refreshView(VIEW *nv); |
| 43 |
|
| 44 |
protected slots: |
| 45 |
void buttonPressed(); |
| 46 |
void redraw(); |
| 47 |
void traceRay(); |
| 48 |
void saveImage(); |
| 49 |
void saveCurrentImage(); |
| 50 |
void loadView(); |
| 51 |
void loadRif(); |
| 52 |
void toggleToolBar(); |
| 53 |
void toggleTranslateTool(); |
| 54 |
void toggleStatusBar(); |
| 55 |
void moveXPlusOne(); |
| 56 |
void moveXPlusTwo(); |
| 57 |
void moveYPlusOne(); |
| 58 |
void moveYPlusTwo(); |
| 59 |
void moveZPlusOne(); |
| 60 |
void moveZPlusTwo(); |
| 61 |
void moveXMinusOne(); |
| 62 |
void moveXMinusTwo(); |
| 63 |
void moveYMinusOne(); |
| 64 |
void moveYMinusTwo(); |
| 65 |
void moveZMinusOne(); |
| 66 |
void moveZMinusTwo(); |
| 67 |
void showExposureDialog(); |
| 68 |
void hideExposureDialog(); |
| 69 |
void showParameterDialog(); |
| 70 |
void hideParameterDialog(); |
| 71 |
void adjustExposure(); |
| 72 |
void updatePointRadio(); |
| 73 |
void adjustParameters(); |
| 74 |
void showViewDialog(); |
| 75 |
void hideViewDialog(); |
| 76 |
void adjustView(); |
| 77 |
void toggleBackfaceVisibility(); |
| 78 |
void toggleIrradiance(); |
| 79 |
void toggleGrayscale(); |
| 80 |
void appendToRif(); |
| 81 |
void appendToView(); |
| 82 |
void showIncrementsDialog(); |
| 83 |
void hideIncrementsDialog(); |
| 84 |
void adjustIncrements(); |
| 85 |
void showCommandsDialog(); |
| 86 |
void showAbout(); |
| 87 |
/** Enable/disable elements of the UI while rendering. */ |
| 88 |
void enableInterface(bool enable); |
| 89 |
|
| 90 |
private: |
| 91 |
void createActions(); |
| 92 |
void connectSlots(); |
| 93 |
|
| 94 |
/** Our MainWindow GUI. */ |
| 95 |
Ui::MainWindow *m_ui; |
| 96 |
QAction *m_minimizeAction; |
| 97 |
QAction *m_maximizeAction; |
| 98 |
QAction *m_restoreAction; |
| 99 |
QAction *m_quitAction; |
| 100 |
|
| 101 |
/** Exposure Dialog */ |
| 102 |
QDialog *m_exposureDialog; |
| 103 |
Ui::exposureDialog *m_exposureDialogUi; |
| 104 |
|
| 105 |
/** Parameter Dialog */ |
| 106 |
QDialog *m_parameterDialog; |
| 107 |
Ui::parameterDialog *m_parameterDialogUi; |
| 108 |
|
| 109 |
/** View Dialog */ |
| 110 |
QDialog *m_viewDialog; |
| 111 |
Ui::viewDialog *m_viewDialogUi; |
| 112 |
|
| 113 |
/** Increments Dialog */ |
| 114 |
QDialog *m_incrementsDialog; |
| 115 |
Ui::incrementsDialog *m_incrementsDialogUi; |
| 116 |
float smallIncrement; |
| 117 |
float largeIncrement; |
| 118 |
|
| 119 |
/** Commands Dialog */ |
| 120 |
QDialog *m_commandsDialog; |
| 121 |
Ui::commandsDialog *m_commandsDialogUi; |
| 122 |
|
| 123 |
/** save image */ |
| 124 |
QString currentImageName; |
| 125 |
}; |
| 126 |
|
| 127 |
#endif |