Changeset 583 for trunk/geant4/visualization/OpenGL/src
- Timestamp:
- Sep 21, 2007, 5:40:22 PM (17 years ago)
- Location:
- trunk/geant4/visualization/OpenGL/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc
r582 r583 42 42 #include <qlayout.h> 43 43 #include <qgroupbox.h> 44 #include <qradiobutton.h> 44 45 #include <qimage.h> 46 #include <qlineedit.h> 45 47 46 48 G4OpenGLQtExportDialog::G4OpenGLQtExportDialog( 47 49 QWidget* parent 48 ,QString nomFich ) 50 ,QString nomFich 51 ,int aHeight 52 ,int aWidth 53 ) 49 54 : QDialog( parent ) 50 55 { 51 56 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 55 64 56 65 if(nomFich.endsWith(".jpg")) { 57 66 67 QGroupBox *imageGroupBox = new QGroupBox(tr("Image quality")); 68 QVBoxLayout *imageGroupBoxLayout = new QVBoxLayout; 69 58 70 QWidget *sliderBox = new QWidget; 59 71 QHBoxLayout *hSlider = new QHBoxLayout; 60 72 // qualityLabel = new QLabel( tr( "Image quality" ) ); 61 // vbox1->addWidget(qualityLabel);73 // imageGroupBoxLayout->addWidget(qualityLabel); 62 74 qualitySlider= new QSlider(Qt::Horizontal); 63 75 qualitySlider->setMinimum(0); … … 69 81 hSlider->addWidget(new QLabel("Maximum")); 70 82 sliderBox->setLayout(hSlider); 71 vbox1->addWidget(sliderBox); 83 imageGroupBoxLayout->addWidget(sliderBox); 84 85 imageGroupBox->setLayout(imageGroupBoxLayout); 86 globalVLayout->addWidget(imageGroupBox); 72 87 } 73 88 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 79 113 } 80 114 … … 84 118 nomFich.endsWith(".png") || 85 119 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"); 88 125 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 91 132 } 92 133 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; 97 184 98 185 buttonOk = new QPushButton( tr( "&OK" ) ); 99 186 buttonOk->setAutoDefault( TRUE ); 100 187 buttonOk->setDefault( TRUE ); 101 hbox2->addWidget(buttonOk);188 buttonGroupBoxLayout->addWidget(buttonOk); 102 189 103 190 buttonCancel = new QPushButton( tr( "&Cancel" ) ); 104 191 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); 113 199 114 200 // signals and slots connections … … 118 204 119 205 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 }127 206 128 207 int G4OpenGLQtExportDialog::getSliderValue() … … 131 210 } 132 211 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); 212 void G4OpenGLQtExportDialog::changeSizeBox(bool aChange) 213 { 214 heightWidget->setVisible(modify->isChecked()); 215 widthWidget->setVisible(modify->isChecked()); 216 } 217 218 void G4OpenGLQtExportDialog::keepRatio() 219 { 139 220 } 140 221 -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r582 r583 679 679 G4cerr << "This version of G4UI Could not generate EPS." << G4endl; 680 680 } else if(nomFich.endsWith(".jpg") || nomFich.endsWith(".jpeg")) { 681 G4OpenGLQtExportDialog* exportDialog= new G4OpenGLQtExportDialog(GLWindow,nomFich );681 G4OpenGLQtExportDialog* exportDialog= new G4OpenGLQtExportDialog(GLWindow,nomFich,fWindow->height(),fWindow->width()); 682 682 int res = exportDialog->exec(); 683 683 printf("G4OpenGLQtViewer::actionCreateEPS() --%d-- quality:\n",res);
Note: See TracChangeset
for help on using the changeset viewer.