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

SMESHGUI_WhatIsDlg Class Reference

#include <SMESHGUI_WhatIsDlg.h>

Inheritance diagram for SMESHGUI_WhatIsDlg:
Inheritance graph
[legend]

Public Member Functions

 SMESHGUI_WhatIsDlg (SMESHGUI *)
 ~SMESHGUI_WhatIsDlg ()

Private Slots

void SelectionsClicked (int)
void ClickOnOk ()
void ClickOnCancel ()
void ClickOnHelp ()
void SelectionIntoArgument ()
void DeactivateActiveDialog ()
void ActivateThisDialog ()
void onTextChange (const QString &)

Private Member Functions

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

Private Attributes

SMESHGUImySMESHGUI
LightApp_SelectionMgr * mySelectionMgr
SVTK_Selector * mySelector
bool myBusy
SMESH::SMESH_Mesh_var myMesh
SMESH_ActormyActor
SMESH_LogicalFiltermyMeshOrSubMeshOrGroupFilter
QGroupBoxGroupSelections
QRadioButton * RadioButtonNodes
QRadioButton * RadioButtonElements
QGroupBoxGroupButtons
QPushButton * buttonOk
QPushButton * buttonHelp
QGroupBoxGroupArguments
QGroupBoxGroupMesh
QLabel * TextLabelElements
QLineEdit * LineEditElements
QLabel * MeshLabel
QLineEdit * MeshName
QTextBrowser * Info
QString myHelpFileName

Detailed Description

Definition at line 50 of file SMESHGUI_WhatIsDlg.h.


Constructor & Destructor Documentation

SMESHGUI_WhatIsDlg::SMESHGUI_WhatIsDlg ( SMESHGUI theModule)

Definition at line 82 of file SMESHGUI_WhatIsDlg.cxx.

