CEikStatusPaneBase Class Reference

class CEikStatusPaneBase : public CBase

The base class for status panes.

Inherits from

Public Member Functions
~CEikStatusPaneBase()
TAknsItemID CbaAreaBackgroundID()
IMPORT_C CCoeControl *ContainerControlL(TPaneId)
IMPORT_C CCoeControl *ControlL(TPaneId)
IMPORT_C CEikStatusPaneBase *Current()
IMPORT_C TIntCurrentLayoutResId()
IMPORT_C voidDrawNow()
IMPORT_C voidEnableTransparent(TBool)
IMPORT_C TIntFlags()
IMPORT_C voidGetShapeL(TRegion &, TBool, TBool)
IMPORT_C voidHandleResourceChange(TInt)
IMPORT_C TBoolIsDimmed()
IMPORT_C TBoolIsFaded()
IMPORT_C TBoolIsTransparent()
IMPORT_C TBoolIsVisible()
IMPORT_C voidMakeVisible(TBool)
IMPORT_C TBoolOkToChangeStatusPaneNow()
IMPORT_C TPaneCapabilitiesPaneCapabilities(TPaneId)
IMPORT_C TRectPaneRectL(TPaneId)
IMPORT_C voidReduceRect(TRect &)
voidReportSizeChange()
voidSetCbaAreaBackgroundID(const TAknsItemID &, CEikStatusPaneBase::TDrawCmd)
IMPORT_C voidSetDimmed(TBool)
IMPORT_C voidSetFaded(TBool)
IMPORT_C voidSetFlags(TInt)
voidSetObserver(MEikStatusPaneObserver *)
IMPORT_C CCoeControl *SwapControlL(TPaneId, CCoeControl *)
IMPORT_C voidSwitchLayoutL(TInt)
RWindowGroup *WindowGroup()
Protected Member Functions
CEikStatusPaneBase(CEikonEnv &, RWindowGroup *)
IMPORT_C voidBaseConstructL(TInt)
CAknStatuspaneClearer *Clearer()
IMPORT_C voidCommonPrepareForAppExit()
CEikStatusPaneModelBase *CreateModelL(TInt)
voidCreatePaneL(const TEikStatusPaneInit &)
voidCreatePanesL()
CAknStatusPaneDataSubscriber *DataSubscriber()
IMPORT_C voidDisableClearer(TBool)
voidDoDrawNow(TDrawCmd)
CEikStatusPaneContainer *Find(TPaneId)
TBool IsApp()
voidOptimizeClearerWindowShape(TInt, TInt, TRegion &)
TRect Rect()
voidSetInitialUsedResourceId(TInt)
voidSetStoreHandler(RWindow *, TBool)
Private Member Functions
voidApplyLayoutL(CEikStatusPaneLayout *, TDrawCmd)
voidDoSwitchLayoutL(TInt, TDrawCmd)
TInt InitialUsedResourceId()
TRect LargestBoundingRect(TRegion &, TRegion &)
TInt LastUsedResourceId()
TInt ReadInitialUsedResourceIdL(TInt)
voidSetAllInvisible()
voidSetCombinedPaneVisibilityL(TBool)
voidSetLastUsedResourceId(TInt)
voidSetNotNeededInvisible()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTDrawCmd { ENoDraw, EDrawNow, EDrawDeferred }
Protected Member Type Definitions
typedef CArrayPtrFlat< CEikStatusPaneContainer > CContainerControls
Protected Attributes
CContainerControls *iControls
CEikonEnv &iEikEnv
TInt iFlags
CEikStatusPaneModelBase *iModel
Private Attributes
CEikStatusPaneBaseExtension *iExtension
MEikStatusPaneObserver *iObserver
RWindowGroup *iParentWindowGroup

Constructor & Destructor Documentation

CEikStatusPaneBase(CEikonEnv &, RWindowGroup *)

IMPORT_CCEikStatusPaneBase(CEikonEnv &aEikEnv,
RWindowGroup *aParent
)[protected]

C++ default constructor.

Parameters

CEikonEnv & aEikEnvAn environment for creating controls and utility functions for manipulating them.
RWindowGroup * aParentPointer to the parent window group.

~CEikStatusPaneBase()

IMPORT_C~CEikStatusPaneBase()

Destructor.

Member Functions Documentation

ApplyLayoutL(CEikStatusPaneLayout *, TDrawCmd)

voidApplyLayoutL(CEikStatusPaneLayout *aLayout,
TDrawCmdaDraw
)[private]

Parameters

CEikStatusPaneLayout * aLayout
TDrawCmd aDraw

