AknLayoutUtils Class Reference

API published in: S60 1st Ed

Link against: avkon.lib eikcore.lib

Capability Information

Required Capabilities

None


#include <aknutils.h>

Detailed Description

Utility classes to build layout based on European LAF from resource files.

(can be used by applications)

Methods in this class are designed to be called from your control's SizeChanged() method!

This class knows the specification's coordinate data format and ensures that different types of controls are positioned and setup correctly according to European LAF.

This class helps you with positioning labels, controls, rects and other things to according to LAF specification. (It is NOT trivial to get it correct and this adjusts easily to changes in the LAF specification - if you're not using this, remember to read the whole LAF specification - especially the beginning and the end with color and especially how text margins and widths interact!!)

(idea of this class is that when specification of one component changes, only resource file needs to be changed and when you get new product with new specification format, only this module needs to be changed and resources rewritten from the specification. And when component's specification changes, only the component need to be changed (usually only change is what components are inside it and how it calls this module.).. => all controls have common format that decides its layout!

Parent rectangles are always coordinates of LAF specification's parent rectangle in the screen.

To use this, call one of the methods in your SizeChanged() and then you'll need to make sure you draw the area between controls using ClearBetweenRects() call from egul library. (CCoeControl::Rect() helps with that...)

A Tip: You do not want to use any dynamic calculation of layouts! It is almost always an error to do so! => Do not allow layouts that have not been specified!

(If LAF spec has many numbers and you need to dynamically choose between them, then keep the numbers in code as function-local using SAknLayoutText/SAknLayoutRect/... -structs..)

You'll want to use TAknLayoutRect and TAknLayoutText too to build layout for your custom controls.


Public Types

typedef SAknLayoutTextMultiline  SAknLayoutLabel
typedef SAknLayoutTextMultiline  SAknLayoutEdwin
typedef SAknLayoutText  SAknLayoutMfne
typedef SAknLayoutText  SAknLayoutSecEd
typedef SAknLayoutRect  SAknLayoutControl
typedef SAknLayoutRect  SAknLayoutImage
enum   TAknLayoutMetrics {
  EScreen, EApplicationWindow, EStatusPane, EMainPane,
  EControlPane, ESignalPane, EContextPane, ETitlePane,
  EBatteryPane, EUniversalIndicatorPane, ENaviPane, EFindPane,
  EWallpaperPane, EIndicatorPane, EAColunm, EBColunm,
  ECColunm, EDColunm, EStatusPaneSecondary, EControlPaneSecondary,
  EStaconTop, EStaconBottom, EStatusPaneBottom = EStatusPaneSecondary, EControlPaneBottom = EControlPaneSecondary,
  EControlPaneTop = EControlPane, EStatusPaneTop = EStatusPane
}
  Layout Metrics. More...
enum   TAknCbaLocation { EAknCbaLocationBottom, EAknCbaLocationRight, EAknCbaLocationLeft }
enum   TAknMainPaneState { EAknMainPaneForTinyStatusPane = 0x0001 }
  Flags for main_pane status. More...

Static Public Member Functions

static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, TInt aResourceId, const CFont *aCustomFont=0)
  Deprecated! Do not use!
static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, TResourceReader &aReader, const CFont *aCustomFont=0)
  Deprecated! Do not use!
static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, const SAknLayoutLabel &aLayout, const CFont *aCustomFont=0)
  Layouts a label via a structure of layout parameters.
static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, const TAknMultiLineTextLayout &aLayout, const CFont *aCustomFont=0)
  Layouts a label via a layout compiler output.
static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, const TAknTextLineLayout &aLayout, const CFont *aCustomFont=0)
  Layouts a label via a layout compiler output.
static IMPORT_C void  LayoutLabel (CEikLabel *aLabel, const TRect &aLabelParent, TInt font, TInt C, TInt l, TInt r, TInt B, TInt W, TInt J, TInt NextLineB=0, const CFont *aCustomFont=0)
  Layouts a label via parameters from the specification.
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, TInt aResourceId, TInt aNumberOfLines=0, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
  Deprecated! Do not use!
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, TResourceReader &aReader, TInt aNumberOfLines=0, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
  Deprecated! Do not use!
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const SAknLayoutEdwin &aLayout, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
  Layouts an editor via a structure of layout parameters.
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const TAknMultiLineTextLayout &aLayout, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
  Layouts an editor via a structure of layout parameters.
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const TAknMultiLineTextLayout &aLayout, TAknsQsnTextColorsIndex aOverrideColor, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const TAknTextLineLayout &aLayout, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const TAknTextLineLayout &aLayout, TAknsQsnTextColorsIndex aOverrideColor, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, const TAknTextLineLayout &aLayout, TInt aNumberOfLinesToShowOverRide, TInt aBaselineSeparationOverRide, TAknsQsnTextColorsIndex aOverrideColor, TInt &aNumberOfVisibleLines)
  Routine to perform standard layout of a CEikEdwin editor.
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, TInt font, TInt C, TInt l, TInt r, TInt B, TInt W, TInt J, TInt aNumberOfLinesShown, TInt aNextLineBaseline, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
  Layouts an editor via parameters from the specification.
