| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Thu, 17 Dec 2009 08:47:18 +0200 | |
| changeset 31 | 868cceedabd3 | 
| parent 0 | 84ad3b177aa3 | 
| permissions | -rw-r--r-- | 
| 0 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 1 | /* | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 2 | * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 3 | * All rights reserved. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 4 | * This component and the accompanying materials are made available | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 5 | * under the terms of the License "Eclipse Public License v1.0" | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 6 | * which accompanies this distribution, and is available | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 7 | * at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 8 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 9 | * Initial Contributors: | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 10 | * Nokia Corporation - initial contribution. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 11 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 12 | * Contributors: | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 13 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 14 | * Description: | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 15 | * Multiple Windows' WindowManager. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 16 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 17 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 18 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 19 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 20 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 21 | #ifndef __MULTIPLE_WINDOWS_WINDOWMANAGER_H__ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 22 | #define __MULTIPLE_WINDOWS_WINDOWMANAGER_H__ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 23 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 24 | // INCLUDES FILES | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 25 | #include "WmlBrowserBuild.h" | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 26 | #include "Preferences.h" | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 27 | #include <e32base.h> | 
| 31 
868cceedabd3
Revision: 200948
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 28 | #include <brctldefs.h> | 
| 0 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 29 | #include "WindowObserver.h" | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 30 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 31 | // FORWARD DECLARATIONS | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 32 | class CBrowserWindow; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 33 | class MApiProvider; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 34 | class CBrowserContentView; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 35 | class MWindowInfoProvider; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 36 | class CWindowInfo; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 37 | class CBrowserWindowQue; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 38 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 39 | // CLASS DECLARATION | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 40 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 41 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 42 | * Interface to query several API implementations via Window class. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 43 | * | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 44 | * @lib Browser.app | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 45 | * @since Series 60 3.0 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 46 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 47 | class CBrowserWindowManager : public CBase, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 48 | public MPreferencesObserver | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 49 |     {
 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 50 | public: // constructors / destructor | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 51 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 52 | static CBrowserWindowManager* NewLC( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 53 | MApiProvider& aApiProvider, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 54 | CBrowserContentView& aContentView, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 55 | TInt aMaxWindowCount ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 56 | static CBrowserWindowManager* NewL( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 57 | MApiProvider& aApiProvider, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 58 | CBrowserContentView& aContentView, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 59 | TInt aMaxWindowCount ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 60 | ~CBrowserWindowManager(); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 61 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 62 | public: // accessing windows / window data | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 63 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 64 | TInt WindowCount() const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 65 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 66 | inline TInt MaxWindowCount() const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 67 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 68 | // @returns window object | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 69 | // possible error codes: KErrNotFound, KErrGeneral | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 70 | // searching for a window identified by an Id | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 71 | TInt Window( TInt aWindowId, CBrowserWindow*& aWindow ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 72 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 73 | // @returns window object | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 74 | // possible error codes: KErrNotFound, KErrGeneral | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 75 | // searching for a window identified by an Id | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 76 | CBrowserWindow* FindWindowL( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 77 | const TDesC& aTargetName ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 78 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 79 | CBrowserWindow* CurrentWindow() const; | 
| 31 
868cceedabd3
Revision: 200948
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 80 | |
| 
868cceedabd3
Revision: 200948
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 81 | CBrowserWindowQue* CurrentWindowQue() const; | 
| 
868cceedabd3
Revision: 200948
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: 
0diff
changeset | 82 | |
| 0 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 83 | inline MApiProvider* ApiProvider() const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 84 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 85 | inline CBrowserContentView* ContentView() const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 86 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 87 | CArrayFixFlat<CWindowInfo*>* GetWindowInfoL( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 88 | MWindowInfoProvider* aWindowInfo ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 89 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 90 | inline void SetUserExit( TBool aUserExit ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 91 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 92 | void SendCommandToAllWindowsL( TInt aCommand ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 93 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 94 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 95 | * Adds an observer which is notified about window events | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 96 | * @param aObserver The observer which will receive window events. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 97 | * @since series 60 3.1 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 98 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 99 | void AddObserverL( MWindowObserver* aObserver ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 100 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 101 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 102 | * Removes an observer which won`t be notified about window events. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 103 | * @param aObserver The observer which will not receive | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 104 | * further window events. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 105 | * @since 3.1 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 106 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 107 | void RemoveObserver( MWindowObserver* aObserver ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 108 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 109 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 110 | * Notifies the observer about an event. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 111 | * @param aEvent The type of the event. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 112 | * @since 3.1 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 113 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 114 | void NotifyObserversL( TWindowEvent aEvent, TInt aWindowId = 0 ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 115 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 116 | public: // window management | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 117 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 118 | // possible leave codes: KErrNoMemory | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 119 | // Window specific settings are read from ApiProvider().Preferences() | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 120 | // based on the current state | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 121 | CBrowserWindow* CreateWindowL( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 122 | TInt aParentId, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 123 | const TDesC* aTargetName ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 124 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 125 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 126 | * Deletes a window. | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 127 | * @param aWindowId the window to be deleted | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 128 | * @param aUserInitiated: user or script initiated the process | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 129 | * @return the windowId should be activated or 0 | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 130 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 131 | TInt DeleteWindowL( TInt aWindowId, TBool aForceDelete = EFalse ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 132 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 133 | // possible leave codes: KErrNotFound | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 134 | TInt SwitchWindowL( TInt aWindowId, TBool aDraw = ETrue ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 135 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 136 | // is there any content in the window? | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 137 | inline TBool IsContentExist() const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 138 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 139 | // content was shown in the window | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 140 | inline void SetContentExist( TBool aValue ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 141 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 142 | // Sets the type of content in the view | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 143 | void SetCurrentWindowViewState(TBrCtlDefs::TBrCtlState aViewState, TInt aValue); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 144 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 145 | //Closes all windows except the current one | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 146 | void CloseAllWindowsExceptCurrent(); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 147 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 148 | public: // from MPreferencesObserver | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 149 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 150 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 151 | * Observer for Preference changes | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 152 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 153 | virtual void HandlePreferencesChangeL( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 154 | const TPreferencesEvent aEvent, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 155 | TPreferencesValues& aValues, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 156 | TBrCtlDefs::TBrCtlSettings aSettingType ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 157 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 158 | protected: | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 159 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 160 | CBrowserWindowManager( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 161 | MApiProvider& aApiProvider, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 162 | CBrowserContentView& aContentView, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 163 | TInt aMaxWindowCount ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 164 | /** | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 165 | * 2nd phase constructor | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 166 | */ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 167 | void ConstructL(); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 168 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 169 | // searching for a window identified by its Id and TargetName | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 170 | // returns with the Window | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 171 | TInt Window( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 172 | TInt aParentId, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 173 | const TDesC* aTargetName, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 174 | CBrowserWindow*& aWindow, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 175 | CBrowserWindowQue* aStartingItem ) const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 176 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 177 | // searching for a window identified by its Id | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 178 | // returns with the Queue element of that Window | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 179 | TInt Window( | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 180 | TInt aWindowId, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 181 | CBrowserWindowQue*& aWindowQue, | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 182 | CBrowserWindowQue* aStartingItem ) const; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 183 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 184 | // really delete a window | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 185 | TInt DeleteOneWindowL( TInt aWindowId ); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 186 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 187 | // removes already deleted (status) windows from the queue | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 188 | void RemoveDeletedWindowsL(); | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 189 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 190 | private: | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 191 | static TInt iWindowIdGenerator; // for generating window's id | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 192 | MApiProvider* iApiProvider; // not owned | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 193 | CBrowserContentView* iContentView; // not owned | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 194 | TInt iMaxWindowCount; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 195 | TInt iWindowCount; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 196 | TInt iDeletedWindowCount; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 197 | CBrowserWindowQue* iWindowQueue; // head of the windows | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 198 | CBrowserWindowQue* iCurrentWindow; // points to the current window | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 199 | TBool iUserExit; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 200 | TBool iIsContentExist; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 201 | CArrayPtrFlat< MWindowObserver >* iObservers; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 202 | }; | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 203 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 204 | #include "BrowserWindowManager.inl" | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 205 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 206 | #endif // __MULTIPLE_WINDOWS_WINDOWMANAGER_H__ | 
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 207 | |
| 
84ad3b177aa3
Revision: 200911
 Kiiskinen Klaus (Nokia-D-MSW/Tampere) <klaus.kiiskinen@nokia.com> parents: diff
changeset | 208 | // End of File |