tahoma2d/toonz/sources/include/ext/CompositeStatus.h

57 lines
1.4 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef COMPOSITESTATUS_H
#define COMPOSITESTATUS_H
/*****************************************************************************\
* *
* Author Fabrizio Morciano *
* *
\*****************************************************************************/
#include "tcommon.h"
#include "tstroke.h"
#undef DVAPI
#undef DVVAR
#ifdef TNZEXT_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
#include <vector>
#include <string>
2016-06-15 18:43:10 +12:00
namespace ToonzExt {
2016-03-19 06:57:51 +13:00
/**
* This class mantains interal data for Dragger manipulator.
*/
2016-06-15 18:43:10 +12:00
class DVAPI CompositeStatus {
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
std::map<std::string, CompositeStatus *> *dbImpl_;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
std::map<std::string, CompositeStatus *> &db_;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
typedef std::map<std::string, CompositeStatus *>::iterator iterator;
typedef std::map<std::string, CompositeStatus *>::const_iterator
const_iterator;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
CompositeStatus();
virtual ~CompositeStatus();
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
void add(CompositeStatus *, const std::string &name);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
void remove(const std::string &name);
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
CompositeStatus *find(const std::string &name) const;
2016-03-19 06:57:51 +13:00
};
//---------------------------------------------------------------------------
}
#endif /* COMPOSITESTATUS_H */