static IMPORT_C void  LayoutEdwin (CEikEdwin *aEdwin, const TRect &aEdwinParent, TInt font, TInt C, TInt l, TInt r, TInt B, TInt W, TInt J, TInt aNumberOfLinesShown, TInt aNextLineBaseline, TAknsQsnTextColorsIndex aOverrideColor, const CFont *aCustomFont=0, TBool aMinimizeEdwinView=EFalse)
static IMPORT_C TRect  MinimizedEdwinRect (const CEikEdwin *aEdwin)
  Use this, if you give aMinimizeEdwinView to LayoutEdwin as true.
static IMPORT_C void  LayoutMfne (CEikMfne *aMfne, const TRect &aMfneParent, TInt aResourceId)
  Deprecated! Do not use!
static IMPORT_C void  LayoutMfne (CEikMfne *aMfne, const TRect &aMfneParent, TResourceReader &aReader)
  Deprecated! Do not use!
static IMPORT_C void  LayoutMfne (CEikMfne *aMfne, const TRect &aMfneParent, const SAknLayoutMfne &aLayout)
static IMPORT_C void  LayoutMfne (CEikMfne *aMfne, const TRect &aMfneParent, const TAknTextLineLayout &aLayout)
static IMPORT_C void  LayoutMfne (CEikMfne *aMfne, const TRect &aMfneParent, TInt font, TInt C, TInt l, TInt r, TInt B, TInt W, TInt J)
static IMPORT_C void  LayoutControl (CCoeControl *aControl, const TRect &aControlParent, TInt aResourceId)
  Deprecated! Do not use!
static IMPORT_C void  LayoutControl (CCoeControl *aControl, const TRect &aControlParent, TResourceReader &aReader)
  Deprecated! Do not use!
static IMPORT_C void  LayoutControl (CCoeControl *aControl, const TRect &aControlParent, const SAknLayoutControl &aLayout)
static IMPORT_C void  LayoutControl (CCoeControl *aControl, const TRect &aControlParent, const TAknWindowLineLayout &aLayout)
static IMPORT_C void  LayoutControl (CCoeControl *aControl, const TRect &aControlParent, TInt, TInt l, TInt t, TInt r, TInt b, TInt W, TInt H)
static IMPORT_C void  LayoutImage (CEikImage *aImage, const TRect &aParent, TInt aResourceId)
  Deprecated! Do not use!
static IMPORT_C void  LayoutImage (CEikImage *aImage, const TRect &aParent, TResourceReader &aReader)
  Deprecated! Do not use!
static IMPORT_C void  LayoutImage (CEikImage *aImage, const TRect &aParent, const SAknLayoutControl &aLayout)
static IMPORT_C void  LayoutImage (CEikImage *aImage, const TRect &aParent, const TAknWindowLineLayout &aLayout)
static IMPORT_C void  LayoutImage (CEikImage *aImage, const TRect &aParent, TInt C, TInt l, TInt t, TInt r, TInt b, TInt W, TInt H)
static IMPORT_C void  LayoutSecretEditor (CEikSecretEditor *aSecEd, const TRect &aParent, const SAknLayoutText &aLayout)
  Sets CEikSecretEditor's position, colors and fonts based on LAF specification.
static IMPORT_C void  LayoutSecretEditor (CEikSecretEditor *aSecEd, const TRect &aParent, const TAknTextLineLayout &aLayout)
static IMPORT_C TRect  TextRectFromCoords (const TRect &aParent, const CFont *aFont, TInt l, TInt r, TInt B, TInt W, TInt LB=0)
  Different conversions Fonts: ELatinPlain12, ELatinBold12, ELatinBold13, ELatinBold17, ELatinBold19, ENumberPlain5, EClockBold30, ELatinClock14, EFontCustom EAknLogicalFontPrimaryFont, EAknLogicalFontSecondaryFont, EAknLogicalFontTitleFont, Alignments: ELayoutAlignNone, ELayoutAlignCenter, ELayoutAlignLeft, ELayoutAlignRight, ELayoutAlignBidi with these.
static IMPORT_C TRect  RectFromCoords (const TRect &aParent, TInt l, TInt t, TInt r, TInt b, TInt W, TInt H)
static IMPORT_C const CFont *  FontFromId (TInt aFontId, const CFont *aCustomFont=0)
  Method to return a useable system font reference from a S60 font enumeration from among the supported list.
static IMPORT_C const CAknLayoutFont LayoutFontFromId (TInt aId, const CAknLayoutFont *aCustomFont=0)
  Method to return a system font reference from a S60 font id.
static IMPORT_C CAknLayoutFont CreateLayoutFontFromSpecificationL (const TAknFontSpecification &aSpec)
  Return a fully constructed CAknLayoutFont object based upon the specification passed in.
