diff -r 000000000000 -r 2f259fa3e83a uifw/uiklaf/src/lafbtpan.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/uiklaf/src/lafbtpan.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,104 @@ +/* +* Copyright (c) 1998-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: +* +*/ + + +#include "lafbtpan.h" +#include +#include "LAFSTD.H" + +const TInt8 KLafButtonPanelTopMargin =2; +const TInt8 KLafButtonPanelBottomMargin =2; +const TInt8 KLafButtonPanelLeftMargin =4; +const TInt8 KLafButtonPanelRightMargin =4; + +/** + * The ButtonsAllSameSize() function should return ETrue if all dialog buttons are to be + * the same size, or EFalse if they should only be their MinimumSize(). + */ +EXPORT_C TBool LafButtonPanel::ButtonsAllSameSize() + {//static + return ETrue; + } + + +/** + * Shares out the length aExcess + * between aShiftLeft and aShiftRight in order to align the button panel within the dialog. + * This function is only used for horizontal buttons. + */ +EXPORT_C void LafButtonPanel::TranslateForExcessSpace(TInt aExcess, TInt& aShiftLeft, TInt& aShiftRight) + {//static + aShiftLeft=aExcess/2; + aShiftRight=(aShiftLeft-aExcess); + } + +/** + * The ReduceMarginsToFit() function should reduce aHorizontalBorder and aGapBetweenButtons + * until all of the lines of buttons in aArray fit into the available space. This function + * should only be implemented by devices supporting dynamic margin adjustments when not + * enough space is provided. + */ +EXPORT_C void LafButtonPanel::ReduceMarginsToFit( + const TFixedArray& /*aArray*/, + TInt8& /*aLeftBorder*/, TInt8& /*aRightBorder*/, TInt& /*aGapBetweenButtons*/) + {//static + } + +/** + * Return the margins for the button panel, packaged in a TMargins8 object + * + * @since App-Framework_6.1 + */ +EXPORT_C TMargins8 LafButtonPanel::Margins() + { + TMargins8 margins; + margins.iLeft = KLafButtonPanelLeftMargin; + margins.iRight = KLafButtonPanelRightMargin; + margins.iTop = KLafButtonPanelTopMargin; + margins.iBottom = KLafButtonPanelBottomMargin; + return margins; + } + +EXPORT_C TInt LafButtonPanel::Constant(TConstantType aConstant) + {//static + TInt retVal=0; + switch (aConstant) + { + case EStartCorner: + retVal=SLafControlGroup::EFromTopLeft; + break; + case EOrientation: + retVal=SLafControlGroup::ELayVertically; + break; + case EInterRowMargin: + retVal=2; + break; + case EVerticalGap: + retVal=5; + break; + case EHorizontalGap: + retVal=12; + break; + case EMinWidth: + retVal=50; + break; + default: + __ASSERT_DEBUG(EFalse,Panic(ELafPanicConstantNotKnown)); // should never be reached + break; + } + return retVal; + };