-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <SUIT_ViewManager.h>
#include <SUIT_ViewWindow.h>
-#include <QApplication.h>
+#include <QApplication>
HYDROGUI_VisualStateOp::HYDROGUI_VisualStateOp( HYDROGUI_Module* theModule,
const bool theIsLoad )
{
HYDROGUI_Operation::startOperation();
+ if( !myIsLoad )
+ startDocOperation();
+
bool aResult = false;
if( myIsLoad )
aResult = loadVisualState();
aResult = saveVisualState();
if( aResult )
+ {
+ if( !myIsLoad )
+ commitDocOperation();
commit();
+ }
else
- abort(); // do not commit the document command
+ {
+ if( !myIsLoad )
+ abortDocOperation();
+ abort();
+ }
}
bool HYDROGUI_VisualStateOp::saveVisualState()
if( aVisualState.IsNull() )
return false;
- QString aName = HYDROGUI_Tool::GenerateObjectName( module(), "VisualState" );
+ QString aName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_VISUAL_STATE_NAME" ) );
aVisualState->SetName( aName );
}
{
if( SUIT_ViewManager* aViewManager = anIter.next() )
{
- int aViewId = (int)aViewManager->getViewModel();
+ size_t aViewId = (size_t)aViewManager->getViewModel();
if( SUIT_ViewWindow* aViewWindow = aViewManager->getActiveView() )
{
QString aType = aViewManager->getType();
for( int anObjIndex = 1, aLength = aSeq.Length(); anObjIndex <= aLength; anObjIndex++ )
{
- Handle(HYDROData_Object) anObject = aSeq.Value( anObjIndex );
+ Handle(HYDROData_Entity) anObject = aSeq.Value( anObjIndex );
if( !anObject.IsNull() )
{
// Format: "Name|Visibility[|CoordX|CoordY]"
QString aParameters = anObject->GetName();
- int aVisibility = (int)anObject->IsVisible( aViewId );
+ int aVisibility = (int)( module()->isObjectVisible( aViewId, anObject ) );
aParameters.append( QString( "|%1" ).arg( aVisibility ) );
setVisualProperty( aPropertyMap, aViewerEntry, aParameters, true );
//printf( "--- SetState -----------\n" );
//printf( "%s\n", qPrintable( aState ) );
//printf( "------------------------\n" );
- aVisualState->SetState( aState );
+ aVisualState->SetState( aState.toStdString() );
module()->update( UF_Model );
if( aVisualState.IsNull() )
return false;
- QString aState = aVisualState->GetState();
+ QString aState = QString::fromStdString( aVisualState->GetState() );
//printf( "--- GetState -----------\n" );
//printf( "%s\n", qPrintable( aState ) );
//printf( "------------------------\n" );
QString aViewerId = aViewerEntry.section( '_', -1 ); // unused
if( SUIT_ViewManager* aViewManager = anApp->createViewManager( aType ) )
{
- int aViewId = (int)aViewManager->getViewModel();
+ size_t aViewId = (size_t)aViewManager->getViewModel();
if( SUIT_ViewWindow* aViewWindow = aViewManager->getActiveView() )
{
// Wait until the window is really shown. This step fixes MANY bugs.
for( int anObjIndex = 1, aLength = aSeq.Length(); anObjIndex <= aLength; anObjIndex++ )
{
- Handle(HYDROData_Object) anObject = aSeq.Value( anObjIndex );
+ Handle(HYDROData_Entity) anObject = aSeq.Value( anObjIndex );
if( !anObject.IsNull() )
{
QString aName = anObject->GetName();
{
bool anIsVisible = aParameters[ aParamIndex ].toInt( &anIsOk[ ++aParamIndex ] );
if( anIsOk[ 0 ] )
- anObject->SetVisible( aViewId, anIsVisible );
+ module()->setObjectVisible( aViewId, anObject, anIsVisible );
}
}
}