1 lafpublc.h |
1 /* |
|
2 * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
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". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef __LAFPUBLC_H__ |
|
20 #define __LAFPUBLC_H__ |
|
21 |
|
22 #include <e32std.h> |
|
23 |
|
24 /** @deprecated */ |
|
25 const TInt KLafScrollBarButtonPositionMask = 0x00C0; |
|
26 |
|
27 /** @deprecated */ |
|
28 struct SLafScrollButton |
|
29 { |
|
30 enum TType |
|
31 { |
|
32 ENudgeLeft, |
|
33 ENudgeUp, |
|
34 ENudgeRight, |
|
35 ENudgeDown, |
|
36 EPageLeft, |
|
37 EPageUp, |
|
38 EPageRight, |
|
39 EPageDown, |
|
40 EHome, |
|
41 ETop, |
|
42 EEnd, |
|
43 EBottom |
|
44 }; |
|
45 }; |
|
46 |
|
47 struct SLafScrollBar |
|
48 { |
|
49 /** |
|
50 * Scroll bar initialisation flags. The default is for the scroll bar |
|
51 * to have both a shaft and a thumb. |
|
52 */ |
|
53 enum TEikScrollBarFlags |
|
54 { |
|
55 /** Default */ |
|
56 EEikScrollBarDefaultBehaviour =0x0000, |
|
57 /** Does not display nudge buttons.*/ |
|
58 EEikScrollBarNoNudgeButtons =0x0001, |
|
59 /** Has buttons which move it a page at a time. */ |
|
60 EEikScrollBarHasPageButtons =0x0002, |
|
61 /** Has buttons which move it its entire extent. */ |
|
62 EEikScrollBarHasHomeEndButtons =0x0004, |
|
63 /** Central area is empty. */ |
|
64 EEikScrollBarNoShaftOrThumb =0x0008, |
|
65 /** Central area has no scroll thumb. */ |
|
66 EEikScrollBarShaftButNoThumb =0x0010, |
|
67 /** Buttons are placed at the start of the bar. */ |
|
68 EButtonsAtStartOfShaft =0x0040, |
|
69 /** Buttons are placed at the end of the bar. */ |
|
70 EButtonsAtEndOfShaft =0x0080, |
|
71 /** |
|
72 * Buttons are placed at either end of the bar @c |
|
73 * (EButtonsAtStartOfShaft | @c EButtonsAtEndOfShaft). |
|
74 */ |
|
75 EButtonsEitherSideOfShaft =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft, |
|
76 /** |
|
77 * Buttons do not automatically dim when scroll bar is at its maximum |
|
78 * extent. |
|
79 */ |
|
80 ENoAutoDimming =0x0100 |
|
81 }; |
|
82 |
|
83 /** Scroll bar orientation enumerations. */ |
|
84 enum TOrientation |
|
85 { |
|
86 /** Scroll bar is oriented vertically. */ |
|
87 EVertical, |
|
88 /** Scroll bar is oriented horizontally. */ |
|
89 EHorizontal |
|
90 }; |
|
91 |
|
92 }; |
|
93 |
|
94 /** Flags for listboxes */ |
|
95 struct SLafListBox |
|
96 { |
|
97 /** |
|
98 * Listbox construction flags. |
|
99 */ |
|
100 enum TFlags |
|
101 { |
|
102 /** |
|
103 * Construction flag for a list box from which the user can |
|
104 * select multiple items. |
|
105 */ |
|
106 EMultipleSelection = 0x0001, |
|
107 /** |
|
108 * Construction flag for disabling extended selection. |
|
109 * If this is set the user cannot select multiple items by |
|
110 * using @c SHIFT button. |
|
111 */ |
|
112 ENoExtendedSelection = 0x0002, |
|
113 /** |
|
114 * Construction flag that sets the list box to match user’s keystrokes |
|
115 * incrementally. |
|
116 */ |
|
117 EIncrementalMatching = 0x0004, |
|
118 /** |
|
119 * Construction flag for setting the list box as a pop-out list box. |
|
120 * Pop-out list boxes handle certain keystrokes and events differently. |
|
121 */ |
|
122 EPopout = 0x0008, |
|
123 /** |
|
124 * Construction flag that enables the indication of pointer press |
|
125 * inside the view of the list box. |
|
126 */ |
|
127 ELeftDownInViewRect = 0x0010, |
|
128 /** |
|
129 * Construction flag for enabling @c CEiklist box item double click |
|
130 * indication. |
|
131 */ |
|
132 EItemDoubleClicked = 0x0020, |
|
133 /** |
|
134 * Construction flag for removing the ownership of the supplied list box |
|
135 * model from the @c CEikListBox so that the list box model will not be |
|
136 * deleted with the @c CEikListBoxes destruction. |
|
137 */ |
|
138 EKeepModel = 0x0040, |
|
139 /** |
|
140 * Construction flag for excluding the scroll bar. |
|
141 * If the flag is set the scroll bas is drawn ouside the window that |
|
142 * describes the scroll bars extent. |
|
143 */ |
|
144 EScrollBarSizeExcluded = 0x0080, |
|
145 /** |
|
146 * Construction flag for enabling @c CEikListBox change indication. |
|
147 */ |
|
148 EStateChanged = 0x0100, |
|
149 /** |
|
150 * Construction flag that indicates that the list box should be created |
|
151 * to its own window. |
|
152 */ |
|
153 ECreateOwnWindow = 0x0200, |
|
154 /** |
|
155 * Construction flag for disabling key matching. |
|
156 */ |
|
157 ENoFirstLetterMatching = 0x0400, |
|
158 /** |
|
159 * Construction flag for enabling painting of selected items. |
|
160 */ |
|
161 EPaintedSelection = 0x0800, |
|
162 /** |
|
163 * Construction flag for enabling S60 style selection of multiple items |
|
164 * from the list box. |
|
165 */ |
|
166 ES60StyleMultiselection = 0x00010000, //32 bits |
|
167 /** |
|
168 * Construction flag for enabling S60 style markable items. |
|
169 */ |
|
170 ES60StyleMarkable = 0x00020000 //32 bits |
|
171 }; |
|
172 /** List item attributes */ |
|
173 enum TListItemAttribute |
|
174 { |
|
175 ECurrent = 0x0001, // may be drawn with a frame |
|
176 /** Item is emphasized */ |
|
177 EEmphasized = 0x0002, // special highlight (not selected) |
|
178 /** Item is selected */ |
|
179 ESelected = 0x0004, // usually different than emphasized |
|
180 // This last attribute is used to control that one can use only |
|
181 // valid attributes above. So do not use it at all. |
|
182 /** Sum of all other attributes. Do not use */ |
|
183 EMask = 0x0007 |
|
184 }; |
|
185 /** deprecated */ |
|
186 enum TListItemFlags |
|
187 { |
|
188 /** deprecated */ |
|
189 EItemDrawMarkSelection = 0x0001, |
|
190 /** deprecated */ |
|
191 EItemPaintedSelection = 0x0002, |
|
192 /** deprecated */ |
|
193 EItemDrawOnlyActiveSelection = 0x0004 |
|
194 }; |
|
195 }; |
|
196 |
|
197 /** Scroll bar thumb orientation enumerations */ |
|
198 struct SLafScrollThumb |
|
199 { |
|
200 enum TOrientation |
|
201 { |
|
202 /** Vertical orientation */ |
|
203 EVertical, |
|
204 /** Horizontal orientation */ |
|
205 EHorizontal |
|
206 }; |
|
207 }; |
|
208 |
|
209 struct SLafScrollBarFrame |
|
210 { |
|
211 /** Defines the scroll bar’s visibility.*/ |
|
212 enum TScrollBarVisibility |
|
213 { |
|
214 /** Scroll bar not visible. */ |
|
215 EOff, |
|
216 /** Scroll bar visible. */ |
|
217 EOn, |
|
218 /** Scroll bar visible if required. */ |
|
219 EAuto |
|
220 }; |
|
221 |
|
222 /** Defines where the scroll bar is located. */ |
|
223 enum TScrollBarSide |
|
224 { |
|
225 /** |
|
226 * Scroll bar located at the bottom, or to the right of the scroll bar |
|
227 * frame |
|
228 */ |
|
229 EBottomOrRight, |
|
230 /** |
|
231 * Scroll bar located at the top, or to the left of the scroll bar |
|
232 * frame |
|
233 */ |
|
234 ETopOrLeft |
|
235 }; |
|
236 |
|
237 /** Determines how the scroll bar frame manages scroll bars.*/ |
|
238 enum TScrollBarManagement |
|
239 { |
|
240 /** |
|
241 * The scroll bar frame creates, destroys and recreates, scroll bars |
|
242 * according to the visibility mode. The scroll bar frame also acts as |
|
243 * an intermediary with its owning control so that the scroll bars can |
|
244 * be treated as component controls. |
|
245 */ |
|
246 EComponent, |
|
247 /** |
|
248 * The scroll bar frame creates, destroys and recreates, scroll bars |
|
249 * according to the visibility mode. In this case, the scroll bars are |
|
250 * not treated as component controls. Instead, the scroll bars are |
|
251 * geometry managed in windows floating above the control window and |
|
252 * their position is determined in relation to the frame’s position on |
|
253 * the screen. |
|
254 */ |
|
255 EFloating, |
|
256 /** |
|
257 * The scroll bar frame uses the central application scroll bar as held |
|
258 * in the environment. This scroll bar is neither owned by the frame |
|
259 * nor treated as a component control of the frame’s owner. |
|
260 */ |
|
261 EApplicationScrollBar |
|
262 }; |
|
263 }; |
|
264 |
|
265 /** Control group attributes */ |
|
266 struct SLafControlGroup |
|
267 { |
|
268 enum TStartCorner |
|
269 { |
|
270 EFromTopLeft=0x1, |
|
271 EFromTopRight=0x2, |
|
272 EFromBottomLeft=0x3, |
|
273 EFromBottomRight=0x4 |
|
274 }; |
|
275 enum TOrientation |
|
276 { |
|
277 ELayHorizontally=0x10, |
|
278 ELayVertically=0x20 |
|
279 }; |
|
280 }; |
|
281 |
|
282 /** Look of button group container */ |
|
283 struct SLafButtonGroupContainer |
|
284 { |
|
285 /** The controls where the button group container is used. */ |
|
286 enum TUse |
|
287 { |
|
288 /** View */ |
|
289 EView, |
|
290 /** Dialog */ |
|
291 EDialog, |
|
292 /** Toolbar */ |
|
293 EToolbar, |
|
294 /** Command button area */ |
|
295 ECba, |
|
296 /** Dialog buttons */ |
|
297 EDialogButtons |
|
298 }; |
|
299 /** Orientation of the button group container */ |
|
300 enum TOrientation |
|
301 { |
|
302 /** Vertical orientation */ |
|
303 EVertical, |
|
304 /** Horizontal orientation */ |
|
305 EHorizontal |
|
306 }; |
|
307 enum TLocation |
|
308 { |
|
309 /** Button group container used internally for example in dialog buttons */ |
|
310 EInternal, |
|
311 /** Button group container used externally for example |
|
312 * in toolbar or CBA (Command Button Area) |
|
313 */ |
|
314 EExternal |
|
315 }; |
|
316 }; |
|
317 |
|
318 struct SLafMenuBar |
|
319 { |
|
320 enum { ENominalTextLength = 40 }; |
|
321 }; |
|
322 |
|
323 /** Menu pane highlight type enumerations */ |
|
324 struct SLafMenuPane |
|
325 { |
|
326 enum THighlightType |
|
327 { |
|
328 ENoHighlight, |
|
329 EDrawHighlight, |
|
330 ERemoveHighlight |
|
331 }; |
|
332 }; |
|
333 |
|
334 struct SLafButtonBase |
|
335 { |
|
336 /** The draw state enumerations of the button. */ |
|
337 enum TDrawState |
|
338 { |
|
339 EDrawClear =0x00, |
|
340 EDrawSet =0x01, |
|
341 EDrawIndeterminate =0x02, |
|
342 EDrawClearPressed =0x10, |
|
343 EDrawSetPressed =0x11, |
|
344 EDrawIndeterminatePressed =0x12 |
|
345 }; |
|
346 }; |
|
347 |
|
348 |
|
349 #endif // __LAFPUBLC_H__ |