Changeset 584


Ignore:
Timestamp:
Sep 26, 2007, 12:17:22 PM (17 years ago)
Author:
garnier
Message:

r609@mac-90108: laurentgarnier | 2007-09-24 14:10:23 +0200
boite de dialogue presque ok, reste plus qu a connecter

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

Legend:

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

    r583 r584  
    5959public slots:
    6060  void changeSizeBox(bool); 
    61   void keepRatio(); 
     61  void textWidthChanged(const QString &);
     62  void textHeightChanged(const QString &);
    6263
    6364signals:
     
    8384  int originalHeight;
    8485
    85 
    8686};
    8787
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc

    r583 r584  
    101101    BW->setChecked( false );
    102102   
    103     connect( color, SIGNAL( clicked() ), BW, SLOT( toogle() ) );
    104     connect( BW, SIGNAL( clicked() ), color, SLOT( toogle() ) );
     103    connect( color, SIGNAL( clicked() ), BW, SLOT( toggle() ) );
     104    connect( BW, SIGNAL( clicked() ), color, SLOT( toggle() ) );
    105105
    106106
     
    132132  }
    133133
    134   // size box   
     134  // size box
    135135  QGroupBox *sizeGroupBox = new QGroupBox(tr("Size"));
    136136  QVBoxLayout *sizeGroupBoxLayout = new QVBoxLayout;
    137137 
     138  QHBoxLayout *modifyAndRatioLayout = new QHBoxLayout;
     139  QWidget* modifyAndRatioWidget = new QWidget;
     140
     141  // original button
    138142  original = new QRadioButton("Original");
     143  original->setChecked( true );
     144  sizeGroupBoxLayout->addWidget(original);
     145
     146  // modify and ratio
    139147  modify = new QRadioButton("Modify");
    140   original->setChecked( true );
    141148  modify->setChecked( false );
    142  
    143   sizeGroupBoxLayout->addWidget(original);
    144   sizeGroupBoxLayout->addWidget(modify);
     149
     150  ratioCheckBox = new QCheckBox( "Keep ratio" );
     151  ratioCheckBox->setChecked( true );
     152
     153  modifyAndRatioLayout->addWidget(modify);
     154  modifyAndRatioLayout->addWidget(ratioCheckBox);
     155  modifyAndRatioWidget->setLayout(modifyAndRatioLayout);
     156  sizeGroupBoxLayout->addWidget(modifyAndRatioWidget);
     157  ratioCheckBox->setVisible(modify->isChecked());
     158
    145159  connect( original, SIGNAL( clicked() ), modify, SLOT( toogle() ) );
    146160  connect( modify, SIGNAL( clicked() ), original, SLOT( toogle() ) );
    147161  connect( modify, SIGNAL( toggled(bool) ), this, SLOT( changeSizeBox(bool) ) );
    148162
     163  // height
    149164  QHBoxLayout *heightLineLayout = new QHBoxLayout;
    150165  heightWidget = new QWidget;
     
    155170  height->setMaxLength(5);
    156171  heightLineLayout->addWidget(height);
    157   ratioCheckBox = new QCheckBox( "Keep ratio" );
    158   ratioCheckBox->setChecked( true );
    159   heightLineLayout->addWidget(ratioCheckBox);
    160172  heightWidget->setLayout(heightLineLayout);
    161173  sizeGroupBoxLayout->addWidget(heightWidget);
    162   connect( ratioCheckBox, SIGNAL( toogle() ), this, SLOT( keepRatio() ) );
    163 
     174  connect( height, SIGNAL( textChanged ( const QString& ) ), this, SLOT( textHeightChanged(const QString &) ) );
     175
     176
     177  // width
    164178  QHBoxLayout *widthLineLayout = new QHBoxLayout;
    165179  widthWidget = new QWidget;
     
    171185  widthWidget->setLayout(widthLineLayout);
    172186  sizeGroupBoxLayout->addWidget(widthWidget);
     187  connect( width, SIGNAL( textChanged ( const QString& ) ), this, SLOT( textWidthChanged(const QString &) ) );
    173188
    174189  sizeGroupBox->setLayout(sizeGroupBoxLayout);
     
    178193  widthWidget->setVisible(false);
    179194
    180     // button ok/cancel box
     195  // button ok/cancel box
    181196
    182197  QGroupBox *buttonGroupBox = new QGroupBox();
     
    214229  heightWidget->setVisible(modify->isChecked());
    215230  widthWidget->setVisible(modify->isChecked());
    216 }
    217 
    218 void G4OpenGLQtExportDialog::keepRatio()
    219 {
    220 }
    221 
     231  ratioCheckBox->setVisible(modify->isChecked());
     232}
     233
     234void G4OpenGLQtExportDialog::textWidthChanged(
     235 const QString & s
     236 )
     237{
     238  printf("new Width : %s\n",s.toStdString().c_str());
     239  if (ratioCheckBox->isChecked()){
     240    QString tmp;
     241    width->setText(tmp.setNum(s.toInt()*originalHeight/originalHeight));
     242  }
     243}
     244
     245void G4OpenGLQtExportDialog::  textHeightChanged(
     246 const QString & s
     247)
     248{
     249  printf("new Height : %s\n",s.toStdString().c_str());
     250  if (ratioCheckBox->isChecked()){
     251    QString tmp;
     252    width->setText(tmp.setNum(s.toInt()*originalWidth/originalWidth));
     253  }
     254}
    222255
    223256G4OpenGLQtExportDialog::~G4OpenGLQtExportDialog()
Note: See TracChangeset for help on using the changeset viewer.