Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Resources
Interiors
InteriorLabelModelController.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "Interiors.h"
6
#include "Labels.h"
7
#include "CallbackCollection.h"
8
#include "Types.h"
9
10
11
namespace
Eegeo
12
{
13
namespace
Resources
14
{
15
namespace
Interiors
16
{
17
class
InteriorLabelModelController
:
public
Eegeo::NonCopyable
18
{
19
public
:
20
InteriorLabelModelController
(
InteriorLabelModel
& interiorLabelModel,
21
InteriorsCellResourceObserver
& interiorsCellResourceObserver,
22
Labels::IAnchoredLabelSourceRepository
& anchoredLabelSourceRepository,
23
IInteriorLabelModelObserver
& interiorLabelModelObserver,
24
InteriorInteractionModel
& interiorInteractionModel,
25
IInteriorViewModelObserver
& interiorViewModelObserver,
26
const
IImmutableInteriorViewModel
& interiorViewModel);
27
28
~
InteriorLabelModelController
();
29
private
:
30
31
void
HandleCellResourceAddedToSceneGraph(
const
InteriorsCellResource
& interiorsCellResource);
32
void
HandleCellResourceRemovedFromSceneGraph(
const
InteriorsCellResource
& interiorsCellResource);
33
void
HandleLabelSourceAdded(
const
Labels::IAnchoredLabelSource
*& pAnchoredLabelSource);
34
void
HandleLabelSourceRemoved(
const
Labels::IAnchoredLabelSource
*& pAnchoredLabelSource);
35
void
HandleInteriorInteractionStateChanged();
36
void
HandleInteriorViewModelChanged();
37
38
bool
IsForSelectedFloor(
const
InteriorsFloorCell
& interiorFloorCell);
39
40
InteriorLabelModel
& m_interiorLabelModel;
41
InteriorsCellResourceObserver
& m_interiorsCellResourceObserver;
42
Labels::IAnchoredLabelSourceRepository
& m_anchoredLabelSourceRepository;
43
IInteriorLabelModelObserver
& m_interiorLabelModelObserver;
44
InteriorInteractionModel
& m_interiorInteractionModel;
45
IInteriorViewModelObserver
& m_interiorViewModelObserver;
46
const
IImmutableInteriorViewModel
& m_interiorViewModel;
47
48
const
InteriorsModel
* m_pSelectedInteriorModel;
49
int
m_selectedFloorIndex;
50
51
Helpers::TCallback1<InteriorLabelModelController, const InteriorsCellResource>
m_cellResourceAddedToSceneGraphCallback;
52
Helpers::TCallback1<InteriorLabelModelController, const InteriorsCellResource>
m_cellResourceRemovedFromSceneGraphCallback;
53
Helpers::TCallback1<InteriorLabelModelController, const Labels::IAnchoredLabelSource*>
m_labelSourceAddedCallback;
54
Helpers::TCallback1<InteriorLabelModelController, const Labels::IAnchoredLabelSource*>
m_labelSourceRemovedCallback;
55
Helpers::TCallback0<InteriorLabelModelController>
m_interiorInteractionStateChangedCallback;
56
Helpers::TCallback0<InteriorLabelModelController>
m_interiorViewModelChangedCallback;
57
};
58
}
59
}
60
}
Generated on Sat Jun 10 2023 02:00:33 for eeGeo Platform SDK by
1.8.3.1