1.1 --- a/epoc32/include/mw/lafpublc.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/mw/lafpublc.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,349 @@
1.4 -lafpublc.h
1.5 +/*
1.6 +* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* 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
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description:
1.19 +*
1.20 +*/
1.21 +
1.22 +
1.23 +#ifndef __LAFPUBLC_H__
1.24 +#define __LAFPUBLC_H__
1.25 +
1.26 +#include <e32std.h>
1.27 +
1.28 +/** @deprecated */
1.29 +const TInt KLafScrollBarButtonPositionMask = 0x00C0;
1.30 +
1.31 +/** @deprecated */
1.32 +struct SLafScrollButton
1.33 + {
1.34 + enum TType
1.35 + {
1.36 + ENudgeLeft,
1.37 + ENudgeUp,
1.38 + ENudgeRight,
1.39 + ENudgeDown,
1.40 + EPageLeft,
1.41 + EPageUp,
1.42 + EPageRight,
1.43 + EPageDown,
1.44 + EHome,
1.45 + ETop,
1.46 + EEnd,
1.47 + EBottom
1.48 + };
1.49 + };
1.50 +
1.51 +struct SLafScrollBar
1.52 + {
1.53 + /**
1.54 + * Scroll bar initialisation flags. The default is for the scroll bar
1.55 + * to have both a shaft and a thumb.
1.56 + */
1.57 + enum TEikScrollBarFlags
1.58 + {
1.59 + /** Default */
1.60 + EEikScrollBarDefaultBehaviour =0x0000,
1.61 + /** Does not display nudge buttons.*/
1.62 + EEikScrollBarNoNudgeButtons =0x0001,
1.63 + /** Has buttons which move it a page at a time. */
1.64 + EEikScrollBarHasPageButtons =0x0002,
1.65 + /** Has buttons which move it its entire extent. */
1.66 + EEikScrollBarHasHomeEndButtons =0x0004,
1.67 + /** Central area is empty. */
1.68 + EEikScrollBarNoShaftOrThumb =0x0008,
1.69 + /** Central area has no scroll thumb. */
1.70 + EEikScrollBarShaftButNoThumb =0x0010,
1.71 + /** Buttons are placed at the start of the bar. */
1.72 + EButtonsAtStartOfShaft =0x0040,
1.73 + /** Buttons are placed at the end of the bar. */
1.74 + EButtonsAtEndOfShaft =0x0080,
1.75 + /**
1.76 + * Buttons are placed at either end of the bar @c
1.77 + * (EButtonsAtStartOfShaft | @c EButtonsAtEndOfShaft).
1.78 + */
1.79 + EButtonsEitherSideOfShaft =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft,
1.80 + /**
1.81 + * Buttons do not automatically dim when scroll bar is at its maximum
1.82 + * extent.
1.83 + */
1.84 + ENoAutoDimming =0x0100
1.85 + };
1.86 +
1.87 + /** Scroll bar orientation enumerations. */
1.88 + enum TOrientation
1.89 + {
1.90 + /** Scroll bar is oriented vertically. */
1.91 + EVertical,
1.92 + /** Scroll bar is oriented horizontally. */
1.93 + EHorizontal
1.94 + };
1.95 +
1.96 + };
1.97 +
1.98 +/** Flags for listboxes */
1.99 +struct SLafListBox
1.100 + {
1.101 + /**
1.102 + * Listbox construction flags.
1.103 + */
1.104 + enum TFlags
1.105 + {
1.106 + /**
1.107 + * Construction flag for a list box from which the user can
1.108 + * select multiple items.
1.109 + */
1.110 + EMultipleSelection = 0x0001,
1.111 + /**
1.112 + * Construction flag for disabling extended selection.
1.113 + * If this is set the user cannot select multiple items by
1.114 + * using @c SHIFT button.
1.115 + */
1.116 + ENoExtendedSelection = 0x0002,
1.117 + /**
1.118 + * Construction flag that sets the list box to match user’s keystrokes
1.119 + * incrementally.
1.120 + */
1.121 + EIncrementalMatching = 0x0004,
1.122 + /**
1.123 + * Construction flag for setting the list box as a pop-out list box.
1.124 + * Pop-out list boxes handle certain keystrokes and events differently.
1.125 + */
1.126 + EPopout = 0x0008,
1.127 + /**
1.128 + * Construction flag that enables the indication of pointer press
1.129 + * inside the view of the list box.
1.130 + */
1.131 + ELeftDownInViewRect = 0x0010,
1.132 + /**
1.133 + * Construction flag for enabling @c CEiklist box item double click
1.134 + * indication.
1.135 + */
1.136 + EItemDoubleClicked = 0x0020,
1.137 + /**
1.138 + * Construction flag for removing the ownership of the supplied list box
1.139 + * model from the @c CEikListBox so that the list box model will not be
1.140 + * deleted with the @c CEikListBoxes destruction.
1.141 + */
1.142 + EKeepModel = 0x0040,
1.143 + /**
1.144 + * Construction flag for excluding the scroll bar.
1.145 + * If the flag is set the scroll bas is drawn ouside the window that
1.146 + * describes the scroll bars extent.
1.147 + */
1.148 + EScrollBarSizeExcluded = 0x0080,
1.149 + /**
1.150 + * Construction flag for enabling @c CEikListBox change indication.
1.151 + */
1.152 + EStateChanged = 0x0100,
1.153 + /**
1.154 + * Construction flag that indicates that the list box should be created
1.155 + * to its own window.
1.156 + */
1.157 + ECreateOwnWindow = 0x0200,
1.158 + /**
1.159 + * Construction flag for disabling key matching.
1.160 + */
1.161 + ENoFirstLetterMatching = 0x0400,
1.162 + /**
1.163 + * Construction flag for enabling painting of selected items.
1.164 + */
1.165 + EPaintedSelection = 0x0800,
1.166 + /**
1.167 + * Construction flag for enabling S60 style selection of multiple items
1.168 + * from the list box.
1.169 + */
1.170 + ES60StyleMultiselection = 0x00010000, //32 bits
1.171 + /**
1.172 + * Construction flag for enabling S60 style markable items.
1.173 + */
1.174 + ES60StyleMarkable = 0x00020000 //32 bits
1.175 + };
1.176 + /** List item attributes */
1.177 + enum TListItemAttribute
1.178 + {
1.179 + ECurrent = 0x0001, // may be drawn with a frame
1.180 + /** Item is emphasized */
1.181 + EEmphasized = 0x0002, // special highlight (not selected)
1.182 + /** Item is selected */
1.183 + ESelected = 0x0004, // usually different than emphasized
1.184 + // This last attribute is used to control that one can use only
1.185 + // valid attributes above. So do not use it at all.
1.186 + /** Sum of all other attributes. Do not use */
1.187 + EMask = 0x0007
1.188 + };
1.189 + /** deprecated */
1.190 + enum TListItemFlags
1.191 + {
1.192 + /** deprecated */
1.193 + EItemDrawMarkSelection = 0x0001,
1.194 + /** deprecated */
1.195 + EItemPaintedSelection = 0x0002,
1.196 + /** deprecated */
1.197 + EItemDrawOnlyActiveSelection = 0x0004
1.198 + };
1.199 + };
1.200 +
1.201 +/** Scroll bar thumb orientation enumerations */
1.202 +struct SLafScrollThumb
1.203 + {
1.204 + enum TOrientation
1.205 + {
1.206 + /** Vertical orientation */
1.207 + EVertical,
1.208 + /** Horizontal orientation */
1.209 + EHorizontal
1.210 + };
1.211 + };
1.212 +
1.213 +struct SLafScrollBarFrame
1.214 + {
1.215 + /** Defines the scroll bar’s visibility.*/
1.216 + enum TScrollBarVisibility
1.217 + {
1.218 + /** Scroll bar not visible. */
1.219 + EOff,
1.220 + /** Scroll bar visible. */
1.221 + EOn,
1.222 + /** Scroll bar visible if required. */
1.223 + EAuto
1.224 + };
1.225 +
1.226 + /** Defines where the scroll bar is located. */
1.227 + enum TScrollBarSide
1.228 + {
1.229 + /**
1.230 + * Scroll bar located at the bottom, or to the right of the scroll bar
1.231 + * frame
1.232 + */
1.233 + EBottomOrRight,
1.234 + /**
1.235 + * Scroll bar located at the top, or to the left of the scroll bar
1.236 + * frame
1.237 + */
1.238 + ETopOrLeft
1.239 + };
1.240 +
1.241 + /** Determines how the scroll bar frame manages scroll bars.*/
1.242 + enum TScrollBarManagement
1.243 + {
1.244 + /**
1.245 + * The scroll bar frame creates, destroys and recreates, scroll bars
1.246 + * according to the visibility mode. The scroll bar frame also acts as
1.247 + * an intermediary with its owning control so that the scroll bars can
1.248 + * be treated as component controls.
1.249 + */
1.250 + EComponent,
1.251 + /**
1.252 + * The scroll bar frame creates, destroys and recreates, scroll bars
1.253 + * according to the visibility mode. In this case, the scroll bars are
1.254 + * not treated as component controls. Instead, the scroll bars are
1.255 + * geometry managed in windows floating above the control window and
1.256 + * their position is determined in relation to the frame’s position on
1.257 + * the screen.
1.258 + */
1.259 + EFloating,
1.260 + /**
1.261 + * The scroll bar frame uses the central application scroll bar as held
1.262 + * in the environment. This scroll bar is neither owned by the frame
1.263 + * nor treated as a component control of the frame’s owner.
1.264 + */
1.265 + EApplicationScrollBar
1.266 + };
1.267 + };
1.268 +
1.269 +/** Control group attributes */
1.270 +struct SLafControlGroup
1.271 + {
1.272 + enum TStartCorner
1.273 + {
1.274 + EFromTopLeft=0x1,
1.275 + EFromTopRight=0x2,
1.276 + EFromBottomLeft=0x3,
1.277 + EFromBottomRight=0x4
1.278 + };
1.279 + enum TOrientation
1.280 + {
1.281 + ELayHorizontally=0x10,
1.282 + ELayVertically=0x20
1.283 + };
1.284 + };
1.285 +
1.286 +/** Look of button group container */
1.287 +struct SLafButtonGroupContainer
1.288 + {
1.289 + /** The controls where the button group container is used. */
1.290 + enum TUse
1.291 + {
1.292 + /** View */
1.293 + EView,
1.294 + /** Dialog */
1.295 + EDialog,
1.296 + /** Toolbar */
1.297 + EToolbar,
1.298 + /** Command button area */
1.299 + ECba,
1.300 + /** Dialog buttons */
1.301 + EDialogButtons
1.302 + };
1.303 + /** Orientation of the button group container */
1.304 + enum TOrientation
1.305 + {
1.306 + /** Vertical orientation */
1.307 + EVertical,
1.308 + /** Horizontal orientation */
1.309 + EHorizontal
1.310 + };
1.311 + enum TLocation
1.312 + {
1.313 + /** Button group container used internally for example in dialog buttons */
1.314 + EInternal,
1.315 + /** Button group container used externally for example
1.316 + * in toolbar or CBA (Command Button Area)
1.317 + */
1.318 + EExternal
1.319 + };
1.320 + };
1.321 +
1.322 +struct SLafMenuBar
1.323 + {
1.324 + enum { ENominalTextLength = 40 };
1.325 + };
1.326 +
1.327 +/** Menu pane highlight type enumerations */
1.328 +struct SLafMenuPane
1.329 + {
1.330 + enum THighlightType
1.331 + {
1.332 + ENoHighlight,
1.333 + EDrawHighlight,
1.334 + ERemoveHighlight
1.335 + };
1.336 + };
1.337 +
1.338 +struct SLafButtonBase
1.339 + {
1.340 + /** The draw state enumerations of the button. */
1.341 + enum TDrawState
1.342 + {
1.343 + EDrawClear =0x00,
1.344 + EDrawSet =0x01,
1.345 + EDrawIndeterminate =0x02,
1.346 + EDrawClearPressed =0x10,
1.347 + EDrawSetPressed =0x11,
1.348 + EDrawIndeterminatePressed =0x12
1.349 + };
1.350 + };
1.351 +
1.352 +
1.353 +#endif // __LAFPUBLC_H__