--- /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 <eiklbm.h>
+#include <avkon.rsg> // for R_AVKON_SOFTKEYS_EMPTY
+#include <aknnotedialog.h>
+// 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