1 // Copyright (C) 2009-2015 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, or (at your option) any later version.
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_
22 #include "HEXABLOCKGUI_Export.hxx"
24 #define MAX_WIDTH 16777215
25 #define MAX_HEIGHT 16777215
30 #include <QDockWidget>
32 #include "ui_Vertex_QTD.h"
33 #include "ui_Quad_QTD.h"
34 #include "ui_Edge_QTD.h"
35 #include "ui_Hexa_QTD.h"
37 #include "ui_Vector_QTD.h"
38 #include "ui_Cylinder_QTD.h"
39 #include "ui_Pipe_QTD.h"
40 #include "ui_MakeGrid_QTD.h"
41 #include "ui_MakePipe_QTD.h"
42 #include "ui_MakeCylinder_QTD.h"
43 #include "ui_MakeCylinders_QTD.h"
44 #include "ui_MakePipes_QTD.h"
45 #include "ui_RemoveHexa_QTD.h"
46 #include "ui_PrismQuad_QTD.h"
47 #include "ui_JoinQuad_QTD.h"
48 #include "ui_Merge_QTD.h"
49 #include "ui_Disconnect_QTD.h"
50 #include "ui_CutEdge_QTD.h"
51 #include "ui_Transformation_QTD.h"
52 #include "ui_Symmetry_QTD.h"
54 #include "ui_EdgeAssoc_QTD.h"
55 #include "ui_QuadAssoc_QTD.h"
57 #include "ui_Group_QTD.h"
58 #include "ui_Law_QTD.h"
59 #include "ui_Propagation_QTD.h"
61 #include "ui_QuadRevolution_QTD.h"
62 #include "ui_MakeRind_QTD.h"
63 #include "ui_ReplaceHexa_QTD.h"
64 #include "ui_MakeHemiSphere_QTD.h"
65 #include "ui_ModelInfo_QTD.h"
66 #include "ui_AddShapeDialog_QTD.h"
67 #include "ui_ComputeMesh_QTD.h"
69 #include "HexVertex.hxx"
70 #include "HexEdge.hxx"
71 #include "HexQuad.hxx"
72 #include "HexHexa.hxx"
75 #include "HEXABLOCKGUI_DocumentSelectionModel.hxx"
76 #include "HEXABLOCKGUI_DocumentModel.hxx"
77 #include "HEXABLOCKGUI_VtkDocumentGraphicView.hxx"
78 #include "HEXABLOCKGUI.hxx"
80 #include "klinkitemselectionmodel.hxx"
82 Q_DECLARE_METATYPE(QModelIndex);
88 class HEXABLOCK_EXPORT HexaBaseDialog : public QDialog
99 // define input widget type => usefull for selection
100 typedef HexaTreeRole HexaWidgetType;
101 typedef TopAbs_ShapeEnum GeomWidgetType; //CS_TODO
104 LW_QMODELINDEX_ROLE = Qt::UserRole + 1,
110 HexaBaseDialog( QWidget * parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = 0 );
111 virtual ~HexaBaseDialog(){};
113 // clear all input widget
114 virtual void clear(){};
115 void clearWidgetsIndexes() { _index.clear(); }
117 void connectDocumentGraphicView(VtkDocumentGraphicView* docGView = NULL);
118 void disconnectDocumentGraphicView(VtkDocumentGraphicView* docGView = NULL);
120 SVTK_ViewWindow* getCurrentVtkView() const {
121 return HEXABLOCKGUI::currentDocGView->getViewWindow();
125 DocumentModel* getDocumentModel() const {
126 return HEXABLOCKGUI::currentDocGView->getDocumentModel();
129 PatternDataModel* getPatternDataModel() const {
130 return HEXABLOCKGUI::currentDocGView->getPatternDataModel();
133 PatternGeomModel* getPatternGeomModel() const {
134 return HEXABLOCKGUI::currentDocGView->getPatternGeomModel();
137 GroupsModel* getGroupsModel() const {
138 return HEXABLOCKGUI::currentDocGView->getGroupsModel();
141 MeshModel* getMeshModel() const {
142 return HEXABLOCKGUI::currentDocGView->getMeshModel();
145 //get selection patterns from the current graphic view
146 PatternDataSelectionModel* getPatternDataSelectionModel() const {
147 return HEXABLOCKGUI::currentDocGView->getPatternDataSelectionModel();
150 PatternGeomSelectionModel* getPatternGeomSelectionModel() const {
151 return HEXABLOCKGUI::currentDocGView->getPatternGeomSelectionModel();
154 GroupsSelectionModel* getGroupsSelectionModel() const {
155 return HEXABLOCKGUI::currentDocGView->getGroupsSelectionModel();
158 MeshSelectionModel* getMeshSelectionModel() const {
159 return HEXABLOCKGUI::currentDocGView->getMeshSelectionModel();
162 QString getErrorMsg();
164 HEXABLOCKGUI::ViewType getObjectViewType(QObject* obj);
165 void modelUnregister(QWidget* widget); //unlink the widget from the model
166 void resetSizeAndShow(QDockWidget* parent);
167 virtual QModelIndexList getAssocsVTK()
169 QModelIndexList assocs;
172 virtual QMultiMap<QString, int> getAssocsGEOM()
174 QMultiMap<QString, int> assocs;
177 virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) {}
178 virtual void computeAndSetDimension(const QModelIndex& elt);
180 bool debugEdgeAssoc; //Temporary
181 bool autoFocusSwitch;
184 virtual bool apply();
185 virtual void close();
186 virtual void onHelpRequested();
187 void highlightSelectedAssocs();
188 void refreshHighlight();
189 virtual void onWindowActivated(SUIT_ViewManager*){};
190 void clearVTKSelection();
191 void clearOCCSelection();
192 void clearCurrentObjectFocus();
195 virtual bool eventFilter(QObject *obj, QEvent *event);
196 virtual void hideEvent ( QHideEvent * event );
197 virtual void showEvent ( QShowEvent * event );
198 virtual bool apply(QModelIndex& result) = 0;
200 //Gives a default name to an element according to the last created
201 void updateDefaultName(QLineEdit* name_field, HEXA_NS::EnumElt type);
202 DocumentModel::GeomObj* getGeomObj(const QModelIndex& index);
204 virtual void _initInputWidget( Mode editmode )=0; //must be implemented on inherited dialog box
205 virtual QGroupBox* _initButtonBox( Mode editmode );
206 void _initWidget( Mode editmode ); // call _initInputWidget() & _initButtonBox()
207 QModelIndexList getIndexList(QListWidget* itemsList, bool mapToSource = true);
209 void _allowSelection();
210 void _disallowSelection();
211 QItemSelectionModel* _allowSelection( HexaWidgetType wtype );
213 bool _allowVTKSelection( QObject* obj );
214 bool _allowOCCSelection( QObject* obj );
215 QItemSelectionModel* _getSelector( QObject* obj );
217 void _selectAndHighlight( const QModelIndex& i );
219 void _highlightWidget(QObject* obj, Qt::GlobalColor clr);
221 void setFocusToNextField();
223 void _updateCurrentObject(QObject*);
225 bool isDimensionType(const QObject* obj);
229 QMap<QObject*, QModelIndex> _index;
230 QObject* _currentObj;
231 QMap<HexaWidgetType, QString> _strHexaWidgetType;
232 QPushButton* _applyButton;
233 QString _helpFileName;
236 bool _isLineOrListWidget(QObject*);
239 virtual void onSelectionChanged( const QItemSelection& sel, const QItemSelection& unsel ); //from qt model/view selectionManager
240 virtual void onCurrentSelectionChanged();//from salome selectionManager
241 bool _onSelectionChanged( const QItemSelection& sel, QLineEdit* le );
242 bool _onSelectionChanged( const QItemSelection& sel, QListWidget* lw );
243 virtual void updateButtonBox();
245 virtual void selectElementOfModel();
249 class HEXABLOCK_EXPORT VertexDialog : public HexaBaseDialog,
250 public Ui::VertexDialog
255 VertexDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
256 virtual ~VertexDialog();
260 void setValue(HEXA_NS::Vertex* v);
261 HEXA_NS::Vertex* getValue();
263 void setIndex(const QModelIndex& i);
266 virtual bool apply(QModelIndex& result);
269 void _initInputWidget( Mode editmode );
272 HEXA_NS::Vertex *_value;
277 class HEXABLOCK_EXPORT EdgeDialog : public HexaBaseDialog,
278 public Ui::EdgeDialog
283 EdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
284 virtual ~EdgeDialog();
288 void setValue(HEXA_NS::Edge* e);
289 HEXA_NS::Edge* getValue();
292 void _initInputWidget( Mode editmode );
295 virtual bool apply(QModelIndex& result);
298 HEXA_NS::Edge *_value;
303 class HEXABLOCK_EXPORT QuadDialog : public HexaBaseDialog,
304 public Ui::QuadDialog
309 QuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
310 virtual ~QuadDialog();
314 void setValue(HEXA_NS::Quad* v);
315 HEXA_NS::Quad* getValue();
318 virtual bool apply(QModelIndex& result);
321 void _initInputWidget( Mode editmode );
324 HEXA_NS::Quad *_value;
330 class HEXABLOCK_EXPORT HexaDialog : public HexaBaseDialog,
331 public Ui::HexaDialog
336 HexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
337 virtual ~HexaDialog();
340 virtual QModelIndexList getAssocsVTK();
342 void setValue(HEXA_NS::Hexa* v);
343 HEXA_NS::Hexa* getValue();
346 virtual bool apply(QModelIndex& result);
349 void _initInputWidget( Mode editmode );
352 void deleteQuadItem();
353 void deleteVertexItem();
354 void updateButtonBox();
357 void _setValueQuads( HEXA_NS::Hexa* h );
358 void _setValueVertices( HEXA_NS::Hexa* h );
360 HEXA_NS::Hexa *_value;
365 class HEXABLOCK_EXPORT VectorDialog : public HexaBaseDialog,
366 public Ui::VectorDialog
371 VectorDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
372 virtual ~VectorDialog();
376 void setValue(HEXA_NS::Vector* v);
377 HEXA_NS::Vector* getValue();
380 virtual bool apply(QModelIndex& result);
383 void _initInputWidget( Mode editmode );
386 HEXA_NS::Vector *_value;
390 class HEXABLOCK_EXPORT MakeGridDialog : public HexaBaseDialog,
391 public Ui::MakeGridDialog
396 MakeGridDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
397 virtual ~MakeGridDialog();
402 virtual bool apply(QModelIndex& result);
405 void _initInputWidget( Mode editmode );
408 void addRadiusItem();
409 void delRadiusItem();
412 void addHeightItem();
413 void delHeightItem();
414 void updateHelpFileName();
419 class HEXABLOCK_EXPORT MakeCylinderDialog : public HexaBaseDialog,
420 public Ui::MakeCylinderDialog
425 MakeCylinderDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
426 virtual ~MakeCylinderDialog();
431 void _initInputWidget( Mode editmode );
434 void addRadiusItem();
435 void delRadiusItem();
438 void addHeightItem();
439 void delHeightItem();
440 void updateHelpFileName();
443 virtual bool apply(QModelIndex& result);
447 class HEXABLOCK_EXPORT MakePipeDialog : public HexaBaseDialog,
448 public Ui::MakePipeDialog
453 MakePipeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
454 virtual ~MakePipeDialog();
459 virtual bool apply(QModelIndex& result);
462 void _initInputWidget( Mode editmode );
465 void addRadiusItem();
466 void delRadiusItem();
469 void addHeightItem();
470 void delHeightItem();
471 void updateHelpFileName();
475 class HEXABLOCK_EXPORT MakeCylindersDialog : public HexaBaseDialog,
476 public Ui::MakeCylindersDialog
481 MakeCylindersDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
482 virtual ~MakeCylindersDialog();
487 virtual bool apply(QModelIndex& result);
490 void _initInputWidget( Mode editmode );
494 class HEXABLOCK_EXPORT MakePipesDialog : public HexaBaseDialog,
495 public Ui::MakePipesDialog
500 MakePipesDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
501 virtual ~MakePipesDialog();
506 virtual bool apply(QModelIndex& result);
509 void _initInputWidget( Mode editmode );
514 class HEXABLOCK_EXPORT RemoveHexaDialog : public HexaBaseDialog,
515 public Ui::RemoveHexaDialog
520 RemoveHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
521 virtual ~RemoveHexaDialog();
526 virtual bool apply(QModelIndex& result);
529 void _initInputWidget( Mode editmode );
533 class HEXABLOCK_EXPORT PrismQuadDialog : public HexaBaseDialog,
534 public Ui::PrismQuadDialog
539 PrismQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
540 virtual ~PrismQuadDialog();
542 virtual QModelIndexList getAssocsVTK();
545 virtual bool apply(QModelIndex& result);
548 void _initInputWidget( Mode editmode );
551 void addHeightItem();
552 void delHeightItem();
553 void updateHelpFileName();
562 class HEXABLOCK_EXPORT JoinQuadDialog : public HexaBaseDialog,
563 public Ui::JoinQuadDialog
568 JoinQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
569 virtual ~JoinQuadDialog();
572 virtual QModelIndexList getAssocsVTK();
575 virtual bool apply(QModelIndex& result);
578 void _initInputWidget( Mode editmode );
581 void addHeightItem();
582 void delHeightItem();
583 void updateHelpFileName();
593 class HEXABLOCK_EXPORT MergeDialog : public HexaBaseDialog,
594 public Ui::MergeDialog
599 MergeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
600 virtual ~MergeDialog();
605 virtual bool apply(QModelIndex& result);
608 void _initInputWidget( Mode editmode );
611 void updateHelpFileName();
617 class HEXABLOCK_EXPORT DisconnectDialog : public HexaBaseDialog,
618 public Ui::DisconnectDialog
623 DisconnectDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
624 virtual ~DisconnectDialog();
627 virtual QModelIndexList getAssocsVTK();
630 virtual bool apply(QModelIndex& result);
633 void _initInputWidget( Mode editmode );
636 void updateHelpFileName();
637 void deleteEdgeItem();
638 void deleteHexaItem();
643 class HEXABLOCK_EXPORT CutEdgeDialog : public HexaBaseDialog,
644 public Ui::CutEdgeDialog
649 CutEdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
650 virtual ~CutEdgeDialog();
655 void addHeightItem();
656 void delHeightItem();
657 void updateHelpFileName();
660 virtual bool apply(QModelIndex& result);
663 void _initInputWidget( Mode editmode );
667 class HEXABLOCK_EXPORT MakeTransformationDialog : public HexaBaseDialog,
668 public Ui::TransformationDialog
673 MakeTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
674 virtual ~MakeTransformationDialog ();
679 virtual bool apply(QModelIndex& result);
682 void _initInputWidget( Mode editmode );
685 void updateHelpFileName();
689 class HEXABLOCK_EXPORT MakeSymmetryDialog : public HexaBaseDialog,
690 public Ui::SymmetryDialog
695 MakeSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
696 virtual ~MakeSymmetryDialog();
701 virtual bool apply(QModelIndex& result);
704 void _initInputWidget( Mode editmode );
707 void updateHelpFileName();
713 class HEXABLOCK_EXPORT PerformTransformationDialog : public HexaBaseDialog,
714 public Ui::TransformationDialog
719 PerformTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
720 virtual ~PerformTransformationDialog ();
725 virtual bool apply(QModelIndex& result);
728 void _initInputWidget( Mode editmode );
731 void updateHelpFileName();
735 class HEXABLOCK_EXPORT PerformSymmetryDialog : public HexaBaseDialog,
736 public Ui::SymmetryDialog
741 PerformSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
742 virtual ~PerformSymmetryDialog();
747 virtual bool apply(QModelIndex& result);
750 void _initInputWidget( Mode editmode );
753 void updateHelpFileName();
756 class HEXABLOCK_EXPORT EdgeAssocDialog : public HexaBaseDialog,
757 public Ui::EdgeAssocDialog
762 EdgeAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
763 virtual ~EdgeAssocDialog();
765 virtual QModelIndexList getAssocsVTK();
766 virtual QMultiMap<QString, int> getAssocsGEOM();
767 virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) { myLine = geomObj; }
770 virtual bool apply(QModelIndex& result);
771 virtual void close();
772 virtual void onWindowActivated(SUIT_ViewManager*);
775 virtual void _initInputWidget( Mode editmode );
778 virtual void selectElementOfGeom();
779 void updateHelpFileName();
781 void deleteEdgeItem(){
782 delete edges_lw->currentItem();
784 void deleteLineItem(){
785 delete lines_lw->currentItem();
789 DocumentModel::GeomObj* myLine;
794 class HEXABLOCK_EXPORT QuadAssocDialog : public HexaBaseDialog,
795 public Ui::QuadAssocDialog
800 QuadAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
801 virtual ~QuadAssocDialog();
803 virtual QModelIndexList getAssocsVTK();
804 virtual QMultiMap<QString, int> getAssocsGEOM();
807 virtual bool apply(QModelIndex& result);
808 virtual void close();
809 virtual void onWindowActivated(SUIT_ViewManager*);
812 virtual void _initInputWidget( Mode editmode );
815 void deleteFaceItem();
816 virtual void selectElementOfGeom();
819 QList<DocumentModel::GeomObj> _assocs;
820 QShortcut* _delFaceShortcut;
825 class HEXABLOCK_EXPORT GroupDialog : public HexaBaseDialog,
826 public Ui::GroupDialog
830 QMap<DocumentModel::Group, QString> strKind;
833 GroupDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
834 virtual ~GroupDialog();
836 virtual QModelIndexList getAssocsVTK();
838 void setValue(HEXA_NS::Group* v);
839 HEXA_NS::Group* getValue();
842 virtual bool apply(QModelIndex& result);
845 void _initInputWidget( Mode editmode );
848 void removeEltBase();
849 void onKindChanged( int index );
852 HEXA_NS::Group *_value;
857 class HEXABLOCK_EXPORT LawDialog : public HexaBaseDialog,
862 QMap<DocumentModel::KindLaw, QString> strKind;
865 LawDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
866 virtual ~LawDialog();
869 void setValue(HEXA_NS::Law* v);
870 HEXA_NS::Law* getValue();
873 virtual bool apply(QModelIndex& result);
876 void _initInputWidget( Mode editmode );
879 HEXA_NS::Law *_value;
885 class HEXABLOCK_EXPORT PropagationDialog : public HexaBaseDialog,
886 public Ui::PropagationDialog
891 PropagationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
892 virtual ~PropagationDialog();
895 void setValue(HEXA_NS::Propagation* v);
896 HEXA_NS::Propagation* getValue();
899 virtual bool apply(QModelIndex& result);
902 void _initInputWidget( Mode editmode );
905 //void updateHelpFileName();
906 void deletePropagationItem();
907 virtual void selectElementOfModel();
910 HEXA_NS::Propagation *_value;
915 // Define the compute mesh dialog box
916 // ----------------------------------
918 class HEXABLOCK_EXPORT ComputeMeshDialog : public HexaBaseDialog,
919 public Ui::ComputeMeshDialog
924 ComputeMeshDialog( QWidget* parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = Qt::SubWindow );
925 virtual ~ComputeMeshDialog();
928 void setDocumentModel(DocumentModel* m);
931 virtual bool apply(QModelIndex& result);
934 void _initInputWidget( Mode editmode );
939 class HEXABLOCK_EXPORT ReplaceHexaDialog : public HexaBaseDialog,
940 public Ui::ReplaceHexaDialog
945 ReplaceHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
946 virtual ~ReplaceHexaDialog();
948 virtual QModelIndexList getAssocsVTK();
952 virtual bool apply(QModelIndex& result);
955 void _initInputWidget( Mode editmode );
958 void deleteQuadItem();
959 void deleteQuadItem2();
960 void updateButtonBox();
961 //void updateHelpFileName();
964 HEXA_NS::Elements *_value;
971 class HEXABLOCK_EXPORT QuadRevolutionDialog : public HexaBaseDialog,
972 public Ui::QuadRevolutionDialog
977 QuadRevolutionDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
978 virtual ~QuadRevolutionDialog();
980 virtual QModelIndexList getAssocsVTK();
983 virtual bool apply(QModelIndex& result);
986 void _initInputWidget( Mode editmode );
992 void updateHelpFileName();
995 HEXA_NS::Elements *_value;
1000 class HEXABLOCK_EXPORT MakeHemiSphereDialog : public HexaBaseDialog,
1001 public Ui::MakeHemiSphereDialog
1006 MakeHemiSphereDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1007 virtual ~MakeHemiSphereDialog();
1011 virtual bool apply(QModelIndex& result);
1014 void _initInputWidget( Mode editmode );
1017 void addRadiusItem1();
1018 void delRadiusItem1();
1019 void addRadiusItem2();
1020 void delRadiusItem2();
1021 void addAngleItem();
1022 void delAngleItem();
1023 void addHeightItem();
1024 void delHeightItem();
1025 void updateHelpFileName();
1028 HEXA_NS::Elements *_value;
1031 class HEXABLOCK_EXPORT ModelInfoDialog : public HexaBaseDialog,
1032 public Ui::ModelInfoDialog
1037 ModelInfoDialog( QWidget* parent = NULL, Qt::WindowFlags wf = Qt::SubWindow );
1038 virtual ~ModelInfoDialog(){}
1044 virtual void hideEvent ( QHideEvent * event );
1045 virtual void showEvent ( QShowEvent * event );
1046 virtual bool apply(QModelIndex& result){ return true;}
1047 virtual void _initInputWidget( Mode editmode ){}
1050 class HEXABLOCK_EXPORT AddShapeDialog : public HexaBaseDialog,
1051 public Ui::AddShapeDialog
1056 AddShapeDialog( QWidget* parent = NULL, Mode editmode = NEW_MODE, Qt::WindowFlags wf = Qt::SubWindow );
1057 virtual ~AddShapeDialog();
1061 virtual bool apply(QModelIndex& result);
1062 virtual void close();
1063 virtual void onWindowActivated(SUIT_ViewManager*);
1066 virtual void _initInputWidget( Mode editmode );
1069 virtual void onCurrentSelectionChanged();