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

SMESHGUI_TranslationDlg Class Reference

#include <SMESHGUI_TranslationDlg.h>

Inheritance diagram for SMESHGUI_TranslationDlg:
Inheritance graph
[legend]

Public Member Functions

 SMESHGUI_TranslationDlg (SMESHGUI *)
 ~SMESHGUI_TranslationDlg ()
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 ()

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
QPushButton * SelectButton2
QLabel * TextLabel2_1
SMESHGUI_SpinBoxSpinBox2_1
QLabel * TextLabel2_2
SMESHGUI_SpinBoxSpinBox2_2
QLabel * TextLabel2_3
SMESHGUI_SpinBoxSpinBox2_3
QGroupBoxActionBox
QButtonGroup * ActionGroup
QCheckBox * MakeGroupsCheck
QLineEdit * LineEditNewMesh
QString myHelpFileName
QPushButton * myFilterBtn
SMESHGUI_FilterDlgmyFilterDlg

Detailed Description

Definition at line 58 of file SMESHGUI_TranslationDlg.h.


Constructor & Destructor Documentation

SMESHGUI_TranslationDlg::SMESHGUI_TranslationDlg ( SMESHGUI theModule)

Definition at line 112 of file SMESHGUI_TranslationDlg.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, SelectButton2, SelectElementsButton, SelectionIntoArgument(), SMESHGUI.SetActiveDialogBox(), SetEditCurrentArgument(), setFilters(), SPACING, SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox2_1, SpinBox2_2, SpinBox2_3, TextLabel1, TextLabel1_1, TextLabel1_2, TextLabel1_3, TextLabel2, TextLabel2_1, TextLabel2_2, TextLabel2_3, 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_SMESH_TRANSLATION_POINTS")));
  QPixmap image1 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SMESH_TRANSLATION_VECTOR")));
  QPixmap image2 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));

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

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

  /***************************************************************/
  ConstructorsBox = new QGroupBox(tr("SMESH_TRANSLATION"), 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(GroupArguments);
  SelectButton1 = new QPushButton(GroupArguments);
  SelectButton1->setIcon(image2);

  TextLabel1_1 = new QLabel(GroupArguments);
  SpinBox1_1 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel1_2 = new QLabel(GroupArguments);
  SpinBox1_2 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel1_3 = new QLabel(GroupArguments);
  SpinBox1_3 = new SMESHGUI_SpinBox(GroupArguments);

  TextLabel2 = new QLabel(tr("SMESH_POINT_2"), GroupArguments);
  SelectButton2  = new QPushButton(GroupArguments);
  SelectButton2->setIcon(image2);

  TextLabel2_1 = new QLabel(tr("SMESH_X"), GroupArguments);
  SpinBox2_1 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel2_2 = new QLabel(tr("SMESH_Y"), GroupArguments);
  SpinBox2_2 = new SMESHGUI_SpinBox(GroupArguments);
  TextLabel2_3 = new QLabel(tr("SMESH_Z"), GroupArguments);
  SpinBox2_3 = 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(SelectButton2,        3, 1);
  GroupArgumentsLayout->addWidget(TextLabel2_1,         3, 2);
  GroupArgumentsLayout->addWidget(SpinBox2_1,           3, 3);
  GroupArgumentsLayout->addWidget(TextLabel2_2,         3, 4);
  GroupArgumentsLayout->addWidget(SpinBox2_2,           3, 5);
  GroupArgumentsLayout->addWidget(TextLabel2_3,         3, 6);
  GroupArgumentsLayout->addWidget(SpinBox2_3,           3, 7);
  GroupArgumentsLayout->addWidget(ActionBox,            4, 0, 3, 4);
  GroupArgumentsLayout->addWidget(MakeGroupsCheck,      5, 5, 1, 4);
  GroupArgumentsLayout->addWidget(LineEditNewMesh,      6, 5, 1, 4);
  GroupArgumentsLayout->addWidget(myPreviewCheckBox,    7, 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_TranslationDlgLayout->addWidget(ConstructorsBox);
  SMESHGUI_TranslationDlgLayout->addWidget(GroupArguments);
  SMESHGUI_TranslationDlgLayout->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");
  SpinBox2_1->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox2_2->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox2_3->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");

  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 = "translation_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(SelectButton2,        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(SpinBox2_1,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox2_2,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox2_3,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox2_3,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));

  
  //To Connect preview check box
  connectPreviewControl();

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

Definition at line 346 of file SMESHGUI_TranslationDlg.cxx.

References myFilterDlg.

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

Member Function Documentation

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

Definition at line 902 of file SMESHGUI_TranslationDlg.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_TranslationDlg::ClickOnApply ( ) [private, slot]

Definition at line 465 of file SMESHGUI_TranslationDlg.cxx.

References _PTR(), ActionGroup, CheckBoxMesh, ConstructorsClicked(), COPY_ELEMS_BUTTON, GetConstructorId(), SMESHGUI_SpinBox.GetValue(), 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, SMESH.DirStruct.PS, SelectionIntoArgument(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox2_1, SpinBox2_2, SpinBox2_3, and SMESH.UpdateView().

Referenced by ClickOnOk(), and SMESHGUI_TranslationDlg().

{
  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::DirStruct aVector;
    if (GetConstructorId() == 0) {
      aVector.PS.x = SpinBox2_1->GetValue() - SpinBox1_1->GetValue();
      aVector.PS.y = SpinBox2_2->GetValue() - SpinBox1_2->GetValue();
      aVector.PS.z = SpinBox2_3->GetValue() - SpinBox1_3->GetValue();
    } else if (GetConstructorId() == 1) {
      aVector.PS.x = SpinBox1_1->GetValue();
      aVector.PS.y = SpinBox1_2->GetValue();
      aVector.PS.z = SpinBox1_3->GetValue();
    }

    QStringList aParameters;
    aParameters << SpinBox1_1->text();
    if (GetConstructorId() == 0)
      aParameters << SpinBox2_1->text();
    aParameters << SpinBox1_2->text();
    if (GetConstructorId() == 0)
      aParameters << SpinBox2_2->text();
    aParameters << SpinBox1_3->text();
    if (GetConstructorId() == 0)
      aParameters << SpinBox2_3->text();

    int actionButton = ActionGroup->checkedId();
    bool makeGroups = ( MakeGroupsCheck->isEnabled() && MakeGroupsCheck->isChecked() );
    QStringList anEntryList;
    try {
      SUIT_OverrideCursor aWaitCursor;
      SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditor();
      switch ( actionButton ) {
      case MOVE_ELEMS_BUTTON:
        if(CheckBoxMesh->isChecked())
          aMeshEditor->TranslateObject(mySelectedObject, aVector, false);
        else
          aMeshEditor->Translate(anElementsId, aVector, false);
        if( !myMesh->_is_nil())
          myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
        break;
      case COPY_ELEMS_BUTTON:
        if ( makeGroups ) {
          SMESH::ListOfGroups_var groups;
          if(CheckBoxMesh->isChecked())
            groups = aMeshEditor->TranslateObjectMakeGroups(mySelectedObject,aVector);
          else
            groups = aMeshEditor->TranslateMakeGroups(anElementsId, aVector);
        }
        else {
          if(CheckBoxMesh->isChecked())
            aMeshEditor->TranslateObject(mySelectedObject, aVector, true);
          else
            aMeshEditor->Translate(anElementsId, aVector, true);
        }
        if( !myMesh->_is_nil())
          myMesh->SetParameters( aParameters.join(":").toLatin1().constData() );
        break;
      case MAKE_MESH_BUTTON:
        SMESH::SMESH_Mesh_var mesh;
        if (CheckBoxMesh->isChecked())
          mesh = aMeshEditor->TranslateObjectMakeMesh(mySelectedObject, aVector, makeGroups,
                                                      LineEditNewMesh->text().toLatin1().data());
        else
          mesh = aMeshEditor->TranslateMakeMesh(anElementsId, aVector, 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
        }
      }
    } 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_TranslationDlg::ClickOnCancel ( ) [private, slot]

Definition at line 594 of file SMESHGUI_TranslationDlg.cxx.

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

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

{
  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_TranslationDlg::ClickOnHelp ( ) [private, slot]

Definition at line 613 of file SMESHGUI_TranslationDlg.cxx.

References myHelpFileName, and SMESHGUI_PreviewDlg.mySMESHGUI.

Referenced by keyPressEvent(), and SMESHGUI_TranslationDlg().

{
  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_TranslationDlg::ClickOnOk ( ) [private, slot]
void SMESHGUI_TranslationDlg::closeEvent ( QCloseEvent *  ) [private]

Definition at line 932 of file SMESHGUI_TranslationDlg.cxx.

References ClickOnCancel().

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

Definition at line 396 of file SMESHGUI_TranslationDlg.cxx.

References CheckBoxMesh, SMESH.GetViewWindow(), LineEditElements, myEditCurrentArgument, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, onDisplaySimulation(), onSelectMesh(), SelectButton1, SelectButton2, SelectionIntoArgument(), SMESH.SetPointRepresentation(), SpinBox2_1, SpinBox2_2, SpinBox2_3, TextLabel1, TextLabel1_1, TextLabel1_2, TextLabel1_3, TextLabel2, TextLabel2_1, TextLabel2_2, and TextLabel2_3.

Referenced by ClickOnApply(), and SMESHGUI_TranslationDlg().

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

  switch (constructorId) {
  case 0:
    {
      TextLabel1->setText(tr("SMESH_POINT_1"));
      TextLabel1_1->setText(tr("SMESH_X"));
      TextLabel1_2->setText(tr("SMESH_Y"));
      TextLabel1_3->setText(tr("SMESH_Z"));

      SelectButton1->show();
      TextLabel2->show();
      SelectButton2->show();
      TextLabel2_1->show();
      SpinBox2_1->show();
      TextLabel2_2->show();
      SpinBox2_2->show();
      TextLabel2_3->show();
      SpinBox2_3->show();
      break;
    }
  case 1:
    {
      TextLabel1->setText(tr("SMESH_VECTOR"));
      TextLabel1_1->setText(tr("SMESH_DX"));
      TextLabel1_2->setText(tr("SMESH_DY"));
      TextLabel1_3->setText(tr("SMESH_DZ"));

      SelectButton1->hide();
      TextLabel2->hide();
      SelectButton2->hide();
      TextLabel2_1->hide();
      SpinBox2_1->hide();
      TextLabel2_2->hide();
      SpinBox2_2->hide();
      TextLabel2_3->hide();
      SpinBox2_3->hide();
      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()));

  onDisplaySimulation(true);

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

Definition at line 922 of file SMESHGUI_TranslationDlg.cxx.

References ActivateThisDialog(), and ConstructorsBox.

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

Definition at line 1045 of file SMESHGUI_TranslationDlg.cxx.

References GroupConstructors.

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

{
  return GroupConstructors->checkedId();
}
void SMESHGUI_TranslationDlg::hideEvent ( QHideEvent *  ) [private]

Definition at line 942 of file SMESHGUI_TranslationDlg.cxx.

References ClickOnCancel().

{
  if (!isMinimized())
    ClickOnCancel();
}
void SMESHGUI_PreviewDlg::hidePreview ( ) [inherited]
void SMESHGUI_TranslationDlg::Init ( bool  ResetControls = true) [private]

Definition at line 359 of file SMESHGUI_TranslationDlg.cxx.

References ActionGroup, buttonApply, buttonOk, CheckBoxMesh, LineEditElements, MOVE_ELEMS_BUTTON, myActor, myBusy, myEditCurrentArgument, myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, onDisplaySimulation(), onSelectMesh(), SMESHGUI_SpinBox.SetValue(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox2_1, SpinBox2_2, and SpinBox2_3.

Referenced by ClickOnApply(), and SMESHGUI_TranslationDlg().

{
  myBusy = false;

  myEditCurrentArgument = 0;
  LineEditElements->clear();
  myElementsId = "";
  myNbOkElements = 0;

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

  myActor = 0;
  myMesh = SMESH::SMESH_Mesh::_nil();

  if (ResetControls) {
    SpinBox1_1->SetValue(0.0);
    SpinBox1_2->SetValue(0.0);
    SpinBox1_3->SetValue(0.0);
    SpinBox2_1->SetValue(0.0);
    SpinBox2_2->SetValue(0.0);
    SpinBox2_3->SetValue(0.0);

    ActionGroup->button( MOVE_ELEMS_BUTTON )->setChecked(true);
    CheckBoxMesh->setChecked(false);
//     MakeGroupsCheck->setChecked(false);
//     MakeGroupsCheck->setEnabled(false);
    myPreviewCheckBox->setChecked(false);
    onDisplaySimulation(false);
    onSelectMesh(false);
  }
}
bool SMESHGUI_PreviewDlg::isApplyAndClose ( ) const [protected, virtual, inherited]
bool SMESHGUI_TranslationDlg::isValid ( ) [private]

Definition at line 1092 of file SMESHGUI_TranslationDlg.cxx.

References GetConstructorId(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox2_1, SpinBox2_2, and SpinBox2_3.

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;
  if (GetConstructorId() == 0) {
    ok = SpinBox2_1->isValid( msg, true ) && ok;
    ok = SpinBox2_2->isValid( msg, true ) && ok;
    ok = SpinBox2_3->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_TranslationDlg::keyPressEvent ( QKeyEvent *  e) [private]

Definition at line 1054 of file SMESHGUI_TranslationDlg.cxx.

References ClickOnHelp().

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

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

Definition at line 991 of file SMESHGUI_TranslationDlg.cxx.

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

Referenced by SMESHGUI_TranslationDlg().

{
  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_TranslationDlg::onDisplaySimulation ( bool  toDisplayPreview) [protected, virtual, slot]

Reimplemented from SMESHGUI_PreviewDlg.

Definition at line 1120 of file SMESHGUI_TranslationDlg.cxx.

References ActionGroup, CheckBoxMesh, COPY_ELEMS_BUTTON, GetConstructorId(), SMESHGUI_SpinBox.GetValue(), SMESHGUI_PreviewDlg.hidePreview(), isValid(), MAKE_MESH_BUTTON, myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectedObject, SMESHGUI_PreviewDlg.mySimulation, SMESH.DirStruct.PS, SMESHGUI_MeshEditPreview.SetData(), SpinBox1_1, SpinBox1_2, SpinBox1_3, SpinBox2_1, SpinBox2_2, and SpinBox2_3.

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

                                                                         {
  if (myPreviewCheckBox->isChecked() && toDisplayPreview) {
    
    if (isValid() && 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::DirStruct aVector;
      if (GetConstructorId() == 0) {
        aVector.PS.x = SpinBox2_1->GetValue() - SpinBox1_1->GetValue();
        aVector.PS.y = SpinBox2_2->GetValue() - SpinBox1_2->GetValue();
        aVector.PS.z = SpinBox2_3->GetValue() - SpinBox1_3->GetValue();
      } else if (GetConstructorId() == 1) {
        aVector.PS.x = SpinBox1_1->GetValue();
        aVector.PS.y = SpinBox1_2->GetValue();
        aVector.PS.z = SpinBox1_3->GetValue();
      }

      try {
        bool copy = ( ActionGroup->checkedId() == COPY_ELEMS_BUTTON ||
                      ActionGroup->checkedId() == MAKE_MESH_BUTTON );
        SUIT_OverrideCursor aWaitCursor;
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditPreviewer();
        if(CheckBoxMesh->isChecked())
          aMeshEditor->TranslateObject(mySelectedObject, aVector, copy);
        else
          aMeshEditor->Translate(anElementsId, aVector, copy);
        
        SMESH::MeshPreviewStruct_var aMeshPreviewStruct = aMeshEditor->GetPreviewData();
        mySimulation->SetData(aMeshPreviewStruct._retn());      
      } catch (...) {
        
      }
    }
    else {
      hidePreview();
    }
  } else {
    hidePreview();
  }
}
void SMESHGUI_TranslationDlg::onSelectMesh ( bool  toSelectMesh) [private, slot]

Definition at line 952 of file SMESHGUI_TranslationDlg.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_TranslationDlg().

{
  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_TranslationDlg::onTextChange ( const QString &  theNewText) [private, slot]

Definition at line 637 of file SMESHGUI_TranslationDlg.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_TranslationDlg().

{
  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_TranslationDlg::SelectionIntoArgument ( ) [private, slot]

Definition at line 688 of file SMESHGUI_TranslationDlg.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, SpinBox2_1, SpinBox2_2, SpinBox2_3, 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_TranslationDlg().

{
  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*)SpinBox2_1) {
      SpinBox2_1->SetValue(x);
      SpinBox2_2->SetValue(y);
      SpinBox2_3->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_TranslationDlg::SetEditCurrentArgument ( ) [private, slot]

Definition at line 844 of file SMESHGUI_TranslationDlg.cxx.

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

Referenced by SMESHGUI_TranslationDlg().

{
  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 );
  } else if (send == SelectButton2) {
    myEditCurrentArgument = (QWidget*)SpinBox2_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_TranslationDlg::setFilters ( ) [private, slot]
void SMESHGUI_PreviewDlg::setIsApplyAndClose ( const bool  theFlag) [protected, virtual, inherited]
void SMESHGUI_TranslationDlg::setNewMeshName ( ) [private]

Definition at line 1024 of file SMESHGUI_TranslationDlg.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, "translated"));
  }
}
void SMESHGUI_PreviewDlg::showPreview ( ) [inherited]
void SMESHGUI_PreviewDlg::toDisplaySimulation ( ) [protected, slot, inherited]

Field Documentation

Definition at line 124 of file SMESHGUI_TranslationDlg.h.

Referenced by SMESHGUI_TranslationDlg().

QButtonGroup* SMESHGUI_TranslationDlg.ActionGroup [private]
QPushButton* SMESHGUI_TranslationDlg.buttonApply [private]
QPushButton* SMESHGUI_TranslationDlg.buttonCancel [private]

Definition at line 99 of file SMESHGUI_TranslationDlg.h.

Referenced by SMESHGUI_TranslationDlg().

QPushButton* SMESHGUI_TranslationDlg.buttonHelp [private]

Definition at line 101 of file SMESHGUI_TranslationDlg.h.

Referenced by SMESHGUI_TranslationDlg().

QPushButton* SMESHGUI_TranslationDlg.buttonOk [private]

Definition at line 94 of file SMESHGUI_TranslationDlg.h.

Referenced by GetConstructorId(), and SMESHGUI_TranslationDlg().

Definition at line 88 of file SMESHGUI_TranslationDlg.h.

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

Definition at line 86 of file SMESHGUI_TranslationDlg.h.

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

QPushButton* SMESHGUI_TranslationDlg.myFilterBtn [private]

Definition at line 131 of file SMESHGUI_TranslationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_TranslationDlg().

Definition at line 132 of file SMESHGUI_TranslationDlg.h.

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

Definition at line 129 of file SMESHGUI_TranslationDlg.h.

Referenced by ClickOnHelp(), and SMESHGUI_TranslationDlg().

Definition at line 77 of file SMESHGUI_TranslationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_TranslationDlg().

SMESH::SMESH_Mesh_var SMESHGUI_TranslationDlg.myMesh [private]
QCheckBox* SMESHGUI_PreviewDlg.myPreviewCheckBox [protected, inherited]
SMESH::SMESH_IDSource_var SMESHGUI_TranslationDlg.mySelectedObject [private]
LightApp_SelectionMgr* SMESHGUI_TranslationDlg.mySelectionMgr [private]
SVTK_Selector* SMESHGUI_TranslationDlg.mySelector [private]
SMESHGUI* SMESHGUI_PreviewDlg.mySMESHGUI [protected, inherited]

Definition at line 61 of file SMESHGUI_PreviewDlg.h.

Referenced by ActivateThisDialog(), SMESHGUI_SymmetryDlg.ActivateThisDialog(), SMESHGUI_ScaleDlg.ActivateThisDialog(), SMESHGUI_RotationDlg.ActivateThisDialog(), SMESHGUI_RevolutionDlg.ActivateThisDialog(), SMESHGUI_ExtrusionDlg.ActivateThisDialog(), SMESHGUI_ExtrusionAlongPathDlg.ActivateThisDialog(), ClickOnApply(), SMESHGUI_SymmetryDlg.ClickOnApply(), SMESHGUI_ScaleDlg.ClickOnApply(), SMESHGUI_RotationDlg.ClickOnApply(), SMESHGUI_RevolutionDlg.ClickOnApply(), SMESHGUI_ExtrusionDlg.ClickOnApply(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnApply(), ClickOnCancel(), SMESHGUI_SymmetryDlg.ClickOnCancel(), SMESHGUI_ScaleDlg.ClickOnCancel(), SMESHGUI_RotationDlg.ClickOnCancel(), ClickOnHelp(), SMESHGUI_SymmetryDlg.ClickOnHelp(), SMESHGUI_ScaleDlg.ClickOnHelp(), SMESHGUI_RotationDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.ClickOnHelp(), SMESHGUI_ExtrusionDlg.ClickOnHelp(), SMESHGUI_ExtrusionAlongPathDlg.ClickOnHelp(), SMESHGUI_RevolutionDlg.closeEvent(), SMESHGUI_ExtrusionDlg.closeEvent(), ConstructorsClicked(), SMESHGUI_SymmetryDlg.ConstructorsClicked(), SMESHGUI_ScaleDlg.ConstructorsClicked(), SMESHGUI_RevolutionDlg.ConstructorsClicked(), SMESHGUI_ExtrusionDlg.ConstructorsClicked(), SMESHGUI_ExtrusionAlongPathDlg.ConstructorsClicked(), DeactivateActiveDialog(), SMESHGUI_SymmetryDlg.DeactivateActiveDialog(), SMESHGUI_ScaleDlg.DeactivateActiveDialog(), SMESHGUI_RotationDlg.DeactivateActiveDialog(), SMESHGUI_RevolutionDlg.DeactivateActiveDialog(), SMESHGUI_ExtrusionDlg.DeactivateActiveDialog(), SMESHGUI_ExtrusionAlongPathDlg.DeactivateActiveDialog(), onSelectMesh(), SMESHGUI_SymmetryDlg.onSelectMesh(), SMESHGUI_ScaleDlg.onSelectMesh(), SMESHGUI_RotationDlg.onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectMesh(), SMESHGUI_ExtrusionDlg.onSelectMesh(), SMESHGUI_RevolutionDlg.onSelectVectorMenu(), onTextChange(), SMESHGUI_SymmetryDlg.onTextChange(), SMESHGUI_ScaleDlg.onTextChange(), SMESHGUI_RotationDlg.onTextChange(), SMESHGUI_RevolutionDlg.onTextChange(), SMESHGUI_ExtrusionDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.onTextChange(), SMESHGUI_ExtrusionAlongPathDlg.reject(), SetEditCurrentArgument(), SMESHGUI_SymmetryDlg.SetEditCurrentArgument(), SMESHGUI_ScaleDlg.SetEditCurrentArgument(), SMESHGUI_RotationDlg.SetEditCurrentArgument(), SMESHGUI_RevolutionDlg.SetEditCurrentArgument(), SMESHGUI_ExtrusionDlg.SetEditCurrentArgument(), SMESHGUI_ExtrusionAlongPathDlg.SetEditCurrentArgument(), setFilters(), SMESHGUI_SymmetryDlg.setFilters(), SMESHGUI_ScaleDlg.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_ScaleDlg(), SMESHGUI_SymmetryDlg.SMESHGUI_SymmetryDlg(), and SMESHGUI_TranslationDlg().

QRadioButton* SMESHGUI_TranslationDlg.RadioButton1 [private]

Definition at line 95 of file SMESHGUI_TranslationDlg.h.

Referenced by SMESHGUI_TranslationDlg().

QRadioButton* SMESHGUI_TranslationDlg.RadioButton2 [private]

Definition at line 96 of file SMESHGUI_TranslationDlg.h.

Referenced by SMESHGUI_TranslationDlg().

QPushButton* SMESHGUI_TranslationDlg.SelectButton1 [private]
QPushButton* SMESHGUI_TranslationDlg.SelectButton2 [private]

Definition at line 104 of file SMESHGUI_TranslationDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_TranslationDlg().

Definition at line 107 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 109 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 111 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 113 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 115 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 117 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 119 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 121 of file SMESHGUI_TranslationDlg.h.

Referenced by ConstructorsClicked(), and SMESHGUI_TranslationDlg().

Definition at line 103 of file SMESHGUI_TranslationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_TranslationDlg().

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