javauis/lcdui_akn/lcdui/inc/CMIDSpacer.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 25 May 2010 12:34:19 +0300
branchRCL_3
changeset 25 9ac0a0a7da70
parent 19 04becd199f91
permissions -rw-r--r--
Revision: v2.1.26 Kit: 2010121

/*
* Copyright (c) 2003 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:  ?Description
*
*/


#ifndef CMIDSPACER_H
#define CMIDSPACER_H

#include <lcdui.h>
// CMIDControlItem inheritance in class declaration
#include "CMIDControlItem.h"


NONSHARABLE_CLASS(CMIDSpacer) : public CMIDControlItem, public MMIDSpacer
{
public:

    /**
     * Double ctor
     * @param aMinimumSize Min size
     * @param aUIManager UI manager
     * @return CMIDSpacer instance
     *
     * @since s60
     */
    static CMIDSpacer* NewL(const TSize& aMinimumSize, CMIDUIManager* aUIManager);

    //
    // From MMIDSpacer
    //
    void SetMinimumSizeL(const TSize& aSize);
    //
    // From MMIDItem
    //
    void SetLabelL(const TDesC& aLabel);
    void SetLayoutL(TLayout aLayout);
    void SetPreferredSizeL(const TSize& aSize);
    TSize PreferredSize() const;
    TSize MinimumSize() const;
    void AddCommandL(MMIDCommand* aCommand);
    void RemoveCommand(MMIDCommand* aCommand);
    void SetDefaultCommand(MMIDCommand* aCommand);
    TBool IsSelectable() const;
    //
    // From MMIDComponent
    //
    void Dispose();
    //
    // From CCoeControl
    //
    TSize MinimumSize();
    virtual void Draw(const TRect& /*aRect*/) const;
    //
    // From CMIDItem
    //
    TInt ItemPreferredHeightWithoutLabel();
    void SetUsedForStringFormatting(TBool iVal);
    TBool UsedForStringFormatting();
public:
    /**
     * Ctor
     * @param aUIManager UI manager
     *
     * @since s60
     */
    CMIDSpacer(CMIDUIManager* aUIManager);

    void ConstructL(const TSize& aMinimumSize);
private:
    TSize iMinimumSize;

    // if this is true, this spacer is just used for string formatting
    // and should be deleted when reformatting the form
    TBool iUsedForStringFormatting;
};

#endif // CMIDSPACER_H