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 TInt CurrentLayoutResId ()
IMPORT_C void DrawNow ()
IMPORT_C void EnableTransparent ( TBool )
IMPORT_C TInt Flags ()
IMPORT_C void GetShapeL ( TRegion &, TBool , TBool )
IMPORT_C void HandleResourceChange ( TInt )
IMPORT_C TBool IsDimmed ()
IMPORT_C TBool IsFaded ()
IMPORT_C TBool IsTransparent ()
IMPORT_C TBool IsVisible ()
IMPORT_C void MakeVisible ( TBool )
IMPORT_C TBool OkToChangeStatusPaneNow ()
IMPORT_C TPaneCapabilities PaneCapabilities ( TPaneId )
IMPORT_C TRect PaneRectL ( TPaneId )
IMPORT_C void ReduceRect ( TRect &)
void ReportSizeChange ()
void SetCbaAreaBackgroundID (const TAknsItemID &, CEikStatusPaneBase::TDrawCmd )
IMPORT_C void SetDimmed ( TBool )
IMPORT_C void SetFaded ( TBool )
IMPORT_C void SetFlags ( TInt )
void SetObserver ( MEikStatusPaneObserver *)
IMPORT_C CCoeControl * SwapControlL ( TPaneId , CCoeControl *)
IMPORT_C void SwitchLayoutL ( TInt )
RWindowGroup * WindowGroup ()
Protected Member Functions
CEikStatusPaneBase ( CEikonEnv &, RWindowGroup *)
IMPORT_C void BaseConstructL ( TInt )
CAknStatuspaneClearer * Clearer ()
IMPORT_C void CommonPrepareForAppExit ()
CEikStatusPaneModelBase * CreateModelL ( TInt )
void CreatePaneL (const TEikStatusPaneInit &)
void CreatePanesL ()
CAknStatusPaneDataSubscriber * DataSubscriber ()
IMPORT_C void DisableClearer ( TBool )
void DoDrawNow ( TDrawCmd )
CEikStatusPaneContainer * Find ( TPaneId )
TBool IsApp ()
void OptimizeClearerWindowShape ( TInt , TInt , TRegion &)
TRect Rect ()
void SetInitialUsedResourceId ( TInt )
void SetStoreHandler ( RWindow *, TBool )
Private Member Functions
void ApplyLayoutL (CEikStatusPaneLayout *, TDrawCmd )
void DoSwitchLayoutL ( TInt , TDrawCmd )
TInt InitialUsedResourceId ()
TRect LargestBoundingRect ( TRegion &, TRegion &)
TInt LastUsedResourceId ()
TInt ReadInitialUsedResourceIdL ( TInt )
void SetAllInvisible ()
void SetCombinedPaneVisibilityL ( TBool )
void SetLastUsedResourceId ( TInt )
void SetNotNeededInvisible ()
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
enum TDrawCmd { 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_C CEikStatusPaneBase ( CEikonEnv & aEikEnv,
RWindowGroup * aParent
) [protected]

C++ default constructor.

Parameters

CEikonEnv & aEikEnv An environment for creating controls and utility functions for manipulating them.
RWindowGroup * aParent Pointer to the parent window group.

~CEikStatusPaneBase()

IMPORT_C ~CEikStatusPaneBase ( )

Destructor.

Member Functions Documentation

ApplyLayoutL(CEikStatusPaneLayout *, TDrawCmd)

void ApplyLayoutL ( CEikStatusPaneLayout * aLayout,
TDrawCmd aDraw
) [private]

Parameters

CEikStatusPaneLayout * aLayout
TDrawCmd aDraw

BaseConstructL(TInt)

IMPORT_C void BaseConstructL ( TInt aCoreResId ) [protected]

Initializes the status pane with standard values.

Parameters

TInt aCoreResId ID 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.

CommonPrepareForAppExit()

IMPORT_C void CommonPrepareForAppExit ( ) [protected]

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

ContainerControlL(TPaneId)

IMPORT_C CCoeControl * ContainerControlL ( TPaneId aPaneId ) 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()).
leave
KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneId ID of the sub-pane.

