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

SMESHGUI_RotationDlg Class Reference

#include <SMESHGUI_RotationDlg.h>

Inheritance diagram for SMESHGUI_RotationDlg:
Inheritance graph
[legend]

Public Member Functions

 SMESHGUI_RotationDlg (SMESHGUI *)
 ~SMESHGUI_RotationDlg ()
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 ClickOnOk ()
void ClickOnCancel ()
bool ClickOnApply ()
void ClickOnHelp ()
void SetEditCurrentArgument ()
void SelectionIntoArgument ()
void DeactivateActiveDialog ()
void ActivateThisDialog ()
void onTextChange (const QString &)
void onSelectMesh (bool)
void onVectorChanged ()
void onActionClicked (int)
void setFilters ()

Private Member Functions

void Init (bool=true)
void closeEvent (QCloseEvent *)
void enterEvent (QEvent *)
void hideEvent (QHideEvent *)
void keyPressEvent (QKeyEvent *)
bool IsAxisOk ()
void setNewMeshName ()
bool isValid ()

Private Attributes

SMESHGUI_IdValidatormyIdValidator
LightApp_SelectionMgr * mySelectionMgr
int myNbOkElements
QString myElementsId
SVTK_Selector * mySelector
QWidgetmyEditCurrentArgument
int myConstructorId
bool myBusy
SMESH::SMESH_Mesh_var myMesh
SMESH_ActormyActor
SMESH_LogicalFiltermyMeshOrSubMeshOrGroupFilter
SMESH::SMESH_IDSource_var mySelectedObject
QGroupBoxGroupConstructors
QRadioButton * RadioButton1
QGroupBoxGroupButtons
QPushButton * buttonOk
QPushButton * buttonCancel
QPushButton * buttonApply
QPushButton * buttonHelp
QGroupBoxGroupArguments
QGroupBoxGroupAxis
QLabel * TextLabelElements
QPushButton * SelectElementsButton
QLineEdit * LineEditElements
QCheckBox * CheckBoxMesh
QLabel * TextLabelPoint
QPushButton * SelectPointButton
QLabel * TextLabelX
SMESHGUI_SpinBoxSpinBox_X
QLabel * TextLabelY
SMESHGUI_SpinBoxSpinBox_Y
QLabel * TextLabelZ
SMESHGUI_SpinBoxSpinBox_Z
QLabel * TextLabelVector
QPushButton * SelectVectorButton
QLabel * TextLabelDX
SMESHGUI_SpinBoxSpinBox_DX
QLabel * TextLabelDY
SMESHGUI_SpinBoxSpinBox_DY
QLabel * TextLabelDZ
SMESHGUI_SpinBoxSpinBox_DZ
QLabel * TextLabelAngle
SMESHGUI_SpinBoxSpinBox_Angle
QGroupBoxActionBox
QButtonGroup * ActionGroup
QCheckBox * MakeGroupsCheck
QLineEdit * LineEditNewMesh
QString myHelpFileName
QPushButton * myFilterBtn
SMESHGUI_FilterDlgmyFilterDlg

Detailed Description

Definition at line 59 of file SMESHGUI_RotationDlg.h.


Constructor & Destructor Documentation

SMESHGUI_RotationDlg::SMESHGUI_RotationDlg ( SMESHGUI theModule)

Definition at line 94 of file SMESHGUI_RotationDlg.cxx.

