gssettingsuis/Gs/GSCallDivertPlugin/Inc/GSCallDivertQuery.h
branchRCL_3
changeset 54 7e0eff37aedb
parent 0 8c5d936e5675
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gssettingsuis/Gs/GSCallDivertPlugin/Inc/GSCallDivertQuery.h	Wed Sep 01 12:20:44 2010 +0100
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2002-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:  Data query dialog for Call Divert view.
+*
+*/
+
+
+#ifndef GSCALLDIVERTQUERY_H
+#define GSCALLDIVERTQUERY_H
+
+// INCLUDES
+#include <AknQueryDialog.h>
+
+// CLASS DECLARATION
+
+/**
+* GSCallDivertQuery is responsible for creating a data query dialog.
+* This class basicly just switches the active softkeys.
+*/
+class CGSCallDivertQuery : public CAknTextQueryDialog
+    {
+    public:  // Constructors and destructor
+
+        /* Two-phased constructor */
+        static CGSCallDivertQuery* NewL( TDes& aDataText,
+            const TTone& aTone,
+            TInt aOKCba,
+            TInt aDefaultCba );
+
+        /* Destructor */
+        ~CGSCallDivertQuery() {};
+
+    public: // Functions from base class
+
+        /**
+        * From CAknQueryDialog, takes care of user input.
+        *   @param  aKeyEvent which event
+        *   @param  aType type of event
+        */
+        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+            TEventCode aType );
+
+        /**
+        * From CAknQueryDialog, takes care of user input.
+        *   @param  aKeyEvent which event
+        *   @return boolean
+        */
+        TBool NeedToDismissQueryL( const TKeyEvent& aKeyEvent );
+
+        /**
+        * From CEikDialog, called after layout.
+        */
+        void PostLayoutDynInitL();
+
+        /**
+        * From CEikDialog, called before layout.
+        */
+        void PreLayoutDynInitL();
+
+        /**
+        * From CEikdialog, check if it is OK to exit.
+        *   @param  aButtonId   id of pressed button
+        */
+        TBool OkToExitL( TInt aButtonId );
+
+        /**
+        * From CAknQueryDialog. Used to update data after stylus event.
+        */
+        TBool HandleQueryEditorStateEventL( CAknQueryControl* aQueryControl,
+                                            TQueryControlEvent aEventType,
+                                            TQueryValidationStatus aStatus );
+
+    private:
+        /* C++ default constructor */
+        CGSCallDivertQuery(   TDes& aDataText,
+                    const TTone& aTone,
+                    TInt aOKCba,
+                    TInt aDefaultCba );
+
+        /**
+        * Updates softkeys to Search-Cancel if required.
+        */
+        void UpdateSoftkeysL();
+
+        /**
+        * Changes softkeys as specified.
+        *
+        *   @param  aCba    new cba
+        */
+        void SetCbaL( TInt aCba );
+
+    private:
+        // OK cba, used when there is text in query.
+        TInt        iOKCba;
+        // Default cba, used when there is no text in query.
+        const TInt  iDefaultCba;
+        // Current cba.
+        TInt        iCurrentCba;
+        // About to exit the Query
+        TInt        iLeaving;
+    };
+
+#endif
+// End of File