1 // Copyright (C) 2009-2012 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #ifndef __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
20 #define __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
24 # if defined HEXABLOCKGUI_DOCUMENTPANEL_EXPORT || defined HexablockGui_DocumentPanel_EXPORTS
25 # define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT __declspec( dllexport )
27 # define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT __declspec( dllimport )
30 # define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT
34 #define MAX_WIDTH 16777215
35 #define MAX_HEIGHT 16777215
40 #include <QDockWidget>
42 #include "ui_Vertex_QTD.h"
43 #include "ui_Quad_QTD.h"
44 #include "ui_Edge_QTD.h"
45 #include "ui_Hexa_QTD.h"
47 #include "ui_Vector_QTD.h"
48 #include "ui_Cylinder_QTD.h"
49 #include "ui_Pipe_QTD.h"
50 #include "ui_MakeGrid_QTD.h"
51 #include "ui_MakePipe_QTD.h"
52 #include "ui_MakeCylinder_QTD.h"
53 #include "ui_MakeCylinders_QTD.h"
54 #include "ui_MakePipes_QTD.h"
55 #include "ui_RemoveHexa_QTD.h"
56 #include "ui_PrismQuad_QTD.h"
57 #include "ui_JoinQuad_QTD.h"
58 #include "ui_Merge_QTD.h"
59 #include "ui_Disconnect_QTD.h"
60 #include "ui_CutEdge_QTD.h"
61 #include "ui_Transformation_QTD.h"
62 #include "ui_Symmetry_QTD.h"
64 #include "ui_EdgeAssoc_QTD.h"
65 #include "ui_QuadAssoc_QTD.h"
67 #include "ui_Group_QTD.h"
68 #include "ui_Law_QTD.h"
69 #include "ui_Propagation_QTD.h"
72 #include "ui_QuadRevolution_QTD.h"
73 #include "ui_MakeRind_QTD.h"
74 #include "ui_ReplaceHexa_QTD.h"
75 #include "ui_MakeHemiSphere_QTD.h"
78 #include "MyGEOMBase_Helper.hxx"
82 #include "HexVertex.hxx"
83 #include "HexEdge.hxx"
84 #include "HexQuad.hxx"
85 #include "HexHexa.hxx"
88 #include "HEXABLOCKGUI_DocumentSelectionModel.hxx"
89 #include "HEXABLOCKGUI_DocumentModel.hxx"
90 // #include "HEXABLOCKGUI_SalomeTools.hxx"
92 #include "klinkitemselectionmodel.hxx"
94 Q_DECLARE_METATYPE(QModelIndex);
95 Q_DECLARE_METATYPE(HEXABLOCK::GUI::DocumentModel::GeomObj);
96 Q_DECLARE_METATYPE(GEOM::GeomObjPtr);
98 // class MyBasicGUI_PointDlg;
104 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT HexaBaseDialog : public QDialog,
105 public MyGEOMBase_Helper
122 // define input widget type => usefull for selection
123 typedef HexaTreeRole HexaWidgetType;
124 typedef TopAbs_ShapeEnum/*int */GeomWidgetType; //CS_TODO
126 // TopAbs_ShapeEnum aType = TopAbs_EDGE;
130 LW_QMODELINDEX_ROLE = Qt::UserRole + 1,
136 HexaBaseDialog( QWidget * parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = 0 );
137 virtual ~HexaBaseDialog(){};
139 // clear all input widget
140 virtual void clear(){};
141 ViewType getObjectViewType(QObject* obj);
144 virtual void setDocumentModel( DocumentModel* m ){ _documentModel = m;}
147 virtual void setPatternDataSelectionModel( PatternDataSelectionModel* s )
148 { _patternDataSelectionModel = s;}
150 virtual void setPatternBuilderSelectionModel( PatternBuilderSelectionModel* s )
151 { _patternBuilderSelectionModel = s; }
153 virtual void setGroupsSelectionModel( GroupsSelectionModel* s )
154 { _groupsSelectionModel = s; }
156 virtual void setMeshSelectionModel( MeshSelectionModel* s )
157 { _meshSelectionModel = s; }
159 void resetSizeAndShow(QDockWidget* parent);
160 void lockSizeToSizeHint();
161 void unlockSizeModification();
162 virtual QModelIndexList getAssocsVTK()
164 QModelIndexList assocs;
167 virtual QMultiMap<QString, int> getAssocsGEOM()
169 QMultiMap<QString, int> assocs;
172 void clearVTKSelection();
173 void clearOCCSelection();
175 bool debugEdgeAssoc; //Temporary
178 //virtual void accept();
179 virtual bool apply();
180 virtual void close();
181 virtual void onHelpRequested();
184 virtual bool eventFilter(QObject *obj, QEvent *event);
185 virtual void hideEvent ( QHideEvent * event );
186 virtual void showEvent ( QShowEvent * event );
187 virtual bool apply(QModelIndex& result) = 0;
189 virtual void _initInputWidget( Mode editmode )=0; //must be implemented on inherited dialog box
190 virtual QGroupBox* _initButtonBox( Mode editmode );
191 void _initWidget( Mode editmode ); // call _initInputWidget() & _initButtonBox()
192 QModelIndexList getIndexList(QListWidget* itemsList);
194 void _initViewManager();
196 void _allowSelection();
197 void _disallowSelection();
198 QItemSelectionModel* _allowSelection( HexaWidgetType wtype );
200 bool _allowVTKSelection( QObject* obj );
201 bool _allowOCCSelection( QObject* obj );
202 void setOCCSelectionMode(TopAbs_ShapeEnum mode);
203 QItemSelectionModel* _getSelector( QObject* obj );
206 bool _onSelectionChanged( const QItemSelection& sel, QLineEdit* le );
207 bool _onSelectionChanged( const QItemSelection& sel, QListWidget* lw );
209 void _selectAndHighlight( const QModelIndex& i );
211 void _highlightWidget(QObject* obj, Qt::GlobalColor clr);
213 void setFocusToNextField();
217 DocumentModel* _documentModel;
220 PatternDataSelectionModel* _patternDataSelectionModel;
221 PatternBuilderSelectionModel* _patternBuilderSelectionModel;
222 GroupsSelectionModel* _groupsSelectionModel;
223 MeshSelectionModel* _meshSelectionModel;
225 QMap<QObject*, QModelIndex> _index;
226 QObject* _currentObj;
228 int _expectedSelection;
229 bool _selectionMutex;
231 LightApp_SelectionMgr* _mgr;
232 SUIT_ViewManager* _vtkVm;
233 SUIT_ViewManager* _occVm;
235 QMap<HexaWidgetType, QString> _strHexaWidgetType;
237 //QPushButton* _applyCloseButton;
238 QPushButton* _applyButton;
240 QString _helpFileName;
243 bool _isLineOrListWidget(QObject*);
244 void _updateCurrentObject(QObject*);
245 TopAbs_ShapeEnum currentOCCSelectionMode;
246 void refreshConnects();
250 virtual void onSelectionChanged( const QItemSelection& sel, const QItemSelection& unsel ); //from qt model/view selectionManager
251 virtual void onCurrentSelectionChanged();//from salome selectionManager
252 virtual void onWindowActivated(SUIT_ViewManager*){};
253 virtual void updateButtonBox();
255 virtual void selectElementOfModel();
256 void highlightSelectedAssocs();
262 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT VertexDialog : public HexaBaseDialog,
263 public Ui::VertexDialog
268 VertexDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
269 virtual ~VertexDialog();
273 void setValue(HEXA_NS::Vertex* v);
274 HEXA_NS::Vertex* getValue();
276 void setIndex(const QModelIndex& i);
279 virtual bool apply(QModelIndex& result);
280 // void updateName();
283 void _initInputWidget( Mode editmode );
286 HEXA_NS::Vertex *_value;
291 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeDialog : public HexaBaseDialog,
292 public Ui::EdgeDialog
297 EdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
298 virtual ~EdgeDialog();
302 void setValue(HEXA_NS::Edge* e);
303 HEXA_NS::Edge* getValue();
306 void _initInputWidget( Mode editmode );
309 virtual bool apply(QModelIndex& result);
310 // void updateName();
313 HEXA_NS::Edge *_value;
318 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadDialog : public HexaBaseDialog,
319 public Ui::QuadDialog
324 QuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
325 virtual ~QuadDialog();
329 void setValue(HEXA_NS::Quad* v);
330 HEXA_NS::Quad* getValue();
333 virtual bool apply(QModelIndex& result);
334 // void updateName();
337 void _initInputWidget( Mode editmode );
340 HEXA_NS::Quad *_value;
346 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT HexaDialog : public HexaBaseDialog,
347 public Ui::HexaDialog
352 HexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
353 virtual ~HexaDialog();
356 virtual QModelIndexList getAssocsVTK();
358 void setValue(HEXA_NS::Hexa* v);
359 HEXA_NS::Hexa* getValue();
362 virtual bool apply(QModelIndex& result);
365 void _initInputWidget( Mode editmode );
368 void deleteQuadItem();
369 void deleteVertexItem();
370 void updateButtonBox();
373 void _setValueQuads( HEXA_NS::Hexa* h );
374 void _setValueVertices( HEXA_NS::Hexa* h );
376 HEXA_NS::Hexa *_value;
381 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT VectorDialog : public HexaBaseDialog,
382 public Ui::VectorDialog
387 VectorDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
388 virtual ~VectorDialog();
392 void setValue(HEXA_NS::Vector* v);
393 HEXA_NS::Vector* getValue();
396 virtual bool apply(QModelIndex& result);
397 // void updateName();
400 void _initInputWidget( Mode editmode );
403 HEXA_NS::Vector *_value;
409 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT CylinderDialog : public HexaBaseDialog,
410 public Ui::CylinderDialog
415 CylinderDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
416 virtual ~CylinderDialog();
420 void setValue( HEXA_NS::Cylinder* v );
421 HEXA_NS::Cylinder* getValue();
424 virtual bool apply(QModelIndex& result);
425 // void updateName();
428 void _initInputWidget( Mode editmode );
431 HEXA_NS::Cylinder *_value;
437 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PipeDialog : public HexaBaseDialog,
438 public Ui::PipeDialog
443 PipeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
444 virtual ~PipeDialog();
448 void setValue( HEXA_NS::Pipe* p );
449 HEXA_NS::Pipe* getValue();
452 virtual bool apply(QModelIndex& result);
453 // void updateName();
456 void _initInputWidget( Mode editmode );
459 HEXA_NS::Pipe *_value;
466 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeGridDialog : public HexaBaseDialog,
467 public Ui::MakeGridDialog
472 MakeGridDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
473 virtual ~MakeGridDialog();
478 virtual bool apply(QModelIndex& result);
481 void _initInputWidget( Mode editmode );
484 void addRadiusItem();
485 void delRadiusItem();
488 void addHeightItem();
489 void delHeightItem();
490 void updateButtonBox();
493 void updateHelpFileName();
500 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeCylinderDialog : public HexaBaseDialog,
501 public Ui::MakeCylinderDialog
506 MakeCylinderDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
507 virtual ~MakeCylinderDialog();
512 void _initInputWidget( Mode editmode );
515 virtual bool apply(QModelIndex& result);
519 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakePipeDialog : public HexaBaseDialog,
520 public Ui::MakePipeDialog
525 MakePipeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
526 virtual ~MakePipeDialog();
531 virtual bool apply(QModelIndex& result);
534 void _initInputWidget( Mode editmode );
538 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeCylindersDialog : public HexaBaseDialog,
539 public Ui::MakeCylindersDialog
544 MakeCylindersDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
545 virtual ~MakeCylindersDialog();
550 virtual bool apply(QModelIndex& result);
553 void _initInputWidget( Mode editmode );
557 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakePipesDialog : public HexaBaseDialog,
558 public Ui::MakePipesDialog
563 MakePipesDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
564 virtual ~MakePipesDialog();
569 virtual bool apply(QModelIndex& result);
572 void _initInputWidget( Mode editmode );
577 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT RemoveHexaDialog : public HexaBaseDialog,
578 public Ui::RemoveHexaDialog
583 RemoveHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
584 virtual ~RemoveHexaDialog();
589 virtual bool apply(QModelIndex& result);
592 void _initInputWidget( Mode editmode );
596 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PrismQuadDialog : public HexaBaseDialog,
597 public Ui::PrismQuadDialog
602 PrismQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
603 virtual ~PrismQuadDialog();
605 virtual QModelIndexList getAssocsVTK();
608 virtual bool apply(QModelIndex& result);
611 void _initInputWidget( Mode editmode );
614 void addHeightItem();
615 void delHeightItem();
624 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT JoinQuadDialog : public HexaBaseDialog,
625 public Ui::JoinQuadDialog
630 JoinQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
631 virtual ~JoinQuadDialog();
634 virtual QModelIndexList getAssocsVTK();
637 virtual bool apply(QModelIndex& result);
640 void _initInputWidget( Mode editmode );
650 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MergeDialog : public HexaBaseDialog,
651 public Ui::MergeDialog
656 MergeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
657 virtual ~MergeDialog();
662 virtual bool apply(QModelIndex& result);
665 void _initInputWidget( Mode editmode );
668 void updateHelpFileName();
675 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT DisconnectDialog : public HexaBaseDialog,
676 public Ui::DisconnectDialog
681 DisconnectDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
682 virtual ~DisconnectDialog();
687 virtual bool apply(QModelIndex& result);
690 void _initInputWidget( Mode editmode );
693 void updateHelpFileName();
694 void deleteEdgeItem();
695 void deleteHexaItem();
700 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT CutEdgeDialog : public HexaBaseDialog,
701 public Ui::CutEdgeDialog
706 CutEdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
707 virtual ~CutEdgeDialog();
712 virtual bool apply(QModelIndex& result);
715 void _initInputWidget( Mode editmode );
719 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeTransformationDialog : public HexaBaseDialog,
720 public Ui::TransformationDialog
725 MakeTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
726 virtual ~MakeTransformationDialog ();
731 virtual bool apply(QModelIndex& result);
734 void _initInputWidget( Mode editmode );
737 void updateHelpFileName();
741 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeSymmetryDialog : public HexaBaseDialog,
742 public Ui::SymmetryDialog
747 MakeSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
748 virtual ~MakeSymmetryDialog();
753 virtual bool apply(QModelIndex& result);
756 void _initInputWidget( Mode editmode );
759 void updateHelpFileName();
765 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PerformTransformationDialog : public HexaBaseDialog,
766 public Ui::TransformationDialog
771 PerformTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
772 virtual ~PerformTransformationDialog ();
777 virtual bool apply(QModelIndex& result);
780 void _initInputWidget( Mode editmode );
783 void updateHelpFileName();
787 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PerformSymmetryDialog : public HexaBaseDialog,
788 public Ui::SymmetryDialog
793 PerformSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
794 virtual ~PerformSymmetryDialog();
799 virtual bool apply(QModelIndex& result);
802 void _initInputWidget( Mode editmode );
805 void updateHelpFileName();
809 // typedef class MyBasicGUI_PointDlg VertexAssocDialog;
813 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
814 public Ui::EdgeAssocDialog
819 EdgeAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
820 virtual ~EdgeAssocDialog();
822 virtual QModelIndexList getAssocsVTK();
823 virtual QMultiMap<QString, int> getAssocsGEOM();
825 void setGeomEngine( GEOM::GEOM_Gen_var geomEngine );
828 virtual bool apply(QModelIndex& result);
831 virtual void _initInputWidget( Mode editmode );
832 // virtual void hideEvent ( QHideEvent * event );
833 // virtual void showEvent ( QShowEvent * event );
834 virtual GEOM::GEOM_IOperations_ptr createOperation();
835 virtual bool execute( ObjectList& );
838 virtual void onCurrentSelectionChanged();
839 // void onSelectionChanged( const QItemSelection& sel, const QItemSelection& unsel );
840 virtual void onWindowActivated(SUIT_ViewManager*);
841 virtual void selectElementOfGeom();
843 void deleteEdgeItem();
844 void deleteLineItem();
847 void pstartChanged( double val );
848 void pendChanged( double val );
851 // QModelIndexList currentAssocList;
853 // GEOM::GeomObjPtr _firstLine;
854 // GEOM::GeomObjPtr _lastLine;
855 GEOM::GeomObjPtr _currentLine;
856 GEOM::GeomObjPtr myLine;
857 double _currentParameter;
858 GEOM::GEOM_Gen_var _geomEngine ;
863 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadAssocDialog : public HexaBaseDialog,
864 public Ui::QuadAssocDialog
869 QuadAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
870 virtual ~QuadAssocDialog();
872 virtual QModelIndexList getAssocsVTK();
873 virtual QMultiMap<QString, int> getAssocsGEOM();
876 virtual bool apply(QModelIndex& result);
879 virtual void _initInputWidget( Mode editmode );
880 // virtual void hideEvent ( QHideEvent * event );
881 // virtual void showEvent ( QShowEvent * event );
884 virtual void onCurrentSelectionChanged();
885 virtual void onWindowActivated(SUIT_ViewManager*);
886 void deleteFaceItem();
887 virtual void selectElementOfGeom();
890 QList<DocumentModel::GeomObj> _assocs;
891 QShortcut* _delFaceShortcut;
896 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT GroupDialog : public HexaBaseDialog,
897 public Ui::GroupDialog
901 QMap<DocumentModel::Group, QString> strKind;
904 GroupDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
905 virtual ~GroupDialog();
907 virtual QModelIndexList getAssocsVTK();
909 void setValue(HEXA_NS::Group* v);
910 HEXA_NS::Group* getValue();
913 virtual bool apply(QModelIndex& result);
916 void _initInputWidget( Mode editmode );
919 // void addEltBase();
920 void removeEltBase();
921 // void clearEltBase();
922 void onKindChanged( int index );
925 HEXA_NS::Group *_value;
930 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT LawDialog : public HexaBaseDialog,
935 QMap<DocumentModel::KindLaw, QString> strKind;
938 LawDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
939 virtual ~LawDialog();
942 void setValue(HEXA_NS::Law* v);
943 HEXA_NS::Law* getValue();
946 virtual bool apply(QModelIndex& result);
949 void _initInputWidget( Mode editmode );
952 HEXA_NS::Law *_value;
958 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PropagationDialog : public HexaBaseDialog,
959 public Ui::PropagationDialog
964 PropagationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
965 virtual ~PropagationDialog();
968 void setValue(HEXA_NS::Propagation* v);
969 HEXA_NS::Propagation* getValue();
972 virtual bool apply(QModelIndex& result);
975 void _initInputWidget( Mode editmode );
978 void updateHelpFileName();
979 void deletePropagationItem();
980 virtual void selectElementOfModel();
983 HEXA_NS::Propagation *_value;
988 // Define the compute mesh dialog box
989 // ----------------------------------
991 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT ComputeMeshDialog : public HexaBaseDialog
996 ComputeMeshDialog( QWidget* parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = Qt::SubWindow );
997 virtual ~ComputeMeshDialog();
1000 void setDocumentModel(DocumentModel* m);
1003 virtual bool apply(QModelIndex& result);
1004 // virtual void accept();
1005 // virtual void reject();
1008 void _initInputWidget( Mode editmode );
1018 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT ReplaceHexaDialog : public HexaBaseDialog,
1019 public Ui::ReplaceHexaDialog
1024 ReplaceHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1025 virtual ~ReplaceHexaDialog();
1027 virtual QModelIndexList getAssocsVTK();
1031 virtual bool apply(QModelIndex& result);
1034 void _initInputWidget( Mode editmode );
1037 void deleteQuadItem();
1038 void updateButtonBox();
1041 HEXA_NS::Elements *_value;
1048 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadRevolutionDialog : public HexaBaseDialog,
1049 public Ui::QuadRevolutionDialog
1054 QuadRevolutionDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1055 virtual ~QuadRevolutionDialog();
1057 virtual QModelIndexList getAssocsVTK();
1060 virtual bool apply(QModelIndex& result);
1063 void _initInputWidget( Mode editmode );
1066 void addAngleItem();
1067 void delAngleItem();
1069 void updateButtonBox();
1072 HEXA_NS::Elements *_value;
1077 class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeHemiSphereDialog : public HexaBaseDialog,
1078 public Ui::MakeHemiSphereDialog
1083 MakeHemiSphereDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1084 virtual ~MakeHemiSphereDialog();
1087 // void setValue(HEXA_NS::Propagation* v);
1088 // HEXA_NS::Propagation* getValue();
1091 virtual bool apply(QModelIndex& result);
1094 void _initInputWidget( Mode editmode );
1097 HEXA_NS::Elements *_value;
1100 // class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeRindDialog : public HexaBaseDialog,
1101 // public Ui::MakeRindDialog
1106 // MakeRindDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1107 // virtual ~MakeRindDialog();
1110 // virtual bool apply(QModelIndex& result);
1113 // // HEXA_NS::Propagation *_value;:q