diff -r aecbbf00d063 -r d48ab3b357f1 uifw/AvKon/aknhlist/inc/akntreelistview.h --- a/uifw/AvKon/aknhlist/inc/akntreelistview.h Tue Aug 31 15:28:30 2010 +0300 +++ b/uifw/AvKon/aknhlist/inc/akntreelistview.h Wed Sep 01 12:16:19 2010 +0100 @@ -40,6 +40,7 @@ class CEikScrollBarFrame; class CAknTreeListPhysicsHandler; class CAknItemActionMenu; +class CAknIconArray; /** * Hierarchical list view. @@ -58,8 +59,8 @@ public MAknsEffectAnimObserver, public MEikCommandObserver, public MAknCollection, - public MAknLongTapDetectorCallBack - + public MAknLongTapDetectorCallBack, + public MAknMarkingCollection { public: @@ -448,12 +449,9 @@ TInt& TopIndex(); TInt& BottomIndex(); -void UpdateIndexes(); - TInt iItemCountLimit; TInt iHighlightIndex; TInt iTopIndex; -TInt iBottomIndex; #endif //RD_UI_TRANSITION_EFFECTS_LIST @@ -645,8 +643,10 @@ /** * Updates scrollbars. + * + * @param aDrawNow Whether or not to draw the scrollbar. */ - void UpdateScrollbars(); + void UpdateScrollbars( TBool aDrawNow ); /** * Updates the horizontal position of the view so that the beginning of @@ -814,23 +814,23 @@ void DoHandleLongPressL(); /** - * Enters marking mode. When in marking mode, the list controls the MSK + * Enters normal marking. When in marking state, the list controls the MSK * commands depending on whether the currently focused item is marked or - * unmarked. Marking mode is entered after specified timeout, when user + * unmarked. Marking state is entered after specified timeout, when user * keeps one of the marking modifier keys pressed. * * Notifications of the beginning and ending of marking mode is sent to * list observers, so that they would not update the MSK commands, when * they are handled by the list. */ - void EnterMarkingMode(); + void EnterMarking(); /** - * Exits marking mode. Marking mode is exited when user releases + * Exits marking state. Marking state is exited when user releases * all the marking modifier keys. After that, the list no longer * handles the MSK commands. */ - void ExitMarkingMode(); + void ExitMarking(); /** * Updates correct mark/unmark command to MSK depending on the marking @@ -866,6 +866,16 @@ */ void UpdateViewItemAsVisible( CAknTreeItem* aItem ); + /** + * Updates indexes + */ + void UpdateIndexes(); + + /** + * Loads marking mode icons. + */ + void LoadMarkingIconsL(); + // from base class CCoeControl /** @@ -889,8 +899,9 @@ * Enables or disables highlight * * @param ETrue to enable highlight, EFalse to disable - */ - void EnableHighlight( TBool aEnabled ); + * @param aPointerEnabled ETrue if highlight was enabled by pointer event. + */ + void EnableHighlight( TBool aEnabled, TBool aPointerEnabled = EFalse ); /** * Is highlight enabled @@ -917,7 +928,7 @@ * * @return ETrue if list has marked items */ - TBool HasMarkedItemsL(); + TBool HasMarkedItemsL() const; // From MAknCollection /** @@ -943,6 +954,55 @@ */ TInt CollectionExtension( TUint aExtensionId, TAny*& a0, TAny* a1 ); +// From MAknMarkingCollection + /** + * Sets multiple marking state. + * + * @param aActive ETrue if multiple marking should be active. + */ + void SetMultipleMarkingState( TBool aActive ); + + /** + * Returns the collection marking state. The state is combination of + * flags defined in @c TStateFlag. + * + * @return Collection state. + */ + TUint MarkingState() const; + + /** + * Marks the currently selected item. + */ + void MarkCurrentItemL(); + + /** + * Marks all items in the collection. + */ + void MarkAllL(); + + /** + * Unmarks all items in the collection. + */ + void UnmarkAll(); + + /* + * Can current item be marked. + */ + TBool CurrentItemMarkable(); + + /** + * Returns whether the observer accepts ending of marking mode + * + * @return ETrue if observer accepts exiting marking mode + */ + TBool ExitMarkingMode(); + + /** + * Reports collection change event. + */ + void ReportCollectionChangedEvent(); + + // From MAknLongTapDetectorCallBack /** * Long tap detector callback @@ -1052,9 +1112,6 @@ */ CAknTreeItem* iPreviouslyFocusedItem; - TBool iIsPressedDownState; - - TBool iIsDragged; /** * Physics handler. Used only when physics feature is enabled. @@ -1062,10 +1119,6 @@ */ CAknTreeListPhysicsHandler* iPhysicsHandler; - /** - * ETrue if physics view should be adjusted according to top item. - */ - TBool iScrollPhysicsTop; /** * Pointer to tfx redirect gc for effects @@ -1083,7 +1136,31 @@ * Long tap detector */ CAknLongTapDetector* iLongTapDetector; + + /** + * Last visible item index + */ + TInt iBottomIndex; + + + /** + * Remember pointer to bottom item. Use for drawing line seperator only. + * iBottomIndex is not valid in some case becaue of iItems already changed. + * Not own. + */ + CAknTreeItem* iBottomItem; + + + /** + * Array for marking mode icons. + * Own. + */ + CAknIconArray* iMarkingIconArray; + + /** + * Ordinal position of window, before stylus menu is opened. + */ + TInt iOldWinPos; }; - #endif // C_AKNTREELISTVIEW_H