epoc32/include/mw/lafpublc.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     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__