From be20c3d07620f9793fe67c66bb12f5f95bf5fe83 Mon Sep 17 00:00:00 2001 From: vsr Date: Thu, 10 Jun 2010 08:03:59 +0000 Subject: [PATCH] Merge from V5_1_main 10/06/2010 --- adm_local/cmake_files/FindVTK.cmake | 8 +++ doc/salome/gui/images/pref32.png | Bin 0 -> 26893 bytes doc/salome/gui/input/postpro_preferences.doc | 12 ++++ doc/salome/gui/input/using_input_widgets.doc | 55 +++++++++---------- src/OpenGLUtils/OpenGLUtils_FrameBuffer.cxx | 2 +- src/Qtx/QtxDoubleSpinBox.cxx | 7 +++ src/Qtx/QtxTreeView.cxx | 16 ++++++ src/Qtx/QtxTreeView.h | 1 + src/SUIT/SUIT_Study.h | 2 +- src/SVTK/SVTK_Recorder.cxx | 4 +- src/SalomeApp/SalomeApp_Study.cxx | 21 ++++++- src/SalomeApp/SalomeApp_Study.h | 1 + src/SalomeApp/SalomeApp_VisualState.cxx | 6 ++ src/VTKViewer/VTKViewer_MarkerDlg.cxx | 50 +++++++++++++++++ src/VTKViewer/VTKViewer_MarkerDlg.h | 12 ++++ src/VTKViewer/VTKViewer_PolyDataMapper.cxx | 21 +++---- src/VTKViewer/VTKViewer_PolyDataMapper.h | 5 +- 17 files changed, 176 insertions(+), 47 deletions(-) create mode 100755 doc/salome/gui/images/pref32.png diff --git a/adm_local/cmake_files/FindVTK.cmake b/adm_local/cmake_files/FindVTK.cmake index 480737678..71f7a605e 100644 --- a/adm_local/cmake_files/FindVTK.cmake +++ b/adm_local/cmake_files/FindVTK.cmake @@ -47,3 +47,11 @@ SET(VTK_LIBS ${VTK_LIBS} ${VTK_WIDGETS}) FIND_LIBRARY(vtkCommonPythonD vtkCommonPythonD ${VTK_LIBRARY_DIRS} NO_DEFAULT_PATH) FIND_LIBRARY(vtkGraphicsPythonD vtkGraphicsPythonD ${VTK_LIBRARY_DIRS} NO_DEFAULT_PATH) FIND_LIBRARY(vtkImagingPythonD vtkImagingPythonD ${VTK_LIBRARY_DIRS} NO_DEFAULT_PATH) + +IF(NOT WINDOWS) + IF(VTK_MAJOR_VERSION STREQUAL 5) + IF(VTK_MINOR_VERSION STREQUAL 0) + SET(VTK_INCLUDES ${VTK_INCLUDES} -Wno-deprecated) + ENDIF(VTK_MINOR_VERSION STREQUAL 0) + ENDIF(VTK_MAJOR_VERSION STREQUAL 5) +ENDIF(NOT WINDOWS) diff --git a/doc/salome/gui/images/pref32.png b/doc/salome/gui/images/pref32.png new file mode 100755 index 0000000000000000000000000000000000000000..b2f2d50e2005e22151e573737bc944bfb78fa46a GIT binary patch literal 26893 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≻l4M>p$Yz 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�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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/input/postpro_preferences.doc b/doc/salome/gui/input/postpro_preferences.doc index 54036ef32..6e2755a6b 100644 --- a/doc/salome/gui/input/postpro_preferences.doc +++ b/doc/salome/gui/input/postpro_preferences.doc @@ -122,6 +122,18 @@ structure of the study and can be visualized in a XY plot. +

Stream Lines Preferences

+ +\image html pref32.png + +
    +
  • Stream Lines Preferences
  • +
      +
    • Used points - allows to define a default value of percentage +of points used for building the Stream Lines presentation.
    • +
    +
+

Sweep and Animation Preferences

\image html ppref3.png diff --git a/doc/salome/gui/input/using_input_widgets.doc b/doc/salome/gui/input/using_input_widgets.doc index 2d0cb9bcb..fcb04f032 100755 --- a/doc/salome/gui/input/using_input_widgets.doc +++ b/doc/salome/gui/input/using_input_widgets.doc @@ -8,58 +8,57 @@ with SALOME GUI input widgets.

Spin boxes

