// // ******************************************************************** // * License and Disclaimer * // * * // * The Geant4 software is copyright of the Copyright Holders of * // * the Geant4 Collaboration. It is provided under the terms and * // * conditions of the Geant4 Software License, included in the file * // * LICENSE and available at http://cern.ch/geant4/license . These * // * include a list of copyright holders. * // * * // * Neither the authors of this software system, nor their employing * // * institutes,nor the agencies providing financial support for this * // * work make any representation or warranty, express or implied, * // * regarding this software system or assume any liability for its * // * use. Please see the license in the file LICENSE and URL above * // * for the full disclaimer and the limitation of liability. * // * * // * This code implementation is the result of the scientific and * // * technical work of the GEANT4 collaboration. * // * By using, copying, modifying or distributing the software (or * // * any work based on the software) you agree to acknowledge its * // * use in resulting scientific publications, and indicate your * // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // // // $Id: G4OpenGLQtExportDialog.hh,v 1.7 2009/02/04 16:48:40 lgarnier Exp $ // GEANT4 tag $Name: // // #ifdef G4VIS_BUILD_OPENGLQT_DRIVER #ifndef G4OPENGLQTEXPORTDIALOG_HH #define G4OPENGLQTEXPORTDIALOG_HH #include class QButtonGroup; class QPushButton; class QRadioButton; class QCheckBox; class QSlider; class QComboBox; class QLabel; class QLineEdit; #if QT_VERSION >= 0x040000 class QGroupBox; #endif /** The G4OpenGLQtExportDialog class provide a Dialog displaying differents options for each file format */ class G4OpenGLQtExportDialog : public QDialog { Q_OBJECT public: /** Construct a G4OpenGLQtExportDialog @param parent : parent widget @param format : format of save file in lower case @param height : height of the original file @param width : width of the original file */ G4OpenGLQtExportDialog(QWidget* parent, QString format, int height =0, int width=0); /** Destroys G4OpenGLQtExportDialog */ ~G4OpenGLQtExportDialog(); /** @return the value of the slider if format has a slider widget, instead return -1 */ int getSliderValue(); /** return the new width for file if format has a width widget, instead return the original value */ int getWidth(); /** return the new height for file if format has a height widget, instead return the original value */ int getHeight(); /** return the value of the transparency if format has a transparency, instead return -1 */ int getTransparency(); /** return the numbers of colors in the picture if format has a BW/Color widget, instead return -1 */ int getNbColor(); /** return if vector EPS is checked, if button does'nt exist, return 0 */ bool getVectorEPS(); public slots: /** Called by a clic on modify/original size button.This will invert buttons and hide/unhide size */ void changeSizeBox(); /** Called by a clic on vectorEPS check box.If vectorEPS checkBox is checked, it will enable change size buttons. Else it will disable them. */ void changeVectorEPS(); /** Called by changing value in height lineEdit. If ratio is keep, will also change the width */ void textWidthChanged(const QString &); /** Called by changing value in width lineEdit. If ratio is keep, will also change the height */ void textHeightChanged(const QString &); private: QString f_name, f_type, f_dir; QLabel* qualityLabel; bool expAll; QPushButton* buttonOk; QPushButton* buttonCancel; #if QT_VERSION >= 0x040000 QGroupBox * sizeGroupBox; #endif QCheckBox* transparencyEPS,*boxTransparency,*vectorEPSCheckBox; QCheckBox* ratioCheckBox; QSlider * qualitySlider; QLabel *formatLabel; QRadioButton* colorButton,*BWButton; QRadioButton* original,* modify; QLineEdit* height,*width; QWidget* heightWidget,* widthWidget; int originalWidth; int originalHeight; bool isChangingSize; }; #endif #endif