BaseConstructL(TInt)

IMPORT_C voidBaseConstructL(TIntaCoreResId)[protected]

Initializes the status pane with standard values.

Parameters

TInt aCoreResIdID of the status pane resource.

CbaAreaBackgroundID()

TAknsItemID CbaAreaBackgroundID()

Returns the current skin background ID of the sub-panes which are in the CBA area.

Clearer()

CAknStatuspaneClearer *Clearer()[protected]

Gets the status pane clearer.

Pointer to the status pane clearer instance.

CommonPrepareForAppExit()

IMPORT_C voidCommonPrepareForAppExit()[protected]

Prepares the status pane for the application exit. Clears the status pane.

ContainerControlL(TPaneId)

IMPORT_C CCoeControl *ContainerControlL(TPaneIdaPaneId)const

Provides access to the container control of a sub-pane. You will need access to the container of a sub pane if you want to swap in a new control. The container control should be set as the parent window of the new control. It also provides a fast way to get the rectangle of the sub-pane (PaneRect()).

Pointer to the new container control for the sub-pane.

leave

KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneIdID of the sub-pane.

ControlL(TPaneId)

IMPORT_C CCoeControl *ControlL(TPaneIdaPaneId)const

Provides the control currently inside a sub-pane. This gives the application direct access to the contents of a pane.

Pointer to the control instance inside the sub-pane.

leave

KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneIdSub-pane ID.

CreateModelL(TInt)

CEikStatusPaneModelBase *CreateModelL(TIntaCoreResId)const [protected, pure virtual]

Creates a new model for the status pane.

Pointer to the new status pane model instance.

Parameters

TInt aCoreResIdID of the status pane resource.

CreatePaneL(const TEikStatusPaneInit &)

voidCreatePaneL(const TEikStatusPaneInit &aPaneInit)[protected]

Creates a sub-pane.

Parameters

const TEikStatusPaneInit & aPaneInitInitial values for the sub-pane.

CreatePanesL()

voidCreatePanesL()[protected]

Creates the sub-panes to the status pane.

Current()

IMPORT_C CEikStatusPaneBase *Current()[static]

Gets a pointer to the thread's currently active status pane without transferring ownership.

Pointer to currently active status pane. Returns NULL if no such pane exists.

CurrentLayoutResId()

IMPORT_C TIntCurrentLayoutResId()const

Gets the resource ID of the current layout.

The resource ID of the current layout.

avkon.rsg

DataSubscriber()

CAknStatusPaneDataSubscriber *DataSubscriber()const [protected]

Gets the status pane data subscriber.

Pointer to the status pane data subscriber.

DisableClearer(TBool)

IMPORT_C voidDisableClearer(TBoolaDisabled)[protected]

Disables the status pane clearer.

Parameters

TBool aDisabledDisabled if ETrue.

DoDrawNow(TDrawCmd)

voidDoDrawNow(TDrawCmdaDraw)[protected]

Calls CCoeControl's DrawNow() or DrawDeferred() to draw the status pane. If aDraw is ENoDraw status pane is not drawed.

Parameters

TDrawCmd aDrawStatus pane drawing command.

DoSwitchLayoutL(TInt, TDrawCmd)

voidDoSwitchLayoutL(TIntaLayoutResourceId,
TDrawCmdaDraw
)[private]

Parameters

TInt aLayoutResourceId
TDrawCmd aDraw

DrawNow()

IMPORT_C voidDrawNow()

Draws the control.

EnableTransparent(TBool)

IMPORT_C voidEnableTransparent(TBoolaTransparent)

Enable transparency of status pane and its contents. From CEikStatusPaneBase.

Parameters

TBool aTransparentIf ETrue the status pane and its contents are set aTransparent.

Find(TPaneId)

CEikStatusPaneContainer *Find(TPaneIdaPaneId)const [protected]

Gets a container of a specified sub-pane.

Pointer to the container of the sub-pane with a given ID.

Parameters

TPaneId aPaneIdThe sub-pane ID.

Flags()

IMPORT_C TIntFlags()const

Gets status pane settings.

Flags used by status pane base class.

GetShapeL(TRegion &, TBool, TBool)

IMPORT_C voidGetShapeL(TRegion &aRegion,
TBoolaIncludeAppPanes,
TBoolaIncludeServerPanes
)const

Adds and removes pane rectangles from aRegion.

Parameters

TRegion & aRegionThe two-dimensional area from where rectangles are removed from or where rectangles are added to.
TBool aIncludeAppPanesIf ETrue, app panes are added, otherwise removed.
TBool aIncludeServerPanesIf ETrue, server panes are added, otherwise removed.

