scidavis  2.3.0
About: SciDAVis is a free application for Scientific Data Analysis and Visualization (a fork off of QtiPlot).
  Fossies Dox: scidavis-2.3.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Plot3DDialog.cpp
Go to the documentation of this file.
1 
11 
29 #include "Plot3DDialog.h"
30 #include "TextDialog.h"
31 #include "MyParser.h"
32 #include "SymbolDialog.h"
33 
34 #include <QListWidget>
35 #include <QLineEdit>
36 #include <QLayout>
37 #include <QSpinBox>
38 #include <QDoubleSpinBox>
39 #include <QPushButton>
40 #include <QLabel>
41 #include <QStackedWidget>
42 #include <QWidget>
43 #include <QMessageBox>
44 #include <QComboBox>
45 #include <QWidgetList>
46 #include <QFileDialog>
47 #include <QGroupBox>
48 #include <QFontDialog>
49 #include <QColorDialog>
50 
51 #include <qwt3d_color.h>
52 
53 Plot3DDialog::Plot3DDialog( QWidget* parent, Qt::WindowFlags fl )
54  : QDialog( parent, fl )
55 {
56  setWindowTitle( tr( "Surface Plot Options" ) );
57 
58  bars=0; points=0;
59 
60  QHBoxLayout *hbox = new QHBoxLayout();
61  hbox->addStretch();
62  btnTable = new QPushButton();
63  btnTable->hide();
64  hbox->addWidget(btnTable);
65  buttonApply = new QPushButton(tr( "&Apply" ));
66  hbox->addWidget(buttonApply);
67  buttonOk = new QPushButton(tr( "&OK" ));
68  buttonOk->setDefault( true );
69  hbox->addWidget(buttonOk);
70  buttonCancel = new QPushButton(tr( "&Cancel" ));
71  hbox->addWidget(buttonCancel);
72 
73  generalDialog = new QTabWidget();
74 
76  initAxesPage();
77  initTitlePage();
80 
81  QVBoxLayout* vl = new QVBoxLayout(this);
82  vl->addWidget(generalDialog);
83  vl->addLayout(hbox);
84 
85  connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) );
86  connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
87  connect( buttonApply, SIGNAL( clicked() ), this, SLOT(updatePlot() ) );
88  connect( btnTable, SIGNAL( clicked() ), this, SLOT(worksheet() ) );
89 }
90 
92 {
93  axesList = new QListWidget();
94  axesList->addItem(tr( "X" ) );
95  axesList->addItem(tr( "Y" ) );
96  axesList->addItem(tr( "Z" ) );
97  axesList->setFixedWidth(50);
98  axesList->setCurrentRow(0);
99 
100  QGridLayout *gl1 = new QGridLayout();
101  gl1->addWidget(new QLabel(tr("From")), 0, 0);
102  boxFrom = new QLineEdit();
103  boxFrom->setMaximumWidth(150);
104  gl1->addWidget(boxFrom, 0, 1);
105  gl1->addWidget(new QLabel(tr("To")), 1, 0);
106  boxTo = new QLineEdit();
107  boxTo->setMaximumWidth(150);
108  gl1->addWidget(boxTo, 1, 1);
109  gl1->addWidget(new QLabel(tr("Type")), 2, 0);
110  boxType=new QComboBox();
111  boxType->addItem(tr("linear"));
112  boxType->addItem(tr("logarithmic"));
113  boxType->setMaximumWidth(150);
114  gl1->addWidget(boxType, 2, 1);
115  gl1->setRowStretch(3, 1);
116 
117  QGroupBox *gb1 = new QGroupBox();
118  gb1->setLayout(gl1);
119 
120  QGridLayout *gl2 = new QGridLayout();
121  gl2->addWidget(new QLabel(tr("Major Ticks")), 0, 0);
122  boxMajors = new QSpinBox();
123  gl2->addWidget(boxMajors, 0, 1);
124  gl2->addWidget(new QLabel(tr("Minor Ticks")), 1, 0);
125  boxMinors = new QSpinBox();
126  gl2->addWidget(boxMinors, 1, 1);
127  gl2->setRowStretch(2, 1);
128 
129  TicksGroupBox = new QGroupBox();
130  TicksGroupBox->setLayout(gl2);
131 
132  QHBoxLayout* hb = new QHBoxLayout();
133  hb->addWidget(axesList);
134  hb->addWidget(gb1);
135  hb->addWidget(TicksGroupBox);
136 
137  scale = new QWidget();
138  scale->setLayout(hb);
139  generalDialog->addTab(scale, tr( "&Scale" ) );
140 }
141 
143 {
144  axesList2 = new QListWidget();
145  axesList2->addItem(tr( "X" ) );
146  axesList2->addItem(tr( "Y" ) );
147  axesList2->addItem(tr( "Z" ) );
148  axesList2->setFixedWidth(50);
149  axesList2->setCurrentRow(0);
150 
151  QGridLayout *gl1 = new QGridLayout();
152  gl1->addWidget(new QLabel(tr("Title")), 0, 0);
153  boxLabel = new QLineEdit();
154  gl1->addWidget(boxLabel, 0, 1);
155  gl1->addWidget(new QLabel(tr("Axis Font")), 1, 0);
156 
157  QHBoxLayout* hb1 = new QHBoxLayout();
158  btnLabelFont = new QPushButton(tr( "&Choose font" ));
159  hb1->addWidget(btnLabelFont);
160  buttonAxisLowerGreek = new QPushButton(QChar(0x3B1));
161  hb1->addWidget(buttonAxisLowerGreek);
162  buttonAxisUpperGreek = new QPushButton(QChar(0x393));
163  hb1->addWidget(buttonAxisUpperGreek);
164  hb1->addStretch();
165  gl1->addLayout(hb1, 1, 1);
166 
167  gl1->addWidget(new QLabel(tr("Major Ticks Length")), 2, 0);
168  boxMajorLength = new QLineEdit();
169  gl1->addWidget(boxMajorLength, 2, 1);
170  gl1->addWidget(new QLabel(tr("Minor Ticks Length")), 3, 0);
171  boxMinorLength = new QLineEdit();
172  gl1->addWidget(boxMinorLength, 3, 1);
173  gl1->setRowStretch(4, 1);
174 
175  QGroupBox *gb1 = new QGroupBox();
176  gb1->setLayout(gl1);
177 
178  QHBoxLayout* hb2 = new QHBoxLayout();
179  hb2->addWidget(axesList2);
180  hb2->addWidget(gb1);
181 
182  axes = new QWidget();
183  axes->setLayout(hb2);
184  generalDialog->addTab(axes, tr( "&Axis" ) );
185 
186  connect( buttonAxisLowerGreek, SIGNAL(clicked()), this, SLOT(showLowerGreek()));
187  connect( buttonAxisUpperGreek, SIGNAL(clicked()), this, SLOT(showUpperGreek()));
188  connect( axesList2, SIGNAL(currentRowChanged(int)), this, SLOT(viewAxisOptions(int)));
189  connect( axesList, SIGNAL(currentRowChanged(int)), this, SLOT(viewScaleLimits(int)));
190  connect( btnLabelFont, SIGNAL(clicked()), this, SLOT(pickAxisLabelFont()));
191 }
192 
194 {
195  QHBoxLayout* hb1 = new QHBoxLayout();
196  hb1->addStretch();
197  buttonLowerGreek = new QPushButton(QChar(0x3B1));
198  hb1->addWidget(buttonLowerGreek);
199  buttonUpperGreek = new QPushButton(QChar(0x393));
200  hb1->addWidget(buttonUpperGreek);
201  btnTitleColor = new QPushButton(tr( "&Color" ));
202  hb1->addWidget(btnTitleColor);
203  btnTitleFont = new QPushButton(tr( "&Font" ));
204  hb1->addWidget(btnTitleFont);
205  hb1->addStretch();
206 
207  QVBoxLayout* vl = new QVBoxLayout();
208  boxTitle = new QLineEdit();
209  vl->addWidget(boxTitle);
210  vl->addLayout(hb1);
211  vl->addStretch();
212 
213  title = new QWidget();
214  title->setLayout(vl);
215  generalDialog->addTab(title, tr( "&Title" ) );
216 
217  connect( btnTitleColor, SIGNAL(clicked()), this, SLOT(pickTitleColor() ) );
218  connect( btnTitleFont, SIGNAL(clicked()), this, SLOT(pickTitleFont() ) );
219  connect( buttonLowerGreek, SIGNAL(clicked()), this, SLOT(showLowerGreek()));
220  connect( buttonUpperGreek, SIGNAL(clicked()), this, SLOT(showUpperGreek()));
221 }
222 
224 {
225  QVBoxLayout* vl1 = new QVBoxLayout();
226  btnFromColor = new QPushButton(tr( "Ma&x" ));
227  vl1->addWidget(btnFromColor);
228  btnToColor = new QPushButton(tr( "&Min" ));
229  vl1->addWidget(btnToColor);
230  btnColorMap = new QPushButton(tr( "Color Ma&p" ));
231  vl1->addWidget(btnColorMap);
232  vl1->addStretch();
233 
234  QGroupBox *gb1 = new QGroupBox(tr( "Data" ));
235  gb1->setLayout(vl1);
236 
237  QVBoxLayout* vl2 = new QVBoxLayout();
238  btnMesh = new QPushButton(tr( "&Line" ));
239  vl2->addWidget(btnMesh);
240  btnBackground = new QPushButton(tr( "&Background" ));
241  vl2->addWidget(btnBackground);
242  vl2->addStretch();
243 
244  QGroupBox *gb2 = new QGroupBox(tr( "General" ));
245  gb2->setLayout(vl2);
246 
247  QGridLayout *gl1 = new QGridLayout();
248  btnAxes = new QPushButton(tr( "&Axes" ));
249  gl1->addWidget(btnAxes, 0, 0);
250  btnLabels = new QPushButton(tr( "Lab&els" ));
251  gl1->addWidget(btnLabels, 0, 1);
252  btnNumbers = new QPushButton(tr( "&Numbers" ));
253  gl1->addWidget(btnNumbers, 1, 0);
254  btnGrid = new QPushButton(tr( "&Grid" ));
255  gl1->addWidget(btnGrid, 1, 1);
256  gl1->setRowStretch(2, 1);
257 
258  AxesColorGroupBox = new QGroupBox(tr( "Coordinate System" ));
259  AxesColorGroupBox->setLayout(gl1);
260 
261  QHBoxLayout* hb1 = new QHBoxLayout();
262  hb1->addWidget(gb1);
263  hb1->addWidget(gb2);
264  hb1->addWidget(AxesColorGroupBox);
265 
266  QHBoxLayout* hb2 = new QHBoxLayout();
267  hb2->addStretch();
268  hb2->addWidget(new QLabel( tr( "Opacity" )));
269  boxTransparency = new QSpinBox();
270  boxTransparency->setRange(0, 100);
271  boxTransparency->setSingleStep(5);
272  hb2->addWidget(boxTransparency);
273 
274  QVBoxLayout* vl = new QVBoxLayout();
275  vl->addLayout(hb2);
276  vl->addLayout(hb1);
277 
278  colors = new QWidget();
279  colors->setLayout(vl);
280  generalDialog->addTab(colors, tr( "&Colors" ) );
281 
282  connect( btnAxes, SIGNAL( clicked() ), this, SLOT(pickAxesColor() ) );
283  connect( btnLabels, SIGNAL( clicked() ), this, SLOT(pickLabelColor() ) );
284  connect( btnNumbers, SIGNAL( clicked() ), this, SLOT(pickNumberColor() ) );
285  connect( btnBackground, SIGNAL( clicked() ), this, SLOT(pickBgColor() ) );
286  connect( btnFromColor, SIGNAL( clicked() ), this, SLOT(pickFromColor() ) );
287  connect( btnToColor, SIGNAL( clicked() ), this, SLOT(pickToColor() ) );
288  connect( btnColorMap, SIGNAL( clicked() ), this, SLOT(pickDataColorMap() ) );
289  connect( btnGrid, SIGNAL( clicked() ), this, SLOT(pickGridColor() ) );
290  connect( btnMesh, SIGNAL( clicked() ), this, SLOT(pickMeshColor() ) );
291  connect( boxTransparency, SIGNAL( valueChanged(int) ), this, SLOT(changeTransparency(int) ) );
292 }
293 
295 {
296  QGridLayout *gl1 = new QGridLayout();
297  boxLegend = new QCheckBox(tr("Show Legend"));
298  gl1->addWidget(boxLegend, 0, 0);
299  boxOrthogonal = new QCheckBox(tr("Orthogonal"));
300  gl1->addWidget(boxOrthogonal, 0, 1);
301 
302  gl1->addWidget(new QLabel(tr( "Line Width" )), 1, 0);
303  boxMeshLineWidth = new QSpinBox();
304  boxMeshLineWidth->setRange(1, 100);
305  gl1->addWidget(boxMeshLineWidth, 1, 1);
306 
307  gl1->addWidget(new QLabel( tr( "Resolution" )), 2, 0);
308  boxResolution = new QSpinBox();
309  boxResolution->setRange(1, 100);
310  boxResolution->setSpecialValueText( "1 (all data)" );
311  gl1->addWidget(boxResolution, 2, 1);
312 
313  gl1->addWidget(new QLabel( tr( "Numbers Font" )), 3, 0);
314  btnNumbersFont=new QPushButton(tr( "&Choose Font" ));
315  gl1->addWidget(btnNumbersFont, 3, 1);
316 
317  gl1->addWidget(new QLabel( tr( "Distance labels - axis" )), 4, 0);
318  boxDistance = new QSpinBox();
319  boxDistance->setRange(0, 1000);
320  boxDistance->setSingleStep(5);
321  gl1->addWidget(boxDistance, 4, 1);
322  gl1->setRowStretch(5, 1);
323 
324  QGroupBox *gb1 = new QGroupBox();
325  gb1->setLayout(gl1);
326 
327  QGridLayout *gl2 = new QGridLayout();
328  gl2->addWidget(new QLabel(tr( "Zoom (%)" )), 0, 0);
329  boxZoom = new QDoubleSpinBox();
330  boxZoom->setMinimum(0);
331  boxZoom->setMaximum(1e15);
332  boxZoom->setSingleStep(10);
333 
334  gl2->addWidget(boxZoom, 0, 1);
335  gl2->addWidget(new QLabel(tr( "X Zoom (%)" )), 1, 0);
336  boxXScale = new QDoubleSpinBox();
337  boxXScale->setMinimum(0);
338  boxXScale->setMaximum(1e15);
339  boxXScale->setSingleStep(10);
340  gl2->addWidget(boxXScale, 1, 1);
341 
342  gl2->addWidget(new QLabel(tr( "Y Zoom (%)" )), 2, 0);
343  boxYScale = new QDoubleSpinBox();
344  boxYScale->setMinimum(0);
345  boxYScale->setMaximum(1e15);
346  boxYScale->setSingleStep(10);
347  gl2->addWidget(boxYScale, 2, 1);
348 
349  gl2->addWidget(new QLabel(tr( "Z Zoom (%)" )), 3, 0);
350  boxZScale = new QDoubleSpinBox();
351  boxZScale->setMinimum(0);
352  boxZScale->setMaximum(1e15);
353  boxZScale->setSingleStep(10);
354  gl2->addWidget(boxZScale, 3, 1);
355  gl2->setRowStretch(4, 1);
356 
357  QGroupBox *gb2 = new QGroupBox();
358  gb2->setLayout(gl2);
359 
360  QHBoxLayout* hl = new QHBoxLayout();
361  hl->addWidget(gb1);
362  hl->addWidget(gb2);
363 
364  general = new QWidget();
365  general->setLayout(hl);
366  generalDialog->addTab(general, tr( "&General" ) );
367 
368  connect( boxResolution, SIGNAL(valueChanged(int)), this, SIGNAL(updateResolution(int)));
369  connect( boxDistance, SIGNAL(valueChanged(int)), this, SIGNAL(adjustLabels(int)));
370  connect( boxMeshLineWidth, SIGNAL(valueChanged(int)), this, SIGNAL(updateMeshLineWidth(int)));
371  connect( boxOrthogonal, SIGNAL(toggled(bool)), this, SIGNAL(setOrtho(bool)));
372  connect( boxLegend, SIGNAL(toggled(bool)), this, SIGNAL(showColorLegend(bool)));
373  connect( boxZoom, SIGNAL(valueChanged(double)), this, SLOT(changeZoom(double)));
374  connect( boxXScale, SIGNAL(valueChanged(double)), this, SLOT(changeZoom(double)));
375  connect( boxYScale, SIGNAL(valueChanged(double)), this, SLOT(changeZoom(double)));
376  connect( boxZScale, SIGNAL(valueChanged(double)), this, SLOT(changeZoom(double)));
377  connect( btnNumbersFont, SIGNAL(clicked()), this, SLOT(pickNumbersFont() ) );
378 }
379 
381 {
382  QHBoxLayout* hl1 = new QHBoxLayout();
383  hl1->addStretch();
384  hl1->addWidget(new QLabel( tr( "Style" )));
385  boxPointStyle = new QComboBox();
386  boxPointStyle->addItem(tr("Dot"));
387  boxPointStyle->addItem(tr("Cross Hair"));
388  boxPointStyle->addItem(tr("Cone"));
389  hl1->addWidget(boxPointStyle);
390 
391  optionStack = new QStackedWidget();
392  optionStack->setFrameShape( QFrame::StyledPanel );
393  optionStack->setFrameShadow( QStackedWidget::Plain );
394 
395  QGridLayout *gl1 = new QGridLayout();
396  gl1->addWidget(new QLabel( tr( "Width" )), 0, 0);
397  boxSize = new QLineEdit("5");
398  gl1->addWidget(boxSize, 0, 1);
399 
400  gl1->addWidget(new QLabel( tr( "Smooth angles" )), 1, 0);
401  boxSmooth = new QCheckBox();
402  boxSmooth->setChecked(false);
403  gl1->addWidget(boxSmooth, 1, 1);
404 
405  dotsPage = new QWidget();
406  dotsPage->setLayout(gl1);
407  optionStack->addWidget(dotsPage);
408 
409  QGridLayout *gl2 = new QGridLayout();
410  gl2->addWidget(new QLabel( tr( "Radius" )), 0, 0);
411  boxCrossRad = new QLineEdit("0.01");
412  gl2->addWidget(boxCrossRad, 0, 1);
413  gl2->addWidget(new QLabel(tr( "Line Width")), 1, 0);
414  boxCrossLinewidth = new QLineEdit("1");
415  gl2->addWidget(boxCrossLinewidth, 1, 1);
416  gl2->addWidget(new QLabel(tr( "Smooth line" )), 2, 0);
417  boxCrossSmooth = new QCheckBox();
418  boxCrossSmooth->setChecked(true);
419  gl2->addWidget(boxCrossSmooth, 2, 1);
420  gl2->addWidget(new QLabel(tr( "Boxed" )), 3, 0);
421  boxBoxed = new QCheckBox();
422  boxBoxed->setChecked(false);
423  gl2->addWidget(boxBoxed, 3, 1);
424 
425  crossPage = new QWidget();
426  crossPage->setLayout(gl2);
427  optionStack->addWidget(crossPage);
428 
429  QGridLayout *gl3 = new QGridLayout();
430  gl3->addWidget(new QLabel( tr( "Width" )), 0, 0);
431  boxConesRad = new QLineEdit("0.5");
432  gl3->addWidget(boxConesRad, 0, 1);
433  gl3->addWidget(new QLabel( tr( "Quality" )), 1, 0);
434  boxQuality = new QSpinBox();
435  boxQuality->setRange(0, 40);
436  boxQuality->setValue(32);
437  gl3->addWidget(boxQuality, 1, 1);
438 
439  conesPage = new QWidget();
440  conesPage->setLayout(gl3);
441  optionStack->addWidget(conesPage);
442 
443  QVBoxLayout* vl = new QVBoxLayout();
444  vl->addLayout(hl1);
445  vl->addWidget(optionStack);
446 
447  points = new QWidget();
448  points->setLayout(vl);
449 
450  generalDialog->insertTab(4, points, tr( "Points" ));
451  connect( boxPointStyle, SIGNAL( activated(int) ), optionStack, SLOT( setCurrentIndex(int) ) );
452 }
453 
455 {
456  SymbolDialog *greekLetters = new SymbolDialog(SymbolDialog::lowerGreek, this, Qt::Tool);
457  greekLetters->setAttribute(Qt::WA_DeleteOnClose);
458  connect(greekLetters, SIGNAL(addLetter(const QString&)), this, SLOT(addSymbol(const QString&)));
459  greekLetters->show();
460  greekLetters->activateWindow();
461 }
462 
464 {
465  SymbolDialog *greekLetters = new SymbolDialog(SymbolDialog::upperGreek, this, Qt::Tool);
466  greekLetters->setAttribute(Qt::WA_DeleteOnClose);
467  connect(greekLetters, SIGNAL(addLetter(const QString&)), this, SLOT(addSymbol(const QString&)));
468  greekLetters->show();
469  greekLetters->activateWindow();
470 }
471 
472 void Plot3DDialog::addSymbol(const QString& letter)
473 {
474  if (generalDialog->currentWidget()==(QWidget*)title)
475  boxTitle->insert(letter);
476  else if (generalDialog->currentWidget()==(QWidget*)axes)
477  boxLabel->insert(letter);
478 }
479 
481 {
482  emit showWorksheet();
483  close();
484 }
485 
486 void Plot3DDialog::customWorksheetBtn(const QString& text)
487 {
488  if (!text.isEmpty())
489  {
490  btnTable->show();
491  btnTable->setText(text);
492  }
493 }
494 
496 {
497  btnGrid->setDisabled(true);
498 }
499 
501 {
502  TicksGroupBox->setDisabled(true);
503  generalDialog->setTabEnabled(generalDialog->indexOf(axes),false);
504  AxesColorGroupBox->setDisabled(true);
505  boxDistance->setDisabled(true);
506  btnNumbersFont->setDisabled(true);
507 }
508 
510 {
511  bars = new QWidget( generalDialog );
512  QHBoxLayout * bars_layout = new QHBoxLayout();
513  bars->setLayout(bars_layout);
514 
515  bars_layout->addWidget(new QLabel( tr( "Width" )));
516  boxBarsRad = new QLineEdit();
517  boxBarsRad->setText(QString::number(rad));
518  bars_layout->addWidget(boxBarsRad);
519 
520  generalDialog->insertTab(4, bars, tr( "Bars" ));
521 }
522 
523 void Plot3DDialog::showPointsTab(double rad, bool smooth)
524 {
525  boxPointStyle->setCurrentIndex(0);
526  boxSize->setText(QString::number(rad));
527  boxSmooth->setChecked(smooth);
528  optionStack->setCurrentIndex (0);
529 }
530 
531 void Plot3DDialog::showConesTab(double rad, int quality)
532 {
533  boxPointStyle->setCurrentIndex(2);
534  boxConesRad->setText(QString::number(rad));
535  boxQuality->setValue(quality);
536  optionStack->setCurrentIndex (2);
537 }
538 
539 void Plot3DDialog::showCrossHairTab(double rad, double linewidth, bool smooth, bool boxed)
540 {
541  boxPointStyle->setCurrentIndex(1);
542  boxCrossRad->setText(QString::number(rad));
543  boxCrossLinewidth->setText(QString::number(linewidth));
544  boxCrossSmooth->setChecked(smooth);
545  boxBoxed->setChecked(boxed);
546  optionStack->setCurrentIndex(1);
547 }
548 
550 {
551  btnMesh->setDisabled(true);
552  boxMeshLineWidth->setDisabled(true);
553 }
554 
556 {
557  boxLegend->setDisabled(true);
558 }
559 
561 {
562  boxDistance->setValue(dist);
563 }
564 
566 {
567 QString fn = QFileDialog::getOpenFileName(this, QString(), d_plot->colorMap(), tr("Colormap files") + " (*.map *.MAP)");
568 if (!fn.isEmpty())
569  emit setDataColorMap(fn);
570 }
571 
573 {
574  QColor c = QColorDialog::getColor(fromColor, this );
575  if ( !c.isValid() )
576  return fromColor;
577 
578  fromColor = c;
579  return fromColor;
580 }
581 
583 {
584  QColor c = QColorDialog::getColor(toColor, this );
585  if ( !c.isValid() )
586  return toColor;
587 
588  toColor = c;
589  return toColor;
590 }
591 
593 {
594  QColor c = QColorDialog::getColor(gridColor, this );
595  if ( !c.isValid() )
596  return gridColor;
597 
598  gridColor = c;
599  return gridColor;
600 }
601 
603 {
604  QColor c = QColorDialog::getColor(axesColor, this );
605  if ( !c.isValid() )
606  return axesColor;
607 
608  axesColor = c;
609  return axesColor;
610 }
611 
613 {
614  QColor c = QColorDialog::getColor(bgColor, this );
615  if ( !c.isValid() )
616  return bgColor;
617 
618  bgColor = c;
619  return bgColor;
620 }
621 
623 {
624  QColor c = QColorDialog::getColor(numColor, this );
625  if ( !c.isValid() )
626  return numColor;
627 
628  numColor = c;
629  return numColor;
630 }
631 
633 {
634  QColor c = QColorDialog::getColor(labelColor, this );
635  if ( !c.isValid() )
636  return labelColor;
637 
638  labelColor = c;
639  return labelColor;
640 }
641 
643 {
644  QColor c = QColorDialog::getColor(titleColor, this );
645  if ( !c.isValid() )
646  return titleColor;
647 
648  titleColor = c;
649  return titleColor;
650 }
651 
653 {
654  bool ok;
655  QFont font = QFontDialog::getFont(&ok,titleFont,this);
656  if ( ok ) {
657  titleFont = font;
658  } else {
659  return;
660  }
661 }
662 
664 {
665  bool ok;
666  QFont font = QFontDialog::getFont(&ok,numbersFont,this);
667  if ( ok ) {
668  numbersFont = font;
669  } else {
670  return;
671  }
672 }
673 
675 {
676  boxLabel->setText(labels[axis]);
677 
678  boxMajorLength->setText(tickLengths[2*axis+0]);
679  boxMinorLength->setText(tickLengths[2*axis+1]);
680 }
681 
682 void Plot3DDialog::setAxesLabels(const QStringList& list)
683 {
684  labels=list;
685  boxLabel->setText(labels[0]);
686 }
687 
688 void Plot3DDialog::setScales(const QStringList& list)
689 {
690  scales=list;
691  boxFrom->setText(scales[0]);
692  boxTo->setText(scales[1]);
693  boxMajors->setValue(scales[2].toInt());
694  boxMinors->setValue(scales[3].toInt());
695  boxType->setCurrentIndex(scales[4].toInt());
696 }
697 
698 void Plot3DDialog::setAxesTickLengths(const QStringList& list)
699 {
700  tickLengths=list;
701  boxMajorLength->setText(list[0]);
702  boxMinorLength->setText(list[1]);
703 }
704 
706 {
707  boxFrom->setText(scales[5*axis+0]);
708  boxTo->setText(scales[5*axis+1]);
709  boxMajors->setValue(scales[5*axis+2].toInt());
710  boxMinors->setValue(scales[5*axis+3].toInt());
711  boxType->setCurrentIndex(scales[5*axis+4].toInt());
712 }
713 
714 void Plot3DDialog::setTitle(const QString& title)
715 {
716  boxTitle->setText(title);
717 }
718 
719 void Plot3DDialog::setTitleFont(const QFont& font)
720 {
721  titleFont=font;
722 }
723 
725 {
726 
727  QColor c = QColorDialog::getColor(meshColor, this );
728  if ( !c.isValid() )
729  return meshColor;
730 
731  meshColor=c;
732  return meshColor;
733 }
734 
736 {
737  if (updatePlot())
738  close();
739 }
740 
741 void Plot3DDialog::setDataColors(const QColor& minColor, const QColor& maxColor)
742 {
743  fromColor=minColor;
744  toColor=maxColor;
745 }
746 
747 void Plot3DDialog::setColors(const QColor& title, const QColor& mesh,const QColor& axes,const QColor& num,
748  const QColor& label,const QColor& bg,const QColor& grid)
749 {
751  meshColor=mesh;
752  axesColor=axes;
753  numColor=num;
754  labelColor=label;
755  bgColor=bg;
756  gridColor=grid;
757 }
758 
760 {
761  boxLegend->setChecked(show);
762 }
763 
765 {
766  if (generalDialog->currentWidget() != (QWidget*)general)
767  return;
768 
769  emit updateZoom(boxZoom->value()*0.01);
770  emit updateScaling(boxXScale->value(),boxYScale->value()*0.01,
771  boxZScale->value()*0.01);
772 }
773 
775 {
776  if (generalDialog->currentWidget() != (QWidget*)colors)
777  return;
778 
779  emit updateTransparency(val*0.01);
780 }
781 
783 {
784  int axis=-1;
785 
786  if (generalDialog->currentWidget()==(QWidget*)bars)
787  {
788  emit updateBars(boxBarsRad->text().toDouble());
789  }
790 
791  if (generalDialog->currentWidget()==(QWidget*)points)
792  {
793  if (boxPointStyle->currentIndex() == 0)
794  emit updatePoints(boxSize->text().toDouble(), boxSmooth->isChecked());
795  else if (boxPointStyle->currentIndex() == 1)
796  emit updateCross(boxCrossRad->text().toDouble(), boxCrossLinewidth->text().toDouble(),
797  boxCrossSmooth->isChecked(), boxBoxed->isChecked());
798  else if (boxPointStyle->currentIndex() == 2)
799  emit updateCones(boxConesRad->text().toDouble(), boxQuality->value());
800  }
801 
802  if (generalDialog->currentWidget()==(QWidget*)title)
803  {
805  }
806 
807  if (generalDialog->currentWidget()==(QWidget*)colors)
808  {
809  emit updateTransparency(boxTransparency->value()*0.01);
812  }
813 
814  if (generalDialog->currentWidget()==(QWidget*)general)
815  {
816  emit showColorLegend(boxLegend->isChecked());
817  emit updateMeshLineWidth(boxMeshLineWidth->value());
818  emit adjustLabels(boxDistance->value());
819  emit updateResolution (boxResolution->value());
820  emit showColorLegend(boxLegend->isChecked());
822  emit updateZoom(boxZoom->value()*0.01);
823  emit updateScaling(boxXScale->value()*0.01,boxYScale->value()*0.01,
824  boxZScale->value()*0.01);
825  }
826 
827  if (generalDialog->currentWidget()==(QWidget*)scale)
828  {
829  axis=axesList->currentRow();
830  QString from=boxFrom->text().toLower();
831  QString to=boxTo->text().toLower();
832  double start,end;
833  bool error=false;
834  try
835  {
836  MyParser parser;
837  parser.SetExpr(from);
838  start=parser.Eval();
839  }
840  catch(mu::ParserError &e)
841  {
842  QMessageBox::critical(0,tr("Start limit error"), QStringFromString(e.GetMsg()));
843  boxFrom->setFocus();
844  error=true;
845  return false;
846  }
847  try
848  {
849  MyParser parser;
850  parser.SetExpr(to);
851  end=parser.Eval();
852  }
853  catch(mu::ParserError &e)
854  {
855  QMessageBox::critical(0,tr("End limit error"), QStringFromString(e.GetMsg()));
856  boxTo->setFocus();
857  error=true;
858  return false;
859  }
860 
861  if (start>=end)
862  {
863  QMessageBox::critical(0,tr("Input error"),
864  tr("Please enter scale limits that satisfy: from < to!"));
865  boxTo->setFocus();
866  return false;
867  }
868 
869  if (! error)
870  emit updateScale(axis,scaleOptions(axis, start, end,
871  boxMajors->text(), boxMinors->text()));
872  }
873 
874  if (generalDialog->currentWidget()==(QWidget*)axes)
875  {
876  axis=axesList2->currentRow();
877  labels[axis] = boxLabel->text();
878  emit updateLabel(axis, boxLabel->text(),axisFont(axis));
879  emit updateTickLength(axis,boxMajorLength->text().toDouble(),
880  boxMinorLength->text().toDouble());
881  }
882 
883  return true;
884 }
885 
886 QStringList Plot3DDialog::scaleOptions(int axis, double start, double end,
887  const QString& majors, const QString& minors)
888 {
889  Q_ASSERT(0 <= axis); Q_ASSERT(5*axis+4 < scales.size());
890  QStringList l;
891  l<<QString::number(start);
892  l<<QString::number(end);
893  l<<majors;
894  l<<minors;
895  l<<QString::number(boxType->currentIndex());
896 
897  for (int i=0;i<5;i++)
898  scales[5*axis+i]=l[i];
899  return l;
900 }
901 
903 {
904  boxMeshLineWidth->setValue(int(lw));
905 }
906 
907 void Plot3DDialog::setAxesFonts(const QFont& xf, const QFont& yf, const QFont& zf)
908 {
909  xAxisFont=xf;
910  yAxisFont=yf;
911  zAxisFont=zf;
912 }
913 
915 {
916  bool ok;
917  QFont font;
918  switch(axesList2->currentRow())
919  {
920  case 0:
921  font= QFontDialog::getFont(&ok,xAxisFont,this);
922  if ( ok )
923  xAxisFont=font;
924  else
925  return;
926  break;
927 
928  case 1:
929  font= QFontDialog::getFont(&ok,yAxisFont,this);
930  if ( ok )
931  yAxisFont=font;
932  else
933  return;
934  break;
935 
936  case 2:
937  font= QFontDialog::getFont(&ok,zAxisFont,this);
938  if ( ok )
939  zAxisFont=font;
940  else
941  return;
942  break;
943  }
944 }
945 
946 QFont Plot3DDialog::axisFont(int axis)
947 {
948  QFont f;
949  switch(axis)
950  {
951  case 0:
952  f=xAxisFont;
953  break;
954 
955  case 1:
956  f=yAxisFont;
957  break;
958 
959  case 2:
960  f=zAxisFont;
961  break;
962  }
963  return f;
964 }
965 
967 {
968  boxTransparency->setValue(int(100*t));
969 }
970 
972 {
973  boxResolution->setValue( r );
974 }
975 
977 {
978  boxZoom->setValue(zoom*100);
979 }
980 
981 void Plot3DDialog::setScaling(double xVal, double yVal, double zVal)
982 {
983  boxXScale->setValue(xVal*100);
984  boxYScale->setValue(yVal*100);
985  boxZScale->setValue(zVal*100);
986 }
987 
989 {
990  generalDialog->setCurrentIndex(generalDialog->indexOf(general));
991 }
992 
994 {
995  generalDialog->setCurrentIndex(2);
996 }
997 
999 {
1000  generalDialog->setCurrentIndex(1);
1001 }
1002 
1004 {
1005 }
Graph3D::colorMap
QString colorMap()
Definition: Graph3D.h:272
SymbolDialog
Tools window to select special text characters.
Definition: SymbolDialog.h:44
Plot3DDialog::boxMajors
QSpinBox * boxMajors
Definition: Plot3DDialog.h:179
Plot3DDialog::customWorksheetBtn
void customWorksheetBtn(const QString &text)
Definition: Plot3DDialog.cpp:486
Plot3DDialog::showUpperGreek
void showUpperGreek()
Definition: Plot3DDialog.cpp:463
Plot3DDialog::gridColor
QColor gridColor
Definition: Plot3DDialog.h:165
Plot3DDialog::updateTickLength
void updateTickLength(int, double, double)
MyParser.h
Plot3DDialog::pickBgColor
QColor pickBgColor()
Definition: Plot3DDialog.cpp:612
Plot3DDialog::setTitle
void setTitle(const QString &title)
Definition: Plot3DDialog.cpp:714
Plot3DDialog::updateTransparency
void updateTransparency(double)
Plot3DDialog::optionStack
QStackedWidget * optionStack
Definition: Plot3DDialog.h:189
Plot3DDialog::updateScale
void updateScale(int, const QStringList &)
Plot3DDialog::setZoom
void setZoom(double zoom)
Definition: Plot3DDialog.cpp:976
Plot3DDialog.h
Plot3DDialog::boxMajorLength
QLineEdit * boxMajorLength
Definition: Plot3DDialog.h:185
Plot3DDialog::pickAxisLabelFont
void pickAxisLabelFont()
Definition: Plot3DDialog.cpp:914
Plot3DDialog::pickLabelColor
QColor pickLabelColor()
Definition: Plot3DDialog.cpp:632
Plot3DDialog::updateScaling
void updateScaling(double, double, double)
Graph::zoom
void zoom(bool on)
Definition: Graph.cpp:3735
Plot3DDialog::labelColor
QColor labelColor
Definition: Plot3DDialog.h:165
Plot3DDialog::setTitleFont
void setTitleFont(const QFont &font)
Definition: Plot3DDialog.cpp:719
Plot3DDialog::boxXScale
QDoubleSpinBox * boxXScale
Definition: Plot3DDialog.h:186
Plot3DDialog::meshColor
QColor meshColor
Definition: Plot3DDialog.h:165
Plot3DDialog::showTitleTab
void showTitleTab()
Definition: Plot3DDialog.cpp:993
Plot3DDialog::showBarsTab
void showBarsTab(double rad)
Definition: Plot3DDialog.cpp:509
Plot3DDialog::btnLabelFont
QPushButton * btnLabelFont
Definition: Plot3DDialog.h:172
Plot3DDialog::boxTransparency
QSpinBox * boxTransparency
Definition: Plot3DDialog.h:181
Plot3DDialog::boxMinors
QSpinBox * boxMinors
Definition: Plot3DDialog.h:179
Plot3DDialog::boxCrossSmooth
QCheckBox * boxCrossSmooth
Definition: Plot3DDialog.h:182
Plot3DDialog::numbersFont
QFont numbersFont
Definition: Plot3DDialog.h:163
Plot3DDialog::boxZScale
QDoubleSpinBox * boxZScale
Definition: Plot3DDialog.h:186
QStringFromString
QString QStringFromString(const std::string &x)
Definition: QStringStdString.h:15
Plot3DDialog::changeTransparency
void changeTransparency(int val)
Definition: Plot3DDialog.cpp:774
Plot3DDialog::changeZoom
void changeZoom(double)
Definition: Plot3DDialog.cpp:764
SymbolDialog::upperGreek
@ upperGreek
Definition: SymbolDialog.h:51
Plot3DDialog::btnLabels
QPushButton * btnLabels
Definition: Plot3DDialog.h:173
Plot3DDialog::buttonAxisUpperGreek
QPushButton * buttonAxisUpperGreek
Definition: Plot3DDialog.h:175
Plot3DDialog::updateTitle
void updateTitle(const QString &, const QColor &, const QFont &)
Plot3DDialog::scales
QStringList scales
Definition: Plot3DDialog.h:164
Plot3DDialog::boxSize
QLineEdit * boxSize
Definition: Plot3DDialog.h:188
Plot3DDialog::btnColorMap
QPushButton * btnColorMap
Definition: Plot3DDialog.h:174
Plot3DDialog::axesColor
QColor axesColor
Definition: Plot3DDialog.h:165
Plot3DDialog::disableMeshOptions
void disableMeshOptions()
Definition: Plot3DDialog.cpp:549
Plot3DDialog::d_plot
Graph3D * d_plot
Definition: Plot3DDialog.h:162
Plot3DDialog::showAxisTab
void showAxisTab()
Definition: Plot3DDialog.cpp:998
Plot3DDialog::showColorLegend
void showColorLegend(bool)
Plot3DDialog::conesPage
QWidget * conesPage
Definition: Plot3DDialog.h:190
Plot3DDialog::updateBars
void updateBars(double)
Plot3DDialog::points
QWidget * points
Definition: Plot3DDialog.h:177
Plot3DDialog::updateLabel
void updateLabel(int, const QString &, const QFont &)
Plot3DDialog::bars
QWidget * bars
Definition: Plot3DDialog.h:177
Plot3DDialog::btnToColor
QPushButton * btnToColor
Definition: Plot3DDialog.h:174
Plot3DDialog::showGeneralTab
void showGeneralTab()
Definition: Plot3DDialog.cpp:988
Plot3DDialog::viewScaleLimits
void viewScaleLimits(int axis)
Definition: Plot3DDialog.cpp:705
Plot3DDialog::btnBackground
QPushButton * btnBackground
Definition: Plot3DDialog.h:173
Plot3DDialog::btnFromColor
QPushButton * btnFromColor
Definition: Plot3DDialog.h:174
MyParser
Mathematical parser class based on muParser.
Definition: MyParser.h:52
Plot3DDialog::boxZoom
QDoubleSpinBox * boxZoom
Definition: Plot3DDialog.h:186
Plot3DDialog::numColor
QColor numColor
Definition: Plot3DDialog.h:165
Plot3DDialog::initColorsPage
void initColorsPage()
Definition: Plot3DDialog.cpp:223
SymbolDialog.h
Plot3DDialog::worksheet
void worksheet()
Definition: Plot3DDialog.cpp:480
Plot3DDialog::xAxisFont
QFont xAxisFont
Definition: Plot3DDialog.h:163
MyParser::SetExpr
void SetExpr(const QString &x)
Definition: MyParser.h:56
Plot3DDialog::btnGrid
QPushButton * btnGrid
Definition: Plot3DDialog.h:172
Plot3DDialog::titleFont
QFont titleFont
Definition: Plot3DDialog.h:163
Plot3DDialog::setMeshLineWidth
void setMeshLineWidth(double lw)
Definition: Plot3DDialog.cpp:902
Plot3DDialog::btnTitleFont
QPushButton * btnTitleFont
Definition: Plot3DDialog.h:172
Plot3DDialog::btnNumbers
QPushButton * btnNumbers
Definition: Plot3DDialog.h:173
Plot3DDialog::buttonOk
QPushButton * buttonOk
Definition: Plot3DDialog.h:170
Plot3DDialog::axes
QWidget * axes
Definition: Plot3DDialog.h:177
Plot3DDialog::yAxisFont
QFont yAxisFont
Definition: Plot3DDialog.h:163
Plot3DDialog::disableAxesOptions
void disableAxesOptions()
Definition: Plot3DDialog.cpp:500
Plot3DDialog::showLowerGreek
void showLowerGreek()
Definition: Plot3DDialog.cpp:454
Plot3DDialog::pickToColor
QColor pickToColor()
Definition: Plot3DDialog.cpp:582
Plot3DDialog::title
QWidget * title
Definition: Plot3DDialog.h:177
Plot3DDialog::pickTitleFont
void pickTitleFont()
Definition: Plot3DDialog.cpp:652
Plot3DDialog::updatePlot
bool updatePlot()
Definition: Plot3DDialog.cpp:782
Plot3DDialog::labels
QStringList labels
Definition: Plot3DDialog.h:164
Plot3DDialog::setTransparency
void setTransparency(double t)
Definition: Plot3DDialog.cpp:966
Plot3DDialog::boxDistance
QSpinBox * boxDistance
Definition: Plot3DDialog.h:181
Plot3DDialog::pickFromColor
QColor pickFromColor()
Definition: Plot3DDialog.cpp:572
Plot3DDialog::btnAxes
QPushButton * btnAxes
Definition: Plot3DDialog.h:173
Plot3DDialog::boxLabel
QLineEdit * boxLabel
Definition: Plot3DDialog.h:178
Plot3DDialog::boxQuality
QSpinBox * boxQuality
Definition: Plot3DDialog.h:187
Plot3DDialog::setNumbersFont
void setNumbersFont(const QFont &)
Plot3DDialog::zAxisFont
QFont zAxisFont
Definition: Plot3DDialog.h:163
Plot3DDialog::AxesColorGroupBox
QGroupBox * AxesColorGroupBox
Definition: Plot3DDialog.h:180
Plot3DDialog::initGeneralPage
void initGeneralPage()
Definition: Plot3DDialog.cpp:294
Plot3DDialog::setOrtho
void setOrtho(bool)
Plot3DDialog::showWorksheet
void showWorksheet()
Plot3DDialog::boxBoxed
QCheckBox * boxBoxed
Definition: Plot3DDialog.h:182
Plot3DDialog::toColor
QColor toColor
Definition: Plot3DDialog.h:166
Plot3DDialog::boxTitle
QLineEdit * boxTitle
Definition: Plot3DDialog.h:178
Plot3DDialog::setAxesFonts
void setAxesFonts(const QFont &xf, const QFont &yf, const QFont &zf)
Definition: Plot3DDialog.cpp:907
Plot3DDialog::boxYScale
QDoubleSpinBox * boxYScale
Definition: Plot3DDialog.h:186
Plot3DDialog::boxBarsRad
QLineEdit * boxBarsRad
Definition: Plot3DDialog.h:188
Plot3DDialog::updateResolution
void updateResolution(int)
python-sipcmd.dist
dist
Definition: python-sipcmd.py:52
Plot3DDialog::boxOrthogonal
QCheckBox * boxOrthogonal
Definition: Plot3DDialog.h:182
Plot3DDialog::initPointsOptionsStack
void initPointsOptionsStack()
Definition: Plot3DDialog.cpp:380
Plot3DDialog::pickGridColor
QColor pickGridColor()
Definition: Plot3DDialog.cpp:592
Plot3DDialog::boxMinorLength
QLineEdit * boxMinorLength
Definition: Plot3DDialog.h:185
Plot3DDialog::updateDataColors
void updateDataColors(const QColor &, const QColor &)
Plot3DDialog::addSymbol
void addSymbol(const QString &letter)
Definition: Plot3DDialog.cpp:472
Plot3DDialog::buttonUpperGreek
QPushButton * buttonUpperGreek
Definition: Plot3DDialog.h:171
Plot3DDialog::TicksGroupBox
QGroupBox * TicksGroupBox
Definition: Plot3DDialog.h:180
Plot3DDialog::setScales
void setScales(const QStringList &list)
Definition: Plot3DDialog.cpp:688
Plot3DDialog::pickNumbersFont
void pickNumbersFont()
Definition: Plot3DDialog.cpp:663
Plot3DDialog::crossPage
QWidget * crossPage
Definition: Plot3DDialog.h:190
Plot3DDialog::btnTable
QPushButton * btnTable
Definition: Plot3DDialog.h:174
Plot3DDialog::updateColors
void updateColors(const QColor &, const QColor &, const QColor &, const QColor &, const QColor &, const QColor &)
Plot3DDialog::disableLegend
void disableLegend()
Definition: Plot3DDialog.cpp:555
Plot3DDialog::btnMesh
QPushButton * btnMesh
Definition: Plot3DDialog.h:173
Plot3DDialog::boxCrossLinewidth
QLineEdit * boxCrossLinewidth
Definition: Plot3DDialog.h:188
Plot3DDialog::scaleOptions
QStringList scaleOptions(int axis, double start, double end, const QString &majors, const QString &minors)
Definition: Plot3DDialog.cpp:886
Plot3DDialog::btnNumbersFont
QPushButton * btnNumbersFont
Definition: Plot3DDialog.h:174
Plot3DDialog::initTitlePage
void initTitlePage()
Definition: Plot3DDialog.cpp:193
Graph::grid
Grid * grid()
Definition: Graph.h:149
Plot3DDialog::updatePoints
void updatePoints(double, bool)
Plot3DDialog::adjustLabels
void adjustLabels(int)
Plot3DDialog::accept
void accept()
Definition: Plot3DDialog.cpp:735
Plot3DDialog::titleColor
QColor titleColor
Definition: Plot3DDialog.h:165
Plot3DDialog::showPointsTab
void showPointsTab(double rad, bool smooth)
Definition: Plot3DDialog.cpp:523
Plot3DDialog::buttonAxisLowerGreek
QPushButton * buttonAxisLowerGreek
Definition: Plot3DDialog.h:175
Plot3DDialog::updateCones
void updateCones(double, int)
Plot3DDialog::pickMeshColor
QColor pickMeshColor()
Definition: Plot3DDialog.cpp:724
Plot3DDialog::initAxesPage
void initAxesPage()
Definition: Plot3DDialog.cpp:142
Plot3DDialog::boxType
QComboBox * boxType
Definition: Plot3DDialog.h:184
Plot3DDialog::updateZoom
void updateZoom(double)
Plot3DDialog::boxFrom
QLineEdit * boxFrom
Definition: Plot3DDialog.h:178
Plot3DDialog::boxPointStyle
QComboBox * boxPointStyle
Definition: Plot3DDialog.h:184
Plot3DDialog::buttonCancel
QPushButton * buttonCancel
Definition: Plot3DDialog.h:171
Plot3DDialog::boxResolution
QSpinBox * boxResolution
Definition: Plot3DDialog.h:181
Plot3DDialog::colors
QWidget * colors
Definition: Plot3DDialog.h:177
Plot3DDialog::axisFont
QFont axisFont(int axis)
Definition: Plot3DDialog.cpp:946
Plot3DDialog::boxTo
QLineEdit * boxTo
Definition: Plot3DDialog.h:178
Plot3DDialog::updateMeshLineWidth
void updateMeshLineWidth(int)
Plot3DDialog::setScaling
void setScaling(double xVal, double yVal, double zVal)
Definition: Plot3DDialog.cpp:981
Plot3DDialog::axesList
QListWidget * axesList
Definition: Plot3DDialog.h:183
Plot3DDialog::disableGridOptions
void disableGridOptions()
Definition: Plot3DDialog.cpp:495
Plot3DDialog::tickLengths
QStringList tickLengths
Definition: Plot3DDialog.h:164
Plot3DDialog::pickAxesColor
QColor pickAxesColor()
Definition: Plot3DDialog.cpp:602
Plot3DDialog::btnTitleColor
QPushButton * btnTitleColor
Definition: Plot3DDialog.h:172
Plot3DDialog::Plot3DDialog
Plot3DDialog(QWidget *parent=0, Qt::WindowFlags fl=0)
Definition: Plot3DDialog.cpp:53
Plot3DDialog::axesList2
QListWidget * axesList2
Definition: Plot3DDialog.h:183
Plot3DDialog::pickNumberColor
QColor pickNumberColor()
Definition: Plot3DDialog.cpp:622
Plot3DDialog::dotsPage
QWidget * dotsPage
Definition: Plot3DDialog.h:190
Plot3DDialog::boxCrossRad
QLineEdit * boxCrossRad
Definition: Plot3DDialog.h:188
Plot3DDialog::setColors
void setColors(const QColor &title, const QColor &mesh, const QColor &axes, const QColor &num, const QColor &label, const QColor &bg, const QColor &grid)
Definition: Plot3DDialog.cpp:747
Plot3DDialog::boxSmooth
QCheckBox * boxSmooth
Definition: Plot3DDialog.h:182
SymbolDialog::lowerGreek
@ lowerGreek
Definition: SymbolDialog.h:50
Plot3DDialog::setResolution
void setResolution(int r)
Definition: Plot3DDialog.cpp:971
Plot3DDialog::showCrossHairTab
void showCrossHairTab(double rad, double linewidth, bool smooth, bool boxed)
Definition: Plot3DDialog.cpp:539
Plot3DDialog::general
QWidget * general
Definition: Plot3DDialog.h:177
Plot3DDialog::viewAxisOptions
void viewAxisOptions(int axis)
Definition: Plot3DDialog.cpp:674
Plot3DDialog::scale
QWidget * scale
Definition: Plot3DDialog.h:177
Plot3DDialog::generalDialog
QTabWidget * generalDialog
Definition: Plot3DDialog.h:176
Plot3DDialog::buttonLowerGreek
QPushButton * buttonLowerGreek
Definition: Plot3DDialog.h:171
Plot3DDialog::boxLegend
QCheckBox * boxLegend
Definition: Plot3DDialog.h:182
Plot3DDialog::setLabelsDistance
void setLabelsDistance(int dist)
Definition: Plot3DDialog.cpp:560
Plot3DDialog::updateCross
void updateCross(double, double, bool, bool)
Plot3DDialog::fromColor
QColor fromColor
Definition: Plot3DDialog.h:166
Plot3DDialog::boxMeshLineWidth
QSpinBox * boxMeshLineWidth
Definition: Plot3DDialog.h:168
Plot3DDialog::buttonApply
QPushButton * buttonApply
Definition: Plot3DDialog.h:169
Plot3DDialog::showLegend
void showLegend(bool show)
Definition: Plot3DDialog.cpp:759
Plot3DDialog::initScalesPage
void initScalesPage()
Definition: Plot3DDialog.cpp:91
Plot3DDialog::setAxesLabels
void setAxesLabels(const QStringList &list)
Definition: Plot3DDialog.cpp:682
Plot3DDialog::pickTitleColor
QColor pickTitleColor()
Definition: Plot3DDialog.cpp:642
Plot3DDialog::pickDataColorMap
void pickDataColorMap()
Definition: Plot3DDialog.cpp:565
TextDialog.h
Plot3DDialog::setDataColors
void setDataColors(const QColor &minColor, const QColor &maxColor)
Definition: Plot3DDialog.cpp:741
Plot3DDialog::setAxesTickLengths
void setAxesTickLengths(const QStringList &list)
Definition: Plot3DDialog.cpp:698
Plot3DDialog::boxConesRad
QLineEdit * boxConesRad
Definition: Plot3DDialog.h:185
Plot3DDialog::showConesTab
void showConesTab(double rad, int quality)
Definition: Plot3DDialog.cpp:531
Plot3DDialog::bgColor
QColor bgColor
Definition: Plot3DDialog.h:165
Plot3DDialog::setDataColorMap
void setDataColorMap(const QString &)
Plot3DDialog::~Plot3DDialog
~Plot3DDialog()
Definition: Plot3DDialog.cpp:1003