References buttonHelp, buttonOk, ClickOnCancel(), ClickOnHelp(), ClickOnOk(), DeactivateActiveDialog(), SMESH.GetSelector(), SMESH.GetViewWindow(), GROUP, GroupArguments, GroupButtons, GroupMesh, GroupSelections, Info, Init(), LineEditElements, SMESH_LogicalFilter.LO_OR, MARGIN, MeshLabel, MeshName, MESHorSUBMESH, myHelpFileName, myMeshOrSubMeshOrGroupFilter, mySelectionMgr, mySelector, mySMESHGUI, onTextChange(), RadioButtonElements, RadioButtonNodes, SelectionIntoArgument(), SelectionsClicked(), SMESHGUI.SetActiveDialogBox(), SPACING, and TextLabelElements.

  : QDialog( SMESH::GetDesktop( theModule ) ),
    mySMESHGUI( theModule ),
    mySelectionMgr( SMESH::GetSelectionMgr( theModule ) )
{
  setModal( false );
  setAttribute( Qt::WA_DeleteOnClose, true );
  setWindowTitle(tr("SMESH_WHAT_IS_TITLE"));
  setSizeGripEnabled(true);
  QVBoxLayout* SMESHGUI_WhatIsDlgLayout = new QVBoxLayout(this);
  SMESHGUI_WhatIsDlgLayout->setSpacing(SPACING);
  SMESHGUI_WhatIsDlgLayout->setMargin(MARGIN);
  
  /***************************************************************/
  GroupMesh = new QGroupBox(this);
  QHBoxLayout* GroupMeshLayout = new QHBoxLayout(GroupMesh);
  GroupMeshLayout->setSpacing(SPACING);
  GroupMeshLayout->setMargin(MARGIN);

  MeshLabel = new QLabel(tr("SMESH_NAME"), GroupMesh);
  GroupMeshLayout->addWidget(MeshLabel);
  MeshName = new QLineEdit(GroupMesh);
  MeshName->setReadOnly(true);
  GroupMeshLayout->addWidget(MeshName);

  /***************************************************************/
  GroupSelections = new QGroupBox(tr("ENTITY_TYPE"), this);
  QButtonGroup* GroupSel = new QButtonGroup(this);
  QHBoxLayout* GroupSelectionsLayout = new QHBoxLayout(GroupSelections);
  GroupSelectionsLayout->setSpacing(SPACING);
  GroupSelectionsLayout->setMargin(MARGIN);

  RadioButtonNodes = new QRadioButton(tr("SMESH_NODES"), GroupSelections);
  GroupSelectionsLayout->addWidget(RadioButtonNodes);
  GroupSel->addButton(RadioButtonNodes, 0);
  RadioButtonElements = new QRadioButton(tr("SMESH_ELEMENTS"), GroupSelections);
  GroupSelectionsLayout->addWidget(RadioButtonElements);
  GroupSel->addButton(RadioButtonElements, 1);

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

  // Controls for elements selection
  TextLabelElements  = new QLabel(tr("SMESH_ID_ELEMENTS"), GroupArguments);
  GroupArgumentsLayout->addWidget(TextLabelElements, 0, 0);

  LineEditElements  = new QLineEdit(GroupArguments);
  LineEditElements->setValidator(new SMESHGUI_IdValidator(this));
  LineEditElements->setMaxLength(-1);
  GroupArgumentsLayout->addWidget(LineEditElements, 0, 1);

  // information text browser
  Info = new QTextBrowser(GroupArguments);
  Info->setMinimumSize(300, 200);
  GroupArgumentsLayout->addWidget(Info, 1, 0, 1, 2);

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

  buttonOk = new QPushButton(tr("SMESH_BUT_OK"), GroupButtons);
  buttonOk->setAutoDefault(true);
  buttonOk->setDefault(true);
  buttonHelp = new QPushButton(tr("SMESH_BUT_HELP"), GroupButtons);
  buttonHelp->setAutoDefault(true);

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

  SMESHGUI_WhatIsDlgLayout->addWidget(GroupMesh);
  SMESHGUI_WhatIsDlgLayout->addWidget(GroupSelections);
  SMESHGUI_WhatIsDlgLayout->addWidget(GroupArguments);
  SMESHGUI_WhatIsDlgLayout->addWidget(GroupButtons);

  RadioButtonNodes->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 = "mesh_infos_page.html#mesh_element_info_anchor";

  Init();

  /* signals and slots connections */
  connect(buttonOk,         SIGNAL(clicked()),     this, SLOT(ClickOnOk()));
  connect(buttonHelp,       SIGNAL(clicked()),     this, SLOT(ClickOnHelp()));
  connect(GroupSel,         SIGNAL(buttonClicked(int)), SLOT(SelectionsClicked(int)));

  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&)));

  SelectionsClicked(0);
  SelectionIntoArgument();
}
SMESHGUI_WhatIsDlg::~SMESHGUI_WhatIsDlg ( )

Definition at line 203 of file SMESHGUI_WhatIsDlg.cxx.

{
}

Member Function Documentation

void SMESHGUI_WhatIsDlg::ActivateThisDialog ( ) [private, slot]
void SMESHGUI_WhatIsDlg::ClickOnCancel ( ) [private, slot]

Definition at line 279 of file SMESHGUI_WhatIsDlg.cxx.

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

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

{
  disconnect(mySelectionMgr, 0, this, 0);
  mySelectionMgr->clearFilters();
  SMESH::SetPointRepresentation(false);
  if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
    aViewWindow->SetSelectionMode( ActorSelection );
  mySMESHGUI->ResetState();
  reject();
}
void SMESHGUI_WhatIsDlg::ClickOnHelp ( ) [private, slot]

Definition at line 294 of file SMESHGUI_WhatIsDlg.cxx.

References myHelpFileName, and mySMESHGUI.

Referenced by keyPressEvent(), and SMESHGUI_WhatIsDlg().

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

Definition at line 607 of file SMESHGUI_WhatIsDlg.cxx.

References ClickOnCancel().

