Version: 6.3.1
Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Private Slots | Private Member Functions | Private Attributes

SMESHGUI_ScaleDlg Class Reference

#include <SMESHGUI_ScaleDlg.h>

Inheritance diagram for SMESHGUI_ScaleDlg:
Inheritance graph
[legend]

Public Member Functions

 SMESHGUI_ScaleDlg (SMESHGUI *)
 ~SMESHGUI_ScaleDlg ()
void showPreview ()
void hidePreview ()

Protected Slots

virtual void onDisplaySimulation (bool)
void toDisplaySimulation ()

Protected Member Functions

void connectPreviewControl ()
virtual void setIsApplyAndClose (const bool theFlag)
virtual bool isApplyAndClose () const

Protected Attributes

SMESHGUImySMESHGUI
SMESHGUI_MeshEditPreviewmySimulation
QCheckBox * myPreviewCheckBox
bool myIsApplyAndClose

Private Slots

void ConstructorsClicked (int)
void ClickOnOk ()
void ClickOnCancel ()
bool ClickOnApply ()
void ClickOnHelp ()
void SetEditCurrentArgument ()
void SelectionIntoArgument ()
void DeactivateActiveDialog ()
void ActivateThisDialog ()
void onTextChange (const QString &)
void onSelectMesh (bool)
void onActionClicked (int)
void setFilters ()

Private Member Functions

void Init (bool=true)
void closeEvent (QCloseEvent *)
void enterEvent (QEvent *)
void hideEvent (QHideEvent *)
void keyPressEvent (QKeyEvent *)
int GetConstructorId ()
void setNewMeshName ()
bool isValid ()
void getScale (SMESH::PointStruct &thePoint, SMESH::double_array_var &theScaleFact)

Private Attributes

SMESHGUI_IdValidatormyIdValidator
LightApp_SelectionMgr * mySelectionMgr
QString myElementsId
int myNbOkElements
SVTK_Selector * mySelector
QWidgetmyEditCurrentArgument
bool myBusy
SMESH::SMESH_Mesh_var myMesh
SMESH_ActormyActor
SMESH_LogicalFiltermyMeshOrSubMeshOrGroupFilter
SMESH::SMESH_IDSource_var mySelectedObject
QGroupBoxConstructorsBox
QButtonGroup * GroupConstructors
QRadioButton * RadioButton1
QRadioButton * RadioButton2
QGroupBoxGroupButtons
QPushButton * buttonOk
QPushButton * buttonCancel
QPushButton * buttonApply
QPushButton * buttonHelp
QGroupBoxGroupArguments
QLabel * TextLabelElements
QPushButton * SelectElementsButton
QLineEdit * LineEditElements
QCheckBox * CheckBoxMesh
QLabel * TextLabel1
QPushButton * SelectButton1
QLabel * TextLabel1_1
SMESHGUI_SpinBoxSpinBox1_1
QLabel * TextLabel1_2
SMESHGUI_SpinBoxSpinBox1_2
QLabel * TextLabel1_3
SMESHGUI_SpinBoxSpinBox1_3
QLabel * TextLabel2
SMESHGUI_SpinBoxSpinBox_FX
QLabel * TextLabel3
SMESHGUI_SpinBoxSpinBox_FY
QLabel * TextLabel4
SMESHGUI_SpinBoxSpinBox_FZ
QGroupBoxActionBox
QButtonGroup * ActionGroup
QCheckBox * MakeGroupsCheck
QLineEdit * LineEditNewMesh
QString myHelpFileName
QPushButton * myFilterBtn
SMESHGUI_FilterDlgmyFilterDlg

Detailed Description

Definition at line 55 of file SMESHGUI_ScaleDlg.h.


Constructor & Destructor Documentation

SMESHGUI_ScaleDlg::SMESHGUI_ScaleDlg ( SMESHGUI theModule)

Definition at line 109 of file SMESHGUI_ScaleDlg.cxx.

