#include <HYDROGUI_BathymetryPrs.h>
#include <HYDROGUI_ShapeBathymetry.h>
#include <HYDROGUI_Module.h>
+#include <HYDROGUI_OCCDisplayer.h>
#include <LightApp_Application.h>
#include <OCCViewer_ViewManager.h>
#include <OCCViewer_ViewWindow.h>
QGridLayout* layout = new QGridLayout();
setLayout( layout );
- layout->addWidget( new QLabel( tr( "MIN_VALUE" ) ), 0, 0 );
- layout->addWidget( new QLabel( tr( "MAX_VALUE" ) ), 1, 0 );
+ layout->addWidget( new QLabel( tr( "Min value" ) ), 0, 0 );
+ layout->addWidget( new QLabel( tr( "Max value" ) ), 1, 0 );
myMin = new QtxDoubleSpinBox( this );
+ myMin->setRange( -1000, 1000 );
myMax = new QtxDoubleSpinBox( this );
+ myMax->setRange( -1000, 1000 );
layout->addWidget( myMin, 0, 1 );
layout->addWidget( myMax, 1, 1 );
layout->addWidget( aBtnFrame, 2, 0, 1, 2 );
QPushButton* ok = new QPushButton( tr( "OK" ), this );
- QPushButton* cancel = new QPushButton( tr( "CANCEL" ), this );
+ QPushButton* cancel = new QPushButton( tr( "Cancel" ), this );
aBtnLayout->addWidget( ok );
aBtnLayout->addWidget( cancel );
connect( ok, SIGNAL( clicked() ), this, SLOT( accept() ) );
- connect( ok, SIGNAL( clicked() ), this, SLOT( reject() ) );
+ connect( cancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
}
HYDROGUI_BathymetryLimitsDlg::~HYDROGUI_BathymetryLimitsDlg()
HYDROGUI_BathymetryOp::HYDROGUI_BathymetryOp( HYDROGUI_Module* theModule, int theMode )
-: HYDROGUI_Operation( theModule ), myMode( theMode )
+: HYDROGUI_Operation( theModule ), myMode( theMode ), myIsActivate( false )
{
}
{
}
+OCCViewer_Viewer* getViewer( HYDROGUI_Module* theModule );
Handle(AIS_InteractiveContext) getContext( HYDROGUI_Module* theModule );
QList<Handle(HYDROGUI_BathymetryPrs)> getShownBathymetries( HYDROGUI_Module* theModule );
void HYDROGUI_BathymetryOp::activate( bool isActivate )
{
-QList<Handle(HYDROGUI_BathymetryPrs)> baths = getShownBathymetries( module() );
+ if( myIsActivate==isActivate )
+ return;
+
+ myIsActivate = isActivate;
+ QList<Handle(HYDROGUI_BathymetryPrs)> baths = getShownBathymetries( module() );
+ bool isUpdateCS = false;
switch( myMode )
{
case BathymetryRescaleSelectionId:
{
if( isActivate )
+ {
foreach( Handle(HYDROGUI_BathymetryPrs) bath, baths )
bath->GetShape()->RescaleBySelection();
+ isUpdateCS = true;
+ }
commit();
break;
}
case BathymetryRescaleVisibleId:
{
if( isActivate )
+ {
foreach( Handle(HYDROGUI_BathymetryPrs) bath, baths )
bath->GetShape()->RescaleByVisible( activeViewWindow() );
+ isUpdateCS = true;
+ }
commit();
break;
}
max = dlg.GetMax();
foreach( Handle(HYDROGUI_BathymetryPrs) bath, baths )
bath->GetShape()->Rescale( min, max );
+
+ isUpdateCS = true;
commit();
}
else
case BathymetryRescaleDefaultId:
{
if( isActivate )
+ {
foreach( Handle(HYDROGUI_BathymetryPrs) bath, baths )
bath->GetShape()->RescaleDefault();
+ isUpdateCS = true;
+ }
+ commit();
break;
}
}
+
+ if( isUpdateCS )
+ module()->getOCCDisplayer()->UpdateColorScale( getViewer( module() ) );
}