{
  /* same than click on cancel button */
  ClickOnCancel();
}
void SMESHGUI_WhatIsDlg::DeactivateActiveDialog ( ) [private, slot]

Definition at line 560 of file SMESHGUI_WhatIsDlg.cxx.

References GroupArguments, GroupButtons, GroupMesh, GroupSelections, mySMESHGUI, SMESHGUI.ResetState(), and SMESHGUI.SetActiveDialogBox().

Referenced by SMESHGUI_WhatIsDlg().

{
  if (GroupArguments->isEnabled()) {
    GroupSelections->setEnabled(false);
    GroupMesh->setEnabled(false);
    GroupArguments->setEnabled(false);
    GroupButtons->setEnabled(false);
    mySMESHGUI->ResetState();
    mySMESHGUI->SetActiveDialogBox(0);
  }
}
void SMESHGUI_WhatIsDlg::enterEvent ( QEvent *  ) [private]

Definition at line 597 of file SMESHGUI_WhatIsDlg.cxx.

References ActivateThisDialog(), and GroupArguments.

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

Definition at line 617 of file SMESHGUI_WhatIsDlg.cxx.

References ClickOnCancel().

{
  if (!isMinimized())
    ClickOnCancel();
}
void SMESHGUI_WhatIsDlg::Init ( bool  ResetControls = true) [private]

Definition at line 211 of file SMESHGUI_WhatIsDlg.cxx.

References SMESH.GetViewWindow(), LineEditElements, myActor, myBusy, myMesh, mySMESHGUI, onTextChange(), and SelectionIntoArgument().

Referenced by ClickOnOk(), and SMESHGUI_WhatIsDlg().

{
  myBusy = false;

  LineEditElements->clear();

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

  if (ResetControls) {
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
      aViewWindow->SetSelectionMode( CellSelection );
    onTextChange(LineEditElements->text());
    
    SelectionIntoArgument();
  }
}
void SMESHGUI_WhatIsDlg::keyPressEvent ( QKeyEvent *  e) [private]

Definition at line 627 of file SMESHGUI_WhatIsDlg.cxx.

References ClickOnHelp().

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

  if ( e->key() == Qt::Key_F1 ) {
    e->accept();
    ClickOnHelp();
  }
}
void SMESHGUI_WhatIsDlg::onTextChange ( const QString &  theNewText) [private, slot]

Definition at line 312 of file SMESHGUI_WhatIsDlg.cxx.

References SMDS_Mesh.FindElement(), SMDS_Mesh.FindNode(), SMDS_MeshElement.GetID(), SMESH_Actor.GetObject(), SMESH.GetViewWindow(), Handle(), myActor, myBusy, mySelector, mySMESHGUI, RadioButtonNodes, and SelectionIntoArgument().

Referenced by Init(), and SMESHGUI_WhatIsDlg().

{
  if (myBusy) return;
  myBusy = true;

  // 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);

    for (int i = 0; i < aListId.count(); i++) {
      const SMDS_MeshElement * e = RadioButtonNodes->isChecked()?
        aMesh->FindNode(aListId[ i ].toInt()):
        aMesh->FindElement(aListId[ i ].toInt());
      if (e)
        newIndices.Add(e->GetID());
    }

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

  SelectionIntoArgument();

  myBusy = false;
}
void SMESHGUI_WhatIsDlg::SelectionIntoArgument ( ) [private, slot]

Definition at line 351 of file SMESHGUI_WhatIsDlg.cxx.