static IMPORT_C CAknLayoutFont CreateLayoutFontFromSpecificationL (const TTypeface &aTypeface, const TAknFontSpecification &aSpec)
  Return a fully constructed CAknLayoutFont object based upon the typeface and specification passed in.
static IMPORT_C const CFont *  FontFromName (const TDesC &aName)
  Deprecated! Do not use!
static IMPORT_C CGraphicsContext::TTextAlign  TextAlignFromId (TInt aId)
static IMPORT_C TGulAlignment  GulAlignFromId (TInt aId)
static IMPORT_C TInt  CursorHeightFromFont (const TFontSpec &aFont)
static IMPORT_C TInt  CursorWidthFromFont (const TFontSpec &aFont)
static IMPORT_C TInt  CursorAscentFromFont (const TFontSpec &aFont)
static IMPORT_C void  CursorExtensionsFromFont (const TFontSpec &, TInt &aFirstExtension, TInt &aSecondExtension)
static IMPORT_C TInt  HighlightLeftPixelsFromFont (const TFontSpec &aFont)
static IMPORT_C TInt  HighlightRightPixelsFromFont (const TFontSpec &aFont)
static void  HighlightExtensionsFromFont (const TInt fontid, TInt &aLeft, TInt &aRight, TInt &aTop, TInt &aBottom)
static const CAknLayoutFont MatchFontFromSystemFontArray (const TFontSpec &aSpec, MGraphicsDeviceMap *aMap)
  Access the system font array to see if there is a font that matches the font specification presented in Twips.
static IMPORT_C TBool  LayoutMirrored ()
static IMPORT_C EVariantFlag  Variant ()
static IMPORT_C ESubVariantFlag  SubVariant ()
static IMPORT_C void  OverrideControlColorL (CCoeControl &aControl, TLogicalColor aLogicalColor, TRgb aColor)
static IMPORT_C CEikScrollBarFrame::TScrollBarType  DefaultScrollBarType (CAknAppUiBase *aApplication)
static IMPORT_C void  LayoutVerticalScrollBar (CEikScrollBarFrame *aScrollBarFrame, const TRect &aControlParent, const TAknWindowLineLayout &aLayout)
static IMPORT_C void  LayoutHorizontalScrollBar (CEikScrollBarFrame *aScrollBarFrame, const TRect &aControlParent, const TAknWindowLineLayout &aLayout)
static IMPORT_C TBool  LayoutMetricsRect (TAknLayoutMetrics aParam, TRect &aRect)
  Fills given TRect with rectangle for given layout component.
static IMPORT_C TBool  LayoutMetricsSize (TAknLayoutMetrics aParam, TSize &aSize)
  This method returns size of rectangle for given layout component.
static IMPORT_C TBool  LayoutMetricsPosition (TAknLayoutMetrics aParan, TPoint &aPos)
  This method returns position of top left corner for given layout component.
static TInt  CorrectBaseline (TInt aParentHeight, TInt aBaseline, TInt aFontId)
  This method returns a new value for a baseline, based upon a value for bottom and a value for height.
static void  CorrectFontId (TRect aParent, TInt at, TInt aH, TInt ab, TInt &aFontId)
  This method updates fontid if it has ELayoutEmpty or parent relative values.
static IMPORT_C TBool  ScalableLayoutInterfaceAvailable ()
  This method tells if the scalable layout interface is available.
static IMPORT_C TAknCbaLocation  CbaLocation ()
  This method tells location of softkeys (CBA) field in current running application.
static TRect  HighlightBasedRect (const TRect &aHighlightRect, CCoeControl *aControl)
  Used by pop-ups to align themselves around the given highlighted area.
static IMPORT_C TAknMainPaneState  MainPaneState ()
static IMPORT_C TBool  PenEnabled ()
  This method can be used to check whether pen support is enabled.
static IMPORT_C TBool  MSKEnabled ()
  This method can be used to check whether MSK support is enabled.
static IMPORT_C void  GetEdwinVerticalPositionAndHeightFromLines (TInt aParentHeight, const TAknTextLineLayout &aLayout, TInt aBaselineSeparationOverRide, TInt aNumberOfLinesToShowOverRide, TInt &aEdwinVerticalPositionRelativeToParent, TInt &aEdwinHeight)
  Utility method to be used along side LayoutEdwin methods that take number of lines or baseline separation overrides.
static IMPORT_C TInt  EdwinLinesWithinHeight (const TAknTextLineLayout &aLayout, TInt aBaselineSeparationOverride, TInt aMaxHeight, TInt &aUsedHeight)
  Utility routine to give the number of text lines that will completely fit, including room for highlights, within the given height, when the passed in layout is being used.

Data Structures

struct   SAknLayoutRect
struct   SAknLayoutText
struct   SAknLayoutTextMultiline

Member Typedef Documentation

