diff -r 000000000000 -r 094583676ce7 wvuing/ImUtils/Inc/IMDialogUtils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wvuing/ImUtils/Inc/IMDialogUtils.h Thu Dec 17 08:41:52 2009 +0200 @@ -0,0 +1,268 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This class provides some useful methods to launch different dialogs. + * +*/ + + + +#ifndef IMDIALOGUTILS_H +#define IMDIALOGUTILS_H + +// INCLUDES +#include +#include // for R_AVKON_SOFTKEYS_EMPTY +#include +// CLASS DECLARATION + +/** + * This class provides some useful methods to launch different dialogs. + * + * @lib chat.app + * @since + */ +class IMDialogUtils + { + public: // Enumerations + + enum TLeftSoftkey + { + EDefault = 0, + ESend, + EOk + }; + + enum TInitialSelectionMode + { + ESelectAll = 0, // Default mode + ESelectNone + }; + + public: // New functions + + /** + * Displays information note with given text + * @since + * @param aText Text to show in note + */ + IMPORT_C static void DisplayInformationNoteL( const TDesC& aText ); + + /** + * Displays information note with given text + * @since + * @param aTextResource Resource for information text () + * @param aParameter Parameter data. If not given, then text is loaded + * with just AllocReadResourceLC + */ + IMPORT_C static void DisplayInformationNoteL( TInt aTextResource, + const TDesC& aParameter = KNullDesC ); + + /** + * This method displays popuplist + * @param aItemList Item list for dialog + * @param aTitleResourceId Resource id of title + * @param aOwnerShipType Ownershiptype + * @param aEmptyListPrompt Prompt of empty list + */ + IMPORT_C static void DisplayPopupListL( MDesCArray* aItemList, + const TInt aTitleResourceId, + TListBoxModelItemArrayOwnership aOwnerShipType, + const TInt aEmptyListPrompt = KErrNotFound ); + + IMPORT_C static void DisplayPopupListL( TInt& aSelectedIndex, MDesCArray* aItemList, + const TDesC& aTitle, + TListBoxModelItemArrayOwnership aOwnerShipType, + const TInt aEmptyListPrompt /*=-1*/ ); + /** + * This method displays Text Query Dialog + * @param aDataText Descriptor whom written data is stored + * @param aTitleResourceId Resource ID of title text + * @param aDialogResource Resource of dialog + * @param aPredictiveInput Enable T9 predictive input (when ETrue) + * @param aLeftSoftkeyAlwaysVisible Is LSK always visible, or visible + * only when there is text in the editor. + * @param aLeftSoftkey Left soft key of dialog. + * @param aSelectionMode Initial selection mode in dialog editor. + * @param aDomainSelectionQuery Is domain selection variated on or not, + * ETrue causes dialog to exit when editor field + * is cleared by user. + * @return KeyCode (e.g. EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayTextQueryDialogL( TDes& aDataText, + const TInt aTitleResourceId, + const TInt aDialogResourceId, + TBool aPredictiveInput = EFalse, + TBool aLeftSoftkeyAlwaysVisible = EFalse, + TLeftSoftkey aLeftSoftkey = EDefault, + TInitialSelectionMode aSelectionMode = ESelectAll, + TBool aDomainSelectionQuery = EFalse ); + + /** + * Displays message query dialog + * @param aDialogResourceId Dialog resource + * @param aMsgText Message text (empty by default) + * @param aHeaderText Header text (empty by default) + * @param aPredictiveInput Turn on T9 support if ETrue (off by default) + * @return status + */ + IMPORT_C static TInt DisplayMessageQueryDialogL( const TInt aDialogResourceId, + const TDesC& aMsgText = KNullDesC, + const TDesC& aHeaderText = KNullDesC, + TBool aPredictiveInput = EFalse ); + + /** + * Displays multiselection list query dialog. + * Returns NULL if aItemList is empty or if user cancels the query! + * + * @param aItemList List of items in selection list + * @param aTitle Dialog title + * @return Selected items, NOTE THAT THE OWNERSHIP IS TRANSFERRED TO CALLER! + */ + IMPORT_C static CDesCArray* MultiselectionListQueryDialogL( + const MDesCArray& aItemList, + const TDesC& aTitle ); + + /** + * This method displays multiselection List Query Dialog. + * NOTE that it is the responsibility of the caller to use + * cleanupstack for aItemList (ownership is NOT transferred to the + * list box). + * @param aIndexArray Array of selections that are selected in dialog + * @param aItemList Array of list items (must be formatted) + * @param aDialogResourceId Resource ID of dialog + * @param aArrayOfSelectionIndexes Array of predefined indexes (not mandatory) + * @param aListEmptyText Text to be shown if the list is empty + * @param aAlternativeTitle Alternative title text + * @param aIsForwardQuery The dialog is for forwarding the message (ETrue) + * @return KeyCode (e.g. EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayListQueryDialogL( CArrayFix< TInt >* aIndexArray, + MDesCArray* aItemList, + const TInt aDialogResourceId, + CArrayFix< TInt >* aArrayOfSelectionIndexes = NULL, + const TDesC& aListEmptyText = KNullDesC, + const TDesC& aAlternativeTitle = KNullDesC ); + + /** + * This method displays singleselection List Query Dialog + * NOTE that it is the responsibility of the caller to use + * cleanupstack for aItemList (ownership is NOT transferred to the + * list box). + * @param aSelectedIndex Index of selected item + * @param aItemList List of Items (Must be formatted) + * @param aDialogResourceId Resource ID of dialog + * @param aIsForwardQuery The dialog is for forwarding the message (ETrue) + * @return KeyCode (e.g. EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayListQueryDialogL( TInt* aSelectedIndex, + MDesCArray* aItemList, + const TInt aDialogResourceId, + const TDesC& aAlternativeTitle = KNullDesC, + const TDesC& aListEmptyText = KNullDesC, + const TBool aIsForwardQuery = EFalse, + const TBool aIsOnlySelect = EFalse ); + + /** + * This method displays note dialogs e.g. confirmation dialog + * Note dialog's type is defined in resource file + * @param aResourceId Resource ID of dialog + * @return KeyCode (e.g. EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayNoteDialogL( const TInt aResourceId ); + + /** + * This method displays note dialogs e.g. confirmation dialog + * Note dialog's type is defined in resource file + * @param aText Prompt text of dialog + * @param aButtonsResourceId tells buttons that are shown with note, default none + * @param aTimeout timeout when note showing stops + * @return KeyCode (e.g. EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayNoteDialogL( const TDesC& aText, + const TInt aButtonsResourceId = R_AVKON_SOFTKEYS_EMPTY, + const CAknNoteDialog::TTimeout& aTimeout = CAknNoteDialog::EShortTimeout ); + + /** + * This method displays error notes for corresponding resource Id + * @param aResourceId Id for resource to be shown + * @return KeyCode + */ + IMPORT_C static TInt DisplayErrorNoteL( const TInt aResourceId ); + + /** + * This method displays error notes for corresponding resource Id + * @param aText Prompt text of dialog + * @param aSoftkeyOk Should there be OK softkey + * @return KeyCode + */ + IMPORT_C static TInt DisplayErrorNoteL( const TDesC& aText, TBool aSoftkeyOk = EFalse ); + + /** + * Displays query dialog with given data + * @param aDialogResourceId Dialogs resource id + * @param aTextResourceId Resource id of the text + * @return Dialog dismiss key + */ + IMPORT_C static TInt DisplayQueryDialogL( TInt aDialogResourceId, + TInt aTextResourceId ); + + /** + * Displays query dialog with given data + * @param aDialogResourceId Dialogs resource id + * @param aPrompt Prompt text + * @return Dialog dismiss key + */ + IMPORT_C static TInt DisplayQueryDialogL( TInt aDialogResourceId, + const TDesC& aPrompt = KNullDesC ); + + /** + * Displays YES/NO query dialog with given text prompt + * @param aTextResourceId Resource id of the text + * @return Dialog dismiss key + */ + IMPORT_C static TInt DisplayYesNoConfirmationDialogL( TInt aTextResourceId ); + + /** + * Displays YES/NO query dialog with given text prompt + * @param aPrompt Prompt text + * @return Dialog dismiss key + */ + IMPORT_C static TInt DisplayYesNoConfirmationDialogL( const TDesC& aPrompt ); + + /** + * Displays Error notification with OK softkey and given text prompt + * @param aTextResourceId Resource id of the text + * @return Dialog dismiss key (EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayErrorConfirmationNoteL( TInt aTextResourceId ); + + /** + * Displays Error notification with OK softkey and given text prompt + * @param aPrompt Prompt text + * @return Dialog dismiss key (EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayErrorConfirmationNoteL( const TDesC& aPrompt ); + + /** + * Displays confirmation notification with given text prompt and + * without softkeys + * @param aPrompt Prompt text + * @return Dialog dismiss key (EAknSoftKeyOk) + */ + IMPORT_C static TInt DisplayConfirmationNoteL( TInt aTextResourceId ); + }; + +#endif // IMDIALOGUTILS_H + +// End of File