#pragma once /*========================================================================= medInria Copyright (c) INRIA 2013 - 2020. All rights reserved. See LICENSE.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================*/ #include #include class medAbstractView; class medAbstractLayeredView; class medAbstractParameterGroupL; class medViewParameterGroupL; class medLayerParameterGroupL; class medAbstractData; class medParameterGroupManagerLPrivate; class MEDCORE_EXPORT medParameterGroupManagerL : public QObject { Q_OBJECT public: static medParameterGroupManagerL *instance(); void registerNewGroup(medAbstractParameterGroupL* group); void unregisterGroup(medAbstractParameterGroupL* group); QList viewGroups(medAbstractView *); QList layerGroups(medAbstractLayeredView *, medAbstractData *); QList viewGroups(QString workspace); QList layerGroups(QString workspace); medViewParameterGroupL* viewGroup(QString groupName, QString workspace = ""); medLayerParameterGroupL* layerGroup(QString groupName, QString workspace = ""); void setCurrentWorkspace(QString workspace); protected: medParameterGroupManagerL(); ~medParameterGroupManagerL(); static medParameterGroupManagerL *s_instance; private: medParameterGroupManagerLPrivate *d; };