typedef SAknLayoutRect AknLayoutUtils::SAknLayoutControl
 
typedef SAknLayoutTextMultiline AknLayoutUtils::SAknLayoutEdwin
 
typedef SAknLayoutRect AknLayoutUtils::SAknLayoutImage
 
typedef SAknLayoutTextMultiline AknLayoutUtils::SAknLayoutLabel
 
typedef SAknLayoutText AknLayoutUtils::SAknLayoutMfne
 
typedef SAknLayoutText AknLayoutUtils::SAknLayoutSecEd
 

Member Enumeration Documentation

enum AknLayoutUtils::TAknCbaLocation
 
Enumerator:
EAknCbaLocationBottom 
EAknCbaLocationRight 
EAknCbaLocationLeft 
enum AknLayoutUtils::TAknLayoutMetrics
 

Layout Metrics.

Enumerator:
EScreen  Screen.
EApplicationWindow  Window that fills the entire screen.
EStatusPane  Indicates common components for most of the applications.
EMainPane  The application main pane is used in all the applications.
EControlPane  Control pane.
ESignalPane  The signal pane is used to indicate signal strength.
EContextPane  The context pane is used to indicate an active application.
ETitlePane  Used to indicate the subject or the name of the main pane content.
EBatteryPane  The battery pane is used to indicate battery strength.
EUniversalIndicatorPane  The universal indicator pane is used to indicate items that require the user's attention while browsing applications.
ENaviPane  The navi pane is used to indicate navigation within an application, to provide context sensitive information to the user while entering or editing data, or to show additional information.
EFindPane  A fixed find pane is used with lists instead of the find pop-up window.
EWallpaperPane  Wallpaper pane.
EIndicatorPane  The universal indicator pane is used to indicate items that require the user's attention while browsing applications.
EAColunm  Used generally to display small sized graphics or heading texts.
EBColunm  Used generally to display large sized icons or heading texts.
ECColunm  Used generally to display data entered by the user.

Overlaps with the D column.

EDColunm  Used generally to display additional icons.

Overlaps with the C column.

EStatusPaneSecondary 
Deprecated:
, do not use
EControlPaneSecondary  deprecated, do not use
EStaconTop  Top part of status and control panes in landscape layout.
EStaconBottom  Bottom part of status and control panes in landscape layout.
EStatusPaneBottom  Bottom part of status pane in landscape layout.
EControlPaneBottom  Bottom part of control pane in landscape layout.
EControlPaneTop  Top part of control pane in landscape layout.
EStatusPaneTop  Top part of status pane in landscape layout.
enum AknLayoutUtils::TAknMainPaneState
 

Flags for main_pane status.

Enumerator:
EAknMainPaneForTinyStatusPane 

Member Function Documentation

static IMPORT_C TAknCbaLocation AknLayoutUtils::CbaLocation  )  [static]
 

This method tells location of softkeys (CBA) field in current running application.

Possible location of softkeys are bottom (portrait and landscape), left and right (only landscape).

Returns:
TAknCbaLocation
static TInt AknLayoutUtils::CorrectBaseline TInt  aParentHeight,
TInt  aBaseline,
TInt  aFontId
[static]
 

This method returns a new value for a baseline, based upon a value for bottom and a value for height.

For legacy layout data, the baseline will be correct, and this method will detect that it is a legacy font id and just return aBottom. However, for scalable layout data, the bottom value will be hidden inside the old baseline variable, so call this method passing in 'iB', NOT passing in 'ib' ... e.g.: (the following line is an example, so is ok to have commented out code) TInt newbaseline = CorrectBaseline(myLayoutLine.iB, myLayoutLine.iFont);

Parameters:
aBottom  Baseline or Bottom value of text pane (found in TAknTextLineLayout.iB)
aFontId  FontId of text pane (for scalable layouts, this will encode the height)
Returns:
new Baseline value
static void AknLayoutUtils::CorrectFontId TRect  aParent,
TInt  at,
TInt  aH,
TInt  ab,
TInt &  aFontId
[static]
 

This method updates fontid if it has ELayoutEmpty or parent relative values.

static IMPORT_C CAknLayoutFont* AknLayoutUtils::CreateLayoutFontFromSpecificationL const TTypeface &  aTypeface,
const TAknFontSpecification aSpec
[static]
 

Return a fully constructed CAknLayoutFont object based upon the typeface and specification passed in.

The TTypeface object contains a typeface name that is used as the primary key to select a font. The S60 font specifiation object is also used, but any value of TAknFontCategory passed in is reset to EAknFontCategoryUndefined, and is not used to select the font.

The font object is returned as non-const, since it is owned and will eventually be deleted by the client.

Parameters:
aTypeface  Symbian Typface object
aSpec  S60 font specification object
Returns:
pointer to a CAknLayoutFont object, owned by the caller
static IMPORT_C CAknLayoutFont* AknLayoutUtils::CreateLayoutFontFromSpecificationL const TAknFontSpecification aSpec  )  [static]
 