References ActionBox, ActionGroup, buttonApply, buttonCancel, buttonHelp, buttonOk, CheckBoxMesh, ClickOnApply(), ClickOnCancel(), ClickOnHelp(), ClickOnOk(), SMESHGUI_PreviewDlg.connectPreviewControl(), ConstructorsBox, ConstructorsClicked(), COORD_MAX, COORD_MIN, COPY_ELEMS_BUTTON, DeactivateActiveDialog(), SMESH.GetResourceMgr(), SMESH.GetSelector(), SMESH.GetViewWindow(), GROUP, GroupArguments, GroupButtons, GroupConstructors, Init(), LineEditElements, LineEditNewMesh, SMESH_LogicalFilter.LO_OR, MAKE_MESH_BUTTON, MakeGroupsCheck, MARGIN, MESHorSUBMESH, MOVE_ELEMS_BUTTON, myFilterBtn, myHelpFileName, myIdValidator, myMeshOrSubMeshOrGroupFilter, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectionMgr, mySelector, SMESHGUI_PreviewDlg.mySMESHGUI, onActionClicked(), onSelectMesh(), onTextChange(), RadioButton1, RadioButton2, SMESHGUI_SpinBox.RangeStepAndValidator(), SelectButton1, SelectElementsButton, SelectionIntoArgument(), SMESHGUI.SetActiveDialogBox(), SetEditCurrentArgument(), setFilters(), SMESHGUI_SpinBox.SetStep(), SPACING, SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox_FX, SpinBox_FY, SpinBox_FZ, TextLabel1, TextLabel1_1, TextLabel1_2, TextLabel1_3, TextLabel2, TextLabel3, TextLabel4, TextLabelElements, and SMESHGUI_PreviewDlg.toDisplaySimulation().

                                                          : 
    SMESHGUI_PreviewDlg( theModule ),
    mySelectionMgr( SMESH::GetSelectionMgr( theModule ) ),
    myFilterDlg(0),
    mySelectedObject(SMESH::SMESH_IDSource::_nil())
{
  QPixmap image0 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_MESH_SCALE")));
  QPixmap image1 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_DLG_SCALE_ALONG_AXES")));
  QPixmap image2 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));

  setModal(false);
  setAttribute(Qt::WA_DeleteOnClose, true);
  setWindowTitle(tr("SMESH_SCALE_TITLE"));
  setSizeGripEnabled(true);

  QVBoxLayout* SMESHGUI_ScaleDlgLayout = new QVBoxLayout(this);
  SMESHGUI_ScaleDlgLayout->setSpacing(SPACING);
  SMESHGUI_ScaleDlgLayout->setMargin(MARGIN);

  /***************************************************************/
  ConstructorsBox = new QGroupBox(tr("SMESH_SCALE"), this);
  GroupConstructors = new QButtonGroup(this);
  QHBoxLayout* ConstructorsBoxLayout = new QHBoxLayout(ConstructorsBox);
  ConstructorsBoxLayout->setSpacing(SPACING);
  ConstructorsBoxLayout->setMargin(MARGIN);

  RadioButton1= new QRadioButton(ConstructorsBox);
  RadioButton1->setIcon(image0);
  RadioButton2= new QRadioButton(ConstructorsBox);
  RadioButton2->setIcon(image1);

  ConstructorsBoxLayout->addWidget(RadioButton1);
  ConstructorsBoxLayout->addWidget(RadioButton2);
  GroupConstructors->addButton(RadioButton1, 0);
  GroupConstructors->addButton(RadioButton2, 1);

  /***************************************************************/
  GroupArguments = new QGroupBox(tr("SMESH_ARGUMENTS"), this);
  QGridLayout* GroupArgumentsLayout = new QGridLayout(GroupArguments);
  GroupArgumentsLayout->setSpacing(SPACING);
  GroupArgumentsLayout->setMargin(MARGIN);

  myIdValidator = new SMESHGUI_IdValidator(this);

  // Controls for elements selection
  TextLabelElements = new QLabel(tr("SMESH_ID_ELEMENTS"), GroupArguments);
  SelectElementsButton = new QPushButton(GroupArguments);
  SelectElementsButton->setIcon(image2);
  LineEditElements = new QLineEdit(GroupArguments);
  LineEditElements->setValidator(myIdValidator);
  LineEditElements->setMaxLength(-1);
  myFilterBtn = new QPushButton( tr( "SMESH_BUT_FILTER" ), GroupArguments );
  connect(myFilterBtn,   SIGNAL(clicked()), this, SLOT(setFilters()));

  // Control for the whole mesh selection
  CheckBoxMesh = new QCheckBox(tr("SMESH_SELECT_WHOLE_MESH"), GroupArguments);

  // Controls for vector and points selection
  TextLabel1 = new QLabel(tr("SMESH_BASE_POINT"), GroupArguments);
  SelectButton1 = new QPushButton(GroupArguments);
  SelectButton1->setIcon(image2);

  TextLabel1_1 = new QLabel(tr("SMESH_X"), GroupArguments);
  SpinBox1_1 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel1_2 = new QLabel(tr("SMESH_Y"), GroupArguments);
  SpinBox1_2 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel1_3 = new QLabel(tr("SMESH_Z"), GroupArguments);
  SpinBox1_3 = new SMESHGUI_SpinBox(GroupArguments);

  TextLabel2 = new QLabel(tr("SMESH_SCALE_FACTOR"), GroupArguments);
  SpinBox_FX = new SMESHGUI_SpinBox(GroupArguments);

  TextLabel3 = new QLabel(tr("SMESH_SCALE_FACTOR_Y"), GroupArguments);
  SpinBox_FY = new SMESHGUI_SpinBox(GroupArguments);

  TextLabel4 = new QLabel(tr("SMESH_SCALE_FACTOR_Z"), GroupArguments);
  SpinBox_FZ = new SMESHGUI_SpinBox(GroupArguments);


  // switch of action type
  ActionBox = new QGroupBox(GroupArguments);
  ActionGroup = new QButtonGroup(GroupArguments);
  QVBoxLayout* ActionBoxLayout = new QVBoxLayout(ActionBox);
  ActionBoxLayout->addSpacing(SPACING);
  ActionBoxLayout->setMargin(MARGIN);

  QRadioButton* aMoveElements = new QRadioButton(tr("SMESH_MOVE_ELEMENTS"), ActionBox);
  QRadioButton* aCopyElements = new QRadioButton(tr("SMESH_COPY_ELEMENTS"), ActionBox);
  QRadioButton* aCreateMesh   = new QRadioButton(tr("SMESH_CREATE_MESH"),   ActionBox);

  ActionBoxLayout->addWidget(aMoveElements);
  ActionBoxLayout->addWidget(aCopyElements);
  ActionBoxLayout->addWidget(aCreateMesh);
  ActionGroup->addButton(aMoveElements, MOVE_ELEMS_BUTTON);
  ActionGroup->addButton(aCopyElements, COPY_ELEMS_BUTTON);
  ActionGroup->addButton(aCreateMesh,   MAKE_MESH_BUTTON);

  // CheckBox for groups generation
  MakeGroupsCheck = new QCheckBox(tr("SMESH_MAKE_GROUPS"), GroupArguments);
  MakeGroupsCheck->setChecked(false);

  // Name of a mesh to create
  LineEditNewMesh = new QLineEdit(GroupArguments);

  //Preview check box
  myPreviewCheckBox = new QCheckBox(tr("PREVIEW"), GroupArguments);

  // layout
  GroupArgumentsLayout->addWidget(TextLabelElements,    0, 0);
  GroupArgumentsLayout->addWidget(SelectElementsButton, 0, 1);
  GroupArgumentsLayout->addWidget(LineEditElements,     0, 2, 1, 5);
  GroupArgumentsLayout->addWidget(myFilterBtn,          0, 7);
  GroupArgumentsLayout->addWidget(CheckBoxMesh,         1, 0, 1, 8);
  GroupArgumentsLayout->addWidget(TextLabel1,           2, 0);
  GroupArgumentsLayout->addWidget(SelectButton1,        2, 1);
  GroupArgumentsLayout->addWidget(TextLabel1_1,         2, 2);
  GroupArgumentsLayout->addWidget(SpinBox1_1,           2, 3);
  GroupArgumentsLayout->addWidget(TextLabel1_2,         2, 4);
  GroupArgumentsLayout->addWidget(SpinBox1_2,           2, 5);
  GroupArgumentsLayout->addWidget(TextLabel1_3,         2, 6);
  GroupArgumentsLayout->addWidget(SpinBox1_3,           2, 7);
  GroupArgumentsLayout->addWidget(TextLabel2,           3, 0);
  GroupArgumentsLayout->addWidget(SpinBox_FX,           3, 3);
  GroupArgumentsLayout->addWidget(TextLabel3,           4, 0);
  GroupArgumentsLayout->addWidget(SpinBox_FY,           4, 3);
  GroupArgumentsLayout->addWidget(TextLabel4,           5, 0);
  GroupArgumentsLayout->addWidget(SpinBox_FZ,           5, 3);
  GroupArgumentsLayout->addWidget(ActionBox,            7, 0, 3, 4);
  GroupArgumentsLayout->addWidget(MakeGroupsCheck,      8, 5, 1, 4);
  GroupArgumentsLayout->addWidget(LineEditNewMesh,      9, 5, 1, 4);
  GroupArgumentsLayout->addWidget(myPreviewCheckBox,    10, 0);

  /***************************************************************/
  GroupButtons = new QGroupBox(this);
  QHBoxLayout* GroupButtonsLayout = new QHBoxLayout(GroupButtons);
  GroupButtonsLayout->setSpacing(SPACING);
  GroupButtonsLayout->setMargin(MARGIN);

  buttonOk = new QPushButton(tr("SMESH_BUT_APPLY_AND_CLOSE"), GroupButtons);
  buttonOk->setAutoDefault(true);
  buttonOk->setDefault(true);
  buttonApply = new QPushButton(tr("SMESH_BUT_APPLY"), GroupButtons);
  buttonApply->setAutoDefault(true);
  buttonCancel = new QPushButton(tr("SMESH_BUT_CLOSE"), GroupButtons);
  buttonCancel->setAutoDefault(true);
  buttonHelp = new QPushButton(tr("SMESH_BUT_HELP"), GroupButtons);
  buttonHelp->setAutoDefault(true);

  GroupButtonsLayout->addWidget(buttonOk);
  GroupButtonsLayout->addSpacing(10);
  GroupButtonsLayout->addWidget(buttonApply);
  GroupButtonsLayout->addSpacing(10);
  GroupButtonsLayout->addStretch();
  GroupButtonsLayout->addWidget(buttonCancel);
  GroupButtonsLayout->addWidget(buttonHelp);

  /***************************************************************/
  SMESHGUI_ScaleDlgLayout->addWidget(ConstructorsBox);
  SMESHGUI_ScaleDlgLayout->addWidget(GroupArguments);
  SMESHGUI_ScaleDlgLayout->addWidget(GroupButtons);

  /* Initialisations */
  SpinBox1_1->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox1_2->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox1_3->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_FX->RangeStepAndValidator(1.e-6, 1.e+6, 1.0, "parametric_precision");
  SpinBox_FX->SetStep(0.1);
  SpinBox_FY->RangeStepAndValidator(1.e-6, 1.e+6, 1.0, "parametric_precision");
  SpinBox_FY->SetStep(0.1);
  SpinBox_FZ->RangeStepAndValidator(1.e-6, 1.e+6, 1.0, "parametric_precision");
  SpinBox_FZ->SetStep(0.1);

  RadioButton1->setChecked(true);

  mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector();

  mySMESHGUI->SetActiveDialogBox((QDialog*)this);

  // Costruction of the logical filter
  SMESH_TypeFilter* aMeshOrSubMeshFilter = new SMESH_TypeFilter (MESHorSUBMESH);
  SMESH_TypeFilter* aSmeshGroupFilter    = new SMESH_TypeFilter (GROUP);

  QList<SUIT_SelectionFilter*> aListOfFilters;
  if (aMeshOrSubMeshFilter) aListOfFilters.append(aMeshOrSubMeshFilter);
  if (aSmeshGroupFilter)    aListOfFilters.append(aSmeshGroupFilter);

  myMeshOrSubMeshOrGroupFilter =
    new SMESH_LogicalFilter(aListOfFilters, SMESH_LogicalFilter::LO_OR);

  myHelpFileName = "scale_page.html";

  Init();

  /* signals and slots connections */
  connect(buttonOk,     SIGNAL(clicked()), this, SLOT(ClickOnOk()));
  connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
  connect(buttonApply,  SIGNAL(clicked()), this, SLOT(ClickOnApply()));
  connect(buttonHelp,   SIGNAL(clicked()), this, SLOT(ClickOnHelp()));
  connect(GroupConstructors, SIGNAL(buttonClicked(int)), SLOT(ConstructorsClicked(int)));

  connect(SelectElementsButton, SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument()));
  connect(SelectButton1,        SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument()));

  connect(mySMESHGUI, SIGNAL (SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog()));
  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()),   this, SLOT(SelectionIntoArgument()));
  /* to close dialog if study change */
  connect(mySMESHGUI,       SIGNAL (SignalCloseAllDialogs()), this, SLOT(ClickOnCancel()));
  connect(LineEditElements, SIGNAL(textChanged(const QString&)),    SLOT(onTextChange(const QString&)));
  connect(CheckBoxMesh,     SIGNAL(toggled(bool)),                  SLOT(onSelectMesh(bool)));
  connect(ActionGroup,      SIGNAL(buttonClicked(int)),             SLOT(onActionClicked(int)));

  connect(SpinBox1_1,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox1_2,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox1_3,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));

  connect(SpinBox_FX,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_FY,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_FZ,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));

  //To Connect preview check box
  connectPreviewControl();

  ConstructorsClicked(0);
  SelectionIntoArgument();
  onActionClicked(MOVE_ELEMS_BUTTON);
}
SMESHGUI_ScaleDlg::~SMESHGUI_ScaleDlg ( )

