#include "HYDROGUI_ImportGeomObjectOp.h"
#include "HYDROGUI_ShowHideOp.h"
+#include <HYDROData_Tool.h>
#include <HYDROData_Image.h>
+#include <HYDROData_Stream.h>
#include <HYDROData_Profile.h>
#include <HYDROData_Lambert93.h>
-#include <HYDROData_Tool.h>
+#include <HYDROData_Polyline3D.h>
#include <HYDROData_OperationsFactory.h>
#include <SUIT_Study.h>
#include <SUIT_ViewManager.h>
#include <SUIT_ResourceMgr.h>
+#include <SUIT_Session.h>
#include <SVTK_ViewManager.h>
#include <SVTK_ViewModel.h>
bool anIsGroup = false;
bool anIsObjectCanBeColored = false;
bool isRoot = false;
+ bool isStreamHasBottom = false;
SUIT_SelectionMgr* aSelectionMgr = getApp()->selectionMgr();
SUIT_DataOwnerPtrList anOwners;
else if( anObjectKind == KIND_OBSTACLE )
anIsObstacle = true;
else if( anObjectKind == KIND_STREAM )
+ {
anIsStream = true;
+ Handle(HYDROData_Stream) aStream =
+ Handle(HYDROData_Stream)::DownCast( anObject );
+ if ( !aStream.IsNull() )
+ isStreamHasBottom = !aStream->GetBottomPolyline().IsNull();
+ }
else if( anObjectKind == KIND_CHANNEL )
anIsChannel = true;
else if( anObjectKind == KIND_DIGUE )
else if( anIsStream )
{
theMenu->addAction( action( EditStreamId ) );
+ if ( action( RiverBottomContextId ) )
+ {
+ theMenu->addAction( action( RiverBottomContextId ) );
+ action( RiverBottomContextId )->setEnabled( !isStreamHasBottom );
+ }
+ theMenu->addAction( action( ProfileInterpolateId ) );
theMenu->addSeparator();
}
else if( anIsChannel )
theMenu->addAction( action( EditLocalCSId ) );
}
+void HYDROGUI_Module::createPreferences()
+{
+ int genTab = addPreference( tr( "PREF_TAB_GENERAL" ) );
+ int CursorGroup = addPreference( tr( "PREF_GROUP_CURSOR" ), genTab );
+
+ int typeOfCursor = addPreference( tr( "PREF_TYPE_OF_CURSOR" ), CursorGroup,
+ LightApp_Preferences::Selector, "preferences", "type_of_cursor" );
+
+ // Set property cursor type
+ QList<QVariant> aCursorTypeIndicesList;
+ QList<QVariant> aCursorTypeIconsList;
+
+ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
+ for ( int i = CT_ArrowCursor; i < CT_User; i++ ) {
+ QString icoFile = QString( "ICON_CURSOR_%1" ).arg( i+1 );
+ QPixmap pixmap = resMgr->loadPixmap( "HYDRO", tr( qPrintable( icoFile ) ) );
+ aCursorTypeIndicesList << i;
+ aCursorTypeIconsList << pixmap;
+ }
+
+ setPreferenceProperty( typeOfCursor, "indexes", aCursorTypeIndicesList );
+ setPreferenceProperty( typeOfCursor, "icons", aCursorTypeIconsList );
+}
+
void HYDROGUI_Module::update( const int flags )
{
if( !isUpdateEnabled() )