X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_RiverBottomDlg.cxx;h=2ca6d905b6a74ea417063a852a74352614e5bbe9;hb=d6e19029f8b41f295db878e9aecf451c2edda4af;hp=8a0c9094c840c274e54109a2cc3c979d61568afc;hpb=7e11c53f099ac1d312e9e8580b98f76783b862ae;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_RiverBottomDlg.cxx b/src/HYDROGUI/HYDROGUI_RiverBottomDlg.cxx index 8a0c9094..2ca6d905 100644 --- a/src/HYDROGUI/HYDROGUI_RiverBottomDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_RiverBottomDlg.cxx @@ -1,8 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// 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 @@ -25,23 +21,32 @@ #include "HYDROGUI_Tool.h" #include "HYDROGUI_ObjComboBox.h" +#include +#include + #include #include #include #include HYDROGUI_RiverBottomDlg::HYDROGUI_RiverBottomDlg( HYDROGUI_Module* theModule, const QString& theTitle ) - : HYDROGUI_InputPanel( theModule, theTitle ) + : HYDROGUI_InputPanel( theModule, theTitle ), + HYDROGUI_ObjComboBoxFilter() { // Channel name QGroupBox* group = new QGroupBox( mainFrame() ); QBoxLayout* base = new QVBoxLayout( group ); - base->addWidget( myRivers = new HYDROGUI_ObjComboBox( theModule, tr( "RIVER_OBJECT" ), KIND_STREAM, group ) ); + base->addWidget( myRivers = new HYDROGUI_ObjComboBox( theModule, tr( "STREAM_OBJECT" ), KIND_STREAM, group ) ); + myRivers->setObjectFilter( this ); addWidget( group ); addStretch(); + + connect( myRivers, SIGNAL( objectSelected( const QString& ) ), this, SLOT( onRiverChanged( const QString& ) ) ); + + updateState(); } HYDROGUI_RiverBottomDlg::~HYDROGUI_RiverBottomDlg() @@ -55,6 +60,8 @@ void HYDROGUI_RiverBottomDlg::reset() myRivers->reset(); blockSignals( isBlocked ); + + updateState(); } QString HYDROGUI_RiverBottomDlg::getRiverName() const @@ -66,3 +73,19 @@ void HYDROGUI_RiverBottomDlg::setRiverName( const QString& theName ) { myRivers->setSectedObject( theName ); } + +bool HYDROGUI_RiverBottomDlg::isOk( const Handle(HYDROData_Entity)& theEntity ) const +{ + Handle(HYDROData_Stream) aStream = Handle(HYDROData_Stream)::DownCast(theEntity); + return !aStream.IsNull() && aStream->GetBottomPolyline().IsNull(); +} + +void HYDROGUI_RiverBottomDlg::onRiverChanged( const QString& ) +{ + updateState(); +} + +void HYDROGUI_RiverBottomDlg::updateState() +{ + setApplyEnabled( !getRiverName().isEmpty() ); +}