--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_plat/initialization_api/inc/EIKCOLIB.H Fri Jul 23 17:08:56 2010 +0800
@@ -0,0 +1,207 @@
+/*
+* Copyright (c) 1997-1999 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:
+*
+*/
+
+
+#if !defined(__EIKCOLIB_H__)
+#define __EIKCOLIB_H__
+
+#include <eikaufty.h>
+#include <f32file.h>
+#include <e32base.h>
+#include <eiklibry.h>
+#include <eikbtgpc.h>
+#include <eikspane.h>
+#include <eikbgfty.h>
+#include <lafmain.h>
+
+
+
+class CEikAppUiFactory;
+class CEikAppUi;
+
+/**
+ * @internal
+ * Do not use
+ */
+class CEikCoCtlLibrary : public CBase
+ {
+public:
+ /**
+ * ResourceFile eikcoctl.rsc file name
+ */
+ IMPORT_C static TFileName ResourceFile();
+ /**
+ * ControlFactory provides ability to create controls by id number.
+ */
+ IMPORT_C static TCreateByTypeFunction ControlFactory();
+ /**
+ * Factory to create buttongroups
+ */
+ IMPORT_C static TCreateButtonGroupByTypeFunction ButtonGroupFactory();
+public:
+ static SEikControlInfo CreateByTypeL(TInt aControlType);
+ static MEikButtonGroup* CreateButtonGroupByTypeL(TInt aButtonGroupType,EikButtonGroupFactory::TCreationData& aCreationData,TBool& aAddToButtonGroupStack);
+private:
+ CEikCoCtlLibrary();
+ };
+
+class CEikToolBar;
+class CEikMenuBar;
+class CEikMenuPane;
+class CEikCommandButton;
+class CAknTouchPane;
+class CEikAppUiFactoryExtension;
+class CAknToolbar;
+/**
+ * @internal
+ * Do not use
+ */
+class CEikAppUiFactory : public CBase, public MEikAppUiFactory, public MLafClientRectResolver
+ {
+public:
+ IMPORT_C CEikAppUiFactory();
+ ~CEikAppUiFactory();
+public: // from MEikAppUiFactory
+ void CreateResourceIndependentFurnitureL(CEikAppUi* aAppUi);
+ TRect ClientRect();
+ void ReadAppInfoResourceL(TInt aResourceFileOffset, CEikAppUi* aAppUi);
+ void LaunchPopupMenuL(
+ TInt aResourceId,
+ const TPoint& aTargetPos,
+ TPopupTargetPosType aTargetType,
+ const CEikHotKeyTable* aHotKeyTable,
+ CEikAppUi* aAppUi);
+ void DoLaunchPopupL(
+ TInt aResourceId,
+ const TPoint& aTargetPos,
+ const CEikHotKeyTable* aHotKeyTable,
+ TPopupTargetPosType aTargetType,
+ CEikAppUi* aAppUi);
+ void ClosePopup(CEikAppUi* aAppUi);
+ void StopDisplayingMenuBar();
+ void HandleSideBarMenuL(
+ TInt aResourceId,
+ const TPoint& aPos,
+ const CEikHotKeyTable* aHotKeyTable,
+ CEikAppUi* aAppUi);
+
+ void CreateHotKeyControlL(TInt aResourceId, CEikAppUi* aAppUi);
+ CEikMenuBar* MenuBar() const;
+ CEikMenuBar* SwapMenuBar(CEikMenuBar* aMenu);
+ CEikMenuPane* Popup() const;
+ CEikButtonGroupContainer* SwapButtonGroup(CEikButtonGroupContainer* aNewGroup);
+ CEikButtonGroupContainer* ToolBar() const;
+ CEikToolBar* ToolBand() const;
+ CEikToolBar* TitleBand() const;
+ CEikToolBar* SwapToolBar(CEikToolBar* aToolBar,TToolBarType aType);
+ CEikStatusPane* StatusPane() const;
+ CEikButtonGroupContainer* Cba() const;
+
+ CEikCommandButton* CreateStandardTabButtonL() const;
+ void CreateEmbeddedL(CEikonEnv& aEikonEnv);
+ void DestroyEmbedded(CEikonEnv& aEikonEnv);
+ void HandleResourceChangeL(TInt aType);
+public: // New functions
+ IMPORT_C CAknTouchPane* TouchPane() const;
+
+ /**
+ * Returns the pointer to the application avkon toolbar object if
+ * there is one or NULL.
+ *
+ * @return Pointer to the AVKON toolbar object
+ * @since Series 60 3.1
+ */
+ IMPORT_C CAknToolbar* PopupToolbar() const;
+
+ /**
+ * Returns the pointer to the current view avkon toolbar object if
+ * there is one, if no it will return the pointer to the application
+ * avkon toolbar or NULL.
+ *
+ * @return Pointer to the AVKON toolbar object
+ * @since Series 60 3.1
+ */
+ IMPORT_C CAknToolbar* CurrentPopupToolbar() const;
+
+ /**
+ * Sets the avkon toolbar for the current view. Called by CAknView when view is
+ * activated.
+ *
+ * @param aViewPopupToolbar Pointer to the view specific toolbar.
+ * @since Series 60 3.1
+ */
+ IMPORT_C void SetViewPopupToolbar(CAknToolbar* aViewPopupToolbar);
+
+ /**
+ * Returns the pointer to the current view avkon fixed toolbar object if
+ * there is one, if no it will return the pointer to the application
+ * avkon fixed toolbar or NULL.
+ *
+ * @return Pointer to the AVKON toolbar object
+ * @since S60 5.0
+ */
+ IMPORT_C CAknToolbar* CurrentFixedToolbar() const;
+
+
+ /**
+ * Sets the avkon fixed toolbar for the current view. Called by CAknView
+ * when view is activated.
+ *
+ * @param aViewFixedToolbar Pointer to the view specific fixed toolbar.
+ * @since S60 5.0
+ */
+ IMPORT_C void SetViewFixedToolbar( CAknToolbar* aViewFixedToolbar );
+
+
+
+private: // from MLafClientRectResolver
+ void ReduceRect(TScreenFurniture aScreenFurniture,TRect& aRect) const;
+private:
+ void AddTitleBandL(CEikAppUi* aAppUi);
+private: // from MObjectProvider
+ TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
+private:
+ struct SEikAppInfo
+ {
+ TInt iHotKeysId;
+ TInt iMenuBarId;
+ TInt iToolBarId;
+ TInt iToolBandId;
+ TInt iCbaId;
+ TInt iStatusPaneId;
+ TInt iExtensionId; // link to extension resource struct.
+ };
+ struct SRssSignature
+ {
+ TInt iSignature;
+ TInt iSelf;
+ };
+private:
+ CEikButtonGroupContainer* iToolBar;
+ CEikToolBar* iToolBand;
+ CEikToolBar* iTitleBand;
+ CEikMenuBar* iMenuBar;
+ CEikMenuPane* iPopup;
+ TInt iSidebarPopupId;
+ CEikStatusPane* iStatusPane;
+ // To avoid BC break, iCba is replaced with an extension containing iCba
+ // and some additional items.
+ //CEikButtonGroupContainer* iCba;
+ CEikAppUiFactoryExtension* iExtension;
+ };
+
+#endif