This type of widgets is used for numeric (integer or floating-point) -data input. Spin boxes are used in standard \b SALOME modules in case -if an input value has clearly defined input range (and precision in -case of floating-point value). +data input. Spin boxes are used in standard \b SALOME modules if the +input value has a clearly defined input range (and precision in +case of a floating-point value). -Input precision has specific semantics in \b SALOME floating-point +Input precision has a specific semantics in \b SALOME floating-point spin boxes: -- Positive value means that a number in a fixed-point format -(corresponding to "f" format specifier for C printf function) is +- Positive precision value means that a number in the fixed-point format +(corresponding to the "f" format specifier for C printf function) is expected. Positive precision value is the maximum allowed number of digits after the decimal separator. -- Negative precision value means that a number either in a fixed-point -or scientific (exponetial) format is expected. This is similar to -behavior of "g" format specifier for C printf function. Absolute +- Negative precision value means that a number either in the fixed-point +or the scientific (exponetial) format is expected. This is similar to the +behavior of the "g" format specifier for C printf function. Negative precision value is the maximum allowed number of significant digits in mantissa (note that one digit is always before the decimal separator). To make the user aware of an input value constraints applied by some -\b SALOME operation, the following basic capabilties are provided by +\b SALOME operations, the following basic capabilties are provided by spin boxes: -- Text entered manually into a spin box by the user is checked to be a +- The text input manually in a spin box by the user is checked to be a number of valid type (integer or floating-point). -- The text is converted to a number and checked against the valid +- The text is converted to a number and checked to be within the valid range. - Additionally, for floating-point data the input text is checked against the precision rules described above. -In case if the input text in a spin box does not satisfy the -constraints, the user is informed about this by a message shown in a +If the input text in a spin box does not meet the +constraints, the user is shown a message in a tooltip near the spin box just as he types in it. The tooltip contains -information about valid data range. For floating-point input, the -tooltip also contains information about expected precision. +information about the valid data range. For a floating-point input, the +tooltip also contains information about the expected precision. -In standard \bSALOME modules precision value can be adjusted through -\ref setting_preferences_page "user preferences" of correspodning modules, and the tooltip contains a -reference to corresponding parameter in the preferences. +In standard \bSALOME modules the precision value can be adjusted through +\ref setting_preferences_page "user preferences" of the correspodning modules, and the tooltip contains a +reference to the corresponding parameter in the preferences. On-line documentation for each standard SALOME module contains the list of user preferences that can be used for tuning floating-point -precision for different type of input quantities. +precision for different types of input quantities.

Spin boxes and SALOME Notebook