HandleResourceChange(TInt)

IMPORT_C voidHandleResourceChange(TIntaType)[virtual]

Handles changes in resources which are shared across the environment. This function responds to the changes in resources by propagating them to sub-parts of the status pane.

Parameters

TInt aTypeA message type.

InitialUsedResourceId()

TInt InitialUsedResourceId()[private]

IsApp()

TBool IsApp()const [protected, pure virtual]

Can be used to determine whether or not the status pane is on application side or server side.

ETrue if the status pane resides in the application side, EFalse if it's on the server side.

IsDimmed()

IMPORT_C TBoolIsDimmed()const

Gets the dimmed state of the status pane.

ETrue if the status pane is dimmed.

IsFaded()

IMPORT_C TBoolIsFaded()const

Gets the fade status of the status pane.

ETrue if status pane is faded.

IsTransparent()

IMPORT_C TBoolIsTransparent()const

Gets the transparency of the status pane.

ETrue if the status pane is transparent.

IsVisible()

IMPORT_C TBoolIsVisible()const

Gets the visibility of the status pane.

ETrue if the status pane is visible.

LargestBoundingRect(TRegion &, TRegion &)

TRect LargestBoundingRect(TRegion &aWholeRegion,
TRegion &aRemovedRegion
)const [private]

Parameters

TRegion & aWholeRegion
TRegion & aRemovedRegion

LastUsedResourceId()

TInt LastUsedResourceId()[private]

MakeVisible(TBool)

IMPORT_C voidMakeVisible(TBoolaVisible)[virtual]

Sets the visibility of the status pane and it's contents.

Parameters

TBool aVisibleIf ETrue the status pane and it's contents are set visible.

OkToChangeStatusPaneNow()

IMPORT_C TBoolOkToChangeStatusPaneNow()[virtual]

Returns always ETrue.

ETrue.

OptimizeClearerWindowShape(TInt, TInt, TRegion &)

voidOptimizeClearerWindowShape(TIntaOldResourceId,
TIntaNewResourceId,
TRegion &aRegion
)[protected]

Optimizes the status pane region which cleared during status pane layout change.

Parameters

TInt aOldResourceIdOld status pane resource ID.
TInt aNewResourceIdNew status pane resource ID.
TRegion & aRegionStatus pane region. On return contains only the region that needs to be cleared.

PaneCapabilities(TPaneId)

IMPORT_C TPaneCapabilitiesPaneCapabilities(TPaneIdaPaneId)const

Gets the capabilities of a sub-pane in the status pane.

Capabilities of the pane.

Parameters

TPaneId aPaneIdSub-pane ID.

PaneRectL(TPaneId)

IMPORT_C TRectPaneRectL(TPaneIdaPaneId)const

Provides the screen rectangle of a sub-pane. This can be used to set the size of a new control which you want to place in the status pane.

The sub-pane rectangle.

leave

KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneIdSub-pane ID.

ReadInitialUsedResourceIdL(TInt)

TInt ReadInitialUsedResourceIdL(TIntaCoreResId)[private]

Parameters

TInt aCoreResId

Rect()

TRect Rect()const [protected, inline]

Gets the rectangle of the status pane.

The rectangle used by the status pane.

Gets the status pane rectangle.

ReduceRect(TRect &)

IMPORT_C voidReduceRect(TRect &aBoundingRect)const

Modifies the bounding rectangle so that it lies next to the status pane rectangle.

The status pane always places itself along the edge of the screen, so that it is consistent across applications and the server. It is assumed that the given bounding rectangle does not extend beyond the screen area.

Parameters

TRect & aBoundingRectThe bounding rectangle.

ReportSizeChange()

voidReportSizeChange()

Notifies the command button area and status pane observer about the status pane size change. If the status pane is an embedded application, also this application is notified.

SetAllInvisible()

voidSetAllInvisible()[private]

SetCbaAreaBackgroundID(const TAknsItemID &, CEikStatusPaneBase::TDrawCmd)

voidSetCbaAreaBackgroundID(const TAknsItemID &aBgID,
CEikStatusPaneBase::TDrawCmdaDrawCmd
)

Sets the skin background ID of sub-panes which are in the CBA area.

Parameters

const TAknsItemID & aBgID
CEikStatusPaneBase::TDrawCmd aDrawCmd

SetCombinedPaneVisibilityL(TBool)

voidSetCombinedPaneVisibilityL(TBoolaVisible)[private]

Parameters

TBool aVisible

SetDimmed(TBool)

IMPORT_C voidSetDimmed(TBoolaDimmed)[virtual]

