TAknWindowComponentLayout Class Reference

class TAknWindowComponentLayout

A window component structure from scalable layout.

The data members of this class have the following invariants which must be preserved in any methods of this class.

il + iW + ir = parentRect.Width() it + iH + ib = parentRect.Height()

The data format of the data members are as follows: (AknLayoutUtils knows this) any of il,iW,ir, it,iH,ib may be one of the following 1) coordinate value 2) ELayoutEmpty 3) ELayoutP - value

Public Member Functions
TAknWindowComponentLayout()
TAknWindowComponentLayout(TAknWindowLineLayout)
IMPORT_C TAknWindowComponentLayoutAnim(TAknWindowComponentLayout, TAknWindowComponentLayout, const TRangeTriplet &)
IMPORT_C TAknWindowComponentLayoutCompose(TAknWindowComponentLayout, TAknWindowComponentLayout)
IMPORT_C TAknTextComponentLayoutComposeText(TAknWindowComponentLayout, TAknTextComponentLayout)
voidFormFieldHack(TAknWindowComponentLayout &)
IMPORT_C TAknWindowComponentLayoutIntersect(TAknWindowComponentLayout, TAknWindowComponentLayout)
IMPORT_C TAknLayoutScalableComponentTypeLayoutComponentType()
IMPORT_C TAknWindowLineLayoutLayoutLine()
IMPORT_C TAknWindowLineLayoutLayoutLineNoEmptys()
voidListGenPaneHack(TAknWindowComponentLayout &)
TAknWindowComponentLayout ListPaneHack(const TAknWindowComponentLayout &, const TAknWindowComponentLayout)
IMPORT_C TAknWindowComponentLayoutMinus(TAknWindowComponentLayout, TAknWindowComponentLayout)
IMPORT_C TAknWindowComponentLayoutMultiLineGrid(TAknWindowComponentLayout, TInt, TInt, TInt, TInt)
IMPORT_C TAknWindowComponentLayoutMultiLineX(TAknWindowComponentLayout, TInt, TInt)
IMPORT_C TAknWindowComponentLayoutMultiLineY(TAknWindowComponentLayout, TInt, TInt)
voidScrollIndicatorHack(const TAknWindowComponentLayout &, TAknWindowComponentLayout &, TAknWindowComponentLayout &, TInt)
IMPORT_C voidSetZeroSized()
IMPORT_C TAknWindowComponentLayoutSiblingAsChild(TAknWindowComponentLayout, TAknWindowComponentLayout)
IMPORT_C TAknWindowComponentLayoutSplit(TAknWindowComponentLayout, TInt)
IMPORT_C TAknWindowComponentLayoutoperator=(TAknWindowLineLayout)
Private Member Functions
IMPORT_C TInt16C()
TAknTextComponentLayout CombineAttrs(TAknWindowComponentLayout, const TAknTextComponentLayoutAttrs &)
TAknWindowComponentLayout ExtractWindow(TAknTextComponentLayout)
TTriplet FromRangeToTriplet(const TRangeTriplet &)
IMPORT_C TInt16H()
TAknWindowComponentLayout Multiply(TAknWindowComponentLayout, const TTriplet &)
TInt16 MultiplyValue(TInt16, TScaledInt, TScaledInt)
TAknWindowComponentLayout RemoveLayoutEmptys(TAknWindowComponentLayout)
IMPORT_C voidSetC(TInt16)
IMPORT_C voidSetH(TInt16)
IMPORT_C voidSetW(TInt16)
IMPORT_C voidSetb(TInt16)
IMPORT_C voidSetl(TInt16)
IMPORT_C voidSetr(TInt16)
IMPORT_C voidSett(TInt16)
IMPORT_C TInt16W()
IMPORT_C TInt16b()
IMPORT_C TInt16l()
IMPORT_C TInt16r()
IMPORT_C TInt16t()
Private Attributes
TInt16 iAttributeSetID
TInt16 iC
TInt16 iFirstChildID
TInt16 iH
TInt16 iNextSiblingID
TInt16 iParentID
TInt16 iParentVariety
TInt16 iReserved1
TInt16 iReserved2
TInt16 iReserved3
TInt16 iType
TInt16 iW
TInt16 ib
TInt16 il
TInt16 ir
TInt16 it

Constructor & Destructor Documentation

TAknWindowComponentLayout()

IMPORT_CTAknWindowComponentLayout()

contructor

TAknWindowComponentLayout(TAknWindowLineLayout)

IMPORT_CTAknWindowComponentLayout(TAknWindowLineLayoutaLine)

Parameters

TAknWindowLineLayout aLine

Member Functions Documentation

Anim(TAknWindowComponentLayout, TAknWindowComponentLayout, const TRangeTriplet &)

IMPORT_C TAknWindowComponentLayoutAnim(TAknWindowComponentLayoutaLine,
TAknWindowComponentLayoutaLine2,
const TRangeTriplet &aTriplet
)[static]

Parameters

