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