-// File : SMESHGUI_MoveNodesDlg.h
-// Created : Thu Jun 20 22:30:22 2002
-// Author : Nicolas REJNERI
-
-// Project : SALOME
-// Module : SMESH
-// Copyright : Open CASCADE 2002
+// SMESH SMESHGUI : GUI for SMESH component
+//
+// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+//
+//
+// File : SMESHGUI_MoveNodesDlg.h
+// Author : Nicolas REJNERI
+// Module : SMESH
// $Header$
-
#ifndef DIALOGBOX_MOVE_NODES_H
#define DIALOGBOX_MOVE_NODES_H
-#include "SALOME_Selection.h"
+#include "LightApp_SelectionMgr.h"
-// QT Includes
-#include <qvariant.h>
#include <qdialog.h>
-// Open CASCADE Includes
-#include <TColStd_MapOfInteger.hxx>
-
-class QVBoxLayout;
-class QHBoxLayout;
-class QGridLayout;
-class QButtonGroup;
-class QGroupBox;
-class QLabel;
class QLineEdit;
class QPushButton;
-class QRadioButton;
-class SMESHGUI;
class SMESHGUI_SpinBox;
+class SALOME_Actor;
+class QFrame;
-// IDL Headers
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(SMESH_Mesh)
-
-// VTK Include
-#include <vtkActor.h>
+class SMESHGUI;
+class SMESH_Actor;
+class SUIT_Desktop;
+class SVTK_Selector;
+class SVTK_ViewWindow;
//=================================================================================
// class : SMESHGUI_MoveNodesDlg
//=================================================================================
class SMESHGUI_MoveNodesDlg : public QDialog
{
- Q_OBJECT
+ Q_OBJECT
public:
- SMESHGUI_MoveNodesDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
- ~SMESHGUI_MoveNodesDlg();
+
+ SMESHGUI_MoveNodesDlg(SMESHGUI* theModule,
+ const char* name = 0);
+ virtual ~SMESHGUI_MoveNodesDlg();
+
+ void Init();
+
+private slots:
+
+ void onOk();
+ bool onApply();
+ void onClose();
+ void onHelp();
+
+ void onDeactivate();
+
+ void onSelectionDone();
+ void redisplayPreview();
+ void onTextChange(const QString&);
private:
- void Init( SALOME_Selection* Sel ) ;
- void closeEvent( QCloseEvent* e ) ;
- void enterEvent ( QEvent * ) ; /* mouse enter the QWidget */
-
- SMESHGUI* mySMESHGUI ; /* Current SMESHGUI object */
- SALOME_Selection* mySelection ; /* User shape selection */
- bool myOkNodes ; /* to check when arguments is defined */
- int myConstructorId ; /* Current constructor id = radio button id */
- int myIdnode;
- QLineEdit* myEditCurrentArgument; /* Current LineEdit */
-
- SMESH::SMESH_Mesh_var myMesh;
- TColStd_MapOfInteger myMapIndex;
-
- vtkActor *mySimulationActor;
-
- QGroupBox* GroupCoordinates;
- QLabel* TextLabel_X;
- QLabel* TextLabel_Y;
- QLabel* TextLabel_Z;
- SMESHGUI_SpinBox* SpinBox_X;
- SMESHGUI_SpinBox* SpinBox_Y;
- SMESHGUI_SpinBox* SpinBox_Z;
-
- QButtonGroup* GroupConstructors;
- QRadioButton* Constructor1;
- QGroupBox* GroupButtons;
- QPushButton* buttonOk;
- QPushButton* buttonCancel;
- QPushButton* buttonApply;
- QGroupBox* GroupC1;
- QLabel* TextLabelC1A1;
- QPushButton* SelectButtonC1A1;
- QLineEdit* LineEditC1A1;
+ void closeEvent( QCloseEvent* e ) ;
+ void enterEvent ( QEvent * ) ;
+ void hideEvent ( QHideEvent * );
+ void keyPressEvent( QKeyEvent* );
+ void erasePreview();
+ QFrame* createButtonFrame( QWidget* );
+ QFrame* createMainFrame ( QWidget* );
+ bool isValid( const bool ) const;
+ void reset();
+ void updateButtons();
-private slots:
+private:
- void ConstructorsClicked(int constructorId);
- void ClickOnOk();
- void ClickOnCancel();
- void ClickOnApply();
- void SetEditCurrentArgument() ;
- void SelectionIntoArgument() ;
- void DeactivateActiveDialog() ;
- void ActivateThisDialog() ;
- void ValueChangedInSpinBox( double newValue ) ;
-
-protected:
- QGridLayout* SMESHGUI_MoveNodesDlgLayout;
- QGridLayout* GroupConstructorsLayout;
- QGridLayout* GroupButtonsLayout;
- QGridLayout* GroupC1Layout;
- QGridLayout* GroupCoordinatesLayout;
+ QPushButton* myOkBtn;
+ QPushButton* myApplyBtn;
+ QPushButton* myCloseBtn;
+ QPushButton* myHelpBtn;
+
+ QLineEdit* myId;
+ SMESHGUI_SpinBox* myX;
+ SMESHGUI_SpinBox* myY;
+ SMESHGUI_SpinBox* myZ;
+
+ LightApp_SelectionMgr* mySelectionMgr;
+ SVTK_Selector* mySelector;
+ SMESHGUI* mySMESHGUI;
+
+ SALOME_Actor* myPreviewActor;
+ SMESH_Actor* myMeshActor;
+ bool myBusy;
+
+ QString myHelpFileName;
};
#endif // DIALOGBOX_MOVE_NODES_H