Return a fully constructed CAknLayoutFont object based upon the specification passed in.

The Avkon font specifiation object uses TAknFontCategory to determine the font.

The font object is returned as non-const, since it is owned and will eventually be deleted by the client.

Parameters:
aSpec  S60 font specification object
Returns:
pointer to a CAknLayoutFont object, owned by the caller
static IMPORT_C TInt AknLayoutUtils::CursorAscentFromFont const TFontSpec &  aFont  )  [static]
 
static IMPORT_C void AknLayoutUtils::CursorExtensionsFromFont const TFontSpec &  ,
TInt &  aFirstExtension,
TInt &  aSecondExtension
[static]
 
static IMPORT_C TInt AknLayoutUtils::CursorHeightFromFont const TFontSpec &  aFont  )  [static]
 
static IMPORT_C TInt AknLayoutUtils::CursorWidthFromFont const TFontSpec &  aFont  )  [static]
 
static IMPORT_C CEikScrollBarFrame::TScrollBarType AknLayoutUtils::DefaultScrollBarType CAknAppUiBase aApplication  )  [static]
 
static IMPORT_C TInt AknLayoutUtils::EdwinLinesWithinHeight const TAknTextLineLayout &  aLayout,
TInt  aBaselineSeparationOverride,
TInt  aMaxHeight,
TInt &  aUsedHeight
[static]
 

Utility routine to give the number of text lines that will completely fit, including room for highlights, within the given height, when the passed in layout is being used.

Note that the NumberOfLinesShown() value from the TAknTextLineLayout object is not taken into consideration. This routine ignores it, and returns number of lines based upon the font metrics, hightlight specification, and the passed in maximum height.

Note that this API does not cause a layout of the editor.

Parameters:
aLayout  S60 layout object for the text to be laid out in the editor
aBaselineSeparationOverride  vertical separation of baselines overriding aLayout, if not KAknLayoutUtilsDoNotOverride
aMaxHeight  Input maximum height to use for the editor.
aUsedHeight  Returns the number of pixels required for the lines that fit
Returns:
The number of lines which completely fit
static IMPORT_C const CFont* AknLayoutUtils::FontFromId TInt  aFontId,
const CFont *  aCustomFont = 0
[static]
 

Method to return a useable system font reference from a S60 font enumeration from among the supported list.

This method should only be used if application code needs to render its own graphics. That is, it is not using S60 controls and furthermore not using the recommended methods AknLayoutUtils::LayoutEdwin(), AknLayoutUtils::LayoutLabel() or AknLayoutUtils::LayoutSecretEditor().

Fonts returned by this are not recommended to be stored in clients' member data, but should be accessed when they are required for use.

Applications that are written to run with their layout dynamically adapting to different screen sizes should use only the values found in the S60 logical font enumeration, TAknLogicalFontId.

Parameters:
aFontId  Input S60 font id.
aCustomFont  Font to return if aFontId is given as EFontCustom
Returns:
const pointer to a system font, or aCustomFont
static IMPORT_C const CFont* AknLayoutUtils::FontFromName const TDesC &  aName  )  [static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::GetEdwinVerticalPositionAndHeightFromLines TInt  aParentHeight,
const TAknTextLineLayout &  aLayout,
TInt  aBaselineSeparationOverRide,
TInt  aNumberOfLinesToShowOverRide,
TInt &  aEdwinVerticalPositionRelativeToParent,
TInt &  aEdwinHeight
[static]
 

Utility method to be used along side LayoutEdwin methods that take number of lines or baseline separation overrides.

This routine returns the edwin height in pixels required to fit exactly the passed-in layout, or the layout with overridden baseline separation and/or number of lines.

The vertical position of the editor is also returned. Note that the correct height of the parent layout item is needed in order for this to be calculated properly.

Note that this API does not cause a layout of the editor.

Parameters:
aParentHeight  Height of the parent layout item
aLayout  S60 layout object for the text to be laid out in the editor
aBaselineSeparationOverride  vertical separation of baselines overriding aLayout, if not KAknLayoutUtilsDoNotOverride aLayout, if not KAknLayoutUtilsDoNotOverride
aNumberOfLinesToShowOverride  number of lines overriding aLayout, if not KAknLayoutUtilsDoNotOverride
aEdwinVerticalPositionRelativeToParent  Returns the vertical postion of the editor relative to its parent when laid out.
aEdwinHeight  The height required in pixels to fit the required number of laid out lines plus highlights.
static IMPORT_C TGulAlignment AknLayoutUtils::GulAlignFromId TInt  aId  )  [static]
 
static TRect AknLayoutUtils::HighlightBasedRect const TRect &  aHighlightRect,
CCoeControl *  aControl
[static]
 

Used by pop-ups to align themselves around the given highlighted area.

