QtiPlot  0.9.8.2
EnrichmentDialog.h
Go to the documentation of this file.
1 /***************************************************************************
2  File : EnrichmentDialog.h
3  Project : QtiPlot
4  --------------------------------------------------------------------
5  Copyright : (C) 2008 by Ion Vasilief
6  Email (use @ for *) : ion_vasilief*yahoo.fr
7  Description : A general properties dialog for the FrameWidget, using article
8  "Using a Simple Web Service with Qt" in Qt Quaterly, Issue 23, Q3 2007
9 
10  ***************************************************************************/
11 
12 /***************************************************************************
13  * *
14  * This program is free software; you can redistribute it and/or modify *
15  * it under the terms of the GNU General Public License as published by *
16  * the Free Software Foundation; either version 2 of the License, or *
17  * (at your option) any later version. *
18  * *
19  * This program is distributed in the hope that it will be useful, *
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22  * GNU General Public License for more details. *
23  * *
24  * You should have received a copy of the GNU General Public License *
25  * along with this program; if not, write to the Free Software *
26  * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
27  * Boston, MA 02110-1301 USA *
28  * *
29  ***************************************************************************/
30 
31 #ifndef TEXWIDGETDIALOG_H
32 #define TEXWIDGETDIALOG_H
33 
34 #include <QDialog>
35 #include <QProcess>
36 
37 class QComboBox;
38 class QGroupBox;
39 class QHttp;
40 class QLabel;
41 class QPushButton;
42 class QTextEdit;
43 class QTabWidget;
44 class QCheckBox;
45 class QLineEdit;
46 class QCheckBox;
47 class QSpinBox;
48 class QSlider;
49 class QNetworkProxy;
50 
51 class Graph;
52 class FrameWidget;
53 class LegendWidget;
54 class ColorButton;
55 class DoubleSpinBox;
56 class PatternBox;
57 class PenStyleBox;
58 class RectangleWidget;
59 class TextFormatButtons;
60 class ApplicationWindow;
61 
62 class EnrichmentDialog : public QDialog
63 {
64  Q_OBJECT
65 
66 public:
68 
69  EnrichmentDialog(WidgetType wt, Graph *g, ApplicationWindow *app, QWidget *parent = 0);
71 
72  void setWidget(QWidget *w);
73  void accept (){return apply();};
74 
75 private slots:
76  void clearForm();
77  void fetchImage();
78  void updateForm(bool error);
79  void apply();
80  void customButtons(QWidget *w);
81  void chooseImageFile(const QString& fn = QString::null);
82  void displayCoordinates(int unit);
83  void adjustHeight(double width);
84  void adjustWidth(double height);
85  void saveImagesInternally(bool save);
86  void setBestSize();
87  void frameApplyTo();
88  void patternApplyTo();
89  void textFormatApplyTo();
90  void customFont();
91  void updateTransparency(int alpha);
92  void setTextDefaultValues();
93  void setFrameDefaultValues();
95  void finishedCompiling(int, QProcess::ExitStatus);
96  void displayCompileError(QProcess::ProcessError error);
97  void createImage();
98  void updateCompilerInterface(int);
99  void updateButtons();
100 
101 private:
102  void initTextPage();
103  void initEditorPage();
104  void initImagePage();
105  void initFramePage();
106  void initGeometryPage();
107  void initPatternPage();
108  void setCoordinates(int unit);
109  void setFrameTo(FrameWidget *fw);
110  void setPatternTo(FrameWidget *r);
111  void setTextFormatTo(LegendWidget *l);
112  void setText(QTextEdit *editor, const QString & t);
113  QString createTempTexFile();
114 
116  QHttp *http;
118 
119  QLabel *outputLabel;
120  QPushButton *clearButton;
121  QPushButton *updateButton;
122  QPushButton *cancelButton;
123  QPushButton *bestSizeButton;
125  QComboBox *frameBox;
126  QTabWidget* tabWidget;
130  QLineEdit *imagePathBox;
132  QComboBox *unitBox;
137  QPushButton *textApplyToBtn;
140  QPushButton *textFontBtn;
146  QComboBox *texCompilerBox;
147  QComboBox* attachToBox;
148 
149  QFont textFont;
150 
152  QWidget *d_widget;
154  double aspect_ratio;
155 };
156 
157 #endif
void patternApplyTo()
Definition: EnrichmentDialog.cpp:1017
QPushButton * clearButton
Definition: EnrichmentDialog.h:120
Graph * d_plot
Definition: EnrichmentDialog.h:151
void initEditorPage()
Definition: EnrichmentDialog.cpp:109
QHttp * http
Definition: EnrichmentDialog.h:116
PenStyleBox * boxFrameLineStyle
Definition: EnrichmentDialog.h:133
QString createTempTexFile()
Definition: EnrichmentDialog.cpp:716
void finishedCompiling(int, QProcess::ExitStatus)
Definition: EnrichmentDialog.cpp:1280
void setFrameTo(FrameWidget *fw)
Definition: EnrichmentDialog.cpp:1008
Definition: EnrichmentDialog.h:67
QPushButton * textApplyToBtn
Definition: EnrichmentDialog.h:137
QPushButton * textDefaultBtn
Definition: EnrichmentDialog.h:144
QWidget * editPage
Definition: EnrichmentDialog.h:127
void initPatternPage()
Definition: EnrichmentDialog.cpp:373
TextFormatButtons * texFormatButtons
Definition: EnrichmentDialog.h:143
QCheckBox * texOutputBox
Definition: EnrichmentDialog.h:145
QPushButton * rectangleDefaultBtn
Definition: EnrichmentDialog.h:144
void accept()
Definition: EnrichmentDialog.h:73
QComboBox * patternApplyToBox
Definition: EnrichmentDialog.h:138
QLabel * outputLabel
Definition: EnrichmentDialog.h:119
A 2D-plotting widget.
Definition: Graph.h:123
QCheckBox * autoUpdateTextBox
Definition: EnrichmentDialog.h:145
QPushButton * frameDefaultBtn
Definition: EnrichmentDialog.h:144
void apply()
Definition: EnrichmentDialog.cpp:687
QComboBox * attachToBox
Definition: EnrichmentDialog.h:147
void setRectangleDefaultValues()
Definition: EnrichmentDialog.cpp:1231
void initTextPage()
Definition: EnrichmentDialog.cpp:151
WidgetType
Definition: EnrichmentDialog.h:67
Definition: RectangleWidget.h:34
QWidget * patternPage
Definition: EnrichmentDialog.h:127
Definition: EnrichmentDialog.h:67
A customized QtColorPicker used for color selection.
Definition: ColorButton.h:39
QPushButton * bestSizeButton
Definition: EnrichmentDialog.h:123
ColorButton * frameColorBtn
Definition: EnrichmentDialog.h:128
void setTextFormatTo(LegendWidget *l)
Definition: EnrichmentDialog.cpp:1193
Definition: EnrichmentDialog.h:67
void setFrameDefaultValues()
Definition: EnrichmentDialog.cpp:1221
void adjustWidth(double height)
Definition: EnrichmentDialog.cpp:923
QCheckBox * boxSaveImagesInternally
Definition: EnrichmentDialog.h:129
QWidget * imagePage
Definition: EnrichmentDialog.h:127
DoubleSpinBox * yBox
Definition: EnrichmentDialog.h:131
void updateForm(bool error)
Definition: EnrichmentDialog.cpp:786
void initGeometryPage()
Definition: EnrichmentDialog.cpp:450
QFont textFont
Definition: EnrichmentDialog.h:149
Definition: EnrichmentDialog.h:62
ColorButton * textBackgroundBtn
Definition: EnrichmentDialog.h:139
QTextEdit * textEditBox
Definition: EnrichmentDialog.h:124
void fetchImage()
Definition: EnrichmentDialog.cpp:740
QSpinBox * boxTextAngle
Definition: EnrichmentDialog.h:135
QWidget * textPage
Definition: EnrichmentDialog.h:127
QPushButton * textFontBtn
Definition: EnrichmentDialog.h:140
QTabWidget * tabWidget
Definition: EnrichmentDialog.h:126
A QDoubleSpinBox allowing to customize numbers display with respect to locale settings.
Definition: DoubleSpinBox.h:39
void setWidget(QWidget *w)
Definition: EnrichmentDialog.cpp:562
QSpinBox * boxTransparency
Definition: EnrichmentDialog.h:135
void updateButtons()
Definition: EnrichmentDialog.cpp:1382
QCheckBox * keepAspectBox
Definition: EnrichmentDialog.h:134
Definition: FrameWidget.h:38
QtiPlot&#39;s main window.
Definition: ApplicationWindow.h:133
void customButtons(QWidget *w)
Definition: EnrichmentDialog.cpp:550
QWidget * framePage
Definition: EnrichmentDialog.h:127
void setCoordinates(int unit)
Definition: EnrichmentDialog.cpp:856
void chooseImageFile(const QString &fn=QString::null)
Definition: EnrichmentDialog.cpp:813
DoubleSpinBox * widthBox
Definition: EnrichmentDialog.h:131
void saveImagesInternally(bool save)
Definition: EnrichmentDialog.cpp:837
void setPatternTo(FrameWidget *r)
Definition: EnrichmentDialog.cpp:1073
QProcess * dvipngProcess
Definition: EnrichmentDialog.h:117
Definition: EnrichmentDialog.h:67
QComboBox * texCompilerBox
Definition: EnrichmentDialog.h:146
Definition: LegendWidget.h:42
void adjustHeight(double width)
Definition: EnrichmentDialog.cpp:913
QComboBox * unitBox
Definition: EnrichmentDialog.h:132
void textFormatApplyTo()
Definition: EnrichmentDialog.cpp:1128
ApplicationWindow * d_app
Definition: EnrichmentDialog.h:115
void setText(QTextEdit *editor, const QString &t)
Definition: EnrichmentDialog.cpp:1087
DoubleSpinBox * xBox
Definition: EnrichmentDialog.h:131
QPushButton * cancelButton
Definition: EnrichmentDialog.h:122
QComboBox * textApplyToBox
Definition: EnrichmentDialog.h:138
QProcess * compileProcess
Definition: EnrichmentDialog.h:117
A modified QComboBox allowing to choose a Qt::BrushStyle style.
Definition: PatternBox.h:38
QSlider * transparencySlider
Definition: EnrichmentDialog.h:142
DoubleSpinBox * heightBox
Definition: EnrichmentDialog.h:131
TextFormatButtons * formatButtons
Definition: EnrichmentDialog.h:143
void clearForm()
Definition: EnrichmentDialog.cpp:681
void updateTransparency(int alpha)
Definition: EnrichmentDialog.cpp:1122
void createImage()
Definition: EnrichmentDialog.cpp:1248
ColorButton * textColorBtn
Definition: EnrichmentDialog.h:139
void setBestSize()
Definition: EnrichmentDialog.cpp:933
QLineEdit * imagePathBox
Definition: EnrichmentDialog.h:130
Widget with text format buttons (connected to a QTextEdit)
Definition: TextFormatButtons.h:38
QComboBox * frameBox
Definition: EnrichmentDialog.h:125
void initImagePage()
Definition: EnrichmentDialog.cpp:253
ColorButton * backgroundColorBtn
Definition: EnrichmentDialog.h:128
void displayCoordinates(int unit)
Definition: EnrichmentDialog.cpp:878
QWidget * d_widget
Definition: EnrichmentDialog.h:152
QPushButton * updateButton
Definition: EnrichmentDialog.h:121
void updateCompilerInterface(int)
Definition: EnrichmentDialog.cpp:1376
~EnrichmentDialog()
Definition: EnrichmentDialog.cpp:1390
QSpinBox * boxBackgroundTransparency
Definition: EnrichmentDialog.h:141
DoubleSpinBox * boxFrameWidth
Definition: EnrichmentDialog.h:131
double aspect_ratio
Definition: EnrichmentDialog.h:154
QComboBox * frameApplyToBox
Definition: EnrichmentDialog.h:138
Definition: EnrichmentDialog.h:67
PatternBox * patternBox
Definition: EnrichmentDialog.h:136
QSlider * fillTransparencySlider
Definition: EnrichmentDialog.h:142
void setTextDefaultValues()
Definition: EnrichmentDialog.cpp:1206
Definition: EnrichmentDialog.h:67
void customFont()
Definition: EnrichmentDialog.cpp:1109
A modified QComboBox allowing to choose a Qt::PenStyle.
Definition: PenStyleBox.h:38
QWidget * geometryPage
Definition: EnrichmentDialog.h:127
WidgetType d_widget_type
Definition: EnrichmentDialog.h:153
ColorButton * patternColorBtn
Definition: EnrichmentDialog.h:128
QTextEdit * equationEditor
Definition: EnrichmentDialog.h:124
QCheckBox * useFrameColorBox
Definition: EnrichmentDialog.h:134
void frameApplyTo()
Definition: EnrichmentDialog.cpp:952
void initFramePage()
Definition: EnrichmentDialog.cpp:288
EnrichmentDialog(WidgetType wt, Graph *g, ApplicationWindow *app, QWidget *parent=0)
Definition: EnrichmentDialog.cpp:54
void displayCompileError(QProcess::ProcessError error)
Definition: EnrichmentDialog.cpp:1320