Guiliani  Version 2.6 revision 7293 (documentation build 12)
GUIObserver.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef GUIOBSERVER__H_
11#define GUIOBSERVER__H_
12
13#include "eC_TList_doubleLinked.h"
14#include "GUIValue.h"
15
16class CGUISubject;
17class CGUIObject;
18
20
28{
29 friend class CGUISubject;
30
31public:
33 CGUIObserver() : m_bAutoDelete(false) {}
34
36 virtual ~CGUIObserver();
37
39 virtual void OnNotification() {}
40
44 virtual void OnNotification (const eC_String& kMessage) {}
45
50 virtual void OnNotification(const CGUIObject* const pkUpdatedObject) {}
51
59 virtual void OnNotification(
60 const CGUIValue& kObservedValue,
61 const CGUIObject* const pkUpdatedObject,
62 const eC_UInt uiX = 0,
63 const eC_UInt uiY = 0) {}
64
68 {
69 return m_kSubjectList;
70 }
71
75 void SetAutoDelete(const eC_Bool bAutoDelete)
76 {
77 m_bAutoDelete = bAutoDelete;
78 }
79
80protected:
81
88 virtual void RemoveSubject(CGUISubject* pSubjectToRemove);
89
95 virtual void AddSubject(CGUISubject* pSubjectToAdd);
96
97private:
98
103 CGUIObserver(const CGUIObserver& kSource);
104
110 CGUIObserver& operator=(const CGUIObserver& kSource);
111
116
118 eC_Bool m_bAutoDelete;
119};
120
121#endif
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:81
Observer Base class for Observer-Design-Pattern within Guiliani.
Definition: GUIObserver.h:28
virtual ~CGUIObserver()
Default destructor. Notifies all subjects of destruction.
virtual void OnNotification(const CGUIValue &kObservedValue, const CGUIObject *const pkUpdatedObject, const eC_UInt uiX=0, const eC_UInt uiY=0)
Definition: GUIObserver.h:59
virtual void RemoveSubject(CGUISubject *pSubjectToRemove)
virtual void OnNotification()
Called by CGUISubject whenever an observed object triggers an update.
Definition: GUIObserver.h:39
virtual void AddSubject(CGUISubject *pSubjectToAdd)
virtual void OnNotification(const eC_String &kMessage)
Definition: GUIObserver.h:44
CGUIObserver()
Default constructor.
Definition: GUIObserver.h:33
virtual void OnNotification(const CGUIObject *const pkUpdatedObject)
Definition: GUIObserver.h:50
void SetAutoDelete(const eC_Bool bAutoDelete)
Definition: GUIObserver.h:75
const eC_TListDoubleLinked< CGUISubject * > & GetSubjectList() const
Definition: GUIObserver.h:67
Subject Base class for Observer-Design-Pattern within Guiliani.
Definition: GUISubject.h:34
CGUIValue stores a single value in one specific type.
Definition: GUIValue.h:25