Parameters:
aHighlightRect  Highlighted area.
aControl  Control whose position should be calculated,
Returns:
TRect Size and position of pop-up.
static void AknLayoutUtils::HighlightExtensionsFromFont const TInt  fontid,
TInt &  aLeft,
TInt &  aRight,
TInt &  aTop,
TInt &  aBottom
[static]
 
static IMPORT_C TInt AknLayoutUtils::HighlightLeftPixelsFromFont const TFontSpec &  aFont  )  [static]
 
static IMPORT_C TInt AknLayoutUtils::HighlightRightPixelsFromFont const TFontSpec &  aFont  )  [static]
 
static IMPORT_C void AknLayoutUtils::LayoutControl CCoeControl *  aControl,
const TRect &  aControlParent,
TInt  ,
TInt  l,
TInt  t,
TInt  r,
TInt  b,
TInt  W,
TInt  H
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutControl CCoeControl *  aControl,
const TRect &  aControlParent,
const TAknWindowLineLayout &  aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutControl CCoeControl *  aControl,
const TRect &  aControlParent,
const SAknLayoutControl aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutControl CCoeControl *  aControl,
const TRect &  aControlParent,
TResourceReader &  aReader
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutControl CCoeControl *  aControl,
const TRect &  aControlParent,
TInt  aResourceId
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
TInt  font,
TInt  C,
TInt  l,
TInt  r,
TInt  B,
TInt  W,
TInt  J,
TInt  aNumberOfLinesShown,
TInt  aNextLineBaseline,
TAknsQsnTextColorsIndex  aOverrideColor,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
TInt  font,
TInt  C,
TInt  l,
TInt  r,
TInt  B,
TInt  W,
TInt  J,
TInt  aNumberOfLinesShown,
TInt  aNextLineBaseline,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 

Layouts an editor via parameters from the specification.

Parameters:
aLayout  a define from aknlayout.lag file
font  font id, ELatinPlain12, ELatinBold12, ELatinBold13, ELatinBold17, ELatinBold19 etc..
C  colour index, 0..255
l  left margin
r  right margin
B  Baseline from top of the parent rectangle
W  text width in pixels
J  justification. ELayoutAlignNone; ELayoutAlignCenter; ELayoutAlignLeft; ELayoutAlignRight; ELayoutAlignBidi
aNumberOfLinesShown  number of lines visible for the editor
NextLineB  baseline of 2nd line for multi-line labels/editors
aMinimizeEdwinView  whether to use minimum size. You need to use MinimizedEdwinRect() if you use ETrue here.
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const TAknTextLineLayout &  aLayout,
TInt  aNumberOfLinesToShowOverRide,
TInt  aBaselineSeparationOverRide,
TAknsQsnTextColorsIndex  aOverrideColor,
TInt &  aNumberOfVisibleLines
[static]
 

Routine to perform standard layout of a CEikEdwin editor.

Two elements from the S60 layout data are required: The rectangle of the containing layout element, and the TAknTextLineLayout object created for the contained text pane element.

Override parameters can be supplied for a different number of lines, a different baseline separation, or substituted skin color. Various "Do Not Override" values are to be passed if the values passed in aLayout are to be used. Refer to the parameters' documentation.

The lower extent of the editor to be laid out (whether driven by the NumberOfLinesToShow() feature of the TAknTextLineLayout object, or overridden by aNumberOfLinesToShowOverRide) will not extend below the lower limit of the rectangle aEdwinParent. Thus the number of lines formatted is limited, and is available as an output parameter.

The height of the editor is also restricted by any value previously set in CEikEdwin::SetMaximumHeightInLines().

Parameters:
aEdwin  pointer to the editor to be laid out
aEdwinParent  rectangle of the containing layout element
aLayout  object representing the layout of the text pane implemented by this editor
aNumberOfLinesToShowOverride  number of lines overriding aLayout, if not KAknLayoutUtilsDoNotOverride
aBaselineSeparationOverride  vertical separation of baselines overriding aLayout, if not KAknLayoutUtilsDoNotOverride
aOverrideColor  Avkon Skins color index to override with, if not (TAknsQsnTextColorsIndex)KAknLayoutUtilsDoNotOverride
aNumberOfVisibleLines  Number of lines of editor actually laid out.
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const TAknTextLineLayout &  aLayout,
TAknsQsnTextColorsIndex  aOverrideColor,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const TAknTextLineLayout &  aLayout,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const TAknMultiLineTextLayout &  aLayout,
TAknsQsnTextColorsIndex  aOverrideColor,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const TAknMultiLineTextLayout &  aLayout,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 

Layouts an editor via a structure of layout parameters.

Parameters:
aLayout  the structure
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
const SAknLayoutEdwin aLayout,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 

Layouts an editor via a structure of layout parameters.

Parameters:
aLayout  the structure
static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
TResourceReader &  aReader,
TInt  aNumberOfLines = 0,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutEdwin CEikEdwin aEdwin,
const TRect &  aEdwinParent,
TInt  aResourceId,
TInt  aNumberOfLines = 0,
const CFont *  aCustomFont = 0,
TBool  aMinimizeEdwinView = EFalse
[static]
 

