Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCKGUI / HEXABLOCKGUI_DocumentPanel.hxx
old mode 100755 (executable)
new mode 100644 (file)
index 004946c..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
 #ifndef __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
 #define __HEXABLOCKGUI_DOCUMENTPANEL_HXX_
 
-
-#if defined WIN32
-#  if defined HEXABLOCKGUI_DOCUMENTPANEL_EXPORT || defined HexablockGui_DocumentPanel_EXPORTS
-#    define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT __declspec( dllexport )
-#  else
-#    define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT __declspec( dllimport )
-#  endif
-#else
-#  define HEXABLOCKGUI_DOCUMENTPANEL_EXPORT
-#endif
-
+#include "HEXABLOCKGUI_Export.hxx"
 
 #define MAX_WIDTH 16777215
 #define MAX_HEIGHT 16777215
-#define MIN_WIDTH 0
+#define MIN_WIDTH 5
 #define MIN_HEIGHT 0
 
 #include <QShortcut>
@@ -74,6 +64,7 @@
 #include "ui_MakeHemiSphere_QTD.h"
 #include "ui_ModelInfo_QTD.h"
 #include "ui_AddShapeDialog_QTD.h"
+#include "ui_ComputeMesh_QTD.h"
 
 #include "HexVertex.hxx"
 #include "HexEdge.hxx"
@@ -94,7 +85,7 @@ namespace HEXABLOCK
 {
   namespace GUI
   {
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT HexaBaseDialog : public QDialog
+    class HEXABLOCK_EXPORT HexaBaseDialog : public QDialog
     {
       Q_OBJECT
 
@@ -143,10 +134,6 @@ namespace HEXABLOCK
           return HEXABLOCKGUI::currentDocGView->getPatternGeomModel();
       }
 
-      PatternBuilderModel* getPatternBuilderModel() const {
-          return HEXABLOCKGUI::currentDocGView->getPatternBuilderModel();
-      }
-
       GroupsModel* getGroupsModel() const {
           return HEXABLOCKGUI::currentDocGView->getGroupsModel();
       }
@@ -160,10 +147,6 @@ namespace HEXABLOCK
          return HEXABLOCKGUI::currentDocGView->getPatternDataSelectionModel();
       }
 
-      PatternBuilderSelectionModel* getPatternBuilderSelectionModel() const {
-         return HEXABLOCKGUI::currentDocGView->getPatternBuilderSelectionModel();
-      }
-
       PatternGeomSelectionModel* getPatternGeomSelectionModel() const {
           return HEXABLOCKGUI::currentDocGView->getPatternGeomSelectionModel();
       }
@@ -181,8 +164,6 @@ namespace HEXABLOCK
       HEXABLOCKGUI::ViewType getObjectViewType(QObject* obj);
       void modelUnregister(QWidget* widget); //unlink the widget from the model
       void resetSizeAndShow(QDockWidget* parent);
-      void lockSizeToSizeHint();
-      void unlockSizeModification();
       virtual QModelIndexList getAssocsVTK()
       {
         QModelIndexList assocs;
@@ -194,6 +175,7 @@ namespace HEXABLOCK
         return assocs;
       }
       virtual void setCurrentGeomObj(DocumentModel::GeomObj* geomObj) {}
+      virtual void computeAndSetDimension(const QModelIndex& elt);
 
       bool debugEdgeAssoc; //Temporary
       bool autoFocusSwitch;
@@ -240,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*);
@@ -262,9 +246,7 @@ namespace HEXABLOCK
 
     };
 
