wvuing/ImUtils/Inc/IMDialogUtils.h
changeset 0 094583676ce7
--- /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