diff -r 2fe1408b6811 -r e1b950c65cb4 epoc32/include/coelayoutman.h --- a/epoc32/include/coelayoutman.h Tue Mar 16 16:12:26 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -// Copyright (c) 1997-2009 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 "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// CoeLayoutManager.H -// -// - -#ifndef __COELAYOUTMANAGER_H__ -#define __COELAYOUTMANAGER_H__ - -#include - -class CCoeControl; - - -/** -Base class for layout managers. - -A layout manager can be attached to one, or many (depending on the concrete layout -manager), compound controls. The layout manager handles the layout of the components -of the attached compound controls, and calculates the attached compound controls' -minimum size. - -@publishedAll -@released -*/ -class MCoeLayoutManager - { -protected: - IMPORT_C MCoeLayoutManager(); - -public: - - /** Determines if it is possible to attach another control to the layout manager. - @return ETrue if possible, otherwise EFalse - */ - virtual TBool CanAttach() const = 0; - - /** Attaches aCompoundControl to the layout manager. - Is normally not called manually since CCoeControl::SetLayoutManagerL() - calls this function. - Once a compound control is attached to a layout manager, the layout manager owns itself. - @see Detach() - @see CCoeControl::SetLayoutManagerL() - @param aCompoundControl The compound control. - */ - virtual void AttachL(CCoeControl& aCompoundControl) = 0; - - /** Detaches aCompoundControl from the layout manager. - Is normally not called manually since CCoeControl::SetLayoutManagerL() - calls this function when you switch layout managers on a control. It is also called - from CCoeControl::~CCoeControl - When the last attached compound control detaches, the layout manager deletes itself. - @see CCoeControl::SetLayoutManagerL() - @param aCompoundControl The compound control. - */ - virtual void Detach(CCoeControl& aCompoundControl) = 0; - - /** Calculates the minimum size of aCompoundControl - Is normally not called manually since CCoeControl::MinimumSize() - calls this function in the default implementation on controls with layout managers. - - To calculate the minimum size is almost as time consuming as performing an actual layout - and should be used with caution. The minimum size depends on aCompoundControl's - maximum width. - @see CCoeControl::MaximumWidth() - @param aCompoundControl The compound control - @return The minimum size - */ - virtual TSize CalcMinimumSize(const CCoeControl& aCompoundControl) const = 0; - - /** Performs the layout of the attached controls - Is normally not called manually since CCoeControl::SizeChanged() - calls this function in the default implementation on controls with layout managers. - - The layout is generally performed by calling the component controls' - SetMaximumWidth(), followed by MinimumSize(), and then the - layout manager tries to place the component controls according to their minimum - sizes and the settings. - - @see CCoeControl::SetMaximumWidth() - @see CCoeControl::MinimumSize() - */ - virtual void PerformLayout() = 0; - - /** Gets the offset to the first text baseline relative to the top of the control. - - @param aCompoundControl The control - @param aSize The size of the control - @return The baseline - @see CCoeControl::TextBaselineOffset() - */ - virtual TInt CalcTextBaselineOffset(const CCoeControl& aCompoundControl, const TSize& aSize) const = 0; - - /** Sets the spacing between text baselines. - - @param aBaselineSpacing The new value for the baseline - @see CCoeControl::SetTextBaseLineSpacing() - */ - virtual void SetTextBaselineSpacing(TInt aBaselineSpacing) = 0; - - /** Returns the baseline spacing. - @return The baseline value. - */ - virtual TInt TextBaselineSpacing() const = 0; - - /** Handles when a component control is added to an attached compound control - Is normally not called manually since CCoeControlArray::InsertLC() - calls this function for controls with layout managers. - Is used by layout managers to prepare to layout one more component control. - @see CCoeControlArray::InsertLC() - @param aCompoundControl The compound control. - @param aAddedControl The added control - */ - virtual void HandleAddedControlL(const CCoeControl& aCompoundControl, const CCoeControl& aAddedControl) = 0; - - /** Handles when a component control is removed from an attached compound control - Is normally not called manually since CCoeControlArray::Remove() - calls this function for controls with layout managers. - Is used by layout managers to remove all settings and similar that are specific for - aRemovedControl. - @see CCoeControlArray::Remove() - @param aCompoundControl The compound control. - @param aRemovedControl The removed control - */ - virtual void HandleRemovedControl(const CCoeControl& aCompoundControl, const CCoeControl& aRemovedControl) = 0; - - /** Handles when a component control is replaced by another component control - in an attached compound control - - Is not called by CCoeControl. - Is used by layout managers to move settings and similar that are specified for - aOldControl to aNewControl - If this function is called, neither HandleAddedControlL nor - HandleRemovedControl is allowed to be called. - @param aOldControl The old component control - @param aNewControl The new component control - @return KErrNone if no error. KErrNotFound if the - layout manager cannot find aOldControl - */ - virtual TInt HandleControlReplaced(const CCoeControl& aOldControl, const CCoeControl& aNewControl) = 0; - - -private: - IMPORT_C virtual void Reserved_MCoeLayoutManager_1(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_2(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_3(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_4(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_5(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_6(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_7(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_8(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_9(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_10(); - IMPORT_C virtual void Reserved_MCoeLayoutManager_11(); -private: - TInt iMCoeLayoutManager_Reserved1; - }; - - -#endif // __COELAYOUTMANAGER_H__