textinput/peninputhwrtrui/inc/truiappui.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputhwrtrui/inc/truiappui.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2007 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:  UI class of TrainingUI
+*
+*/
+
+
+#ifndef C_TRUIAPPUI_H
+#define C_TRUIAPPUI_H
+
+#include <aknViewAppUi.h>
+#include <AknTabObserver.h>
+
+// Forward reference
+class CTruiMainView;
+class CTruiShortcutsView;
+class CTruiShortcutEditView;
+class CAknNavigationDecorator;
+class CTruiEngine;
+class CTruiShortcutEditTextView;
+class CTruiInfoMessageView;
+
+/**
+ *  Instance of CTruidemoAppUi is the User Interface part of the AVKON
+ *  application framework for the TrainingUI application
+ *
+ *  @code
+ *   CEikAppUi* appUi = new (ELeave) CTruiAppUi;
+ *  @endcode
+ *
+ *  @lib avkon.lib eikcore.lib eiksrv.lib
+ */
+class CTruiAppUi : public CAknViewAppUi, public MAknTabObserver 
+    {
+public:
+    /**
+     * Perform the second phase construction of a CTruiAppUi object 
+     */
+    void ConstructL();
+
+    /** 
+     * Perform the first phase of two phase construction.
+     */
+    CTruiAppUi();
+
+    /**  
+     * Destroy the object and release all memory objects
+     */
+    ~CTruiAppUi();
+    
+    /**  
+     * Get hand writing engine
+     *
+     * @return Pointer to CTruiEngine's instance
+     */
+    CTruiEngine* HwrEngine() const;
+    
+    /**  
+     * Get hand Navigation Decorator
+     *
+     * @return The pointer to navigation pane.
+     */
+    CAknNavigationDecorator* GetNaviDecorator() const;
+
+    /**  
+     * Close the navi pane
+     */
+    void CloseNaviPaneL();
+
+    /**  
+     * Show the navi pane
+     */
+    void ShowNaviPaneL();
+    
+    /**  
+     * Show the title pane
+     *
+     * @param aTitle: The text to be displayed in Tilte pane     
+     */
+    void ShowTitlePaneL( const TDesC& aTitle );
+    
+// from CAknViewAppUi
+
+    /**
+     * Handle user menu selections
+     *
+     * @param aCommand the enumerated code for the option selected
+     */
+    void HandleCommandL( TInt aCommand );
+    
+    // from MAknTabObserver    
+    /**
+     * Handle active tab changed
+     *
+     * @param aIndex the index of active tab.
+     */
+    void TabChangedL( TInt aIndex );      
+                
+private:
+
+    /**
+     * Create navigation pane.
+     *
+     * @param aResourceId The resource Id.
+     * @return The pointer to navigation pane.
+     *      
+     */    
+    CAknNavigationDecorator* CreateNavigationTabL( const TInt aResourceId,
+                                                   const TInt aDefaultActive );            
+
+private: // data
+    /**
+     * iMainView is the view that allows user to train HWR engine to
+     * recognize user's own writing style
+     * Own
+     */
+    CTruiMainView* iMainView;
+    
+    /**
+     * iShortcutsView is the view that allows user to manage the shortcuts
+     * Own
+     */
+    CTruiShortcutsView* iShortcutsView;
+    
+    /**
+     * iShortcutEditView is the view that allows user to edit the shortcuts
+     * Own
+     */
+    CTruiShortcutEditView* iShortcutEditView;
+    
+    /**
+     * Pointer to shortcut edit text view 
+     * on which users can alter shortcut's text.
+     * Own
+     */
+    CTruiShortcutEditTextView* iShortcutEditTextView;
+    
+    /**
+     * Pointer to info message view for shortcut wizard.     
+     * Own
+     */
+    CTruiInfoMessageView* iInfoMessageView;
+    
+    /**
+     * iNaviDecorator is navigation pane.
+     * Allow users to switch views between main view and shortcut main view.
+     * Own
+     */    
+    CAknNavigationDecorator* iNaviDecorator;
+    
+    CAknNavigationDecorator* iEmptyNaviDecorator;
+    
+    /**  
+     * hand writing engine
+     * Own
+     */
+    CTruiEngine* iEngine;
+    };
+
+
+#endif // C_TRUIAPPUI_H
+