-// Copyright (C) 2009-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2016 CEA/DEN, EDF R&D
//
// 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_HXX_
#define _HEXABLOCKGUI_HXX_
+#include "HEXABLOCKGUI_Export.hxx"
+
#include <iostream>
#include <map>
#include <set>
#include <QModelIndex>
#include <QDockWidget>
-
#include "klinkitemselectionmodel.hxx"
#include <OB_Browser.h>
#include "HEXABLOCKGUI_OCCSelector.h"
#include "hexa_base.hxx"
+class QDir;
// #include CORBA_CLIENT_HEADER(HEXABLOCK_Gen) // Abu Juin 2013
class VtkDocumentGraphicView;
class OccGraphicView;
class GraphicViewsHandler;
- class DocumentDelegate;
+// class DocumentDelegate;
class DocumentModel;
class PatternDataModel;
- class PatternBuilderModel;
+// class PatternBuilderModel;
class AssociationsModel;
class GroupsModel;
class MeshModel;
class PatternDataSelectionModel;
- class PatternBuilderSelectionModel;
+// class PatternBuilderSelectionModel;
class GroupsSelectionModel;
class MeshSelectionModel;
class LightApp_VTKSelector;
-class HEXABLOCKGUI : public SalomeApp_Module
+class HEXABLOCK_EXPORT HEXABLOCKGUI : public SalomeApp_Module
{
Q_OBJECT
enum ViewType {
VTK,
OCC,
+ VTK_OCC,
UNKNOWN
};
void initialMenus();
void showAllMenus();
+ void setAllMenusEnabled(bool enable);
void updateSelectors();
void switchModel(HEXABLOCK::GUI::VtkDocumentGraphicView* dgview);
QTreeView* getPatternDataTreeView() const { return _patternDataTreeView; }
QTreeView* getPatternGeomTreeView() const { return _patternGeomTreeView; }
+ void showVertexInfoDialog(HEXA_NS::Vertex* vertex);
+ void showEdgeInfoDialog(HEXA_NS::Edge* edge);
+ void showQuadInfoDialog(HEXA_NS::Quad* quad);
+ void showHexaInfoDialog(HEXA_NS::Hexa* hexa);
+ void showVectorInfoDialog(HEXA_NS::Vector* vector);
+ void showGroupInfoDialog(HEXA_NS::Group* group);
+ void showLawInfoDialog(HEXA_NS::Law* law);
+ void showPropagationInfoDialog(HEXA_NS::Propagation* propagation);
+
+ void showVtkActor();
+ void showOccActor();
+ void hideVtkActor();
+ void hideOccActor();
+
public slots:
bool deactivateModule( SUIT_Study* theStudy);
bool activateModule( SUIT_Study* theStudy);
void showGroupsMenus(bool show);
void showMeshMenus(bool show);
+ void enableDocumentMenus(bool enable);
+ void enablePatternMenus(bool enable);
+ void enableAssociationMenus(bool enable);
+ void enableGroupsMenus(bool enable);
+ void enableMeshMenus(bool enable);
+
protected slots:
void onWindowActivated( SUIT_ViewWindow* svw);
void onWindowClosed( SUIT_ViewWindow* svw);
virtual void onViewManagerRemoved( SUIT_ViewManager* );
void onSelectionChanged( const QItemSelection & selected, const QItemSelection & deselected );
- void showActor();
void hideActor();
void showOnlyActor();
void addHexa();
void addVector();
- void addCylinder();
- void addPipe();
+// void addCylinder();
+// void addPipe();
void makeGrid();
void makeCylinder();
void makePipe();
if (docGView == NULL)
return NULL;
if (!occPrs.contains(docGView))
- occPrs[docGView] = new SOCC_Prs();
+ occPrs[docGView] = new SOCC_Prs(0);
return occPrs[docGView];
}
QDockWidget *_dwInputPanel; // user Input
+ // ** Elements creation and modification Dialogs **
+
// Dialog Box ( to keep persistent values )
HEXABLOCK::GUI::VertexDialog* _vertexDiag;
HEXABLOCK::GUI::EdgeDialog* _edgeDiag;
HEXABLOCK::GUI::ModelInfoDialog* _modelInfoDiag;
HEXABLOCK::GUI::AddShapeDialog* _addShapeDiag;
+ // ** Elements information dialogs **
+ HEXABLOCK::GUI::VertexDialog* _vertexInfoDialog;
+ HEXABLOCK::GUI::EdgeDialog* _edgeInfoDialog;
+ HEXABLOCK::GUI::QuadDialog* _quadInfoDialog;
+ HEXABLOCK::GUI::HexaDialog* _hexaInfoDialog;
+ HEXABLOCK::GUI::VectorDialog* _vectorInfoDialog;
+ HEXABLOCK::GUI::GroupDialog* _groupInfoDialog;
+ HEXABLOCK::GUI::LawDialog* _lawInfoDialog;
+ HEXABLOCK::GUI::PropagationDialog* _propagationInfoDialog;
+
std::set<HEXABLOCK::GUI::HexaBaseDialog*> currentModelDialogs;
// Actions
// Pattern Builder
QAction *_addVector;
- QAction *_addCylinder;
- QAction *_addPipe;
+// QAction *_addCylinder;
+// QAction *_addPipe;
QAction *_makeGrid; //Cartesian, Cylindrical, Spherical
QAction *_makeCylinder;
QAction *_makePipe;
// Meshing
QAction *_computeMesh;
-
QAction* _showModelInfoAct;
-
QAction* _addShapeAct;
// VIEW VIEW VIEW VIEW VIEW VIEW VIEW VIEW VIEW VIEW
QTreeView* _patternDataTreeView; // document's pattern : 1 ( only one view )
- QTreeView* _patternBuilderTreeView; // document's pattern : 1 ( only one view )
+// QTreeView* _patternBuilderTreeView; // document's pattern : 1 ( only one view )
QTreeView* _patternGeomTreeView; // the geometries' tree view
QTreeView* _associationTreeView; // document's association : 1 ( only one view )
QTreeView* _groupsTreeView; // document's groups
QTreeView* _meshTreeView; // document's mesh property: 1 ( only one view )
// DELEGATE DELEGATE DELEGATE DELEGATE DELEGATE DELEGATE DELEGATE
- HEXABLOCK::GUI::DocumentDelegate *_treeViewDelegate; // specific editor for each item of the tree
+// HEXABLOCK::GUI::DocumentDelegate *_treeViewDelegate; // specific editor for each item of the tree
HEXABLOCK::GUI::GraphicViewsHandler* graphicViewsHandler; //vtk views hanlder (create, close, ...)
bool _isSaved;
bool moduleActivatedOnce;
+ bool menusEnabled;
QDir* loadDocLastPath;
QDir* saveDocLastPath;