/****************************************************************************
Copyright (C) 2010-2012 the Office National des Forêts (ONF), France
and the Association de Recherche Technologie et Sciences (ARTS), Ecole Nationale Suprieure d'Arts et Métiers (ENSAM), Cluny, France.
All rights reserved.
Contact : alexandre.piboule@onf.fr
Developers : Michaël KREBS (ARTS/ENSAM)
This file is part of Computree version 2.0.
Computree is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Computree is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Computree. If not, see .
*****************************************************************************/
#ifndef DM_POINTOFVIEWMANAGER_H
#define DM_POINTOFVIEWMANAGER_H
#include "tools/graphicsview/dm_pointofview.h"
#include "cdm_configfile.h"
#include
class DM_PointOfViewManager
{
public:
DM_PointOfViewManager();
~DM_PointOfViewManager();
QString defaultFilePath() const;
QStringList extensionOfFile() const;
bool addPointOfView(QString key, DM_PointOfView pof);
bool removePointOfView(QString key, DM_PointOfView pof);
void removeAll(QString key);
void removeAll();
int numberPointOfViewAddedFromBeginning(QString key);
void resetNumberAdded(QString key);
QList getPointOfViewList(QString key);
void loadDefault();
void saveDefault();
bool loadFromFile(QString filepath);
bool saveToFile(QString filepath);
bool createNewFile(QString filepath);
private:
QMap > _map;
QMap _mapNumberAdded;
QString _defaultFilePath;
static QList _managerToSync;
bool _isSync;
bool internalAddPointOfView(QString key, DM_PointOfView pof);
void loadPointOfView(CDM_ConfigFile *configFile);
void savePointOfView(CDM_ConfigFile *configFile);
void syncAllManager();
void syncFile(QString filepath);
};
#endif // DM_POINTOFVIEWMANAGER_H