Plot3DDialog.h
Go to the documentation of this file.
/***************************************************************************
File : Plot3DDialog.h
Project : QtiPlot
--------------------------------------------------------------------
Copyright : (C) 2004-2007 by Ion Vasilief
Email (use @ for *) : ion_vasilief*yahoo.fr
Description : Surface plot options dialog
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
* Boston, MA 02110-1301 USA *
* *
***************************************************************************/
#ifndef PLOT3DDIALOG_H
#define PLOT3DDIALOG_H
#include "Graph3D.h"
#include <QCheckBox>
class QGroupBox;
class QComboBox;
class QLabel;
class QTextEdit;
class QListWidget;
class QPushButton;
class QRadioButton;
class QSpinBox;
class QTabWidget;
class QWidget;
class QStringList;
class QStackedWidget;
class QDoubleSpinBox;
class ColorButton;
class TextFormatButtons;
class DoubleSpinBox;
class ColorMapEditor;
using namespace Qwt3D;
class Plot3DDialog : public QDialog
{
Q_OBJECT
public:
Plot3DDialog( QWidget* parent, Qt::WFlags fl = 0 );
void setPlot(Graph3D *);
void showTitleTab();
void showAxisTab();
void showGeneralTab();
private slots:
void accept();
bool updatePlot();
void pickTitleFont();
void viewAxisOptions(int axis);
QFont axisFont(int axis);
void pickAxisLabelFont();
void pickNumbersFont();
void viewScaleLimits(int axis);
void disableMeshOptions();
void worksheet();
void initPointsOptionsStack();
void changeZoom(int);
void changeTransparency(int val);
void pickDataColorMap();
void updateColorMapFileGroupBox(bool);
void updateLinearColorMapGroupBox(bool);
void enableMajorGrids(bool on);
void enableMinorGrids(bool on);
private:
void initConnections();
void initScalesPage();
void initAxesPage();
void initTitlePage();
void initGridPage();
void initColorsPage();
void initGeneralPage();
void initPrintPage();
void setColorMapPreview(const QString& fileName);
void showBarsTab();
void showPointsTab(double rad, bool smooth);
void showConesTab(double rad, int quality);
void showCrossHairTab(double rad, double linewidth, bool smooth, bool boxed);
Graph3D *d_plot;
QGroupBox *linearColorMapGroupBox, *colorMapFileGroupBox;
QLabel *colorMapPreviewLabel;
QFont titleFont, xAxisFont,yAxisFont,zAxisFont, numbersFont;
QStringList labels;
QDoubleSpinBox *boxMeshLineWidth;
QPushButton* buttonApply;
QPushButton* buttonOk;
QPushButton* buttonCancel;
QPushButton *btnTitleFont, *btnLabelFont;
QPushButton *btnNumbersFont, *btnTable, *btnColorMap;
ColorButton *btnBackground, *btnMesh, *btnAxes, *btnTitleColor, *btnLabels, *btnNumbers, *btnGrid, *btnGridMinor;
ColorMapEditor *d_color_map_editor;
QTabWidget* generalDialog;
QWidget *scale, *colors, *general, *axes, *title, *bars, *points, *gridPage, *printPage;
DoubleSpinBox *boxFrom, *boxTo;
QTextEdit *boxTitle, *boxLabel;
QSpinBox *boxMajors, *boxMinors;
QGroupBox *TicksGroupBox, *AxesColorGroupBox;
QSpinBox *boxResolution, *boxDistance, *boxTransparency;
QSlider *transparencySlider;
QCheckBox *boxLegend, *boxSmooth, *boxBoxed, *boxCrossSmooth, *boxOrthogonal;
QListWidget *axesList, *axesList2;
QComboBox *boxType, *boxPointStyle;
DoubleSpinBox *boxMajorLength, *boxMinorLength, *boxConesRad;
QSpinBox *boxZoom, *boxXScale, *boxYScale, *boxZScale, *boxQuality, *boxPrecision;
DoubleSpinBox *boxSize, *boxBarsRad, *boxCrossRad, *boxCrossLinewidth;
QStackedWidget *optionStack;
QWidget *dotsPage, *conesPage, *crossPage;
QCheckBox *boxBarLines, *boxFilledBars, *boxScaleOnPrint, *boxPrintCropmarks;
TextFormatButtons *titleFormatButtons, *axisTitleFormatButtons;
double zoom, xScale, yScale, zScale;
QString d_color_map_file;
DoubleSpinBox *boxMajorGridWidth, *boxMinorGridWidth;
QComboBox *boxMajorGridStyle, *boxMinorGridStyle, *boxTickLabelsFormat;
QCheckBox *boxMajorGrids, *boxMinorGrids;
DoubleSpinBox *boxXRotation, *boxYRotation, *boxZRotation;
};
#endif
Plot3DDialog::boxZRotation
DoubleSpinBox * boxZRotation
Definition: Plot3DDialog.h:144
Plot3DDialog::titleFormatButtons
TextFormatButtons * titleFormatButtons
Definition: Plot3DDialog.h:138
Plot3DDialog::d_plot
Graph3D * d_plot
Definition: Plot3DDialog.h:108
Plot3DDialog::boxTitle
QTextEdit * boxTitle
Definition: Plot3DDialog.h:124
Plot3DDialog::boxType
QComboBox * boxType
Definition: Plot3DDialog.h:131
Plot3DDialog::buttonCancel
QPushButton * buttonCancel
Definition: Plot3DDialog.h:116
Plot3DDialog::boxZScale
QSpinBox * boxZScale
Definition: Plot3DDialog.h:133
Plot3DDialog::btnTitleColor
ColorButton * btnTitleColor
Definition: Plot3DDialog.h:119
ColorButton
A customized QtColorPicker used for color selection.
Definition: ColorButton.h:39
Plot3DDialog::boxMeshLineWidth
QDoubleSpinBox * boxMeshLineWidth
Definition: Plot3DDialog.h:113
Plot3DDialog::buttonOk
QPushButton * buttonOk
Definition: Plot3DDialog.h:115
Plot3DDialog::boxSmooth
QCheckBox * boxSmooth
Definition: Plot3DDialog.h:129
Plot3DDialog::zAxisFont
QFont zAxisFont
Definition: Plot3DDialog.h:111
Plot3DDialog::buttonApply
QPushButton * buttonApply
Definition: Plot3DDialog.h:114
Plot3DDialog::boxMinorGrids
QCheckBox * boxMinorGrids
Definition: Plot3DDialog.h:143
Plot3DDialog::dotsPage
QWidget * dotsPage
Definition: Plot3DDialog.h:136
Plot3DDialog
Surface plot options dialog.
Definition: Plot3DDialog.h:56
Graph3D.h
DoubleSpinBox
A QDoubleSpinBox allowing to customize numbers display with respect to locale settings.
Definition: DoubleSpinBox.h:39
Plot3DDialog::boxTo
DoubleSpinBox * boxTo
Definition: Plot3DDialog.h:123
Plot3DDialog::boxScaleOnPrint
QCheckBox * boxScaleOnPrint
Definition: Plot3DDialog.h:137
Plot3DDialog::colorMapPreviewLabel
QLabel * colorMapPreviewLabel
Definition: Plot3DDialog.h:110
Plot3DDialog::optionStack
QStackedWidget * optionStack
Definition: Plot3DDialog.h:135
Plot3DDialog::boxMinors
QSpinBox * boxMinors
Definition: Plot3DDialog.h:125
Plot3DDialog::linearColorMapGroupBox
QGroupBox * linearColorMapGroupBox
Definition: Plot3DDialog.h:109
Graph3D
3D graph widget.
Definition: Graph3D.h:62
Plot3DDialog::boxTransparency
QSpinBox * boxTransparency
Definition: Plot3DDialog.h:127
Plot3DDialog::axesList2
QListWidget * axesList2
Definition: Plot3DDialog.h:130
Plot3DDialog::d_color_map_file
QString d_color_map_file
Definition: Plot3DDialog.h:140
Plot3DDialog::boxMinorLength
DoubleSpinBox * boxMinorLength
Definition: Plot3DDialog.h:132
Plot3DDialog::generalDialog
QTabWidget * generalDialog
Definition: Plot3DDialog.h:121
TextFormatButtons
Widget with text format buttons (connected to a QTextEdit)
Definition: TextFormatButtons.h:38
Plot3DDialog::boxMinorGridWidth
DoubleSpinBox * boxMinorGridWidth
Definition: Plot3DDialog.h:141
Plot3DDialog::boxSize
DoubleSpinBox * boxSize
Definition: Plot3DDialog.h:134
Plot3DDialog::TicksGroupBox
QGroupBox * TicksGroupBox
Definition: Plot3DDialog.h:126
Plot3DDialog::btnTitleFont
QPushButton * btnTitleFont
Definition: Plot3DDialog.h:117
Plot3DDialog::transparencySlider
QSlider * transparencySlider
Definition: Plot3DDialog.h:128
ColorMapEditor
A complex widget allowing to customize a QwtLinearColorMap.
Definition: ColorMapEditor.h:47
Plot3DDialog::btnTable
QPushButton * btnTable
Definition: Plot3DDialog.h:118
Plot3DDialog::zScale
double zScale
Definition: Plot3DDialog.h:139
Plot3DDialog::d_color_map_editor
ColorMapEditor * d_color_map_editor
Definition: Plot3DDialog.h:120
Plot3DDialog::title
QWidget * title
Definition: Plot3DDialog.h:122
Plot3DDialog::boxTickLabelsFormat
QComboBox * boxTickLabelsFormat
Definition: Plot3DDialog.h:142
Plot3DDialog::labels
QStringList labels
Definition: Plot3DDialog.h:112