Changeset 582
- Timestamp:
- Sep 21, 2007, 3:17:46 PM (17 years ago)
- Location:
- trunk/geant4/visualization/OpenGL
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/include/G4OpenGLQtExportDialog.hh
r581 r582 41 41 class QPushButton; 42 42 class QCheckBox; 43 class QS pinBox;43 class QSlider; 44 44 class QComboBox; 45 45 class QLabel; … … 53 53 ~G4OpenGLQtExportDialog(); 54 54 55 int getSliderValue(); 55 56 QPushButton* buttonOk; 56 57 QPushButton* buttonCancel; 57 58 QButtonGroup* GroupBox1, *GroupBox2; 58 59 QCheckBox* boxTransparency; 59 QS pinBox * boxQuality;60 QSlider * qualitySlider; 60 61 QLabel *formatLabel; 61 62 QComboBox *boxFormat; … … 69 70 void setExportDirPath(const QString& dir) {f_dir = dir;}; 70 71 71 protected slots:72 void accept();73 72 74 73 signals: … … 78 77 private: 79 78 QString f_name, f_type, f_dir; 79 QLabel* qualityLabel; 80 80 bool expAll; 81 81 82 }; 82 83 -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc
r581 r582 39 39 #include <qlabel.h> 40 40 #include <qcombobox.h> 41 #include <qs pinbox.h>41 #include <qslider.h> 42 42 #include <qlayout.h> 43 43 #include <qgroupbox.h> … … 49 49 : QDialog( parent ) 50 50 { 51 setWindowTitle( tr( "QtiPlot - Export options" )); 52 setMinimumSize( QSize( 310, 140 ) ); 53 setMaximumSize( QSize( 310, 140 ) ); 51 setWindowTitle( tr( " Export options" )); 54 52 55 QGroupBox *groupBox1 = new QGroupBox(tr(" Exclusive Radio Buttons"));53 QGroupBox *groupBox1 = new QGroupBox(tr("Image quality")); 56 54 QVBoxLayout *vbox1 = new QVBoxLayout; 57 55 58 56 if(nomFich.endsWith(".jpg")) { 59 57 60 vbox1->addWidget( new QLabel( tr( "Image quality" ) )); 61 boxQuality= new QSpinBox(); 62 63 boxQuality->setMinimum(0); 64 boxQuality->setMaximum(100); 65 boxQuality->setValue(100); 66 vbox1->addWidget(boxQuality); 58 QWidget *sliderBox = new QWidget; 59 QHBoxLayout *hSlider = new QHBoxLayout; 60 // qualityLabel = new QLabel( tr( "Image quality" ) ); 61 // vbox1->addWidget(qualityLabel); 62 qualitySlider= new QSlider(Qt::Horizontal); 63 qualitySlider->setMinimum(0); 64 qualitySlider->setMaximum(100); 65 qualitySlider->setTickPosition(QSlider::TicksBelow); 66 qualitySlider->setValue(60); 67 hSlider->addWidget(new QLabel("low")); 68 hSlider->addWidget(qualitySlider); 69 hSlider->addWidget(new QLabel("Maximum")); 70 sliderBox->setLayout(hSlider); 71 vbox1->addWidget(sliderBox); 67 72 } 68 73 … … 76 81 if(nomFich.endsWith(".tif") || 77 82 nomFich.endsWith(".tiff") || 83 nomFich.endsWith(".jpg") || 78 84 nomFich.endsWith(".png") || 79 85 nomFich.endsWith(".xpm")) { … … 89 95 QGroupBox *groupBox2 = new QGroupBox(); 90 96 QHBoxLayout *hbox2 = new QHBoxLayout; 91 groupBox2->setFlat (TRUE);92 97 93 98 buttonOk = new QPushButton( tr( "&OK" ) ); … … 101 106 102 107 groupBox2->setLayout(hbox2); 103 Q HBoxLayout* hlayout = new QHBoxLayout();104 hlayout->addWidget(groupBox1);105 hlayout->addWidget(groupBox2);108 QVBoxLayout* vlayout = new QVBoxLayout(); 109 vlayout->addWidget(groupBox1); 110 vlayout->addWidget(groupBox2); 106 111 112 setLayout(vlayout); 107 113 108 114 // signals and slots connections … … 120 126 } 121 127 128 int G4OpenGLQtExportDialog::getSliderValue() 129 { 130 return qualitySlider->value(); 131 } 132 122 133 void G4OpenGLQtExportDialog::enableTransparency() 123 134 { … … 126 137 if (type == "tif" || type == "tiff" || type == "png" || type == "xpm") 127 138 boxTransparency->setEnabled(true); 128 }129 130 void G4OpenGLQtExportDialog::accept()131 {132 emit options(f_name, f_type, boxQuality->value(), boxTransparency->isChecked());133 close();134 139 } 135 140 -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r581 r582 659 659 QList<QByteArray> formats = QImageWriter::supportedImageFormats (); 660 660 for (int i = 0; i < formats.size(); ++i) { 661 filters += "."+formats.at(i);661 filters +=formats.at(i); 662 662 if ((i+1) <formats.size()) { 663 663 filters += ";;"; 664 664 } 665 665 } 666 666 QString* selectedFilter = new QString(); 667 667 QString nomFich = QFileDialog::getSaveFileName ( GLWindow, 668 668 tr("Save as ..."), 669 669 ".", 670 filters ); 670 filters, 671 selectedFilter ); 671 672 // bmp jpg jpeg png ppm xbm xpm 673 if (nomFich == "") { 674 return; 675 } 676 nomFich += "."+selectedFilter->toLower(); 677 printf("G4OpenGLQtViewer::name %s\n",nomFich.toStdString().c_str()); 672 678 if(nomFich.endsWith(".eps")) { 673 679 G4cerr << "This version of G4UI Could not generate EPS." << G4endl; 674 680 } else if(nomFich.endsWith(".jpg") || nomFich.endsWith(".jpeg")) { 675 G4cerr << "Should display a quality selector" << G4endl;676 681 G4OpenGLQtExportDialog* exportDialog= new G4OpenGLQtExportDialog(GLWindow,nomFich); 682 int res = exportDialog->exec(); 683 printf("G4OpenGLQtViewer::actionCreateEPS() --%d-- quality:\n",res); 677 684 fWindow->grabFrameBuffer().save(nomFich); 678 685 } else { … … 756 763 // return; 757 764 } 758 765 QStringList list=QImage::outputFormatList (); 759 766 for (int i=0; i<(int)list.count(); i++) 760 767 { 761 768 if (selectedFilter.contains("."+(list[i]).lower())) 762 769 { 763 764 765 770 if (ied->showExportOptions()) 771 { 772 imageExportDialog* ed= new imageExportDialog(false, this,"exportDialog",TRUE,WStyle_Tool|WDestructiveClose); 766 773 connect (ed, SIGNAL(options(const QString&, const QString&, int, bool)), 767 774 g, SLOT(exportImage(const QString&, const QString&, int, bool)));
Note: See TracChangeset
for help on using the changeset viewer.