References ActionBox, ActionGroup, buttonApply, buttonCancel, buttonHelp, buttonOk, CheckBoxMesh, ClickOnApply(), ClickOnCancel(), ClickOnHelp(), ClickOnOk(), SMESHGUI_PreviewDlg.connectPreviewControl(), COORD_MAX, COORD_MIN, COPY_ELEMS_BUTTON, DeactivateActiveDialog(), SMESH.GetResourceMgr(), SMESH.GetSelector(), SMESH.GetViewWindow(), GROUP, GroupArguments, GroupAxis, GroupButtons, GroupConstructors, Init(), LineEditElements, LineEditNewMesh, SMESH_LogicalFilter.LO_OR, MAKE_MESH_BUTTON, MakeGroupsCheck, MARGIN, MESHorSUBMESH, MOVE_ELEMS_BUTTON, myConstructorId, myFilterBtn, myHelpFileName, myIdValidator, myMeshOrSubMeshOrGroupFilter, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectionMgr, mySelector, SMESHGUI_PreviewDlg.mySMESHGUI, onActionClicked(), onSelectMesh(), onTextChange(), onVectorChanged(), RadioButton1, SMESHGUI_SpinBox.RangeStepAndValidator(), SelectElementsButton, SelectionIntoArgument(), SelectPointButton, SelectVectorButton, SMESHGUI.SetActiveDialogBox(), SetEditCurrentArgument(), setFilters(), SPACING, SpinBox_Angle, SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, SpinBox_Z, TextLabelAngle, TextLabelDX, TextLabelDY, TextLabelDZ, TextLabelElements, TextLabelPoint, TextLabelVector, TextLabelX, TextLabelY, TextLabelZ, 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_ROTATION")));
  QPixmap image1 (SMESH::GetResourceMgr( mySMESHGUI )->loadPixmap("SMESH", tr("ICON_SELECT")));

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

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

  /***************************************************************/
  GroupConstructors = new QGroupBox(tr("SMESH_ROTATION"), this);
  QButtonGroup* ButtonGroup = new QButtonGroup(this);
  QHBoxLayout* GroupConstructorsLayout = new QHBoxLayout(GroupConstructors);
  GroupConstructorsLayout->setSpacing(SPACING);
  GroupConstructorsLayout->setMargin(MARGIN);

  RadioButton1= new QRadioButton(GroupConstructors);
  RadioButton1->setIcon(image0);

  GroupConstructorsLayout->addWidget(RadioButton1);
  ButtonGroup->addButton(RadioButton1, 0);

  /***************************************************************/
  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(image1);
  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 axis defining
  GroupAxis = new QGroupBox(tr("SMESH_AXIS"), GroupArguments);
  QGridLayout* GroupAxisLayout = new QGridLayout(GroupAxis);
  GroupAxisLayout->setSpacing(SPACING);
  GroupAxisLayout->setMargin(MARGIN);

  TextLabelPoint = new QLabel(tr("SMESH_POINT"), GroupAxis);
  SelectPointButton  = new QPushButton(GroupAxis);
  SelectPointButton->setIcon(image1);

  TextLabelX = new QLabel(tr("SMESH_X"), GroupAxis);
  SpinBox_X = new SMESHGUI_SpinBox(GroupAxis);
  TextLabelY = new QLabel(tr("SMESH_Y"), GroupAxis);
  SpinBox_Y = new SMESHGUI_SpinBox(GroupAxis);
  TextLabelZ = new QLabel(tr("SMESH_Z"), GroupAxis);
  SpinBox_Z = new SMESHGUI_SpinBox(GroupAxis);

  TextLabelVector = new QLabel(tr("SMESH_VECTOR"), GroupAxis);
  SelectVectorButton = new QPushButton(GroupAxis);
  SelectVectorButton->setIcon(image1);

  TextLabelDX = new QLabel(tr("SMESH_DX"), GroupAxis);
  SpinBox_DX = new SMESHGUI_SpinBox(GroupAxis);
  TextLabelDY = new QLabel(tr("SMESH_DY"), GroupAxis);
  SpinBox_DY = new SMESHGUI_SpinBox(GroupAxis);
  TextLabelDZ = new QLabel(tr("SMESH_DZ"), GroupAxis);
  SpinBox_DZ = new SMESHGUI_SpinBox(GroupAxis);

  GroupAxisLayout->addWidget(TextLabelPoint,     0, 0);
  GroupAxisLayout->addWidget(SelectPointButton,  0, 1);
  GroupAxisLayout->addWidget(TextLabelX,         0, 2);
  GroupAxisLayout->addWidget(SpinBox_X,          0, 3);
  GroupAxisLayout->addWidget(TextLabelY,         0, 4);
  GroupAxisLayout->addWidget(SpinBox_Y,          0, 5);
  GroupAxisLayout->addWidget(TextLabelZ,         0, 6);
  GroupAxisLayout->addWidget(SpinBox_Z,          0, 7);
  GroupAxisLayout->addWidget(TextLabelVector,    1, 0);
  GroupAxisLayout->addWidget(SelectVectorButton, 1, 1);
  GroupAxisLayout->addWidget(TextLabelDX,        1, 2);
  GroupAxisLayout->addWidget(SpinBox_DX,         1, 3);
  GroupAxisLayout->addWidget(TextLabelDY,        1, 4);
  GroupAxisLayout->addWidget(SpinBox_DY,         1, 5);
  GroupAxisLayout->addWidget(TextLabelDZ,        1, 6);
  GroupAxisLayout->addWidget(SpinBox_DZ,         1, 7);

  // Controls for angle defining
  TextLabelAngle = new QLabel(tr("SMESH_ANGLE"), GroupArguments);
  SpinBox_Angle = new SMESHGUI_SpinBox(GroupArguments);

  // action switch
  ActionBox = new QGroupBox(GroupArguments);
  ActionGroup = new QButtonGroup(GroupArguments);
  QVBoxLayout* ActionBoxLayout = new QVBoxLayout(ActionBox);
  ActionBoxLayout->setSpacing(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);

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


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

  GroupArgumentsLayout->addWidget(TextLabelElements,    0, 0);
  GroupArgumentsLayout->addWidget(SelectElementsButton, 0, 1);
  GroupArgumentsLayout->addWidget(LineEditElements,     0, 2, 1, 1);
  GroupArgumentsLayout->addWidget(myFilterBtn,          0, 3);
  GroupArgumentsLayout->addWidget(CheckBoxMesh,         1, 0, 1, 4);
  GroupArgumentsLayout->addWidget(GroupAxis,            2, 0, 1, 4);
  GroupArgumentsLayout->addWidget(TextLabelAngle,       3, 0, 1, 2);
  GroupArgumentsLayout->addWidget(SpinBox_Angle,        3, 2);
  GroupArgumentsLayout->addWidget(ActionBox,            4, 0, 3, 3);
  GroupArgumentsLayout->addWidget(MakeGroupsCheck,      5, 3);
  GroupArgumentsLayout->addWidget(LineEditNewMesh,      6, 3);
  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_RotationDlgLayout->addWidget(GroupConstructors);
  SMESHGUI_RotationDlgLayout->addWidget(GroupArguments);
  SMESHGUI_RotationDlgLayout->addWidget(GroupButtons);

  /* Initialisations */
  SpinBox_X->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_Y->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_Z->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_DX->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_DY->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");
  SpinBox_DZ->RangeStepAndValidator(COORD_MIN, COORD_MAX, 10.0, "length_precision");

  SpinBox_Angle->RangeStepAndValidator(-360.0, +360.0, 5.0, "angle_precision");

  myConstructorId = 0;
  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 = "rotation_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(SelectElementsButton, SIGNAL (clicked()), this, SLOT(SetEditCurrentArgument()));
  connect(SelectPointButton, SIGNAL (clicked()),    this, SLOT(SetEditCurrentArgument()));
  connect(SelectVectorButton, SIGNAL (clicked()),   this, SLOT(SetEditCurrentArgument()));

  connect(SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(onVectorChanged()));
  connect(SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(onVectorChanged()));
  connect(SpinBox_DZ, SIGNAL(valueChanged(double)), this, SLOT(onVectorChanged()));

  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(SpinBox_X,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Y,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Z,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_DX,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_DY,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_DZ,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));
  connect(SpinBox_Angle,  SIGNAL(valueChanged(double)), this, SLOT(toDisplaySimulation()));

  //To Connect preview check box
  connectPreviewControl();

  onActionClicked(MOVE_ELEMS_BUTTON);
}
SMESHGUI_RotationDlg::~SMESHGUI_RotationDlg ( )

