--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/voiceui/voiceuivoicerecognition/inc/vuicnbestlistdialog.h Wed Sep 01 12:29:17 2010 +0100
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2004-2008 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: Definition of class that shows the N-Best List
+*
+*/
+
+#ifndef VUICNBESTLISTDIALOG_H
+#define VUICNBESTLISTDIALOG_H
+
+// INCLUDES
+#include <aknlists.h>
+#include <aknlistquerydialog.h>
+#include <AknMediatorObserver.h>
+
+// FORWARD DECLARATIONS
+class CAknIconArray;
+class CListQueryDialog;
+class MKeyCallback;
+
+// CONSTANTS
+
+// CLASS DECLARATION
+
+/**
+* The N-Best List Dialog
+* @lib VoiceUiRecognition.lib
+*/
+NONSHARABLE_CLASS( CNBestListDialog ) : public CCoeControl,
+ public MEikCommandObserver,
+ public MAknDialogMediatorObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CNBestListDialog* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CNBestListDialog();
+
+ public: // New functions
+
+ /**
+ * Registers given object as a key listener
+ */
+ void RegisterForKeyCallback( MKeyCallback* aKeyCallback );
+
+ /**
+ * Creates N-Best List
+ * @param aItems Items that will be shown in the list. Takes ownership of the list.
+ * @param aHeader Optional header text for the list
+ */
+ void CreateNBestListPopupLC( CDesC16ArrayFlat* aItems,
+ const TDesC& aHeader = KNullDesC );
+
+ /**
+ * Shows N-Best List
+ * @return Key value that caused the dialog to be dismissed
+ */
+ TInt ShowNBestListPopupL();
+
+ /**
+ * Sets n-best list softkeys
+ * @param aResourceId Softkey resource id
+ */
+ void SetSoftkeysL( TInt aResourceId );
+
+ /**
+ * Sets optional commands hidder or visible
+ * @param aHidden ETrue if commands should be hidden else EFalse
+ */
+ void SetCommandsHidden( TBool aHidden );
+
+ /**
+ * Takes care of the headset short key presses. Replaces the list with new one
+ * or moves down one item in the list.
+ * @param aItems New items that will be shown in the list. Takes ownership of the list.
+ * @return EFalse if the end of the list is passed else ETrue
+ */
+ TBool HandleShortKeypressL( CDesC16ArrayFlat* aItems );
+
+ /**
+ * Returns currently selected index
+ * @return Index of current n-best list selection
+ */
+ TInt SelectedIndex();
+
+ public: // Functions from base classes
+
+ /**
+ * From CCoeControl Called when a key is pressed
+ * @see CCoeControl
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+ /**
+ * From MEikCommandObserver
+ * @see MEikCommandObserver for more information.
+ */
+ void ProcessCommandL( TInt aCommandId );
+
+ /**
+ * From MAknDialogMediatorObserver
+ * @see MAknDialogMediatorObserver for more information.
+ */
+ TAknDialogMediatorObserverCommand MediatorCommandL( TUid aDomain, TUid aCategory,
+ TInt aCommandId,
+ const TDesC8& aData );
+
+ /**
+ * From MAknDialogMediatorObserver
+ * @see MAknDialogMediatorObserver for more information.
+ */
+ void NotifyMediatorExit();
+
+ private: // New functions
+
+ /**
+ * Converts key event to one of keypress enumeration values
+ * @param aKeyEvent Original key event
+ * @return One of keypress enumeration values
+ */
+ TInt ConvertKeyEventL( const TKeyEvent& aKeyEvent );
+
+ /**
+ * Creates new icon array. Ownership is transferred to caller.
+ * @return Icon array
+ */
+ CArrayPtr<CGulIcon>* CreateIconArrayL();
+
+ /**
+ * Load a possibly skinned icon (with mask) and append it to an
+ * icon array.
+ * @param aArray Icon array to add the icon to
+ * @param aID Skin ID for the icon
+ * @param aBitmapId Id for the default icon in the MBM file
+ * @param aMaskId Id for the default icon mask in the MBM file
+ */
+ static void AppendIconToArrayL( CAknIconArray* aArray,
+ const TAknsItemID& aID,
+ TInt aBitmapId,
+ TInt aMaskId );
+
+ /**
+ * Creates and sets n-best list data to secondary display
+ * @param aItems New items that will be shown in the list. Takes ownership of the list.
+ */
+ void CreateAndSetSecondaryDisplayDataL( CDesC16ArrayFlat* aItems );
+
+ private: // Constructors
+
+ /**
+ * C++ default constructor.
+ */
+ CNBestListDialog();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ private: //data
+
+ // Dialog
+ CListQueryDialog* iDialog;
+
+ // Key observer
+ MKeyCallback* iKeyCallback;
+
+ // Index of currently selected item
+ TInt iCurrentIndex;
+
+ // Number of tags in the list
+ TInt iTagCount;
+
+ // Current CBA resource id
+ TInt iCba;
+ };
+
+#endif // VUICNBESTLISTDIALOG_H
+
+// End of File
\ No newline at end of file