-Apart from numeric input, spin boxes in some \b SALOME modules accept -names of \b Notebook variables (see \ref using_notebook "Using Notebook" +Apart from the numeric input, spin boxes in some \b SALOME modules accept +the names of \b Notebook variables (see \ref using_notebook "Using Notebook" page for more details about \b Notebook). -If some spin box accepts variable names, then it is -additionally checked whether the manual input text represents a variable name. Variable -names should satisfy common naming rules for \b Python variables. -In case if the input is neither a valid number nor a variable name, -the tooltip is shown informing the user that variable names are -also acceptable in this spin box. +If a spin box accepts variable names, then it is +additionally checked whether the manually input text represents a variable name. Variable +names should comply with the common naming rules for \b Python variables. +If the input is neither a valid number nor a variable name, +the tooltip informs the user that variable names are also acceptable in this spin box. */ diff --git a/src/OpenGLUtils/OpenGLUtils_FrameBuffer.cxx b/src/OpenGLUtils/OpenGLUtils_FrameBuffer.cxx index a5e81e813..e227f2642 100755 --- a/src/OpenGLUtils/OpenGLUtils_FrameBuffer.cxx +++ b/src/OpenGLUtils/OpenGLUtils_FrameBuffer.cxx @@ -132,7 +132,7 @@ bool OpenGLUtils_FrameBuffer::init( const GLsizei& xSize, const GLsizei& ySize ) if( !IsEXTInitialized || strstr( ext, "GL_EXT_framebuffer_object" ) == NULL ) { - INFOS( "Initializing OpenGL FrameBuffer extension failed" ); + MESSAGE( "Initializing OpenGL FrameBuffer extension failed" ); return false; } diff --git a/src/Qtx/QtxDoubleSpinBox.cxx b/src/Qtx/QtxDoubleSpinBox.cxx index f0560db9b..87120b243 100644 --- a/src/Qtx/QtxDoubleSpinBox.cxx +++ b/src/Qtx/QtxDoubleSpinBox.cxx @@ -28,6 +28,8 @@ #include +const double PSEUDO_ZERO = 1.e-20; + /*! \class QtxDoubleSpinBox \brief Enhanced version of the Qt's double spin box. @@ -263,6 +265,11 @@ void QtxDoubleSpinBox::stepBy( int steps ) myCleared = false; QDoubleSpinBox::stepBy( steps ); + double tmpval = value(); + if ( qAbs( tmpval ) < PSEUDO_ZERO ) tmpval = 0.; + if ( tmpval < minimum() ) tmpval = minimum(); + else if ( tmpval > maximum() ) tmpval = maximum(); + setValue( tmpval ); } /*! diff --git a/src/Qtx/QtxTreeView.cxx b/src/Qtx/QtxTreeView.cxx index ef551abc4..d86270d85 100644 --- a/src/Qtx/QtxTreeView.cxx +++ b/src/Qtx/QtxTreeView.cxx @@ -319,6 +319,22 @@ void QtxTreeView::selectionChanged( const QItemSelection& selected, emit( selectionChanged() ); } +/*! + \brief Called when rows are about to be removed. + \param parent model index + \param start first row to remove + \param end last row to remove +*/ +void QtxTreeView::rowsAboutToBeRemoved( const QModelIndex& parent, int start, int end ) +{ + QModelIndex curIndex = currentIndex(); + while ( curIndex.isValid() && curIndex.parent() != parent ) + curIndex = curIndex.parent(); + if ( curIndex.isValid() && curIndex.row() >= start && curIndex.row() <= end ) + setCurrentIndex( QModelIndex() ); + QTreeView::rowsAboutToBeRemoved( parent, start, end ); +} + /*! \brief Expand/collapse the specified item (recursively). \param index model index diff --git a/src/Qtx/QtxTreeView.h b/src/Qtx/QtxTreeView.h index af16b8284..d63c9bdad 100644 --- a/src/Qtx/QtxTreeView.h +++ b/src/Qtx/QtxTreeView.h @@ -57,6 +57,7 @@ public: protected slots: void onHeaderClicked( int ); + void rowsAboutToBeRemoved( const QModelIndex&, int, int ); void selectionChanged( const QItemSelection&, const QItemSelection& ); void onAppropriate( Qt::Orientation, int, int ); diff --git a/src/SUIT/SUIT_Study.h b/src/SUIT/SUIT_Study.h index d269c0be6..bd2ec1342 100755 --- a/src/SUIT/SUIT_Study.h +++ b/src/SUIT/SUIT_Study.h @@ -48,7 +48,7 @@ public: virtual int id() const; SUIT_DataObject* root() const; - QString studyName() const; + virtual QString studyName() const; SUIT_Application* application() const; virtual bool isSaved() const; diff --git a/src/SVTK/SVTK_Recorder.cxx b/src/SVTK/SVTK_Recorder.cxx index 84a3221eb..bba8a401f 100755 --- a/src/SVTK/SVTK_Recorder.cxx +++ b/src/SVTK/SVTK_Recorder.cxx @@ -322,7 +322,7 @@ int GetFrameIndex(double theStartTime, double theFPS) { - double aTimeNow = vtkTimerLog::GetCurrentTime(); + double aTimeNow = vtkTimerLog::GetUniversalTime(); double aDelta = aTimeNow - theStartTime; return int(aDelta*theFPS); } @@ -336,7 +336,7 @@ SVTK_Recorder if(myFrameIndex < 0){ myFrameIndex = 0; - myTimeStart = vtkTimerLog::GetCurrentTime(); + myTimeStart = vtkTimerLog::GetUniversalTime(); }else{ int aFrameIndex = GetFrameIndex(myTimeStart,myNbFPS); if(aFrameIndex <= myFrameIndex) diff --git a/src/SalomeApp/SalomeApp_Study.cxx b/src/SalomeApp/SalomeApp_Study.cxx index be3b09618..019b882b4 100644 --- a/src/SalomeApp/SalomeApp_Study.cxx +++ b/src/SalomeApp/SalomeApp_Study.cxx @@ -66,11 +66,30 @@ SalomeApp_Study::~SalomeApp_Study() int SalomeApp_Study::id() const { int id = -1; - if ( myStudyDS ) + if ( studyDS() ) id = studyDS()->StudyId(); return id; } +/*! + Get study name. +*/ +QString SalomeApp_Study::studyName() const +{ + // redefined from SUIT_Study to update study name properly since + // it can be changed outside of GUI + // TEMPORARILY SOLUTION: better to be implemented with help of SALOMEDS observers + if ( studyDS() ) { + QString newName = studyDS()->Name().c_str(); + if ( LightApp_Study::studyName() != newName ) { + SalomeApp_Study* that = const_cast( this ); + that->setStudyName( newName ); + ((SalomeApp_Application*)application())->updateDesktopTitle(); + } + } + return LightApp_Study::studyName(); +} + /*! Gets studyDS pointer. */ diff --git a/src/SalomeApp/SalomeApp_Study.h b/src/SalomeApp/SalomeApp_Study.h index fe281212d..597a3e069 100644 --- a/src/SalomeApp/SalomeApp_Study.h +++ b/src/SalomeApp/SalomeApp_Study.h @@ -42,6 +42,7 @@ public: virtual ~SalomeApp_Study(); virtual int id() const; + virtual QString studyName() const; virtual bool createDocument( const QString& ); virtual bool openDocument( const QString& ); diff --git a/src/SalomeApp/SalomeApp_VisualState.cxx b/src/SalomeApp/SalomeApp_VisualState.cxx index 689038fa6..0c06d2fd5 100644 --- a/src/SalomeApp/SalomeApp_VisualState.cxx +++ b/src/SalomeApp/SalomeApp_VisualState.cxx @@ -108,6 +108,10 @@ int SalomeApp_VisualState::storeState() if ( !study ) return -1; + // unlock study if it is locked + bool aLocked = study->studyDS()->GetProperties()->IsLocked(); + if (aLocked) study->studyDS()->GetProperties()->SetLocked(false); + int savePoint = 1; std::vector savePoints = study->getSavePoints(); //Calculate a new savePoint number = the last save point number + 1 @@ -182,6 +186,8 @@ int SalomeApp_VisualState::storeState() // set default name of new savePoint study->setNameOfSavePoint( savePoint, QObject::tr( "SAVE_POINT_DEF_NAME" ) + QString::number( savePoint ) ); + if (aLocked) study->studyDS()->GetProperties()->SetLocked(true); + return savePoint; } diff --git a/src/VTKViewer/VTKViewer_MarkerDlg.cxx b/src/VTKViewer/VTKViewer_MarkerDlg.cxx index baa4a1fda..5484bad62 100644 --- a/src/VTKViewer/VTKViewer_MarkerDlg.cxx +++ b/src/VTKViewer/VTKViewer_MarkerDlg.cxx @@ -20,8 +20,14 @@ #include "VTKViewer_MarkerDlg.h" #include "VTKViewer_MarkerWidget.h" +#include +#include +#include +#include + #include #include +#include /*! * Class : VTKViewer_MarkerDlg @@ -42,6 +48,8 @@ VTKViewer_MarkerDlg::VTKViewer_MarkerDlg( QWidget* theParent ) aTopLayout->setSpacing( 0 ); aTopLayout->setMargin( 0 ); aTopLayout->addWidget( myMarkerWidget ); + + connect( this, SIGNAL( dlgHelp() ), this, SLOT( onHelp() ) ); } /*! @@ -51,6 +59,48 @@ VTKViewer_MarkerDlg::~VTKViewer_MarkerDlg() { } +void VTKViewer_MarkerDlg::setHelpData( const QString& theModuleName, + const QString& theHelpFileName ) +{ + myModuleName = theModuleName; + myHelpFileName = theHelpFileName; +} + +void VTKViewer_MarkerDlg::keyPressEvent( QKeyEvent* e ) +{ + QtxDialog::keyPressEvent( e ); + if ( e->isAccepted() ) + return; + + if ( e->key() == Qt::Key_F1 ) { + e->accept(); + onHelp(); + } +} + +void VTKViewer_MarkerDlg::onHelp() +{ + if( myModuleName.isNull() || myHelpFileName.isNull() ) + return; + + SUIT_Application* app = SUIT_Session::session()->activeApplication(); + if (app) + app->onHelpContextModule(myModuleName, myHelpFileName); + else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif + SUIT_MessageBox::warning(this, tr("WRN_WARNING"), + tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", + platform)). + arg(myHelpFileName)); + } +} + void VTKViewer_MarkerDlg::setCustomMarkerMap( VTK::MarkerMap theMarkerMap ) { myMarkerWidget->setCustomMarkerMap( theMarkerMap ); diff --git a/src/VTKViewer/VTKViewer_MarkerDlg.h b/src/VTKViewer/VTKViewer_MarkerDlg.h index 8cbe935e6..7e40c6131 100644 --- a/src/VTKViewer/VTKViewer_MarkerDlg.h +++ b/src/VTKViewer/VTKViewer_MarkerDlg.h @@ -39,6 +39,9 @@ public: VTKViewer_MarkerDlg( QWidget* = 0 ); virtual ~VTKViewer_MarkerDlg(); + void setHelpData( const QString& theModuleName, + const QString& theHelpFileName ); + void setCustomMarkerMap( VTK::MarkerMap ); VTK::MarkerMap getCustomMarkerMap(); @@ -48,8 +51,17 @@ public: VTK::MarkerScale getStandardMarkerScale() const; int getCustomMarkerID() const; +protected: + void keyPressEvent( QKeyEvent* ); + +private slots: + void onHelp(); + private: VTKViewer_MarkerWidget* myMarkerWidget; + + QString myModuleName; + QString myHelpFileName; }; #endif diff --git a/src/VTKViewer/VTKViewer_PolyDataMapper.cxx b/src/VTKViewer/VTKViewer_PolyDataMapper.cxx index 50ea7c8e3..2a0458d22 100644 --- a/src/VTKViewer/VTKViewer_PolyDataMapper.cxx +++ b/src/VTKViewer/VTKViewer_PolyDataMapper.cxx @@ -126,7 +126,7 @@ VTKViewer_PolyDataMapper::VTKViewer_PolyDataMapper() { Q_INIT_RESOURCE( VTKViewer ); - this->ExtensionsInitialized = 0; + this->ExtensionsInitialized = ES_None; this->PointSpriteTexture = 0; @@ -220,24 +220,18 @@ int VTKViewer_PolyDataMapper::GetMarkerTexture() } //----------------------------------------------------------------------------- -bool VTKViewer_PolyDataMapper::InitExtensions() +int VTKViewer_PolyDataMapper::InitExtensions() { - if( this->ExtensionsInitialized ) - return true; - - InitializeBufferExtensions(); - char* ext = (char*)glGetString( GL_EXTENSIONS ); if( !IsBufferExtensionsInitialized || strstr( ext, "GL_ARB_point_sprite" ) == NULL || strstr( ext, "GL_ARB_vertex_buffer_object" ) == NULL ) { - INFOS("Initializing ARB extensions failed"); - return false; + MESSAGE("Initializing ARB extensions failed"); + return ES_Error; } - this->ExtensionsInitialized = 1; - return true; + return ES_Ok; } //----------------------------------------------------------------------------- @@ -296,7 +290,8 @@ void VTKViewer_PolyDataMapper::RenderPiece( vtkRenderer* ren, vtkActor* act ) bool isUsePointSprites = this->MarkerEnabled && this->MarkerType != VTK::MT_NONE; if( isUsePointSprites ) { - this->InitExtensions(); + if( this->ExtensionsInitialized == ES_None ) + this->ExtensionsInitialized = this->InitExtensions(); this->InitPointSprites(); this->InitTextures(); } @@ -542,7 +537,7 @@ int VTKViewer_PolyDataMapper::Draw( vtkRenderer* ren, vtkActor* act ) delete aColorFunctor; } - if( this->ExtensionsInitialized ) { + if( this->ExtensionsInitialized == ES_Ok ) { GLuint aBufferObjectID = 0; vglGenBuffersARB( 1, &aBufferObjectID ); vglBindBufferARB( GL_ARRAY_BUFFER_ARB, aBufferObjectID ); diff --git a/src/VTKViewer/VTKViewer_PolyDataMapper.h b/src/VTKViewer/VTKViewer_PolyDataMapper.h index 38b4838fb..9b936f8f9 100644 --- a/src/VTKViewer/VTKViewer_PolyDataMapper.h +++ b/src/VTKViewer/VTKViewer_PolyDataMapper.h @@ -55,6 +55,9 @@ class vtkImageData; */ class VTKVIEWER_EXPORT VTKViewer_PolyDataMapper : public MAPPER_SUPERCLASS { +public: + enum ExtensionsState { ES_None = 0, ES_Error, ES_Ok }; + public: static VTKViewer_PolyDataMapper* New(); vtkTypeRevisionMacro( VTKViewer_PolyDataMapper, MAPPER_SUPERCLASS ); @@ -88,7 +91,7 @@ protected: ~VTKViewer_PolyDataMapper(); //! Initializing OpenGL extensions. - bool InitExtensions(); + int InitExtensions(); //! Activate Point Sprites. void InitPointSprites(); -- 2.39.2