javauis/lcdui_akn/lcdui/src/CMIDSpacer.cpp
branchRCL_3
changeset 19 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_akn/lcdui/src/CMIDSpacer.cpp	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,163 @@
+/*
+* 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
+*
+*/
+
+
+#include <coemain.h>
+//
+#include "CMIDSpacer.h"
+
+
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+CMIDSpacer* CMIDSpacer::NewL(const TSize& aMinimumSize, CMIDUIManager* aUIManager)
+{
+    CMIDSpacer* item = new(ELeave) CMIDSpacer(aUIManager);
+    CleanupStack::PushL(item);
+    item->ConstructL(aMinimumSize);
+    CleanupStack::Pop(item);
+    return item;
+}
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+CMIDSpacer::CMIDSpacer(CMIDUIManager* aUIManager)
+        :CMIDControlItem(EDefault, aUIManager)
+{
+    iMMidItem = this;
+}
+
+void CMIDSpacer::ConstructL(const TSize& aMinimumSize)
+{
+    CMIDControlItem::ConstructL();
+    SetMinimumSizeL(aMinimumSize);
+    SetFocusing(EFalse);
+}
+
+TBool CMIDSpacer::IsSelectable() const
+{
+    return EFalse;
+}
+
+TSize CMIDSpacer::MinimumSize()
+{
+    return iMinimumSize;
+}
+
+void CMIDSpacer::Draw(const TRect& /*aRect*/) const
+{
+}
+
+/**
+ * If the preferred size is currently unlocked (i.e. has not been set)
+ * this will return the minimum size. If the preferred size has been
+ * locked then this will return the preferred size.
+ */
+TSize CMIDSpacer::PreferredSize() const
+{
+    if (iPreferredSize.iHeight == -1 && iPreferredSize.iHeight == -1)
+    {
+        return MinimumSize();
+    }
+    else
+    {
+        return iPreferredSize;
+    }
+}
+
+/**
+ * aSize is only ever TSize(0,0) or greater. If the new minimum size is
+ * greater than the preferred size, then the preferred size needs to be
+ * set equal to the min size.
+ */
+void CMIDSpacer::SetMinimumSizeL(const TSize& aSize)
+{
+    iMinimumSize = aSize;
+}
+
+void CMIDSpacer::SetLabelL(const TDesC& /*aLabel*/)
+//
+// Never called
+//
+{
+    ASSERT(EFalse);
+}
+
+void CMIDSpacer::SetLayoutL(TLayout aLayout)
+{
+    CMIDControlItem::SetLayoutL(aLayout);
+}
+
+void CMIDSpacer::SetPreferredSizeL(const TSize& aSize)
+{
+    CMIDItem::SetPreferredSize(aSize,MinimumSize());
+}
+
+void CMIDSpacer::Dispose()
+{
+    delete this;
+}
+
+void CMIDSpacer::AddCommandL(MMIDCommand* /*aCommand*/)
+//
+// Never called
+//
+{
+    ASSERT(EFalse);
+}
+
+void CMIDSpacer::RemoveCommand(MMIDCommand* /*aCommand*/)
+//
+// Never called
+//
+{
+    ASSERT(EFalse);
+}
+
+void CMIDSpacer::SetDefaultCommand(MMIDCommand* /*aCommand*/)
+//
+// Never called
+//
+{
+    ASSERT(EFalse);
+}
+
+TSize CMIDSpacer::MinimumSize() const
+//
+// Initially TSize(0,0) until actually set
+//
+{
+    CCoeControl* control = const_cast<CMIDSpacer*>(this);
+    return control->MinimumSize();
+}
+
+TInt CMIDSpacer::ItemPreferredHeightWithoutLabel()
+{
+    return iMinimumSize.iHeight;
+}
+
+void CMIDSpacer::SetUsedForStringFormatting(TBool iVal)
+{
+    iUsedForStringFormatting = iVal;
+}
+
+TBool CMIDSpacer::UsedForStringFormatting()
+{
+    return iUsedForStringFormatting;
+}