1.1 --- a/epoc32/include/eikaufty.h Tue Mar 16 16:12:26 2010 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,143 +0,0 @@
1.4 -// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 -// All rights reserved.
1.6 -// This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 -// which accompanies this distribution, and is available
1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 -//
1.11 -// Initial Contributors:
1.12 -// Nokia Corporation - initial contribution.
1.13 -//
1.14 -// Contributors:
1.15 -//
1.16 -// Description:
1.17 -// Defines mix-in interace to break dependencey of Eikon Application UI
1.18 -// on controls
1.19 -//
1.20 -//
1.21 -
1.22 -#ifndef __EIKAUFTY_H__
1.23 -#define __EIKAUFTY_H__
1.24 -
1.25 -#include <f32file.h>
1.26 -#include <e32base.h>
1.27 -#include <eikdef.h>
1.28 -
1.29 -#include <coemop.h>
1.30 -
1.31 -class CEikHotKeyTable;
1.32 -class CEikMenuBar;
1.33 -class CEikMenuPane;
1.34 -class CEikCommandButton;
1.35 -class CEikToolBar;
1.36 -class CEikButtonGroupContainer;
1.37 -class CEikAppUi;
1.38 -class CEikonEnv;
1.39 -class CEikStatusPane;
1.40 -
1.41 -
1.42 -/** This class defines a mixin interface to break the dependency of the Uikon Application
1.43 -User Interface on controls.
1.44 -
1.45 -@publishedAll
1.46 -@released */
1.47 -class MEikAppUiFactory : public MObjectProvider
1.48 - {
1.49 -public:
1.50 - virtual void CreateResourceIndependentFurnitureL(CEikAppUi* aAppUi) =0;
1.51 - virtual TRect ClientRect() = 0;
1.52 - virtual void ReadAppInfoResourceL(TInt aResourceFileOffset,CEikAppUi* aAppUi) = 0;
1.53 - virtual void LaunchPopupMenuL( TInt aResourceId,
1.54 - const TPoint& aTargetPos,
1.55 - TPopupTargetPosType aTargetType,
1.56 - const CEikHotKeyTable* aHotKeyTable,
1.57 - CEikAppUi* aAppUi) = 0;
1.58 -
1.59 - virtual void DoLaunchPopupL(TInt aResourceId,const TPoint& aTargetPos, const CEikHotKeyTable* aHotKeyTable,
1.60 - TPopupTargetPosType aTargetType,CEikAppUi* aAppUi) = 0;
1.61 -
1.62 - virtual void ClosePopup(CEikAppUi* aAppUi) = 0;
1.63 - virtual void StopDisplayingMenuBar() = 0;
1.64 - virtual void HandleSideBarMenuL(TInt aResourceId,const TPoint& aPos,
1.65 - const CEikHotKeyTable* aHotKeyTable,CEikAppUi* aAppUi) = 0;
1.66 - virtual void CreateHotKeyControlL(TInt aResourceId, CEikAppUi* aAppUi) = 0;
1.67 - /** Gets a pointer to the menu bar.
1.68 -
1.69 - @return Pointer to the menu bar. */
1.70 - virtual CEikMenuBar* MenuBar() const = 0;
1.71 - /** Replaces or clears a menu bar, returning a pointer to the replaced menu bar.
1.72 -
1.73 - @param aMenu The new menu bar. This can be NULL to clear an existing menu bar.
1.74 - @return Pointer to the replaced menu bar. */
1.75 - virtual CEikMenuBar* SwapMenuBar(CEikMenuBar* aMenu) = 0;
1.76 - virtual CEikMenuPane* Popup() const = 0;
1.77 - /** Gets a pointer to the tool bar.
1.78 -
1.79 - @return Pointer to the tool bar. */
1.80 - virtual CEikButtonGroupContainer* ToolBar() const = 0;
1.81 - /** Replaces or clears a button group, returning a pointer to the replaced button
1.82 - group.
1.83 -
1.84 - @param aNewGroup The new button group. This can be NULL to clear an existing
1.85 - button group.
1.86 - @return Pointer to the replaced button group. */
1.87 - virtual CEikButtonGroupContainer* SwapButtonGroup(CEikButtonGroupContainer* aNewGroup) = 0;
1.88 - /** Gets a pointer to the tool band.
1.89 -
1.90 - @return Pointer to the tool band. */
1.91 - virtual CEikToolBar* ToolBand() const = 0;
1.92 - /** Gets a pointer to the title band.
1.93 -
1.94 - @return Pointer to the title band. */
1.95 - virtual CEikToolBar* TitleBand() const = 0;
1.96 - /** Gets a pointer to the status pane.
1.97 -
1.98 - @return Pointer to the status pane */
1.99 - virtual CEikStatusPane* StatusPane() const = 0;
1.100 - /** Gets a pointer to the CBA.
1.101 -
1.102 - @return Pointer to the CBA */
1.103 - virtual CEikButtonGroupContainer* Cba() const = 0;
1.104 - inline CEikToolBar* SwapToolBand(CEikToolBar* aToolBand);
1.105 - inline CEikToolBar* SwapTitleBand(CEikToolBar* aTitleBand);
1.106 - /** Creates a standard tab button.
1.107 -
1.108 - @return Pointer to the created tab button. */
1.109 - virtual CEikCommandButton* CreateStandardTabButtonL() const = 0;
1.110 - virtual void CreateEmbeddedL(CEikonEnv& aEikonEnv) = 0;
1.111 - virtual void DestroyEmbedded(CEikonEnv& aEikonEnv) = 0;
1.112 - virtual void HandleResourceChangeL(TInt aType) = 0;
1.113 -protected:
1.114 - /** Defines the type of tool bar. */
1.115 - enum TToolBarType
1.116 - {
1.117 - /** Defines a band tool bar. */
1.118 - EBand,
1.119 - /** Defines a title tool bar. */
1.120 - ETitle
1.121 - };
1.122 -private:
1.123 - virtual CEikToolBar* SwapToolBar(CEikToolBar* aToolBar,TToolBarType aType) = 0;
1.124 - };
1.125 -
1.126 -
1.127 -
1.128 -/** Replaces or clears a tool band, returning a pointer to the replaced tool band.
1.129 -
1.130 -@param aToolBand The new tool band. This can be NULL to clear an existing
1.131 -tool band.
1.132 -@return Pointer to the replaced tool band. */
1.133 -inline CEikToolBar* MEikAppUiFactory::SwapToolBand(CEikToolBar* aToolBand)
1.134 - {return SwapToolBar(aToolBand,EBand);}
1.135 -
1.136 -
1.137 -/** Replaces or clears a title band, returning a pointer to the replaced title
1.138 -band.
1.139 -
1.140 -@param aTitleBand The new title band. This can be NULL to clear an existing
1.141 -title band.
1.142 -@return Pointer to the replaced title band. */
1.143 -inline CEikToolBar* MEikAppUiFactory::SwapTitleBand(CEikToolBar* aTitleBand)
1.144 - {return SwapToolBar(aTitleBand,ETitle);}
1.145 -
1.146 -#endif // __EIKAUFTY_H__