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 QNetworkProxy;
00036 class QLineEdit;
00037 class QGroupBox;
00038 class QGridLayout;
00039 class QPushButton;
00040 class QTabWidget;
00041 class QStackedWidget;
00042 class QWidget;
00043 class QComboBox;
00044 class QSpinBox;
00045 class QLabel;
00046 class QRadioButton;
00047 class QListWidget;
00048 class ColorButton;
00049 class ColorBox;
00050 class DoubleSpinBox;
00051 class QFontComboBox;
00052 class ColorMapEditor;
00053
00055 class ConfigDialog : public QDialog
00056 {
00057 Q_OBJECT
00058
00059 public:
00061
00065 ConfigDialog( QWidget* parent, Qt::WFlags fl = 0 );
00066 void setColumnSeparator(const QString& sep);
00067
00068 private slots:
00069 virtual void languageChange();
00070 void insertLanguagesList();
00071
00072 void accept();
00073 void apply();
00074
00075 void setCurrentPage(int index);
00076
00077
00078 void pickTextFont();
00079 void pickHeaderFont();
00080
00081
00082 void pickAxesFont();
00083 void pickNumbersFont();
00084 void pickLegendFont();
00085 void pickTitleFont();
00086
00087 void showFrameWidth(bool ok);
00088
00089
00090 void pickApplicationFont();
00091
00092
00093 int curveStyle();
00094 void pick3DTitleFont();
00095 void pick3DNumbersFont();
00096 void pick3DAxesFont();
00097
00098
00099 void showPointsBox(bool);
00100
00101 void switchToLanguage(int param);
00102
00103 void chooseTranslationsFolder();
00104 void chooseHelpFolder();
00105 #ifdef SCRIPTING_PYTHON
00106 void choosePythonConfigFolder();
00107 #endif
00108 void rehighlight();
00109 void customizeNotes();
00110 void chooseTexCompiler();
00111 bool validateTexCompiler();
00112
00113 void enableMajorGrids(bool on);
00114 void enableMinorGrids(bool on);
00115
00116 private:
00117 void initPlotsPage();
00118 void initAppPage();
00119 void initCurvesPage();
00120 void initAxesPage();
00121 void initPlots3DPage();
00122 void initTablesPage();
00123 void initConfirmationsPage();
00124 void initFileLocationsPage();
00125 void initFittingPage();
00126 void initNotesPage();
00127 void initProxyPage();
00129 void updateMenuList();
00130 bool validFolderPath(const QString& path);
00131 QNetworkProxy setApplicationCustomProxy();
00132
00133 QFont textFont, headerFont, axesFont, numbersFont, legendFont, titleFont, appFont;
00134 QFont d_3D_title_font, d_3D_numbers_font, d_3D_axes_font;
00135
00136 QCheckBox *boxScaleLayersOnPrint, *boxPrintCropmarks, *linearFit2PointsBox;
00137 QTabWidget *plotsTabWidget, *appTabWidget;
00138 ColorButton *btnBackground3D, *btnMesh, *btnAxes, *btnLabels, *btnNumbers;
00139 QGroupBox *colorMapBox;
00140 ColorMapEditor *colorMapEditor;
00141 QPushButton *btnTitleFnt, *btnLabelsFnt, *btnNumFnt;
00142 ColorButton *buttonBackground, *buttonText, *buttonHeader;
00143 QPushButton *buttonOk, *buttonCancel, *buttonApply;
00144 QPushButton* buttonTextFont, *buttonHeaderFont;
00145 QStackedWidget * generalDialog;
00146 QWidget *appColors, *tables, *plotOptions, *plotTicks, *plotFonts, *confirm, *plotPrint;
00147 QWidget *application, *curves, *axesPage, *plots3D, *fitPage, *numericFormatPage, *notesPage;
00148 QPushButton* buttonAxesFont, *buttonNumbersFont, *buttonLegendFont, *buttonTitleFont, *fontsBtn;
00149 QCheckBox *boxSearchUpdates, *boxOrthogonal, *logBox, *plotLabelBox, *scaleErrorsBox;
00150 QCheckBox *boxTitle, *boxFrame, *boxPlots3D, *boxPlots2D, *boxTables, *boxNotes, *boxFolders;
00151 QCheckBox *boxSave, *boxBackbones, *boxShowLegend, *boxSmoothMesh;
00152 QCheckBox *boxAutoscaling, *boxMatrices, *boxScaleFonts, *boxResize;
00153 QComboBox *boxMajTicks, *boxMinTicks, *boxStyle, *boxCurveStyle, *boxSeparator, *boxLanguage, *boxDecimalSeparator;
00154 QComboBox *boxClipboardLocale, *boxProjection;
00155 QLabel *lblClipboardSeparator, *lblFloorStyle;
00156 QSpinBox *boxMinutes, *boxLineWidth, *boxFrameWidth, *boxResolution, *boxMargin, *boxPrecision, *boxAppPrecision;
00157 QSpinBox *boxSymbolSize, *boxMinTicksLength, *boxMajTicksLength, *generatePointsBox;
00158 DoubleSpinBox *boxCurveLineWidth;
00159 ColorButton *btnWorkspace, *btnPanels, *btnPanelsText;
00160 QListWidget * itemsList;
00161 QLabel *labelFrameWidth, *lblLanguage, *lblWorkspace, *lblPanels, *lblPageHeader;
00162 QLabel *lblPanelsText, *lblFonts, *lblStyle, *lblDecimalSeparator, *lblAppPrecision;
00163 QGroupBox *groupBoxConfirm;
00164 QGroupBox *groupBoxTableFonts, *groupBoxTableCol;
00165 QLabel *lblSeparator, *lblTableBackground, *lblTextColor, *lblHeaderColor;
00166 QLabel *lblSymbSize, *lblAxesLineWidth, *lblCurveStyle, *lblResolution, *lblPrecision;
00167 QGroupBox *groupBox3DFonts, *groupBox3DCol;
00168 QLabel *lblMargin, *lblMajTicks, *lblMajTicksLength, *lblLineWidth, *lblMinTicks, *lblMinTicksLength, *lblPoints, *lblPeaksColor;
00169 QGroupBox *groupBoxFittingCurve, *groupBoxFitParameters;
00170 QRadioButton *samePointsBtn, *generatePointsBtn;
00171 QGroupBox *groupBoxMultiPeak;
00172 ColorBox *boxPeaksColor;
00173 QLabel *lblScriptingLanguage, *lblInitWindow;
00174 QComboBox *boxScriptingLanguage, *boxInitWindow;
00175 QCheckBox *boxAntialiasing, *boxAutoscale3DPlots, *boxTableComments, *boxThousandsSeparator;
00176 QCheckBox *boxPromptRenameTables, *boxBackupProject, *boxLabelsEditing;
00177 QWidget *fileLocationsPage;
00178 QLabel *lblTranslationsPath, *lblHelpPath, *lblUndoStackSize, *lblEndOfLine;
00179 QLineEdit *translationsPathLine, *helpPathLine;
00180 QSpinBox *undoStackSizeBox;
00181 QComboBox *boxEndLine;
00182 #ifdef SCRIPTING_PYTHON
00183 QLabel *lblPythonConfigDir;
00184 QLineEdit *pythonConfigDirLine;
00185 #endif
00186 QCheckBox *boxUpdateTableValues;
00187 QGroupBox *groupBackgroundOptions;
00188 QLabel *labelGraphFrameColor, *labelGraphFrameWidth;
00189 QLabel *labelGraphBkgColor, *labelGraphCanvasColor;
00190 QLabel *labelGraphBkgOpacity, *labelGraphCanvasOpacity;
00191 ColorButton *boxBackgroundColor, *boxCanvasColor, *boxBorderColor;
00192 QSpinBox *boxBackgroundTransparency, *boxCanvasTransparency, *boxBorderWidth, *boxTabLength;
00193 QCheckBox *completionBox, *lineNumbersBox;
00194 QLabel *labelTabLength, *labelNotesFont;
00195 QFontComboBox *boxFontFamily;
00196 QSpinBox *boxFontSize;
00197 QPushButton *buttonItalicFont, *buttonBoldFont;
00198 QLabel *labelGraphAxesLabelsDist;
00199 QSpinBox *boxAxesLabelsDist;
00200 QLabel *xBottomLabel, *xTopLabel, *yLeftLabel, *yRightLabel, *enableAxisLabel, *showNumbersLabel;
00201 QCheckBox *boxEnableAxis, *boxShowAxisLabels;
00202 QGroupBox * enabledAxesGroupBox;
00203 QGridLayout *enabledAxesGrid;
00204
00205 QWidget *proxyPage;
00206 QGroupBox *proxyGroupBox;
00207 QLineEdit *proxyHostLine, *proxyUserNameLine, *proxyPasswordLine;
00208 QSpinBox *proxyPortBox;
00209 QLabel *proxyHostLabel, *proxyPortLabel, *proxyUserLabel, *proxyPasswordLabel;
00210
00211 QLineEdit *texCompilerPathBox;
00212 QPushButton *browseTexCompilerBtn;
00213 QLabel *texCompilerLabel;
00214
00215 QComboBox *legendDisplayBox;
00216 QLabel *legendDisplayLabel;
00217
00218 DoubleSpinBox *boxMajorGridWidth, *boxMinorGridWidth;
00219 QComboBox *boxMajorGridStyle, *boxMinorGridStyle;
00220 QCheckBox *boxMajorGrids, *boxMinorGrids;
00221 ColorButton *btnGrid, *btnGridMinor;
00222 QLabel *label3DGridsColor, *label3DGridsWidth, *label3DGridsStyle;
00223 QGroupBox *groupBox3DGrids;
00224
00225 QGroupBox *groupSyntaxHighlighter;
00226 ColorButton *buttonCommentColor, *buttonNumericColor, *buttonQuotationColor;
00227 ColorButton *buttonKeywordColor, *buttonFunctionColor, *buttonClassColor;
00228 QLabel *buttonCommentLabel, *buttonNumericLabel, *buttonQuotationLabel;
00229 QLabel *buttonKeywordLabel, *buttonFunctionLabel, *buttonClassLabel;
00230 };
00231
00232 #endif // CONFIGDIALOG_H