X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_PolylineDlg.cxx;h=abbd6ae4850f1c7f001de1df568cbb0b18dd33aa;hb=a1431f03eac1d1aed4203d0568d987c41ce939b3;hp=40a831d80db3cab3a7a59f1fe96dfed29b8fc29d;hpb=a502bc91af765db8df39ed99c321af63631ec2c4;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_PolylineDlg.cxx b/src/HYDROGUI/HYDROGUI_PolylineDlg.cxx index 40a831d8..abbd6ae4 100755 --- a/src/HYDROGUI/HYDROGUI_PolylineDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_PolylineDlg.cxx @@ -24,8 +24,11 @@ #include "HYDROGUI_Module.h" #include -#include +#include +#include + +#include #include #include #include @@ -34,37 +37,60 @@ HYDROGUI_PolylineDlg::HYDROGUI_PolylineDlg( HYDROGUI_Module* theModule, const QS : HYDROGUI_InputPanel( theModule, theTitle ), myName(NULL) { QHBoxLayout* aNameLayout = new QHBoxLayout(); - QLabel* aNameLabel = new QLabel(tr("CURVE_NAME_TLT"), this); + QLabel* aNameLabel = new QLabel(tr("POLYLINE_NAME_TLT"), this); aNameLayout->addWidget(aNameLabel); myName = new QLineEdit(this); aNameLayout->addWidget(myName); addLayout(aNameLayout); - myEditorWidget = - new CurveCreator_Widget( this, NULL ); + myEditorWidget = new CurveCreator_Widget( this, NULL ); + addWidget( myEditorWidget, 3 ); + + myAddElementBox = new QGroupBox( tr( "ADD_ELEMENT" ), this ); + addWidget( myAddElementBox, 2 ); - addWidget( myEditorWidget ); + QBoxLayout* anAddElementLayout = new QVBoxLayout( myAddElementBox ); + anAddElementLayout->setMargin( 0 ); + anAddElementLayout->setSpacing( 5 ); connect( myEditorWidget, SIGNAL( selectionChanged() ), this, SIGNAL( selectionChanged() ) ); - connect( myEditorWidget, SIGNAL( subOperationStarted(QWidget*) ), this, SLOT( processStartedSubOperation(QWidget*) ) ); + connect( myEditorWidget, SIGNAL( subOperationStarted(QWidget*, bool) ), this, SLOT( processStartedSubOperation(QWidget*, bool) ) ); connect( myEditorWidget, SIGNAL( subOperationFinished(QWidget*) ), this, SLOT( processFinishedSubOperation(QWidget*) ) ); + + myAddElementBox->hide(); } HYDROGUI_PolylineDlg::~HYDROGUI_PolylineDlg() { } -void HYDROGUI_PolylineDlg::processStartedSubOperation( QWidget* theWidget ) +void HYDROGUI_PolylineDlg::setOCCViewer( OCCViewer_Viewer* theViewer ) +{ + myEditorWidget->setOCCViewer( theViewer ); +} + +void HYDROGUI_PolylineDlg::processStartedSubOperation( QWidget* theWidget, bool theIsEdit ) { myEditorWidget->setEnabled( false ); - activateWidget( theWidget ); + + myAddElementBox->setTitle( theIsEdit ? tr( "EDIT_ELEMENT" ) : tr( "ADD_ELEMENT" ) ); + QBoxLayout* anAddElementLayout = dynamic_cast( myAddElementBox->layout() ); + anAddElementLayout->addWidget( theWidget ); + + theWidget->show(); + myAddElementBox->show(); } void HYDROGUI_PolylineDlg::processFinishedSubOperation( QWidget* theWidget ) { myEditorWidget->setEnabled( true ); - activateWidget( 0 ); + + QBoxLayout* anAddElementLayout = dynamic_cast( myAddElementBox->layout() ); + anAddElementLayout->removeWidget( theWidget ); + + theWidget->hide(); + myAddElementBox->hide(); } void HYDROGUI_PolylineDlg::reset() @@ -81,7 +107,7 @@ QString HYDROGUI_PolylineDlg::getPolylineName() const return myName->text(); } -void HYDROGUI_PolylineDlg::setCurve( CurveCreator_Curve* theCurve ) +void HYDROGUI_PolylineDlg::setCurve( CurveCreator_ICurve* theCurve ) { myEditorWidget->setCurve( theCurve ); } @@ -91,7 +117,18 @@ QList HYDROGUI_PolylineDlg::getSelectedSections() return myEditorWidget->getSelectedSections(); } -QList< QPair< int, int > > HYDROGUI_PolylineDlg::getSelectedPoints() +/** + * Redirect the delete action to editor widget + */ +void HYDROGUI_PolylineDlg::deleteSelected() +{ + myEditorWidget->removeSelected(); +} + +/** + * Checks whether there are some to delete + */ +bool HYDROGUI_PolylineDlg::deleteEnabled() { - return myEditorWidget->getSelectedPoints(); + return myEditorWidget->removeEnabled(); }