Version: 6.3.1

src/VISUGUI/VisuGUI_GaussPointsSelectionPane.h

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 //  VISU VISUGUI : GUI of VISU component
00021 //  File   : VisuGUI_GaussPointsSelectionPane.h
00022 //  Author : Oleg Uvarov
00023 //  Module : VISU
00024 //
00025 #ifndef VISUGUI_GAUSSPOINTSSELECTIONPANE_H
00026 #define VISUGUI_GAUSSPOINTSSELECTIONPANE_H
00027 
00028 #include <vtkObject.h>
00029 #include <vtkSmartPointer.h>
00030 
00031 #include <QLineEdit>
00032 
00033 class vtkActorCollection;
00034 class vtkCallbackCommand;
00035 class vtkImageData;
00036 
00037 class QLabel;
00038 class QComboBox;
00039 class QCheckBox;
00040 class QPushButton;
00041 
00042 class QtxAction;
00043 
00044 class VISU_GaussPtsAct;
00045 class VISU_PickingSettings;
00046 
00047 class SalomeApp_Module;
00048 class SVTK_RenderWindowInteractor;
00049 class VisuGUI_ValidatedLineEdit;
00050 
00052 
00056 class VisuGUI_GaussPointsSelectionPane : public QWidget
00057 {
00058   Q_OBJECT
00059 
00060 public:
00061   VisuGUI_GaussPointsSelectionPane( const SalomeApp_Module* theModule, QWidget* theParent );
00062 
00063   ~VisuGUI_GaussPointsSelectionPane();
00064 
00066   void                                  update();
00067 
00068   void                                  setIds( const int, const int );
00069 
00070   void                                  setInteractor( SVTK_RenderWindowInteractor* );
00071 
00072   void                                  apply();
00073   //void                                  help();
00074 
00075 protected:
00076   SVTK_RenderWindowInteractor*          getInteractor();
00077 
00078 protected slots:
00079   void                                  onSelectionValidate();
00080   void                                  onSelectionApply();
00081 
00082 private slots:
00083   void                                  onApplyDisplayParentMesh( bool );
00084 
00085 private:
00086   static void                           ProcessEvents(vtkObject* theObject, 
00087                                                       unsigned long theEvent,
00088                                                       void* theClientData, 
00089                                                       void* theCallData);
00090 
00091   void                                  KeyPressed();
00092   void                                  SelectionEvent();
00093   //void                                  keyPressEvent( QKeyEvent* e );
00094 
00095   void                                  clearIDControls();
00096 
00097 private:
00098   const SalomeApp_Module*               myModule;
00099 
00100   QCheckBox*                            myDisplayParentMeshCheckBox;
00101 
00102   VisuGUI_ValidatedLineEdit*            myParentElementLineEdit;
00103   VisuGUI_ValidatedLineEdit*            myLocalPointLineEdit;
00104 
00105   QValidator*                           myCellIDValidator;
00106   QValidator*                           myLocalPointIDValidator;
00107 
00108   float                                 myPriority;
00109   vtkSmartPointer<vtkCallbackCommand>   myEventCallbackCommand;
00110 };
00111 
00112 class VisuGUI_ValidatedLineEdit : public QLineEdit
00113 {
00114   Q_OBJECT;
00115 public:
00116   VisuGUI_ValidatedLineEdit( QWidget* parent );
00117   
00118 public slots:
00119   void MarkValidated( const QString& theText );
00120 };
00121 
00122 #endif
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