Definition at line 340 of file SMESHGUI_ScaleDlg.cxx.

References myFilterDlg.

{
  if ( myFilterDlg ) {
    myFilterDlg->setParent( 0 );
    delete myFilterDlg;
    myFilterDlg = 0;
  }
}

Member Function Documentation

void SMESHGUI_ScaleDlg::ActivateThisDialog ( ) [private, slot]

Definition at line 860 of file SMESHGUI_ScaleDlg.cxx.

References ConstructorsBox, SMESHGUI.EmitSignalDeactivateDialog(), SMESH.GetViewWindow(), GroupArguments, GroupButtons, SMESHGUI_PreviewDlg.mySMESHGUI, SelectionIntoArgument(), and SMESHGUI.SetActiveDialogBox().

Referenced by enterEvent().

{
  /* Emit a signal to deactivate the active dialog */
  mySMESHGUI->EmitSignalDeactivateDialog();
  ConstructorsBox->setEnabled(true);
  GroupArguments->setEnabled(true);
  GroupButtons->setEnabled(true);

  mySMESHGUI->SetActiveDialogBox((QDialog*)this);

  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
    aViewWindow->SetSelectionMode( CellSelection );

  SelectionIntoArgument();
}
bool SMESHGUI_ScaleDlg::ClickOnApply ( ) [private, slot]

Definition at line 437 of file SMESHGUI_ScaleDlg.cxx.