Deprecated! Do not use!

static IMPORT_C const CAknLayoutFont* AknLayoutUtils::LayoutFontFromId TInt  aId,
const CAknLayoutFont aCustomFont = 0
[static]
 

Method to return a system font reference from a S60 font id.

This will always conform to type CAknLayoutFont

This method should only be used if application code needs to render its own graphics. That is, it is not using S60 controls and furthermore not using the recommended methods AknLayoutUtils::LayoutEdwin(), AknLayoutUtils::LayoutLabel() or AknLayoutUtils::LayoutSecretEditor().

Fonts returned by this are not recommended to be stored in clients' member data, but should be accessed when they are required for use.

Applications that are written to run with their layout dynamically adapting to different screen sizes should use only the values found in the S60 logical font enumeration, TAknLogicalFontId.

Parameters:
aFontId  Input S60 font id.
aCustomFont  Font to return if aFontId is given as EFontCustom
Returns:
const pointer to a system font, or aCustomFont
static IMPORT_C void AknLayoutUtils::LayoutHorizontalScrollBar CEikScrollBarFrame aScrollBarFrame,
const TRect &  aControlParent,
const TAknWindowLineLayout &  aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutImage CEikImage aImage,
const TRect &  aParent,
TInt  C,
TInt  l,
TInt  t,
TInt  r,
TInt  b,
TInt  W,
TInt  H
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutImage CEikImage aImage,
const TRect &  aParent,
const TAknWindowLineLayout &  aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutImage CEikImage aImage,
const TRect &  aParent,
const SAknLayoutControl aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutImage CEikImage aImage,
const TRect &  aParent,
TResourceReader &  aReader
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutImage CEikImage aImage,
const TRect &  aParent,
TInt  aResourceId
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
TInt  font,
TInt  C,
TInt  l,
TInt  r,
TInt  B,
TInt  W,
TInt  J,
TInt  NextLineB = 0,
const CFont *  aCustomFont = 0
[static]
 

Layouts a label via parameters from the specification.

Parameters:
aLayout  a define from aknlayout.lag file
font  font id, ELatinPlain12, ELatinBold12, ELatinBold13, ELatinBold17, ELatinBold19 etc..
C  colour index, 0..255
l  left margin
r  right margin
B  Baseline from top of the parent rectangle
W  text width in pixels
J  justification. ELayoutAlignNone; ELayoutAlignCenter; ELayoutAlignLeft; ELayoutAlignRight; ELayoutAlignBidi
NextLineB  baseline of 2nd line for multi-line labels/editors
aCustomFont  a font used, if resource file uses EFontCustom
static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
const TAknTextLineLayout &  aLayout,
const CFont *  aCustomFont = 0
[static]
 

Layouts a label via a layout compiler output.

Parameters:
aLayout  a define from aknlayout.lag file
static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
const TAknMultiLineTextLayout &  aLayout,
const CFont *  aCustomFont = 0
[static]
 

Layouts a label via a layout compiler output.

Parameters:
aLayout  a define from aknlayout.lag file
static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
const SAknLayoutLabel aLayout,
const CFont *  aCustomFont = 0
[static]
 

Layouts a label via a structure of layout parameters.

Parameters:
aLayout  the structure
static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
TResourceReader &  aReader,
const CFont *  aCustomFont = 0
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutLabel CEikLabel aLabel,
const TRect &  aLabelParent,
TInt  aResourceId,
const CFont *  aCustomFont = 0
[static]
 

Deprecated! Do not use!

static IMPORT_C TBool AknLayoutUtils::LayoutMetricsPosition TAknLayoutMetrics  aParan,
TPoint &  aPos
[static]
 

This method returns position of top left corner for given layout component.

Returns EFalse for status pane descendants if requested layout component is not available in current layout. For other components returns always ETrue (returned position is from layout definition).

Parameters:
aParam  Layout component to be queried.
aPos  Resulting position.
ETrue  If requested value was available. EFalse Otherwise.
static IMPORT_C TBool AknLayoutUtils::LayoutMetricsRect TAknLayoutMetrics  aParam,
TRect &  aRect
[static]
 

Fills given TRect with rectangle for given layout component.

Returns EFalse for status pane descendants if requested layout component is not available in current layout. For other components returns always ETrue (returned rectangle is from layout definition).

Parameters:
aParam  Layout component to be queried.
aRect  Resulting rectangle.
ETrue  If requested value was available. EFalse Otherwise.
static IMPORT_C TBool AknLayoutUtils::LayoutMetricsSize TAknLayoutMetrics  aParam,
TSize &  aSize
[static]
 

This method returns size of rectangle for given layout component.

Returns EFalse for status pane descendants if requested layout component is not available in current layout. For other components returns always ETrue (returned size is from layout definition).

