#ifdef WIN32
#pragma warning ( disable: 4251 )
#endif
-#include <OCCViewer_ViewWindow.h>
+#include <OCCViewer_ViewFrame.h>
#ifdef WIN32
#pragma warning ( disable: 4251 )
#endif
-#include <AIS_InteractiveContext.hxx>
#include <AIS_Shape.hxx>
-#include <Aspect_ColorScale.hxx>
+#include <AIS_ColorScale.hxx>
#include <Prs3d_PointAspect.hxx>
#include <TopoDS_Iterator.hxx>
#include <QDir>
#include <cppunit/TestAssert.h>
OCCViewer_ViewManager* TestViewer::myViewManager = 0;
-OCCViewer_ViewWindow* TestViewer::myViewWindow = 0;
+OCCViewer_ViewFrame* TestViewer::myViewWindow = 0;
QString TestViewer::myKey = "";
OCCViewer_ViewManager* TestViewer::viewManager()
aViewer->setZoomingStyle( 1 );
myViewManager->setViewModel( aViewer );
- myViewWindow = dynamic_cast<OCCViewer_ViewWindow*>( myViewManager->createViewWindow() );
+ myViewWindow = dynamic_cast<OCCViewer_ViewFrame*>( myViewManager->createViewWindow() );
return myViewManager;
}
return dynamic_cast<OCCViewer_Viewer*>( viewManager()->getViewModel() );
}
-OCCViewer_ViewWindow* TestViewer::viewWindow()
+OCCViewer_ViewFrame* TestViewer::viewWindow()
{
viewManager(); //to create the view if it was not created earlier
return myViewWindow;
eraseAll( false );
}
- context()->Display( theObject, theMode, theSelectionMode );
if( theSelectionMode > 0 )
{
context()->OpenLocalContext();
+ context()->Display( theObject, theMode, theSelectionMode );
context()->Activate( theObject, theSelectionMode, Standard_True );
}
+ else
+ context()->Display( theObject, theMode, theSelectionMode );
if( isFitAll )
- {
- viewWindow()->onTopView();
- viewWindow()->onFitAll();
- }
+ fitAll();
+}
+
+void TestViewer::fitAll()
+{
+ viewWindow()->onTopView();
+ viewWindow()->onFitAll();
}
void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const QColor& theColor,
context()->Display( aShape, theMode, 0, Standard_False );
if( isFitAll )
- {
- viewWindow()->onTopView();
- viewWindow()->onFitAll();
- }
+ fitAll();
}
void TestViewer::show( const TopoDS_Shape& theShape, int theMode, bool isFitAll, const char* theKey,
int theUIANb, int theVIANb)
show( aLE.Value(), theMode, false, GetColor(i) );
if( isFitAll )
- {
- viewWindow()->onTopView();
- viewWindow()->onFitAll();
- }
+ fitAll();
}
/*void TestViewer::ShowShape(const TopoDS_Shape& theShape, int theMode, int& i)
return true;
}
-bool TestViewer::AssertImages( QString& theMessage, const QImage* theImage, const char* theCase )
+bool TestViewer::AssertImages( QString& theMessage, const QImage* theImage, const char* theCase, bool swapRGB )
{
QImage anActualImage;
if( theImage )
anActualImage = *theImage;
else
- anActualImage = viewWindow()->dumpView();
+ anActualImage = viewWindow()->getView(OCCViewer_ViewFrame::MAIN_VIEW)->dumpView();
+
+ if( swapRGB )
+ {
+ // A temporary patch for bug in SALOME/OCC dump; the result image contains swapped RGB colors
+ anActualImage = anActualImage.rgbSwapped();
+ }
+
if( theCase )
myKey = theCase;
return false;
}
-Handle_Aspect_ColorScale TestViewer::colorScale()
+Handle(AIS_ColorScale) TestViewer::colorScale()
{
- Handle(V3d_View) aView = myViewWindow->getViewPort()->getView();
- if( aView.IsNull() )
- return Handle(Aspect_ColorScale)();
- else
- return aView->ColorScale();
+ static Handle(AIS_ColorScale) aColorScale = new AIS_ColorScale();
+
+ return aColorScale;
}
void TestViewer::showColorScale( bool isShow )
{
- Handle(V3d_View) aView = myViewWindow->getViewPort()->getView();
- if( aView.IsNull() )
- return;
-
- Handle(Aspect_ColorScale) aColorScale = colorScale();
+ Handle(AIS_ColorScale) aColorScale = colorScale();
if( aColorScale.IsNull() )
return;
aColorScale->SetTitle( "test" );
aColorScale->SetRange( 0, 1 );
+ aColorScale->SetToUpdate();
+
if( isShow )
{
- if( !aView->ColorScaleIsDisplayed() )
- aView->ColorScaleDisplay();
+ if( !context()->IsDisplayed( aColorScale ) )
+ context()->Display( aColorScale );
}
else
{
- if( aView->ColorScaleIsDisplayed() )
- aView->ColorScaleErase();
+ if( context()->IsDisplayed( aColorScale ) )
+ context()->Erase( aColorScale );
}
}
bool TestViewer::ColorScaleIsDisplayed()
{
- Handle(V3d_View) aView = myViewWindow->getViewPort()->getView();
- if( aView.IsNull() )
- return false;
- return aView->ColorScaleIsDisplayed();
+ return context()->IsDisplayed( colorScale() );
}
void TestViewer::select( int theViewX, int theViewY )
return isEqual;
}
+
+void TestViewer::setKey( const QString& theKey )
+{
+ myKey = theKey;
+}