Back to index

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

#include <MeasureGUI_PointDlg.h>

Inheritance diagram for MeasureGUI_PointDlg:
Inheritance graph
[legend]
Collaboration diagram for MeasureGUI_PointDlg:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MeasureGUI_PointDlg (GeometryGUI *, QWidget *)
 ~MeasureGUI_PointDlg ()

Protected Slots

virtual void ClickOnCancel ()
virtual void ClickOnHelp ()
virtual void DeactivateActiveDialog ()
virtual void ActivateThisDialog ()
virtual void LineEditReturnPressed ()
virtual void SetEditCurrentArgument ()

Protected Member Functions

virtual void activateSelection ()
virtual void SelectionIntoArgument ()
void enterEvent (QEvent *)
void closeEvent (QCloseEvent *)
void keyPressEvent (QKeyEvent *)
void redisplayPreview ()
GEOM_Displayer * getDisplayer ()
virtual bool isValid (QString &)
virtual SALOME_Prs * buildPrs ()
virtual void processObject ()
virtual GEOM::GEOM_IOperations_ptr createOperation ()
MeasureGUI_SkeletonBoxmainFrame () const
QWidget * centralWidget () const
QPushButton * buttonClose () const
QPushButton * buttonHelp () const

Protected Attributes

QPushButton * mySelBtn
QLineEdit * mySelEdit
GEOM::GEOM_Object_var myObj
GeometryGUI * myGeomGUI
GEOM_Displayer * myDisplayer
QString myHelpFileName
MeasureGUI_SkeletonBoxmyMainFrame

Private Member Functions

void Init ()

Private Attributes

MeasureGUI_1Sel3LineEditmyGrp

Detailed Description

Definition at line 39 of file MeasureGUI_PointDlg.h.


Constructor & Destructor Documentation

MeasureGUI_PointDlg::MeasureGUI_PointDlg ( GeometryGUI *  GUI,
QWidget *  parent 
)

Definition at line 54 of file MeasureGUI_PointDlg.cxx.

  : MeasureGUI_Skeleton( GUI, parent )
{
  QPixmap iconPnt( SUIT_Session::session()->resourceMgr()->loadPixmap(
    "GEOM", tr( "ICON_DLG_POINT" ) ) );
  
  QPixmap iconSelect( SUIT_Session::session()->resourceMgr()->loadPixmap(
    "GEOM", tr( "ICON_SELECT" ) ) );

  setWindowTitle( tr( "CAPTION" ) );

  mainFrame()->GroupConstructors->setTitle( tr( "CAPTION" ) );
  mainFrame()->RadioButton1->setIcon( iconPnt );

  myGrp = new MeasureGUI_1Sel3LineEdit( centralWidget() );
  myGrp->TextLabel1->setText( tr( "POINT" ) );
  myGrp->PushButton1->setIcon( iconSelect );
  myGrp->LineEdit1->setReadOnly( true );
  myGrp->TextLabel2->setText( tr( "X" ) );
  myGrp->TextLabel3->setText( tr( "Y" ) );
  myGrp->TextLabel4->setText( tr( "Z" ) );
  myGrp->LineEdit2->setReadOnly( true );
  myGrp->LineEdit3->setReadOnly( true );
  myGrp->LineEdit4->setReadOnly( true );

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

  myHelpFileName = "using_measurement_tools_page.html#point_coord_anchor";

  Init();
}

Here is the call graph for this function:

Definition at line 93 of file MeasureGUI_PointDlg.cxx.

{
}

Member Function Documentation

void MeasureGUI_PointDlg::activateSelection ( ) [protected, virtual]

Reimplemented from MeasureGUI_Skeleton.

Definition at line 113 of file MeasureGUI_PointDlg.cxx.

{
  localSelection( GEOM::GEOM_Object::_nil(), TopAbs_VERTEX );
}
void MeasureGUI_Skeleton::ActivateThisDialog ( ) [protected, virtual, slot, inherited]

Definition at line 215 of file MeasureGUI_Skeleton.cxx.