Definition at line 338 of file SMESHGUI_RotationDlg.cxx.

References myFilterDlg.

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

Member Function Documentation

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

Definition at line 837 of file SMESHGUI_RotationDlg.cxx.

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

Referenced by enterEvent().

{
  /* Emit a signal to deactivate the active dialog */
  mySMESHGUI->EmitSignalDeactivateDialog();
  GroupConstructors->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_RotationDlg::ClickOnApply ( ) [private, slot]

Definition at line 393 of file SMESHGUI_RotationDlg.cxx.

References _PTR(), ActionGroup, CheckBoxMesh, COPY_ELEMS_BUTTON, SMESHGUI_SpinBox.GetValue(), Init(), SMESHGUI.isActiveStudyLocked(), SMESHGUI_PreviewDlg.isApplyAndClose(), IsAxisOk(), isValid(), LineEditNewMesh, MAKE_MESH_BUTTON, MakeGroupsCheck, PAL_MESH_041_mesh.mesh, SMESHGUI.Modified(), MOVE_ELEMS_BUTTON, myElementsId, myMesh, myNbOkElements, mySelectedObject, SMESHGUI_PreviewDlg.mySMESHGUI, PI, SelectionIntoArgument(), SpinBox_Angle, SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, SpinBox_Z, SMESH.UpdateView(), SMESH.AxisStruct.vx, SMESH.AxisStruct.vy, SMESH.AxisStruct.vz, SMESH.AxisStruct.x, SMESH.AxisStruct.y, and SMESH.AxisStruct.z.

Referenced by ClickOnOk(), and SMESHGUI_RotationDlg().

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

  if( !isValid() )
    return false;

  if (myNbOkElements && IsAxisOk()) {
    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::AxisStruct anAxis;

    anAxis.x =  SpinBox_X->GetValue();
    anAxis.y =  SpinBox_Y->GetValue();
    anAxis.z =  SpinBox_Z->GetValue();;
    anAxis.vx = SpinBox_DX->GetValue();
    anAxis.vy = SpinBox_DY->GetValue();
    anAxis.vz = SpinBox_DZ->GetValue();

    double anAngle = (SpinBox_Angle->GetValue())*PI/180;

    QStringList aParameters;
    aParameters << SpinBox_X->text();
    aParameters << SpinBox_Y->text();
    aParameters << SpinBox_Z->text();
    aParameters << SpinBox_DX->text();
    aParameters << SpinBox_DY->text();
    aParameters << SpinBox_DZ->text();
    aParameters << SpinBox_Angle->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->RotateObject(mySelectedObject, anAxis, anAngle, false);
        else
            aMeshEditor->Rotate(anElementsId, anAxis, anAngle, 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->RotateObjectMakeGroups(mySelectedObject, anAxis, anAngle);
          else
            groups = aMeshEditor->RotateMakeGroups(anElementsId, anAxis, anAngle);
        }
        else {
          if(CheckBoxMesh->isChecked())
            aMeshEditor->RotateObject(mySelectedObject, anAxis, anAngle, true);
          else
            aMeshEditor->Rotate(anElementsId, anAxis, anAngle, 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->RotateObjectMakeMesh(mySelectedObject, anAxis, anAngle, makeGroups,
                                                   LineEditNewMesh->text().toLatin1().data());
        else
          mesh = aMeshEditor->RotateMakeMesh(anElementsId, anAxis, anAngle, 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);
    mySelectedObject = SMESH::SMESH_IDSource::_nil();
    SelectionIntoArgument();

    SMESHGUI::Modified();
  }

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

Definition at line 520 of file SMESHGUI_RotationDlg.cxx.

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

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

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

Definition at line 539 of file SMESHGUI_RotationDlg.cxx.

References myHelpFileName, and SMESHGUI_PreviewDlg.mySMESHGUI.

Referenced by keyPressEvent(), and SMESHGUI_RotationDlg().

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

Definition at line 866 of file SMESHGUI_RotationDlg.cxx.

References ClickOnCancel().

{
  /* same than click on cancel button */
  ClickOnCancel();
}
void SMESHGUI_PreviewDlg::connectPreviewControl ( ) [protected, inherited]
void SMESHGUI_RotationDlg::DeactivateActiveDialog ( ) [private, slot]
void SMESHGUI_RotationDlg::enterEvent ( QEvent *  ) [private]

Definition at line 856 of file SMESHGUI_RotationDlg.cxx.

References ActivateThisDialog(), and GroupConstructors.

{
  if (!GroupConstructors->isEnabled())
    ActivateThisDialog();
}
void SMESHGUI_RotationDlg::hideEvent ( QHideEvent *  ) [private]

Definition at line 876 of file SMESHGUI_RotationDlg.cxx.

References ClickOnCancel().

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

Definition at line 351 of file SMESHGUI_RotationDlg.cxx.

References ActionGroup, buttonApply, buttonOk, CheckBoxMesh, LineEditElements, MOVE_ELEMS_BUTTON, myActor, myBusy, myEditCurrentArgument, myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, onDisplaySimulation(), onSelectMesh(), SMESHGUI_SpinBox.SetValue(), SpinBox_Angle, SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, and SpinBox_Z.

Referenced by ClickOnApply(), and SMESHGUI_RotationDlg().

{
  myBusy = false;

  myEditCurrentArgument = (QWidget*)LineEditElements;
  LineEditElements->setFocus();
  myElementsId = "";
  myNbOkElements = 0;

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

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

  if (ResetControls) {
    SpinBox_X->SetValue(0.0);
    SpinBox_Y->SetValue(0.0);
    SpinBox_Z->SetValue(0.0);
    SpinBox_DX->SetValue(0.0);
    SpinBox_DY->SetValue(0.0);
    SpinBox_DZ->SetValue(0.0);

    SpinBox_Angle->SetValue(45);

    ActionGroup->button( MOVE_ELEMS_BUTTON )->setChecked(true);
    CheckBoxMesh->setChecked(false);
    myPreviewCheckBox->setChecked(false);
    onDisplaySimulation(false);

//     MakeGroupsCheck->setChecked(false);
//     MakeGroupsCheck->setEnabled(false);
//    onSelectMesh(false);
  }

  onSelectMesh(CheckBoxMesh->isChecked());
}
bool SMESHGUI_PreviewDlg::isApplyAndClose ( ) const [protected, virtual, inherited]
bool SMESHGUI_RotationDlg::IsAxisOk ( ) [private]
bool SMESHGUI_RotationDlg::isValid ( ) [private]

Definition at line 1044 of file SMESHGUI_RotationDlg.cxx.

References SpinBox_Angle, SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, and SpinBox_Z.

Referenced by ClickOnApply(), and onDisplaySimulation().

{
  bool ok = true;
  QString msg;

  ok = SpinBox_X->isValid( msg, true ) && ok;
  ok = SpinBox_Y->isValid( msg, true ) && ok;
  ok = SpinBox_Z->isValid( msg, true ) && ok;
  ok = SpinBox_DX->isValid( msg, true ) && ok;
  ok = SpinBox_DY->isValid( msg, true ) && ok;
  ok = SpinBox_DZ->isValid( msg, true ) && ok;
  ok = SpinBox_Angle->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_RotationDlg::keyPressEvent ( QKeyEvent *  e) [private]

Definition at line 1006 of file SMESHGUI_RotationDlg.cxx.

References ClickOnHelp().

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

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

Definition at line 952 of file SMESHGUI_RotationDlg.cxx.

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

Referenced by SMESHGUI_RotationDlg().

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

Reimplemented from SMESHGUI_PreviewDlg.

Definition at line 1072 of file SMESHGUI_RotationDlg.cxx.

References ActionGroup, CheckBoxMesh, COPY_ELEMS_BUTTON, SMESHGUI_SpinBox.GetValue(), SMESHGUI_PreviewDlg.hidePreview(), IsAxisOk(), isValid(), MAKE_MESH_BUTTON, myElementsId, myMesh, myNbOkElements, SMESHGUI_PreviewDlg.myPreviewCheckBox, mySelectedObject, SMESHGUI_PreviewDlg.mySimulation, PI, SMESHGUI_MeshEditPreview.SetData(), SpinBox_Angle, SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, SpinBox_Z, SMESH.AxisStruct.vx, SMESH.AxisStruct.vy, SMESH.AxisStruct.vz, SMESH.AxisStruct.x, SMESH.AxisStruct.y, and SMESH.AxisStruct.z.

Referenced by Init(), and SelectionIntoArgument().

                                                                      {
  if (myPreviewCheckBox->isChecked() && toDisplayPreview) {
    if(myNbOkElements && isValid() && IsAxisOk()) {
      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::AxisStruct anAxis;
      
      anAxis.x =  SpinBox_X->GetValue();
      anAxis.y =  SpinBox_Y->GetValue();
      anAxis.z =  SpinBox_Z->GetValue();;
      anAxis.vx = SpinBox_DX->GetValue();
      anAxis.vy = SpinBox_DY->GetValue();
      anAxis.vz = SpinBox_DZ->GetValue();
      double anAngle = (SpinBox_Angle->GetValue())*PI/180;
      
      try {
        SUIT_OverrideCursor aWaitCursor;
        bool copy = ( ActionGroup->checkedId() == COPY_ELEMS_BUTTON  ||
                      ActionGroup->checkedId() == MAKE_MESH_BUTTON );
        SMESH::SMESH_MeshEditor_var aMeshEditor = myMesh->GetMeshEditPreviewer();
        if(CheckBoxMesh->isChecked())
          aMeshEditor->RotateObject(mySelectedObject, anAxis, anAngle, copy);
        else
          aMeshEditor->Rotate(anElementsId, anAxis, anAngle, copy);

        SMESH::MeshPreviewStruct_var aMeshPreviewStruct = aMeshEditor->GetPreviewData();
        mySimulation->SetData(aMeshPreviewStruct._retn());      
      } catch (...) {
        hidePreview();
      }
    }
    else {
      hidePreview();
    }
  } else {
    hidePreview();
  }
}
void SMESHGUI_RotationDlg::onSelectMesh ( bool  toSelectMesh) [private, slot]

Definition at line 886 of file SMESHGUI_RotationDlg.cxx.

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

Referenced by Init(), and SMESHGUI_RotationDlg().

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

Definition at line 563 of file SMESHGUI_RotationDlg.cxx.

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

Referenced by onSelectMesh(), and SMESHGUI_RotationDlg().

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

  if (myBusy) return;
  myBusy = true;

  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) {
    if (send == LineEditElements) {
      Handle(SALOME_InteractiveObject) anIO = myActor->getIO();

      TColStd_MapOfInteger newIndices;

      QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);
      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 && IsAxisOk()) {
    buttonOk->setEnabled(true);
    buttonApply->setEnabled(true);
  }

  myBusy = false;
}
void SMESHGUI_RotationDlg::onVectorChanged ( ) [private, slot]

Definition at line 935 of file SMESHGUI_RotationDlg.cxx.

References buttonApply, buttonOk, and IsAxisOk().

Referenced by SMESHGUI_RotationDlg().

{
  if (IsAxisOk()) {
    buttonOk->setEnabled(true);
    buttonApply->setEnabled(true);
  } else {
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  }
}
void SMESHGUI_RotationDlg::SelectionIntoArgument ( ) [private, slot]

Definition at line 615 of file SMESHGUI_RotationDlg.cxx.

References ActionGroup, buttonApply, buttonOk, CheckBoxMesh, SMESH.FindActorByEntry(), SMESH.FindActorByObject(), SMDS_Mesh.FindNode(), SMESH.GetMeshByIO(), SMESH.GetNameOfSelectedElements(), SMESH.GetNameOfSelectedIObjects(), SMESH.GetNameOfSelectedNodes(), SMESH_Actor.GetObject(), SMESHGUI_SpinBox.GetValue(), GroupButtons, Handle(), IsAxisOk(), LineEditElements, MakeGroupsCheck, MOVE_ELEMS_BUTTON, myActor, myBusy, myEditCurrentArgument, myElementsId, myMesh, myNbOkElements, mySelectedObject, mySelectionMgr, mySelector, onDisplaySimulation(), setNewMeshName(), SMESHGUI_SpinBox.SetValue(), SpinBox_DX, SpinBox_DY, SpinBox_DZ, SpinBox_X, SpinBox_Y, SpinBox_Z, SMDS_MeshNode.X(), ex13_hole1partial.x, SMDS_MeshNode.Y(), ex13_hole1partial.y, and SMDS_MeshNode.Z().

Referenced by ActivateThisDialog(), ClickOnApply(), onSelectMesh(), SetEditCurrentArgument(), and SMESHGUI_RotationDlg().

{
  if (myBusy) return;

  // clear
  myActor = 0;
  QString aString = "";

  myBusy = true;
  if (myEditCurrentArgument == (QWidget*)LineEditElements) {
    LineEditElements->setText(aString);
    myNbOkElements = 0;
    buttonOk->setEnabled(false);
    buttonApply->setEnabled(false);
  }
  myBusy = 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
        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*)SpinBox_X) {
      SpinBox_X->SetValue(x);
      SpinBox_Y->SetValue(y);
      SpinBox_Z->SetValue(z);
    } else if (myEditCurrentArgument == (QWidget*)SpinBox_DX) {
      SpinBox_DX->SetValue(x - SpinBox_X->GetValue());
      SpinBox_DY->SetValue(y - SpinBox_Y->GetValue());
      SpinBox_DZ->SetValue(z - SpinBox_Z->GetValue());
    }
  }

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

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