Parameters:
aParam  Layout component to be queried.
aSize  Resulting size.
ETrue  If requested value was available. EFalse Otherwise.
static IMPORT_C void AknLayoutUtils::LayoutMfne CEikMfne aMfne,
const TRect &  aMfneParent,
TInt  font,
TInt  C,
TInt  l,
TInt  r,
TInt  B,
TInt  W,
TInt  J
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutMfne CEikMfne aMfne,
const TRect &  aMfneParent,
const TAknTextLineLayout &  aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutMfne CEikMfne aMfne,
const TRect &  aMfneParent,
const SAknLayoutMfne aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutMfne CEikMfne aMfne,
const TRect &  aMfneParent,
TResourceReader &  aReader
[static]
 

Deprecated! Do not use!

static IMPORT_C void AknLayoutUtils::LayoutMfne CEikMfne aMfne,
const TRect &  aMfneParent,
TInt  aResourceId
[static]
 

Deprecated! Do not use!

static IMPORT_C TBool AknLayoutUtils::LayoutMirrored  )  [static]
 
static IMPORT_C void AknLayoutUtils::LayoutSecretEditor CEikSecretEditor aSecEd,
const TRect &  aParent,
const TAknTextLineLayout &  aLayout
[static]
 
static IMPORT_C void AknLayoutUtils::LayoutSecretEditor CEikSecretEditor aSecEd,
const TRect &  aParent,
const SAknLayoutText aLayout
[static]
 

Sets CEikSecretEditor's position, colors and fonts based on LAF specification.

static IMPORT_C void AknLayoutUtils::LayoutVerticalScrollBar CEikScrollBarFrame aScrollBarFrame,
const TRect &  aControlParent,
const TAknWindowLineLayout &  aLayout
[static]
 
static IMPORT_C TAknMainPaneState AknLayoutUtils::MainPaneState  )  [static]
 
static const CAknLayoutFont* AknLayoutUtils::MatchFontFromSystemFontArray const TFontSpec &  aSpec,
MGraphicsDeviceMap *  aMap
[static]
 

Access the system font array to see if there is a font that matches the font specification presented in Twips.

Device map is also passed in case the system font array has fonts from different devices.

A null return value means that the system font array is not constructed yet, or does not contain a font that has the same TFontSpec or device map.

Parameters:
aSpec  Symbian font specification object to match
aMap  Device map to disambiguate fonts on different devices
Returns:
NULL if no match was found; otherwise a CAknLayoutFont pointer
static IMPORT_C TRect AknLayoutUtils::MinimizedEdwinRect const CEikEdwin aEdwin  )  [static]
 

Use this, if you give aMinimizeEdwinView to LayoutEdwin as true.

The edwin will not draw the whole rectangle allocated for the control.

static IMPORT_C TBool AknLayoutUtils::MSKEnabled  )  [static]
 

This method can be used to check whether MSK support is enabled.

Returns:
ETrue if MSK support is enabled, otherwise EFalse.
static IMPORT_C void AknLayoutUtils::OverrideControlColorL CCoeControl &  aControl,
TLogicalColor  aLogicalColor,
TRgb  aColor
[static]
 
static IMPORT_C TBool AknLayoutUtils::PenEnabled  )  [static]
 

This method can be used to check whether pen support is enabled.

Returns:
ETrue if pen support is enabled, otherwise EFalse.
static IMPORT_C TRect AknLayoutUtils::RectFromCoords const TRect &  aParent,
TInt  l,
TInt  t,
TInt  r,
TInt  b,
TInt  W,
TInt  H
[static]
 
static IMPORT_C TBool AknLayoutUtils::ScalableLayoutInterfaceAvailable  )  [static]
 

This method tells if the scalable layout interface is available.

static IMPORT_C ESubVariantFlag AknLayoutUtils::SubVariant  )  [static]
 
static IMPORT_C CGraphicsContext::TTextAlign AknLayoutUtils::TextAlignFromId TInt  aId  )  [static]
 
static IMPORT_C TRect AknLayoutUtils::TextRectFromCoords const TRect &  aParent,
const CFont *  aFont,
TInt  l,
TInt  r,
TInt  B,
TInt  W,
TInt  LB = 0
[static]
 

Different conversions Fonts: ELatinPlain12, ELatinBold12, ELatinBold13, ELatinBold17, ELatinBold19, ENumberPlain5, EClockBold30, ELatinClock14, EFontCustom EAknLogicalFontPrimaryFont, EAknLogicalFontSecondaryFont, EAknLogicalFontTitleFont, Alignments: ELayoutAlignNone, ELayoutAlignCenter, ELayoutAlignLeft, ELayoutAlignRight, ELayoutAlignBidi with these.

static IMPORT_C EVariantFlag AknLayoutUtils::Variant  )  [static]
 

The documentation for this class was generated from the following file:

Copyright © Nokia Corporation 2001-2008
Back to top