X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_StreamDlg.cxx;h=8b4f7050fada1831bd6eaeec0962f11f574f2cbc;hb=298c1759f9b1d4a7dc316742b7a13008eb4234e1;hp=cc8ba0f8ec3ac368fab96e1ce35363f9d4d86150;hpb=7293e4989b4e85a3531cd6c77b14e5129ee617aa;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_StreamDlg.cxx b/src/HYDROGUI/HYDROGUI_StreamDlg.cxx index cc8ba0f8..8b4f7050 100644 --- a/src/HYDROGUI/HYDROGUI_StreamDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_StreamDlg.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 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 -// version 2.1 of the License. +// 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 @@ -49,14 +45,14 @@ HYDROGUI_StreamDlg::HYDROGUI_StreamDlg( HYDROGUI_Module* theModule, const QStrin // Stream parameters QGroupBox* aParamGroup = new QGroupBox( tr( "STREAM_PARAMETERS" ), mainFrame() ); - myAxises = new QComboBox( aParamGroup ); - myAxises->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); + myAxes = new QComboBox( aParamGroup ); + myAxes->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) ); QBoxLayout* anAxisLayout = new QHBoxLayout(); anAxisLayout->addWidget( new QLabel( tr( "STREAM_HYDRAULIC_AXIS" ) ) ); - anAxisLayout->addWidget( myAxises ); + anAxisLayout->addWidget( myAxes ); myProfiles = new QListWidget( aParamGroup ); - myProfiles->setSelectionMode( QListWidget::MultiSelection ); + myProfiles->setSelectionMode( QListWidget::ExtendedSelection ); myProfiles->setEditTriggers( QListWidget::NoEditTriggers ); myProfiles->setViewMode( QListWidget::ListMode ); myProfiles->setSortingEnabled( false ); @@ -85,7 +81,7 @@ HYDROGUI_StreamDlg::HYDROGUI_StreamDlg( HYDROGUI_Module* theModule, const QStrin addStretch(); // Connect signals and slots - connect( myAxises, SIGNAL( currentIndexChanged( const QString & ) ), + connect( myAxes, SIGNAL( currentIndexChanged( const QString & ) ), this, SIGNAL( AxisChanged( const QString& ) ) ); connect( myAddButton, SIGNAL( clicked() ), this, SIGNAL( AddProfiles() ) ); connect( myRemoveButton, SIGNAL( clicked() ), this, SLOT( onRemoveProfiles() ) ); @@ -101,13 +97,12 @@ void HYDROGUI_StreamDlg::reset() myObjectName->clear(); - myAxises->clear(); + myAxes->clear(); myProfiles->clear(); myAddButton->setEnabled( false ); + myRemoveButton->setEnabled( false ); blockSignals( isBlocked ); - - onStreamDefChanged(); } void HYDROGUI_StreamDlg::setObjectName( const QString& theName ) @@ -124,76 +119,47 @@ void HYDROGUI_StreamDlg::setAxisNames( const QStringList& theAxises ) { bool isBlocked = blockSignals( true ); - myAxises->clear(); - myAxises->addItems( theAxises ); + myAxes->clear(); + myAxes->addItems( theAxises ); blockSignals( isBlocked ); } void HYDROGUI_StreamDlg::setAxisName( const QString& theName ) { - myAddButton->setEnabled( !myAxises->currentText().isEmpty() ); + bool isBlocked = blockSignals( true ); - int aNewIdx = myAxises->findText( theName ); - if ( aNewIdx != myAxises->currentIndex() ) - { - myAxises->setCurrentIndex( aNewIdx ); - } - else - { - onStreamDefChanged(); + int aNewId = myAxes->findText( theName ); + if ( aNewId != myAxes->currentIndex() ) { + myAxes->setCurrentIndex( aNewId ); } + myAddButton->setEnabled( myAxes->currentIndex() > -1 ); + + blockSignals( isBlocked ); } QString HYDROGUI_StreamDlg::getAxisName() const { - return myAxises->currentText(); + return myAxes->currentText(); } -void HYDROGUI_StreamDlg::setSelectedProfiles( const QStringList& theProfiles ) +void HYDROGUI_StreamDlg::setProfiles( const QStringList& theProfiles ) { bool isBlocked = blockSignals( true ); myProfiles->setUpdatesEnabled( false ); myProfiles->clear(); - for ( int i = 0, n = theProfiles.length(); i < n; ++i ) - { - const QString& aProfileName = theProfiles.at( i ); + foreach ( const QString& aProfileName, theProfiles ) { QListWidgetItem* aListItem = new QListWidgetItem( aProfileName, myProfiles ); aListItem->setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable ); } + myRemoveButton->setEnabled( myProfiles->count() > 0 ); + myProfiles->setUpdatesEnabled( true ); blockSignals( isBlocked ); - - onStreamDefChanged(); -} - -QStringList HYDROGUI_StreamDlg::getSelectedProfiles() const -{ - QStringList aProfiles; - - for ( int i = 0, n = myProfiles->count(); i < n; ++i ) - { - QListWidgetItem* aListItem = myProfiles->item( i ); - if ( !aListItem ) - continue; - - QString aProfileName = aListItem->text(); - aProfiles << aProfileName; - } - - return aProfiles; -} - -void HYDROGUI_StreamDlg::onStreamDefChanged() -{ - if ( signalsBlocked() ) - return; - - emit CreatePreview(); } void HYDROGUI_StreamDlg::onRemoveProfiles() @@ -208,7 +174,5 @@ void HYDROGUI_StreamDlg::onRemoveProfiles() } } - if ( !aSelectedProfiles.isEmpty() ) { - emit RemoveProfiles( aSelectedProfiles ); - } + emit RemoveProfiles( aSelectedProfiles ); }