Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCKGUI / HEXABLOCKGUI_DocumentPanel.hxx
old mode 100755 (executable)
new mode 100644 (file)
index f9ba91b..5cc654f
@@ -1,9 +1,9 @@
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024  CEA, EDF
 //
 // 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.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -19,6 +19,8 @@
 #ifndef __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
 #define __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
 
+#include "HEXABLOCKGUI_Export.hxx"
+
 #define MAX_WIDTH 16777215
 #define MAX_HEIGHT 16777215
 #define MIN_WIDTH 5
@@ -83,7 +85,7 @@ namespace HEXABLOCK
 {
   namespace GUI
   {
-    class HexaExport HexaBaseDialog : public QDialog
+    class HEXABLOCK_EXPORT HexaBaseDialog : public QDialog
     {
       Q_OBJECT
 
@@ -132,10 +134,6 @@ namespace HEXABLOCK
           return HEXABLOCKGUI::currentDocGView->getPatternGeomModel();
       }
 
-//      PatternBuilderModel* getPatternBuilderModel() const {
-//          return HEXABLOCKGUI::currentDocGView->getPatternBuilderModel();
-//      }
-
       GroupsModel* getGroupsModel() const {
           return HEXABLOCKGUI::currentDocGView->getGroupsModel();
       }
@@ -149,10 +147,6 @@ namespace HEXABLOCK
          return HEXABLOCKGUI::currentDocGView->getPatternDataSelectionModel();
       }
 
-//      PatternBuilderSelectionModel* getPatternBuilderSelectionModel() const {
-//         return HEXABLOCKGUI::currentDocGView->getPatternBuilderSelectionModel();
-//      }
-
       PatternGeomSelectionModel* getPatternGeomSelectionModel() const {
           return HEXABLOCKGUI::currentDocGView->getPatternGeomSelectionModel();
       }
@@ -181,6 +175,7 @@ namespace HEXABLOCK
         return assocs;
       }
       virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) {}
+      virtual void computeAndSetDimension(const QModelIndex& elt);
 
       bool debugEdgeAssoc; //Temporary
       bool autoFocusSwitch;
@@ -227,13 +222,15 @@ namespace HEXABLOCK
 
     void _updateCurrentObject(QObject*);
 
+    bool isDimensionType(const QObject* obj);
+
     Mode _editMode;
 
-    QMap<QObject*, QModelIndex>   _index;
-    QObject*                      _currentObj;
+    QMap<QObject*, QModelIndex>    _index;
+    QObject*                       _currentObj;
     QMap<HexaWidgetType, QString>  _strHexaWidgetType;
-    QPushButton* _applyButton;
-    QString  _helpFileName;
+    QPushButton*                   _applyButton;
+    QString                        _helpFileName;
 
     private:
     bool _isLineOrListWidget(QObject*);
@@ -249,9 +246,7 @@ namespace HEXABLOCK
 
     };
 