References _PTR(), ActionGroup, SMESH.ALL, CheckBoxMesh, ConstructorsClicked(), COPY_ELEMS_BUTTON, GetConstructorId(), getScale(), Init(), SMESHGUI.isActiveStudyLocked(), SMESHGUI_PreviewDlg.isApplyAndClose(), isValid(), LineEditNewMesh, MAKE_MESH_BUTTON, MakeGroupsCheck, PAL_MESH_041_mesh.mesh, SMESHGUI.Modified(), MOVE_ELEMS_BUTTON, myElementsId, myMesh, myNbOkElements, mySelectedObject, SMESHGUI_PreviewDlg.mySMESHGUI, SelectionIntoArgument(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox_FX, SpinBox_FY, SpinBox_FZ, and SMESH.UpdateView().

Referenced by ClickOnOk(), and SMESHGUI_ScaleDlg().

{
  if (mySMESHGUI->isActiveStudyLocked())
    return false;

  if( !isValid() )
    return false;

  if (myNbOkElements) {
    QStringList aListElementsId = myElementsId.split(" ", QString::SkipEmptyParts);

    SMESH::long_array_var anElementsId = new SMESH::long_array;

    anElementsId->length(aListElementsId.count());
    for (int i = 0; i < aListElementsId.count(); i++)
      anElementsId[i] = aListElementsId[i].toInt();

    SMESH::PointStruct aPoint;
    SMESH::double_array_var aScaleFact = new SMESH::double_array;
    getScale(aPoint, aScaleFact);

    QStringList aParameters;
    aParameters << SpinBox1_1->text();
    aParameters << SpinBox1_2->text();
    aParameters << SpinBox1_3->text();
    aParameters << SpinBox_FX->text();
    if (GetConstructorId() == 1) {
      aParameters << SpinBox_FX->text();
      aParameters << SpinBox_FX->text();
    }
    else {
      aParameters << SpinBox_FY->text();
      aParameters << SpinBox_FZ->text();
    }

    int actionButton = ActionGroup->checkedId();
    bool makeGroups = ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() );
    QStringList anEntryList;
    try {
      SUIT_OverrideCursor aWaitCursor;
      SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
      SMESH::SMESH_IDSource_var obj;
      if ( CheckBoxMesh->isChecked() )
        obj = mySelectedObject;
      else
        obj = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);

      switch ( actionButton ) {

      case MOVE_ELEMS_BUTTON:
        aMeshEditor->Scale(obj, aPoint, aScaleFact, false);
        if( !myMesh->_is_nil())
          myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
        break;

      case COPY_ELEMS_BUTTON:
        if ( makeGroups )
          SMESH::ListOfGroups_var groups = 
            aMeshEditor->ScaleMakeGroups(obj, aPoint, aScaleFact);
        else 
          aMeshEditor->Scale(obj, aPoint, aScaleFact, true);
        if( !myMesh->_is_nil())
          myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
        break;

      case MAKE_MESH_BUTTON: {
        SMESH::SMESH_Mesh_var mesh =
          aMeshEditor->ScaleMakeMesh(obj, aPoint, aScaleFact, makeGroups,
                                     LineEditNewMesh->text().toLatin1().data());
        if (!mesh->_is_nil()) {
          mesh->SetParameters(aParameters.join(":").toLatin1().constData());
          if( _PTR(SObject) aSObject = SMESH::ObjectToSObject( mesh ) )
            anEntryList.append( aSObject->GetID().c_str() );
#ifdef WITHGENERICOBJ
          // obj has been published in study. Its refcount has been incremented.
          // It is safe to decrement its refcount
          // so that it will be destroyed when the entry in study will be removed
          mesh->UnRegister();
#endif
        }
        break;
      }
      }
    } catch (...) {
    }

    SMESH::UpdateView();
    if ( ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() ) ||
         actionButton == MAKE_MESH_BUTTON ) {
      mySMESHGUI->updateObjBrowser(true); // new groups may appear
      if( LightApp_Application* anApp =
          dynamic_cast<LightApp_Application*>( SUIT_Session::session()->activeApplication() ) )
        anApp->browseObjects( anEntryList, isApplyAndClose() );
    }
    Init(false);
    ConstructorsClicked(GetConstructorId());
    mySelectedObject = SMESH::SMESH_IDSource::_nil();
    SelectionIntoArgument();

    SMESHGUI::Modified();
  }

  return true;
}
void SMESHGUI_ScaleDlg::ClickOnCancel ( ) [private, slot]

Definition at line 557 of file SMESHGUI_ScaleDlg.cxx.

References SMESH.GetCurrentVtkView(), SMESH.GetViewWindow(), mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, SMESH.RemoveFilters(), SMESHGUI.ResetState(), and SMESH.SetPointRepresentation().

Referenced by ClickOnOk(), closeEvent(), hideEvent(), and SMESHGUI_ScaleDlg().

{
  disconnect(mySelectionMgr, 0, this, 0);
  mySelectionMgr->clearFilters();
  //mySelectionMgr->clearSelected();
  if (SMESH::GetCurrentVtkView()) {
    SMESH::RemoveFilters(); // PAL6938 -- clean all mesh entity filters
    SMESH::SetPointRepresentation(false);
  }
  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
    aViewWindow->SetSelectionMode( ActorSelection );
  mySMESHGUI->ResetState();
  reject();
}
void SMESHGUI_ScaleDlg::ClickOnHelp ( ) [private, slot]

Definition at line 576 of file SMESHGUI_ScaleDlg.cxx.

References myHelpFileName, and SMESHGUI_PreviewDlg.mySMESHGUI.

Referenced by keyPressEvent(), and SMESHGUI_ScaleDlg().

{
  LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
  if (app)
    app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
  else {
    QString platform;
#ifdef WIN32
    platform = "winapplication";
#else
    platform = "application";
#endif
    SUIT_MessageBox::warning(this, tr("WRN_WARNING"),
                             tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
                             arg(app->resourceMgr()->stringValue("ExternalBrowser",
                                                                 platform)).
                             arg(myHelpFileName));
  }
}
void SMESHGUI_ScaleDlg::ClickOnOk ( ) [private, slot]
void SMESHGUI_ScaleDlg::closeEvent ( QCloseEvent *  ) [private]

Definition at line 890 of file SMESHGUI_ScaleDlg.cxx.

References ClickOnCancel().

{
  /* same than click on cancel button */
  ClickOnCancel();
}
void SMESHGUI_PreviewDlg::connectPreviewControl ( ) [protected, inherited]
void SMESHGUI_ScaleDlg::ConstructorsClicked ( int  constructorId) [private, slot]

Definition at line 388 of file SMESHGUI_ScaleDlg.cxx.

References CheckBoxMesh, SMESH.GetViewWindow(), LineEditElements, myEditCurrentArgument, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, onSelectMesh(), SelectionIntoArgument(), SMESH.SetPointRepresentation(), SpinBox_FY, SpinBox_FZ, TextLabel2, TextLabel3, and TextLabel4.

Referenced by ClickOnApply(), and SMESHGUI_ScaleDlg().

{
  disconnect(mySelectionMgr, 0, this, 0);

  switch (constructorId) {
  case 0:
    {
      TextLabel2->setText(tr("SMESH_SCALE_FACTOR"));
      TextLabel3->hide();
      TextLabel4->hide();
      SpinBox_FY->hide();
      SpinBox_FZ->hide();
      break;
    }
  case 1:
    {
      TextLabel2->setText(tr("SMESH_SCALE_FACTOR_X"));
      TextLabel3->show();
      TextLabel4->show();
      SpinBox_FY->show();
      SpinBox_FZ->show();
      break;
    }
  }

  if (myEditCurrentArgument != (QWidget*)LineEditElements) {
    SMESH::SetPointRepresentation(false);
    if (!CheckBoxMesh->isChecked())
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode( CellSelection );
  }

  myEditCurrentArgument = (QWidget*)LineEditElements;
  LineEditElements->setFocus();

  if (CheckBoxMesh->isChecked())
    onSelectMesh(true);

  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));

  QApplication::instance()->processEvents();
  updateGeometry();
  resize(100,100);
}
void SMESHGUI_ScaleDlg::DeactivateActiveDialog ( ) [private, slot]
void SMESHGUI_ScaleDlg::enterEvent ( QEvent *  ) [private]

Definition at line 880 of file SMESHGUI_ScaleDlg.cxx.

References ActivateThisDialog(), and ConstructorsBox.

{
  if (!ConstructorsBox->isEnabled())
    ActivateThisDialog();
}
int SMESHGUI_ScaleDlg::GetConstructorId ( ) [private]

Definition at line 1003 of file SMESHGUI_ScaleDlg.cxx.

References GroupConstructors.