{
  myGeomGUI->EmitSignalDeactivateDialog();
  
  setEnabled( true );
  
  myGeomGUI->SetActiveDialogBox( ( QDialog* )this );

  LightApp_SelectionMgr* aSel = ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr();
  if ( aSel )
    connect( aSel, SIGNAL( currentSelectionChanged() ), 
             this, SLOT  ( SelectionIntoArgument() ) ) ;
  
  redisplayPreview();
  activateSelection();
}

Here is the call graph for this function:

Here is the caller graph for this function:

SALOME_Prs * MeasureGUI_Skeleton::buildPrs ( ) [protected, virtual, inherited]

Reimplemented in MeasureGUI_DistanceDlg, MeasureGUI_PropertiesDlg, MeasureGUI_BndBoxDlg, and MeasureGUI_AngleDlg.

Definition at line 310 of file MeasureGUI_Skeleton.cxx.

{
  return 0;
}

Here is the caller graph for this function:

QPushButton * MeasureGUI_Skeleton::buttonClose ( ) const [protected, inherited]

Definition at line 408 of file MeasureGUI_Skeleton.cxx.

{
  return mainFrame()->buttonClose;
}

Here is the call graph for this function:

Here is the caller graph for this function:

QPushButton * MeasureGUI_Skeleton::buttonHelp ( ) const [protected, inherited]

Definition at line 413 of file MeasureGUI_Skeleton.cxx.

{
  return mainFrame()->buttonHelp;
}

Here is the call graph for this function:

Here is the caller graph for this function:

QWidget * MeasureGUI_Skeleton::centralWidget ( ) const [protected, inherited]

Definition at line 403 of file MeasureGUI_Skeleton.cxx.

{
  return mainFrame()->GroupMedium;
}

Here is the call graph for this function:

Here is the caller graph for this function:

void MeasureGUI_Skeleton::ClickOnCancel ( ) [protected, virtual, slot, inherited]

Definition at line 141 of file MeasureGUI_Skeleton.cxx.

{
  close();
}

Here is the caller graph for this function:

void MeasureGUI_Skeleton::ClickOnHelp ( ) [protected, virtual, slot, inherited]

Definition at line 150 of file MeasureGUI_Skeleton.cxx.

{
  LightApp_Application* app = (LightApp_Application*)( SUIT_Session::session()->activeApplication() );
  if ( app ) {
    app->onHelpContextModule( myGeomGUI ? app->moduleName( myGeomGUI->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 ) );
  }
}

Here is the caller graph for this function:

void MeasureGUI_Skeleton::closeEvent ( QCloseEvent *  e) [protected, inherited]

Definition at line 286 of file MeasureGUI_Skeleton.cxx.

{
  LightApp_SelectionMgr* aSel = ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr();
  if ( aSel )
    disconnect( aSel, 0, this, 0 );
  QDialog::closeEvent( e );
}
GEOM::GEOM_IOperations_ptr MeasureGUI_Skeleton::createOperation ( ) [protected, virtual, inherited]

Definition at line 377 of file MeasureGUI_Skeleton.cxx.

{
  return getGeomEngine()->GetIMeasureOperations( getStudyId() );
}
void MeasureGUI_Skeleton::DeactivateActiveDialog ( ) [protected, virtual, slot, inherited]

Definition at line 197 of file MeasureGUI_Skeleton.cxx.

{
  setEnabled( false );
  
  LightApp_SelectionMgr* aSel = ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr();
  if ( aSel )
    disconnect( aSel, 0, this, 0 );
  
  myGeomGUI->SetActiveDialogBox( 0 );

  globalSelection();
}

Here is the caller graph for this function:

void MeasureGUI_Skeleton::enterEvent ( QEvent *  ) [protected, inherited]

Definition at line 298 of file MeasureGUI_Skeleton.cxx.

{
  if ( mainFrame()->GroupConstructors->isEnabled() )
    return;
    
  ActivateThisDialog();
}