TAknWindowComponentLayout aLine
TAknWindowComponentLayout aLine2
const TRangeTriplet & aTriplet

C()

IMPORT_C TInt16C()const [private]

CombineAttrs(TAknWindowComponentLayout, const TAknTextComponentLayoutAttrs &)

TAknTextComponentLayout CombineAttrs(TAknWindowComponentLayoutaLine1,
const TAknTextComponentLayoutAttrs &aAttrs
)[private, static]

Parameters

TAknWindowComponentLayout aLine1
const TAknTextComponentLayoutAttrs & aAttrs

Compose(TAknWindowComponentLayout, TAknWindowComponentLayout)

IMPORT_C TAknWindowComponentLayoutCompose(TAknWindowComponentLayoutaLine1,
TAknWindowComponentLayoutaLine2
)[static]

ComposeText(TAknWindowComponentLayout, TAknTextComponentLayout)

IMPORT_C TAknTextComponentLayoutComposeText(TAknWindowComponentLayoutaLine1,
TAknTextComponentLayoutaLine2
)[static]

ExtractWindow(TAknTextComponentLayout)

TAknWindowComponentLayout ExtractWindow(TAknTextComponentLayoutaText)[private, static]

Parameters

TAknTextComponentLayout aText

FormFieldHack(TAknWindowComponentLayout &)

voidFormFieldHack(TAknWindowComponentLayout &aLayout)[static, inline]

Parameters

TAknWindowComponentLayout & aLayout

FromRangeToTriplet(const TRangeTriplet &)

TTriplet FromRangeToTriplet(const TRangeTriplet &aRange)[private, static]

Parameters

const TRangeTriplet & aRange

H()

IMPORT_C TInt16H()const [private]

Intersect(TAknWindowComponentLayout, TAknWindowComponentLayout)

IMPORT_C TAknWindowComponentLayoutIntersect(TAknWindowComponentLayoutaLine,
TAknWindowComponentLayoutaLine2
)[static]

LayoutComponentType()

IMPORT_C TAknLayoutScalableComponentTypeLayoutComponentType()const

LayoutLine()

IMPORT_C TAknWindowLineLayoutLayoutLine()const

LayoutLineNoEmptys()

IMPORT_C TAknWindowLineLayoutLayoutLineNoEmptys()const

ListGenPaneHack(TAknWindowComponentLayout &)

voidListGenPaneHack(TAknWindowComponentLayout &aLayout)[static, inline]

Parameters

TAknWindowComponentLayout & aLayout

ListPaneHack(const TAknWindowComponentLayout &, const TAknWindowComponentLayout)

TAknWindowComponentLayout ListPaneHack(const TAknWindowComponentLayout &aLayout,
const TAknWindowComponentLayoutaListGenPane
)[static, inline]

Parameters

const TAknWindowComponentLayout & aLayout
const TAknWindowComponentLayout aListGenPane

Minus(TAknWindowComponentLayout, TAknWindowComponentLayout)

IMPORT_C TAknWindowComponentLayoutMinus(TAknWindowComponentLayoutaLine,
TAknWindowComponentLayoutaParentDiff
)[static]

subtract two layout lines relative to the same parent rectangle

Minus combines two layout lines in such way that a) the result is aLine with it's parent rectangle changed b) aLine and aParentDiff's parent rectangles becomes the same; and result's parent rectangle is calculated to be aParentDiff's child rectangle.

Parameters

TAknWindowComponentLayout aLinethe inner rect
TAknWindowComponentLayout aParentDiffthe difference between the parent and the inner rect

MultiLineGrid(TAknWindowComponentLayout, TInt, TInt, TInt, TInt)

IMPORT_C TAknWindowComponentLayoutMultiLineGrid(TAknWindowComponentLayoutaFirst,
TIntaColumnIndex,
TIntaRowIndex,
TIntaGapBetweenColumns,
TIntaGapBetweenRows
)[static]

This method calculates a grid item position in based on first cell.

Parameters

TAknWindowComponentLayout aFirst
TInt aColumnIndex
TInt aRowIndex
TInt aGapBetweenColumns
TInt aGapBetweenRows

MultiLineX(TAknWindowComponentLayout, TInt, TInt)

IMPORT_C TAknWindowComponentLayoutMultiLineX(TAknWindowComponentLayoutaFirst,
TIntaColumnIndex,
TIntaGapBetweenColumns
)[static]

This method calculates a grid item position in X-dimension based on first cell.

Parameters

TAknWindowComponentLayout aFirst
TInt aColumnIndex
TInt aGapBetweenColumns

MultiLineY(TAknWindowComponentLayout, TInt, TInt)

IMPORT_C TAknWindowComponentLayoutMultiLineY(TAknWindowComponentLayoutaFirst,
TIntaItemIndex,
TIntaGapBetweenItems
)[static]

This method calculates a list item position based on first item. This can be used to calculate either list item positions or grid cell Y-positions.

Parameters

TAknWindowComponentLayout aFirst
TInt aItemIndex
TInt aGapBetweenItems

