2 * Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Class declaration for EIKON file name label control.
19 #ifndef __EIKFNLAB_H__
20 #define __EIKFNLAB_H__
24 // forward declarations
28 * File name label is a bordered control that displays the application name.
33 class CEikFileNameLabel : public CEikBorderedControl
38 * C++ Default Constructor.
39 * Sets the default border.
41 IMPORT_C CEikFileNameLabel();
46 IMPORT_C ~CEikFileNameLabel();
49 * Second phase constructor.
50 * Completes the construction of a file name label control.
52 IMPORT_C void ConstructL();
55 * Updates the file name label with the name of the application.
56 * If the application is file-based, then the file name of the
57 * main document will be shown.
58 * Otherwise the label will be the application's caption.
60 IMPORT_C void UpdateL();
62 public: /** From @c CCoeControl. */
65 * <b> Not used in S60. </b>
69 * @param aColorUseList Not used.
71 IMPORT_C void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
74 * Handles a change to the control's resources.
76 * The types of resources handled are those which are shared across
77 * the environment, e.g. colours or fonts. For colour scheme changes,
78 * @c DrawDeferred() is called in order to redraw the control.
80 * If overriding this method, the implementation must
81 * include a base call to this method.
83 * From @c CCoeControl.
85 * @param aType The type of resource that has changed.
87 IMPORT_C void HandleResourceChange(TInt aType);
90 * Sets the control's minimum required size.
92 * This function should be overridden by the concrete control class if the
93 * control is to be displayed inside a dialog.
95 * Dialogs set the size and position of their components
96 * automatically, and use this function to enquire the minimum size that
99 * Other container controls that automatically calculate the layout
100 * of their components may also use this function.
102 * From @c CCoeControl.
104 * @return The minimum size required by the control.
106 IMPORT_C TSize MinimumSize();
109 * Handles pointer events.
111 * This function gets called whenever a pointer event occurs in the
112 * control, i.e. when the pointer is within the control's extent, or when
113 * the control has grabbed the pointer.
115 * If the pointer event occurs within this control, the function
116 * will launch the task swapper.
118 * If overriding this method, the implementation must
119 * include a base call to this method.
121 * From @c CCoeControl.
123 * @param aPointerEvent The pointer event.
125 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
130 * Draws the borders of the control.
132 * The screen appearance of derived classes can be changed by overriding
133 * this method. By default, this draws a border of the appropriate
134 * type around the control.
136 * From @c CCoeControl.
138 * @param aRect Not used.
140 IMPORT_C void Draw(const TRect& aRect) const;
142 private: /** From @c CCoeControl. */
144 IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
146 IMPORT_C TInt CountComponentControls() const;
148 IMPORT_C CCoeControl* ComponentControl(TInt aIndex) const;
150 IMPORT_C void SizeChanged();
152 private: /** From @c CAknControl. */
154 IMPORT_C void* ExtensionInterface( TUid aInterface );
161 #endif // __EIKFNLAB_H__