Sets the status pane and it's contents to dimmed state.

Parameters

TBool aDimmedIf ETrue the status pane and it's contents are set to dimmed state.

SetFaded(TBool)

IMPORT_C voidSetFaded(TBoolaFaded)[virtual]

Not implemented.

Parameters

TBool aFadedNot used.

SetFlags(TInt)

IMPORT_C voidSetFlags(TIntaFlags)

Sets all the visual flags at once (KEikStatusPaneBaseVisibleBit and KEikStatusPaneBaseDimmedBit).

Parameters

TInt aFlagsFlags to be set.

SetInitialUsedResourceId(TInt)

voidSetInitialUsedResourceId(TIntaResourceId)[protected]

Sets the initial status pane resource ID to an extension class CEikStatusPaneBaseExtension.

Parameters

TInt aResourceIdThe initial status pane resource ID.

SetLastUsedResourceId(TInt)

voidSetLastUsedResourceId(TIntaResourceId)[private]

Parameters

TInt aResourceId

SetNotNeededInvisible()

voidSetNotNeededInvisible()[private]

SetObserver(MEikStatusPaneObserver *)

voidSetObserver(MEikStatusPaneObserver *aObserver)[inline]

Sets the status pane observer.

Set the status pane observer.

Parameters

MEikStatusPaneObserver * aObserverPointer to status pane observer.

SetStoreHandler(RWindow *, TBool)

voidSetStoreHandler(RWindow *aWindow,
TBoolaOn
)[protected]

Sets redraw storing state of the window.

Parameters

RWindow * aWindowThe window whose redraw storing state is to be set.
TBool aOnETrue to turn redraw storing on.

SwapControlL(TPaneId, CCoeControl *)

IMPORT_C CCoeControl *SwapControlL(TPaneIdaPaneId,
CCoeControl *aNewControl
)

Swaps the control currently inside a sub-pane. The new control must be a fully constructed control. It will be placed inside the status pane, and the current content will be returned to the caller.

The control which was at aPaneId.

leave

KErrNotFound This can occur before ownership of the new control is taken, if the subpane ID is not valid.

Parameters

TPaneId aPaneIdID of the sub-pane.
CCoeControl * aNewControlA fully constructed control to place at aPaneId.

SwitchLayoutL(TInt)

IMPORT_C voidSwitchLayoutL(TIntaLayoutResourceId)[virtual]

Switches to the specified status pane layout.

The actual layout to which this method switches may not be the same as specified in aLayoutResourceId parameter. Eg. if landscape mode status pane layout is set with this method, while in portrait mode, it's mapped to the corresponding layout in the portrait mode. This should be noted when using CEikStatusPaneBase::CurrentLayoutResId().

From release 3.2 on the old status pane layouts are also mapped to the new layouts, ie. R_AVKON_STATUS_PANE_LAYOUT_USUAL -> R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT

R_AVKON_STATUS_PANE_LAYOUT_IDLE -> R_AVKON_STATUS_PANE_LAYOUT_IDLE_EXT

avkon.rsg

leave

KErrNotFound The specified layout does not exist in the status pane resource structures.

Parameters

TInt aLayoutResourceIdLayout resource ID. This must be one of the layouts identified in the status pane resource structures, otherwise the function leaves KErrNotFound.

WindowGroup()

RWindowGroup *WindowGroup()const [inline]

Provides access to a server-side window group.

Pointer to the window group.

Gets the window group that this status pane belongs to.

Member Enumerations Documentation

Enum TDrawCmd

Status pane drawing commands.

Enumerators

ENoDraw

Do not draw.

EDrawNow

Draw immediately.

EDrawDeferred

Draw with low priority.

Member Type Definitions Documentation

Typedef CContainerControls

typedef CArrayPtrFlat< CEikStatusPaneContainer >CContainerControls[protected]

Member Data Documentation

CContainerControls * iControls

CContainerControls *iControls[protected]

CEikonEnv & iEikEnv

CEikonEnv &iEikEnv[protected]

An environment for creating controls and utility functions for manipulating them.

CEikStatusPaneBaseExtension * iExtension

CEikStatusPaneBaseExtension *iExtension[private]

TInt iFlags

TInt iFlags[protected]

Flags for the status pane.

CEikStatusPaneModelBase * iModel

CEikStatusPaneModelBase *iModel[protected]

Status pane model class. Own.

MEikStatusPaneObserver * iObserver

MEikStatusPaneObserver *iObserver[private]

RWindowGroup * iParentWindowGroup

RWindowGroup *iParentWindowGroup[private]