epoc32/include/mw/eiktxlbx.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 1997-1999 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@4
     5
* under the terms of "Eclipse Public License v1.0"
williamr@2
     6
* which accompanies this distribution, and is available
williamr@4
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.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
#if !defined(__EIKTXLBX_H__)
williamr@2
    20
#define __EIKTXLBX_H__
williamr@2
    21
williamr@2
    22
#if !defined(__COECNTRL_H__)
williamr@2
    23
#include <coecntrl.h>
williamr@2
    24
#endif
williamr@2
    25
williamr@2
    26
#if !defined(__EIKLBX_H__)
williamr@2
    27
#include <eiklbx.h>
williamr@2
    28
#endif
williamr@2
    29
williamr@2
    30
#if !defined(__EIKLBM_H__)
williamr@2
    31
#include <eiklbm.h>
williamr@2
    32
#endif
williamr@2
    33
williamr@2
    34
class CTextListBoxModel;
williamr@2
    35
williamr@2
    36
/**
williamr@2
    37
* List box for displaying text.
williamr@2
    38
*
williamr@2
    39
* Text list boxes use the standard list box view, @c CListBoxView, and a 
williamr@2
    40
* customised item drawer and list box model.
williamr@2
    41
*
williamr@2
    42
* @since Symbian 5.0
williamr@2
    43
*/
williamr@2
    44
class CEikTextListBox : public CEikListBox
williamr@2
    45
	{
williamr@2
    46
public:
williamr@2
    47
williamr@2
    48
    /**
williamr@2
    49
     * Destructor.
williamr@2
    50
     */
williamr@2
    51
    IMPORT_C ~CEikTextListBox();
williamr@2
    52
williamr@2
    53
    /**
williamr@2
    54
     * C++ default constructor.
williamr@2
    55
     */
williamr@2
    56
    IMPORT_C CEikTextListBox();
williamr@2
    57
    
williamr@2
    58
    /**
williamr@2
    59
     * Second phase construction from a resource.
williamr@2
    60
     *
williamr@2
    61
     * This constructor initialises the list box model, flags, required 
williamr@2
    62
     * dimensions etc. from a resource. The function fully constructs the 
williamr@2
    63
     * associated list box model and item drawer for this list box.
williamr@2
    64
     *
williamr@2
    65
     * @param aReader A resource reader initialised to point at a list box
williamr@2
    66
     *        resource
williamr@2
    67
     */
williamr@2
    68
    IMPORT_C virtual void ConstructFromResourceL(TResourceReader& aReader);
williamr@2
    69
	
williamr@2
    70
    /**
williamr@2
    71
     * By default Symbian 2nd phase constructor is private
williamr@2
    72
     *
williamr@2
    73
     * This initializes the C-classes of a newly-created @c CEikTextListBox 
williamr@2
    74
     * from supplied arguments. This function fully constructs the associated 
williamr@2
    75
     * list box model and item drawer for this list box, and then invokes 
williamr@2
    76
     * @c CEikListBox::ConstructL().
williamr@2
    77
     *
williamr@2
    78
     * @param aParent Parent control for this control. 
williamr@2
    79
     * @param aFlags Flags for the list box.
williamr@2
    80
     */
williamr@2
    81
    IMPORT_C void ConstructL(const CCoeControl* aParent, TInt aFlags = 0);
williamr@2
    82
williamr@2
    83
    /**
williamr@2
    84
     * Gets the text list box model.
williamr@2
    85
     *
williamr@2
    86
     * @return The text list box model used by this list box.
williamr@2
    87
     */
williamr@2
    88
    IMPORT_C CTextListBoxModel* Model() const;
williamr@2
    89
williamr@2
    90
public:	// from CCoeControl
williamr@2
    91
williamr@2
    92
    /**
williamr@2
    93
     * From @c CCoeControl.
williamr@2
    94
     *
williamr@2
    95
     * Gets the list of logical colours employed in the drawing of the control,
williamr@2
    96
     * paired with an explanation of how they are used. Appends the list to 
williamr@2
    97
     * @c aColorUseList.
williamr@2
    98
     *
williamr@2
    99
     * @deprecated
williamr@2
   100
     * @param aColorUseList List of logical colours.
williamr@2
   101
     */
williamr@2
   102
    IMPORT_C virtual void GetColorUseListL(
williamr@2
   103
                                CArrayFix<TCoeColorUse>& aColorUseList) const; 
williamr@2
   104
                                // not available before Release 005u
williamr@2
   105
williamr@2
   106
    /**
williamr@2
   107
     * From @c CCoeControl.
williamr@2
   108
     *
williamr@2
   109
     * Handles a change to the control's resources. These resources are of 
williamr@2
   110
     * type aType, which are shared across the environment, for example 
williamr@2
   111
     * colours or fonts.
williamr@2
   112
     *
williamr@2
   113
     * @param aType The type of resource that has changed.
williamr@2
   114
     */
williamr@2
   115
    IMPORT_C virtual void HandleResourceChange(TInt aType);			
williamr@2
   116
                    // not available before Release 005u
williamr@2
   117
    /**
williamr@2
   118
     * From @c CCoeControl.
williamr@2
   119
     *
williamr@2
   120
     * Handles pointer events. 
williamr@2
   121
     *
williamr@2
   122
     * @param aPointerEvent The pointer event.
williamr@2
   123
     */
williamr@2
   124
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
williamr@2
   125
protected: //from CCoeControl
williamr@2
   126
williamr@2
   127
    /**
williamr@2
   128
     * From @c CCoeControl
williamr@2
   129
     *
williamr@2
   130
     * Write internal state of the @c CEikTextListBox to the given stream.
williamr@2
   131
     * NOTE: Only operational in debug mode.
williamr@2
   132
     *
williamr@2
   133
     * @param aWriteStream Target stream.
williamr@2
   134
     */
williamr@2
   135
    IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
williamr@2
   136
williamr@2
   137
protected:
williamr@2
   138
	
williamr@2
   139
    /**
williamr@2
   140
     * Creates @c CTextListItemDrawer for @c CListBoxView for drawing
williamr@2
   141
     * individual list box items .
williamr@2
   142
     */
williamr@2
   143
    IMPORT_C virtual void CreateItemDrawerL();
williamr@2
   144
williamr@2
   145
private:
williamr@2
   146
    /**
williamr@2
   147
    * From CAknControl
williamr@2
   148
    */
williamr@2
   149
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   150
private:
williamr@2
   151
	IMPORT_C virtual void CEikListBox_Reserved(); // listbox use only
williamr@2
   152
protected:
williamr@2
   153
	TInt iRequiredCellCharWidth;
williamr@2
   154
private:
williamr@2
   155
	
williamr@2
   156
    TInt iSpare;		// Unused
williamr@2
   157
	};
williamr@2
   158
williamr@2
   159
/**
williamr@2
   160
* Horizontal snaking text list box.
williamr@2
   161
* 
williamr@2
   162
* This snaking list box is intended for displaying text. The list box lays its 
williamr@2
   163
* items out using the @c CEikSnakingListBox algorithms, and uses a 
williamr@2
   164
* @c CTextListItemDrawer to draw its items.
williamr@2
   165
*
williamr@2
   166
* @since Symbian 5.0
williamr@2
   167
*/
williamr@2
   168
class CEikSnakingTextListBox : public CEikSnakingListBox
williamr@2
   169
	{
williamr@2
   170
public:
williamr@2
   171
	
williamr@2
   172
    /**
williamr@2
   173
     * Destructor.
williamr@2
   174
     */
williamr@2
   175
    IMPORT_C ~CEikSnakingTextListBox();
williamr@2
   176
williamr@2
   177
    /**
williamr@2
   178
     * C++ default constructor.
williamr@2
   179
     */
williamr@2
   180
    IMPORT_C CEikSnakingTextListBox();
williamr@2
   181
	
williamr@2
   182
    /**
williamr@2
   183
     * By default Symbian 2nd phase constructor is private.
williamr@2
   184
     *
williamr@2
   185
     * Completes the construction of a default-constructed snaking text list 
williamr@2
   186
     * box, initialising its heap-stored members from the supplied arguments. 
williamr@2
   187
     * This function will leave if any of the pointer members being 
williamr@2
   188
     * constructed leave.
williamr@2
   189
     *
williamr@2
   190
     * @param aParent Parent control. 
williamr@2
   191
     * @param aFlags Flags for the control. 
williamr@2
   192
     * @see @c CEikListBox::TFlags
williamr@2
   193
     */
williamr@2
   194
    IMPORT_C void ConstructL(const CCoeControl* aParent, TInt aFlags = 0);
williamr@2
   195
williamr@2
   196
    /**
williamr@2
   197
     * Gets a pointer to the model used by this list box.
williamr@2
   198
     *
williamr@2
   199
     * @return This list box model.
williamr@2
   200
     */
williamr@2
   201
    IMPORT_C CTextListBoxModel* Model() const;
williamr@2
   202
williamr@2
   203
public:	// from CCoeControl
williamr@2
   204
	
williamr@2
   205
    /**
williamr@2
   206
     * From @c CCoeControl.
williamr@2
   207
     *
williamr@2
   208
     * Not implemented or used in S60.
williamr@2
   209
     *
williamr@2
   210
     * @param aColorUseList On return, a list of logical colours.
williamr@2
   211
     */
williamr@2
   212
    IMPORT_C virtual void GetColorUseListL(
williamr@2
   213
                        CArrayFix<TCoeColorUse>& aColorUseList) const; 
williamr@2
   214
                        // not available before Release 005u
williamr@2
   215
williamr@2
   216
    /**
williamr@2
   217
     * From @c CCoeControl.
williamr@2
   218
     *
williamr@2
   219
     * Handles a change in a resource.
williamr@2
   220
     *
williamr@2
   221
     * The types (@c aType) of list box resources handled are those which 
williamr@2
   222
     * are shared across the environment, for example, colours or fonts.
williamr@2
   223
     *
williamr@2
   224
     * @param aType The type of resource that has changed.
williamr@2
   225
     */
williamr@2
   226
    IMPORT_C virtual void HandleResourceChange(TInt aType);			
williamr@2
   227
                        // not available before Release 005u
williamr@2
   228
williamr@2
   229
    /**
williamr@2
   230
     * From @c CCoeControl.
williamr@2
   231
     *
williamr@2
   232
     * Handles pointer events. 
williamr@2
   233
     *
williamr@2
   234
     * @param aPointerEvent The pointer event.
williamr@2
   235
     */
williamr@2
   236
    IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);	
williamr@2
   237
private:
williamr@2
   238
    /**
williamr@2
   239
    * From CAknControl
williamr@2
   240
    */
williamr@2
   241
    IMPORT_C void* ExtensionInterface( TUid aInterface );
williamr@2
   242
    };
williamr@2
   243
williamr@2
   244
williamr@2
   245
#endif  // __EIKTXLBX_H__