williamr@2
|
1 |
// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
2 |
// All rights reserved.
|
williamr@2
|
3 |
// This component and the accompanying materials are made available
|
williamr@2
|
4 |
// 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
|
williamr@2
|
5 |
// which accompanies this distribution, and is available
|
williamr@2
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
|
williamr@2
|
7 |
//
|
williamr@2
|
8 |
// Initial Contributors:
|
williamr@2
|
9 |
// Nokia Corporation - initial contribution.
|
williamr@2
|
10 |
//
|
williamr@2
|
11 |
// Contributors:
|
williamr@2
|
12 |
//
|
williamr@2
|
13 |
// Description:
|
williamr@2
|
14 |
//
|
williamr@2
|
15 |
|
williamr@2
|
16 |
#ifndef __COECNTRL_H__
|
williamr@2
|
17 |
#define __COECNTRL_H__
|
williamr@2
|
18 |
|
williamr@2
|
19 |
#include <e32std.h>
|
williamr@2
|
20 |
#include <e32base.h>
|
williamr@2
|
21 |
#include <w32std.h>
|
williamr@2
|
22 |
#include <gulalign.h>
|
williamr@2
|
23 |
#include <coedef.h>
|
williamr@2
|
24 |
#include <coecobs.h>
|
williamr@2
|
25 |
#include <coehelp.h>
|
williamr@2
|
26 |
#include <coeinput.h>
|
williamr@2
|
27 |
#include <coemop.h>
|
williamr@2
|
28 |
#include <coemain.h>
|
williamr@2
|
29 |
#include <coefont.h>
|
williamr@2
|
30 |
#include <coetextdrawer.h>
|
williamr@2
|
31 |
#include <coecontrolarray.h>
|
williamr@2
|
32 |
|
williamr@2
|
33 |
#include <coecoloruse.h> // class TCoeColorUse
|
williamr@2
|
34 |
|
williamr@2
|
35 |
class TResourceReader;
|
williamr@2
|
36 |
class CCoeEnv;
|
williamr@2
|
37 |
class MCoeControlContext;
|
williamr@2
|
38 |
class RCoeDynamicDataStorage;
|
williamr@2
|
39 |
|
williamr@2
|
40 |
class MCoeLayoutManager;
|
williamr@2
|
41 |
class TCoeZoomWithType;
|
williamr@2
|
42 |
class CCoeFontProvider;
|
williamr@2
|
43 |
|
williamr@2
|
44 |
// forward declarations.
|
williamr@2
|
45 |
class CCoeControl;
|
williamr@2
|
46 |
class CCoeTextDrawerBase;
|
williamr@2
|
47 |
|
williamr@2
|
48 |
/** Interface to be used if a control elects to be a background drawer.
|
williamr@2
|
49 |
|
williamr@2
|
50 |
Parent controls can elect to take responsibility for drawing the background for their child
|
williamr@2
|
51 |
controls. To achieve this, they should aggregate an object that implements this interface.
|
williamr@2
|
52 |
CCoeControl::SetBackground() accepts the object and sets it as the background drawer
|
williamr@2
|
53 |
|
williamr@2
|
54 |
@see CCoeControl::EnableWindowTransparency()
|
williamr@2
|
55 |
@publishedAll
|
williamr@2
|
56 |
@released
|
williamr@2
|
57 |
*/
|
williamr@2
|
58 |
class MCoeControlBackground
|
williamr@2
|
59 |
{
|
williamr@2
|
60 |
public:
|
williamr@2
|
61 |
/** Draw the background for a given control.
|
williamr@2
|
62 |
The text drawer that shall be used to draw text on the specific background can be
|
williamr@2
|
63 |
fetched through the GetTextDrawer() method.
|
williamr@2
|
64 |
|
williamr@2
|
65 |
@param aGc Graphics context used for drawing
|
williamr@2
|
66 |
@param aControl The control being drawn (may be a child of the drawer)
|
williamr@2
|
67 |
@param aRect The area to be redrawn
|
williamr@2
|
68 |
|
williamr@2
|
69 |
@publishedAll
|
williamr@2
|
70 |
@released
|
williamr@2
|
71 |
*/
|
williamr@2
|
72 |
virtual void Draw(CWindowGc& aGc, const CCoeControl& aControl, const TRect& aRect) const = 0;
|
williamr@2
|
73 |
/**
|
williamr@2
|
74 |
This function retrieves the text drawer associated with the background.
|
williamr@2
|
75 |
@param aTextDrawer The text drawer associated with the background. This may be null. The default implementation
|
williamr@2
|
76 |
always sets this to 0.
|
williamr@2
|
77 |
@param aDrawingControl The control that is requesting the text drawer.
|
williamr@2
|
78 |
*/
|
williamr@2
|
79 |
IMPORT_C virtual void GetTextDrawer(CCoeTextDrawerBase*& aTextDrawer, const CCoeControl* aDrawingControl) const;
|
williamr@2
|
80 |
protected:
|
williamr@2
|
81 |
IMPORT_C MCoeControlBackground();
|
williamr@2
|
82 |
private:
|
williamr@2
|
83 |
IMPORT_C virtual void MCoeControlBackground_Reserved1();
|
williamr@2
|
84 |
IMPORT_C virtual void MCoeControlBackground_Reserved2();
|
williamr@2
|
85 |
IMPORT_C virtual void MCoeControlBackground_Reserved3();
|
williamr@2
|
86 |
IMPORT_C virtual void MCoeControlBackground_Reserved4();
|
williamr@2
|
87 |
IMPORT_C virtual void MCoeControlBackground_Reserved5();
|
williamr@2
|
88 |
private:
|
williamr@2
|
89 |
TInt iMCoeControlBackground_Reserved1();
|
williamr@2
|
90 |
};
|
williamr@2
|
91 |
|
williamr@2
|
92 |
/** Abstract interface for defining a control's hit region.
|
williamr@2
|
93 |
|
williamr@2
|
94 |
This could be implemented by a CCoeControl-derived class to
|
williamr@2
|
95 |
define hit region checking. The object is installed by calling CCoeControl::SetHitTest().
|
williamr@2
|
96 |
|
williamr@2
|
97 |
The hit region is the area inside the control's rectangle in which pointer events are handled.
|
williamr@2
|
98 |
It can be any shape, not necessarily rectangular.
|
williamr@2
|
99 |
|
williamr@2
|
100 |
@publishedAll
|
williamr@2
|
101 |
@released
|
williamr@2
|
102 |
*/
|
williamr@2
|
103 |
class MCoeControlHitTest
|
williamr@2
|
104 |
{
|
williamr@2
|
105 |
public:
|
williamr@2
|
106 |
/** Tests whether a pointer event occurred inside the control's hit region.
|
williamr@2
|
107 |
This function is called by CCoeControl::HandlePointerEventL().
|
williamr@2
|
108 |
|
williamr@2
|
109 |
@param aPoint The position of the pointer event.
|
williamr@2
|
110 |
@return ETrue if the specified point lies inside the hit region, EFalse if not.
|
williamr@2
|
111 |
|
williamr@2
|
112 |
@publishedAll
|
williamr@2
|
113 |
@released
|
williamr@2
|
114 |
*/
|
williamr@2
|
115 |
virtual TBool HitRegionContains(const TPoint& aPoint, const CCoeControl& aControl) const = 0;
|
williamr@2
|
116 |
protected:
|
williamr@2
|
117 |
IMPORT_C MCoeControlHitTest();
|
williamr@2
|
118 |
private:
|
williamr@2
|
119 |
IMPORT_C virtual void MCoeControlHitTest_Reserved1();
|
williamr@2
|
120 |
IMPORT_C virtual void MCoeControlHitTest_Reserved2();
|
williamr@2
|
121 |
private:
|
williamr@2
|
122 |
TInt iMCoeControlHitTest_Reserved1;
|
williamr@2
|
123 |
};
|
williamr@2
|
124 |
|
williamr@2
|
125 |
|
williamr@2
|
126 |
/**
|
williamr@2
|
127 |
Control base class from which all other controls are derived.
|
williamr@2
|
128 |
|
williamr@2
|
129 |
@publishedAll
|
williamr@2
|
130 |
@released
|
williamr@2
|
131 |
*/
|
williamr@2
|
132 |
class CCoeControl : public CBase, public MObjectProvider
|
williamr@2
|
133 |
{
|
williamr@2
|
134 |
public:
|
williamr@2
|
135 |
enum TZoomType
|
williamr@2
|
136 |
{
|
williamr@2
|
137 |
EAbsoluteZoom, // absolute
|
williamr@2
|
138 |
ERelativeZoom // relative to parent's zoom
|
williamr@2
|
139 |
};
|
williamr@2
|
140 |
public:
|
williamr@2
|
141 |
// Construction and destruction
|
williamr@2
|
142 |
IMPORT_C CCoeControl();
|
williamr@2
|
143 |
IMPORT_C CCoeControl(CCoeEnv* aCoeEnv);
|
williamr@2
|
144 |
IMPORT_C ~CCoeControl();
|
williamr@2
|
145 |
IMPORT_C TBool ComponentArrayExists() const;
|
williamr@2
|
146 |
public: // Virtuals (see more related non-virtuals further down)
|
williamr@2
|
147 |
// Key input
|
williamr@2
|
148 |
IMPORT_C virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
|
williamr@2
|
149 |
// Visual state
|
williamr@2
|
150 |
IMPORT_C virtual void MakeVisible(TBool aVisible);
|
williamr@2
|
151 |
IMPORT_C virtual void SetDimmed(TBool aDimmed);
|
williamr@2
|
152 |
// Construction
|
williamr@2
|
153 |
IMPORT_C virtual void SetContainerWindowL(const CCoeControl& aContainer);
|
williamr@2
|
154 |
IMPORT_C virtual void ConstructFromResourceL(TResourceReader& aReader);
|
williamr@2
|
155 |
IMPORT_C virtual void ActivateL();
|
williamr@2
|
156 |
// Focus
|
williamr@2
|
157 |
IMPORT_C virtual void PrepareForFocusLossL();
|
williamr@2
|
158 |
IMPORT_C virtual void PrepareForFocusGainL();
|
williamr@2
|
159 |
// Control proximity
|
williamr@2
|
160 |
IMPORT_C virtual void SetAdjacent(TInt aAdjacent);
|
williamr@2
|
161 |
IMPORT_C virtual void SetNeighbor(CCoeControl* aNeighbor);
|
williamr@2
|
162 |
IMPORT_C virtual TBool HasBorder() const; // deprecated from 9.2
|
williamr@2
|
163 |
// Control size
|
williamr@2
|
164 |
IMPORT_C virtual TSize MinimumSize();
|
williamr@2
|
165 |
// Resource change handling
|
williamr@2
|
166 |
IMPORT_C virtual void HandleResourceChange(TInt aType);
|
williamr@2
|
167 |
// Logical color use (for Java)
|
williamr@2
|
168 |
IMPORT_C virtual void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
|
williamr@2
|
169 |
// User help
|
williamr@2
|
170 |
IMPORT_C virtual void GetHelpContext(TCoeHelpContext& aContext) const;
|
williamr@2
|
171 |
// Text input
|
williamr@2
|
172 |
IMPORT_C virtual TCoeInputCapabilities InputCapabilities() const;
|
williamr@2
|
173 |
public:
|
williamr@2
|
174 |
// Environment
|
williamr@2
|
175 |
inline CCoeEnv* ControlEnv() const;
|
williamr@2
|
176 |
// Container window
|
williamr@2
|
177 |
IMPORT_C RDrawableWindow* DrawableWindow() const;
|
williamr@2
|
178 |
IMPORT_C TBool OwnsWindow() const;
|
williamr@2
|
179 |
IMPORT_C TBool IsBackedUp() const;
|
williamr@2
|
180 |
IMPORT_C void SetContainerWindowL(RWindow& aWindow); // deprecated from 9.2
|
williamr@2
|
181 |
IMPORT_C void SetContainerWindowL(RBackedUpWindow& aWindow); // deprecated from 9.2
|
williamr@2
|
182 |
// Control parent
|
williamr@2
|
183 |
IMPORT_C CCoeControl* Parent();
|
williamr@2
|
184 |
IMPORT_C const CCoeControl* Parent() const;
|
williamr@2
|
185 |
IMPORT_C virtual TInt SetParent(CCoeControl* aParent);
|
williamr@2
|
186 |
// Size and position
|
williamr@2
|
187 |
IMPORT_C TRect Rect() const;
|
williamr@2
|
188 |
IMPORT_C void SetRect(const TRect& aRect);
|
williamr@2
|
189 |
IMPORT_C void SetExtent(const TPoint& aPosition,const TSize& aSize);
|
williamr@2
|
190 |
IMPORT_C void SetExtentToWholeScreen();
|
williamr@2
|
191 |
IMPORT_C TSize Size() const;
|
williamr@2
|
192 |
IMPORT_C void SetSize(const TSize& aSize);
|
williamr@2
|
193 |
IMPORT_C TPoint Position() const;
|
williamr@2
|
194 |
IMPORT_C TPoint PositionRelativeToScreen() const;
|
williamr@2
|
195 |
IMPORT_C void SetPosition(const TPoint& aPosition);
|
williamr@2
|
196 |
IMPORT_C TInt MaximumWidth() const;
|
williamr@2
|
197 |
IMPORT_C TInt SetMaximumWidth(TInt aMaxWidth);
|
williamr@2
|
198 |
// Layout
|
williamr@2
|
199 |
IMPORT_C MCoeLayoutManager* LayoutManager() const;
|
williamr@2
|
200 |
IMPORT_C virtual void SetLayoutManagerL(MCoeLayoutManager* aLayout);
|
williamr@2
|
201 |
IMPORT_C virtual TBool RequestRelayout(const CCoeControl* aChildControl);
|
williamr@2
|
202 |
// Visibility
|
williamr@2
|
203 |
IMPORT_C TBool IsVisible() const;
|
williamr@2
|
204 |
IMPORT_C void SetComponentsToInheritVisibility(TBool aInherit=ETrue);
|
williamr@2
|
205 |
// Dimmed
|
williamr@2
|
206 |
IMPORT_C TBool IsDimmed() const;
|
williamr@2
|
207 |
// State observer
|
williamr@2
|
208 |
IMPORT_C void SetObserver(MCoeControlObserver* aObserver);
|
williamr@2
|
209 |
IMPORT_C MCoeControlObserver* Observer() const;
|
williamr@2
|
210 |
// Focus
|
williamr@2
|
211 |
IMPORT_C TBool IsFocused() const;
|
williamr@2
|
212 |
IMPORT_C void SetFocus(TBool aFocus,TDrawNow aDrawNow=ENoDrawNow);
|
williamr@2
|
213 |
IMPORT_C void SetNonFocusing();
|
williamr@2
|
214 |
IMPORT_C void SetFocusing(TBool aFocusing);
|
williamr@2
|
215 |
IMPORT_C TBool IsNonFocusing() const;
|
williamr@2
|
216 |
// Drawing (see also Draw() below)
|
williamr@2
|
217 |
IMPORT_C void DrawNow() const;
|
williamr@2
|
218 |
IMPORT_C void DrawNow(const TRect &aRect) const;
|
williamr@2
|
219 |
IMPORT_C void DrawDeferred() const;
|
williamr@2
|
220 |
IMPORT_C CWindowGc& SystemGc() const;
|
williamr@2
|
221 |
IMPORT_C TInt SetCustomGc(CWindowGc* aGraphicsContext);
|
williamr@2
|
222 |
IMPORT_C CWindowGc* CustomGc() const;
|
williamr@2
|
223 |
// Control context (background color etc). Deprecated (use MCoeControlBackground)
|
williamr@2
|
224 |
IMPORT_C void SetControlContext(MCoeControlContext* aContext); // deprecated from 9.2
|
williamr@2
|
225 |
IMPORT_C void CopyControlContextFrom(const CCoeControl* aControl); // deprecated from 9.2
|
williamr@2
|
226 |
IMPORT_C MCoeControlContext* ControlContext() const; // deprecated from 9.2
|
williamr@2
|
227 |
// Pointer events
|
williamr@2
|
228 |
IMPORT_C void SetPointerCapture(TBool aCapture=ETrue);
|
williamr@2
|
229 |
IMPORT_C void ClaimPointerGrab(TBool aSendUpEvent=ETrue);
|
williamr@2
|
230 |
IMPORT_C void IgnoreEventsUntilNextPointerUp();
|
williamr@2
|
231 |
IMPORT_C void SetGloballyCapturing(TBool aGlobal);
|
williamr@2
|
232 |
// Pointer hit test
|
williamr@2
|
233 |
IMPORT_C TInt SetHitTest(const MCoeControlHitTest* aHitTestControl);
|
williamr@2
|
234 |
IMPORT_C const MCoeControlHitTest* HitTest() const;
|
williamr@2
|
235 |
// Logical colors
|
williamr@2
|
236 |
IMPORT_C void OverrideColorL(TInt aLogicalColor,TRgb aColor);
|
williamr@2
|
237 |
IMPORT_C TBool GetColor(TInt aLogicalColor,TRgb& aColor) const;
|
williamr@2
|
238 |
// Control background
|
williamr@2
|
239 |
IMPORT_C void DrawBackground(const TRect& aRect) const;
|
williamr@2
|
240 |
IMPORT_C void DrawForeground(const TRect& aRect) const;
|
williamr@2
|
241 |
IMPORT_C const MCoeControlBackground* Background() const;
|
williamr@2
|
242 |
IMPORT_C const MCoeControlBackground* FindBackground() const;
|
williamr@2
|
243 |
IMPORT_C void SetBackground(const MCoeControlBackground* aBackground);
|
williamr@2
|
244 |
// Zooming
|
williamr@2
|
245 |
IMPORT_C void SetZoomFactorL(TInt aZoomFactor, TZoomType aZoomType = ERelativeZoom);
|
williamr@2
|
246 |
IMPORT_C TZoomFactor AccumulatedZoom() const;
|
williamr@2
|
247 |
IMPORT_C const TCoeZoomWithType* ZoomWithType() const;
|
williamr@2
|
248 |
// Font provider (see ScreenFont() below)
|
williamr@2
|
249 |
IMPORT_C const CCoeFontProvider& FindFontProvider() const;
|
williamr@2
|
250 |
IMPORT_C void SetFontProviderL(const CCoeFontProvider& aFontProvider);
|
williamr@2
|
251 |
// Text baseline (virtuals)
|
williamr@2
|
252 |
IMPORT_C virtual TInt TextBaselineOffset(const TSize& aSize) const;
|
williamr@2
|
253 |
IMPORT_C virtual void SetTextBaselineSpacing(TInt aSpacing);
|
williamr@2
|
254 |
// Input capabilities
|
williamr@2
|
255 |
IMPORT_C TCoeInputCapabilities RecursivelyMergedInputCapabilities() const;
|
williamr@2
|
256 |
// Interface access
|
williamr@2
|
257 |
IMPORT_C void SetMopParent(MObjectProvider* aParent);
|
williamr@2
|
258 |
// Instance identification
|
williamr@2
|
259 |
IMPORT_C TInt UniqueHandle() const;
|
williamr@2
|
260 |
IMPORT_C TInt SetUniqueHandle(TInt aUniqueHandle);
|
williamr@2
|
261 |
public: // Pointer events (virtuals)
|
williamr@2
|
262 |
IMPORT_C virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
|
williamr@2
|
263 |
protected: // Virtuals. Override to handle these events.
|
williamr@2
|
264 |
IMPORT_C virtual void HandlePointerBufferReadyL(); // See HandlePointerEventL()
|
williamr@2
|
265 |
// Change of focus
|
williamr@2
|
266 |
IMPORT_C virtual void FocusChanged(TDrawNow aDrawNow);
|
williamr@2
|
267 |
// Change of size and position
|
williamr@2
|
268 |
IMPORT_C virtual void SizeChanged();
|
williamr@2
|
269 |
IMPORT_C virtual void PositionChanged();
|
williamr@2
|
270 |
public:
|
williamr@2
|
271 |
// Component control access
|
williamr@2
|
272 |
IMPORT_C virtual TInt CountComponentControls() const;
|
williamr@2
|
273 |
IMPORT_C virtual CCoeControl* ComponentControl(TInt aIndex) const;
|
williamr@2
|
274 |
IMPORT_C TInt Index(const CCoeControl* aControl) const;
|
williamr@2
|
275 |
protected:
|
williamr@2
|
276 |
// Control state
|
williamr@2
|
277 |
IMPORT_C TBool IsActivated() const;
|
williamr@2
|
278 |
IMPORT_C TBool IsBeingDestroyed() const;
|
williamr@2
|
279 |
// Component ownership
|
williamr@2
|
280 |
IMPORT_C void InitComponentArrayL();
|
williamr@2
|
281 |
IMPORT_C CCoeControlArray& Components();
|
williamr@2
|
282 |
IMPORT_C const CCoeControlArray& Components() const;
|
williamr@2
|
283 |
// Container window
|
williamr@2
|
284 |
IMPORT_C RWindow& Window() const;
|
williamr@2
|
285 |
IMPORT_C RBackedUpWindow& BackedUpWindow() const;
|
williamr@2
|
286 |
IMPORT_C void CloseWindow();
|
williamr@2
|
287 |
IMPORT_C void CreateWindowL();
|
williamr@2
|
288 |
IMPORT_C void CreateWindowL(const CCoeControl* aParent);
|
williamr@2
|
289 |
IMPORT_C void CreateWindowL(RWindowTreeNode& aParent);
|
williamr@2
|
290 |
IMPORT_C void CreateWindowL(RWindowGroup* aParent);
|
williamr@2
|
291 |
IMPORT_C void CreateBackedUpWindowL(RWindowTreeNode& aParent);
|
williamr@2
|
292 |
IMPORT_C void CreateBackedUpWindowL(RWindowTreeNode& aParent,TDisplayMode aDisplayMode);
|
williamr@2
|
293 |
IMPORT_C void EnableWindowTransparency();
|
williamr@2
|
294 |
// Size and position
|
williamr@2
|
295 |
IMPORT_C void SetCornerAndSize(TGulAlignment aCorner,const TSize& aSize);
|
williamr@2
|
296 |
IMPORT_C void SetSizeWithoutNotification(const TSize& aSize);
|
williamr@2
|
297 |
// Font access
|
williamr@2
|
298 |
IMPORT_C const CFont& ScreenFont(const TCoeFont& aFont) const;
|
williamr@2
|
299 |
// Text drawer
|
williamr@2
|
300 |
IMPORT_C CCoeTextDrawerBase& TextDrawer(TInt aKey = KErrNotFound) const;
|
williamr@2
|
301 |
// Pointer events
|
williamr@2
|
302 |
IMPORT_C void EnableDragEvents();
|
williamr@2
|
303 |
IMPORT_C void HandleRedrawEvent(const TRect& aRect) const;
|
williamr@2
|
304 |
IMPORT_C void SetAllowStrayPointers();
|
williamr@2
|
305 |
IMPORT_C CCoeControl* GrabbingComponent() const;
|
williamr@2
|
306 |
IMPORT_C TBool CapturesPointer() const;
|
williamr@2
|
307 |
// Drawing
|
williamr@2
|
308 |
IMPORT_C TBool IsReadyToDraw() const;
|
williamr@2
|
309 |
IMPORT_C TBool IsBlank() const;
|
williamr@2
|
310 |
IMPORT_C void SetBlank();
|
williamr@2
|
311 |
IMPORT_C void SetCanDrawOutsideRect();
|
williamr@2
|
312 |
IMPORT_C void ActivateGc() const;
|
williamr@2
|
313 |
IMPORT_C void DeactivateGc() const;
|
williamr@2
|
314 |
IMPORT_C void ResetGc() const;
|
williamr@2
|
315 |
// State events
|
williamr@2
|
316 |
IMPORT_C void ReportEventL(MCoeControlObserver::TCoeEvent aEvent);
|
williamr@2
|
317 |
// Resource changes
|
williamr@2
|
318 |
IMPORT_C void HandleComponentControlsResourceChange(TInt aType);
|
williamr@2
|
319 |
// Copy Constructor and Assignment Operator
|
williamr@2
|
320 |
inline CCoeControl(const CCoeControl& aControl);
|
williamr@2
|
321 |
inline CCoeControl& operator=(const CCoeControl& aControl);
|
williamr@2
|
322 |
protected:
|
williamr@2
|
323 |
friend class CCoeControlArray;
|
williamr@2
|
324 |
IMPORT_C virtual void HandleControlArrayEventL(CCoeControlArray::TEvent aEvent, const CCoeControlArray* aArray, CCoeControl* aControl, TInt aControlId);
|
williamr@2
|
325 |
private: // reserved
|
williamr@2
|
326 |
IMPORT_C virtual void Reserved_CCoeControl_10();
|
williamr@2
|
327 |
IMPORT_C virtual void Reserved_CCoeControl_11();
|
williamr@2
|
328 |
IMPORT_C virtual void Reserved_CCoeControl_12();
|
williamr@2
|
329 |
IMPORT_C virtual void Reserved_CCoeControl_13();
|
williamr@2
|
330 |
private:
|
williamr@2
|
331 |
IMPORT_C virtual void GetTextDrawer(CCoeTextDrawerBase*& aTextDrawer, const CCoeControl* aDrawingControl, TInt aKey) const;
|
williamr@2
|
332 |
private: // reserved
|
williamr@2
|
333 |
IMPORT_C virtual void Reserved_CCoeControl_8();
|
williamr@2
|
334 |
IMPORT_C virtual void Reserved_CCoeControl_9();
|
williamr@2
|
335 |
protected: // from MObjectProvider
|
williamr@2
|
336 |
IMPORT_C TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
|
williamr@2
|
337 |
private: // from MObjectProvider
|
williamr@2
|
338 |
IMPORT_C MObjectProvider* MopNext();
|
williamr@2
|
339 |
private:
|
williamr@2
|
340 |
// Drawing (override this to draw)
|
williamr@2
|
341 |
IMPORT_C virtual void Draw(const TRect& aRect) const;
|
williamr@2
|
342 |
protected:
|
williamr@2
|
343 |
// Debugging
|
williamr@2
|
344 |
IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const;
|
williamr@2
|
345 |
private: // reserved
|
williamr@2
|
346 |
IMPORT_C virtual void Reserved_2();
|
williamr@2
|
347 |
public: // but not exported
|
williamr@2
|
348 |
void ProcessPointerEventL(const TPointerEvent& aPointerEvent);
|
williamr@2
|
349 |
void ProcessPointerBufferReadyL();
|
williamr@2
|
350 |
void RecursivelyMergeInputCapabilities(TCoeInputCapabilities& aInputCapabilities) const;
|
williamr@2
|
351 |
void WriteInternalStateNowL(RWriteStream& aWriteStream) const;
|
williamr@2
|
352 |
void NotifyFontChange(const CCoeFontProvider* aFontProvider);
|
williamr@2
|
353 |
void RemoveFromParent();
|
williamr@2
|
354 |
void RefetchPixelMappingL();
|
williamr@2
|
355 |
public: // deprecated
|
williamr@2
|
356 |
inline TInt SetGc(CWindowGc* aGraphicsContext) const;
|
williamr@2
|
357 |
inline CWindowGc* GetGc() const;
|
williamr@2
|
358 |
private:
|
williamr@2
|
359 |
friend class CCoeRedrawer;
|
williamr@2
|
360 |
void DrawComponents(const TRect& aRect) const;
|
williamr@2
|
361 |
void DrawWindowOwningComponentsNow() const;
|
williamr@2
|
362 |
void DrawWindowOwningComponentsNow(const TRect &aRect) const;
|
williamr@2
|
363 |
void SetGrabbed(TBool aGrabbed);
|
williamr@2
|
364 |
TBool IsGrabbed() const;
|
williamr@2
|
365 |
void DoMakeVisible(TBool aVisible);
|
williamr@2
|
366 |
void CheckPointerEventPurge() const;
|
williamr@2
|
367 |
void RecursivelyMergeTextDrawers(CCoeTextDrawerBase*& aTextDrawer, const CCoeControl* aDrawingControl, TInt aKey) const;
|
williamr@2
|
368 |
CCoeControl* WindowOwningParent();
|
williamr@2
|
369 |
const CCoeControl* WindowOwningParent() const { return const_cast<CCoeControl*>(this)->WindowOwningParent(); }
|
williamr@2
|
370 |
const CCoeControl* SearchParent(const CCoeControl* aParentToFind) const;
|
williamr@2
|
371 |
TInt SetZoomWithType(TCoeZoomWithType* aZoomWithType);
|
williamr@2
|
372 |
TCoeZoomWithType* GetZoomWithType() const;
|
williamr@2
|
373 |
TInt SetFontProvider(const CCoeFontProvider* aFontProvider);
|
williamr@2
|
374 |
const CCoeFontProvider* GetFontProvider() const;
|
williamr@2
|
375 |
TInt FindColor(TInt aLogicalColor) const;
|
williamr@2
|
376 |
void ActivateGcRecursive() const;
|
williamr@2
|
377 |
void DeactivateGcRecursive() const;
|
williamr@2
|
378 |
void ReportControlStateChange(MCoeControlStateObserver::TCoeState aType);
|
williamr@2
|
379 |
public:
|
williamr@2
|
380 |
IMPORT_C void EnableReportControlStateChange(TBool aState);
|
williamr@2
|
381 |
|
williamr@2
|
382 |
protected:
|
williamr@2
|
383 |
CCoeEnv* iCoeEnv;
|
williamr@2
|
384 |
MCoeControlContext* iContext; // deprecated
|
williamr@2
|
385 |
TPoint iPosition;
|
williamr@2
|
386 |
TSize iSize;
|
williamr@2
|
387 |
private:
|
williamr@2
|
388 |
TInt iFlags;
|
williamr@2
|
389 |
RDrawableWindow* iWin;
|
williamr@2
|
390 |
RCoeDynamicDataStorage* iData;
|
williamr@2
|
391 |
MObjectProvider* iMopParent;
|
williamr@2
|
392 |
};
|
williamr@2
|
393 |
|
williamr@2
|
394 |
|
williamr@2
|
395 |
/**
|
williamr@2
|
396 |
Gets the control environment object for this control.
|
williamr@2
|
397 |
|
williamr@2
|
398 |
@return The control's control environment object.
|
williamr@2
|
399 |
*/
|
williamr@2
|
400 |
inline CCoeEnv* CCoeControl::ControlEnv() const
|
williamr@2
|
401 |
{ return(iCoeEnv); }
|
williamr@2
|
402 |
|
williamr@2
|
403 |
/**
|
williamr@2
|
404 |
Deprecated. See CCoeControl::SetCustomGc().
|
williamr@2
|
405 |
@deprecated
|
williamr@2
|
406 |
*/
|
williamr@2
|
407 |
inline TInt CCoeControl::SetGc(CWindowGc* aGraphicsContext) const
|
williamr@2
|
408 |
{ return const_cast<CCoeControl*>(this)->SetCustomGc(aGraphicsContext); }
|
williamr@2
|
409 |
|
williamr@2
|
410 |
/**
|
williamr@2
|
411 |
Deprecated. See CCoeControl::CustomGc().
|
williamr@2
|
412 |
@deprecated
|
williamr@2
|
413 |
*/
|
williamr@2
|
414 |
inline CWindowGc* CCoeControl::GetGc() const
|
williamr@2
|
415 |
{ return CustomGc(); }
|
williamr@2
|
416 |
|
williamr@2
|
417 |
|
williamr@2
|
418 |
#endif // __COECNTRL_H__
|