Back to index

salome-geom  6.5.0
Public Member Functions | Protected Member Functions | Private Types | Private Slots | Private Member Functions | Private Attributes
BasicGUI_MarkerDlg Class Reference

#include <BasicGUI_MarkerDlg.h>

List of all members.

Public Member Functions

 BasicGUI_MarkerDlg (GeometryGUI *, QWidget *)
virtual ~BasicGUI_MarkerDlg ()
void Init ()

Protected Member Functions

virtual GEOM::GEOM_IOperations_ptr createOperation ()
virtual bool isValid (QString &)
virtual bool execute (ObjectList &)
virtual void displayPreview (const bool=false, const bool=true, const bool=true, const double=-1)
virtual void addSubshapesToStudy ()

Private Types

enum  {
  X, Y, Z, DX1,
  DY1, DZ1, DX2, DY2,
  DZ2
}
typedef QMap< int,
SalomeApp_DoubleSpinBox * > 
DataMap

Private Slots

void onOk ()
bool onApply ()
void onActivate ()
void onDeactivate ()
void onSelectionDone ()
void onValueChanged (double)
void ConstructorsClicked (int)
void SetEditCurrentArgument ()

Private Member Functions

void enterEvent (QEvent *)
void onSelectionDone0 ()

Private Attributes

GEOM::GeomObjPtr myShape
GEOM::GeomObjPtr myPoint
GEOM::GeomObjPtr myVectorX
GEOM::GeomObjPtr myVectorY
DataMap myData
int myConstructorId
int myBlockPreview
QFrame * aMainGrp
DlgRef_1Sel * Group1
DlgRef_3Sel * Group2

Detailed Description

Definition at line 40 of file BasicGUI_MarkerDlg.h.


Member Typedef Documentation

typedef QMap< int, SalomeApp_DoubleSpinBox* > BasicGUI_MarkerDlg::DataMap [private]

Definition at line 46 of file BasicGUI_MarkerDlg.h.


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
X 
Y 
Z 
DX1 
DY1 
DZ1 
DX2 
DY2 
DZ2 

Definition at line 45 of file BasicGUI_MarkerDlg.h.

{ X, Y, Z, DX1, DY1, DZ1, DX2, DY2, DZ2 };

Constructor & Destructor Documentation

BasicGUI_MarkerDlg::BasicGUI_MarkerDlg ( GeometryGUI *  theGeometryGUI,
QWidget *  theParent 
)

