williamr@2: /* williamr@2: * Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * 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 williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Button group stack class definition. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __EIKBTGPS_H__ williamr@2: #define __EIKBTGPS_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: /** williamr@2: * A list of all button groups currently available within a thread. williamr@2: * williamr@2: * CEikButtonGroupStack maintains a list of all button groups currently williamr@2: * available within a thread. Only button groups that are expected to be williamr@2: * available to other controls will register here. williamr@2: * williamr@2: * @lib eikcoctl.lib williamr@2: * @since S60 0.9 williamr@2: */ williamr@2: class CEikButtonGroupStack : public CCoeStatic williamr@2: { williamr@2: public: williamr@2: /** williamr@2: * Gets the minimum size required to display all the visible button williamr@2: * groups on the button group stack. williamr@2: * williamr@2: * @return The minimum size required to display all the visible button williamr@2: * groups currently on the stack. williamr@2: */ williamr@2: IMPORT_C static TSize MinimumSize(); williamr@2: williamr@2: /** williamr@2: * Gets the button group currently displayed. williamr@2: * williamr@2: * @return The button group currently displayed. williamr@2: */ williamr@2: static CEikButtonGroupContainer* Current(); williamr@2: williamr@2: /** williamr@2: * Adds a button group to the button group stack. williamr@2: * williamr@2: * @param aGroup The button group to add to the button group stack. williamr@2: */ williamr@2: static void AddL(CEikButtonGroupContainer& aGroup); williamr@2: williamr@2: /** williamr@2: * Removes the specified button group from the button group stack. williamr@2: * williamr@2: * @param aGroup The button group to remove. williamr@2: */ williamr@2: static void Remove(CEikButtonGroupContainer& aGroup); williamr@2: williamr@2: private: williamr@2: inline CEikButtonGroupStack(); williamr@2: inline static CEikButtonGroupStack* Self(); williamr@2: williamr@2: private: // data williamr@2: TDblQue iBtStack; williamr@2: }; williamr@2: williamr@2: #endif // __EIKBTGPS_H__