1 // Copyright (C) 2009-2013 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_
22 #define MAX_WIDTH 16777215
23 #define MAX_HEIGHT 16777215
28 #include <QDockWidget>
30 #include "ui_Vertex_QTD.h"
31 #include "ui_Quad_QTD.h"
32 #include "ui_Edge_QTD.h"
33 #include "ui_Hexa_QTD.h"
35 #include "ui_Vector_QTD.h"
36 #include "ui_Cylinder_QTD.h"
37 #include "ui_Pipe_QTD.h"
38 #include "ui_MakeGrid_QTD.h"
39 #include "ui_MakePipe_QTD.h"
40 #include "ui_MakeCylinder_QTD.h"
41 #include "ui_MakeCylinders_QTD.h"
42 #include "ui_MakePipes_QTD.h"
43 #include "ui_RemoveHexa_QTD.h"
44 #include "ui_PrismQuad_QTD.h"
45 #include "ui_JoinQuad_QTD.h"
46 #include "ui_Merge_QTD.h"
47 #include "ui_Disconnect_QTD.h"
48 #include "ui_CutEdge_QTD.h"
49 #include "ui_Transformation_QTD.h"
50 #include "ui_Symmetry_QTD.h"
52 #include "ui_EdgeAssoc_QTD.h"
53 #include "ui_QuadAssoc_QTD.h"
55 #include "ui_Group_QTD.h"
56 #include "ui_Law_QTD.h"
57 #include "ui_Propagation_QTD.h"
59 #include "ui_QuadRevolution_QTD.h"
60 #include "ui_MakeRind_QTD.h"
61 #include "ui_ReplaceHexa_QTD.h"
62 #include "ui_MakeHemiSphere_QTD.h"
63 #include "ui_ModelInfo_QTD.h"
64 #include "ui_AddShapeDialog_QTD.h"
65 #include "ui_ComputeMesh_QTD.h"
67 #include "HexVertex.hxx"
68 #include "HexEdge.hxx"
69 #include "HexQuad.hxx"
70 #include "HexHexa.hxx"
73 #include "HEXABLOCKGUI_DocumentSelectionModel.hxx"
74 #include "HEXABLOCKGUI_DocumentModel.hxx"
75 #include "HEXABLOCKGUI_VtkDocumentGraphicView.hxx"
76 #include "HEXABLOCKGUI.hxx"
78 #include "klinkitemselectionmodel.hxx"
80 Q_DECLARE_METATYPE(QModelIndex);
86 class HexaExport HexaBaseDialog : public QDialog
97 // define input widget type => usefull for selection
98 typedef HexaTreeRole HexaWidgetType;
99 typedef TopAbs_ShapeEnum GeomWidgetType; //CS_TODO
102 LW_QMODELINDEX_ROLE = Qt::UserRole + 1,
108 HexaBaseDialog( QWidget * parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = 0 );
109 virtual ~HexaBaseDialog(){};
111 // clear all input widget
112 virtual void clear(){};
113 void clearWidgetsIndexes() { _index.clear(); }
115 void connectDocumentGraphicView(VtkDocumentGraphicView* docGView = NULL);
116 void disconnectDocumentGraphicView(VtkDocumentGraphicView* docGView = NULL);
118 SVTK_ViewWindow* getCurrentVtkView() const {
119 return HEXABLOCKGUI::currentDocGView->getViewWindow();
123 DocumentModel* getDocumentModel() const {
124 return HEXABLOCKGUI::currentDocGView->getDocumentModel();
127 PatternDataModel* getPatternDataModel() const {
128 return HEXABLOCKGUI::currentDocGView->getPatternDataModel();
131 PatternGeomModel* getPatternGeomModel() const {
132 return HEXABLOCKGUI::currentDocGView->getPatternGeomModel();
135 // PatternBuilderModel* getPatternBuilderModel() const {
136 // return HEXABLOCKGUI::currentDocGView->getPatternBuilderModel();
139 GroupsModel* getGroupsModel() const {
140 return HEXABLOCKGUI::currentDocGView->getGroupsModel();
143 MeshModel* getMeshModel() const {
144 return HEXABLOCKGUI::currentDocGView->getMeshModel();
147 //get selection patterns from the current graphic view
148 PatternDataSelectionModel* getPatternDataSelectionModel() const {
149 return HEXABLOCKGUI::currentDocGView->getPatternDataSelectionModel();
152 // PatternBuilderSelectionModel* getPatternBuilderSelectionModel() const {
153 // return HEXABLOCKGUI::currentDocGView->getPatternBuilderSelectionModel();
156 PatternGeomSelectionModel* getPatternGeomSelectionModel() const {
157 return HEXABLOCKGUI::currentDocGView->getPatternGeomSelectionModel();
160 GroupsSelectionModel* getGroupsSelectionModel() const {
161 return HEXABLOCKGUI::currentDocGView->getGroupsSelectionModel();
164 MeshSelectionModel* getMeshSelectionModel() const {
165 return HEXABLOCKGUI::currentDocGView->getMeshSelectionModel();
168 QString getErrorMsg();
170 HEXABLOCKGUI::ViewType getObjectViewType(QObject* obj);
171 void modelUnregister(QWidget* widget); //unlink the widget from the model
172 void resetSizeAndShow(QDockWidget* parent);
173 virtual QModelIndexList getAssocsVTK()
175 QModelIndexList assocs;
178 virtual QMultiMap<QString, int> getAssocsGEOM()
180 QMultiMap<QString, int> assocs;
183 virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) {}
185 bool debugEdgeAssoc; //Temporary
186 bool autoFocusSwitch;
189 virtual bool apply();
190 virtual void close();
191 virtual void onHelpRequested();
192 void highlightSelectedAssocs();
193 void refreshHighlight();
194 virtual void onWindowActivated(SUIT_ViewManager*){};
195 void clearVTKSelection();
196 void clearOCCSelection();
197 void clearCurrentObjectFocus();
200 virtual bool eventFilter(QObject *obj, QEvent *event);
201 virtual void hideEvent ( QHideEvent * event );
202 virtual void showEvent ( QShowEvent * event );
203 virtual bool apply(QModelIndex& result) = 0;
205 //Gives a default name to an element according to the last created
206 void updateDefaultName(QLineEdit* name_field, HEXA_NS::EnumElt type);
207 DocumentModel::GeomObj* getGeomObj(const QModelIndex& index);
209 virtual void _initInputWidget( Mode editmode )=0; //must be implemented on inherited dialog box
210 virtual QGroupBox* _initButtonBox( Mode editmode );
211 void _initWidget( Mode editmode ); // call _initInputWidget() & _initButtonBox()
212 QModelIndexList getIndexList(QListWidget* itemsList, bool mapToSource = true);
214 void _allowSelection();
215 void _disallowSelection();
216 QItemSelectionModel* _allowSelection( HexaWidgetType wtype );
218 bool _allowVTKSelection( QObject* obj );
219 bool _allowOCCSelection( QObject* obj );
220 QItemSelectionModel* _getSelector( QObject* obj );
222 void _selectAndHighlight( const QModelIndex& i );
224 void _highlightWidget(QObject* obj, Qt::GlobalColor clr);
226 void setFocusToNextField();
228 void _updateCurrentObject(QObject*);
232 QMap<QObject*, QModelIndex> _index;
233 QObject* _currentObj;
234 QMap<HexaWidgetType, QString> _strHexaWidgetType;
235 QPushButton* _applyButton;
236 QString _helpFileName;
239 bool _isLineOrListWidget(QObject*);
242 virtual void onSelectionChanged( const QItemSelection& sel, const QItemSelection& unsel ); //from qt model/view selectionManager
243 virtual void onCurrentSelectionChanged();//from salome selectionManager
244 bool _onSelectionChanged( const QItemSelection& sel, QLineEdit* le );
245 bool _onSelectionChanged( const QItemSelection& sel, QListWidget* lw );
246 virtual void updateButtonBox();
248 virtual void selectElementOfModel();
254 class HexaExport VertexDialog : public HexaBaseDialog,
255 public Ui::VertexDialog
260 VertexDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
261 virtual ~VertexDialog();
265 void setValue(HEXA_NS::Vertex* v);
266 HEXA_NS::Vertex* getValue();
268 void setIndex(const QModelIndex& i);
271 virtual bool apply(QModelIndex& result);
274 void _initInputWidget( Mode editmode );
277 HEXA_NS::Vertex *_value;
282 class HexaExport EdgeDialog : public HexaBaseDialog,
283 public Ui::EdgeDialog
288 EdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
289 virtual ~EdgeDialog();
293 void setValue(HEXA_NS::Edge* e);
294 HEXA_NS::Edge* getValue();
297 void _initInputWidget( Mode editmode );
300 virtual bool apply(QModelIndex& result);
303 HEXA_NS::Edge *_value;
308 class HexaExport QuadDialog : public HexaBaseDialog,
309 public Ui::QuadDialog
314 QuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
315 virtual ~QuadDialog();
319 void setValue(HEXA_NS::Quad* v);
320 HEXA_NS::Quad* getValue();
323 virtual bool apply(QModelIndex& result);
326 void _initInputWidget( Mode editmode );
329 HEXA_NS::Quad *_value;
335 class HexaExport HexaDialog : public HexaBaseDialog,
336 public Ui::HexaDialog
341 HexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
342 virtual ~HexaDialog();
345 virtual QModelIndexList getAssocsVTK();
347 void setValue(HEXA_NS::Hexa* v);
348 HEXA_NS::Hexa* getValue();
351 virtual bool apply(QModelIndex& result);
354 void _initInputWidget( Mode editmode );
357 void deleteQuadItem();
358 void deleteVertexItem();
359 void updateButtonBox();
362 void _setValueQuads( HEXA_NS::Hexa* h );
363 void _setValueVertices( HEXA_NS::Hexa* h );
365 HEXA_NS::Hexa *_value;
370 class HexaExport VectorDialog : public HexaBaseDialog,
371 public Ui::VectorDialog
376 VectorDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
377 virtual ~VectorDialog();
381 void setValue(HEXA_NS::Vector* v);
382 HEXA_NS::Vector* getValue();
385 virtual bool apply(QModelIndex& result);
388 void _initInputWidget( Mode editmode );
391 HEXA_NS::Vector *_value;
395 class HexaExport MakeGridDialog : public HexaBaseDialog,
396 public Ui::MakeGridDialog
401 MakeGridDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
402 virtual ~MakeGridDialog();
407 virtual bool apply(QModelIndex& result);
410 void _initInputWidget( Mode editmode );
413 void addRadiusItem();
414 void delRadiusItem();
417 void addHeightItem();
418 void delHeightItem();
419 void updateHelpFileName();
424 class HexaExport MakeCylinderDialog : public HexaBaseDialog,
425 public Ui::MakeCylinderDialog
430 MakeCylinderDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
431 virtual ~MakeCylinderDialog();
436 void _initInputWidget( Mode editmode );
439 void addRadiusItem();
440 void delRadiusItem();
443 void addHeightItem();
444 void delHeightItem();
445 void updateHelpFileName();
448 virtual bool apply(QModelIndex& result);
452 class HexaExport MakePipeDialog : public HexaBaseDialog,
453 public Ui::MakePipeDialog
458 MakePipeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
459 virtual ~MakePipeDialog();
464 virtual bool apply(QModelIndex& result);
467 void _initInputWidget( Mode editmode );
470 void addRadiusItem();
471 void delRadiusItem();
474 void addHeightItem();
475 void delHeightItem();
476 void updateHelpFileName();
480 class HexaExport MakeCylindersDialog : public HexaBaseDialog,
481 public Ui::MakeCylindersDialog
486 MakeCylindersDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
487 virtual ~MakeCylindersDialog();
492 virtual bool apply(QModelIndex& result);
495 void _initInputWidget( Mode editmode );
499 class HexaExport MakePipesDialog : public HexaBaseDialog,
500 public Ui::MakePipesDialog
505 MakePipesDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
506 virtual ~MakePipesDialog();
511 virtual bool apply(QModelIndex& result);
514 void _initInputWidget( Mode editmode );
519 class HexaExport RemoveHexaDialog : public HexaBaseDialog,
520 public Ui::RemoveHexaDialog
525 RemoveHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
526 virtual ~RemoveHexaDialog();
531 virtual bool apply(QModelIndex& result);
534 void _initInputWidget( Mode editmode );
538 class HexaExport PrismQuadDialog : public HexaBaseDialog,
539 public Ui::PrismQuadDialog
544 PrismQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
545 virtual ~PrismQuadDialog();
547 virtual QModelIndexList getAssocsVTK();
550 virtual bool apply(QModelIndex& result);
553 void _initInputWidget( Mode editmode );
556 void addHeightItem();
557 void delHeightItem();
558 void updateHelpFileName();
567 class HexaExport JoinQuadDialog : public HexaBaseDialog,
568 public Ui::JoinQuadDialog
573 JoinQuadDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
574 virtual ~JoinQuadDialog();
577 virtual QModelIndexList getAssocsVTK();
580 virtual bool apply(QModelIndex& result);
583 void _initInputWidget( Mode editmode );
586 void addHeightItem();
587 void delHeightItem();
588 void updateHelpFileName();
598 class HexaExport MergeDialog : public HexaBaseDialog,
599 public Ui::MergeDialog
604 MergeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
605 virtual ~MergeDialog();
610 virtual bool apply(QModelIndex& result);
613 void _initInputWidget( Mode editmode );
616 void updateHelpFileName();
622 class HexaExport DisconnectDialog : public HexaBaseDialog,
623 public Ui::DisconnectDialog
628 DisconnectDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
629 virtual ~DisconnectDialog();
632 virtual QModelIndexList getAssocsVTK();
635 virtual bool apply(QModelIndex& result);
638 void _initInputWidget( Mode editmode );
641 void updateHelpFileName();
642 void deleteEdgeItem();
643 void deleteHexaItem();
648 class HexaExport CutEdgeDialog : public HexaBaseDialog,
649 public Ui::CutEdgeDialog
654 CutEdgeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
655 virtual ~CutEdgeDialog();
660 void addHeightItem();
661 void delHeightItem();
662 void updateHelpFileName();
665 virtual bool apply(QModelIndex& result);
668 void _initInputWidget( Mode editmode );
672 class HexaExport MakeTransformationDialog : public HexaBaseDialog,
673 public Ui::TransformationDialog
678 MakeTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
679 virtual ~MakeTransformationDialog ();
684 virtual bool apply(QModelIndex& result);
687 void _initInputWidget( Mode editmode );
690 void updateHelpFileName();
694 class HexaExport MakeSymmetryDialog : public HexaBaseDialog,
695 public Ui::SymmetryDialog
700 MakeSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
701 virtual ~MakeSymmetryDialog();
706 virtual bool apply(QModelIndex& result);
709 void _initInputWidget( Mode editmode );
712 void updateHelpFileName();
718 class HexaExport PerformTransformationDialog : public HexaBaseDialog,
719 public Ui::TransformationDialog
724 PerformTransformationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
725 virtual ~PerformTransformationDialog ();
730 virtual bool apply(QModelIndex& result);
733 void _initInputWidget( Mode editmode );
736 void updateHelpFileName();
740 class HexaExport PerformSymmetryDialog : public HexaBaseDialog,
741 public Ui::SymmetryDialog
746 PerformSymmetryDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
747 virtual ~PerformSymmetryDialog();
752 virtual bool apply(QModelIndex& result);
755 void _initInputWidget( Mode editmode );
758 void updateHelpFileName();
761 class HexaExport EdgeAssocDialog : public HexaBaseDialog,
762 public Ui::EdgeAssocDialog
767 EdgeAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
768 virtual ~EdgeAssocDialog();
770 virtual QModelIndexList getAssocsVTK();
771 virtual QMultiMap<QString, int> getAssocsGEOM();
772 virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) { myLine = geomObj; }
775 virtual bool apply(QModelIndex& result);
776 virtual void close();
777 virtual void onWindowActivated(SUIT_ViewManager*);
780 virtual void _initInputWidget( Mode editmode );
783 virtual void selectElementOfGeom();
784 void updateHelpFileName();
786 void deleteEdgeItem(){
787 delete edges_lw->currentItem();
789 void deleteLineItem(){
790 delete lines_lw->currentItem();
794 DocumentModel::GeomObj* myLine;
799 class HexaExport QuadAssocDialog : public HexaBaseDialog,
800 public Ui::QuadAssocDialog
805 QuadAssocDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
806 virtual ~QuadAssocDialog();
808 virtual QModelIndexList getAssocsVTK();
809 virtual QMultiMap<QString, int> getAssocsGEOM();
812 virtual bool apply(QModelIndex& result);
813 virtual void close();
814 virtual void onWindowActivated(SUIT_ViewManager*);
817 virtual void _initInputWidget( Mode editmode );
820 void deleteFaceItem();
821 virtual void selectElementOfGeom();
824 QList<DocumentModel::GeomObj> _assocs;
825 QShortcut* _delFaceShortcut;
830 class HexaExport GroupDialog : public HexaBaseDialog,
831 public Ui::GroupDialog
835 QMap<DocumentModel::Group, QString> strKind;
838 GroupDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
839 virtual ~GroupDialog();
841 virtual QModelIndexList getAssocsVTK();
843 void setValue(HEXA_NS::Group* v);
844 HEXA_NS::Group* getValue();
847 virtual bool apply(QModelIndex& result);
850 void _initInputWidget( Mode editmode );
853 void removeEltBase();
854 void onKindChanged( int index );
857 HEXA_NS::Group *_value;
862 class HexaExport LawDialog : public HexaBaseDialog,
867 QMap<DocumentModel::KindLaw, QString> strKind;
870 LawDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
871 virtual ~LawDialog();
874 void setValue(HEXA_NS::Law* v);
875 HEXA_NS::Law* getValue();
878 virtual bool apply(QModelIndex& result);
881 void _initInputWidget( Mode editmode );
884 HEXA_NS::Law *_value;
890 class HexaExport PropagationDialog : public HexaBaseDialog,
891 public Ui::PropagationDialog
896 PropagationDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
897 virtual ~PropagationDialog();
900 void setValue(HEXA_NS::Propagation* v);
901 HEXA_NS::Propagation* getValue();
904 virtual bool apply(QModelIndex& result);
907 void _initInputWidget( Mode editmode );
910 void updateHelpFileName();
911 void deletePropagationItem();
912 virtual void selectElementOfModel();
915 HEXA_NS::Propagation *_value;
920 // Define the compute mesh dialog box
921 // ----------------------------------
923 class HexaExport ComputeMeshDialog : public HexaBaseDialog,
924 public Ui::ComputeMeshDialog
929 ComputeMeshDialog( QWidget* parent = 0, Mode editmode = NEW_MODE, Qt::WindowFlags f = Qt::SubWindow );
930 virtual ~ComputeMeshDialog();
933 void setDocumentModel(DocumentModel* m);
936 virtual bool apply(QModelIndex& result);
939 void _initInputWidget( Mode editmode );
944 class HexaExport ReplaceHexaDialog : public HexaBaseDialog,
945 public Ui::ReplaceHexaDialog
950 ReplaceHexaDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
951 virtual ~ReplaceHexaDialog();
953 virtual QModelIndexList getAssocsVTK();
957 virtual bool apply(QModelIndex& result);
960 void _initInputWidget( Mode editmode );
963 void deleteQuadItem();
964 void updateButtonBox();
967 HEXA_NS::Elements *_value;
974 class HexaExport QuadRevolutionDialog : public HexaBaseDialog,
975 public Ui::QuadRevolutionDialog
980 QuadRevolutionDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
981 virtual ~QuadRevolutionDialog();
983 virtual QModelIndexList getAssocsVTK();
986 virtual bool apply(QModelIndex& result);
989 void _initInputWidget( Mode editmode );
995 void updateHelpFileName();
998 HEXA_NS::Elements *_value;
1003 class HexaExport MakeHemiSphereDialog : public HexaBaseDialog,
1004 public Ui::MakeHemiSphereDialog
1009 MakeHemiSphereDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
1010 virtual ~MakeHemiSphereDialog();
1014 virtual bool apply(QModelIndex& result);
1017 void _initInputWidget( Mode editmode );
1020 void addRadiusItem1();
1021 void delRadiusItem1();
1022 void addRadiusItem2();
1023 void delRadiusItem2();
1024 void addAngleItem();
1025 void delAngleItem();
1026 void addHeightItem();
1027 void delHeightItem();
1028 void updateHelpFileName();
1031 HEXA_NS::Elements *_value;
1034 class HexaExport ModelInfoDialog : public HexaBaseDialog,
1035 public Ui::ModelInfoDialog
1040 ModelInfoDialog( QWidget* parent = NULL, Qt::WindowFlags wf = Qt::SubWindow );
1041 virtual ~ModelInfoDialog(){}
1047 virtual void hideEvent ( QHideEvent * event );
1048 virtual void showEvent ( QShowEvent * event );
1049 virtual bool apply(QModelIndex& result){ return true;}
1050 virtual void _initInputWidget( Mode editmode ){}
1053 class HexaExport AddShapeDialog : public HexaBaseDialog,
1054 public Ui::AddShapeDialog
1059 AddShapeDialog( QWidget* parent = NULL, Mode editmode = NEW_MODE, Qt::WindowFlags wf = Qt::SubWindow );
1060 virtual ~AddShapeDialog();
1064 virtual bool apply(QModelIndex& result);
1065 virtual void close();
1066 virtual void onWindowActivated(SUIT_ViewManager*);
1069 virtual void _initInputWidget( Mode editmode );
1072 virtual void onCurrentSelectionChanged();