HYDROGUI_StricklerTableOp.h
HYDROGUI_StricklerTypeComboBox.h
HYDROGUI_SubmersibleOp.h
+ HYDROGUI_UnSubmersibleOp.h
HYDROGUI_Tool.h
HYDROGUI_Tool2.h
HYDROGUI_TwoImagesDlg.h
HYDROGUI_Overview.h
HYDROGUI_PolylineStyleOp.h
HYDROGUI_PolylineStyleDlg.h
+ HYDROGUI_ZoneTool.h
+ HYDROGUI_RegenerateRegionColorsOp.h
)
QT_WRAP_MOC(PROJECT_HEADERS_MOC ${PROJECT_HEADERS})
HYDROGUI_SplitPolylinesDlg.cxx
HYDROGUI_SplitPolylinesOp.cxx
HYDROGUI_SubmersibleOp.cxx
+ HYDROGUI_UnSubmersibleOp.cxx
HYDROGUI_Tool.cxx
HYDROGUI_Tool2.cxx
HYDROGUI_TwoImagesDlg.cxx
HYDROGUI_Overview.cxx
HYDROGUI_PolylineStyleOp.cxx
HYDROGUI_PolylineStyleDlg.cxx
+ HYDROGUI_ZoneTool.cxx
+ HYDROGUI_RegenerateRegionColorsOp.cxx
)
add_definitions(
case KIND_NATURAL_OBJECT: return "NATURAL_OBJECTS";
case KIND_STRICKLER_TABLE: return "STRICKLER_TABLES";
case KIND_LAND_COVER_MAP: return "LAND_COVER_MAPS";
+ case KIND_REGION: return "REGIONS";
default: break;
}
return QString();
#include "HYDROGUI_DataObject.h"
#include <HYDROData_DummyObject3D.h>
+#include <HYDROData_ImmersibleZone.h>
#include <HYDROData_Object.h>
+#include <HYDROData_ArtificialObject.h>
+#include <HYDROData_NaturalObject.h>
#include <TDF_Tool.hxx>
#include <SUIT_Study.h>
#include <QPixmap>
+#include <QPainter>
HYDROGUI_DataObject::HYDROGUI_DataObject( SUIT_DataObject* theParent,
Handle(HYDROData_Entity) theData,
{
QString anIcon;
Handle(HYDROData_Entity) aDataObject = modelObject();
+ Handle(HYDROData_Object) anObject;
+ Handle(HYDROData_ArtificialObject) anAObject = Handle( HYDROData_ArtificialObject )::DownCast(aDataObject);
+ Handle(HYDROData_NaturalObject) aNObject = Handle( HYDROData_NaturalObject )::DownCast(aDataObject);
+
+ if (!anAObject.IsNull())
+ anObject = anAObject;
+ if (!aNObject.IsNull())
+ anObject = aNObject;
+
if( aDataObject.IsNull() )
{
anIcon = QObject::tr( "HYDRO_TYPE0_ICO" ); // KIND_UNKNOWN
QString aNeedUpdate( aDataObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) ? "M_" : "" );
int anObjectKind = (int)aDataObject->GetKind();
+ bool IsUnsImmZone = false;
if ( anObjectKind == KIND_DUMMY_3D )
{
Handle(HYDROData_DummyObject3D) anObject3D =
if ( !aFatherObj.IsNull() )
anObjectKind = aFatherObj->GetKind();
}
-
- anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toLatin1() );
+ else if ( !anObject.IsNull() )
+ {
+ bool IsSubm = anObject->IsSubmersible();
+ QString anIcon1 = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toLatin1() );
+ QString anIcon2;
+ if (IsSubm)
+ anIcon2 = QObject::tr( QString("HYDRO_SUBMERSIBLE16_ICO").toLatin1());
+ else
+ anIcon2 = QObject::tr( QString("HYDRO_UNSUBMERSIBLE16_ICO").toLatin1());
+
+ QPixmap qpm1 = aResMgr->loadPixmap( "HYDRO", anIcon1 );
+ QPixmap qpm2 = aResMgr->loadPixmap( "HYDRO", anIcon2 );
+ QPixmap qpmD(32,16);
+ qpmD.fill(QColor(0,0,0));
+ QPainter painter;
+ painter.begin(&qpmD);
+ painter.drawPixmap(0, 0, qpm1);
+ painter.drawPixmap(16, 0, qpm2);
+ painter.end();
+ return qpmD;
+ }
+ else
+ anIcon = QObject::tr( QString("HYDRO_%1TYPE%2_ICO").arg( aNeedUpdate ).arg( anObjectKind ).toLatin1() );
}
return aResMgr->loadPixmap( "HYDRO", anIcon );
#include <HYDROData_Lambert93.h>
#include <HYDROData_Polyline3D.h>
#include <HYDROData_StricklerTable.h>
+#include <HYDROData_ArtificialObject.h>
+#include <HYDROData_NaturalObject.h>
#include <HYDROData_OperationsFactory.h>
}
theMenu->addSeparator();
}
+ else
+ {
+ Handle(HYDROData_CalculationCase) aCalcCase;
+ QString outStr;
+ HYDROGUI_Tool::IsSelectedPartOfCalcCase(this, aCalcCase, outStr);
+ if (outStr == HYDROGUI_DataModel::partitionName( KIND_REGION ))
+ theMenu->addAction( action( RegenerateRegionColorsId ) );
+ }
}
if( anIsSelectedDataObjects )
{
if( aSeq.Size() > 0 )
{
- Handle( HYDROData_Object ) anObject = Handle( HYDROData_Object )::DownCast( aSeq.First() );
+ Handle( HYDROData_Entity ) aFirstEnt = aSeq.First();
+ Handle(HYDROData_Object) anObject;
+ Handle(HYDROData_ArtificialObject) anAObject = Handle( HYDROData_ArtificialObject )::DownCast(aFirstEnt);
+ Handle(HYDROData_NaturalObject) aNObject = Handle( HYDROData_NaturalObject )::DownCast(aFirstEnt);
+
+ if (!anAObject.IsNull())
+ anObject = anAObject;
+ if (!aNObject.IsNull())
+ anObject = aNObject;
+
if( !anObject.IsNull() )
{
theMenu->addSeparator();
- theMenu->addAction( action( SubmersibleId ) );
- action( SubmersibleId )->setCheckable( true );
- action( SubmersibleId )->setChecked( anObject->IsSubmersible() );
+ bool IsSubmersible = anObject->IsSubmersible();
+ if (!IsSubmersible)
+ {
+ theMenu->addAction( action( SubmersibleId ) );
+ action( SubmersibleId )->setCheckable(true);
+ action( SubmersibleId )->setChecked(true);
+ }
+ else
+ {
+ theMenu->addAction( action( UnSubmersibleId ) );
+ action( UnSubmersibleId )->setCheckable(true);
+ action( UnSubmersibleId )->setChecked(true);
+ }
}
}
}
#include "HYDROGUI_ProfileInterpolateOp.h"
#include "HYDROGUI_RecognizeContoursOp.h"
#include "HYDROGUI_SubmersibleOp.h"
+#include "HYDROGUI_UnSubmersibleOp.h"
#include "HYDROGUI_StricklerTableOp.h"
#include "HYDROGUI_DuplicateOp.h"
#include "HYDROGUI_LandCoverMapOp.h"
#include "HYDROGUI_BathymetrySelectionOp.h"
#include "HYDROGUI_BathymetryOp.h"
#include "HYDROGUI_PolylineStyleOp.h"
+#include "HYDROGUI_RegenerateRegionColorsOp.h"
#include <HYDROData_Document.h>
#include <HYDROData_Obstacle.h>
createAction( ProfileInterpolateId, "PROFILE_INTERPOLATE", "PROFILE_INTERPOLATE_ICO" );
createAction( SubmersibleId, "SUBMERSIBLE", "SUBMERSIBLE_ICO" );
+ createAction( UnSubmersibleId, "UNSUBMERSIBLE", "HYDRO_UNSUBMERSIBLE16_ICO" );
createAction( ExportToShapeFileID, "EXPORT_TO_SHAPE_FILE", "EXPORT_TO_SHAPE_FILE_ICO" );
createAction( PolylineExtractionId, "POLYLINE_EXTRACTION" );
createAction( LandCoverScalarMapModeOffId, "LC_SCALARMAP_COLORING_OFF" );
createAction( ShowHideArrows, "SHOW_HIDE_ARROWS" );
+ createAction( RegenerateRegionColorsId, "REGENERATE_REGION_COLORS" );
+
}
void HYDROGUI_Module::createMenus()
case SubmersibleId:
anOp = new HYDROGUI_SubmersibleOp( aModule );
break;
+ case UnSubmersibleId:
+ anOp = new HYDROGUI_UnSubmersibleOp( aModule );
+ break;
case PolylineExtractionId:
anOp = new HYDROGUI_PolylineExtractionOp( aModule );
break;
case LandCoverScalarMapModeOffId:
anOp = new HYDROGUI_LandCoverColoringOp( aModule, theId );
break;
+ case RegenerateRegionColorsId:
+ anOp = new HYDROGUI_RegenerateRegionColorsOp( aModule );
}
if( !anOp )
RecognizeContoursId,
SubmersibleId,
+ UnSubmersibleId,
ImportPolylineId,
ImportSinusXId,
ExportSinusXId,
BathymetryRescaleDefaultId,
ShowHideArrows,
+ RegenerateRegionColorsId
};
#endif
theUpdateFlags = 0;
if( isOK )
{
- myObject->SetIsSubmersible( !myObject->IsSubmersible() );
+ bool IsSubmersible = myObject->IsSubmersible();
+ if (!IsSubmersible)
+ myObject->SetIsSubmersible( true );
theUpdateFlags = 0;
}
return isOK;
return 0;
}
-
+static bool GetCalCaseSubT(const QString& aHydroPref,
+ const QString& anEntry,
+ const QString& SubTPostFix,
+ HYDROGUI_DataModel* aModel,
+ Handle(HYDROData_CalculationCase)& theOutCalCase)
+{
+ int aFiB = anEntry.lastIndexOf(SubTPostFix, -1, Qt::CaseInsensitive);
+ if (aFiB != -1)
+ {
+ QString RightTruncEntry = anEntry.left(anEntry.length() - SubTPostFix.length());
+ Handle(HYDROData_CalculationCase) CalCase =
+ Handle(HYDROData_CalculationCase)::DownCast (aModel->objectByEntry( RightTruncEntry, KIND_CALCULATION ));
+ if (CalCase)
+ {
+ theOutCalCase = CalCase;
+ return true;
+ }
+ else
+ return false;
+ }
+ return false;
+}
void HYDROGUI_Tool::SetActiveViewManager( HYDROGUI_Module* theModule,
SUIT_ViewManager* theViewManager )
return KIND_UNKNOWN;
}
+bool HYDROGUI_Tool::IsSelectedPartOfCalcCase( HYDROGUI_Module* theModule, Handle(HYDROData_CalculationCase)& theOutCalCase,
+ QString& theOutPart)
+{
+ HYDROGUI_DataModel* aModel = theModule->getDataModel();
+ SUIT_SelectionMgr* aSelectionMgr = theModule->getApp()->selectionMgr();
+ SUIT_DataOwnerPtrList anOwners;
+ aSelectionMgr->selected( anOwners );
+ if( anOwners.size() != 1 )
+ return false;
+
+ LightApp_DataOwner* anOwner = dynamic_cast<LightApp_DataOwner*>( anOwners.first().operator->() );
+ if( anOwner )
+ {
+ QString anEntry = anOwner->entry();
+ QString aHydroPref = "_" + HYDROGUI_DataObject::entryPrefix();
+ //
+ QString aPostFixBoundary = aHydroPref + HYDROGUI_DataModel::tr("CASE_BOUNDARY");
+ if (GetCalCaseSubT(anEntry, anEntry, aPostFixBoundary, aModel, theOutCalCase ))
+ {
+ theOutPart = HYDROGUI_DataModel::tr("CASE_BOUNDARY");
+ theOutPart.toUpper();
+ return true;
+ }
+ //
+ QString aPostFixAO = aHydroPref +
+ HYDROGUI_DataModel::tr( HYDROGUI_DataModel::partitionName( KIND_ARTIFICIAL_OBJECT ).toLatin1().constData());
+ if (GetCalCaseSubT(anEntry, anEntry, aPostFixAO, aModel, theOutCalCase ))
+ {
+ aPostFixAO.remove(0, aHydroPref.length());
+ theOutPart = aPostFixAO;
+ return true;
+ }
+ //
+ QString aPostFixNO = aHydroPref +
+ HYDROGUI_DataModel::tr( HYDROGUI_DataModel::partitionName( KIND_NATURAL_OBJECT ).toLatin1().constData());
+ if (GetCalCaseSubT(anEntry, anEntry, aPostFixNO, aModel, theOutCalCase ))
+ {
+ aPostFixNO.remove(0, aHydroPref.length());
+ theOutPart = aPostFixNO;
+ return true;
+ }
+ //
+ QString aPostFixLCM = aHydroPref +
+ HYDROGUI_DataModel::tr( HYDROGUI_DataModel::partitionName( KIND_LAND_COVER_MAP ).toLatin1().constData());
+ if (GetCalCaseSubT(anEntry, anEntry, aPostFixLCM, aModel, theOutCalCase ))
+ {
+ aPostFixLCM.remove(0, aHydroPref.length());
+ theOutPart = aPostFixLCM;
+ return true;
+ }
+ //
+ QString aPostFixReg = aHydroPref +
+ HYDROGUI_DataModel::tr( HYDROGUI_DataModel::partitionName( KIND_REGION ).toLatin1().constData());
+ if (GetCalCaseSubT(anEntry, anEntry, aPostFixReg, aModel, theOutCalCase ))
+ {
+ aPostFixReg.remove(0, aHydroPref.length());
+ theOutPart = aPostFixReg;
+ return true;
+ }
+ //
+ }
+ return false;
+}
QStringList HYDROGUI_Tool::GetSelectedGeomObjects( HYDROGUI_Module* theModule,
QList<GEOM::shape_type> theTypes )
class GraphicsView_ViewPort;
class OCCViewer_ViewFrame;
class HYDROData_Document;
+class HYDROData_CalculationCase;
namespace HYDROGUI_Tool
{
ObjectKind GetSelectedPartition( HYDROGUI_Module* theModule );
+ bool IsSelectedPartOfCalcCase( HYDROGUI_Module* theModule, Handle(HYDROData_CalculationCase)& theOutCalCase,
+ QString& theOutPart);
+
Handle(HYDROData_Entity) FindObjectByName( HYDROGUI_Module* theModule,
const QString& theName,
const ObjectKind theObjectKind = KIND_UNKNOWN );
--- /dev/null
+// Copyright (C) 2014-2015 EDF-R&D
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#include <HYDROGUI_UnSubmersibleOp.h>
+#include <HYDROGUI_Tool2.h>
+#include <HYDROGUI_Module.h>
+
+HYDROGUI_UnSubmersibleOp::HYDROGUI_UnSubmersibleOp( HYDROGUI_Module* theModule )
+ : HYDROGUI_Operation( theModule )
+{
+}
+
+HYDROGUI_UnSubmersibleOp::~HYDROGUI_UnSubmersibleOp()
+{
+}
+
+void HYDROGUI_UnSubmersibleOp::startOperation()
+{
+ HYDROGUI_Operation::startOperation();
+ myObject = Handle(HYDROData_Object)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
+ if( myObject.IsNull() )
+ onCancel();
+ else
+ onApply();
+}
+
+bool HYDROGUI_UnSubmersibleOp::processApply( int& theUpdateFlags, QString& theErrorMsg, QStringList& theBrowseObjectsEntries )
+{
+ theUpdateFlags = 0;
+ if( !myObject.IsNull() )
+ {
+ bool IsSubmersible = myObject->IsSubmersible();
+ if (IsSubmersible)
+ myObject->SetIsSubmersible( false );
+ return true;
+ }
+ return false;
+}
+
--- /dev/null
+// Copyright (C) 2014-2015 EDF-R&D
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#ifndef HYDROGUI_UNSubmersibleOP_H
+#define HYDROGUI_UNSubmersibleOP_H
+
+#include <HYDROGUI_Operation.h>
+#include <HYDROData_Object.h>
+
+class HYDROGUI_UnSubmersibleOp : public HYDROGUI_Operation
+{
+ Q_OBJECT
+
+public:
+ HYDROGUI_UnSubmersibleOp( HYDROGUI_Module* theModule );
+ virtual ~HYDROGUI_UnSubmersibleOp();
+
+protected:
+ virtual void startOperation();
+ virtual bool processApply( int& theUpdateFlags, QString& theErrorMsg,
+ QStringList& theBrowseObjectsEntries );
+
+private:
+ Handle(HYDROData_Object) myObject;
+};
+
+#endif
--- /dev/null
+// Copyright (C) 2014-2015 EDF-R&D
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#include <HYDROGUI_ZoneTool.h>
+#include <HYDROData_Zone.h>
+#include <QColor>
+
+int randHue( int theHue )
+{
+ if( theHue>=0 && theHue<360 )
+ return theHue;
+ else
+ return rand()%360;
+}
+
+int randValue( int theMin, int theMax )
+{
+ return theMin + rand()%(theMax-theMin);
+}
+
+void AssignDefaultColor( const Handle(HYDROData_Zone)& theZone,
+ int theHue, int theSMargin, int theBMargin )
+{
+ int aHue = randHue( theHue );
+ int aSat = randValue( theSMargin, 255 );
+ int aBri = randValue( theBMargin, 255-theBMargin );
+
+ QColor aColor = QColor::fromHsl( aHue, aSat, aBri );
+ theZone->SetColor( aColor );
+}
+
+namespace HYDROGUI_ZoneTool {
+
+void AssignDefaultColors( const QList<Handle(HYDROData_Region)>& theRegions, int theSMargin, int theBMargin )
+{
+ foreach( Handle(HYDROData_Region) region, theRegions )
+ AssignDefaultColors( region, theSMargin, theBMargin );
+}
+
+void AssignDefaultColors( const Handle(HYDROData_Region)& theRegion, int theSMargin, int theBMargin )
+{
+ int aHue = randHue( -1 );
+ HYDROData_SequenceOfObjects zones = theRegion->GetZones();
+ HYDROData_SequenceOfObjects::Iterator zonesIt( zones );
+ for( ; zonesIt.More(); zonesIt.Next() )
+ {
+ Handle(HYDROData_Zone) aZone =
+ Handle(HYDROData_Zone)::DownCast( zonesIt.Value() );
+ AssignDefaultColor( aZone, aHue, theSMargin, theBMargin );
+ }
+}
+
+void AssignDefaultColors( const HYDROData_SequenceOfObjects& theRegions, int theSMargin, int theBMargin )
+{
+ for ( int i = 1; i <= theRegions.Length(); i++ )
+ AssignDefaultColors( Handle(HYDROData_Region)::DownCast(theRegions(i)), theSMargin, theBMargin );
+}
+
+};
--- /dev/null
+// Copyright (C) 2014-2015 EDF-R&D
+// 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, 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
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#ifndef HYDROGUI_ZoneTool_H
+#define HYDROGUI_ZoneTool_H
+
+#include <HYDROData_Region.h>
+
+namespace HYDROGUI_ZoneTool
+{
+ void AssignDefaultColors( const QList<Handle(HYDROData_Region)>&, int theSMargin = 128, int theBMargin = 90 );
+ void AssignDefaultColors( const Handle(HYDROData_Region)&, int theSMargin = 128, int theBMargin = 90 );
+ void AssignDefaultColors( const HYDROData_SequenceOfObjects& theRegions, int theSMargin = 128, int theBMargin = 90 );
+};
+
+
+#endif
<source>SUBMERSIBLE_ICO</source>
<translation>icon_submersible.png</translation>
</message>
+ <message>
+ <source>HYDRO_UNSUBMERSIBLE_ICO</source>
+ <translation>icon_unsubmersible.png</translation>
+ </message>
+ <message>
+ <source>HYDRO_UNSUBMERSIBLE16_ICO</source>
+ <translation>icon_unsumb_16.png</translation>
+ </message>
+ <message>
+ <source>HYDRO_SUBMERSIBLE16_ICO</source>
+ <translation>icon_sumb_16.png</translation>
+ </message>
<!-- Icons for objects -->
<source>HYDRO_TYPE5_ICO</source>
<translation>icon_imm_zone.png</translation>
</message>
+ <message>
+ <source>HYDRO_TYPE5U_ICO</source>
+ <translation>icon_imm_uns_zone.png</translation>
+ </message>
<message>
<source>HYDRO_TYPE6_ICO</source>
<translation>icon_river.png</translation>
<source>HYDRO_M_TYPE5_ICO</source>
<translation>icon_mimm_zone.png</translation>
</message>
+ <message>
+ <source>HYDRO_M_TYPE5U_ICO</source>
+ <translation>icon_mimm_uns_zone.png</translation>
+ </message>
<message>
<source>HYDRO_M_TYPE6_ICO</source>
<translation>icon_mriver.png</translation>
<source>DSK_SUBMERSIBLE</source>
<translation>Submersible</translation>
</message>
+ <message>
+ <source>DSK_UNSUBMERSIBLE</source>
+ <translation>Unsubmersible</translation>
+ </message>
<message>
<source>DSK_EXPORT_TO_SHAPE_FILE</source>
<translation>Export</translation>
<source>MEN_SUBMERSIBLE</source>
<translation>Submersible</translation>
</message>
+ <message>
+ <source>MEN_UNSUBMERSIBLE</source>
+ <translation>Unsubmersible</translation>
+ </message>
<message>
<source>MEN_EXPORT_TO_SHAPE_FILE</source>
<translation>Export</translation>
<source>MEN_POLYLINE_EXTRACTION</source>
<translation>Polyline extraction</translation>
</message>
+ <message>
+ <source>MEN_REGENERATE_REGION_COLORS</source>
+ <translation>Regenerate region colors</translation>
+ </message>
<message>
<source>STB_CREATE_CALCULATION</source>
<source>STB_SUBMERSIBLE</source>
<translation>If the object is submersible</translation>
</message>
+ <message>
+ <source>STB_UNSUBMERSIBLE</source>
+ <translation>If the object is non submersible</translation>
+ </message>
<message>
<source>STB_EXPORT_TO_SHAPE_FILE</source>
<translation>Export</translation>
../HYDROGUI/HYDROGUI_ListSelector.cxx
../HYDROGUI/HYDROGUI_OrderedListWidget.cxx
../HYDROGUI/HYDROGUI_Overview.cxx
+ ../HYDROGUI/HYDROGUI_ZoneTool.cxx
../HYDROGUI/HYDROGUI_ProfileDlg.cxx
../HYDROGUI/HYDROGUI_ViewerDlg.cxx
../HYDROGUI/HYDROGUI_AISTrihedron.cxx
../HYDROGUI/HYDROGUI_ListSelector.h
../HYDROGUI/HYDROGUI_OrderedListWidget.h
../HYDROGUI/HYDROGUI_Overview.h
+ ../HYDROGUI/HYDROGUI_ZoneTool.h
../HYDROGUI/HYDROGUI_ProfileDlg.h
../HYDROGUI/HYDROGUI_ViewerDlg.h
)
bathy_rescaled_visible.png
bathy_text_labels.png
bathy_prs_fit_selected.png
+ zone_random_colors.png
)
# Application tests