Here is the call graph for this function:

GEOM_Displayer * MeasureGUI_Skeleton::getDisplayer ( ) [protected, inherited]

Definition at line 366 of file MeasureGUI_Skeleton.cxx.

{
  if ( !myDisplayer )
    myDisplayer = new GEOM_Displayer( getStudy() );
  return myDisplayer;
}

Here is the caller graph for this function:

void MeasureGUI_PointDlg::Init ( ) [private]

Reimplemented from MeasureGUI_Skeleton.

Definition at line 102 of file MeasureGUI_PointDlg.cxx.

{
  QSize aSize( size() );
  resize( (int)(aSize.width() *0.75 ), aSize.height() );
  MeasureGUI_Skeleton::Init();
}

Here is the caller graph for this function:

bool MeasureGUI_Skeleton::isValid ( QString &  ) [protected, virtual, inherited]

Reimplemented in MeasureGUI_DistanceDlg, and MeasureGUI_AngleDlg.

Definition at line 357 of file MeasureGUI_Skeleton.cxx.

{
  return !myObj->_is_nil();
}

Here is the caller graph for this function:

void MeasureGUI_Skeleton::keyPressEvent ( QKeyEvent *  e) [protected, inherited]

Definition at line 386 of file MeasureGUI_Skeleton.cxx.

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

  if ( e->key() == Qt::Key_F1 ) {
    e->accept();
    ClickOnHelp();
  }
}

Here is the call graph for this function:

void MeasureGUI_Skeleton::LineEditReturnPressed ( ) [protected, virtual, slot, inherited]

Reimplemented in MeasureGUI_DistanceDlg, and MeasureGUI_AngleDlg.

Definition at line 173 of file MeasureGUI_Skeleton.cxx.

{
  /* User name of object input management                          */
  /* If successfull the selection is changed and signal emitted... */
  /* so SelectionIntoArgument() is automatically called.           */
  
  if ( mySelEdit ) {
    const QString objectUserName = mySelEdit->text();
    QWidget* thisWidget = ( QWidget* )this;
    
    LightApp_SelectionMgr* aSelMgr = myGeomGUI->getApp()->selectionMgr();
    SALOME_ListIO aSelList;
    aSelMgr->selectedObjects(aSelList);

    if (GEOMBase::SelectionByNameInDialogs(thisWidget, objectUserName, aSelList))
      mySelEdit->setText(objectUserName);
  }
}

Here is the caller graph for this function:

MeasureGUI_SkeletonBox * MeasureGUI_Skeleton::mainFrame ( ) const [protected, inherited]

Definition at line 398 of file MeasureGUI_Skeleton.cxx.

{
  return myMainFrame;
}

Here is the caller graph for this function:

void MeasureGUI_Skeleton::processObject ( ) [protected, virtual, inherited]
void MeasureGUI_Skeleton::redisplayPreview ( ) [protected, inherited]

Definition at line 319 of file MeasureGUI_Skeleton.cxx.

{
  QString aMess;
  if ( !isValid( aMess ) ) {
    erasePreview( true );
    return;
  }

  erasePreview( false );

  try {
    SUIT_OverrideCursor();

    getDisplayer()->SetColor( Quantity_NOC_VIOLET );
    getDisplayer()->SetToActivate( false );
    
    if ( SALOME_Prs* aPrs = buildPrs() )
      displayPreview( aPrs );
  }
  catch ( const SALOME::SALOME_Exception& e ) {
    SalomeApp_Tools::QtCatchCorbaException( e );
  }
  
}

Here is the call graph for this function:

Here is the caller graph for this function:

void MeasureGUI_PointDlg::SelectionIntoArgument ( ) [protected, virtual]

Reimplemented from MeasureGUI_Skeleton.

Definition at line 122 of file MeasureGUI_PointDlg.cxx.

