Ignore:
Timestamp:
Sep 21, 2007, 5:40:22 PM (17 years ago)
Author:
garnier
Message:

r607@mac-90108: laurentgarnier | 2007-09-21 17:44:09 +0200
boite de dialogue presque ok, reste plus qu a connecter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc

    r582 r583  
    4242#include <qlayout.h>
    4343#include <qgroupbox.h>
     44#include <qradiobutton.h>
    4445#include <qimage.h>
     46#include <qlineedit.h>
    4547
    4648G4OpenGLQtExportDialog::G4OpenGLQtExportDialog(
    4749 QWidget* parent
    48 ,QString nomFich )
     50,QString nomFich
     51 ,int aHeight
     52 ,int aWidth
     53)
    4954  : QDialog( parent )
    5055{
    5156  setWindowTitle( tr( " Export options" ));
    52  
    53   QGroupBox *groupBox1 = new QGroupBox(tr("Image quality"));
    54   QVBoxLayout *vbox1 = new QVBoxLayout;
     57  originalWidth = aWidth;
     58  originalHeight = aHeight;
     59  printf("height %d width %d\n",aHeight,aWidth); 
     60
     61  // global layout
     62  QVBoxLayout* globalVLayout = new QVBoxLayout();
     63
    5564 
    5665  if(nomFich.endsWith(".jpg")) {
    5766   
     67    QGroupBox *imageGroupBox = new QGroupBox(tr("Image quality"));
     68    QVBoxLayout *imageGroupBoxLayout = new QVBoxLayout;
     69
    5870    QWidget *sliderBox = new QWidget;
    5971    QHBoxLayout *hSlider = new QHBoxLayout;
    6072    //    qualityLabel =  new QLabel( tr( "Image quality" ) );
    61     //    vbox1->addWidget(qualityLabel);
     73    //    imageGroupBoxLayout->addWidget(qualityLabel);
    6274    qualitySlider= new QSlider(Qt::Horizontal);
    6375    qualitySlider->setMinimum(0);
     
    6981    hSlider->addWidget(new QLabel("Maximum"));
    7082    sliderBox->setLayout(hSlider);
    71     vbox1->addWidget(sliderBox);
     83    imageGroupBoxLayout->addWidget(sliderBox);
     84
     85    imageGroupBox->setLayout(imageGroupBoxLayout);
     86    globalVLayout->addWidget(imageGroupBox);
    7287  }
    7388 
    74   if(nomFich.endsWith(".eps")) {
    75     // balck and white / colour
    76     // background
    77     // size ?
    78     ;
     89  if(nomFich.endsWith(".eps") ||
     90     nomFich.endsWith(".jpg")) {
     91    QGroupBox *EPSGroupBox = new QGroupBox(tr("EPS options"));
     92    QVBoxLayout *EPSGroupBoxLayout = new QVBoxLayout;
     93
     94    boxEPS = new QCheckBox( "boxEPS" );
     95    boxEPS->setText( "save background" );
     96    boxEPS->setChecked( true );
     97
     98    color = new QRadioButton("Color");
     99    BW = new QRadioButton("Grayscale");
     100    color->setChecked( true );
     101    BW->setChecked( false );
     102   
     103    connect( color, SIGNAL( clicked() ), BW, SLOT( toogle() ) );
     104    connect( BW, SIGNAL( clicked() ), color, SLOT( toogle() ) );
     105
     106
     107    EPSGroupBoxLayout->addWidget(boxEPS);   
     108    EPSGroupBoxLayout->addWidget(color);   
     109    EPSGroupBoxLayout->addWidget(BW);   
     110    EPSGroupBox->setLayout(EPSGroupBoxLayout);
     111    globalVLayout->addWidget(EPSGroupBox);
     112
    79113  }
    80114
     
    84118     nomFich.endsWith(".png") ||
    85119     nomFich.endsWith(".xpm")) {
    86     boxTransparency = new QCheckBox( "boxTransparency" );
    87     boxTransparency->setText( "Save transparency" );
     120
     121    QGroupBox *transparencyGroupBox = new QGroupBox(tr("Transparency"));
     122    QVBoxLayout *transparencyGroupBoxLayout = new QVBoxLayout;
     123
     124    boxTransparency = new QCheckBox("Save transparency");
    88125    boxTransparency->setChecked( false );
    89     boxTransparency->setEnabled(false);
    90     vbox1->addWidget(boxTransparency);
     126    //    boxTransparency->setEnabled(false);
     127
     128    transparencyGroupBoxLayout->addWidget(boxTransparency);   
     129    transparencyGroupBox->setLayout(transparencyGroupBoxLayout);
     130    globalVLayout->addWidget(transparencyGroupBox);
     131
    91132  }
    92133
    93   groupBox1->setLayout(vbox1);
    94 
    95   QGroupBox *groupBox2 = new QGroupBox();
    96   QHBoxLayout *hbox2 = new QHBoxLayout;
     134  // size box   
     135  QGroupBox *sizeGroupBox = new QGroupBox(tr("Size"));
     136  QVBoxLayout *sizeGroupBoxLayout = new QVBoxLayout;
     137 
     138  original = new QRadioButton("Original");
     139  modify = new QRadioButton("Modify");
     140  original->setChecked( true );
     141  modify->setChecked( false );
     142 
     143  sizeGroupBoxLayout->addWidget(original);
     144  sizeGroupBoxLayout->addWidget(modify);
     145  connect( original, SIGNAL( clicked() ), modify, SLOT( toogle() ) );
     146  connect( modify, SIGNAL( clicked() ), original, SLOT( toogle() ) );
     147  connect( modify, SIGNAL( toggled(bool) ), this, SLOT( changeSizeBox(bool) ) );
     148
     149  QHBoxLayout *heightLineLayout = new QHBoxLayout;
     150  heightWidget = new QWidget;
     151  QString tmp;
     152 
     153  heightLineLayout->addWidget(new QLabel("Height"));
     154  height = new QLineEdit(tmp.setNum(originalHeight));
     155  height->setMaxLength(5);
     156  heightLineLayout->addWidget(height);
     157  ratioCheckBox = new QCheckBox( "Keep ratio" );
     158  ratioCheckBox->setChecked( true );
     159  heightLineLayout->addWidget(ratioCheckBox);
     160  heightWidget->setLayout(heightLineLayout);
     161  sizeGroupBoxLayout->addWidget(heightWidget);
     162  connect( ratioCheckBox, SIGNAL( toogle() ), this, SLOT( keepRatio() ) );
     163
     164  QHBoxLayout *widthLineLayout = new QHBoxLayout;
     165  widthWidget = new QWidget;
     166
     167  widthLineLayout->addWidget(new QLabel("Width"));
     168  width = new QLineEdit(tmp.setNum(originalWidth));
     169  width->setMaxLength(5);
     170  widthLineLayout->addWidget(width);
     171  widthWidget->setLayout(widthLineLayout);
     172  sizeGroupBoxLayout->addWidget(widthWidget);
     173
     174  sizeGroupBox->setLayout(sizeGroupBoxLayout);
     175  globalVLayout->addWidget(sizeGroupBox);
     176
     177  heightWidget->setVisible(false);
     178  widthWidget->setVisible(false);
     179
     180    // button ok/cancel box
     181
     182  QGroupBox *buttonGroupBox = new QGroupBox();
     183  QHBoxLayout *buttonGroupBoxLayout = new QHBoxLayout;
    97184
    98185  buttonOk = new QPushButton( tr( "&OK" ) );
    99186  buttonOk->setAutoDefault( TRUE );
    100187  buttonOk->setDefault( TRUE );
    101   hbox2->addWidget(buttonOk);
     188  buttonGroupBoxLayout->addWidget(buttonOk);
    102189
    103190  buttonCancel = new QPushButton( tr( "&Cancel" ) );
    104191  buttonCancel->setAutoDefault( TRUE );
    105   hbox2->addWidget(buttonCancel);
    106 
    107   groupBox2->setLayout(hbox2);
    108   QVBoxLayout* vlayout = new QVBoxLayout();
    109   vlayout->addWidget(groupBox1);
    110   vlayout->addWidget(groupBox2);
    111 
    112   setLayout(vlayout);
     192  buttonGroupBoxLayout->addWidget(buttonCancel);
     193
     194  buttonGroupBox->setLayout(buttonGroupBoxLayout);
     195  globalVLayout->addWidget(buttonGroupBox);
     196
     197
     198  setLayout(globalVLayout);
    113199
    114200  // signals and slots connections
     
    118204
    119205
    120 void G4OpenGLQtExportDialog::enableTransparency(int)
    121 {
    122   QString type = boxFormat->currentText().toLower();
    123 
    124   if (type == "tif" || type == "tiff" || type == "png" || type == "xpm")
    125     boxTransparency->setEnabled(true);
    126 }
    127206
    128207int G4OpenGLQtExportDialog::getSliderValue()
     
    131210}
    132211
    133 void G4OpenGLQtExportDialog::enableTransparency()
    134 {
    135   QString type = f_type.toLower();
    136 
    137   if (type == "tif" || type == "tiff" || type == "png" || type == "xpm")
    138     boxTransparency->setEnabled(true);
     212void G4OpenGLQtExportDialog::changeSizeBox(bool aChange)
     213{
     214  heightWidget->setVisible(modify->isChecked());
     215  widthWidget->setVisible(modify->isChecked());
     216}
     217
     218void G4OpenGLQtExportDialog::keepRatio()
     219{
    139220}
    140221
Note: See TracChangeset for help on using the changeset viewer.