Definition at line 774 of file SMESHGUI_RotationDlg.cxx.

References CheckBoxMesh, SMESH.GetViewWindow(), LineEditElements, myConstructorId, myEditCurrentArgument, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, SMESHGUI_PreviewDlg.mySMESHGUI, SelectElementsButton, SelectionIntoArgument(), SelectPointButton, SelectVectorButton, SMESH.SetPointRepresentation(), SpinBox_DX, and SpinBox_X.

Referenced by SMESHGUI_RotationDlg().

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

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

  switch (myConstructorId) {
  case 0: /* default constructor */
    {
      SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI );
      if (send == SelectElementsButton) {
        myEditCurrentArgument = (QWidget*)LineEditElements;
        SMESH::SetPointRepresentation(false);
        if (CheckBoxMesh->isChecked()) {
          if ( aViewWindow )
            aViewWindow->SetSelectionMode(ActorSelection);
          mySelectionMgr->installFilter(myMeshOrSubMeshOrGroupFilter);
        } else {
          if ( aViewWindow )
            aViewWindow->SetSelectionMode( CellSelection );
        }
      } else if (send == SelectPointButton) {
        myEditCurrentArgument = (QWidget*)SpinBox_X;
        SMESH::SetPointRepresentation(true);
        if ( aViewWindow )
          aViewWindow->SetSelectionMode( NodeSelection );
      } else if (send == SelectVectorButton) {
        myEditCurrentArgument = (QWidget*)SpinBox_DX;
        SMESH::SetPointRepresentation(true);
        if ( aViewWindow )
          aViewWindow->SetSelectionMode( NodeSelection );
      }
      break;
    }

  }

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

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

