5 * Created by Alan Lawrence on 06/08/2010.
6 * Copyright 2010 Cavendish Laboratory. All rights reserved.
10 #ifndef __CONVERTING_ALPH_MGR_H__
11 #define __CONVERTING_ALPH_MGR_H__
13 #include "AlphabetManager.h"
14 #include "ConversionManager.h"
17 //TODO Need to override CreateLanguageModel to use something appropriate for conversion.
18 // The created model, needs to have a GetSize() _including_ the conversion node
19 // (as this is not included in the Alphabet's GetNumberTextSymbols).
20 //TODO in fact IterateChildGroups will not include the conversion symbol (expected by
21 // CreateSymbolNode below) either, as it stops at Alphabet GetNumberTextSymbols too...
22 //TODO do we also need to override GetProbs? Existing impl will add uniformity onto the conversion root too.
23 class CConvertingAlphMgr
: public CAlphabetManager
{
25 CConvertingAlphMgr(CSettingsUser
*pCreateFrom
, CDasherInterfaceBase
*pInterface
, CNodeCreationManager
*pNCManager
, CConversionManager
*pConvMgr
, const CAlphInfo
*pAlphabet
);
26 ///Override to also tell the ConversionManager that the screen has changed.
27 void MakeLabels(CDasherScreen
*pScreen
);
28 virtual ~CConvertingAlphMgr();
30 ///Override to return a conversion root for iSymbol==(one beyond last alphabet symbol)
31 virtual CDasherNode
*CreateSymbolNode(CAlphNode
*pParent
, symbol iSymbol
);
33 CConversionManager
*m_pConvMgr
;
35 //TODO do we need to override
36 //void GetProbs(vector<unsigned int> *pProbInfo, CLanguageModel::Context context);
37 //to do something for the conversion symbol, or does the LM do that for us???