--- 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<TTemplateChild> > 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