author | Fionntina Carville <fionntinac@symbian.org> |
Mon, 15 Nov 2010 10:30:54 +0000 | |
branch | RCL_3 |
changeset 82 | 28205c20df94 |
parent 80 | 726fba06891a |
permissions | -rw-r--r-- |
64 | 1 |
/* |
2 |
* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). |
|
3 |
* All rights reserved. |
|
4 |
* This component and the accompanying materials are made available |
|
5 |
* under the terms of "Eclipse Public License v1.0" |
|
6 |
* which accompanies this distribution, and is available |
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 |
* |
|
9 |
* Initial Contributors: |
|
10 |
* Nokia Corporation - initial contribution. |
|
11 |
* |
|
12 |
* Contributors: |
|
13 |
* |
|
14 |
* Description: FreestyleEmailUi generic texturemanager definition |
|
15 |
* |
|
16 |
*/ |
|
17 |
||
18 |
||
19 |
||
20 |
#ifndef __FREESTYLEEMAILUI_TEXTUREMANAGER_H__ |
|
21 |
#define __FREESTYLEEMAILUI_TEXTUREMANAGER_H__ |
|
22 |
||
23 |
||
24 |
// SYSTEM INCLUDES |
|
25 |
#include"FSDelayedLoader.h" |
|
26 |
//<cmail> SF |
|
27 |
#include <alf/alfimagebrush.h> |
|
28 |
#include <alf/alfcontrol.h> |
|
29 |
#include <alf/alftexture.h> |
|
30 |
#include <alf/alfbitmapprovider.h> |
|
31 |
//</cmail> |
|
32 |
#include <AknsBasicBackgroundControlContext.h> |
|
33 |
||
34 |
// FORWARD DECLARATIONS |
|
35 |
class CAlfEnv; |
|
36 |
class CFreestyleEmailUiAppUi; |
|
37 |
class CAlfFrameBrush; |
|
38 |
||
39 |
||
40 |
enum TFSEmailUiTextures |
|
41 |
{ |
|
42 |
// FIRST TEXTURE ID |
|
43 |
ETextureFirst = 6000, // non-texture |
|
44 |
||
45 |
// OTHER |
|
46 |
ETextureOtherFirst = 6001, // non-texture |
|
47 |
EListTextureSelector = ETextureOtherFirst, |
|
48 |
EListTextureNodeExpanded, |
|
49 |
EListTextureNodeCollapsed, |
|
50 |
EListTextureControlButton, |
|
51 |
EListTextureMailboxDefaultIcon, |
|
52 |
EListTextureNewEmailDefaultIcon, |
|
53 |
EListTextureCreateNewMessageIcon, |
|
54 |
EListControlBarMailboxDefaultIcon, |
|
55 |
EBackgroundTextureViewerHeading, |
|
56 |
EBackgroundTextureBar, |
|
57 |
EBackgroundTextureThumb, |
|
58 |
EBackgroundTextureMailList, |
|
80
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
59 |
EListControlMarkIcon, |
64 | 60 |
EListControlMenuIcon, |
61 |
EMailListBarBgIcon, |
|
62 |
ESearchLookingGlassIcon, |
|
63 |
EControlBarListBackgroundTexture, |
|
64 |
EControlBarButtonBackgroundTexture, |
|
65 |
EControlBarAscendingArrowTexture, |
|
66 |
EControlBarDescendingArrowTexture, |
|
67 |
||
68 |
// MESSAGE TEXTURES |
|
69 |
ETextureMessageFirst, // non-texture |
|
70 |
EMessageReadIcon = ETextureMessageFirst, |
|
71 |
EMessageLowPrioReadIcon, |
|
72 |
EMessageLowPrioReadIconAttachment, |
|
73 |
EMessageReadIconAttachment, |
|
74 |
EMessageReadRepliedIcon, |
|
75 |
EMessageReadRepliedIconAttachment, |
|
76 |
EMessageReadRepliedHighPrioIcon, |
|
77 |
EMessageReadRepliedHighPrioIconAttachment, |
|
78 |
EMessageReadRepliedLowPrioIcon, |
|
79 |
EMessageReadRepliedLowPrioIconAttachment, |
|
80 |
EMessageReadForwardedIcon, |
|
81 |
EMessageReadForwardedIconAttachment, |
|
82 |
EMessageReadForwardedHighPrioIcon, |
|
83 |
EMessageReadForwardedHighPrioIconAttachment, |
|
84 |
EMessageReadForwardedLowPrioIcon, |
|
85 |
EMessageReadForwardedLowPrioIconAttachment, |
|
86 |
EMessageUnreadIcon, |
|
87 |
EMessageUnreadIconAttachment, |
|
88 |
EMessageLowPrioUnreadIcon, |
|
89 |
EMessageLowPrioUnreadIconAttachment, |
|
90 |
EMessageHighPrioReadIcon, |
|
91 |
EMessageHighPrioReadIconAttachment, |
|
92 |
EMessageHighPrioUnreadIcon, |
|
93 |
EMessageHighPrioUnreadIconAttachment, |
|
94 |
EAttachmentIcon, |
|
95 |
EMessageUnreadForwardedIcon, |
|
96 |
EMessageUnreadForwardedIconAttachment, |
|
97 |
EMessageUnreadForwardedHighPrioIcon, |
|
98 |
EMessageUnreadForwardedHighPrioIconAttachment, |
|
99 |
EMessageUnreadForwardedLowPrioIcon, |
|
100 |
EMessageUnreadForwardedLowPrioIconAttachment, |
|
101 |
EMessageUnreadRepliedIcon, |
|
102 |
EMessageUnreadRepliedIconAttachment, |
|
103 |
EMessageUnreadRepliedHighPrioIcon, |
|
104 |
EMessageUnreadRepliedHighPrioIconAttachment, |
|
105 |
EMessageUnreadRepliedLowPrioIcon, |
|
106 |
EMessageUnreadRepliedLowPrioIconAttachment, |
|
107 |
||
108 |
// CALENDAR EVENT TEXTURES |
|
109 |
ETextureCalendarFirst, // non-texture |
|
110 |
EMessageCalInvitation = ETextureCalendarFirst, |
|
111 |
EMessageCalInvitationRead, |
|
112 |
EMessageCalInvitationAttachments, |
|
113 |
EMessageCalInvitationReadAttachments, |
|
114 |
EMessageCalInvitationHighPrio, |
|
115 |
EMessageCalInvitationReadHighPrio, |
|
116 |
EMessageCalInvitationAttachmentsHighPrio, |
|
117 |
EMessageCalInvitationReadAttachmentsHighPrio, |
|
118 |
EMessageCalInvitationLowPrio, |
|
119 |
EMessageCalInvitationReadLowPrio, |
|
120 |
EMessageCalInvitationAttachmentsLowPrio, |
|
121 |
EMessageCalInvitationReadAttachmentsLowPrio, |
|
122 |
EMessageCalInvitationCancelled, |
|
123 |
||
124 |
// GRID TEXTURES |
|
125 |
ETextureGridFirst, // non-texture |
|
126 |
EGridInboxTexture = ETextureGridFirst, |
|
127 |
EGridDirectoryTexture, |
|
128 |
EGridSettingsTexture, |
|
129 |
EGridAddNewBoxTexture, |
|
130 |
EGridHelpTexture, |
|
131 |
EGridAboutTexture, |
|
132 |
EGridBackground, |
|
133 |
||
134 |
// FLAG ICONS |
|
135 |
ETextureFlagFirst, // non-texture |
|
136 |
EFollowUpFlag = ETextureFlagFirst, |
|
137 |
EFollowUpFlagComplete, |
|
138 |
EFollowUpFlagList, |
|
139 |
EFollowUpFlagCompleteList, |
|
140 |
||
141 |
// FOLDER LIST ICONS |
|
142 |
ETextureFolderFirst, // non-texture |
|
143 |
EFolderListMoreFoldersTexture = ETextureFolderFirst, |
|
144 |
EFolderListInboxTexture, |
|
145 |
EFolderListInboxSubfoldersTexture, |
|
146 |
EFolderListOutboxTexture, |
|
147 |
EFolderListDraftsTexture, |
|
148 |
EFolderListSentTexture, |
|
149 |
EFolderListDeletedItemsTexture, |
|
150 |
EFolderListServerFoldersTexture, |
|
151 |
EFolderListEmailAccountTexture, |
|
152 |
EFolderListMoreFoldersTexturePopup, |
|
153 |
EFolderListInboxTexturePopup, |
|
154 |
EFolderListInboxSubfoldersTexturePopup, |
|
155 |
EFolderListOutboxTexturePopup, |
|
156 |
EFolderListDraftsTexturePopup, |
|
157 |
EFolderListSentTexturePopup, |
|
158 |
EFolderListDeletedItemsTexturePopup, |
|
159 |
EFolderListServerFoldersTexturePopup, |
|
160 |
EFolderListEmailAccountTexturePopup, |
|
161 |
// SORT LIST ICONS |
|
162 |
ESortListAttachmentAscTexturePopup, |
|
163 |
ESortListAttachmentDescTexturePopup, |
|
164 |
ESortListDateAscTexturePopup, |
|
165 |
ESortListDateDescTexturePopup, |
|
166 |
ESortListFollowAscTexturePopup, |
|
167 |
ESortListFollowDescTexturePopup, |
|
168 |
ESortListPriorityAscTexturePopup, |
|
169 |
ESortListPriorityDescTexturePopup, |
|
170 |
ESortListSenderAscTexturePopup, |
|
171 |
ESortListSenderDescTexturePopup, |
|
172 |
ESortListSubjectAscTexturePopup, |
|
173 |
ESortListSubjectDescTexturePopup, |
|
174 |
ESortListUnreadAscTexturePopup, |
|
175 |
ESortListUnreadDescTexturePopup, |
|
176 |
ESortListAttachmentAscTexture, |
|
177 |
ESortListAttachmentDescTexture, |
|
178 |
ESortListDateAscTexture, |
|
179 |
ESortListDateDescTexture, |
|
180 |
ESortListFollowAscTexture, |
|
181 |
ESortListFollowDescTexture, |
|
182 |
ESortListPriorityAscTexture, |
|
183 |
ESortListPriorityDescTexture, |
|
184 |
ESortListSenderAscTexture, |
|
185 |
ESortListSenderDescTexture, |
|
186 |
ESortListSubjectAscTexture, |
|
187 |
ESortListSubjectDescTexture, |
|
188 |
ESortListUnreadAscTexture, |
|
189 |
ESortListUnreadDescTexture, |
|
190 |
||
191 |
// STATUS INDICATOR ICONS |
|
192 |
ETextureStatusFirst, // non-texture |
|
193 |
EStatusTextureSynchronising = ETextureStatusFirst, |
|
194 |
EStatusTextureConnected, |
|
195 |
EStatusTextureConnecting, |
|
196 |
EStatusTextureDisconnectedGeneral, |
|
197 |
EStatusTextureDisconnectedError, |
|
198 |
EStatusTextureDisconnectedLowBattery, |
|
199 |
EStatusTextureMailSent, |
|
200 |
||
201 |
// VIEWER TEXTURES |
|
202 |
ETextureViewerFirst, // non-texture |
|
203 |
EViewerTextureHeaderBackGround = ETextureViewerFirst, |
|
204 |
EViewerHighlightTexture, |
|
205 |
||
206 |
// COMPOSER TEXTURES |
|
207 |
ETextureComposerFirst, // no-texture |
|
208 |
EComposerTexturePriorityLow = ETextureComposerFirst, |
|
209 |
EComposerTexturePriorityHigh, |
|
210 |
||
211 |
// ATTACHMENT ICONS |
|
212 |
ETextureAttachmentsFirst, // non-texture |
|
213 |
EAttachmentsDocFile = ETextureAttachmentsFirst, |
|
214 |
EAttachmentsHtmlFile, |
|
215 |
EAttachmentsImageFile, |
|
216 |
EAttachmentsPdfFile, |
|
217 |
EAttachmentsPptFile, |
|
218 |
EAttachmentsRtfFile, |
|
219 |
EAttachmentsUnknownFile, |
|
220 |
EAttachmentsXls, |
|
221 |
EAttachmentsNotDownloaded, |
|
222 |
EAttachmentsCancelDownload, |
|
223 |
EAttachmentsDownload, |
|
224 |
EAttachmentsSaveAll, |
|
225 |
EAttachmentsCancelAll, |
|
226 |
EAttachmentsViewAll, |
|
80
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
227 |
|
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
228 |
EMarkingModeBackgroundIcon, |
64 | 229 |
|
230 |
// TEXTURE COUNT |
|
231 |
ETextureCount, |
|
232 |
||
233 |
// Branded mailbox icons. Max 101 icons 3 sizes of each |
|
234 |
// (Launcher grid, Inbox view and Folders dropdown view) |
|
235 |
EBrandedIconStart = 8000, |
|
236 |
EBrandedIconEnd = 8303, |
|
237 |
||
238 |
// GRID ECOM PLUGIN ICONS, Dynamically updated, |
|
239 |
// do not add icons after this |
|
240 |
EGridPluginIconFirst |
|
241 |
}; |
|
242 |
||
243 |
class CFreestyleEmailUiTextureManager: |
|
244 |
public CAlfControl, |
|
245 |
public MAlfBitmapProvider, |
|
246 |
public MFsDelayedLoadingInterface |
|
247 |
{ |
|
248 |
// to prevent creating multiple instances NewL has been hidden |
|
249 |
// and AppUi has been declared as friend class |
|
250 |
friend class CFreestyleEmailUiAppUi; |
|
251 |
||
252 |
public: |
|
253 |
// Get correct backgroung image for current resolution |
|
254 |
CAlfTexture& BackgroundForThisResolutionL(); |
|
255 |
// Get flush background image for the current resolution |
|
256 |
CAlfTexture& WatermarkBackgroundForThisResolutionL(); |
|
257 |
// Get any texture by ID |
|
258 |
CAlfTexture& TextureByIndex( TFSEmailUiTextures aIndex ); |
|
259 |
// Clear any texture by ID |
|
260 |
void ClearTextureByIndex( TFSEmailUiTextures aIndex ); |
|
261 |
// Get new skinned selector brush object for gen ui list. |
|
262 |
// Ownership is NOT transferred to caller. |
|
263 |
CAlfFrameBrush* ListSelectorBrushL(); |
|
264 |
// Get new skinned grid selector brush object |
|
265 |
// Ownership is NOT transferred to caller. |
|
266 |
CAlfFrameBrush* GridSelectorBrushL(); |
|
267 |
// Get new skinned selector brush object for gen ui control bar. |
|
268 |
// Ownership IS transferred to caller. |
|
269 |
CAlfFrameBrush* NewCtrlBarSelectorBrushLC(); |
|
270 |
// <cmail> |
|
271 |
// Get new skinned selector brush object for gen ui popup list. |
|
272 |
// Ownership IS transferred to caller. |
|
273 |
CAlfFrameBrush* NewListSelectorBrushL(); |
|
274 |
// </cmail> |
|
275 |
// Get new scrollbar top background object. |
|
276 |
// Ownership IS transferred to caller. |
|
277 |
CAlfFrameBrush* NewScrollBarTopBgBrushLC(); |
|
278 |
// Get new scrollbar bottom background object. |
|
279 |
// Ownership IS transferred to caller. |
|
280 |
CAlfFrameBrush* NewScrollBarBottomBgBrushLC(); |
|
281 |
// Get new scrollbar center background object. |
|
282 |
// Ownership IS transferred to caller. |
|
283 |
CAlfFrameBrush* NewScrollBarCenterBgBrushLC(); |
|
284 |
// Get new scrollbar thumb object. |
|
285 |
// Ownership IS transferred to caller. |
|
286 |
CAlfFrameBrush* NewScrollBarThumbBrushLC(); |
|
287 |
// Get new mail list separator brush |
|
288 |
// Ownership IS transferred to caller. |
|
289 |
CAlfFrameBrush* NewMailListSeparatorBgBrushLC(); |
|
80
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
290 |
// Get marking mode background brush |
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
291 |
// Ownership IS transferred to caller. |
726fba06891a
Revision: 201039
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
73
diff
changeset
|
292 |
CAlfImageBrush* NewMailListMarkingModeBgBrushLC(); |
64 | 293 |
// Get new mail list separator brush |
294 |
// Ownership IS transferred to caller. |
|
295 |
CAlfImageBrush* NewControlBarListBgBrushLC(); |
|
296 |
// Get new controlbar button bg brush |
|
297 |
// Ownership IS transferred to caller. |
|
298 |
CAlfImageBrush* NewControlBarButtonBgBrushLC(); |
|
299 |
||
300 |
// <cmail> |
|
301 |
// Ownerhip not transfered. |
|
302 |
CAlfFrameBrush* TitleDividerBgBrushL(); |
|
303 |
// </cmail> |
|
304 |
||
305 |
// Create branded mailbox icon into TextureManager |
|
306 |
void CreateBrandedMailboxTexture( CGulIcon* aIcon, const TUid aPluginId, const TUint aMailboxId, const TSize& aSize ); |
|
307 |
// Get branded mailbox icon |
|
308 |
CAlfTexture& TextureByMailboxIdL( const TUid aPluginId, const TUint aMailboxId, const TSize& aSize ); |
|
309 |
||
310 |
public: // from MAlfBitmapProvider |
|
311 |
||
312 |
void ProvideBitmapL(TInt aId, CFbsBitmap*& aBitmap, CFbsBitmap*& aMaskBitmap); |
|
313 |
||
314 |
public: // from MFsDelayedLoadingInterface |
|
315 |
||
316 |
/** |
|
317 |
* DelayLoadCallback |
|
318 |
* Delayed loading callback |
|
319 |
* @return ETrue to keep calling, EFalse to stop callbacks |
|
320 |
*/ |
|
321 |
TInt DelayLoadCallback(); |
|
322 |
||
323 |
private: |
|
324 |
// This class should not be used directly, use iAppUi->TextureManger() instance |
|
325 |
static CFreestyleEmailUiTextureManager* NewL( CAlfEnv& aEnv, CFreestyleEmailUiAppUi* aAppUi ); |
|
326 |
virtual ~CFreestyleEmailUiTextureManager(); |
|
327 |
||
328 |
CFreestyleEmailUiTextureManager( CAlfEnv& aEnv, CFreestyleEmailUiAppUi* aAppUi ); |
|
329 |
void ConstructL(CAlfEnv& aEnv); |
|
330 |
void CreateTexturesL(); |
|
331 |
||
332 |
void InitTextureArray(); |
|
333 |
void LoadTextureL( TFSEmailUiTextures aTextureId ); // CHECKLATER - is this ok? see migration 3.12.1 |
|
334 |
// <cmail> S60 Skin support |
|
335 |
void GetBackgroundBitmapL (CFbsBitmap*& bitmap) const; |
|
336 |
void DrawContextL (CFbsBitmap*& bitmap, TAknsItemID id, TSize rsize) const; |
|
337 |
// </cmail> |
|
338 |
||
339 |
private: |
|
340 |
// ALF environment - CHECKLATER - added this myself, but should be alright |
|
341 |
CAlfEnv* iEnv; |
|
342 |
||
343 |
CFreestyleEmailUiAppUi* iAppUi; |
|
344 |
CAlfFrameBrush* iFrameBrush; |
|
345 |
//<cmail> |
|
346 |
CAlfFrameBrush* iNewFrameBrush; |
|
347 |
CAlfFrameBrush* iTitleDividerBgBrush; |
|
348 |
//</cmail> |
|
349 |
||
350 |
/** |
|
351 |
* array for holding texture objects |
|
352 |
*/ |
|
353 |
RPointerArray<CAlfTexture> iTextures; |
|
354 |
||
355 |
/** |
|
356 |
* array for holding branded mailbox icons |
|
357 |
*/ |
|
358 |
RPointerArray<CAlfTexture> iBrandedMailboxIcons; |
|
359 |
RArray<TUid> iPluginId; |
|
360 |
RArray<TUint> iMailboxId; |
|
361 |
RArray<TSize> iSize; |
|
362 |
/* |
|
363 |
* Temporary variables for holding the mailbox icon and id |
|
364 |
* before create. |
|
365 |
*/ |
|
366 |
CFbsBitmap* iTmpBitmap; |
|
367 |
CFbsBitmap* iTmpMaskBitmap; |
|
368 |
TUid iTmpPluginId; |
|
369 |
TUint iTmpMailboxId; |
|
370 |
TSize iTmpSize; |
|
371 |
||
372 |
/** |
|
373 |
* index indicating delay loading progress within |
|
374 |
* textures array |
|
375 |
*/ |
|
376 |
TInt iDelayLoadIndex; |
|
377 |
||
378 |
}; |
|
379 |
||
380 |
#endif // __FREESTYLEEMAILUI_LISTCONTROL_H__ |
|
381 |