]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
refs #1332: dynamic layout for profiles dialog
authorasl <asl@opencascade.com>
Wed, 27 Sep 2017 14:13:38 +0000 (17:13 +0300)
committerasl <asl@opencascade.com>
Wed, 27 Sep 2017 14:13:38 +0000 (17:13 +0300)
src/HYDROGUI/HYDROGUI_InputPanel.cxx
src/HYDROGUI/HYDROGUI_InputPanel.h
src/HYDROGUI/HYDROGUI_ProfileDlg.cxx
src/HYDROGUI/HYDROGUI_ViewerDlg.cxx

index 3ece51e833d035ddf097191de5307063ea39eb46..2c058db34d2c51fd795f034c1fcce0ac8b8cd34c 100644 (file)
@@ -124,16 +124,22 @@ void HYDROGUI_InputPanel::closeEvent ( QCloseEvent * event )
   emit panelCancel();
 }
 
+void HYDROGUI_InputPanel::insertWidget( QWidget* theWidget, int theIndex, int theStretch )
+{
+  QBoxLayout* aMainLayout = dynamic_cast<QBoxLayout*>( myMainFrame->layout() );
+  aMainLayout->insertWidget( theIndex, theWidget, theStretch );
+}
+
 void HYDROGUI_InputPanel::addWidget( QWidget* theWidget, int theStretch )
 {
   QBoxLayout* aMainLayout = dynamic_cast<QBoxLayout*>( myMainFrame->layout() );
   aMainLayout->addWidget( theWidget, theStretch );
 }
 
-void HYDROGUI_InputPanel::addLayout( QLayout* theLayout )
+void HYDROGUI_InputPanel::addLayout( QLayout* theLayout, int theStretch )
 {
   QBoxLayout* aMainLayout = dynamic_cast<QBoxLayout*>( myMainFrame->layout() );
-  aMainLayout->addLayout( theLayout );
+  aMainLayout->addLayout( theLayout, theStretch );
 }
 
 void HYDROGUI_InputPanel::addStretch()
index 414c13f91c222dd692964d1b7fcf9a5db07e75c8..351b3cdc6a5d18499a369935bc9a0602ef31ac5b 100644 (file)
@@ -40,7 +40,8 @@ public:
   virtual ~HYDROGUI_InputPanel();
 
   void addWidget( QWidget* theWidget, int theStretch = 0 );
-  void addLayout( QLayout* theLayout );
+  void insertWidget( QWidget* theWidget, int theIndex, int theStretch = 0 );
+  void addLayout( QLayout* theLayout, int theStretch = 0 );
   void addStretch();
 
   HYDROGUI_Module* module() const;
index 8e1ed22c9380adf6fbbc411f9694a0c8f6b5a576..98767efd651984ad9bddac0f88c88eb030672054 100644 (file)
@@ -45,13 +45,15 @@ HYDROGUI_ProfileDlg::HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QStr
 : HYDROGUI_ViewerDlg( theModule, theTitle ),
   myName( NULL )
 {
-  QHBoxLayout* aNameLayout = new QHBoxLayout();
+  QFrame* name_frame = new QFrame( mainFrame() );
+  QHBoxLayout* name_layout = new QHBoxLayout( name_frame );
+  name_layout->setMargin( 0 );
   QLabel* aNameLabel = new QLabel(tr("PROFILE_NAME_TLT"), this);
-  aNameLayout->addWidget(aNameLabel);
+  name_layout->addWidget(aNameLabel);
   myName = new QLineEdit(this);
-  aNameLayout->addWidget(myName);
+  name_layout->addWidget(myName);
 
-  addLayout(aNameLayout);
+  insertWidget( name_frame, 0, 0);
 
   int anActionFlags = 
     CurveCreator_Widget::DisableNewSection | CurveCreator_Widget::DisableDetectionMode |
@@ -59,10 +61,10 @@ HYDROGUI_ProfileDlg::HYDROGUI_ProfileDlg( HYDROGUI_Module* theModule, const QStr
   QStringList aCoordTitles;
   aCoordTitles << tr( "U_TITLE" ) << tr( "Z_TITLE" );
   myEditorWidget = new CurveCreator_Widget( this, NULL, anActionFlags, aCoordTitles );
-  addWidget( myEditorWidget, 3 );
+  insertWidget( myEditorWidget, 1, 1 );
 
   myAddElementBox = new QGroupBox( tr( "ADD_ELEMENT" ), this );
-  addWidget( myAddElementBox, 2 );
+  insertWidget( myAddElementBox, 2, 1 );
 
   QBoxLayout* anAddElementLayout = new QVBoxLayout( myAddElementBox );
   anAddElementLayout->setMargin( 0 );
index 8be7fa3739c21e284da2c3317c63a998de22025f..1a8a6c361e2999037a42efb7eb33cdd09f8e3cb3 100644 (file)
 HYDROGUI_ViewerDlg::HYDROGUI_ViewerDlg( HYDROGUI_Module* theModule, const QString& theTitle )
 : HYDROGUI_InputPanel( theModule, theTitle )
 {
-  QWidget* viewMain = new QWidget( mainFrame() );
-  QVBoxLayout* viewBase = new QVBoxLayout( viewMain );
-  viewBase->setMargin( 0 );
-
   SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr();
   myViewManager = new OCCViewer_ViewManager( theModule->getApp()->activeStudy(), 0 );
   OCCViewer_Viewer* aViewer = new OCCViewer_Viewer( true );
@@ -86,7 +82,7 @@ HYDROGUI_ViewerDlg::HYDROGUI_ViewerDlg( HYDROGUI_Module* theModule, const QStrin
     anAISContext->Deactivate( aTrihedron );
   }
   */
-  viewBase->addWidget( aViewWin );
+  addWidget( aViewWin, 1 );
 
   // Coordinates
   connect( myViewManager, SIGNAL( mouseMove( SUIT_ViewWindow*, QMouseEvent* ) ),
@@ -99,8 +95,8 @@ HYDROGUI_ViewerDlg::HYDROGUI_ViewerDlg( HYDROGUI_Module* theModule, const QStrin
       aViewFrame->getViewPort()->installEventFilter( this );
   }
 
-  myCoordLabel = new QLabel( viewMain );
-  viewBase->addWidget( myCoordLabel );
+  myCoordLabel = new QLabel( mainFrame() );
+  addWidget( myCoordLabel, 0 );
 }
 
 HYDROGUI_ViewerDlg::~HYDROGUI_ViewerDlg()