CEikStatusPaneBase Class Reference

#include <mw/eikspane.h>

class CEikStatusPaneBase : public CBase

Inherits from

  • CEikStatusPaneBase

    Nested Classes and Structures

    Protected Member Type Definitions
    typedef CArrayPtrFlat< CEikStatusPaneContainer > CContainerControls
    Protected Attributes
    CContainerControls *iControls
    CEikonEnv &iEikEnv
    TInt iFlags
    CEikStatusPaneModelBase *iModel
    Public Member Enumerations
    enumTDrawCmd { ENoDraw, EDrawNow, EDrawDeferred }
    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)
    virtual IMPORT_C voidHandleResourceChange(TInt)
    IMPORT_C TBoolIsDimmed()
    IMPORT_C TBoolIsFaded()
    IMPORT_C TBoolIsTransparent()
    IMPORT_C TBoolIsVisible()
    virtual IMPORT_C voidMakeVisible(TBool)
    virtual IMPORT_C TBoolOkToChangeStatusPaneNow()
    IMPORT_C TPaneCapabilitiesPaneCapabilities(TPaneId)
    IMPORT_C TRectPaneRectL(TPaneId)
    IMPORT_C voidReduceRect(TRect &)
    voidReportSizeChange()
    voidSetCbaAreaBackgroundID(const TAknsItemID &, CEikStatusPaneBase::TDrawCmd)
    virtual IMPORT_C voidSetDimmed(TBool)
    virtual IMPORT_C voidSetFaded(TBool)
    IMPORT_C voidSetFlags(TInt)
    voidSetObserver(MEikStatusPaneObserver *)
    IMPORT_C CCoeControl *SwapControlL(TPaneId, CCoeControl *)
    virtual IMPORT_C voidSwitchLayoutL(TInt)
    RWindowGroup *WindowGroup()
    Protected Member Functions
    CEikStatusPaneBase(CEikonEnv &, RWindowGroup *)
    IMPORT_C voidBaseConstructL(TInt)
    CAknStatuspaneClearer *Clearer()
    IMPORT_C voidCommonPrepareForAppExit()
    pure virtual CEikStatusPaneModelBase *CreateModelL(TInt)
    voidCreatePaneL(const TEikStatusPaneInit &)
    voidCreatePanesL()
    CAknStatusPaneDataSubscriber *DataSubscriber()
    IMPORT_C voidDisableClearer(TBool)
    voidDoDrawNow(TDrawCmd)
    CEikStatusPaneContainer *Find(TPaneId)
    pure virtual TBool IsApp()
    voidOptimizeClearerWindowShape(TInt, TInt, TRegion &)
    TRect Rect()
    voidSetInitialUsedResourceId(TInt)
    voidSetStoreHandler(RWindow *, TBool)
    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()

    Detailed Description

    The base class for status panes.

    Member Type Definition Documentation

    Typedef CContainerControls

    typedef CArrayPtrFlat< CEikStatusPaneContainer >CContainerControls[protected]

    Member Attribute Documentation

    iControls

    CContainerControls *iControls[protected]

    iEikEnv

    CEikonEnv &iEikEnv[protected]

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

    iFlags

    TInt iFlags[protected]

    Flags for the status pane.

    iModel

    CEikStatusPaneModelBase *iModel[protected]

    Status pane model class. Own.

    Member Enumeration Documentation

    Enum TDrawCmd

    Status pane drawing commands.

    EnumeratorValueDescription
    ENoDraw

    Do not draw.

    EDrawNow

    Draw immediately.

    EDrawDeferred

    Draw with low priority.

    Constructor & Destructor Documentation

    CEikStatusPaneBase ( CEikonEnv &, RWindowGroup * )

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

    C++ default constructor.

    ParameterDescription
    aEikEnvAn environment for creating controls and utility functions for manipulating them.
    aParentPointer to the parent window group.

    ~CEikStatusPaneBase ( )

    IMPORT_C~CEikStatusPaneBase()

    Destructor.

    Member Function Documentation

    BaseConstructL ( TInt )

    IMPORT_C voidBaseConstructL(TIntaCoreResId)[protected]

    Initializes the status pane with standard values.

    ParameterDescription
    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.

    Returns: 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 (

    See also: PaneRect()).

    leave
    KErrNotFound The sub-pane ID is not valid.
    ParameterDescription
    aPaneIdID of the sub-pane.

    Returns: Pointer to the new container control for 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.

    leave
    KErrNotFound The sub-pane ID is not valid.
    ParameterDescription
    aPaneIdSub-pane ID.

    Returns: Pointer to the control instance inside the sub-pane.

    CreateModelL ( TInt )

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

    Creates a new model for the status pane.

    ParameterDescription
    aCoreResIdID of the status pane resource.

    Returns: Pointer to the new status pane model instance.

    CreatePaneL ( const TEikStatusPaneInit & )

    voidCreatePaneL(const TEikStatusPaneInit &aPaneInit)[protected]

    Creates a sub-pane.

    ParameterDescription
    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.

    Returns: 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.

    See also: avkon.rsg

    Returns: The resource ID of the current layout.

    DataSubscriber ( )

    CAknStatusPaneDataSubscriber *DataSubscriber()const [protected]

    Gets the status pane data subscriber.

    Returns: Pointer to the status pane data subscriber.

    DisableClearer ( TBool )

    IMPORT_C voidDisableClearer(TBoolaDisabled)[protected]

    Disables the status pane clearer.

    ParameterDescription
    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.

    ParameterDescription
    aDrawStatus pane drawing command.

    DrawNow ( )

    IMPORT_C voidDrawNow()

    Draws the control.

    EnableTransparent ( TBool )

    IMPORT_C voidEnableTransparent(TBoolaTransparent)

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

    ParameterDescription
    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.

    ParameterDescription
    aPaneIdThe sub-pane ID.

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

    Flags ( )

    IMPORT_C TIntFlags()const

    Gets status pane settings.

    Returns: 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.

    ParameterDescription
    aRegionThe two-dimensional area from where rectangles are removed from or where rectangles are added to.
    aIncludeAppPanesIf ETrue, app panes are added, otherwise removed.
    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.

    ParameterDescription
    aTypeA message type.

    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.

    Returns: 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.

    Returns: ETrue if the status pane is dimmed.

    IsFaded ( )

    IMPORT_C TBoolIsFaded()const

    Gets the fade status of the status pane.

    Returns: ETrue if status pane is faded.

    IsTransparent ( )

    IMPORT_C TBoolIsTransparent()const

    Gets the transparency of the status pane.

    Returns: ETrue if the status pane is transparent.

    IsVisible ( )

    IMPORT_C TBoolIsVisible()const

    Gets the visibility of the status pane.

    Returns: ETrue if the status pane is visible.

    MakeVisible ( TBool )

    IMPORT_C voidMakeVisible(TBoolaVisible)[virtual]

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

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

    OkToChangeStatusPaneNow ( )

    IMPORT_C TBoolOkToChangeStatusPaneNow()[virtual]

    Returns always ETrue.

    Returns: ETrue.

    OptimizeClearerWindowShape ( TInt, TInt, TRegion & )

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

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

    ParameterDescription
    aOldResourceIdOld status pane resource ID.
    aNewResourceIdNew status pane resource ID.
    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.

    ParameterDescription
    aPaneIdSub-pane ID.

    Returns: Capabilities of the pane.

    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.

    leave
    KErrNotFound The sub-pane ID is not valid.
    ParameterDescription
    aPaneIdSub-pane ID.

    Returns: The sub-pane rectangle.

    Rect ( )

    TRect Rect()const [protected, inline]

    Gets the rectangle of the status pane.

    Gets the status pane rectangle.

    Returns: The rectangle used by the status pane.

    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.

    ParameterDescription
    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.

    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.

    SetDimmed ( TBool )

    IMPORT_C voidSetDimmed(TBoolaDimmed)[virtual]

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

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

    SetFaded ( TBool )

    IMPORT_C voidSetFaded(TBoolaFaded)[virtual]

    Not implemented.

    ParameterDescription
    aFadedNot used.

    SetFlags ( TInt )

    IMPORT_C voidSetFlags(TIntaFlags)

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

    ParameterDescription
    aFlagsFlags to be set.

    SetInitialUsedResourceId ( TInt )

    voidSetInitialUsedResourceId(TIntaResourceId)[protected]

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

    ParameterDescription
    aResourceIdThe initial status pane resource ID.

    SetObserver ( MEikStatusPaneObserver * )

    voidSetObserver(MEikStatusPaneObserver *aObserver)[inline]

    Sets the status pane observer.

    Set the status pane observer.

    ParameterDescription
    aObserverPointer to status pane observer.

    SetStoreHandler ( RWindow *, TBool )

    voidSetStoreHandler(RWindow *aWindow,
    TBoolaOn
    )[protected]

    Sets redraw storing state of the window.

    ParameterDescription
    aWindowThe window whose redraw storing state is to be set.
    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.

    leave
    KErrNotFound This can occur before ownership of the new control is taken, if the subpane ID is not valid.
    ParameterDescription
    aPaneIdID of the sub-pane.
    aNewControlA fully constructed control to place at aPaneId.

    Returns: The control which was 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

    See also: avkon.rsg

    leave
    KErrNotFound The specified layout does not exist in the status pane resource structures.
    ParameterDescription
    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.

    Gets the window group that this status pane belongs to.

    Returns: Pointer to the window group.