Fraktale 1.0
Qt-Programm zur interaktiven Erforschung von Fraktalen.
|
00001 #ifndef _CONTROLWINDOW_HPP_ 00002 #define _CONTROLWINDOW_HPP_ 00003 00004 #include <QWidget> 00005 #include <QLayout> 00006 #include <QVBoxLayout> 00007 #include <QHBoxLayout> 00008 #include <QIcon> 00009 #include <QLabel> 00010 #include <QPushButton> 00011 #include <QGroupBox> 00012 #include <QSpinBox> 00013 #include <QDoubleSpinBox> 00014 #include <QRadioButton> 00015 #include <QCheckBox> 00016 #include <QCloseEvent> 00017 00023 class ControlWindow : public QWidget 00024 { 00025 Q_OBJECT 00026 public: 00032 ControlWindow(QWidget* parent = 0); 00033 00035 QPushButton* renderMandelbrotButton; 00037 QPushButton* helpMandelbrotButton; 00039 QPushButton* renderMandelbarButton; 00041 QPushButton* helpMandelbarButton; 00043 QPushButton* renderMultibrotButton; 00045 QPushButton* helpMultibrotButton; 00047 QPushButton* renderJuliaButton; 00049 QPushButton* helpJuliaButton; 00051 QPushButton* restoreDefaultsButton; 00053 QDoubleSpinBox* xSpinBox; 00055 QDoubleSpinBox* ySpinBox; 00057 QSpinBox* zoomSpinBox; 00059 QSpinBox* precisionSpinBox; 00061 QLabel* informationLabel; 00063 QRadioButton* rgbRadioButton; 00065 QRadioButton* grayRadioButton; 00067 QRadioButton* bwRadioButton; 00069 QCheckBox* optimizedCheckBox; 00071 QDoubleSpinBox* multibrotSpinBox; 00073 QDoubleSpinBox* juliaRealSpinBox; 00075 QDoubleSpinBox* juliaImagSpinBox; 00076 protected: 00083 void closeEvent(QCloseEvent *event); 00084 signals: 00086 void closeAllWindows(); 00087 private: 00088 QGroupBox* createMandelbrotGroupBox(); 00089 QGroupBox* createMandelbarGroupBox(); 00090 QGroupBox* createMultibrotGroupBox(); 00091 QGroupBox* createJuliaGroupBox(); 00092 QGroupBox* createPositionGroupBox(); 00093 QGroupBox* createZoomGroupBox(); 00094 QGroupBox* createPrecisionGroupBox(); 00095 QGroupBox* createColorGroupBox(); 00096 QGroupBox* createAlgorithmGroupBox(); 00097 QGroupBox* createRestoreGroupBox(); 00098 QGroupBox* createInformationGroupBox(); 00099 00100 QGroupBox* mandelbrotGroupBox; 00101 QGroupBox* mandelbarGroupBox; 00102 QGroupBox* multibrotGroupBox; 00103 QGroupBox* juliaGroupBox; 00104 QGroupBox* positionGroupBox; 00105 QGroupBox* zoomGroupBox; 00106 QGroupBox* precisionGroupBox; 00107 QGroupBox* colorGroupBox; 00108 QGroupBox* algorithmGroupBox; 00109 QGroupBox* restoreGroupBox; 00110 QGroupBox* informationGroupBox; 00111 QLabel* exponentRangeLabel; 00112 QLabel* exponentParamLabel; 00113 QLabel* realRangeLabel; 00114 QLabel* realParamLabel; 00115 QLabel* imagRangeLabel; 00116 QLabel* imagParamLabel; 00117 QLabel* xRangeLabel; 00118 QLabel* xAxisLabel; 00119 QLabel* yRangeLabel; 00120 QLabel* yAxisLabel; 00121 QLabel* zoomRangeLabel; 00122 QLabel* precisionRangeLabel; 00123 QLayout* layout; 00124 QVBoxLayout* mandelbrotLayout; 00125 QHBoxLayout* mandelbrotSubLayout; 00126 QVBoxLayout* mandelbarLayout; 00127 QHBoxLayout* mandelbarSubLayout; 00128 QVBoxLayout* multibrotLayout; 00129 QHBoxLayout* multibrotSubLayout1; 00130 QHBoxLayout* multibrotSubLayout2; 00131 QVBoxLayout* juliaLayout; 00132 QHBoxLayout* juliaSubLayout1; 00133 QHBoxLayout* juliaSubLayout2; 00134 QHBoxLayout* juliaSubLayout3; 00135 QVBoxLayout* positionLayout; 00136 QHBoxLayout* positionSubLayout1; 00137 QHBoxLayout* positionSubLayout2; 00138 QVBoxLayout* zoomLayout; 00139 QHBoxLayout* zoomSubLayout; 00140 QVBoxLayout* precisionLayout; 00141 QHBoxLayout* precisionSubLayout; 00142 QVBoxLayout* colorLayout; 00143 QHBoxLayout* algorithmLayout; 00144 QVBoxLayout* restoreLayout; 00145 QVBoxLayout* informationLayout; 00146 }; 00147 00148 #endif // _CONTROLWINDOW_HPP_