{
  try {
    myObj = GEOM::GEOM_Object::_nil();
    myGrp->LineEdit1->setText( "" );
    myGrp->LineEdit2->setText( "" );
    myGrp->LineEdit3->setText( "" );
    myGrp->LineEdit4->setText( "" );

    LightApp_SelectionMgr* aSelMgr = myGeomGUI->getApp()->selectionMgr();
    SALOME_ListIO aSelList;
    aSelMgr->selectedObjects(aSelList);

    if (aSelList.Extent() < 1)
      return;

    GEOM::GEOM_Object_var aSelectedObject =
      GEOMBase::ConvertIOinGEOMObject( aSelList.First() );

    if ( aSelectedObject->_is_nil() )
      return;

    myObj = aSelectedObject;

    TColStd_IndexedMapOfInteger anIndexes;
    aSelMgr->GetIndexes(aSelList.First(), anIndexes);

    TopoDS_Shape aShape;
    if ( anIndexes.Extent() > 1 || !GEOMBase::GetShape( myObj, aShape ) || aShape.IsNull() )
      return;

    TopoDS_Vertex aPoint;
    QString aName = GEOMBase::GetName( myObj );
    if ( anIndexes.Extent() == 0 ) {
      if ( aShape.ShapeType() == TopAbs_VERTEX )
        aPoint = TopoDS::Vertex( aShape );
    }
    else {
      int i = anIndexes( 1 );

      TopTools_IndexedMapOfShape aShapes;
      TopExp::MapShapes( aShape, aShapes );
      
      if ( aShape != aShapes( i ) )
        aName += QString( ":%1" ).arg( i );

      aPoint = TopoDS::Vertex( aShapes( i ) );
    }

    if ( !aPoint.IsNull() ) {
      gp_Pnt aPnt = BRep_Tool::Pnt( aPoint );
      myGrp->LineEdit1->setText( aName );
      SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
      int aPrecision = resMgr->integerValue( "Geometry", "length_precision", 6 );
      myGrp->LineEdit2->setText( DlgRef::PrintDoubleValue( aPnt.X(), aPrecision ) );
      myGrp->LineEdit3->setText( DlgRef::PrintDoubleValue( aPnt.Y(), aPrecision ) );
      myGrp->LineEdit4->setText( DlgRef::PrintDoubleValue( aPnt.Z(), aPrecision ) );
    }
  }
  catch( ... )
  {
    myObj = GEOM::GEOM_Object::_nil();
    myGrp->LineEdit1->setText( "" );
    myGrp->LineEdit2->setText( "" );
    myGrp->LineEdit3->setText( "" );
    myGrp->LineEdit4->setText( "" );
  }
}

Here is the call graph for this function:

void MeasureGUI_Skeleton::SetEditCurrentArgument ( ) [protected, virtual, slot, inherited]

Reimplemented in MeasureGUI_DistanceDlg, and MeasureGUI_AngleDlg.

Definition at line 236 of file MeasureGUI_Skeleton.cxx.

{
  mySelEdit->setFocus();
  SelectionIntoArgument();
}

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

GEOM_Displayer* MeasureGUI_Skeleton::myDisplayer [protected, inherited]

Definition at line 83 of file MeasureGUI_Skeleton.h.

GeometryGUI* MeasureGUI_Skeleton::myGeomGUI [protected, inherited]

Definition at line 82 of file MeasureGUI_Skeleton.h.

Definition at line 56 of file MeasureGUI_PointDlg.h.

QString MeasureGUI_Skeleton::myHelpFileName [protected, inherited]

Definition at line 85 of file MeasureGUI_Skeleton.h.

Definition at line 86 of file MeasureGUI_Skeleton.h.

GEOM::GEOM_Object_var MeasureGUI_Skeleton::myObj [protected, inherited]

Definition at line 80 of file MeasureGUI_Skeleton.h.

QPushButton* MeasureGUI_Skeleton::mySelBtn [protected, inherited]

Definition at line 78 of file MeasureGUI_Skeleton.h.

QLineEdit* MeasureGUI_Skeleton::mySelEdit [protected, inherited]

Definition at line 79 of file MeasureGUI_Skeleton.h.


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