tagging release
[dasher.git] / Src / DasherCore / ControlManagerFactory.h
blobc5aa0ba4f03ff0b5544ae723dd16603f308233cd
1 #ifndef __controlmanagerfactory_h__
2 #define __controlmanagerfactory_h__
4 #include "NodeManagerFactory.h"
5 #include "LanguageModelling/LanguageModel.h"
7 class CNodeCreationManager;
9 namespace Dasher {
10 class CControlManager;
13 namespace Dasher {
14 class CDasherModel;
16 /// \ingroup Model
17 /// @{
18 class CControlManagerFactory : public CNodeManagerFactory {
19 public:
20 CControlManagerFactory(CNodeCreationManager *pNCManager);
21 ~CControlManagerFactory();
23 virtual CDasherNode *GetRoot(CDasherNode *pParent, int iLower, int iUpper, void *pUserData);
25 // Control mode stuff
26 void RegisterNode( int iID, const std::string &strLabel, int iColour );
27 void ConnectNode(int iChild, int iParent, int iAfter);
28 void DisconnectNode(int iChild, int iParent);
30 private:
31 CControlManager *m_pControlManager;
33 /// @}
36 #endif