class CAknNavigationDecorator : public CAknControl |
Decorator class for navigation pane controls. The class, for example, decorates navigation pane controls with navi arrows.
Protected Member Functions | |
---|---|
IMPORT_C CCoeControl * | ComponentControl(TInt) |
IMPORT_C TInt | CountComponentControls() |
IMPORT_C void | HandleControlEventL(CCoeControl *, TCoeEvent) |
IMPORT_C void | SizeChanged() |
Private Member Functions | |
---|---|
void | CancelLayoutStyleTimer() |
void | CancelTimer() |
IMPORT_C void | ConstructL() |
TRect | DecoratedDefaultControlRect() |
TRect | DecoratedVolumeControlRect() |
void | DoLayoutStyleEvent() |
IMPORT_C void | Draw(const TRect &) |
IMPORT_C void * | ExtensionInterface(TUid) |
TInt | IndicationDrawCallbackL(TAny *) |
void | InitLayoutStyleTimer() |
TInt | LayoutStyleEvent(TAny *) |
TRect | NaviArrowRect(TScrollButton, TBool, TRect) |
TRect | ParentRect() |
void | SizeChangedInNarrowLayout() |
void | SizeChangedInNormalLayout() |
void | SizeChangedInWideLayout() |
void | SmallDirectionIndicationL() |
void | StartTimerL() |
Public Member Enumerations | |
---|---|
enum | TAknNaviControlLayoutMode { ENaviControlLayoutModeAutomatic = 0x400, ENaviControlLayoutModeForced = 0x800 } |
enum | TAknNaviControlLayoutStyle { ENaviControlLayoutNormal = 0x1, ENaviControlLayoutNarrow = 0x2, ENaviControlLayoutWide = 0x4 } |
enum | TControlType { ENotSpecified, ETabGroup, ENaviLabel, ENaviImage, EHintText, EEditorIndicator, ENaviVolume } |
enum | TScrollButton { ELeftButton = 0x0001, ERightButton = 0x0002 } |
Inherited Enumerations | |
---|---|
CCoeControl:TZoomType |
Protected Attributes | |
---|---|
CAknNavigationControlContainer * | iContainer |
CCoeControl * | iDecoratedControl |
MAknNaviDecoratorObserver * | iNaviDecoratorObserver |
Private Attributes | |
---|---|
TPoint | iArrowLeftPos |
TSize | iArrowLeftSize |
TPoint | iArrowRightPos |
TSize | iArrowRightSize |
TControlType | iControlType |
CAknNavigationDecoratorExtension * | iExtension |
TInt | iLayoutFlags |
CPeriodic * | iLayoutStyleTimer |
TBool | iNaviArrowLeftDimmed |
TBool | iNaviArrowRightDimmed |
TBool | iNaviArrowsVisible |
TInt | iSpare |
Inherited Attributes | |
---|---|
CCoeControl::iCoeEnv | |
CCoeControl::iContext | |
CCoeControl::iPosition | |
CCoeControl::iSize |
void | CancelLayoutStyleTimer | ( | ) | [private] |
This method cancels timer that is used for times layout style changes.
void | CancelTimer | ( | ) | [private] |
This method cancels the timer that is used in the small direction indication animation.
IMPORT_C CCoeControl * | ComponentControl | ( | TInt | aIndex | ) | const [protected, virtual] |
TInt aIndex | Index of a control to be returned. |
IMPORT_C TControlType | ControlType | ( | ) | const |
Returns the type of the decorated control.
Control type.
IMPORT_C TInt | CountComponentControls | ( | ) | const [protected, virtual] |
From CCoeControl.
Returns the number of controls inside the context pane control.
Number of controls.
IMPORT_C CCoeControl * | DecoratedControl | ( | ) |
Returns the control inside a navigation decorator object. Ownership of the control is not changed.
Control that is decorated with the decorator.
TRect | DecoratedControlNarrowRect | ( | TInt | aControlType | ) | [static] |
Gets the default rectangle of the navigation pane's default control.
Rectangle of the navigation pane's default control.
TInt aControlType | Not used. |
TRect | DecoratedControlRect | ( | TInt | aControlType, |
TBool | aArrowsUsed = ETrue | |||
) | [static] |
Gets the default rectangle of the given control type.
Rectangle which tells the default area for given controltype. Coordinates are relative to navi pane.
TInt aControlType | The control type from which default rectangle is asked. |
TBool aArrowsUsed = ETrue | Whether or not the navigation arrows are used for the control. This is only used for the tab group control. If arrows are not used with tab group, then the whole navi pane area is provided to the tab group control. |
TRect | DecoratedDefaultControlRect | ( | ) | [private, static] |
Gets the default rect of default controltype relative to navipane in normal layoutstyle (ENaviControlLayoutNormal)
Rectangle which is tells the default area for a navi control. Coordinates are relative to navipane.
TRect | DecoratedTabControlRect | ( | TBool | aTopAdjacent, |
TBool | aArrowsUsed | |||
) | [static] |
Gets the default rect of tab group control type relative to navipane in normal (ENaviControlLayoutNormal) or wide (ENaviControlLayoutWide) layout style.
Rectangle which tells the default area for a tab group.
TBool aTopAdjacent | ETrue to return a rectangle adjacent to the top of navi pane, EFalse for a rectangle adjacent to the bottom of navi pane. |
TBool aArrowsUsed | Whether or not the navigation arrows are used for the tab group. If arrows are not used, then the whole navi pane area is provided to the tab group control. |
TRect | DecoratedVolumeControlRect | ( | ) | [private, static] |
Gets the default rect of volume controltype relative to navipane in normal layoutstyle (ENaviControlLayoutNormal)
Rectangle which is tells the default area for a volume control. Coordinates are relative to navipane.
void | DoLayoutStyleEvent | ( | ) | [private] |
This method is executed when timer that is used for times layout style changes expires.
IMPORT_C void | Draw | ( | const TRect & | aRect | ) | const [private, virtual] |
From CAknControl
const TRect & aRect |
IMPORT_C void * | ExtensionInterface | ( | TUid | aInterface | ) | [private, virtual] |
From CAknControl
TUid aInterface |
IMPORT_C void | HandleControlEventL | ( | CCoeControl * | aControl, |
TCoeEvent | aEventType | |||
) | [protected] |
From MCoeControlObserver.
Handles an event from an observed control.
CCoeControl * aControl | Control that caused the event. |
TCoeEvent aEventType | Type of the event. |
IMPORT_C void | HandlePointerEventL | ( | const TPointerEvent & | aPointerEvent | ) | [virtual] |
From CCoeControl.
Handle pointer events.
const TPointerEvent & aPointerEvent | Pointer event to be handled. |
IMPORT_C void | HandleResourceChange | ( | TInt | aType | ) | [virtual] |
Handles a change to the control's resources of type aType which are shared across the environment, e.g. color scheme change.
TInt aType | Event type. |
TInt | IndicationDrawCallbackL | ( | TAny * | aThis | ) | [private, static] |
TAny * aThis |
void | InitLayoutStyleTimer | ( | ) | [private] |
This method initializes timer that is used for times layout style changes.
IMPORT_C TBool | IsScrollButtonDimmed | ( | TScrollButton | aButton | ) | const |
Is button dimmed or highlighted.
ETrue If the navigation arrow is dimmed, EFalse if it is highlighted.
TScrollButton aButton | Navigation arrow. |
TInt | LayoutStyleEvent | ( | TAny * | aPtr | ) | [private, static] |
This method is executed when timer that is used for times layout style changes expires.
TAny * aPtr |
IMPORT_C void | MakeScrollButtonVisible | ( | TBool | aVisible | ) |
Shows or hides the navigation arrows at the both ends of the navigation pane when current object is shown.
TBool aVisible | Boolean value if navigation arrows are shown with the decorated control. Visible if ETrue. |
TRect | NaviArrowRect | ( | TScrollButton | aScrollButton, |
TBool | aNarrowLayout = EFalse, | |||
TRect | aNaviRect = TRect(0, 0, 0, 0) | |||
) | [private, static] |
Gets the rectangle for a navigation arrow.
Navigation arrow rectangle. Coordinates are relative to navipane.
TScrollButton aScrollButton | ELeftButton to return the rectangle of the left navi arrow, ERightButton for right navi arrow. |
TBool aNarrowLayout = EFalse | ETrue to get a navi arrow rectangle for a narrow decorator layout, EFalse otherwise. |
TRect aNaviRect = TRect(0, 0, 0, 0) | Navi pane rectangle to be used as parent, the returned rectangle is relative to this. If not defined, then relative to the default navi pane area. |
IMPORT_C TAknNaviControlLayoutMode | NaviControlLayoutMode | ( | ) |
Gets the current layout mode of decorated control. Can be ENaviControlLayoutModeAutomatic (default) or ENaviControlLayoutModeForced (usually set by the application).
S60 3.0
Decorated control's current layout mode.
IMPORT_C TAknNaviControlLayoutStyle | NaviControlLayoutStyle | ( | ) |
Gets the current layout style of this objects decorated control (ENaviControlLayoutNormalm ENaviControlLayoutNarrow or ENaviControlLayoutWide).
S60 3.0
Current layout style of the navicontrol
IMPORT_C TBool | NaviControlLayoutStyleSupported | ( | TAknNaviControlLayoutStyle | aStyle | ) |
Tells if decorated control supports given layout style at the current statuspane layout. For ENotSpecified type of controls this always returns EFalse (just for safety) because their implementation is not known.
S60 3.0
ETrue if the control supports given layout style otherwise returns EFalse.
TAknNaviControlLayoutStyle aStyle | The layout style. |
IMPORT_C CAknNavigationDecorator * | NewL | ( | CAknNavigationControlContainer * | aNavigationControlContainer, |
CCoeControl * | aDecoratedControl, | |||
TControlType | aType = ENotSpecified | |||
) | [static] |
Creates a new navigation decorator. The object takes ownership of the decorated object at the beginning of the method before any leaving functions.
Navigation Decorator object that contains decorated object.
CAknNavigationControlContainer * aNavigationControlContainer | Container control. |
CCoeControl * aDecoratedControl | Control to be decorated. |
TControlType aType = ENotSpecified | = ENotSpecified Control type. |
TRect | ParentRect | ( | ) | [private] |
Gets parent rect of this control. Used for layout calculation purposes.
IMPORT_C TBool | ScrollButtonVisible | ( | ) | const |
Gets the State of the visibility of navigation arrows.
ETrue if visible.
IMPORT_C void | SetControlType | ( | TControlType | aType | ) |
Sets the type of the decorated control.
TControlType aType | Type of the control. |
IMPORT_C void | SetNaviControlLayoutMode | ( | TAknNaviControlLayoutMode | aMode | ) |
Sets the layout mode ENaviControlLayoutModeAutomatic or ENaviControlLayoutModeForced. See TAknNaviControlLayoutMode for more information.
S60 3.0
TAknNaviControlLayoutMode aMode | New layout mode. |
IMPORT_C void | SetNaviControlLayoutStyle | ( | TAknNaviControlLayoutStyle | aStyle | ) |
Sets the layout style for this objects decorated control. The layout style can be normal or narrow style.
The style is really applied if the decorated control supports it or if the layout mode has been set to forced mode (ENaviControlLayoutModeForced). Additionally narrow mode may not be supported at all in some statuspane configurations (even if forced).
Whether decorated control supports or does not support given style at the currently active statuspane layout can be queried using NaviControlLayoutStyleSupported() method.
S60 3.0
TAknNaviControlLayoutStyle aStyle | Can be normal (ENaviControlLayoutNormal), narrow (ENaviControlLayoutNarrow) or wide (ENaviControlLayoutWide). |
IMPORT_C void | SetNaviDecoratorObserver | ( | MAknNaviDecoratorObserver * | aObserver | ) | [virtual] |
Sets observer for navigation decorator events in the decorated control.
MAknNaviDecoratorObserver * aObserver | Pointer to observer. |
void | SetNaviStack | ( | CAknNavigationControlContainer * | aContainer | ) |
Sets the pointer to the default navigation pane control.
CAknNavigationControlContainer * aContainer | Pointer to default control in navigation pane. |
IMPORT_C void | SetScrollButtonDimmed | ( | TScrollButton | aButton, |
TBool | aDimmed | |||
) |
Sets the navigation arrow dimmed (and highlighted). Arrows have to be visible so that the dimmed arrow is shown on the screen.
TScrollButton aButton | Navigation arrow to be set (ELeftButton or ERightButton). |
TBool aDimmed | ETrue is the button is dimmed, EFalse if the button is set highlighted. |
IMPORT_C void | SizeChanged | ( | ) | [protected, virtual] |
From CCoeControl.
Handles the size change events.
void | SizeChangedInNarrowLayout | ( | ) | [private] |
This method handles sizechanges in narrow layout style.
void | SizeChangedInNormalLayout | ( | ) | [private] |
This method handles sizechanges in normal layout style.
void | SizeChangedInWideLayout | ( | ) | [private] |
This method handles sizechanges in wide layout style.
Defines the navigation control layout mode.
ENaviControlLayoutModeAutomatic = 0x400 |
This is the default layout mode. It lets UI framework to decide the proper layout style which is applied to decorated controls in all situations. |
ENaviControlLayoutModeForced = 0x800 |
ENaviControlLayoutModeForced layout mode can be used to lock the layout style to the current style. |
Defines the navigation control layout style.
ENaviControlLayoutNormal = 0x1 |
Normal layout style. |
ENaviControlLayoutNarrow = 0x2 |
Narrow layout style. |
ENaviControlLayoutWide = 0x4 |
Wide layout style, can be used only in portrait mode, in usual status pane layout (R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT). Tabs are not currently supported in wide layout style. |
Defines type of the decorated control.
ENotSpecified |
Type not specified. |
ETabGroup |
Tab group. |
ENaviLabel |
Label. |
ENaviImage |
Image. |
EHintText |
Text. |
EEditorIndicator |
Indicator. |
ENaviVolume |
Volume. |
Defines scroll buttons.
ELeftButton = 0x0001 |
Scroll left. |
ERightButton = 0x0002 |
Scroll right. |
CAknNavigationControlContainer * | iContainer | [protected] |
Navigation pane default control.
MAknNaviDecoratorObserver * | iNaviDecoratorObserver | [protected] |
Observer for handling decorator events.