ControlL(TPaneId)

IMPORT_C CCoeControl * ControlL ( TPaneId aPaneId ) const

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

leave
KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneId Sub-pane ID.

CreateModelL(TInt)

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

Creates a new model for the status pane.

Parameters

TInt aCoreResId ID of the status pane resource.

CreatePaneL(const TEikStatusPaneInit &)

void CreatePaneL ( const TEikStatusPaneInit & aPaneInit ) [protected]

Creates a sub-pane.

Parameters

const TEikStatusPaneInit & aPaneInit Initial values for the sub-pane.

CreatePanesL()

void CreatePanesL ( ) [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.

CurrentLayoutResId()

IMPORT_C TInt CurrentLayoutResId ( ) const

Gets the resource ID of the current layout.

avkon.rsg

DataSubscriber()

CAknStatusPaneDataSubscriber * DataSubscriber ( ) const [protected]

Gets the status pane data subscriber.

DisableClearer(TBool)

IMPORT_C void DisableClearer ( TBool aDisabled ) [protected]

Disables the status pane clearer.

Parameters

TBool aDisabled Disabled if ETrue.

DoDrawNow(TDrawCmd)

void DoDrawNow ( TDrawCmd aDraw ) [protected]

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

Parameters

TDrawCmd aDraw Status pane drawing command.

DoSwitchLayoutL(TInt, TDrawCmd)

void DoSwitchLayoutL ( TInt aLayoutResourceId,
TDrawCmd aDraw
) [private]

Parameters

TInt aLayoutResourceId
TDrawCmd aDraw

DrawNow()

IMPORT_C void DrawNow ( )

Draws the control.

EnableTransparent(TBool)

IMPORT_C void EnableTransparent ( TBool aTransparent )

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

Parameters

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

Find(TPaneId)

CEikStatusPaneContainer * Find ( TPaneId aPaneId ) const [protected]

Gets a container of a specified sub-pane.

Parameters

TPaneId aPaneId The sub-pane ID.

Flags()

IMPORT_C TInt Flags ( ) const

Gets status pane settings.

GetShapeL(TRegion &, TBool, TBool)

IMPORT_C void GetShapeL ( TRegion & aRegion,
TBool aIncludeAppPanes,
TBool aIncludeServerPanes
) const

Adds and removes pane rectangles from aRegion .

Parameters

TRegion & aRegion The two-dimensional area from where rectangles are removed from or where rectangles are added to.
TBool aIncludeAppPanes If ETrue, app panes are added, otherwise removed.
TBool aIncludeServerPanes If ETrue, server panes are added, otherwise removed.

HandleResourceChange(TInt)

IMPORT_C void HandleResourceChange ( TInt aType ) [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 aType A 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.

IsDimmed()

IMPORT_C TBool IsDimmed ( ) const

Gets the dimmed state of the status pane.

IsFaded()

IMPORT_C TBool IsFaded ( ) const

Gets the fade status of the status pane.

IsTransparent()

IMPORT_C TBool IsTransparent ( ) const

Gets the transparency of the status pane.

IsVisible()

IMPORT_C TBool IsVisible ( ) const

Gets the visibility of the status pane.

LargestBoundingRect(TRegion &, TRegion &)

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

Parameters

TRegion & aWholeRegion
TRegion & aRemovedRegion

LastUsedResourceId()

TInt LastUsedResourceId ( ) [private]

MakeVisible(TBool)

IMPORT_C void MakeVisible ( TBool aVisible ) [virtual]

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

Parameters

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

OkToChangeStatusPaneNow()

IMPORT_C TBool OkToChangeStatusPaneNow ( ) [virtual]

Returns always ETrue .

OptimizeClearerWindowShape(TInt, TInt, TRegion &)

void OptimizeClearerWindowShape ( TInt aOldResourceId,
TInt aNewResourceId,
TRegion & aRegion
) [protected]

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

Parameters

TInt aOldResourceId Old status pane resource ID.
TInt aNewResourceId New status pane resource ID.
TRegion & aRegion Status pane region. On return contains only the region that needs to be cleared.

PaneCapabilities(TPaneId)

IMPORT_C TPaneCapabilities PaneCapabilities ( TPaneId aPaneId ) const

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

Parameters

TPaneId aPaneId Sub-pane ID.

PaneRectL(TPaneId)

IMPORT_C TRect PaneRectL ( TPaneId aPaneId ) 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.

leave
KErrNotFound The sub-pane ID is not valid.

Parameters

TPaneId aPaneId Sub-pane ID.

ReadInitialUsedResourceIdL(TInt)

TInt ReadInitialUsedResourceIdL ( TInt aCoreResId ) [private]

Parameters

TInt aCoreResId

Rect()

TRect Rect ( ) const [protected, inline]

Gets the rectangle of the status pane.

Gets the status pane rectangle.

ReduceRect(TRect &)

IMPORT_C void ReduceRect ( 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 & aBoundingRect The bounding rectangle.

ReportSizeChange()

void ReportSizeChange ( )

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()

void SetAllInvisible ( ) [private]

SetCbaAreaBackgroundID(const TAknsItemID &, CEikStatusPaneBase::TDrawCmd)

void SetCbaAreaBackgroundID ( const TAknsItemID & aBgID,
CEikStatusPaneBase::TDrawCmd aDrawCmd
)

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

Parameters

const TAknsItemID & aBgID
CEikStatusPaneBase::TDrawCmd aDrawCmd

SetCombinedPaneVisibilityL(TBool)

void SetCombinedPaneVisibilityL ( TBool aVisible ) [private]

Parameters

TBool aVisible

SetDimmed(TBool)

IMPORT_C void SetDimmed ( TBool aDimmed ) [virtual]

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

Parameters

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

SetFaded(TBool)

IMPORT_C void SetFaded ( TBool aFaded ) [virtual]

Not implemented.

Parameters

TBool aFaded Not used.

SetFlags(TInt)

IMPORT_C void SetFlags ( TInt aFlags )

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

Parameters

TInt aFlags Flags to be set.

SetInitialUsedResourceId(TInt)

void SetInitialUsedResourceId ( TInt aResourceId ) [protected]

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

Parameters

TInt aResourceId The initial status pane resource ID.

SetLastUsedResourceId(TInt)

void SetLastUsedResourceId ( TInt aResourceId ) [private]

Parameters

TInt aResourceId

SetNotNeededInvisible()

void SetNotNeededInvisible ( ) [private]

SetObserver(MEikStatusPaneObserver *)

void SetObserver ( MEikStatusPaneObserver * aObserver ) [inline]

Sets the status pane observer.

Set the status pane observer.

Parameters

MEikStatusPaneObserver * aObserver Pointer to status pane observer.

SetStoreHandler(RWindow *, TBool)

void SetStoreHandler ( RWindow * aWindow,
TBool aOn
) [protected]

Sets redraw storing state of the window.

Parameters

RWindow * aWindow The window whose redraw storing state is to be set.
TBool aOn ETrue to turn redraw storing on.

SwapControlL(TPaneId, CCoeControl *)

IMPORT_C CCoeControl * SwapControlL ( TPaneId aPaneId,
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.

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

Parameters

TPaneId aPaneId ID of the sub-pane.
CCoeControl * aNewControl A fully constructed control to place at aPaneId.

SwitchLayoutL(TInt)

IMPORT_C void SwitchLayoutL ( TInt aLayoutResourceId ) [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 aLayoutResourceId Layout 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.

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]