Field Documentation

Definition at line 126 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

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

Definition at line 96 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

QPushButton* SMESHGUI_RotationDlg.buttonHelp [private]

Definition at line 98 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

QPushButton* SMESHGUI_RotationDlg.buttonOk [private]
QCheckBox* SMESHGUI_RotationDlg.CheckBoxMesh [private]

Definition at line 100 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 88 of file SMESHGUI_RotationDlg.h.

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

Definition at line 86 of file SMESHGUI_RotationDlg.h.

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

Definition at line 85 of file SMESHGUI_RotationDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_RotationDlg().

QPushButton* SMESHGUI_RotationDlg.myFilterBtn [private]

Definition at line 133 of file SMESHGUI_RotationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_RotationDlg().

Definition at line 134 of file SMESHGUI_RotationDlg.h.

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

Definition at line 131 of file SMESHGUI_RotationDlg.h.

Referenced by ClickOnHelp(), and SMESHGUI_RotationDlg().

Definition at line 78 of file SMESHGUI_RotationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_RotationDlg().

SMESH::SMESH_Mesh_var SMESHGUI_RotationDlg.myMesh [private]
QCheckBox* SMESHGUI_PreviewDlg.myPreviewCheckBox [protected, inherited]
SMESH::SMESH_IDSource_var SMESHGUI_RotationDlg.mySelectedObject [private]

Definition at line 90 of file SMESHGUI_RotationDlg.h.

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

LightApp_SelectionMgr* SMESHGUI_RotationDlg.mySelectionMgr [private]
SVTK_Selector* SMESHGUI_RotationDlg.mySelector [private]
SMESHGUI* SMESHGUI_PreviewDlg.mySMESHGUI [protected, inherited]

Definition at line 61 of file SMESHGUI_PreviewDlg.h.

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

QRadioButton* SMESHGUI_RotationDlg.RadioButton1 [private]

Definition at line 93 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 102 of file SMESHGUI_RotationDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_RotationDlg().

Definition at line 107 of file SMESHGUI_RotationDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_RotationDlg().

Definition at line 115 of file SMESHGUI_RotationDlg.h.

Referenced by SetEditCurrentArgument(), and SMESHGUI_RotationDlg().

Definition at line 123 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 116 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 118 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 120 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 101 of file SMESHGUI_RotationDlg.h.

Referenced by onSelectMesh(), and SMESHGUI_RotationDlg().

Definition at line 106 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 114 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 108 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 110 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

Definition at line 112 of file SMESHGUI_RotationDlg.h.

Referenced by SMESHGUI_RotationDlg().

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