2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * Label control to the status pane's navigation pane.
21 #ifndef AKNNAVILABEL_H
22 #define AKNNAVILABEL_H
24 #include <AknControl.h>
26 class CAknNaviLabelExtension;
30 * Label control to the status pane's navigation pane.
32 class CAknNaviLabel : public CAknControl
42 public: // new functions
47 IMPORT_C CAknNaviLabel();
52 IMPORT_C ~CAknNaviLabel();
55 * Set type of the label.
56 * @param aNaviLabelType navigation label type.
58 IMPORT_C void SetNaviLabelType(TNaviLabelType aNaviLabelType);
61 * Returns type of the label.
62 * @return navigation label type.
64 IMPORT_C TNaviLabelType NaviLabelType();
67 * Sets navigation label text.
68 * @param aText reference to the navigation text.
70 IMPORT_C void SetTextL(const TDesC& aText);
73 * Returns the current label text.
74 * @return label text. Ownership of the text is not transfered.
76 inline const TDesC* Text() const;
81 * From CCoeControl. Handles pointer event.
82 * @param aPointerEvent Pointer event to be handled.
84 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
86 protected: // from CCoeControl
89 * From CCoeControl. Handle the size change events.
91 IMPORT_C virtual void SizeChanged();
94 * From CCoeControl. Draw a control.
96 * @param aRect The region of the control to be redrawn.
98 IMPORT_C void Draw(const TRect& aRect) const;
103 IMPORT_C void* ExtensionInterface( TUid aInterface );
107 * Calculates width using margins.
110 TInt WidthInsideMargins() const;
113 * Reads the text layout from Aknlayout system.
114 * @return Text layout.
116 TAknLayoutText LayoutText() const;
120 CAknNaviLabelExtension* iExtension;
128 TNaviLabelType iLabelType;
132 inline const TDesC* CAknNaviLabel::Text() const
136 #endif // AKNNAVILABEL_H