--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/voiceui/pbkinfoviewimpl/inc/pbkinfoviewdialogutil.h Thu Dec 17 08:46:30 2009 +0200
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2005 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: Utility class for info view dialog.
+*
+*/
+
+
+#ifndef PBKINFOVIEWDIALOGUTIL_H
+#define PBKINFOVIEWDIALOGUTIL_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include <akntabgrp.h> // for AknTextUtils
+#include <aknlistquerycontrol.h>
+#include <AknQueryDialog.h>
+#include <AknsUtils.h> // for AknsUtils
+
+// CONSTANTS
+const TInt KBufSize = 128;
+
+
+/**
+* TDialogUtil
+*
+* TDialogUtil contains general dialog utilities.
+*/
+NONSHARABLE_CLASS ( TDialogUtil )
+ {
+ public:
+
+ /**
+ * Constructs a list-box item for CAknDoubleLargeStyleListBox.
+ * @param aFirstLine First line of the dialog item
+ * @param aSecondLine Second line of the dialog item
+ * @param aIconIndex Icon index
+ * @return HBufC* Pointer to the newly created list box item.
+ */
+ static HBufC* ConstructListBoxItemLC( const TDesC& aFirstLine,
+ const TDesC& aSecondLine,
+ TInt aIconIndex );
+
+ /**
+ * Constructs an independent CGulIcon object with fallback support.
+ * If no matching item (aId) is found in the currently active skin,
+ * attempts to construct the item using the given file (last 3 parameters).
+ * @param aID Item ID of the masked bitmap to be created.
+ * @param aFilename Filename to be used to construct the item,
+ * @param aFileBitmapId Id (for bitmap) in the file.
+ * @param aFileMaskId Id (for mask) in the file.
+ * @return CGulIcon* Pointer to the newly created CGulIcon object.
+ * Ownership of the object is transferred to the caller.
+ */
+ static CGulIcon* CreateIconL( TAknsItemID aId, const TDesC& aFileName,
+ TInt aFileBitmapId, TInt aFileMaskId);
+ };
+
+/**
+* CStatusPaneHandler
+*
+* This class is used for changing dialog title and image.
+*/
+NONSHARABLE_CLASS (CStatusPaneHandler) : public CBase
+ {
+ public:
+ /**
+ * Two-phased constructor.
+ */
+ static CStatusPaneHandler* NewL(CAknAppUi* aAppUi);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CStatusPaneHandler();
+
+ private:
+ /**
+ * By default Symbian OS constructor is private.
+ */
+ void ConstructL();
+
+ /**
+ * C++ default constructor.
+ */
+ CStatusPaneHandler(CAknAppUi* aAppUi);
+
+ public:
+ /**
+ * Sets the member variable for previous title.
+ * @param None.
+ * @return None.
+ */
+ void StoreOriginalTitleL();
+
+ /**
+ * Sets the dialog title.
+ * @param aResourceId Resource id from resource file.
+ * @return None.
+ */
+ void SetTitleL( TInt aResourceId );
+
+ /**
+ * Restores previous title when returning to previous view.
+ * @param None.
+ * @return None.
+ */
+ void RestorePreviousTitleL();
+
+ private:
+ /**
+ * Gets the dialog title.
+ * @param aAppUi Pointer to UI class.
+ * @param aText Title will be put to this variable.
+ * @return TBool ETrue: success / EFalse: failure.
+ */
+ static TBool GetPreviousTitleL( CAknAppUi* aAppUi, TDes& aText );
+
+ /**
+ * Restores previous title image when returning to previous view.
+ * @param None.
+ * @return None.
+ */
+ void RestoreOriginalImageL();
+
+ /**
+ * Sets dialog image.
+ * @param aAppUi Pointer to UI class.
+ * @param aIcon New image .
+ * @return CEikImage* previous image.
+ */
+ static CEikImage* SetImageL( CAknAppUi* aAppUi, CEikImage* aIcon );
+
+ /**
+ * Sets the dialog title.
+ * @param aAppUi Pointer to the UI class.
+ * @param aText TItle text.
+ */
+ void static SetTitleL( CAknAppUi* aAppUi, const TDesC& aText );
+
+
+ private:
+ // Access to app ui
+ CAknAppUi* iAppUi;
+
+ // Original status pane title
+ TBuf<KBufSize> iOriginalTitle;
+
+ // Is original status pane title stored
+ TBool iOriginalTitleStored;
+
+ // Original context pane image
+ CEikImage* iOriginalImage;
+ };
+
+#endif // PBKINFOVIEWDIALOGUTIL_H
+
+// End of File