References SMESH.FindActorByEntry(), SMESH.FindActorByObject(), SMDS_MeshElement.GetID(), SMDS_MeshNode.GetInverseElementIterator(), SMESH.GetMeshByIO(), SMESH.GetNameOfSelectedElements(), SMESH_Actor.GetObject(), SMDS_MeshElement.GetType(), SMESH.GetViewWindow(), SMDS_VolumeTool.GetVolumeType(), GroupButtons, GroupMesh, Handle(), SMDS_VolumeTool.HEXA, Info, SMDS_MeshElement.IsPoly(), SMDS_MeshElement.IsQuadratic(), LineEditElements, PAL_MESH_041_mesh.mesh, MeshName, myActor, myBusy, myMesh, mySelectionMgr, mySelector, mySMESHGUI, SMDS_MeshElement.NbNodes(), ex29_refine.node(), SMDS_MeshElement.nodesIterator(), SMDS_VolumeTool.PENTA, SMDS_VolumeTool.POLYHEDA, SMDS_VolumeTool.PYRAM, SMDS_VolumeTool.QUAD_HEXA, SMDS_VolumeTool.QUAD_PENTA, SMDS_VolumeTool.QUAD_PYRAM, SMDS_VolumeTool.QUAD_TETRA, RadioButtonNodes, ex21_lamp.size, SMDSAbs_0DElement, SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Node, SMDSAbs_Volume, SMDS_VolumeTool.TETRA, SMDS_MeshNode.X(), SMDS_MeshNode.Y(), and SMDS_MeshNode.Z().

Referenced by ActivateThisDialog(), ClickOnOk(), Init(), onTextChange(), SelectionsClicked(), and SMESHGUI_WhatIsDlg().

