Changeset 582


Ignore:
Timestamp:
Sep 21, 2007, 3:17:46 PM (17 years ago)
Author:
garnier
Message:

r605@mac-90108: laurentgarnier | 2007-09-21 15:20:26 +0200
ajout de la boite de dialog a l export des fichiers. En test

Location:
trunk/geant4/visualization/OpenGL
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/geant4/visualization/OpenGL/include/G4OpenGLQtExportDialog.hh

    r581 r582  
    4141class QPushButton;
    4242class QCheckBox;
    43 class QSpinBox;
     43class QSlider;
    4444class QComboBox;
    4545class QLabel;
     
    5353  ~G4OpenGLQtExportDialog();
    5454
     55  int getSliderValue();
    5556  QPushButton* buttonOk;
    5657  QPushButton* buttonCancel;
    5758  QButtonGroup* GroupBox1, *GroupBox2;
    5859  QCheckBox* boxTransparency;
    59   QSpinBox * boxQuality;
     60  QSlider * qualitySlider;
    6061  QLabel *formatLabel;
    6162  QComboBox *boxFormat;
     
    6970  void setExportDirPath(const QString& dir) {f_dir = dir;};
    7071 
    71 protected slots:
    72   void accept();
    7372
    7473signals:
     
    7877private:
    7978  QString f_name, f_type, f_dir;
     79  QLabel* qualityLabel;
    8080  bool expAll;
     81
    8182};
    8283
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc

    r581 r582  
    3939#include <qlabel.h>
    4040#include <qcombobox.h>
    41 #include <qspinbox.h>
     41#include <qslider.h>
    4242#include <qlayout.h>
    4343#include <qgroupbox.h>
     
    4949  : QDialog( parent )
    5050{
    51   setWindowTitle( tr( "QtiPlot - Export options" ));
    52   setMinimumSize( QSize( 310, 140 ) );
    53   setMaximumSize( QSize( 310, 140 ) );
     51  setWindowTitle( tr( " Export options" ));
    5452 
    55   QGroupBox *groupBox1 = new QGroupBox(tr("Exclusive Radio Buttons"));
     53  QGroupBox *groupBox1 = new QGroupBox(tr("Image quality"));
    5654  QVBoxLayout *vbox1 = new QVBoxLayout;
    5755 
    5856  if(nomFich.endsWith(".jpg")) {
    5957   
    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);
    6772  }
    6873 
     
    7681  if(nomFich.endsWith(".tif") ||
    7782     nomFich.endsWith(".tiff") ||
     83     nomFich.endsWith(".jpg") ||
    7884     nomFich.endsWith(".png") ||
    7985     nomFich.endsWith(".xpm")) {
     
    8995  QGroupBox *groupBox2 = new QGroupBox();
    9096  QHBoxLayout *hbox2 = new QHBoxLayout;
    91   groupBox2->setFlat (TRUE);
    9297
    9398  buttonOk = new QPushButton( tr( "&OK" ) );
     
    101106
    102107  groupBox2->setLayout(hbox2);
    103   QHBoxLayout* hlayout = new QHBoxLayout();
    104   hlayout->addWidget(groupBox1);
    105   hlayout->addWidget(groupBox2);
     108  QVBoxLayout* vlayout = new QVBoxLayout();
     109  vlayout->addWidget(groupBox1);
     110  vlayout->addWidget(groupBox2);
    106111
     112  setLayout(vlayout);
    107113
    108114  // signals and slots connections
     
    120126}
    121127
     128int G4OpenGLQtExportDialog::getSliderValue()
     129{
     130  return qualitySlider->value();
     131}
     132
    122133void G4OpenGLQtExportDialog::enableTransparency()
    123134{
     
    126137  if (type == "tif" || type == "tiff" || type == "png" || type == "xpm")
    127138    boxTransparency->setEnabled(true);
    128 }
    129 
    130 void G4OpenGLQtExportDialog::accept()
    131 {
    132   emit options(f_name, f_type, boxQuality->value(), boxTransparency->isChecked());
    133   close();
    134139}
    135140
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r581 r582  
    659659  QList<QByteArray> formats =  QImageWriter::supportedImageFormats ();
    660660  for (int i = 0; i < formats.size(); ++i) {
    661     filters +="."+formats.at(i);
     661    filters +=formats.at(i);
    662662    if ((i+1) <formats.size()) {
    663663      filters += ";;";
    664664    }
    665665  }
    666  
     666  QString* selectedFilter = new QString();
    667667  QString nomFich =  QFileDialog::getSaveFileName ( GLWindow,
    668668                                                    tr("Save as ..."),
    669669                                                    ".",
    670                                                     filters );
     670                                                    filters,
     671                                                    selectedFilter );
    671672  // 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());
    672678  if(nomFich.endsWith(".eps")) {
    673679    G4cerr << "This version of G4UI Could not generate EPS." << G4endl;
    674680  } else if(nomFich.endsWith(".jpg") || nomFich.endsWith(".jpeg")) {
    675     G4cerr << "Should display a quality selector" << G4endl;
    676681    G4OpenGLQtExportDialog* exportDialog= new G4OpenGLQtExportDialog(GLWindow,nomFich);
     682    int res = exportDialog->exec();
     683    printf("G4OpenGLQtViewer::actionCreateEPS() --%d-- quality:\n",res);
    677684    fWindow->grabFrameBuffer().save(nomFich);
    678685  } else {
     
    756763          //  return;
    757764        }
    758       QStringList list=QImage::outputFormatList ();
     765QStringList list=QImage::outputFormatList ();
    759766      for (int i=0; i<(int)list.count(); i++)
    760767        {
    761768          if (selectedFilter.contains("."+(list[i]).lower()))
    762769            {
    763               if (ied->showExportOptions())
    764                 {
    765                   imageExportDialog* ed= new imageExportDialog(false, this,"exportDialog",TRUE,WStyle_Tool|WDestructiveClose);
     770            if (ied->showExportOptions())
     771              {
     772              imageExportDialog* ed= new imageExportDialog(false, this,"exportDialog",TRUE,WStyle_Tool|WDestructiveClose);
    766773                  connect (ed, SIGNAL(options(const QString&, const QString&, int, bool)),
    767774                           g, SLOT(exportImage(const QString&, const QString&, int, bool)));
Note: See TracChangeset for help on using the changeset viewer.