Definition at line 59 of file BasicGUI_MarkerDlg.cxx.

  : GEOMBase_Skeleton( theGeometryGUI, theParent, false,
                       Qt::WindowTitleHint | Qt::WindowSystemMenuHint )
{
  QPixmap iconCS1   ( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_MARKER" ) ) );
  QPixmap iconCS2   ( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_MARKER2" ) ) );
  QPixmap iconCS3   ( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_MARKER3" ) ) );
  QPixmap iconSelect( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_SELECT" ) ) );

  setWindowTitle( tr( "CAPTION" ) );

  mainFrame()->GroupConstructors->setTitle( tr( "LOCALCS" ) );
  mainFrame()->RadioButton1->setIcon( iconCS1 );
  mainFrame()->RadioButton2->setIcon( iconCS2 );
  mainFrame()->RadioButton3->setIcon( iconCS3 );

  Group1 = new DlgRef_1Sel( centralWidget() );

  Group1->GroupBox1->setTitle( tr( "GEOM_ARGUMENTS" ) );
  Group1->TextLabel1->setText( tr( "GEOM_OBJECT" ) );
  Group1->PushButton1->setIcon( iconSelect );
  Group1->PushButton1->setDown( true );

  Group2 = new DlgRef_3Sel( centralWidget() );

  Group2->GroupBox1->setTitle( tr( "GEOM_ARGUMENTS" ) );
  Group2->TextLabel1->setText( tr( "GEOM_POINT" ) );
  Group2->TextLabel2->setText( tr( "XDIR" ) );
  Group2->TextLabel3->setText( tr( "YDIR" ) );
  Group2->PushButton1->setIcon( iconSelect );
  Group2->PushButton2->setIcon( iconSelect );
  Group2->PushButton3->setIcon( iconSelect );
  Group2->PushButton1->setDown( true );

  aMainGrp = new QFrame( centralWidget() );
  aMainGrp->setFrameStyle( QFrame::NoFrame | QFrame::Plain );
  aMainGrp->setContentsMargins( 0, 0, 0, 0 );
  QHBoxLayout* aMainGrpLayout = new QHBoxLayout( aMainGrp );
  aMainGrpLayout->setMargin( 0 );
  
  QGroupBox* anOriGrp = new QGroupBox( tr( "ORIGIN" ), aMainGrp );
  QVBoxLayout* anOriGrpLayout = new QVBoxLayout( anOriGrp );

  anOriGrpLayout->addWidget( new QLabel( tr( "GEOM_X" ), anOriGrp ) );
  myData[ X ] = new SalomeApp_DoubleSpinBox( anOriGrp );
  anOriGrpLayout->addWidget( myData[ X ] );
  anOriGrpLayout->addWidget( new QLabel( tr( "GEOM_Y" ), anOriGrp ) );
  myData[ Y ] = new SalomeApp_DoubleSpinBox( anOriGrp );
  anOriGrpLayout->addWidget( myData[ Y ] );
  anOriGrpLayout->addWidget( new QLabel( tr( "GEOM_Z" ), anOriGrp ) );
  myData[ Z ] = new SalomeApp_DoubleSpinBox( anOriGrp );
  anOriGrpLayout->addWidget( myData[ Z ] );

  aMainGrpLayout->addWidget( anOriGrp );

  QGroupBox* aXAxisGrp = new QGroupBox( tr( "XDIR" ), aMainGrp );
  QVBoxLayout* aXAxisGrpLayout = new QVBoxLayout( aXAxisGrp );

  aXAxisGrpLayout->addWidget( new QLabel( tr( "DX" ), aXAxisGrp ) );
  myData[ DX1 ] = new SalomeApp_DoubleSpinBox( aXAxisGrp );
  aXAxisGrpLayout->addWidget( myData[ DX1 ] );
  aXAxisGrpLayout->addWidget( new QLabel( tr( "DY" ), aXAxisGrp ) );
  myData[ DY1 ] = new SalomeApp_DoubleSpinBox( aXAxisGrp );
  aXAxisGrpLayout->addWidget( myData[ DY1 ] );
  aXAxisGrpLayout->addWidget( new QLabel( tr( "DZ" ), aXAxisGrp ) );
  myData[ DZ1 ] = new SalomeApp_DoubleSpinBox( aXAxisGrp );
  aXAxisGrpLayout->addWidget( myData[ DZ1 ] );

  aMainGrpLayout->addWidget( aXAxisGrp );

  QGroupBox* anYAxisGrp = new QGroupBox( tr( "YDIR" ), aMainGrp );
  QVBoxLayout* anYAxisGrpLayout = new QVBoxLayout( anYAxisGrp );

  anYAxisGrpLayout->addWidget( new QLabel( tr( "DX" ), anYAxisGrp ) );
  myData[ DX2 ] = new SalomeApp_DoubleSpinBox( anYAxisGrp );
  anYAxisGrpLayout->addWidget( myData[ DX2 ] );
  anYAxisGrpLayout->addWidget( new QLabel( tr( "DY" ), anYAxisGrp ) );
  myData[ DY2 ] = new SalomeApp_DoubleSpinBox( anYAxisGrp );
  anYAxisGrpLayout->addWidget( myData[ DY2 ] );
  anYAxisGrpLayout->addWidget( new QLabel( tr( "DZ" ), anYAxisGrp ) );
  myData[ DZ2 ] = new SalomeApp_DoubleSpinBox( anYAxisGrp );
  anYAxisGrpLayout->addWidget( myData[ DZ2 ] );

  aMainGrpLayout->addWidget( anYAxisGrp );

  QVBoxLayout* layout = new QVBoxLayout( centralWidget() );
  layout->setMargin( 0 ); layout->setSpacing( 6 );
  layout->addWidget( aMainGrp );
  layout->addWidget( Group1 );
  layout->addWidget( Group2 );

  setHelpFileName( "create_lcs_page.html" );

  Init();
}

Here is the call graph for this function:

Definition at line 160 of file BasicGUI_MarkerDlg.cxx.

{
}

Member Function Documentation

void BasicGUI_MarkerDlg::addSubshapesToStudy ( ) [protected, virtual]

Definition at line 596 of file BasicGUI_MarkerDlg.cxx.

{
  switch ( getConstructorId() ) {
  case 0 :
    break;
  case 1 :
    GEOMBase::PublishSubObject( myShape.get() );
    break;
  case 2:
    GEOMBase::PublishSubObject( myPoint.get() );
    GEOMBase::PublishSubObject( myVectorX.get() );
    GEOMBase::PublishSubObject( myVectorY.get() );
    break;
  default:
    break;
  }

}

Here is the call graph for this function:

void BasicGUI_MarkerDlg::ConstructorsClicked ( int  constructorId) [private, slot]

Definition at line 227 of file BasicGUI_MarkerDlg.cxx.

{
  if ( myConstructorId == constructorId && myConstructorId == 0 ) {
    globalSelection(); // close local contexts, if any
    localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
    activate( GEOM_MARKER );
    return;
  }

  myConstructorId = constructorId;

  disconnect( myGeomGUI->getApp()->selectionMgr(), 0, this, 0 );

  switch ( constructorId ) {
  case 0:
    {
      Group1->hide();
      Group2->hide();
      aMainGrp->show();
      globalSelection(); // close local contexts, if any
      localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
      activate( GEOM_MARKER );
      break;
    }
  case 1:
    {
      aMainGrp->hide();
      Group2->hide();
      Group1->show();
      Group1->PushButton1->setDown( true );
      globalSelection( GEOM_ALLGEOM );
      myEditCurrentArgument = Group1->LineEdit1;
      Group1->LineEdit1->setText( "" );
      myShape.nullify();
      break;
    }
  case 2:
    {
      aMainGrp->hide();
      Group1->hide();
      Group2->show();
      Group2->PushButton1->setDown( true );
      Group2->PushButton2->setDown( false );
      Group2->PushButton3->setDown( false );
      globalSelection(); // close local contexts, if any
      localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
      myEditCurrentArgument = Group2->LineEdit1;
      Group2->LineEdit1->setText( "" );
      Group2->LineEdit2->setText( "" );
      Group2->LineEdit3->setText( "" );
      Group2->LineEdit1->setEnabled( true );
      Group2->LineEdit2->setEnabled( false );
      Group2->LineEdit3->setEnabled( false );
      myPoint.nullify();
      myVectorX.nullify();
      myVectorY.nullify();
      break;
    }
  }

  displayPreview();

  qApp->processEvents();
  updateGeometry();
  resize( minimumSizeHint() );
  
  connect( myGeomGUI->getApp()->selectionMgr(), SIGNAL( currentSelectionChanged() ),
           this, SLOT( onSelectionDone() ) );
  onSelectionDone();
}

Here is the call graph for this function:

Here is the caller graph for this function:

GEOM::GEOM_IOperations_ptr BasicGUI_MarkerDlg::createOperation ( ) [protected, virtual]

Definition at line 512 of file BasicGUI_MarkerDlg.cxx.

{
  return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() );
}
void BasicGUI_MarkerDlg::displayPreview ( const bool  activate = false,
const bool  update = true,
const bool  toRemoveFromEngine = true,
const double  lineWidth = -1 
) [protected, virtual]

Definition at line 628 of file BasicGUI_MarkerDlg.cxx.

{
  if ( !myBlockPreview ) {
    GEOMBase_Skeleton::displayPreview( true, activate, update, toRemoveFromEngine, lineWidth );
    if ( myConstructorId == 0 )
      GEOMBase_Skeleton::activate( GEOM_MARKER );
  }
}

Here is the caller graph for this function:

void BasicGUI_MarkerDlg::enterEvent ( QEvent *  ) [private]

Definition at line 502 of file BasicGUI_MarkerDlg.cxx.

{
  if ( !mainFrame()->GroupConstructors->isEnabled() )
    onActivate();
}

Here is the call graph for this function:

bool BasicGUI_MarkerDlg::execute ( ObjectList objects) [protected, virtual]

Definition at line 556 of file BasicGUI_MarkerDlg.cxx.

{
  GEOM::GEOM_IBasicOperations_var anOper = GEOM::GEOM_IBasicOperations::_narrow( getOperation() );
  GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_nil();
  QStringList aParameters;
  const int id = getConstructorId();
  if (id == 0) {
    anObj = anOper->MakeMarker( myData[ X   ]->value(), myData[ Y   ]->value(), 
                                myData[ Z   ]->value(), myData[ DX1 ]->value(),
                                myData[ DY1 ]->value(), myData[ DZ1 ]->value(),
                                myData[ DX2 ]->value(), myData[ DY2 ]->value(),
                                myData[ DZ2 ]->value() );
    aParameters<<myData[X]->text();
    aParameters<<myData[Y]->text();
    aParameters<<myData[Z]->text();
    aParameters<<myData[ DX1 ]->text(); 
    aParameters<<myData[ DY1 ]->text(); 
    aParameters<<myData[ DZ1 ]->text();
    aParameters<<myData[ DX2 ]->text();
    aParameters<<myData[ DY2 ]->text();
    aParameters<<myData[ DZ2 ]->text();
  } else if (id == 1) {
    anObj = anOper->MakeMarkerFromShape( myShape.get() ); 
  } else if (id == 2) {
    anObj = anOper->MakeMarkerPntTwoVec( myPoint.get(), myVectorX.get(), myVectorY.get() ); 
  }
  
  if ( !anObj->_is_nil() ) {
    if ( !IsPreview() && id == 0)
      anObj->SetParameters(aParameters.join(":").toLatin1().constData());
    objects.push_back( anObj._retn() );
  }

  return true;
}

Here is the call graph for this function:

Definition at line 169 of file BasicGUI_MarkerDlg.cxx.

{
  myShape.nullify();
  myPoint.nullify();
  myVectorX.nullify();
  myVectorY.nullify();
  myBlockPreview = false;
  myConstructorId = -1;
  myEditCurrentArgument = Group1->LineEdit1;
  Group1->LineEdit1->setReadOnly( true );
  Group2->LineEdit1->setReadOnly( true );
  Group2->LineEdit2->setReadOnly( true );
  Group2->LineEdit3->setReadOnly( true );
  Group2->LineEdit1->setEnabled( true );
  Group2->LineEdit2->setEnabled( false );
  Group2->LineEdit3->setEnabled( false );

  connect( this,                SIGNAL( constructorsClicked( int ) ), this, SLOT( ConstructorsClicked( int ) ) );

  connect( Group1->PushButton1, SIGNAL( clicked() ),      this, SLOT( SetEditCurrentArgument() ) );
  connect( Group2->PushButton1, SIGNAL( clicked() ),      this, SLOT( SetEditCurrentArgument() ) );
  connect( Group2->PushButton2, SIGNAL( clicked() ),      this, SLOT( SetEditCurrentArgument() ) );
  connect( Group2->PushButton3, SIGNAL( clicked() ),      this, SLOT( SetEditCurrentArgument() ) );

  connect( myGeomGUI,           SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( onDeactivate() ) );
  connect( myGeomGUI,           SIGNAL( SignalCloseAllDialogs() ),        this, SLOT( ClickOnCancel() ) );

  connect( buttonOk(),          SIGNAL( clicked() ), this, SLOT( onOk() ) );
  connect( buttonApply(),       SIGNAL( clicked() ), this, SLOT( onApply() ) );

  connect( myGeomGUI->getApp()->selectionMgr(),
           SIGNAL( currentSelectionChanged() ), this, SLOT( onSelectionDone() ) );

  initName( tr( "LCS_NAME" ) );

  SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
  double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100 );

  for ( DataMap::iterator anIter = myData.begin(); anIter != myData.end(); ++anIter ) {
    initSpinBox( anIter.value(), COORD_MIN, COORD_MAX, step, "length_precision" );
    connect( anIter.value(), SIGNAL( valueChanged( double ) ),
             this, SLOT( onValueChanged( double ) ) );
  }
  
  myBlockPreview = true;
  for ( DataMap::iterator anIter = myData.begin(); anIter != myData.end(); ++anIter )
    anIter.value()->setValue( 0 );
  myData[ DX1 ]->setValue( 1 );
  myData[ DY2 ]->setValue( 1 );
  myBlockPreview = false;

  ConstructorsClicked( 0 );
}

Here is the call graph for this function:

Here is the caller graph for this function:

bool BasicGUI_MarkerDlg::isValid ( QString &  msg) [protected, virtual]

Definition at line 521 of file BasicGUI_MarkerDlg.cxx.

{
  bool ok = false;
  switch ( getConstructorId() ) {
  case 0: {
    gp_Vec v1( myData[ DX1 ]->value(), myData[ DY1 ]->value(), myData[ DZ1 ]->value() ),
      v2( myData[ DX2 ]->value(), myData[ DY2 ]->value(), myData[ DZ2 ]->value() );
      
    // we will got exception if the magnitude of any of the 2 vectors <= gp::Resolution()
    // Vectors shouldn't be checked for being orthogonal here!
    if ( v1.Magnitude() > gp::Resolution() && v2.Magnitude() > gp::Resolution() ) {
      ok = !v1.IsParallel( v2, Precision::Angular() );
      if ( !ok )
       msg += tr( "VEC_PARALLEL" );
    }
    for ( DataMap::iterator anIter = myData.begin(); anIter != myData.end() && ok; ++anIter )
      ok = anIter.value()->isValid( msg, !IsPreview()) && ok;
    break;
  }
  case 1:
    ok = myShape;
    break;
  case 2:
    ok = myPoint && myVectorX && myVectorY;
    break;
  default:
    break;
  }
  return ok;
}
void BasicGUI_MarkerDlg::onActivate ( ) [private, slot]

Definition at line 480 of file BasicGUI_MarkerDlg.cxx.

{
  GEOMBase_Skeleton::ActivateThisDialog();
  connect( myGeomGUI->getApp()->selectionMgr(), SIGNAL( currentSelectionChanged() ),
           this, SLOT( onSelectionDone() ) );

  ConstructorsClicked( getConstructorId() );
}

Here is the call graph for this function:

Here is the caller graph for this function:

bool BasicGUI_MarkerDlg::onApply ( ) [private, slot]

Definition at line 313 of file BasicGUI_MarkerDlg.cxx.

{
  if ( !onAccept() )
    return false;

  initName();
  ConstructorsClicked( getConstructorId() );

  return true;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void BasicGUI_MarkerDlg::onDeactivate ( ) [private, slot]

Definition at line 493 of file BasicGUI_MarkerDlg.cxx.

{
  GEOMBase_Skeleton::DeactivateActiveDialog();
}

Here is the caller graph for this function:

void BasicGUI_MarkerDlg::onOk ( ) [private, slot]

Definition at line 302 of file BasicGUI_MarkerDlg.cxx.

{
  setIsApplyAndClose( true );
  if ( onApply() )
    ClickOnCancel();
}

Here is the call graph for this function:

Here is the caller graph for this function:

void BasicGUI_MarkerDlg::onSelectionDone ( ) [private, slot]

Definition at line 374 of file BasicGUI_MarkerDlg.cxx.

{
  if ( getConstructorId() == 0 ) {
    onSelectionDone0();
    return;
  }

  TopAbs_ShapeEnum aNeedType;
  if ( getConstructorId() == 1 ) // by shape position
    aNeedType = TopAbs_SHAPE;
  else if ( getConstructorId() == 2 ) // by point and two vectors
    aNeedType = myEditCurrentArgument == Group2->LineEdit1 ? TopAbs_VERTEX : TopAbs_EDGE;
  
  GEOM::GeomObjPtr aSelectedObject = getSelected( aNeedType );
  TopoDS_Shape aShape;
  if ( aSelectedObject && GEOMBase::GetShape( aSelectedObject.get(), aShape ) && !aShape.IsNull() ) {
    QString aName = GEOMBase::GetName( aSelectedObject.get() );
    myEditCurrentArgument->setText( aName );
    if ( getConstructorId() == 1 ) { // by shape position
      myShape = aSelectedObject;
    }
    else if ( getConstructorId() == 2 ) { // by point and two vectors
      if ( myEditCurrentArgument == Group2->LineEdit1 ) {
       myPoint = aSelectedObject;
       if (myPoint && !myVectorX)
         Group2->PushButton2->click();
      }
      else if (myEditCurrentArgument == Group2->LineEdit2) {
       myVectorX = aSelectedObject;
       if (myVectorX && !myVectorY)
         Group2->PushButton3->click();
      }
      else if ( myEditCurrentArgument == Group2->LineEdit3 ) {
       myVectorY = aSelectedObject;
       if (myVectorY && !myPoint)
         Group2->PushButton1->click();
      }
    }
  }
  else {
    if ( getConstructorId() == 1 ) {
      myShape.nullify();
    }
    else if ( getConstructorId() == 2 ) {
      if ( myEditCurrentArgument == Group2->LineEdit1 )
        myPoint.nullify();
      else if ( myEditCurrentArgument == Group2->LineEdit2 )
        myVectorX.nullify();
      else if ( myEditCurrentArgument == Group2->LineEdit3 )
        myVectorY.nullify();
    }
  }

  displayPreview();
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 328 of file BasicGUI_MarkerDlg.cxx.

{
  GEOM::GeomObjPtr aSelectedObject = getSelected( TopAbs_FACE );
  TopoDS_Shape aShape;
  if ( aSelectedObject && aSelectedObject->GetType() == GEOM_MARKER && GEOMBase::GetShape( aSelectedObject.get(), aShape ) && !aShape.IsNull() ) {
    // Existing LCS selected
    TopoDS_Face aFace = TopoDS::Face( aShape );
    Handle(Geom_Plane) aPlane = Handle(Geom_Plane)::DownCast( BRep_Tool::Surface( aFace ) );
    
    if ( !aPlane.IsNull() ) {
      gp_Ax3 anAx3 = aPlane->Pln().Position();
      gp_Pnt aLoc = anAx3.Location();
      gp_Dir aXDir = anAx3.XDirection();
      gp_Dir aYDir = anAx3.YDirection();
      
      myData[ X ]->setValue( aLoc.X() );
      myData[ Y ]->setValue( aLoc.Y() );
      myData[ Z ]->setValue( aLoc.Z() );
      
      myData[ DX1 ]->setValue( aXDir.X() );
      myData[ DY1 ]->setValue( aXDir.Y() );
      myData[ DZ1 ]->setValue( aXDir.Z() );
      
      myData[ DX2 ]->setValue( aYDir.X() );
      myData[ DY2 ]->setValue( aYDir.Y() );
      myData[ DZ2 ]->setValue( aYDir.Z() );
    }
    displayPreview();
    return;
  }
  aSelectedObject = getSelected( TopAbs_VERTEX );
  if ( aSelectedObject && GEOMBase::GetShape( aSelectedObject.get(), aShape ) && !aShape.IsNull() ) {
    gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) );
    myData[ X ]->setValue( aPnt.X() );
    myData[ Y ]->setValue( aPnt.Y() );
    myData[ Z ]->setValue( aPnt.Z() );
    displayPreview();
    return;
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void BasicGUI_MarkerDlg::onValueChanged ( double  ) [private, slot]

Definition at line 619 of file BasicGUI_MarkerDlg.cxx.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 434 of file BasicGUI_MarkerDlg.cxx.

{
  QPushButton* send = (QPushButton*)sender();
  globalSelection(); // close local contexts, if any

  if ( send == Group1->PushButton1 ) {
    myEditCurrentArgument = Group1->LineEdit1;
    globalSelection( GEOM_ALLGEOM );
  }
  else if ( send == Group2->PushButton1 ) {
    myEditCurrentArgument = Group2->LineEdit1;
    localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
    Group2->PushButton2->setDown( false );
    Group2->PushButton3->setDown( false );
    Group2->LineEdit1->setEnabled( true );
    Group2->LineEdit2->setEnabled( false );
    Group2->LineEdit3->setEnabled( false );
  }
  else if ( send == Group2->PushButton2 ) {
    myEditCurrentArgument = Group2->LineEdit2;
    localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE );
    Group2->PushButton1->setDown( false );
    Group2->PushButton3->setDown( false );
    Group2->LineEdit1->setEnabled( false );
    Group2->LineEdit2->setEnabled( true );
    Group2->LineEdit3->setEnabled( false );
  }
  else if ( send == Group2->PushButton3 ) {
    myEditCurrentArgument = Group2->LineEdit3;
    localSelection( GEOM::GEOM_Object::_nil(), TopAbs_EDGE );
    Group2->PushButton1->setDown( false );
    Group2->PushButton2->setDown( false );
    Group2->LineEdit1->setEnabled( false );
    Group2->LineEdit2->setEnabled( false );
    Group2->LineEdit3->setEnabled( true );
  }
  
  myEditCurrentArgument->setFocus();
  send->setDown(true);
  onSelectionDone();
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

QFrame* BasicGUI_MarkerDlg::aMainGrp [private]

Definition at line 87 of file BasicGUI_MarkerDlg.h.

DlgRef_1Sel* BasicGUI_MarkerDlg::Group1 [private]

Definition at line 88 of file BasicGUI_MarkerDlg.h.

DlgRef_3Sel* BasicGUI_MarkerDlg::Group2 [private]

Definition at line 89 of file BasicGUI_MarkerDlg.h.

Definition at line 85 of file BasicGUI_MarkerDlg.h.

Definition at line 84 of file BasicGUI_MarkerDlg.h.

Definition at line 83 of file BasicGUI_MarkerDlg.h.

Definition at line 68 of file BasicGUI_MarkerDlg.h.

Definition at line 67 of file BasicGUI_MarkerDlg.h.

Definition at line 69 of file BasicGUI_MarkerDlg.h.

Definition at line 70 of file BasicGUI_MarkerDlg.h.


The documentation for this class was generated from the following files: