diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mw/lafpublc.h --- a/epoc32/include/mw/lafpublc.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/mw/lafpublc.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,349 @@ -lafpublc.h +/* +* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* 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 +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef __LAFPUBLC_H__ +#define __LAFPUBLC_H__ + +#include + +/** @deprecated */ +const TInt KLafScrollBarButtonPositionMask = 0x00C0; + +/** @deprecated */ +struct SLafScrollButton + { + enum TType + { + ENudgeLeft, + ENudgeUp, + ENudgeRight, + ENudgeDown, + EPageLeft, + EPageUp, + EPageRight, + EPageDown, + EHome, + ETop, + EEnd, + EBottom + }; + }; + +struct SLafScrollBar + { + /** + * Scroll bar initialisation flags. The default is for the scroll bar + * to have both a shaft and a thumb. + */ + enum TEikScrollBarFlags + { + /** Default */ + EEikScrollBarDefaultBehaviour =0x0000, + /** Does not display nudge buttons.*/ + EEikScrollBarNoNudgeButtons =0x0001, + /** Has buttons which move it a page at a time. */ + EEikScrollBarHasPageButtons =0x0002, + /** Has buttons which move it its entire extent. */ + EEikScrollBarHasHomeEndButtons =0x0004, + /** Central area is empty. */ + EEikScrollBarNoShaftOrThumb =0x0008, + /** Central area has no scroll thumb. */ + EEikScrollBarShaftButNoThumb =0x0010, + /** Buttons are placed at the start of the bar. */ + EButtonsAtStartOfShaft =0x0040, + /** Buttons are placed at the end of the bar. */ + EButtonsAtEndOfShaft =0x0080, + /** + * Buttons are placed at either end of the bar @c + * (EButtonsAtStartOfShaft | @c EButtonsAtEndOfShaft). + */ + EButtonsEitherSideOfShaft =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft, + /** + * Buttons do not automatically dim when scroll bar is at its maximum + * extent. + */ + ENoAutoDimming =0x0100 + }; + + /** Scroll bar orientation enumerations. */ + enum TOrientation + { + /** Scroll bar is oriented vertically. */ + EVertical, + /** Scroll bar is oriented horizontally. */ + EHorizontal + }; + + }; + +/** Flags for listboxes */ +struct SLafListBox + { + /** + * Listbox construction flags. + */ + enum TFlags + { + /** + * Construction flag for a list box from which the user can + * select multiple items. + */ + EMultipleSelection = 0x0001, + /** + * Construction flag for disabling extended selection. + * If this is set the user cannot select multiple items by + * using @c SHIFT button. + */ + ENoExtendedSelection = 0x0002, + /** + * Construction flag that sets the list box to match user’s keystrokes + * incrementally. + */ + EIncrementalMatching = 0x0004, + /** + * Construction flag for setting the list box as a pop-out list box. + * Pop-out list boxes handle certain keystrokes and events differently. + */ + EPopout = 0x0008, + /** + * Construction flag that enables the indication of pointer press + * inside the view of the list box. + */ + ELeftDownInViewRect = 0x0010, + /** + * Construction flag for enabling @c CEiklist box item double click + * indication. + */ + EItemDoubleClicked = 0x0020, + /** + * Construction flag for removing the ownership of the supplied list box + * model from the @c CEikListBox so that the list box model will not be + * deleted with the @c CEikListBoxes destruction. + */ + EKeepModel = 0x0040, + /** + * Construction flag for excluding the scroll bar. + * If the flag is set the scroll bas is drawn ouside the window that + * describes the scroll bars extent. + */ + EScrollBarSizeExcluded = 0x0080, + /** + * Construction flag for enabling @c CEikListBox change indication. + */ + EStateChanged = 0x0100, + /** + * Construction flag that indicates that the list box should be created + * to its own window. + */ + ECreateOwnWindow = 0x0200, + /** + * Construction flag for disabling key matching. + */ + ENoFirstLetterMatching = 0x0400, + /** + * Construction flag for enabling painting of selected items. + */ + EPaintedSelection = 0x0800, + /** + * Construction flag for enabling S60 style selection of multiple items + * from the list box. + */ + ES60StyleMultiselection = 0x00010000, //32 bits + /** + * Construction flag for enabling S60 style markable items. + */ + ES60StyleMarkable = 0x00020000 //32 bits + }; + /** List item attributes */ + enum TListItemAttribute + { + ECurrent = 0x0001, // may be drawn with a frame + /** Item is emphasized */ + EEmphasized = 0x0002, // special highlight (not selected) + /** Item is selected */ + ESelected = 0x0004, // usually different than emphasized + // This last attribute is used to control that one can use only + // valid attributes above. So do not use it at all. + /** Sum of all other attributes. Do not use */ + EMask = 0x0007 + }; + /** deprecated */ + enum TListItemFlags + { + /** deprecated */ + EItemDrawMarkSelection = 0x0001, + /** deprecated */ + EItemPaintedSelection = 0x0002, + /** deprecated */ + EItemDrawOnlyActiveSelection = 0x0004 + }; + }; + +/** Scroll bar thumb orientation enumerations */ +struct SLafScrollThumb + { + enum TOrientation + { + /** Vertical orientation */ + EVertical, + /** Horizontal orientation */ + EHorizontal + }; + }; + +struct SLafScrollBarFrame + { + /** Defines the scroll bar’s visibility.*/ + enum TScrollBarVisibility + { + /** Scroll bar not visible. */ + EOff, + /** Scroll bar visible. */ + EOn, + /** Scroll bar visible if required. */ + EAuto + }; + + /** Defines where the scroll bar is located. */ + enum TScrollBarSide + { + /** + * Scroll bar located at the bottom, or to the right of the scroll bar + * frame + */ + EBottomOrRight, + /** + * Scroll bar located at the top, or to the left of the scroll bar + * frame + */ + ETopOrLeft + }; + + /** Determines how the scroll bar frame manages scroll bars.*/ + enum TScrollBarManagement + { + /** + * The scroll bar frame creates, destroys and recreates, scroll bars + * according to the visibility mode. The scroll bar frame also acts as + * an intermediary with its owning control so that the scroll bars can + * be treated as component controls. + */ + EComponent, + /** + * The scroll bar frame creates, destroys and recreates, scroll bars + * according to the visibility mode. In this case, the scroll bars are + * not treated as component controls. Instead, the scroll bars are + * geometry managed in windows floating above the control window and + * their position is determined in relation to the frame’s position on + * the screen. + */ + EFloating, + /** + * The scroll bar frame uses the central application scroll bar as held + * in the environment. This scroll bar is neither owned by the frame + * nor treated as a component control of the frame’s owner. + */ + EApplicationScrollBar + }; + }; + +/** Control group attributes */ +struct SLafControlGroup + { + enum TStartCorner + { + EFromTopLeft=0x1, + EFromTopRight=0x2, + EFromBottomLeft=0x3, + EFromBottomRight=0x4 + }; + enum TOrientation + { + ELayHorizontally=0x10, + ELayVertically=0x20 + }; + }; + +/** Look of button group container */ +struct SLafButtonGroupContainer + { + /** The controls where the button group container is used. */ + enum TUse + { + /** View */ + EView, + /** Dialog */ + EDialog, + /** Toolbar */ + EToolbar, + /** Command button area */ + ECba, + /** Dialog buttons */ + EDialogButtons + }; + /** Orientation of the button group container */ + enum TOrientation + { + /** Vertical orientation */ + EVertical, + /** Horizontal orientation */ + EHorizontal + }; + enum TLocation + { + /** Button group container used internally for example in dialog buttons */ + EInternal, + /** Button group container used externally for example + * in toolbar or CBA (Command Button Area) + */ + EExternal + }; + }; + +struct SLafMenuBar + { + enum { ENominalTextLength = 40 }; + }; + +/** Menu pane highlight type enumerations */ +struct SLafMenuPane + { + enum THighlightType + { + ENoHighlight, + EDrawHighlight, + ERemoveHighlight + }; + }; + +struct SLafButtonBase + { + /** The draw state enumerations of the button. */ + enum TDrawState + { + EDrawClear =0x00, + EDrawSet =0x01, + EDrawIndeterminate =0x02, + EDrawClearPressed =0x10, + EDrawSetPressed =0x11, + EDrawIndeterminatePressed =0x12 + }; + }; + + +#endif // __LAFPUBLC_H__