diff -r f72a12da539e -r 5315654608de menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h --- a/menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h Thu Dec 17 08:40:49 2009 +0200 +++ b/menufw/menufwui/mmwidgets/inc/mmtemplatelibrary.h Thu Jan 07 12:39:41 2010 +0200 @@ -11,8 +11,8 @@ * * Contributors: * -* Description: -* Version : %version: MM_24.1.8 % << Don't touch! Updated by Synergy at check-out. +* Description: +* Version : %version: MM_24.1.9 % << Don't touch! Updated by Synergy at check-out. * */ @@ -43,57 +43,57 @@ /** * Struct used to store template child data - * + * * @since S60 v5.0 * @ingroup group_mmwidgets */ class TTemplateChild { - + public: - + /** * Rectangle of subcell according to position in item. */ TRect iRectAccordingToParent; - + /** * Data type represented by the subcell. */ TBufC8<64> iData; - + /** * The LCT template used to calculate the subcell position. */ TBufC8<64> iLct; - + /** * The variety for the lct template. */ TInt iVariety; - + /** * Depicts if the subcell is an image or text. */ TBool iIsImage; - + /** * The font id used for displaying text. */ TAknLogicalFontId iFontId; - + /** * The type of align for the text. */ CGraphicsContext::TTextAlign iTextAlign; - + /** * The additional Id for a subcell element used to differentiate it - * from others. e.g the backdrop image has a different visual id + * from others. e.g the backdrop image has a different visual id * since it is displayed only in edit mode. */ TImageVisualId iImageVisualId; - + /** * The type of horizontal align for the icon. */ @@ -105,7 +105,7 @@ /** * Used by Multimedia Menu to load template data. - * + * * @code * @endcode * @lib mmwidgets @@ -116,7 +116,7 @@ { public: // Constructors and destructor - + /** * Destructor. */ @@ -126,7 +126,7 @@ * Two-phased constructor. */ IMPORT_C static CMmTemplateLibrary* NewL(); - + /** * Two-phased constructor. */ @@ -148,210 +148,203 @@ /** * Gets the size of template item according to highlight and orientation. - * + * * @since S60 v3.0 * @param aWidgetType The widget type. - * @param aTemplate The current template for the item. + * @param aTemplate The current template for the item. * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. * @param aParentRect The bounding rect in which the item is drawn. - * + * * @return size of item */ - TSize GetSize( TMmWidgetType aWidgetType, const TDesC8& aTemplate, - TBool aLandscapeOrientation = 0, TBool aHighlighted = 0, + TSize GetSize( TMmWidgetType aWidgetType, const TDesC8& aTemplate, + TBool aLandscapeOrientation = 0, TBool aHighlighted = 0, TRect aParentRect = TRect() ); - + /** * Gets the size of template. - * + * * @since S60 v3.0 * @param aItemSize Item size to be set. * @param aWidgetType The widget type. - * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aTemplate The current template for the item. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. * @param aParentRect The bounding rect in which the item is drawn. - * + * * @return error code */ - TInt GetSize( TSize& aItemSize, TMmWidgetType aWidgetType, - const TDesC8& aTemplate, TBool aLandscapeOrientation, + TInt GetSize( TSize& aItemSize, TMmWidgetType aWidgetType, + const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted , TRect aParentRect = TRect() ); - + /** - * Get array of templates for subcells ( item children ). - * + * Get array of templates for subcells ( item children ). + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aArray The array of subcell children to be set. * @param aTemplate The current template for the item. * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. - * @param aIsEditMode Is in edit mode. - * + * @param aIsEditMode Is in edit mode. + * */ void GetChildrenL( TMmWidgetType aWidgetType, - RArray< TTemplateChild >& aArray, const TDesC8& aTemplate, + RArray< TTemplateChild >& aArray, const TDesC8& aTemplate, TBool aLandscapeOrientation = 0, TBool aHighlighted = 0, TBool aIsEditMode = 0 ); - + /** * Get the layout size ( Grid ) e.g. 3x4 - * + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aTemplate The current template for the item. * @param aLandscapeOrientation Is view in landscape orientation. - * + * * @return the size of the layout. */ - TSize GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate, + TSize GetLayoutSizeL( TMmWidgetType aWidgetType, const TDesC8& aTemplate, TBool aLandscapeOrientation ); - + /** * Get rect of move indicator according to item (as reference position). - * The rect is relevant to the item in point (0,0). + * The rect is relevant to the item in point (0,0). * e.g for item size 20x360 the rect can be (-5,-5):(365,25). - * + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. - * + * * @return rect of move indicator area. */ - TRect GetMoveIndicatorRect( TMmWidgetType aWidgetType, const TDesC8& aTemplate, + TRect GetMoveIndicatorRect( TMmWidgetType aWidgetType, const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted ); - + /** - * Get children templates for move indicator. - * + * Get children templates for move indicator. + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aArray Array of children templates. * @param aTemplate The current template for the item. * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. - * + * */ void GetMoveIndicatorChildrenL( TMmWidgetType aWidgetType, RArray< TTemplateChild >& aArray, const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted ); - + /** * Get size of item for LCT template. - * + * * @since S60 v3.0 * @param aLCTTemplate The LCT template name. * @param aVariety The variety for aLCTTemplate. * @param aWindowLayout The window layout to be used to calculet the size. * @param aLandscapeOrientation ETrue if view in landscape orientation otherwise EFalse. - * + * * @return item size */ TSize GetLCTSize( const TDesC8& aLCTTemplate, TInt aVariety, TAknWindowLineLayout& aWindowLayout, TBool aLandscapeOrientation ); - + /** * Clean the cache - * + * * @since S60 v3.0 */ void CleanAndClearCache( ); /** - * The template content is loaded. LCT templates have highest priority. + * The template content is loaded. LCT templates have highest priority. * If there is no LCT template, a custom template is loaded. - * + * * @since S60 v3.0 * @param aTemplate The current template for the item. * @param aWidgetType The widget type. * @param aMmTemplateType Type of template (LCT/custom). - * + * * @return Template content. */ HBufC8* GetTemplateContentL( const TDesC8& aTemplate, TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType ); - + /** * Sets scrollbar visibility so template library is aware. - * + * * @since S60 v3.0 * @param aIsScrollbarVisible Is scrollbar visible. */ void SetScrollbarVisibilityL( TBool aIsScrollbarVisible ); - + /** * Gets scrollbar visibility. - * + * * @since S60 v3.0 * @return Is scrollbar visible. */ TBool GetScrollbarVisibility(); - - /** - * Sets the current zoom so template library can retrieve the appropriate templates. - * - * @since S60 v3.0 - * @param aZoom Is The current zoom to be set. - */ - void SetZoom( TAknUiZoom aZoom = EAknUiZoomAutomatic ); - + /** * Sets the scrollbar width so template library can calculate the width of the item correctly. - * + * * @since S60 v3.0 * @param aScrollbarWidth The current width of the scrollbar. */ void SetScrollbarWidthL( TInt aScrollbarWidth ); - + /** * Gets scrollbar width. - * + * * @since S60 v3.0 * @return scrollbar width */ TInt ScrollbarWidth(); - + /** * Gets the parent rect for given orientation from which templates were calculated. - * + * * @since S60 v3.0 * @param aLandscapeOrientation The current landscape orientation. * @return Parent rect for given orientation. */ TRect GetParentRect( TBool aLandscapeOrientation ); - + private: /** * Get the lookup text. - * + * * @since S60 v3.0 * @param aTemplate The current template for the item. * @param aWidgetType The widget type. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. - * - * @return Lookup text. + * + * @return Lookup text. */ HBufC8* LookupText( const TDesC8& aTemplate, TMmWidgetType aWidgetType, - TAknUiZoom aZoom, TBool aLandscapeOrientation = EFalse, - TBool aHighlighted = EFalse ); - + TBool aLandscapeOrientation = EFalse, + TBool aHighlighted = EFalse ); + /** * Get the lookup text for layout size. - * + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. - * + * @param aLandscapeOrientation Is view in landscape orientation. + * * @return lookup layout text. */ - HBufC8* LookupLayoutText( TMmWidgetType aWidgetType, TAknUiZoom aZoom, - const TDesC8& aTemplate, TBool aLandscapeOrientation ); - + HBufC8* LookupLayoutText( TMmWidgetType aWidgetType, + const TDesC8& aTemplate, + TBool aLandscapeOrientation ); + /** * Get the lookup text for move indicator. - * + * * @since S60 v3.0 * @param aLookupText The lookup text to be used to create the lookup indicator text. * @return lookup Indicator text. @@ -360,18 +353,18 @@ /** * Load the template to cache. - * + * * @since S60 v3.0 * @param aWidgetType The widget type. * @param aTemplate The current template for the item. * @param aLandscapeOrientation The current orientation. */ - void LoadTemplateL( TMmWidgetType aWidgetType, const TDesC8& aTemplate, + void LoadTemplateL( TMmWidgetType aWidgetType, const TDesC8& aTemplate, TBool aLandscapeOrientation ); - + /** * Get template file content. - * + * * @since S60 v3.0 * @param aContent Descriptor to which the file content should be set. * @param aTemplate The current template for the item. @@ -382,156 +375,147 @@ void GetTemplateFileContentL (HBufC8*& aContent, const TDesC8& aTemplate, TMmWidgetType aWidgetType, TMmTemplateType& aMmTemplateType, TBool aLoadCustomTemplate = EFalse); - + /** * Process xml element. - * + * * @since S60 v3.0 * @param aMmTemplateType Type of template (LCT/custom). * @param aElement Element ( xml ). * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. - * + * */ void ProcessElementL (TMmTemplateType aMmTemplateType, TXmlEngElement aElement, const TDesC8& aTemplate, - TBool aLandscapeOrientation, TBool aHighlighted); - + TBool aLandscapeOrientation, TBool aHighlighted); + /** * Process the LCT template. - * + * * @since S60 v3.0 * @param aElement Element (xml). * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. */ - void ProcessLCTTemplateElementL( TXmlEngElement aElement, - const TDesC8& aTemplate, + void ProcessLCTTemplateElementL( TXmlEngElement aElement, + const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted ); /** * Process the custom template. - * + * * @since S60 v3.0 * @param aElement Element (xml) * @param aTemplate The current template for the item. - * @param aLandscapeOrientation Is view in landscape orientation. + * @param aLandscapeOrientation Is view in landscape orientation. * @param aHighlighted Is item highlighted. */ - void ProcessCustomTemplateElementL( TXmlEngElement aElement, - const TDesC8& aTemplate, + void ProcessCustomTemplateElementL( TXmlEngElement aElement, + const TDesC8& aTemplate, TBool aLandscapeOrientation, TBool aHighlighted ); /** * Setup LCT template data. - * + * * @since S60 v3.0 - * @param aChildTemplate Template where the data should be set up. + * @param aChildTemplate Template where the data should be set up. * @param aChildElement Element (xml). * @param aItemSize Item size. */ void SetupLCTTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement, TSize aItemSize ); - + /** - * Setup custom template. - * + * Setup custom template. + * * @since S60 v3.0 - * @param aChildTemplate Template where the data should be set up. + * @param aChildTemplate Template where the data should be set up. * @param aChildElement Element (xml). */ void SetupCustomTemplateL(TTemplateChild& aChildTemplate, TXmlEngElement& aChildElement ); - + /** * Set the template visual id. - * + * * @since S60 v3.0 * @param aChildTemplate Template data. */ void SetupTemplateVisualId(TTemplateChild& aChildTemplate ); - + /** * Setup the item children template data for move indicator and cache the data. - * + * * @since S60 v3.0 * @param aLookupString Lookup string. * @param aItemSize Item size. */ void SetupMoveIndicatorTemplateChildrenL( const TDesC8& aLookupString, TSize aItemSize ); - + /** * Adjusts the item size loaded to template cache according to layout size and orientation. * This method adjusts the item width so that items occupy the view correctly. - * + * * @since S60 v3.0 - * @param aSize The size of the item to be adjusted. - * @param aLayoutSize The layout of the widget e.g 3x4 + * @param aSize The size of the item to be adjusted. + * @param aLayoutSize The layout of the widget e.g 3x4 * @param aLandscapeOrientation The orientation of the template being processed. */ void AdjustItemWidth( TSize& aSize, TSize aLayoutSize, TBool aLandscapeOrientation ); /** * Updates the parent rect according to orientation. - * + * * @since S60 v3.0 * @param aParentRect The current parent rectangle. * @param aLandscapeOrientation The current orientation. */ void UpdateParentRect( TRect aParentRect, TBool aLandscapeOrientation ); - + /** * Sets the parent rect for given orientation. - * + * * @since S60 v3.0 * @param aLandscapeOrientation Orientation for which parent rect shoul be set. * @param aParentRect The parent rect of current orientation. */ void SetParentRect( TBool aLandscapeOrientation, TRect aParentRect); - + /** * Appends the edit mode template (backdrop icon) to the array of template children passed to the item drawer for drawing. - * + * * @since S60 v3.0 * @param aTemplateArray The template array to which the edit mode template is appended. * @param aSize The size of the item for which the edit mode template should be calculated. */ void AppendEditModeTemplateL( RArray< TTemplateChild >& aTemplateArray, TSize aSize ); - + /** * Adjusts the item size according to layout, LCT item size and orientation. - * + * * @since S60 v3.0 * @param aItemSize The LCT item size. * @param aLayoutSize The layout size to be used to calculate item size. * @param aLandscapeOrientation The orientation for which the template is loaded. */ void AdjustItemSize(TSize& aItemSize, TSize aLayoutSize, TBool aLandscapeOrientation ); - - /** - * Get the current zoom for displaying templates. - * - * @since S60 v3.0 - * @return The current zoom. - */ - TAknUiZoom Zoom( ); - + /** * Caches the layout size - * + * * @since S60 v3.0 * @param aLayoutSize The layout size to ba cached. * @param aTemplate The template for the cached layout size. * @param aLandscapeOrientation The orientation for which the template is loaded. - * @return The current zoom. */ void CacheLayoutSizeL( TSize aLayoutSize, const TDesC8& aTemplate, TBool aLandscapeOrientation ); - + /** * Adjusts icon's align to layout (left, center, right). - * + * * @since S60 v5.0 * @param aParentSize The LCT parent item size. * @param aTemplateChild Template data. @@ -545,51 +529,46 @@ * Widget type of template being loaded. */ TMmWidgetType iWidgetType; - + /** * Template type which is being loaded (LCT/custom). */ TMmTemplateType iMmTemplateType; - + /** * Template sizes map. */ RHashMap< HBufC8*, TSize> iTemplateSizesMap; - + /** * Item children template map. */ RHashMap< HBufC8*, RArray > iTemplateChildrenMap; - + /** * Move indicator rects map. */ RHashMap< HBufC8*, TRect> iMoveIndicatorRectsMap; - + /** * Parent bounding rect. */ TRect iParentRectPortrait; - + /** * Parent bounding rect. */ TRect iParentRectLandscape; - + /** * Scrollbar is visible. */ TBool iIsScrollbarVisible; - + /** * Scrollbar width. */ TInt iScrollbarWidth; - - /** - * Zoom type. - */ - TAknUiZoom iZoom; }; #endif // MMTEMPLATELIBRARY_H