-
-
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT VertexDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT VertexDialog : public HexaBaseDialog,
     public Ui::VertexDialog
     {
       Q_OBJECT
@@ -292,7 +274,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT EdgeDialog : public HexaBaseDialog,
     public Ui::EdgeDialog
     {
       Q_OBJECT
@@ -318,7 +300,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadDialog : public HexaBaseDialog,
     public Ui::QuadDialog
     {
       Q_OBJECT
@@ -345,7 +327,7 @@ namespace HEXABLOCK
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT HexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT HexaDialog : public HexaBaseDialog,
     public Ui::HexaDialog
     {
       Q_OBJECT
@@ -380,7 +362,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT VectorDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT VectorDialog : public HexaBaseDialog,
     public Ui::VectorDialog
     {
       Q_OBJECT
@@ -405,7 +387,7 @@ namespace HEXABLOCK
     QModelIndex     _ivalue;
     };
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeGridDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeGridDialog : public HexaBaseDialog,
     public Ui::MakeGridDialog
     {
       Q_OBJECT
@@ -434,7 +416,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeCylinderDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeCylinderDialog : public HexaBaseDialog,
     public Ui::MakeCylinderDialog
     {
       Q_OBJECT
@@ -462,7 +444,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakePipeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakePipeDialog : public HexaBaseDialog,
     public Ui::MakePipeDialog
     {
       Q_OBJECT
@@ -490,7 +472,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeCylindersDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeCylindersDialog : public HexaBaseDialog,
     public Ui::MakeCylindersDialog
     {
       Q_OBJECT
@@ -509,7 +491,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakePipesDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakePipesDialog : public HexaBaseDialog,
     public Ui::MakePipesDialog
     {
       Q_OBJECT
@@ -529,7 +511,7 @@ namespace HEXABLOCK
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT RemoveHexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT RemoveHexaDialog : public HexaBaseDialog,
     public Ui::RemoveHexaDialog
     {
       Q_OBJECT
@@ -548,7 +530,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PrismQuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PrismQuadDialog : public HexaBaseDialog,
     public Ui::PrismQuadDialog
     {
       Q_OBJECT
@@ -577,7 +559,7 @@ namespace HEXABLOCK
 
     };
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT JoinQuadDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT JoinQuadDialog : public HexaBaseDialog,
     public Ui::JoinQuadDialog
     {
       Q_OBJECT
@@ -608,7 +590,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MergeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MergeDialog : public HexaBaseDialog,
     public Ui::MergeDialog
     {
       Q_OBJECT
@@ -632,7 +614,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT DisconnectDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT DisconnectDialog : public HexaBaseDialog,
     public Ui::DisconnectDialog
     {
       Q_OBJECT
@@ -658,7 +640,7 @@ namespace HEXABLOCK
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT CutEdgeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT CutEdgeDialog : public HexaBaseDialog,
     public Ui::CutEdgeDialog
     {
       Q_OBJECT
@@ -682,7 +664,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeTransformationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeTransformationDialog : public HexaBaseDialog,
     public Ui::TransformationDialog
     {
       Q_OBJECT
@@ -704,7 +686,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeSymmetryDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeSymmetryDialog : public HexaBaseDialog,
     public Ui::SymmetryDialog
     {
       Q_OBJECT
@@ -728,7 +710,7 @@ namespace HEXABLOCK
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PerformTransformationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PerformTransformationDialog : public HexaBaseDialog,
     public Ui::TransformationDialog
     {
       Q_OBJECT
@@ -750,7 +732,7 @@ namespace HEXABLOCK
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PerformSymmetryDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PerformSymmetryDialog : public HexaBaseDialog,
     public Ui::SymmetryDialog
     {
       Q_OBJECT
@@ -771,7 +753,7 @@ namespace HEXABLOCK
     void updateHelpFileName();
     };
 
-class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
+class HEXABLOCK_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     public Ui::EdgeAssocDialog
     {
       Q_OBJECT
@@ -809,7 +791,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     };
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadAssocDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadAssocDialog : public HexaBaseDialog,
     public Ui::QuadAssocDialog
     {
       Q_OBJECT
@@ -840,7 +822,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT GroupDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT GroupDialog : public HexaBaseDialog,
     public Ui::GroupDialog
     {
       Q_OBJECT
@@ -872,7 +854,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT LawDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT LawDialog : public HexaBaseDialog,
     public Ui::LawDialog
     {
       Q_OBJECT
@@ -900,7 +882,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PropagationDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT PropagationDialog : public HexaBaseDialog,
     public Ui::PropagationDialog
     {
       Q_OBJECT
@@ -933,7 +915,8 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     // Define the compute mesh dialog box
     // ----------------------------------
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT ComputeMeshDialog : public HexaBaseDialog
+    class HEXABLOCK_EXPORT ComputeMeshDialog : public HexaBaseDialog,
+    public Ui::ComputeMeshDialog
     {
       Q_OBJECT
 
@@ -949,16 +932,11 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
     protected:
     void _initInputWidget( Mode editmode );
-
-    private:
-    QLineEdit* _name;
-    QSpinBox*  _dim;
-    QLineEdit* _fact;
     };
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT ReplaceHexaDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT ReplaceHexaDialog : public HexaBaseDialog,
     public Ui::ReplaceHexaDialog
     {
       Q_OBJECT
@@ -978,7 +956,9 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
     protected slots:
     void deleteQuadItem();
+    void deleteQuadItem2();
     void updateButtonBox();
+    //void updateHelpFileName();
 
     private:
     HEXA_NS::Elements *_value;
@@ -988,7 +968,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT QuadRevolutionDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT QuadRevolutionDialog : public HexaBaseDialog,
     public Ui::QuadRevolutionDialog
     {
       Q_OBJECT
@@ -1017,7 +997,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
 
 
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT MakeHemiSphereDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT MakeHemiSphereDialog : public HexaBaseDialog,
     public Ui::MakeHemiSphereDialog
     {
       Q_OBJECT
@@ -1048,7 +1028,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
     HEXA_NS::Elements *_value;
     };
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT ModelInfoDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT ModelInfoDialog : public HexaBaseDialog,
     public Ui::ModelInfoDialog
     {
         Q_OBJECT
@@ -1067,7 +1047,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
         virtual void _initInputWidget( Mode editmode ){}
     };
 
-    class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT AddShapeDialog : public HexaBaseDialog,
+    class HEXABLOCK_EXPORT AddShapeDialog : public HexaBaseDialog,
     public Ui::AddShapeDialog
     {
         Q_OBJECT
@@ -1089,65 +1069,7 @@ class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT EdgeAssocDialog : public HexaBaseDialog,
         virtual void onCurrentSelectionChanged();
     };
 
-
-    //*****************************  OBSOLETE: A SUPPRIMER !!!!  ************************************//
-
-        class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT CylinderDialog : public HexaBaseDialog,
-        public Ui::CylinderDialog
-        {
-          Q_OBJECT
-
-        public:
-          CylinderDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
-          virtual ~CylinderDialog();
-
-          void clear();
-
-          void setValue( HEXA_NS::Cylinder* v );
-          HEXA_NS::Cylinder* getValue();
-
-        public slots:
-        virtual bool apply(QModelIndex& result);
-
-        protected:
-        void _initInputWidget( Mode editmode );
-
-        private:
-        HEXA_NS::Cylinder   *_value;
-        QModelIndex         _ivalue;
-        };
-
-        class HEXABLOCKGUI_DOCUMENTPANEL_EXPORT PipeDialog : public HexaBaseDialog,
-        public Ui::PipeDialog
-        {
-          Q_OBJECT
-
-        public:
-          PipeDialog( QWidget* = 0, Mode = NEW_MODE, Qt::WindowFlags = Qt::SubWindow );//= 0 );
-          virtual ~PipeDialog();
-
-          void clear();
-
-          void setValue( HEXA_NS::Pipe* p );
-          HEXA_NS::Pipe* getValue();
-
-        public slots:
-        virtual bool apply(QModelIndex& result);
-
-        protected:
-        void _initInputWidget( Mode editmode );
-
-        private:
-        HEXA_NS::Pipe   *_value;
-        QModelIndex     _ivalue;
-
-        };
-    // ************************************** FIN A SUPPRIMER ******************************************//
-
-
   }
 }
 
-
-
 #endif