--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputarc/inc/pensrvcliinc/penuiwndctrl.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+#ifndef __PEN_UI_WINDOW_CONTROL__
+#define __PEN_UI_WINDOW_CONTROL__
+
+#include <coecntrl.h>
+class RAknUiServer;
+class CPenUiWndCtrl;
+class CPenUiPopWnd : public CCoeControl
+ {
+public: // Constructors and destructor
+ static CPenUiPopWnd* NewL(RWindowGroup& aWndGroup,CFbsBitmap * aBitmap,
+ CPenUiWndCtrl* aCtrl);
+ /**
+ * Destructor.
+ */
+ ~CPenUiPopWnd();
+
+ /**
+ * show popup window
+ * @param aRectInScreen the rect of popup in screen coord-sys
+ * @param aRectInLayout the rect of popup in layout(extended) coord-sys
+ * @return none
+ */
+ void PopUp(const TRect& aRectInScreen, const TRect aRectInLayout );
+
+ void PopUp(TInt aPriority);
+ void Invalidate(const TRect& aRect);
+ void Close();
+public: // Functions from base classes.
+
+ /**
+ * From CCoeControl
+ * Function where control's drawing is done.
+ *
+ * @param aRect Control's area.
+ */
+ void Draw( const TRect &aRect ) const;
+private:
+ /**
+ * C++ default constructor.
+ * @param aAppUi AppUi of Eikon server.
+ */
+ CPenUiPopWnd(RWindowGroup& aWndGroup,CFbsBitmap * aBitmap,
+ CPenUiWndCtrl* aCtrl);
+
+ /**
+ * Two-phased constructor.
+ */
+ void ConstructL();
+
+
+private: // Data
+ RWindowGroup& iWndGroup;
+ CFbsBitmap * iBitmap;
+ //RWindowTreeNode& iBackgroundWnd;
+ RAknUiServer* iAknUiSrv;
+ CPenUiWndCtrl* iBackgroundCtrl;
+
+ /**
+ * the position and size of image in extended layout coord-sys
+ */
+ TRect iRectInLayout;
+ };
+
+class CAknIncallBubble;
+class CPenUiWndCtrl : public CCoeControl
+ {
+public:
+
+ enum EditorType
+ {
+ ENoremalEditor,
+ EGlobleNotes,
+ EGlobleNotesWithEditor
+ };
+
+public: // Constructors and destructor
+ /**
+ * C++ default constructor.
+ * @param aAppUi AppUi of Eikon server.
+ */
+ CPenUiWndCtrl(RWindowGroup& aWndGroup,CFbsBitmap * aBitmap);
+
+ /**
+ * Two-phased constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Destructor.
+ */
+ ~CPenUiWndCtrl();
+
+public: // New functions
+ /**
+ * Called from akncapserver appui to run fastswap.
+ */
+
+ /**
+ * Show pen UI with priority.
+ */
+ void ShowPenUiL(TBool aDimmed = EFalse);
+
+ /**
+ * Show popup window
+ * @param aRectInScreen the rect of popup, in screen coord-sys
+ * @param aRectInLayout the rect of popup, in layout(extended) coord-sys
+ * @param aLayoutTrimRect the rect of old layout, in layout(extended) coord-sys
+ * @return none
+ */
+ void ShowPopup( const TRect& aRectInScreen, const TRect& aRectInLayout,
+ const TRect& aLayoutTrimRect );
+
+ /**
+ * Close the pop up window.
+ */
+ void ClosePopup();
+
+ /**
+ * Called from akncapserver appui to close fastswap.
+ */
+ void ClosePenUi(TBool aResChanging = EFalse);
+
+ void Invalidate(const TRect& aRect,TBool aFullUpdate);
+ void OnDeactivate();
+ void OnActivate(EditorType aType);
+
+
+ void Fade();
+
+
+ TBool IsDimmed();
+
+ TInt WndPriority();
+
+ void DimPenUiForMenu(TInt aPriority);
+ void DimInternalPenUiForMenu(TInt aPriority);
+ void DimPenUiForMenu();
+ TInt GetWndPriority();
+ void SetResourceChange(TBool aResourceChange);
+public: // Functions from base classes.
+
+ /**
+ * From CCoeControl
+ * Function where control's drawing is done.
+ *
+ * @param aRect Control's area.
+ */
+ void Draw( const TRect &aRect ) const;
+
+private:
+
+ /**
+ * when pen ui is activated, e.g. after screen saver, restore system fading status
+ * and set non-fading for pen ui
+ */
+ void RestoreSystemFadeStatus();
+
+ /**
+ * set non-fading feature for pen ui window when pen ui is open to be shown
+ */
+ void ChangeSysteFadeStatus();
+
+
+ /**
+ * From CCoeControl.
+ * Key event handling
+ *
+ * @return TKeyResponse Indicates whether or not the key event was used by this control.
+ * @param aKeyEvent Key event.
+ * @param aType Type of key event.
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+
+ /**
+ * Get the AppUid of WinsowGroupName
+ *
+ * @return TUid Indicate the Id of WindowGroupNameApp
+ * @param aWS Indicate RWsSession.
+ * @param aWGId Id of focus window group.
+ */
+ TUid WindowGroupNameAppUidL( RWsSession& aWS,TInt aWGId );
+
+
+private: // Data
+ RWindowGroup& iWndGroup;
+ CFbsBitmap * iBitmap;
+
+ // whether system fading status has been changed?
+ TBool iChangeSystemFadeStatus;
+
+ RAknUiServer* iAknUiSrv;
+
+ TInt iFocusWndGrpPriority;
+ TInt iFocusWndGrpPos;
+ TInt iFocusWgHandle;
+
+ TInt iPriority;
+ TInt iPreEditorPriority;
+ CAknIncallBubble* iIncallBubble;
+ CPenUiPopWnd* iPopupWnd;
+
+ TBool iShowPopup;
+ TRect iInvalidateRect;
+ TBool iResourceChange;
+ //TBool iUiLayoutChange;
+ TBool iInGlobalEditorState;
+ TRect iLayoutClipRect;
+ };
+class CInternalBkCtrl : public CCoeControl
+ {
+public: // Constructors and destructor
+ /**
+ * C++ default constructor.
+ * @param aAppUi AppUi of Eikon server.
+ */
+ CInternalBkCtrl(RWindowGroup& aWndGroup);
+
+ /**
+ * Two-phased constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Destructor.
+ */
+
+
+public: // New functions
+
+// void Invalidate(const TRect& aRect,TBool aFullUpdate);
+public: // Functions from base classes.
+
+ /**
+ * From CCoeControl
+ * Function where control's drawing is done.
+ *
+ * @param aRect Control's area.
+ */
+ // void Draw( const TRect &aRect ) const;
+
+// void SizeChanged();
+// void CreateListBox();
+private: // Data
+ RWindowGroup& iWndGroup;
+ CFbsBitmap * iBitmap;
+ };
+#endif
\ No newline at end of file