Changeset 747 for trunk


Ignore:
Timestamp:
Mar 7, 2008, 10:40:13 AM (16 years ago)
Author:
garnier
Message:

modifs sur windows

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

Legend:

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

    r744 r747  
    6363  void setRecordingStatus(QString);
    6464  void setRecordingInfos(QString);
    65   void setEncodeButtonEnabled(bool);
    6665
    6766private :
     
    7776  QPushButton *fButtonEncode;
    7877
    79   void checkEncoderParameters(QString);
    80   void checkTempFolderParameters(QString);
    81   void checkSaveFileNameParameters(QString);
     78  bool checkEncoderParameters(QString);
     79  bool checkTempFolderParameters(QString);
     80  bool checkSaveFileNameParameters(QString);
    8281
    8382public slots :
  • trunk/geant4/visualization/OpenGL/include/G4OpenGLQtViewer.hh

    r745 r747  
    8181  bool isReadyToEncode();
    8282  bool encodeVideo();
     83  bool generateMpegEncoderParameters();
    8384
    8485protected:
     
    109110  bool hasPendingEvents();
    110111  void savePPMToTemp();
    111   bool generateMpegEncoderParameters();
    112112  int fRecordFrameNumber;
    113113
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtMovieDialog.cc

    r746 r747  
    316316*/
    317317void G4OpenGLQtMovieDialog::checkAllParameters() {
    318   checkEncoderParameters(fEncoderPath->text());
    319   checkTempFolderParameters(fTempFolderPath->text());
    320   checkSaveFileNameParameters(fSaveFileName->text());
    321318
    322319  // set state of encode button
    323320  // if frames had been generated and parameters are valid : enabled encode button
    324 //  if ((fParentViewer->getRecordFrames() == false) && (fRecordFrameNumber >1)) {
    325 //  }
    326 
    327 }
     321  if (checkEncoderParameters(fEncoderPath->text())
     322    && checkTempFolderParameters(fTempFolderPath->text())
     323    && checkSaveFileNameParameters(fSaveFileName->text())) {
     324        if (fParentViewer->isReadyToEncode()) {
     325      if (fParentViewer->generateMpegEncoderParameters()) {
     326        fButtonEncode->setEnabled(fParentViewer->;;isReadyToEncode() );
     327          }
     328        }
     329  }
     330}
     331
    328332
    329333        /**
     
    331335 * If valid, save it
    332336 */
    333 void G4OpenGLQtMovieDialog::checkEncoderParameters(QString param) {
    334 
     337bool G4OpenGLQtMovieDialog::checkEncoderParameters(QString param) {
     338
     339  bool status = true;
    335340  QPalette palette( fEncoderPath->palette() );
    336341
     
    342347    if (fParentViewer->isReadyToEncode()) {
    343348      setRecordingInfos("No valid encode defined, screen \ncapture are saved in the\ntemp folder in ppm format.Please define a encoder and clic on Apply button");
    344     }
     349        }
     350    status = false;
    345351  } else {
    346352    palette.setColor( QPalette::Base, Qt::white);
     
    348354    if (fParentViewer->getEncoderPath() == "") {
    349355      setRecordingInfos("mpeg_encode is needed to encode in video format.\nIt is available here: \nhttp://bmrc.berkeley.edu/frame/research/mpeg/");
     356      status = false;
    350357    }
    351358  }
    352359  fEncoderPath->setPalette(palette);
     360  return status;
    353361}
    354362
     
    358366 * If valid, save it
    359367 */
    360 void G4OpenGLQtMovieDialog::checkTempFolderParameters(QString param) {
    361 
     368bool G4OpenGLQtMovieDialog::checkTempFolderParameters(QString param) {
     369
     370  bool status = true;
    362371  QPalette palette( fTempFolderPath->palette() );
    363372
     
    366375  if (temp != "") {
    367376    palette.setColor( QPalette::Base, Qt::red);
     377    status = false;
    368378  } else {
    369379    palette.setColor( QPalette::Base, Qt::white);
     
    371381  }
    372382  fTempFolderPath->setPalette(palette);
     383  return status;
    373384}
    374385
     
    378389 * If valid, save it
    379390 */
    380 void G4OpenGLQtMovieDialog::checkSaveFileNameParameters(QString param) {
    381 
     391bool G4OpenGLQtMovieDialog::checkSaveFileNameParameters(QString param) {
     392
     393  bool status = true;
    382394  QPalette palette( fSaveFileName->palette() );
    383395
     
    386398  if (temp != "") {
    387399    palette.setColor( QPalette::Base, Qt::red);
     400    status = false;
    388401  } else {
    389402    palette.setColor( QPalette::Base, Qt::white);
     
    391404  }
    392405  fSaveFileName->setPalette(palette);
     406  return status;
    393407}
    394408
     
    402416}
    403417
    404 void G4OpenGLQtMovieDialog::setEncodeButtonEnabled(bool b) {
    405   fButtonEncode->setEnabled(b);
    406 }
    407 #endif
     418#endif
  • trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc

    r746 r747  
    21262126  if (fRecordFrameNumber >0) {
    21272127    // check parameters if they were modified (Re APPLY them...)
     2128    // It will enable/disable encode button
    21282129    fMovieParametersDialog->checkAllParameters();
    2129 pb du check et du bouton encode qui n est pas mis a jour si les param sont mauvais ici
    2130     if ((getEncoderPath() != "") && (getSaveFileName() != "")) {
    2131       if (generateMpegEncoderParameters()) {
    2132         fMovieParametersDialog->setEncodeButtonEnabled(true);
    2133         setRecordingInfos("Parameter file "+fParameterFileName+" generated in "+fMovieTempFolderPath);
    2134       } else {  // try to encode without dialog
    2135         setRecordingInfos("Generation of parameter file failed");
    2136       }
    2137     }
    21382130  } else {
    21392131    setRecordingStatus(WAIT);
     
    24482440bool G4OpenGLQtViewer::generateMpegEncoderParameters () {
    24492441
    2450   // save the parameter file
     2442                // save the parameter file
    24512443  FILE* fp;
    24522444#if QT_VERSION < 0x040000
     
    24572449
    24582450  if (fp == NULL) {
     2451    setRecordingInfos("Generation of parameter file failed");
    24592452    return false;
    24602453  }
     
    26372630  fclose (fp);
    26382631
     2632  setRecordingInfos("Parameter file "+fParameterFileName+" generated in "+fMovieTempFolderPath);
     2633  setRecordingStatus(ENCODE);
    26392634  return true;
    26402635}
     
    26422637bool G4OpenGLQtViewer::encodeVideo()
    26432638{
    2644   setRecordingStatus(ENCODE);
    2645   QProcess::execute (fEncoderPath, QStringList(fMovieTempFolderPath+fParameterFileName));
    2646 
    2647   setRecordingStatus(WAIT);
    2648   setRecordingInfos(removeTempFolder());
    2649 
     2639  if ((getEncoderPath() != "") && (getSaveFileName() != "")) {
     2640      QProcess::execute (fEncoderPath, QStringList(fMovieTempFolderPath+fParameterFileName));
     2641
     2642      setRecordingStatus(WAIT);
     2643      setRecordingInfos(removeTempFolder());
     2644  } else {
     2645    return false;
     2646  }
    26502647  return true;
    26512648}
Note: See TracChangeset for help on using the changeset viewer.