webengine/wmlengine/src/xhtml/include/ImageMapPopup.h
changeset 0 dd21522fd290
child 37 cb62a4f66ebe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/xhtml/include/ImageMapPopup.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2002 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 images map popup and listbox.
+*
+*
+*/
+
+
+#ifndef __IMAGEMAPPOPUP_H
+#define __IMAGEMAPPOPUP_H
+
+#include <e32base.h>
+#include <e32def.h>
+#include <aknpopup.h>
+#include <aknlists.h>
+#include <apparc.h>
+#include <aknconsts.h>
+#include <akneditstateindicator.h>
+#include <AknsListBoxBackgroundControlContext.h>
+
+class CCoeControl;
+class TCoeEvent;
+class CEikListBox;
+class TListBoxEvent;
+class CGulIcon;
+class CAknsListBoxBackgroundControlContext;
+
+// use large icon list box with double item text
+class CImageMapListBox : public CAknDoubleLargeGraphicPopupMenuStyleListBox
+  {
+  public:
+    
+    /**
+    * C++ default constructor.
+    */
+    CImageMapListBox();
+
+    /**
+    * Destructor.
+    */
+    virtual ~CImageMapListBox();
+
+    /**
+    * Symbian 2nd phase constructor.
+    */
+    void ConstructL( CCoeControl& aParent, CArrayPtrFlat<CFbsBitmap>& aBitmapList, 
+                     CArrayPtrFlat<HBufC>& aAltTextList );
+
+  private:
+
+    /**
+    * Fit
+    * @since 2.1
+    * @param aSource: source size
+    * @param aSource: target size
+    * @return TSize target
+    */
+    TSize Fit( const TSize& aSource, const TSize& aTarget );
+    };
+
+// ------------------------------------------------------------------------------------
+
+class CImageMapPopup : public CAknPopupList
+  {  
+  public:
+    
+    /**
+    * CreateAndRunL
+    * @since 2.1
+    * @param aBitmapList: bitmap list
+    * @param aAltTextList: alt text list
+    * @return selected item (-1 if cancel was selected)
+    */
+    static TInt CreateAndRunL( CArrayPtrFlat<CFbsBitmap>& aBitmapList, CArrayPtrFlat<HBufC>& aAltTextList );
+
+    /**
+    * Destructor.
+    */
+    virtual ~CImageMapPopup();
+
+    /**
+    * HandleListBoxEventL
+    * @since 2.1
+    * @param aListBox: list box
+    * @param aEventType: event type
+    * @return void
+    */
+    void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType );
+
+    /**
+    * HandleControlEventL
+    * @since 2.1
+    * @param aControl: coe control
+    * @param aEventType: event type
+    * @return void
+    */
+    void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType );
+
+  private: // New functions
+
+    /**
+    * C++ default constructor.
+    */
+    CImageMapPopup();
+
+    /**
+    * By default Symbian 2nd phase constructor is private.
+    */
+    void ConstructL( CEikListBox *aListBox, TInt aCbaResource, 
+      AknPopupLayouts::TAknPopupLayouts aType = AknPopupLayouts::EMenuWindow );
+  
+  private: // from MObjectProvider
+    
+    /**
+    * MopSupplyObject
+    * @since 2.1
+    * @param aId: id
+    * @return TTypeUid::Ptr
+    */
+    TTypeUid::Ptr MopSupplyObject( TTypeUid aId );	
+
+  private: // members
+
+  	CAknsListBoxBackgroundControlContext* iSkinContext; // owned
+    CArrayPtrFlat<CFbsBitmap>*            iBitmapList;  // owned
+    CArrayPtrFlat<HBufC>*                 iAltTextList; // owned
+  };
+
+#endif // __IMAGEMAPPOPUP_H
+
+// End of file