]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESHGUI/SMESHGUI_aParameterDlg.cxx
Salome HOME
Join modifications from branch BR_3_1_0deb
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_aParameterDlg.cxx
diff --git a/src/SMESHGUI/SMESHGUI_aParameterDlg.cxx b/src/SMESHGUI/SMESHGUI_aParameterDlg.cxx
deleted file mode 100644 (file)
index 211b4f0..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-//  SMESH SMESHGUI : GUI for SMESH component
-//
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-//  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.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-//
-//
-//
-//  File   : SMESHGUI_aParameterDlg.cxx
-//  Author : Nicolas REJNERI
-//  Module : SMESH
-//  $Header$
-
-#include "SMESHGUI_aParameterDlg.h"
-#include "SMESHGUI_aParameter.h"
-#include "SMESHGUI.h"
-#include "SMESHGUI_SpinBox.h"
-#include "SMESHGUI_Utils.h"
-#include "SMESHGUI_FunctionPreview.h"
-
-#include "SUIT_Tools.h"
-#include "SUIT_Desktop.h"
-
-// QT Includes
-#include <qgroupbox.h>
-#include <qlabel.h>
-#include <qpushbutton.h>
-#include <qlayout.h>
-#include <qspinbox.h>
-#include <qvalidator.h>
-#include <qlineedit.h>
-
-using namespace std;
-
-//======================================================================================
-// function : SMESHGUI_aParameterDlg()
-//
-//  The dialog will by default be modal, unless you set 'modal' to
-//  false when constructing dialog
-//
-//======================================================================================
-SMESHGUI_aParameterDlg::SMESHGUI_aParameterDlg
-                                       ( SMESHGUI* theModule,
-                                        std::list<SMESHGUI_aParameterPtr> params,
-                                         QString                           title,
-                                         bool                              modal)
-: QDialog( SMESH::GetDesktop( theModule ), "MyParameterDialog", modal, WStyle_Customize |
-           WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu),          
-  myParamList(params),
-  mySMESHGUI(theModule)
-{
-  /* creating widgets */
-  init();
-  /* title */
-  setCaption(title);
-
-  /* Move widget on the botton right corner of main widget */
-  SUIT_Tools::centerWidget(this, SMESH::GetDesktop( theModule ) );
-}
-
-//======================================================================================
-// function : SMESHGUI_aParameterDlg::init()
-// purpose  : creates dialog's layout
-//======================================================================================
-void SMESHGUI_aParameterDlg::init()
-{
-  setSizeGripEnabled(TRUE);
-
-  QVBoxLayout* topLayout = new QVBoxLayout(this);
-  topLayout->setMargin(11); topLayout->setSpacing(6);
-
-  /***************************************************************/
-  QGroupBox* GroupC1 = new QGroupBox(this, "GroupC1");
-  GroupC1->setColumnLayout(0, Qt::Vertical);
-  GroupC1->layout()->setSpacing(0);
-  GroupC1->layout()->setMargin(0);
-  QGridLayout* GroupC1Layout = new QGridLayout(GroupC1->layout());
-  GroupC1Layout->setAlignment(Qt::AlignTop);
-  GroupC1Layout->setSpacing(6);
-  GroupC1Layout->setMargin(11);
-  /* Spin boxes with labels */
-  list<SMESHGUI_aParameterPtr>::iterator paramIt = myParamList.begin();
-  int row;
-  for( row = 0; paramIt != myParamList.end(); paramIt++ , row++)
-  {
-    SMESHGUI_aParameterPtr param = (*paramIt);
-    QLabel * label = new QLabel(GroupC1, "TextLabel");
-    GroupC1Layout->addWidget(label, row, 0);
-    label->setText(param->Label());
-    QWidget* aSpinWidget = param->CreateWidget( GroupC1 );
-    if (aSpinWidget) {
-      GroupC1Layout->addWidget(aSpinWidget, row, 1);
-      aSpinWidget->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum));
-      aSpinWidget->setMinimumSize(150, 0);
-
-      QString sig = param->sigValueChanged();
-      if( !sig.isEmpty() /*&& param->GetType()!=SMESHGUI_aParameter::TABLE*/ )
-        connect( aSpinWidget, sig.latin1(), this, SLOT( onValueChanged() ) );
-      
-      param->InitializeWidget(aSpinWidget);
-      mySpinList.push_back(aSpinWidget);
-      myLabelList.push_back(label);
-    }
-  }
-
-  myPreview = new SMESHGUI_FunctionPreview( GroupC1 );
-  myPreview->hide();
-  GroupC1Layout->addWidget( myPreview, row, 1 );
-
-  paramIt = myParamList.begin();
-  std::list<QWidget*>::const_iterator anIt = mySpinList.begin();
-  for( ; paramIt!=myParamList.end(); paramIt++, anIt++ )
-  {
-    (*paramIt)->TakeValue( *anIt );
-    UpdateShown( *paramIt, *anIt );
-    FunctionPreview( *paramIt, *anIt );
-  }
-
-  /***************************************************************/
-  QGroupBox* GroupButtons = new QGroupBox(this, "GroupButtons");
-  GroupButtons->setColumnLayout(0, Qt::Vertical);
-  GroupButtons->layout()->setSpacing(0);
-  GroupButtons->layout()->setMargin(0);
-  QGridLayout* GroupButtonsLayout = new QGridLayout(GroupButtons->layout());
-  GroupButtonsLayout->setAlignment(Qt::AlignTop);
-  GroupButtonsLayout->setSpacing(6);
-  GroupButtonsLayout->setMargin(11);
-  /* Ok button */
-  myButtonOk = new QPushButton(GroupButtons, "buttonOk");
-  myButtonOk->setText(tr("SMESH_BUT_OK"));
-  myButtonOk->setAutoDefault(TRUE);
-  myButtonOk->setDefault(TRUE);
-  GroupButtonsLayout->addWidget(myButtonOk, 0, 0);
-  /* add spacer between buttons */
-  GroupButtonsLayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum), 0, 1);
-  /* Cancel button */
-  myButtonCancel = new QPushButton(GroupButtons, "buttonCancel");
-  myButtonCancel->setText(tr("SMESH_BUT_CANCEL"));
-  myButtonCancel->setAutoDefault(TRUE);
-  GroupButtonsLayout->addWidget(myButtonCancel, 0, 2);
-
-  /***************************************************************/
-  topLayout->addWidget(GroupC1,      1 );
-  topLayout->addWidget(GroupButtons, 0 );
-
-  /* signals and slots connections */
-  connect(myButtonOk,     SIGNAL(clicked()), this, SLOT(ClickOnOk()));
-  connect(myButtonCancel, SIGNAL(clicked()), this, SLOT(reject()));
-}
-
-//======================================================================================
-// function : ~SMESHGUI_aParameterDlg()
-// purpose  : Destructor
-//======================================================================================
-SMESHGUI_aParameterDlg::~SMESHGUI_aParameterDlg()
-{
-}
-
-//=======================================================================
-//function : ClickOnOk
-//purpose  :
-//=======================================================================
-void SMESHGUI_aParameterDlg::ClickOnOk()
-{
-  if (!mySMESHGUI->isActiveStudyLocked()) {
-    list<SMESHGUI_aParameterPtr>::iterator paramIt  = myParamList.begin();
-    list<QWidget*>::iterator               widgetIt = mySpinList.begin();
-    for (;
-         paramIt != myParamList.end() && widgetIt != mySpinList.end();
-         paramIt++ , widgetIt++)
-      (*paramIt)->TakeValue(*widgetIt);
-
-    accept();
-  }
-}
-
-//=======================================================================
-// function : Parameters()
-// purpose  : return a list of parameters from a dialog box
-//=======================================================================
-bool SMESHGUI_aParameterDlg::Parameters( SMESHGUI* theModule, 
-                                        list<SMESHGUI_aParameterPtr> params,
-                                         const char *aTitle)
-{
-  if (!params.empty()) {
-    SMESHGUI_aParameterDlg *Dialog =
-      new SMESHGUI_aParameterDlg( theModule, params, aTitle, TRUE);
-    return (Dialog->exec() == QDialog::Accepted);
-  }
-  return false;
-}
-
-//=======================================================================
-// function : FunctionPreview
-// purpose  : 
-//=======================================================================
-void SMESHGUI_aParameterDlg::FunctionPreview( const SMESHGUI_aParameterPtr p, QWidget* w )
-{
-  if( !w || !w->isShown() )
-    return;
-
-  SMESHGUI_strParameter* str_param = dynamic_cast<SMESHGUI_strParameter*>( p.operator->() );
-  SMESHGUI_tableParameter* tab_param = dynamic_cast<SMESHGUI_tableParameter*>( p.operator->() );
-  SMESHGUI_boolParameter* bool_param = dynamic_cast<SMESHGUI_boolParameter*>( p.operator->() );
-  if( str_param && str_param->needPreview() )
-  {
-    QString val; str_param->GetNewText( val );
-    if( !val.isNull() )
-      myPreview->setParams( val );
-  }
-  else if( tab_param && tab_param->needPreview() )
-  {
-    SMESH::double_array d;
-    tab_param->data( d );
-    myPreview->setParams( d );
-  }
-  else if( bool_param && bool_param->needPreview() )
-  {
-    int exp=0;
-    bool_param->GetNewInt( exp );
-    myPreview->setIsExp( exp );
-  }
-}
-
-//=======================================================================
-// function : onValueChanged
-// purpose  : 
-//=======================================================================
-void SMESHGUI_aParameterDlg::onValueChanged()
-{
-  if( sender()->inherits( "QWidget" ) )
-  {
-    QWidget* w = ( QWidget* )sender();
-
-
-    std::list<QWidget*>::const_iterator anIt = mySpinList.begin(),
-                                        aLast = mySpinList.end();
-    std::list<SMESHGUI_aParameterPtr>::const_iterator aPIt = myParamList.begin();
-    for( ; anIt!=aLast; anIt++, aPIt++ )
-      if( *anIt == w )
-      {
-        (*aPIt)->TakeValue( w );
-        UpdateShown( *aPIt, w );
-       FunctionPreview( *aPIt, w );
-        break;
-      }
-  }
-}
-
-//=======================================================================
-// function : onValueChanged
-// purpose  :
-//=======================================================================
-void SMESHGUI_aParameterDlg::UpdateShown( const SMESHGUI_aParameterPtr param, QWidget* w )
-{
-  SMESHGUI_dependParameter* depPar = dynamic_cast<SMESHGUI_enumParameter*>( param.get() );
-  if( !depPar )
-    depPar = dynamic_cast<SMESHGUI_boolParameter*>( param.get() );
-
-  if( !depPar )
-    return;
-
-  SMESHGUI_dependParameter::ShownMap& map = depPar->shownMap();
-  if( map.isEmpty() )
-    return;
-
-  int val;
-  depPar->TakeValue( w );
-  depPar->GetNewInt( val );
-  bool hasValue = map.contains( val );
-
-  std::list<QWidget*>::const_iterator anIt = mySpinList.begin(),
-                                      aLast = mySpinList.end(),
-                                      aLIt = myLabelList.begin();
-  std::list<SMESHGUI_aParameterPtr>::iterator aPIt = myParamList.begin();
-  bool preview = false;
-  for( int i=0; anIt!=aLast; anIt++, aLIt++, i++, aPIt++ )
-  {
-    bool shown = hasValue && map[ val ].contains( i );
-    (*anIt)->setShown( shown );
-    (*aLIt)->setShown( shown );
-    if( shown )
-    {
-      SMESHGUI_strParameter* str_param = dynamic_cast<SMESHGUI_strParameter*>( (*aPIt).operator->() );
-      SMESHGUI_tableParameter* tab_param = dynamic_cast<SMESHGUI_tableParameter*>( (*aPIt).operator->() );
-      preview = preview || ( str_param && str_param->needPreview() ) || ( tab_param && tab_param->needPreview() );
-    }
-  }
-  myPreview->setShown( preview );
-}