-void HYDROGUI_CalculationOp::onChangeLandCoverMode( int theMode )
-{
- HYDROGUI_CalculationDlg* aPanel =
- ::qobject_cast<HYDROGUI_CalculationDlg*>( inputPanel() );
- if ( !aPanel )
- return;
-
- if ( !confirmLandCoverModeChange() ) {
- aPanel->setLandCoverMode( myEditedObject->GetAssignmentLandCoverMode() );
- return;
- }
-
- myEditedObject->SetAssignmentLandCoverMode( (HYDROData_CalculationCase::AssignmentMode)theMode );
- aPanel->setLandCoverMode( theMode );
-}
-
-void HYDROGUI_CalculationOp::onAddLandCovers()
-{
- HYDROGUI_CalculationDlg* aPanel =
- ::qobject_cast<HYDROGUI_CalculationDlg*>( inputPanel() );
- if ( !aPanel )
- return;
-
- // Add land covers selected in the module browser to the calculation case
- QStringList aSelectedList = aPanel->getSelectedAvailableLandCovers();
- if ( aSelectedList.isEmpty() || !confirmRegionsChange() )
- return;
-
- QStringList anAddedList;
- for (int i = 0; i < aSelectedList.length(); i++)
- {
- Handle(HYDROData_LandCover) anObject = Handle(HYDROData_LandCover)::DownCast(
- HYDROGUI_Tool::FindObjectByName( module(), aSelectedList.at( i ) ) );
- if ( anObject.IsNull() )
- continue;
-
- if ( myEditedObject->AddLandCover( anObject ) )
- anAddedList.append( anObject->GetName() );
- }
-
- if ( !anAddedList.isEmpty() )
- {
- aPanel->includeLandCovers( anAddedList, false );
- // TODO: create preview of included land covers
- //createPreview();
- }
-}
-
-void HYDROGUI_CalculationOp::onRemoveLandCovers()
-{
- // Remove selected objects from the calculation case
- HYDROGUI_CalculationDlg* aPanel =
- ::qobject_cast<HYDROGUI_CalculationDlg*>( inputPanel() );
- if ( !aPanel )
- return;
-
- QStringList aSelectedList = aPanel->getSelectedLandCovers();
- if ( aSelectedList.isEmpty() || !confirmRegionsChange() )
- return;
-
- for (int i = 0; i < aSelectedList.length(); i++)
- {
- Handle(HYDROData_LandCover) anObject = Handle(HYDROData_LandCover)::DownCast(
- HYDROGUI_Tool::FindObjectByName( module(), aSelectedList.at(i) ) );
- if ( anObject.IsNull() )
- continue;
-
- setObjectVisibility( anObject, false );
- myEditedObject->RemoveLandCover( anObject );
- }
-
- module()->update( UF_OCCViewer );
- aPanel->excludeLandCovers( aSelectedList );
-}
-