File: UserLogBase.cpp

package info (click to toggle)
dasher 4.11%2Bgit20130508.adc653-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 40,248 kB
  • ctags: 5,158
  • sloc: xml: 185,479; cpp: 32,301; sh: 11,207; makefile: 828; ansic: 483
file content (41 lines) | stat: -rw-r--r-- 915 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
 *  UserLogBase.cpp
 *  Dasher
 *
 *  Created by Alan Lawrence on 28/03/2011.
 *  Copyright 2011 Cavendish Laboratory. All rights reserved.
 *
 */

#include "UserLogBase.h"
#include "Event.h"
#include "DasherNode.h"
#include "DasherInterfaceBase.h"

using namespace Dasher;

CUserLogBase::CUserLogBase(Observable<const CEditEvent *> *pHandler)
: TransientObserver<const CEditEvent *>(pHandler), m_iNumDeleted(0) {
};

void CUserLogBase::HandleEvent(const CEditEvent *evt) {
  if (evt->m_iEditType == 1) {
    m_vAdded.push_back(evt->m_pNode->GetSymbolProb());
    //output
  } else if (evt->m_iEditType == 2) {
    //delete
    m_iNumDeleted++;
  }
}

void CUserLogBase::FrameEnded() {
  //pass on added/deleted if any, and get ready for next frame
  if (m_iNumDeleted) {
    DeleteSymbols(m_iNumDeleted);
    m_iNumDeleted=0;
  }
  if (!m_vAdded.empty()) {
   AddSymbols(&m_vAdded);
    m_vAdded.clear();
  }
}