--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/Ussd/inc/UssdNaviPane.h Wed Sep 01 12:30:10 2010 +0100
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2010 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: Declares container control for application.
+*
+*/
+
+
+#ifndef USSDNAVIPANE_H
+#define USSDNAVIPANE_H
+
+
+// INCLUDES
+#include <coecntrl.h>
+#include <peninputclient.h>
+
+
+// FORWARD DECLARATIONS
+class CUssdAppUi;
+class CAknNaviLabel;
+class CAknNavigationDecorator;
+class CAknNavigationControlContainer;
+class CCnvCharacterSetConverter;
+
+
+// CLASS DECLARATION
+
+/**
+* CUssdNaviPane
+* Declares navi pane control for application.
+* @since 2.8.
+*
+*/
+class CUssdNaviPane : public CCoeControl
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Constructor.
+ * @param aAppUi A reference to AppUI for container.
+ */
+ CUssdNaviPane( CUssdAppUi& aAppUi );
+
+ /**
+ * Two-phased constructor.
+ * @param aAppUi A reference to AppUI for container.
+ */
+ static CUssdNaviPane* NewL( CUssdAppUi& aAppUi );
+
+ /**
+ * 2nd phase constructor
+ *
+ */
+ void ConstructL();
+
+ /**
+ * Destructor.
+ */
+ ~CUssdNaviPane();
+
+ public: // New functions
+
+ /**
+ * Update the message length information to navipane
+ * @param aInputString Reference to a string to be checked
+ * @param aControl for handling backspace key event
+ * @return Updated value of maximum size of string
+ */
+ TInt UpdateMsgLengthL(
+ const TDesC& aInputString,
+ CCoeControl* aControl );
+
+ public: // Functions from base classes
+
+
+ private: // Functions from base classes
+
+
+ private: //new functions
+
+ /**
+ * Creates an extra navi label. It is needed so that the msg length
+ * won't dissapear when the focus is on the picture of a picture msg.
+ */
+ void CreateExtraNaviLabelL();
+
+ /**
+ * Checks if there are any unicode characters in the message
+ * @param aInputString Reference to a string to be checked
+ * @return ETrue whether we have unicode chars otherwise EFalse
+ */
+ TBool NeedsToBeSentAsUnicodeL( const TDesC& aInputString ) const;
+
+ /**
+ * Counts if there are 7bit extended table characters in message
+ * (see more info from ETSI 03.38)
+ * @param aInputString Reference to chars to be checked
+ * @return amount of extended table chars
+ */
+ TInt CountExtendedTableChars( const TDesC& aInputString ) const;
+
+ /**
+ * Generates a backspace key press event.
+ * @param aControl Reference to control class
+ */
+ void GenerateBackSpaceKeyL(CCoeControl* aControl);
+
+
+ private: //data
+
+ // Application UI.
+ CUssdAppUi& iAppUi;
+
+ // Char converter.
+ CCnvCharacterSetConverter* iCharacterSetConverter;
+
+ // The navipane decorator.
+ CAknNavigationDecorator* iNaviDecorator;
+
+ // The navipane label.
+ CAknNaviLabel* iNaviLabel;
+
+ // The navipane control container.
+ CAknNavigationControlContainer* iNaviPane;
+
+ // Client for accessing pen editor (virtual keyboard)
+ RPeninputServer iPeninputServer;
+
+ };
+
+#endif // USSDNAVIPANE_H
+
+// End of File