Referenced by ClickOnApply(), getScale(), and isValid().

{
  return GroupConstructors->checkedId();
}
void SMESHGUI_ScaleDlg::getScale ( SMESH::PointStruct thePoint,
SMESH::double_array_var &  theScaleFact 
) [private]

Definition at line 1123 of file SMESHGUI_ScaleDlg.cxx.

References GetConstructorId(), SMESHGUI_SpinBox.GetValue(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox_FX, SpinBox_FY, SpinBox_FZ, SMESH.PointStruct.x, SMESH.PointStruct.y, and SMESH.PointStruct.z.

Referenced by ClickOnApply(), and onDisplaySimulation().

                                                                                                   {
  thePoint.x = SpinBox1_1->GetValue();
  thePoint.y = SpinBox1_2->GetValue();
  thePoint.z = SpinBox1_3->GetValue();
  
  theScaleFact->length(3);
  theScaleFact[0] = SpinBox_FX->GetValue();
  if (GetConstructorId() == 0) {
    theScaleFact[1] = SpinBox_FX->GetValue();
    theScaleFact[2] = SpinBox_FX->GetValue();
  }
  else {
    theScaleFact[1] = SpinBox_FY->GetValue();
    theScaleFact[2] = SpinBox_FZ->GetValue();
  } 
}
void SMESHGUI_ScaleDlg::hideEvent ( QHideEvent *  ) [private]

Definition at line 900 of file SMESHGUI_ScaleDlg.cxx.

References ClickOnCancel().

{
  if (!isMinimized())
    ClickOnCancel();
}
void SMESHGUI_PreviewDlg::hidePreview ( ) [inherited]
void SMESHGUI_ScaleDlg::Init ( bool  ResetControls = true) [private]
bool SMESHGUI_PreviewDlg::isApplyAndClose ( ) const [protected, virtual, inherited]
bool SMESHGUI_ScaleDlg::isValid ( ) [private]

Definition at line 1050 of file SMESHGUI_ScaleDlg.cxx.

References GetConstructorId(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox_FX, SpinBox_FY, and SpinBox_FZ.

Referenced by ClickOnApply(), and onDisplaySimulation().

{
  bool ok = true;
  QString msg;

  ok = SpinBox1_1->isValid( msg, true ) && ok;
  ok = SpinBox1_2->isValid( msg, true ) && ok;
  ok = SpinBox1_3->isValid( msg, true ) && ok;
  ok = SpinBox_FX->isValid( msg, true ) && ok;
  if (GetConstructorId() == 1) {
    ok = SpinBox_FY->isValid( msg, true ) && ok;
    ok = SpinBox_FZ->isValid( msg, true ) && ok;
  }

  if( !ok ) {
    QString str( tr( "SMESH_INCORRECT_INPUT" ) );
    if ( !msg.isEmpty() )
      str += "\n" + msg;
    SUIT_MessageBox::critical( this, tr( "SMESH_ERROR" ), str );
    return false;
  }
  return true;
}
void SMESHGUI_ScaleDlg::keyPressEvent ( QKeyEvent *  e) [private]

Definition at line 1012 of file SMESHGUI_ScaleDlg.cxx.

References ClickOnHelp().

{
  QDialog::keyPressEvent( e );
  if ( e->isAccepted() )
    return;

  if ( e->key() == Qt::Key_F1 ) {
    e->accept();
    ClickOnHelp();
  }
}
void SMESHGUI_ScaleDlg::onActionClicked ( int  button) [private, slot]

Definition at line 949 of file SMESHGUI_ScaleDlg.cxx.

References COPY_ELEMS_BUTTON, LineEditNewMesh, MAKE_MESH_BUTTON, MakeGroupsCheck, MOVE_ELEMS_BUTTON, myMesh, setNewMeshName(), and SMESHGUI_PreviewDlg.toDisplaySimulation().

Referenced by SMESHGUI_ScaleDlg().

{
  switch ( button ) {
  case MOVE_ELEMS_BUTTON:
    MakeGroupsCheck->setEnabled(false);
    LineEditNewMesh->setEnabled(false);
    break;
  case COPY_ELEMS_BUTTON:
    LineEditNewMesh->setEnabled(false);
    MakeGroupsCheck->setText( tr("SMESH_MAKE_GROUPS"));
    if ( myMesh->_is_nil() || myMesh->NbGroups() > 0)
      MakeGroupsCheck->setEnabled(true);
    else
      MakeGroupsCheck->setEnabled(false);
    break;
  case MAKE_MESH_BUTTON:
    LineEditNewMesh->setEnabled(true);
    MakeGroupsCheck->setText( tr("SMESH_COPY_GROUPS"));
    if ( myMesh->_is_nil() || myMesh->NbGroups() > 0)
      MakeGroupsCheck->setEnabled(true);
    else
      MakeGroupsCheck->setEnabled(false);
    break;
  }
  setNewMeshName();
  toDisplaySimulation();
}
void SMESHGUI_ScaleDlg::onDisplaySimulation ( bool  toDisplayPreview) [protected, virtual, slot]

Reimplemented from SMESHGUI_PreviewDlg.

Definition at line 1078 of file SMESHGUI_ScaleDlg.cxx.

References ActionGroup, SMESH.ALL, CheckBoxMesh, COPY_ELEMS_BUTTON, getScale(), SMESHGUI_PreviewDlg.hidePreview(), isValid(), MAKE_MESH_BUTTON, myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectedObject, SMESHGUI_PreviewDlg.mySimulation, and SMESHGUI_MeshEditPreview.SetData().

Referenced by Init(), and SelectionIntoArgument().

                                                                   {
  if (myPreviewCheckBox->isChecked() && toDisplayPreview) {    
    if ( myNbOkElements && isValid() ) {
      QStringList aListElementsId = myElementsId.split(" ", QString::SkipEmptyParts);

      SMESH::long_array_var anElementsId = new SMESH::long_array;
      
      anElementsId->length(aListElementsId.count());
      for (int i = 0; i < aListElementsId.count(); i++)
        anElementsId[i] = aListElementsId[i].toInt();
      
      SMESH::PointStruct aPoint;
      SMESH::double_array_var aScaleFact = new SMESH::double_array;
      getScale(aPoint, aScaleFact);
      
      try {
        bool copy = ( ActionGroup->checkedId() == COPY_ELEMS_BUTTON ||
                      ActionGroup->checkedId() == MAKE_MESH_BUTTON );
        SUIT_OverrideCursor aWaitCursor;
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditPreviewer();
        SMESH::SMESH_IDSource_var obj;
        if ( CheckBoxMesh->isChecked() )
          obj = mySelectedObject;
        else
          obj = aMeshEditor->MakeIDSource(anElementsId, SMESH::ALL);
        aMeshEditor->Scale(obj, aPoint, aScaleFact, copy);

        SMESH::MeshPreviewStruct_var aMeshPreviewStruct = aMeshEditor->GetPreviewData();
        mySimulation->SetData(aMeshPreviewStruct._retn());      

      } catch (...) {
        hidePreview();
      }
    } else {
      hidePreview();
    } 
  } else {
    hidePreview();
  }
}
void SMESHGUI_ScaleDlg::onSelectMesh ( bool  toSelectMesh) [private, slot]

Definition at line 910 of file SMESHGUI_ScaleDlg.cxx.

References SMESH.GetViewWindow(), SMESHGUI_PreviewDlg.hidePreview(), LineEditElements, myEditCurrentArgument, myFilterBtn, myIdValidator, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, onTextChange(), SelectionIntoArgument(), SMESH.SetPointRepresentation(), and TextLabelElements.

Referenced by ConstructorsClicked(), Init(), and SMESHGUI_ScaleDlg().

{
  if (toSelectMesh)
    TextLabelElements->setText(tr("SMESH_NAME"));
  else
    TextLabelElements->setText(tr("SMESH_ID_ELEMENTS"));
  myFilterBtn->setEnabled(!toSelectMesh);

  if (myEditCurrentArgument != LineEditElements) {
    LineEditElements->clear();
    return;
  }

  mySelectionMgr->clearFilters();
  SMESH::SetPointRepresentation(false);

  if (toSelectMesh) {
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode( ActorSelection );
    mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
    LineEditElements->setReadOnly(true);
    LineEditElements->setValidator(0);
  } else {
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode( CellSelection );
    LineEditElements->setReadOnly(false);
    LineEditElements->setValidator(myIdValidator);
    onTextChange(LineEditElements->text());
    hidePreview();
  }

  SelectionIntoArgument();
}
void SMESHGUI_ScaleDlg::onTextChange ( const QString &  theNewText) [private, slot]

Definition at line 600 of file SMESHGUI_ScaleDlg.cxx.

References buttonApply, buttonOk, SMDS_Mesh.FindElement(), SMDS_MeshElement.GetID(), SMESH_Actor.GetObject(), SMESH.GetViewWindow(), Handle(), LineEditElements, myActor, myBusy, myElementsId, myNbOkElements, mySelector, and SMESHGUI_PreviewDlg.mySMESHGUI.

Referenced by onSelectMesh(), and SMESHGUI_ScaleDlg().

{
  QLineEdit* send = (QLineEdit*)sender();

  if (myBusy) return;
  BusyLocker lock( myBusy );

  if (send == LineEditElements)
    myNbOkElements = 0;

  buttonOk->setEnabled(false);
  buttonApply->setEnabled(false);

  // hilight entered elements
  SMDS_Mesh* aMesh = 0;
  if (myActor)
    aMesh = myActor->GetObject()->GetMesh();

  if (aMesh) {
    Handle(SALOME_InteractiveObject) anIO = myActor->getIO();

    TColStd_MapOfInteger newIndices;

    QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);

    if (send == LineEditElements) {
      for (int i = 0; i < aListId.count(); i++) {
        const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
        if (e)
          newIndices.Add(e->GetID());
        myNbOkElements++;
      }
    }

    mySelector->AddOrRemoveIndex( anIO, newIndices, false );
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->highlight( anIO, true, true );

    myElementsId = theNewText;
  }

  if (myNbOkElements) {
    buttonOk->setEnabled(true);
    buttonApply->setEnabled(true);
  }
}
void SMESHGUI_ScaleDlg::SelectionIntoArgument ( ) [private, slot]

Definition at line 651 of file SMESHGUI_ScaleDlg.cxx.

References ActionGroup, buttonApply, buttonOk, CheckBoxMesh, SMESH.FindActorByEntry(), SMESH.FindActorByObject(), SMDS_Mesh.FindNode(), SMESH.GetMeshByIO(), SMESH.GetNameOfSelectedElements(), SMESH.GetNameOfSelectedIObjects(), SMESH.GetNameOfSelectedNodes(), SMESH_Actor.GetObject(), GroupButtons, Handle(), LineEditElements, MakeGroupsCheck, MOVE_ELEMS_BUTTON, myActor, myBusy, myEditCurrentArgument, myElementsId, myMesh, myNbOkElements, mySelectedObject, mySelectionMgr, mySelector, onDisplaySimulation(), setNewMeshName(), SMESHGUI_SpinBox.SetValue(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox_FX, SpinBox_FY, SpinBox_FZ, SMDS_MeshNode.X(), ex13_hole1partial.x, SMDS_MeshNode.Y(), ex13_hole1partial.y, and SMDS_MeshNode.Z().

Referenced by ActivateThisDialog(), ClickOnApply(), ConstructorsClicked(), onSelectMesh(), SetEditCurrentArgument(), and SMESHGUI_ScaleDlg().

{
  if (myBusy) return;
  BusyLocker lock( myBusy );
  // clear
  myActor = 0;
  QString aString = "";

  if (myEditCurrentArgument == (QWidget*)LineEditElements) {
    LineEditElements->setText(aString);
    myNbOkElements = 0;
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  }

  if (!GroupButtons->isEnabled()) // inactive
    return;

  // get selected mesh
  SALOME_ListIO aList;
  mySelectionMgr->selectedObjects(aList,SVTK_Viewer::Type());

  int nbSel = aList.Extent();
  if (nbSel != 1)
    return;

  Handle(SALOME_InteractiveObject) IO = aList.First();
  myMesh = SMESH::GetMeshByIO(IO);
  if (myMesh->_is_nil())
    return;

  myActor = SMESH::FindActorByObject(myMesh);
  if (!myActor)
    myActor = SMESH::FindActorByEntry(IO->getEntry());
  if (!myActor && !CheckBoxMesh->isChecked())
    return;

  int aNbUnits = 0;

  if (myEditCurrentArgument == (QWidget*)LineEditElements) {
    myElementsId = "";

    // MakeGroups is available if there are groups and "Copy"
    if ( myMesh->NbGroups() == 0 ) {
      MakeGroupsCheck->setChecked(false);
      MakeGroupsCheck->setEnabled(false);
    }
    else if ( ActionGroup->checkedId() != MOVE_ELEMS_BUTTON ) {
      MakeGroupsCheck->setEnabled(true);
    }

    if (CheckBoxMesh->isChecked()) {
      SMESH::GetNameOfSelectedIObjects( mySelectionMgr, aString );

      if (!SMESH::IObjectToInterface<SMESH::SMESH_IDSource>(IO)->_is_nil()) { //MESH, SUBMESH, OR GROUP
        mySelectedObject = SMESH::IObjectToInterface<SMESH::SMESH_IDSource>(IO);
      }
      else
        return;
        // get IDs from mesh
        /*
        SMDS_Mesh* aSMDSMesh = myActor->GetObject()->GetMesh();
        if (!aSMDSMesh)
          return;

        for (int i = aSMDSMesh->MinElementID(); i <= aSMDSMesh->MaxElementID(); i++) {
          const SMDS_MeshElement * e = aSMDSMesh->FindElement(i);
          if (e) {
            myElementsId += QString(" %1").arg(i);
            aNbUnits++;
          }
        }
      } else if (!SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO)->_is_nil()) { //SUBMESH
        // get submesh
        SMESH::SMESH_subMesh_var aSubMesh = SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO);

        // get IDs from submesh
        SMESH::long_array_var anElementsIds = new SMESH::long_array;
        anElementsIds = aSubMesh->GetElementsId();
        for (int i = 0; i < anElementsIds->length(); i++) {
          myElementsId += QString(" %1").arg(anElementsIds[i]);
        }
        aNbUnits = anElementsIds->length();
      } else { // GROUP
        // get smesh group
        SMESH::SMESH_GroupBase_var aGroup =
          SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IO);
        if (aGroup->_is_nil())
          return;

        // get IDs from smesh group
        SMESH::long_array_var anElementsIds = new SMESH::long_array;
        anElementsIds = aGroup->GetListOfID();
        for (int i = 0; i < anElementsIds->length(); i++) {
          myElementsId += QString(" %1").arg(anElementsIds[i]);
        }
        aNbUnits = anElementsIds->length();
      }
        */
    } else {
      aNbUnits = SMESH::GetNameOfSelectedElements(mySelector, IO, aString);
      myElementsId = aString;
      if (aNbUnits < 1)
        return;
    }

    myNbOkElements = true;
  } else {
    aNbUnits = SMESH::GetNameOfSelectedNodes(mySelector, IO, aString);
    if (aNbUnits != 1)
      return;

    SMDS_Mesh* aMesh =  myActor->GetObject()->GetMesh();
    if (!aMesh)
      return;

    const SMDS_MeshNode * n = aMesh->FindNode(aString.toInt());
    if (!n)
      return;

    double x = n->X();
    double y = n->Y();
    double z = n->Z();

    if (myEditCurrentArgument == (QWidget*)SpinBox1_1) {
      SpinBox1_1->SetValue(x);
      SpinBox1_2->SetValue(y);
      SpinBox1_3->SetValue(z);
    }
    else if (myEditCurrentArgument == (QWidget*)SpinBox_FX) {
      SpinBox_FX->SetValue(x);
      SpinBox_FY->SetValue(y);
      SpinBox_FZ->SetValue(z);
    }
  }

  if (myEditCurrentArgument == (QWidget*)LineEditElements) {
    LineEditElements->setText(aString);
    LineEditElements->repaint();
    LineEditElements->setEnabled(false); // to fully update lineedit IPAL 19809
    LineEditElements->setEnabled(true);
    setNewMeshName();
  }

  // OK
  if (myNbOkElements) {
    buttonOk->setEnabled(true);
    buttonApply->setEnabled(true);
  }
  
  onDisplaySimulation(true);
}
void SMESHGUI_ScaleDlg::SetEditCurrentArgument ( ) [private, slot]

Definition at line 808 of file SMESHGUI_ScaleDlg.cxx.

References CheckBoxMesh, SMESH.GetViewWindow(), LineEditElements, myEditCurrentArgument, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, SelectButton1, SelectElementsButton, SelectionIntoArgument(), SMESH.SetPointRepresentation(), and SpinBox1_1.

Referenced by SMESHGUI_ScaleDlg().

{
  QPushButton* send = (QPushButton*)sender();

  disconnect(mySelectionMgr, 0, this, 0);
  mySelectionMgr->clearSelected();
  mySelectionMgr->clearFilters();

  if (send == SelectElementsButton) {
    myEditCurrentArgument = (QWidget*)LineEditElements;
    SMESH::SetPointRepresentation(false);
    if (CheckBoxMesh->isChecked()) {
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode( ActorSelection );
      mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
    }
    else {
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode( CellSelection );
    }
  }
  else if (send == SelectButton1) {
    myEditCurrentArgument = (QWidget*)SpinBox1_1;
    SMESH::SetPointRepresentation(true);
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode( NodeSelection );
  }

  myEditCurrentArgument->setFocus();
  connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
  SelectionIntoArgument();
}
void SMESHGUI_ScaleDlg::setFilters ( ) [private, slot]
void SMESHGUI_PreviewDlg::setIsApplyAndClose ( const bool  theFlag) [protected, virtual, inherited]
void SMESHGUI_ScaleDlg::setNewMeshName ( ) [private]

Definition at line 982 of file SMESHGUI_ScaleDlg.cxx.

References _PTR(), CheckBoxMesh, LineEditElements, LineEditNewMesh, myMesh, ex21_lamp.name, and SMESH.UniqueMeshName().

Referenced by onActionClicked(), and SelectionIntoArgument().

{
  LineEditNewMesh->setText("");
  if ( LineEditNewMesh->isEnabled() && !myMesh->_is_nil() ) {
    QString name;
    if ( CheckBoxMesh->isChecked() ) {
      name = LineEditElements->text();
    }
    else {
      _PTR(SObject) meshSO = SMESH::FindSObject( myMesh );
      name = meshSO->GetName().c_str();
    }
    if ( !name.isEmpty() )
      LineEditNewMesh->setText( SMESH::UniqueMeshName( name, "scaled"));
  }
}
void SMESHGUI_PreviewDlg::showPreview ( ) [inherited]
void SMESHGUI_PreviewDlg::toDisplaySimulation ( ) [protected, slot, inherited]

Field Documentation

Definition at line 120 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QButtonGroup* SMESHGUI_ScaleDlg.ActionGroup [private]
QPushButton* SMESHGUI_ScaleDlg.buttonApply [private]

Definition at line 99 of file SMESHGUI_ScaleDlg.h.

Referenced by Init(), onTextChange(), SelectionIntoArgument(), and SMESHGUI_ScaleDlg().

QPushButton* SMESHGUI_ScaleDlg.buttonCancel [private]

Definition at line 98 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QPushButton* SMESHGUI_ScaleDlg.buttonHelp [private]

Definition at line 100 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QPushButton* SMESHGUI_ScaleDlg.buttonOk [private]

Definition at line 97 of file SMESHGUI_ScaleDlg.h.

Referenced by Init(), onTextChange(), SelectionIntoArgument(), and SMESHGUI_ScaleDlg().

QCheckBox* SMESHGUI_ScaleDlg.CheckBoxMesh [private]
QButtonGroup* SMESHGUI_ScaleDlg.GroupConstructors [private]

Definition at line 93 of file SMESHGUI_ScaleDlg.h.

Referenced by GetConstructorId(), and SMESHGUI_ScaleDlg().

QLineEdit* SMESHGUI_ScaleDlg.LineEditElements [private]
QLineEdit* SMESHGUI_ScaleDlg.LineEditNewMesh [private]
QCheckBox* SMESHGUI_ScaleDlg.MakeGroupsCheck [private]

Definition at line 87 of file SMESHGUI_ScaleDlg.h.

Referenced by Init(), onTextChange(), and SelectionIntoArgument().

Definition at line 85 of file SMESHGUI_ScaleDlg.h.

Referenced by Init(), onTextChange(), and SelectionIntoArgument().

QString SMESHGUI_ScaleDlg.myElementsId [private]
QPushButton* SMESHGUI_ScaleDlg.myFilterBtn [private]

Definition at line 127 of file SMESHGUI_ScaleDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ScaleDlg().

Definition at line 128 of file SMESHGUI_ScaleDlg.h.

Referenced by setFilters(), and ~SMESHGUI_ScaleDlg().

Definition at line 125 of file SMESHGUI_ScaleDlg.h.

Referenced by ClickOnHelp(), and SMESHGUI_ScaleDlg().

Definition at line 76 of file SMESHGUI_ScaleDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ScaleDlg().

SMESH::SMESH_Mesh_var SMESHGUI_ScaleDlg.myMesh [private]

Definition at line 88 of file SMESHGUI_ScaleDlg.h.

Referenced by onSelectMesh(), SetEditCurrentArgument(), and SMESHGUI_ScaleDlg().

QCheckBox* SMESHGUI_PreviewDlg.myPreviewCheckBox [protected, inherited]
SMESH::SMESH_IDSource_var SMESHGUI_ScaleDlg.mySelectedObject [private]

Definition at line 90 of file SMESHGUI_ScaleDlg.h.

Referenced by ClickOnApply(), onDisplaySimulation(), and SelectionIntoArgument().

LightApp_SelectionMgr* SMESHGUI_ScaleDlg.mySelectionMgr [private]
SVTK_Selector* SMESHGUI_ScaleDlg.mySelector [private]

Definition at line 81 of file SMESHGUI_ScaleDlg.h.

Referenced by onTextChange(), SelectionIntoArgument(), and SMESHGUI_ScaleDlg().

SMESHGUI* SMESHGUI_PreviewDlg.mySMESHGUI [protected, inherited]

Definition at line 61 of file SMESHGUI_PreviewDlg.h.

Referenced by SMESHGUI_TranslationDlg.ActivateThisDialog(), SMESHGUI_SymmetryDlg.ActivateThisDialog(), ActivateThisDialog(), SMESHGUI_RotationDlg.ActivateThisDialog(), SMESHGUI_RevolutionDlg.ActivateThisDialog(), SMESHGUI_ExtrusionDlg.ActivateThisDialog(), SMESHGUI_ExtrusionAlongPathDlg.ActivateThisDialog(), SMESHGUI_TranslationDlg.ClickOnApply(), SMESHGUI_SymmetryDlg.ClickOnApply(), ClickOnApply(), SMESHGUI_RotationDlg.ClickOnApply(), SMESHGUI_RevolutionDlg.ClickOnApply(), SMESHGUI_ExtrusionDlg.ClickOnApply(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnApply(), SMESHGUI_TranslationDlg.ClickOnCancel(), SMESHGUI_SymmetryDlg.ClickOnCancel(), ClickOnCancel(), SMESHGUI_RotationDlg.ClickOnCancel(), SMESHGUI_TranslationDlg.ClickOnHelp(), SMESHGUI_SymmetryDlg.ClickOnHelp(), ClickOnHelp(), SMESHGUI_RotationDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.ClickOnHelp(), SMESHGUI_ExtrusionDlg.ClickOnHelp(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.closeEvent(), SMESHGUI_ExtrusionDlg.closeEvent(), SMESHGUI_TranslationDlg.ConstructorsClicked(), SMESHGUI_SymmetryDlg.ConstructorsClicked(), ConstructorsClicked(), SMESHGUI_RevolutionDlg.ConstructorsClicked(), SMESHGUI_ExtrusionDlg.ConstructorsClicked(), SMESHGUI_ExtrusionAlongPathDlg.ConstructorsClicked(), SMESHGUI_TranslationDlg.DeactivateActiveDialog(), SMESHGUI_SymmetryDlg.DeactivateActiveDialog(), DeactivateActiveDialog(), SMESHGUI_RotationDlg.DeactivateActiveDialog(), SMESHGUI_RevolutionDlg.DeactivateActiveDialog(), SMESHGUI_ExtrusionDlg.DeactivateActiveDialog(), SMESHGUI_ExtrusionAlongPathDlg.DeactivateActiveDialog(), SMESHGUI_TranslationDlg.onSelectMesh(), SMESHGUI_SymmetryDlg.onSelectMesh(), onSelectMesh(), SMESHGUI_RotationDlg.onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectMesh(), SMESHGUI_ExtrusionDlg.onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectVectorMenu(), SMESHGUI_TranslationDlg.onTextChange(), SMESHGUI_SymmetryDlg.onTextChange(), onTextChange(), SMESHGUI_RotationDlg.onTextChange(), SMESHGUI_RevolutionDlg.onTextChange(), SMESHGUI_ExtrusionDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.reject(), SMESHGUI_TranslationDlg.SetEditCurrentArgument(), SMESHGUI_SymmetryDlg.SetEditCurrentArgument(), SetEditCurrentArgument(), SMESHGUI_RotationDlg.SetEditCurrentArgument(), SMESHGUI_RevolutionDlg.SetEditCurrentArgument(), SMESHGUI_ExtrusionDlg.SetEditCurrentArgument(), SMESHGUI_ExtrusionAlongPathDlg.SetEditCurrentArgument(), SMESHGUI_TranslationDlg.setFilters(), SMESHGUI_SymmetryDlg.setFilters(), setFilters(), SMESHGUI_RotationDlg.setFilters(), SMESHGUI_RevolutionDlg.setFilters(), SMESHGUI_ExtrusionDlg.setFilters(), SMESHGUI_ExtrusionAlongPathDlg.setFilters(), SMESHGUI_ExtrusionAlongPathDlg.SMESHGUI_ExtrusionAlongPathDlg(), SMESHGUI_ExtrusionDlg.SMESHGUI_ExtrusionDlg(), SMESHGUI_PreviewDlg.SMESHGUI_PreviewDlg(), SMESHGUI_RevolutionDlg.SMESHGUI_RevolutionDlg(), SMESHGUI_RotationDlg.SMESHGUI_RotationDlg(), SMESHGUI_ScaleDlg(), SMESHGUI_SymmetryDlg.SMESHGUI_SymmetryDlg(), and SMESHGUI_TranslationDlg.SMESHGUI_TranslationDlg().

QRadioButton* SMESHGUI_ScaleDlg.RadioButton1 [private]

Definition at line 94 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QRadioButton* SMESHGUI_ScaleDlg.RadioButton2 [private]

Definition at line 95 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QPushButton* SMESHGUI_ScaleDlg.SelectButton1 [private]

Definition at line 107 of file SMESHGUI_ScaleDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_ScaleDlg().

Definition at line 103 of file SMESHGUI_ScaleDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel1 [private]

Definition at line 106 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel1_1 [private]

Definition at line 108 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel1_2 [private]

Definition at line 110 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel1_3 [private]

Definition at line 112 of file SMESHGUI_ScaleDlg.h.

Referenced by SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel2 [private]

Definition at line 114 of file SMESHGUI_ScaleDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel3 [private]

Definition at line 116 of file SMESHGUI_ScaleDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_ScaleDlg().

QLabel* SMESHGUI_ScaleDlg.TextLabel4 [private]

Definition at line 118 of file SMESHGUI_ScaleDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_ScaleDlg().

Definition at line 102 of file SMESHGUI_ScaleDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_ScaleDlg().

Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS