MAknQueryValue Class Reference

#include <mw/AknQueryValue.h>

class MAknQueryValue
Public Member Enumerations
enumTMode { EQueryMode, ESettingPageMode }
Protected Member Enumerations
enumTFlagBits { ESettingPageModeBitIndex, EAutoAppendBitIndex }
Public Member Functions
virtual ~MAknQueryValue()
pure virtual TBool CreateEditorL()
pure virtual TInt CurrentValueIndex()
pure virtual HBufC *CurrentValueTextLC()
pure virtual const MDesCArray *MdcArray()
pure virtual voidSetAutoAppend(TBool)
pure virtual voidSetCurrentValueIndex(const TInt)
pure virtual voidSetQueryMode(MAknQueryValue::TMode)
pure virtual voidSetSettingPageResourceIds(TInt, TInt)
Protected Member Functions
pure virtual voidAppendValueIfNewL()

Detailed Description

Mixin class representing a value that is accessed as text.

The Value can be changed by creating an editor dialog, which may be either a query or a setting page or optionally by choosing an entry from an array of values. The array can be accessed as a descriptor array, and the value can be accessed as a descriptor.

Member Enumeration Documentation

Enum TFlagBits

If EAutoAppendBitIndex is set, the query value auto appends new values

EnumeratorValueDescription
ESettingPageModeBitIndex0
EAutoAppendBitIndex

Enum TMode

Possible modes are query & setting page

EnumeratorValueDescription
EQueryMode
ESettingPageMode

Constructor & Destructor Documentation

~MAknQueryValue ( )

~MAknQueryValue()[inline, virtual]

Member Function Documentation

AppendValueIfNewL ( )

voidAppendValueIfNewL()[protected, pure virtual]

Method to add the current value to the QueryValueArray if it is new. The new value is not owned by QueryValue object, but is "given away"

CreateEditorL ( )

TBool CreateEditorL()[pure virtual]

Creates an editor within context. If the value is edited and OK'd, the new value will be set as the current value. Otherwise the current value remains unchanged.

Returns: ETrue if current value was altered; EFalse otherwise

CurrentValueIndex ( )

TInt CurrentValueIndex()const [pure virtual]

Returns the index in the array of the current value. If no matches, returns zero

CurrentValueTextLC ( )

HBufC *CurrentValueTextLC()[pure virtual]

This should be implemented so that it returns the current value as text

Returns: descriptor representing current value, new descriptor is created and left on cleanup stack, ownership passed back to client

MdcArray ( )

const MDesCArray *MdcArray()const [pure virtual]

Returns the array as a descriptor array, ownership will be not passed

SetAutoAppend ( TBool )

voidSetAutoAppend(TBoolaAppend)[pure virtual]

Set the QueryValue to append a new user value, if distinct from former value

ParameterDescription
aAppendset/unset flag EAutoAppendBitIndex

SetCurrentValueIndex ( const TInt )

voidSetCurrentValueIndex(const TIntaIndex)[pure virtual]

Changes the current value to correspond to a value in the array.

ParameterDescription
aIndexindex in array of value to set as current

SetQueryMode ( MAknQueryValue::TMode )

voidSetQueryMode(MAknQueryValue::TModeaMode)[pure virtual]

Set QueryMode to be whether query or settingpage -mode

TMode

ParameterDescription
aModevalue from

SetSettingPageResourceIds ( TInt, TInt )

voidSetSettingPageResourceIds(TIntaSettingPageResourceId,
TIntaSettingPageEditorResourceId
)[pure virtual]

Override the default resource IDs used if a Setting Page mode query is put up. All Queryvalue implementations should have default resource set up. Hence this need not be called unless non-default resource is required.

THE IMPLEMENTATION OF THESE RESOURCE OVERRIDES IS RESERVED FOR FUTURE VERSIONS OF SERIES 60. NOT CURRENTLY FUNCTIONAL. DO NOT USE.

The rules for usage of these ids is the same as that for the CAknSettingPage constructors that take both these resources Editor Resource Setting Page Resource present present Both are used (but text & number overridden) = 0 present Editor resource is used via SP resource present = 0 default SP resource for the query type is used + this editor resource

The type of the editor resource is fixed. If editor resource override is being used, then the resource must be for that control type of editor used in the CAknQueryValueXXXX class.

ParameterDescription
aSettingPageResourceIdAVKON_SETTING_PAGE resource ID to use
aSettingPageEditorResourceIdEditor resource ID to use (takes precedence)