{
  int curBusy = myBusy;

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

  myBusy = true;
  if(!curBusy)
    LineEditElements->setText(aString);
  MeshName->setText(aString);
  GroupMesh->setTitle(tr(""));
  Info->clear();
  myBusy = curBusy;

  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;

  if (nbSel != 1) {
    //check if all selected objects belongs to one mesh
    SALOME_ListIteratorOfListIO io( aList );
    for (io.Next(); io.More(); io.Next() ) {
      SMESH::SMESH_Mesh_var mesh = SMESH::GetMeshByIO(io.Value());
      if (!mesh->_is_nil() && !mesh->_is_equivalent( myMesh ))
        return;
    }
    // select IO with any element selected (for case of selection by rectangle)
    IO.Nullify();
    for (io.Initialize(aList); io.More() && IO.IsNull(); io.Next() )
      if ( mySelector->HasIndex( io.Value() ))
        IO = io.Value();
    if ( IO.IsNull() ) return;
    // unhilight others
    if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI )) {
      for (io.Initialize(aList); io.More(); io.Next() )
        if ( !IO->isSame( io.Value() ))
          aViewWindow->highlight( io.Value(), false, true );
    }
  }

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

  QString aName = IO->getName();
  // cut off wite spaces from tail, else meaningful head is not visible
  int size = aName.length();
  while (size && aName.at(size-1).isSpace() )
    --size;
  if ( size != aName.length() )
    aName.truncate( size );
  MeshName->setText(aName); // can be something like "2 objects"

  if(!SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IO)->_is_nil()) {
    GroupMesh->setTitle(tr("SMESH_MESH"));
  } else if(!SMESH::IObjectToInterface<SMESH::SMESH_subMesh>(IO)->_is_nil()) {
    GroupMesh->setTitle(tr("SMESH_SUBMESH"));
  } else if(!SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IO)->_is_nil()) {
    GroupMesh->setTitle(tr("SMESH_GROUP"));
  }

  int aNbUnits = 0;
  
  aNbUnits = SMESH::GetNameOfSelectedElements(mySelector, IO, aString);
  
  if (aNbUnits < 1)
    return;

  const SMDS_MeshElement * e = RadioButtonNodes->isChecked()?
    myActor->GetObject()->GetMesh()->FindNode(aString.toInt()):
    myActor->GetObject()->GetMesh()->FindElement(aString.toInt());
  if (e) {
    QString anInfo;
    anInfo="<b>" + tr("ENTITY_TYPE") + ":</b> ";
    if(e->GetType() == SMDSAbs_Node) {
      anInfo+=tr("MESH_NODE")+"<br>";
      //const SMDS_MeshNode *en = (SMDS_MeshNode*) e; // VSR: not used!
    } else if (e->GetType() == SMDSAbs_0DElement) {
      anInfo+=tr("SMESH_ELEM0D")+"<br>";
    } else if(e->GetType() == SMDSAbs_Edge) {
      anInfo+=tr("SMESH_EDGE")+"<br>";
      anInfo+="<b>" + tr("SMESH_MESHINFO_TYPE")+":</b> ";
      const SMDS_MeshEdge *ee = (SMDS_MeshEdge*) e;
      anInfo+=(ee->IsQuadratic()?tr("SMESH_MESHINFO_ORDER2"):tr("SMESH_MESHINFO_ORDER1"))+"<br>";
    } else if(e->GetType() == SMDSAbs_Face) {
      const SMDS_MeshFace *ef = (SMDS_MeshFace*) e;
      anInfo+=tr("SMESH_FACE")+"<br>";
      anInfo+="<b>" + tr("SMESH_MESHINFO_TYPE")+":</b> ";
      if(!ef->IsPoly())
        anInfo+=(ef->IsQuadratic()?tr("SMESH_MESHINFO_ORDER2"):tr("SMESH_MESHINFO_ORDER1"))+" ";
      switch(ef->NbNodes()) {
      case 3:
      case 6:
        {
          anInfo+=tr("SMESH_TRIANGLE");
          break;
        }
      case 4:
      case 8:
        {
          anInfo+=tr("SMESH_QUADRANGLE");
          break;
        }
      default:
        break;
      }
      anInfo+="<br>";
    } else if(e->GetType() == SMDSAbs_Volume) {
      anInfo+=tr("SMESH_VOLUME")+"<br>";
      anInfo+="<b>" + tr("SMESH_MESHINFO_TYPE")+":</b> ";
      const SMDS_MeshVolume *ev = (SMDS_MeshVolume*) e;
      SMDS_VolumeTool vt(ev);
      if(vt.GetVolumeType() != SMDS_VolumeTool::POLYHEDA)
        anInfo+=(ev->IsQuadratic()?tr("SMESH_MESHINFO_ORDER2"):tr("SMESH_MESHINFO_ORDER1"))+" ";
      switch(vt.GetVolumeType()) {
      case SMDS_VolumeTool::TETRA:
      case SMDS_VolumeTool::QUAD_TETRA:
        {
          anInfo+=tr("SMESH_TETRAS");
          break;
        }
      case SMDS_VolumeTool::PYRAM:
      case SMDS_VolumeTool::QUAD_PYRAM:
        {
          anInfo+=tr("SMESH_PYRAMID");
          break;
        }
      case SMDS_VolumeTool::PENTA:
      case SMDS_VolumeTool::QUAD_PENTA:
        {
          anInfo+=tr("SMESH_PRISM");
          break;
        }
      case SMDS_VolumeTool::HEXA:
      case SMDS_VolumeTool::QUAD_HEXA:
        {
          anInfo+=tr("SMESH_HEXAS");
          break;
        }
      case SMDS_VolumeTool::POLYHEDA:
        {
          anInfo+=tr("SMESH_POLYEDRON");
          break;
        }
      default:
        break;
      }
      anInfo+="<br>";
    }
    gp_XYZ anXYZ(0.,0.,0.);
    SMDS_ElemIteratorPtr nodeIt = e->nodesIterator();
    int nbNodes = 0;
    QString aNodesInfo="";
    for( ; nodeIt->more(); nbNodes++) {
      const SMDS_MeshNode* node = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
      anXYZ.Add( gp_XYZ( node->X(), node->Y(), node->Z() ) );
      if(e->GetType() != SMDSAbs_Node)
        aNodesInfo+=QString("<b>Node %1:</b><br>Id=%2, X=%3, Y=%4, Z=%5<br>").arg(nbNodes+1).arg(node->GetID()).arg(node->X()).arg(node->Y()).arg(node->Z());
      // Calculate Connectivity
      SMDS_ElemIteratorPtr it = node->GetInverseElementIterator();
      if (it) {
        aNodesInfo+="<b>" + tr("CONNECTED_ELEMENTS") + ":</b>";
        while (it->more()) {
          const SMDS_MeshElement* elem = it->next();
          aNodesInfo+=QString(" %1").arg(elem->GetID());
        }
        if ( (nbNodes+1) != e->NbNodes())
          aNodesInfo+=QString("<br><br>");
      }
    }
    if(e->GetType() != SMDSAbs_Node)
      anInfo+="<b>" + tr("GRAVITY_CENTER") + ":</b><br>";
    anXYZ.Divide(e->NbNodes());
    anInfo+=QString("X=%1, Y=%2, Z=%3").arg(anXYZ.X()).arg(anXYZ.Y()).arg(anXYZ.Z());
    if(e->GetType() != SMDSAbs_Node)
      anInfo+="<br>";
    if (aNodesInfo!="")
      anInfo+= "<br>" + aNodesInfo;
    Info->setText(anInfo);
  }

  if(!curBusy) {
    myBusy = true;
    LineEditElements->setText(aString);
    myBusy = false;
  }
}
void SMESHGUI_WhatIsDlg::SelectionsClicked ( int  selectionId) [private, slot]

