1 /* |
1 /* |
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
27 |
27 |
28 class CESMRField; |
28 class CESMRField; |
29 class MESMRCalEntry; |
29 class MESMRCalEntry; |
30 class MESMRFieldEventObserver; |
30 class MESMRFieldEventObserver; |
31 class CESMRFieldEventQueue; |
31 class CESMRFieldEventQueue; |
|
32 class CESMRPolicy; |
|
33 class CMRSystemNotifier; |
32 |
34 |
33 /** |
35 /** |
34 * CESMRFieldStorage is a base class for different storage classes. |
36 * CESMRFieldStorage is a base class for different storage classes. |
35 * Storage class owns the fields needed to draw UI. This class also has methods |
37 * Storage class owns the fields needed to draw UI. This class also has methods |
36 * to add new fields into field array. |
38 * to add new fields into field array. |
86 |
88 |
87 public: // From MESMRFieldStorage |
89 public: // From MESMRFieldStorage |
88 TInt Count() const; |
90 TInt Count() const; |
89 CESMRField* Field( TInt aInd ) const; |
91 CESMRField* Field( TInt aInd ) const; |
90 CESMRField* FieldById( TESMREntryFieldId aId ) const; |
92 CESMRField* FieldById( TESMREntryFieldId aId ) const; |
91 virtual void InternalizeL( MESMRCalEntry& aEntry ); |
93 void InternalizeL( MESMRCalEntry& aEntry ); |
92 virtual void ExternalizeL( MESMRCalEntry& aEntry ); |
94 void ExternalizeL( MESMRCalEntry& aEntry ); |
93 virtual TInt Validate( TESMREntryFieldId& aId, TBool aForceValidate ); |
95 TInt Validate( TESMREntryFieldId& aId, TBool aForceValidate ); |
|
96 void ChangePolicyL( const CESMRPolicy& aNewPolicy, |
|
97 MESMRCalEntry& aEntry ); |
94 |
98 |
95 protected: |
99 protected: |
96 // C++ constructor |
100 // C++ constructor |
97 CESMRFieldStorage( |
101 CESMRFieldStorage( |
98 MESMRFieldEventObserver& aEventObserver ); |
102 MESMRFieldEventObserver& aEventObserver ); |
99 |
103 |
100 void BaseConstructL(); |
104 void BaseConstructL(); |
101 |
105 |
102 CESMRFieldEventQueue& EventQueueL(); |
106 CESMRFieldEventQueue& EventQueueL(); |
|
107 |
|
108 void RemoveField( TInt aInd ); |
|
109 |
|
110 void InsertFieldL( CESMRField* aField, TInt aIndex ); |
|
111 |
|
112 void ReserveL( TInt aCount ); |
|
113 |
|
114 void Reset(); |
103 |
115 |
104 private: |
116 private: |
105 /** |
117 /** |
106 * loads fieldbuilder ecom plugin |
118 * loads fieldbuilder ecom plugin |
107 * delayed until the first time the plugin is needed |
119 * delayed until the first time the plugin is needed |
119 MESMRFieldBuilder* iFieldBuilder; |
131 MESMRFieldBuilder* iFieldBuilder; |
120 /// Ref: Event observer |
132 /// Ref: Event observer |
121 MESMRFieldEventObserver& iEventObserver; |
133 MESMRFieldEventObserver& iEventObserver; |
122 /// Own: Event Queue |
134 /// Own: Event Queue |
123 CESMRFieldEventQueue* iEventQueue; |
135 CESMRFieldEventQueue* iEventQueue; |
|
136 /// Own: System notifier |
|
137 CMRSystemNotifier* iSystemNotifier; |
124 }; |
138 }; |
125 |
139 |
126 #endif // CESMRFIELDSTORAGE_H |
140 #endif // CESMRFIELDSTORAGE_H |
127 |
141 |
128 // EOF |
142 // EOF |