--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/BrowserAppInc/BrowserWindowSelectionContainer.h Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:
+* Declaration of class CBrowserWindowSelectionContainer.
+*
+*
+*/
+
+
+#ifndef BROWSERWINDOWSELECTIONCONTAINER_H
+#define BROWSERWINDOWSELECTIONCONTAINER_H
+
+// INCLUDES
+#include <coecntrl.h>
+#include <AknTabObserver.h>
+
+// FORWARD DECLARATIONS
+class CBrowserWindowSelectionView;
+class CAknNavigationControlContainer;
+class CAknNavigationDecorator;
+class CAknTabGroup;
+class CEikImage;
+class CGulIcon;
+
+// CLASS DECLARATION
+
+/**
+* CBrowserWindowSelectionContainer container control class.
+*
+*/
+class CBrowserWindowSelectionContainer : public CCoeControl,
+ MCoeControlObserver, MAknTabObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * default constructor.
+ * @param aRect Frame rectangle for container.
+ */
+ void ConstructL(const TRect& aRect);
+
+ /**
+ * Constructor
+ */
+ CBrowserWindowSelectionContainer( CBrowserWindowSelectionView *aView );
+
+ /**
+ * Destructor.
+ */
+ ~CBrowserWindowSelectionContainer();
+
+ public: // New functions
+
+ /**
+ * Gets a pointer to the tab group on navi pane.
+ * @return Pointer to the tab group.
+ */
+ inline CAknTabGroup* GetTabGroup() { return iTabGroup; }
+
+ /**
+ * Gets a pointer to the decorator on navi pane.
+ * @return Pointer to the decorator.
+ */
+ inline CAknNavigationDecorator* GetNaviDecorator() { return iNaviDecorator; }
+
+ /**
+ * Creates tabs on navipane, from the array of strings.
+ * @param An array containing the name of the windows.
+ * @param The tab index, that will be activated after creation.
+ */
+ void ChangeTabL( CArrayFixFlat<HBufC*>* aTabTexts, TInt aActivateTab );
+
+ /**
+ * The id of the window, which thumbnail to get.
+ * @param aWindowId Window id.
+ */
+ void GetWindowThumbnailL( TInt aWindowId );
+
+ public: // Functions from base classes
+ /**
+ * HandlePointerEventL
+ * From CCoeControl
+ *
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+ /**
+ * TabChangedL
+ * From MAknTabObserver
+ *
+ */
+ void TabChangedL(TInt aIndex);
+
+ private: // Functions from base classes
+
+ /**
+ * From CoeControl,SizeChanged.
+ */
+ void SizeChanged();
+
+ /**
+ * From CoeControl,CountComponentControls.
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl,ComponentControl.
+ */
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+ /**
+ * From CCoeControl,Draw.
+ */
+ void Draw(const TRect& aRect) const;
+
+ /**
+ * From CCoeControl Handles key events
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
+
+ /**
+ * From MCoeControlObserver
+ * Acts upon changes in the hosted control's state.
+ *
+ * @param aControl The control changing its state
+ * @param aEventType The type of control event
+ */
+ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
+
+ private: //data
+ CBrowserWindowSelectionView* iView; // not owned
+ CAknNavigationDecorator* iNaviDecorator; // not owned
+ CAknTabGroup* iTabGroup; // not owned
+ CGulIcon* iThumbnail;
+ //test
+ //CFbsBitmap* iThumbnail;
+ //CEikImage* iTabIcon;
+ };
+
+#endif
+
+// End of File