Definition at line 233 of file SMESHGUI_WhatIsDlg.cxx.

References SMESH.GetViewWindow(), mySelectionMgr, mySMESHGUI, SelectionIntoArgument(), and SMESH.SetPointRepresentation().

Referenced by ActivateThisDialog(), and SMESHGUI_WhatIsDlg().

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

  mySelectionMgr->clearFilters();

  switch (selectionId) {
  case 0:
    {
      SMESH::SetPointRepresentation(true);
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode( NodeSelection );
      break;
    }    
  case 1:
    {
      SMESH::SetPointRepresentation(false);
      if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
        aViewWindow->SetSelectionMode( CellSelection );
      break;
    }
  }

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

Field Documentation

QPushButton* SMESHGUI_WhatIsDlg.buttonHelp [private]

Definition at line 80 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

QPushButton* SMESHGUI_WhatIsDlg.buttonOk [private]

Definition at line 79 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

QTextBrowser* SMESHGUI_WhatIsDlg.Info [private]

Definition at line 88 of file SMESHGUI_WhatIsDlg.h.

Referenced by SelectionIntoArgument(), and SMESHGUI_WhatIsDlg().

Definition at line 84 of file SMESHGUI_WhatIsDlg.h.

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

QLabel* SMESHGUI_WhatIsDlg.MeshLabel [private]

Definition at line 85 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

QLineEdit* SMESHGUI_WhatIsDlg.MeshName [private]

Definition at line 86 of file SMESHGUI_WhatIsDlg.h.

Referenced by SelectionIntoArgument(), and SMESHGUI_WhatIsDlg().

Definition at line 72 of file SMESHGUI_WhatIsDlg.h.

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

Definition at line 70 of file SMESHGUI_WhatIsDlg.h.

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

Definition at line 90 of file SMESHGUI_WhatIsDlg.h.

Referenced by ClickOnHelp(), and SMESHGUI_WhatIsDlg().

SMESH::SMESH_Mesh_var SMESHGUI_WhatIsDlg.myMesh [private]

Definition at line 71 of file SMESHGUI_WhatIsDlg.h.

Referenced by Init(), and SelectionIntoArgument().

Definition at line 73 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

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

Definition at line 68 of file SMESHGUI_WhatIsDlg.h.

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

QRadioButton* SMESHGUI_WhatIsDlg.RadioButtonElements [private]

Definition at line 77 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

QRadioButton* SMESHGUI_WhatIsDlg.RadioButtonNodes [private]

Definition at line 83 of file SMESHGUI_WhatIsDlg.h.

Referenced by SMESHGUI_WhatIsDlg().

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