Updated German translation
[dasher.git] / Src / DasherCore / ConvertingAlphMgr.cpp
blob54326d5ad5cc49a1aea8fd0a218b1c76469daed4
1 /*
2 * ConvertingAlphMgr.cpp
3 * Dasher
5 * Created by Alan Lawrence on 06/08/2010.
6 * Copyright 2010 Cavendish Laboratory. All rights reserved.
8 */
10 #include "ConvertingAlphMgr.h"
11 #include "NodeCreationManager.h"
13 using namespace Dasher;
15 CConvertingAlphMgr::CConvertingAlphMgr(CSettingsUser *pCreateFrom, CDasherInterfaceBase *pInterface, CNodeCreationManager *pNCManager, CConversionManager *pConvMgr, const CAlphInfo *pAlphabet)
16 : CAlphabetManager(pCreateFrom, pInterface, pNCManager, pAlphabet), m_pConvMgr(pConvMgr) {
19 void CConvertingAlphMgr::MakeLabels(CDasherScreen *pScreen) {
20 CAlphabetManager::MakeLabels(pScreen);
21 m_pConvMgr->ChangeScreen(pScreen);
24 CConvertingAlphMgr::~CConvertingAlphMgr() {
27 CDasherNode *CConvertingAlphMgr::CreateSymbolNode(CAlphNode *pParent, symbol iSymbol) {
28 //int i=m_pAlphabet->iEnd;
29 if (iSymbol == m_pAlphabet->iEnd) {
30 pParent->GetProbInfo();
31 DASHER_ASSERT(pCProb->size() == m_pAlphabet->iEnd+1);//initial 0, final conversion prob
33 //this used to be the "CloneAlphContext" method. Why it uses the
34 // ConversionManager's LM to clone a context from an Alphabet Node,
35 // I don't know - not sure how LanguageModelling WRT conversion
36 // is supposed to work...
37 CLanguageModel::Context iContext = (pParent->iContext)
38 ? m_pConvMgr->m_pLanguageModel->CloneContext(pParent->iContext)
39 : m_pConvMgr->m_pLanguageModel->CreateEmptyContext();
41 //ACL setting m_iOffset+1 for consistency with "proper" symbol nodes...
42 return m_pConvMgr->GetRoot(pParent->offset()+1, iContext);
43 //Note: previous code used (*pCProb)[i-1] and (*pCProb)[i] instead of
44 // iLbnd and iHbnd passed in; presumably these must have been the same?
45 } else {
46 return CAlphabetManager::CreateSymbolNode(pParent, iSymbol);