textinput/peninputhwrtrui/src/truishortcutedittextview.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
equal deleted inserted replaced
31:f1bdd6b078d1 40:2cb9bae34d17
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Implement of class CTruiShortcutEditTextView
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include <akntextsettingpage.h>
       
    20 #include <trui.rsg>
       
    21 #include <akntoolbar.h>
       
    22 #include <eikcolib.h>
       
    23 
       
    24 #include "truiappui.h"
       
    25 #include "truishortcutedittextview.h"
       
    26 #include "truitextsettingpagecontainer.h"
       
    27 #include "truiengine.h"
       
    28 #include "truiinfomessageview.h"
       
    29 #include "truiapplication.h"
       
    30 #include "truishortcuteditview.h"
       
    31 #include "truishortcutsview.h"
       
    32 #include "truicontainerbase.h"
       
    33 
       
    34 // ======== MEMBER FUNCTIONS ========
       
    35 
       
    36 CTruiShortcutEditTextView::CTruiShortcutEditTextView()
       
    37     {
       
    38     }
       
    39 
       
    40 void CTruiShortcutEditTextView::ConstructL()
       
    41     {
       
    42     BaseConstructL(R_TRUI_SHORTCUTEDITTEXTVIEW);
       
    43     }
       
    44 
       
    45 CTruiShortcutEditTextView* CTruiShortcutEditTextView::NewL()
       
    46     {
       
    47     CTruiShortcutEditTextView* self = CTruiShortcutEditTextView::NewLC();
       
    48     CleanupStack::Pop( self );
       
    49     return self;
       
    50     }
       
    51 
       
    52 CTruiShortcutEditTextView* CTruiShortcutEditTextView::NewLC()
       
    53     {
       
    54     CTruiShortcutEditTextView* self = new( ELeave ) CTruiShortcutEditTextView;
       
    55     CleanupStack::PushL( self );
       
    56     self->ConstructL();
       
    57     return self;
       
    58     }
       
    59 
       
    60 CTruiShortcutEditTextView::~CTruiShortcutEditTextView()
       
    61     {
       
    62     }
       
    63     
       
    64 // ---------------------------------------------------------------------------
       
    65 // From class CAknView.
       
    66 // Returns views id.
       
    67 // ---------------------------------------------------------------------------
       
    68 //
       
    69 TUid CTruiShortcutEditTextView::Id() const
       
    70     {
       
    71     return KTruiShortcutEditTextViewId;    
       
    72     }    
       
    73 
       
    74 // ---------------------------------------------------------------------------
       
    75 // From class CAknView.
       
    76 // Carried out when View is activated
       
    77 // ---------------------------------------------------------------------------
       
    78 //
       
    79 void CTruiShortcutEditTextView::DoActivateL( const TVwsViewId& aPrevViewId,
       
    80                   TUid /*aCustomMessageId*/,
       
    81                   const TDesC8& /*aCustomMessage*/ )
       
    82 	{    
       
    83     CTruiAppUi* appui = static_cast<CTruiAppUi*>( AppUi() );
       
    84     if ( aPrevViewId == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) 
       
    85          || aPrevViewId == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
       
    86         {
       
    87         if ( appui->HwrEngine()->NewShortcut() )
       
    88             {
       
    89             iStartView = TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId );
       
    90             }
       
    91         else
       
    92             {
       
    93             iStartView = aPrevViewId;
       
    94             }        
       
    95         }
       
    96     
       
    97     // Set title pane
       
    98     if ( iStartView == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) )
       
    99         {
       
   100         HBufC* titleText = iEikonEnv->AllocReadResourceLC
       
   101                            ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_TEXT );
       
   102         HBufC* titleNumber = iEikonEnv->AllocReadResourceLC
       
   103                            ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_NUMBER );
       
   104          
       
   105         // Offer new locfile by localization team
       
   106         HBufC* titlePaneText = iEikonEnv->AllocReadResourceLC
       
   107                        ( R_TRUI_SHORTCUTEDITVIEW_TITLEPANE_TEXT );
       
   108         appui->ShowTitlePaneL( *titlePaneText );
       
   109         CleanupStack::PopAndDestroy( titlePaneText );
       
   110         CleanupStack::PopAndDestroy( titleNumber );
       
   111         CleanupStack::PopAndDestroy( titleText );
       
   112         }
       
   113 	else if ( iStartView == TVwsViewId( KUidtruiApp, KTruiShortcutsViewId ) )
       
   114 	    {
       
   115         HBufC* titleText = iEikonEnv->AllocReadResourceLC
       
   116                            ( R_TRUI_SHORTCUTEDITTEXTVIEW_TITLEPANE_TEXT );
       
   117         appui->ShowTitlePaneL( *titleText );
       
   118         CleanupStack::PopAndDestroy( titleText );
       
   119 	    }
       
   120 	    
       
   121 	// Close navi pane
       
   122     appui->CloseNaviPaneL();
       
   123 
       
   124     // Open container
       
   125     if ( iStartView == TVwsViewId( KUidtruiApp, KTruiInfoMessageViewId ) )
       
   126         {
       
   127         iContainer = CTruiTextSettingPageContainer::NewL
       
   128                                               ( R_TRUI_SHORTCUT_WIZARD_EDITOR,
       
   129                                                 appui->HwrEngine()->Shortcut(),
       
   130                                                 ClientRect(),
       
   131                                                 EFalse,
       
   132                         CAknTextSettingPage::EPutCursorAtEnd | 
       
   133                         CAknTextSettingPage::EPredictiveTextEntryPermitted );
       
   134         }
       
   135     else
       
   136         {
       
   137         iContainer = CTruiTextSettingPageContainer::NewL
       
   138                                               ( R_TRUI_SHORTCUT_EDIT_TEXT_EDITOR,
       
   139                                                 appui->HwrEngine()->Shortcut(),
       
   140                                                 ClientRect(),
       
   141                                                 ETrue,
       
   142                         CAknTextSettingPage::EPutCursorAtEnd | 
       
   143                         CAknTextSettingPage::EPredictiveTextEntryPermitted );
       
   144         }    
       
   145 	AppUi()->AddToStackL( *this, iContainer );	
       
   146 	}
       
   147 
       
   148 // ---------------------------------------------------------------------------
       
   149 // From class CAknView.
       
   150 // Carried out when View is deactivated
       
   151 // ---------------------------------------------------------------------------
       
   152 //
       
   153 void CTruiShortcutEditTextView::DoDeactivate()
       
   154     {
       
   155     if ( iContainer )
       
   156         {
       
   157         AppUi()->RemoveFromStack( iContainer );
       
   158         delete iContainer;
       
   159         iContainer = NULL;
       
   160         }
       
   161 
       
   162     }