-
-
-    class HexaExport VertexDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT VertexDialog : public HexaBaseDialog,
     public Ui::VertexDialog
     {
       Q_OBJECT
@@ -279,7 +274,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport EdgeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT EdgeDialog : public HexaBaseDialog,
     public Ui::EdgeDialog
     {
       Q_OBJECT
@@ -305,7 +300,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport QuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadDialog : public HexaBaseDialog,
     public Ui::QuadDialog
     {
       Q_OBJECT
@@ -332,7 +327,7 @@ namespace HEXABLOCK
 
 
 
-    class HexaExport HexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT HexaDialog : public HexaBaseDialog,
     public Ui::HexaDialog
     {
       Q_OBJECT
@@ -367,7 +362,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport VectorDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT VectorDialog : public HexaBaseDialog,
     public Ui::VectorDialog
     {
       Q_OBJECT
@@ -392,7 +387,7 @@ namespace HEXABLOCK
     QModelIndex     _ivalue;
     };
 
-    class HexaExport MakeGridDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeGridDialog : public HexaBaseDialog,
     public Ui::MakeGridDialog
     {
       Q_OBJECT
@@ -421,7 +416,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakeCylinderDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeCylinderDialog : public HexaBaseDialog,
     public Ui::MakeCylinderDialog
     {
       Q_OBJECT
@@ -449,7 +444,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakePipeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakePipeDialog : public HexaBaseDialog,
     public Ui::MakePipeDialog
     {
       Q_OBJECT
@@ -477,7 +472,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakeCylindersDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeCylindersDialog : public HexaBaseDialog,
     public Ui::MakeCylindersDialog
     {
       Q_OBJECT
@@ -496,7 +491,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakePipesDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakePipesDialog : public HexaBaseDialog,
     public Ui::MakePipesDialog
     {
       Q_OBJECT
@@ -516,7 +511,7 @@ namespace HEXABLOCK
 
 
 
-    class HexaExport RemoveHexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT RemoveHexaDialog : public HexaBaseDialog,
     public Ui::RemoveHexaDialog
     {
       Q_OBJECT
@@ -535,7 +530,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport PrismQuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PrismQuadDialog : public HexaBaseDialog,
     public Ui::PrismQuadDialog
     {
       Q_OBJECT
@@ -558,13 +553,13 @@ namespace HEXABLOCK
     void updateHelpFileName();
 
     private slots:
-    void addQuad();
+    //void addQuad();
     void removeQuad();
-    void clearQuads();
+    //void clearQuads();
 
     };
 
-    class HexaExport JoinQuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT JoinQuadDialog : public HexaBaseDialog,
     public Ui::JoinQuadDialog
     {
       Q_OBJECT
@@ -588,14 +583,14 @@ namespace HEXABLOCK
     void updateHelpFileName();
 
     private slots:
-    void addQuad();
+    //void addQuad();
     void removeQuad();
-    void clearQuads();
+    //void clearQuads();
 
     };
 
 
-    class HexaExport MergeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MergeDialog : public HexaBaseDialog,
     public Ui::MergeDialog
     {
       Q_OBJECT
@@ -619,7 +614,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport DisconnectDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT DisconnectDialog : public HexaBaseDialog,
     public Ui::DisconnectDialog
     {
       Q_OBJECT
@@ -645,7 +640,7 @@ namespace HEXABLOCK
 
 
 
-    class HexaExport CutEdgeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT CutEdgeDialog : public HexaBaseDialog,
     public Ui::CutEdgeDialog
     {
       Q_OBJECT
@@ -669,7 +664,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakeTransformationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeTransformationDialog : public HexaBaseDialog,
     public Ui::TransformationDialog
     {
       Q_OBJECT
@@ -691,7 +686,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport MakeSymmetryDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeSymmetryDialog : public HexaBaseDialog,
     public Ui::SymmetryDialog
     {
       Q_OBJECT
@@ -715,7 +710,7 @@ namespace HEXABLOCK
 
 
 
-    class HexaExport PerformTransformationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PerformTransformationDialog : public HexaBaseDialog,
     public Ui::TransformationDialog
     {
       Q_OBJECT
@@ -737,7 +732,7 @@ namespace HEXABLOCK
     };
 
 
-    class HexaExport PerformSymmetryDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PerformSymmetryDialog : public HexaBaseDialog,
     public Ui::SymmetryDialog
     {
       Q_OBJECT
@@ -758,7 +753,7 @@ namespace HEXABLOCK
     void updateHelpFileName();
     };
 
-class HexaExport EdgeAssocDialog : public HexaBaseDialog,
+class HEXABLOCK_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     public Ui::EdgeAssocDialog
     {
       Q_OBJECT
@@ -796,7 +791,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
     };
 
 
-    class HexaExport QuadAssocDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadAssocDialog : public HexaBaseDialog,
     public Ui::QuadAssocDialog
     {
       Q_OBJECT
@@ -827,7 +822,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport GroupDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT GroupDialog : public HexaBaseDialog,
     public Ui::GroupDialog
     {
       Q_OBJECT
@@ -859,7 +854,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport LawDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT LawDialog : public HexaBaseDialog,
     public Ui::LawDialog
     {
       Q_OBJECT
@@ -887,7 +882,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport PropagationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PropagationDialog : public HexaBaseDialog,
     public Ui::PropagationDialog
     {
       Q_OBJECT
@@ -907,7 +902,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
     void _initInputWidget( Mode editmode );
 
     protected slots:
-    void updateHelpFileName();
+    //void updateHelpFileName();
     void deletePropagationItem();
     virtual void selectElementOfModel();
 
@@ -920,7 +915,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
     // Define the compute mesh dialog box
     // ----------------------------------
 
-    class HexaExport ComputeMeshDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT ComputeMeshDialog : public HexaBaseDialog,
     public Ui::ComputeMeshDialog
     {
       Q_OBJECT
@@ -941,7 +936,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport ReplaceHexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT ReplaceHexaDialog : public HexaBaseDialog,
     public Ui::ReplaceHexaDialog
     {
       Q_OBJECT
@@ -961,7 +956,9 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
     protected slots:
     void deleteQuadItem();
+    void deleteQuadItem2();
     void updateButtonBox();
+    //void updateHelpFileName();
 
     private:
     HEXA_NS::Elements *_value;
@@ -971,7 +968,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport QuadRevolutionDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadRevolutionDialog : public HexaBaseDialog,
     public Ui::QuadRevolutionDialog
     {
       Q_OBJECT
@@ -1000,7 +997,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HexaExport MakeHemiSphereDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeHemiSphereDialog : public HexaBaseDialog,
     public Ui::MakeHemiSphereDialog
     {
       Q_OBJECT
@@ -1031,7 +1028,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
     HEXA_NS::Elements *_value;
     };
 
-    class HexaExport ModelInfoDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT ModelInfoDialog : public HexaBaseDialog,
     public Ui::ModelInfoDialog
     {
         Q_OBJECT
@@ -1050,7 +1047,7 @@ class HexaExport EdgeAssocDialog : public HexaBaseDialog,
         virtual void _initInputWidget( Mode editmode ){}
     };
 
-    class HexaExport AddShapeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT AddShapeDialog : public HexaBaseDialog,
     public Ui::AddShapeDialog
     {
         Q_OBJECT