00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef ConfigDialog_H
00030 #define ConfigDialog_H
00031
00032 #include <QDialog>
00033 #include <QCheckBox>
00034
00035 class QLineEdit;
00036 class QGroupBox;
00037 class QPushButton;
00038 class QTabWidget;
00039 class QStackedWidget;
00040 class QWidget;
00041 class QComboBox;
00042 class QSpinBox;
00043 class QLabel;
00044 class QRadioButton;
00045 class QListWidget;
00046 class ColorButton;
00047 class ColorBox;
00048 class DoubleSpinBox;
00049
00051 class ConfigDialog : public QDialog
00052 {
00053 Q_OBJECT
00054
00055 public:
00057
00061 ConfigDialog( QWidget* parent, Qt::WFlags fl = 0 );
00062 void setColumnSeparator(const QString& sep);
00063
00064 private slots:
00065 virtual void languageChange();
00066 void insertLanguagesList();
00067
00068 void accept();
00069 void apply();
00070
00071 void setCurrentPage(int index);
00072
00073
00074 void pickTextFont();
00075 void pickHeaderFont();
00076
00077
00078 void pickAxesFont();
00079 void pickNumbersFont();
00080 void pickLegendFont();
00081 void pickTitleFont();
00082
00083 void showFrameWidth(bool ok);
00084
00085
00086 void pickApplicationFont();
00087
00088
00089 int curveStyle();
00090 void pick3DTitleFont();
00091 void pick3DNumbersFont();
00092 void pick3DAxesFont();
00093
00094
00095 void showPointsBox(bool);
00096
00097 void switchToLanguage(int param);
00098
00099 void chooseTranslationsFolder();
00100 void chooseHelpFolder();
00101 #ifdef SCRIPTING_PYTHON
00102 void choosePythonConfigFolder();
00103 #endif
00104
00105 private:
00106 void initPlotsPage();
00107 void initAppPage();
00108 void initCurvesPage();
00109 void initPlots3DPage();
00110 void initTablesPage();
00111 void initConfirmationsPage();
00112 void initFileLocationsPage();
00113 void initFittingPage();
00114
00115 QFont textFont, headerFont, axesFont, numbersFont, legendFont, titleFont, appFont;
00116 QFont plot3DTitleFont, plot3DNumbersFont, plot3DAxesFont;
00117
00118 QCheckBox *boxScaleLayersOnPrint, *boxPrintCropmarks, *linearFit2PointsBox;
00119 QTabWidget *plotsTabWidget, *appTabWidget;
00120 ColorButton *btnBackground3D, *btnMesh, *btnAxes, *btnLabels, *btnNumbers;
00121 ColorButton *btnFromColor, *btnToColor, *btnGrid;
00122 QPushButton *btnTitleFnt, *btnLabelsFnt, *btnNumFnt;
00123 ColorButton *buttonBackground, *buttonText, *buttonHeader;
00124 QPushButton *buttonOk, *buttonCancel, *buttonApply;
00125 QPushButton* buttonTextFont, *buttonHeaderFont;
00126 QStackedWidget * generalDialog;
00127 QWidget *appColors, *tables, *plotOptions, *plotTicks, *plotFonts, *confirm, *plotPrint;
00128 QWidget *application, *curves, *plots3D, *fitPage, *numericFormatPage;
00129 QPushButton* buttonAxesFont, *buttonNumbersFont, *buttonLegendFont, *buttonTitleFont, *fontsBtn;
00130 QCheckBox *boxSearchUpdates, *boxOrthogonal, *logBox, *plotLabelBox, *scaleErrorsBox;
00131 QCheckBox *boxTitle, *boxFrame, *boxPlots3D, *boxPlots2D, *boxTables, *boxNotes, *boxFolders;
00132 QCheckBox *boxSave, *boxBackbones, *boxAllAxes, *boxShowLegend, *boxSmoothMesh;
00133 QCheckBox *boxAutoscaling, *boxShowProjection, *boxMatrices, *boxScaleFonts, *boxResize;
00134 QComboBox *boxMajTicks, *boxMinTicks, *boxStyle, *boxCurveStyle, *boxSeparator, *boxLanguage, *boxDecimalSeparator;
00135 QSpinBox *boxMinutes, *boxLineWidth, *boxFrameWidth, *boxResolution, *boxMargin, *boxPrecision, *boxAppPrecision;
00136 QSpinBox *boxSymbolSize, *boxMinTicksLength, *boxMajTicksLength, *generatePointsBox;
00137 DoubleSpinBox *boxCurveLineWidth;
00138 ColorButton *btnWorkspace, *btnPanels, *btnPanelsText;
00139 QListWidget * itemsList;
00140 QLabel *labelFrameWidth, *lblLanguage, *lblWorkspace, *lblPanels, *lblPageHeader;
00141 QLabel *lblPanelsText, *lblFonts, *lblStyle, *lblDecimalSeparator, *lblAppPrecision;
00142 QGroupBox *groupBoxConfirm;
00143 QGroupBox *groupBoxTableFonts, *groupBoxTableCol;
00144 QLabel *lblSeparator, *lblTableBackground, *lblTextColor, *lblHeaderColor;
00145 QLabel *lblSymbSize, *lblAxesLineWidth, *lblCurveStyle, *lblResolution, *lblPrecision;
00146 QGroupBox *groupBox3DFonts, *groupBox3DCol;
00147 QLabel *lblMargin, *lblMajTicks, *lblMajTicksLength, *lblLineWidth, *lblMinTicks, *lblMinTicksLength, *lblPoints, *lblPeaksColor;
00148 QGroupBox *groupBoxFittingCurve, *groupBoxFitParameters;
00149 QRadioButton *samePointsBtn, *generatePointsBtn;
00150 QGroupBox *groupBoxMultiPeak;
00151 ColorBox *boxPeaksColor;
00152 QLabel *lblScriptingLanguage, *lblInitWindow;
00153 QComboBox *boxScriptingLanguage, *boxInitWindow;
00154 QCheckBox *boxAntialiasing, *boxAutoscale3DPlots, *boxTableComments, *boxThousandsSeparator;
00155 QCheckBox *boxPromptRenameTables, *boxBackupProject, *boxLabelsEditing;
00156 QWidget *fileLocationsPage;
00157 QLabel *lblTranslationsPath, *lblHelpPath, *lblUndoStackSize, *lblEndOfLine;
00158 QLineEdit *translationsPathLine, *helpPathLine;
00159 QSpinBox *undoStackSizeBox;
00160 QComboBox *boxEndLine;
00161 #ifdef SCRIPTING_PYTHON
00162 QLabel *lblPythonConfigDir;
00163 QLineEdit *pythonConfigDirLine;
00164 #endif
00165 QCheckBox *boxUpdateTableValues;
00166 QGroupBox *groupBackgroundOptions;
00167 QLabel *labelGraphFrameColor, *labelGraphFrameWidth;
00168 QLabel *labelGraphBkgColor, *labelGraphCanvasColor;
00169 QLabel *labelGraphBkgOpacity, *labelGraphCanvasOpacity;
00170 ColorButton *boxBackgroundColor, *boxCanvasColor, *boxBorderColor;
00171 QSpinBox *boxBackgroundTransparency, *boxCanvasTransparency, *boxBorderWidth;
00172 QCheckBox *completionBox, *lineNumbersBox;
00173 };
00174
00175 #endif // CONFIGDIALOG_H