Multiply(TAknWindowComponentLayout, const TTriplet &)

TAknWindowComponentLayout Multiply(TAknWindowComponentLayoutaLine1,
const TTriplet &aTriplet
)[private, static]

Parameters

TAknWindowComponentLayout aLine1
const TTriplet & aTriplet

MultiplyValue(TInt16, TScaledInt, TScaledInt)

TInt16 MultiplyValue(TInt16aValue,
TScaledIntaMultiplier,
TScaledIntaPMultiplier
)[private, static]

Parameters

TInt16 aValue
TScaledInt aMultiplier
TScaledInt aPMultiplier

RemoveLayoutEmptys(TAknWindowComponentLayout)

TAknWindowComponentLayout RemoveLayoutEmptys(TAknWindowComponentLayoutaLine1)[private, static]

Parameters

TAknWindowComponentLayout aLine1

ScrollIndicatorHack(const TAknWindowComponentLayout &, TAknWindowComponentLayout &, TAknWindowComponentLayout &, TInt)

voidScrollIndicatorHack(const TAknWindowComponentLayout &aWidthHeightLayout,
TAknWindowComponentLayout &aParent,
TAknWindowComponentLayout &aLayout,
TIntaDirection
)[static, inline]

Parameters

const TAknWindowComponentLayout & aWidthHeightLayout
TAknWindowComponentLayout & aParent
TAknWindowComponentLayout & aLayout
TInt aDirection

SetC(TInt16)

IMPORT_C voidSetC(TInt16aC)[private]

Parameters

TInt16 aC

SetH(TInt16)

IMPORT_C voidSetH(TInt16aH)[private]

Parameters

TInt16 aH

SetW(TInt16)

IMPORT_C voidSetW(TInt16aW)[private]

Parameters

TInt16 aW

SetZeroSized()

IMPORT_C voidSetZeroSized()

Makes the window zero-sized, positioned in the top left corner.

Setb(TInt16)

IMPORT_C voidSetb(TInt16ab)[private]

Parameters

TInt16 ab

Setl(TInt16)

IMPORT_C voidSetl(TInt16al)[private]

Parameters

TInt16 al

Setr(TInt16)

IMPORT_C voidSetr(TInt16ar)[private]

Parameters

TInt16 ar

Sett(TInt16)

IMPORT_C voidSett(TInt16at)[private]

Parameters

TInt16 at

SiblingAsChild(TAknWindowComponentLayout, TAknWindowComponentLayout)

IMPORT_C TAknWindowComponentLayoutSiblingAsChild(TAknWindowComponentLayoutaSiblingTreatedAsParent,
TAknWindowComponentLayoutaSiblingTreatedAsChild
)[static]

Treat two layout lines as if one is a child of the other. The two layouts must have the same parent. They must also have the same pattern of absolute, ElayoutEmptys and Parent relative measurements, both vertically and horizontally.

a layout representing aSiblingTreated as child, relative to aSiblingTreatedAsParent

Parameters

TAknWindowComponentLayout aSiblingTreatedAsParent
TAknWindowComponentLayout aSiblingTreatedAsChild

Split(TAknWindowComponentLayout, TInt)

IMPORT_C TAknWindowComponentLayoutSplit(TAknWindowComponentLayoutaLine,
TIntaValue
)[static]

This method splits parent rectangle to one of the 9 pieces based on aLine.

aValue is one of the numbers: 0 1 2 3 4 5 6 7 8 This is highly related to "frames" in skins. This allows us to generate a skin frame definition from a single TAknWindowComponentLayout.

Parameters

TAknWindowComponentLayout aLine
TInt aValue

W()

IMPORT_C TInt16W()const [private]

b()

IMPORT_C TInt16b()const [private]

l()

IMPORT_C TInt16l()const [private]

operator=(TAknWindowLineLayout)

IMPORT_C TAknWindowComponentLayoutoperator=(TAknWindowLineLayoutaLine)

Parameters

TAknWindowLineLayout aLine

r()

IMPORT_C TInt16r()const [private]

t()

IMPORT_C TInt16t()const [private]

Member Data Documentation

TInt16 iAttributeSetID

TInt16 iAttributeSetID[private]

TInt16 iC

TInt16 iC[private]

TInt16 iFirstChildID

TInt16 iFirstChildID[private]

TInt16 iH

TInt16 iH[private]

TInt16 iNextSiblingID

TInt16 iNextSiblingID[private]

TInt16 iParentID

TInt16 iParentID[private]

TInt16 iParentVariety

TInt16 iParentVariety[private]

TInt16 iReserved1

TInt16 iReserved1[private]

TInt16 iReserved2

TInt16 iReserved2[private]

TInt16 iReserved3

TInt16 iReserved3[private]

TInt16 iType

TInt16 iType[private]

TInt16 iW

TInt16 iW[private]

TInt16 ib

TInt16 ib[private]

TInt16 il

TInt16 il[private]

TInt16 ir

TInt16 ir[private]

TInt16 it

TInt16 it[private]