equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009-2010 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". |
18 #ifndef C_AKNITEMACTIONMENU_H |
18 #ifndef C_AKNITEMACTIONMENU_H |
19 #define C_AKNITEMACTIONMENU_H |
19 #define C_AKNITEMACTIONMENU_H |
20 |
20 |
21 #include <e32base.h> |
21 #include <e32base.h> |
22 #include <eikmobs.h> |
22 #include <eikmobs.h> |
|
23 #include <coemop.h> |
23 |
24 |
24 class MAknCollection; |
25 class MAknCollection; |
25 class MAknCollectionObserver; |
26 class MAknCollectionObserver; |
26 class CAknStylusPopUpMenu; |
27 class CAknStylusPopUpMenu; |
27 class CEikMenuBar; |
28 class CEikMenuBar; |
28 class CAknItemActionMenuData; |
29 class CAknItemActionMenuData; |
|
30 class CAknMarkingMode; |
29 |
31 |
30 /** |
32 /** |
31 * Item action menu. |
33 * Item action menu. |
32 * |
34 * |
33 * Classes implementing @c MAknCollection interface can launch |
35 * Classes implementing @c MAknCollection interface can launch |
64 public MEikMenuObserver |
66 public MEikMenuObserver |
65 { |
67 { |
66 |
68 |
67 public: |
69 public: |
68 |
70 |
|
71 DECLARE_TYPE_ID( 0x2002C344 ) |
|
72 |
69 /** |
73 /** |
70 * Two-phased constructor. |
74 * Two-phased constructor. |
71 * |
75 * |
72 * @internal |
76 * @internal |
73 * @param aCollection Collection. |
77 * @param aCollection Collection. |
74 */ |
78 * @param aOwner Menu's owner. |
75 static CAknItemActionMenu* NewL( MAknCollection& aCollection ); |
79 */ |
|
80 static CAknItemActionMenu* NewL( MAknCollection& aCollection, |
|
81 MObjectProvider* aOwner ); |
76 |
82 |
77 /** |
83 /** |
78 * Two-phased constructor. |
84 * Two-phased constructor. |
79 * |
85 * |
80 * @internal |
86 * @internal |
81 * @param aCollection Collection. |
87 * @param aCollection Collection. |
82 */ |
88 * @param aOwner Menu's owner. |
83 static CAknItemActionMenu* NewLC( MAknCollection& aCollection ); |
89 */ |
|
90 static CAknItemActionMenu* NewLC( MAknCollection& aCollection, |
|
91 MObjectProvider* aOwner ); |
84 |
92 |
85 /** |
93 /** |
86 * Destructor. |
94 * Destructor. |
87 */ |
95 */ |
88 virtual ~CAknItemActionMenu(); |
96 virtual ~CAknItemActionMenu(); |
96 */ |
104 */ |
97 IMPORT_C static CAknItemActionMenu* RegisterCollectionL( |
105 IMPORT_C static CAknItemActionMenu* RegisterCollectionL( |
98 MAknCollection& aCollection ); |
106 MAknCollection& aCollection ); |
99 |
107 |
100 /** |
108 /** |
|
109 * Adds collection to the item action menu of this view / dialog / appUi. |
|
110 * |
|
111 * @param aCollection Collection implementing MAknCollection interface. |
|
112 * @param aMenuBarOwner Owner of the menubar that collection will be |
|
113 * registered with. |
|
114 * @return Pointer to the item action menu instance. |
|
115 * Ownership does not transfer to caller. |
|
116 */ |
|
117 IMPORT_C static CAknItemActionMenu* RegisterCollectionL( |
|
118 MAknCollection& aCollection, MObjectProvider* aMenuBarOwner ); |
|
119 |
|
120 /** |
101 * Removes collection of this item action menu. |
121 * Removes collection of this item action menu. |
102 * |
122 * |
103 * @param aCollection Collection to be removed. |
123 * @param aCollection Collection to be removed. |
104 */ |
124 */ |
105 IMPORT_C void RemoveCollection( MAknCollection& aCollection ); |
125 IMPORT_C void RemoveCollection( MAknCollection& aCollection ); |
193 * |
213 * |
194 * @internal |
214 * @internal |
195 * @return Collection count. |
215 * @return Collection count. |
196 */ |
216 */ |
197 TInt CollectionCount() const; |
217 TInt CollectionCount() const; |
|
218 |
|
219 /** |
|
220 * Returns pointer to item action menu's owner. |
|
221 * |
|
222 * @return Menu's owner |
|
223 */ |
|
224 MObjectProvider* Owner() const; |
|
225 |
|
226 /** |
|
227 * Provides marking mode handler. |
|
228 * |
|
229 * @internal |
|
230 * @return Marking mode handler. |
|
231 */ |
|
232 CAknMarkingMode& MarkingMode(); |
|
233 |
|
234 /** |
|
235 * Returns ETrue if collection has marked items. |
|
236 * |
|
237 * @internal |
|
238 * @return ETrue if collection has marked items. |
|
239 */ |
|
240 TBool CollectionHasMarkedItems(); |
|
241 |
|
242 /** |
|
243 * Hides this item action menu. |
|
244 * |
|
245 * @internal |
|
246 */ |
|
247 void HideMenu(); |
198 |
248 |
199 private: |
249 private: |
200 |
250 |
201 /** |
251 /** |
202 * C++ constructor. |
252 * C++ constructor. |
203 */ |
253 * |
204 CAknItemActionMenu(); |
254 * @param aOwner Menu's owner. |
|
255 */ |
|
256 CAknItemActionMenu( MObjectProvider* aOwner ); |
205 |
257 |
206 /** |
258 /** |
207 * Symbian second-phase constructor. |
259 * Symbian second-phase constructor. |
208 * |
260 * |
209 * @param aCollection Collection. |
261 * @param aCollection Collection. |
292 /** |
344 /** |
293 * Menu data. |
345 * Menu data. |
294 * Own. |
346 * Own. |
295 */ |
347 */ |
296 CAknItemActionMenuData* iMenuData; |
348 CAknItemActionMenuData* iMenuData; |
|
349 |
|
350 /** |
|
351 * Pointer to menu's owner. |
|
352 * Not own |
|
353 */ |
|
354 MObjectProvider* iOwner; |
|
355 |
|
356 /** |
|
357 * Multiple marking handler. |
|
358 * Own. |
|
359 */ |
|
360 CAknMarkingMode* iMarking; |
297 }; |
361 }; |
298 |
362 |
299 #endif // C_AKNITEMACTIONMENU_H |
363 #endif // C_AKNITEMACTIONMENU_H |