--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/src/COECNTSS.CPP Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,253 @@
+// 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 "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 <coecntss.h> // class CCoeControlStaticSettings
+#include <coeaui.h> // class CCoeAppUi
+
+
+const TUid KUidCoeControlStaticSettings = {0x10204232};
+
+/** Constructor
+*/
+CCoeControlStaticSettings::CCoeControlStaticSettings() :
+ CCoeStatic(KUidCoeControlStaticSettings),
+ iFocusedByDefault(ETrue), iOrdinalForAllViews(EFalse)
+ {
+ }
+
+/**
+Class Destructor */
+CCoeControlStaticSettings::~CCoeControlStaticSettings()
+ {
+ iLogicalToPixelSizes.Reset();
+ iLogicalToPixelSizes.Close();
+ }
+
+/** Retrieve the one and only CCoeControlStaticSettings object, if it exists.
+*/
+CCoeControlStaticSettings* CCoeControlStaticSettings::Self(CCoeEnv* aCoeEnv)
+ {
+ return static_cast<CCoeControlStaticSettings*>(aCoeEnv ?
+ aCoeEnv->FindStatic(KUidCoeControlStaticSettings) :
+ CCoeEnv::Static(KUidCoeControlStaticSettings));
+ }
+
+/**
+Creates new instance of CCoeControlStaticSettings class
+
+@return pointer to the instance of CCoeControlStaticSettings class */
+CCoeControlStaticSettings* CCoeControlStaticSettings::NewL()
+ {
+ CCoeControlStaticSettings* staticSettings = new (ELeave) CCoeControlStaticSettings();
+ CleanupStack::PushL(staticSettings);
+ staticSettings->ConstructL();
+ CleanupStack::Pop(staticSettings);
+ return staticSettings;
+ }
+
+/**
+Second stage construction of CCoeControlStaticSettings class */
+void CCoeControlStaticSettings::ConstructL()
+ {
+ iFocusedByDefault = ETrue;
+ _LIT(KSystemTypeFaceName, "System One");
+ iTypeface.iName = KSystemTypeFaceName;
+
+ User::LeaveIfError(iLogicalToPixelSizes.Append(8));
+ User::LeaveIfError(iLogicalToPixelSizes.Append(14));
+ User::LeaveIfError(iLogicalToPixelSizes.Append(18));
+ User::LeaveIfError(iLogicalToPixelSizes.Append(22));
+ User::LeaveIfError(iLogicalToPixelSizes.Append(26));
+ }
+
+/**
+Does nothing.
+@see CCoeControlStaticSettings::ParentByDefault()
+@deprecated
+*/
+EXPORT_C void CCoeControlStaticSettings::SetParentByDefaultL(TBool /*aParentByDefault*/)
+ {
+ }
+
+/**
+Returns value of ROM-patchable constant KCoeSetControlParentByDefault.
+Patch for emulator builds by adding "patchdata_cone_dll_KCoeSetControlParentByDefault X"
+to epoc.ini where X is either 0 (zero) for "off" or 1 (one) for "on".
+Only valid in Symbian OS 9.3 and 9.4.
+@deprecated
+*/
+EXPORT_C TBool CCoeControlStaticSettings::ParentByDefault()
+// class defined in coecntss.h to keep it away from prying eyes.
+ {
+ return ETrue;
+ }
+
+/** Globally sets whether a window's ordinal is set for all views (ETrue) or only
+ when the top view is not active (EFalse)
+
+This function should be called from within a CEikLibrary plugin.
+@param aOrdinalForAllViews ETrue if the window's ordinal will be set for all views,
+ EFalse if not.
+*/
+EXPORT_C void CCoeControlStaticSettings::SetOrdinalForAllViewsL(TBool aOrdinalForAllViews)
+ {
+ CCoeControlStaticSettings* self = Self();
+ if (!self)
+ self = CCoeControlStaticSettings::NewL();
+
+ self->iOrdinalForAllViews = aOrdinalForAllViews;
+ }
+
+/** Retrieves the global setting that determines whether a window's ordinal is set for
+ all views (ETrue) or only when the top view is not active (EFalse)
+
+If the CCoeControlStaticSettings object does not exist, then the default
+is to return EFalse.
+@return ETrue if a window's ordinal should be set for all views, EFalse if not.
+*/
+EXPORT_C TBool CCoeControlStaticSettings::OrdinalForAllViews()
+ {
+ CCoeControlStaticSettings* self = Self();
+ TBool retval = EFalse;
+ if (self)
+ retval = self->iOrdinalForAllViews;
+
+ return retval;
+ }
+
+
+/** Globally sets whether CCoeControls should take focus when they are created.
+
+This function should be called from within a CEikLibrary plugin.
+@param aFocusedByDefault True if CCoeControls should take focus when created, false if not.
+*/
+EXPORT_C void CCoeControlStaticSettings::SetFocusedByDefaultL(TBool aFocusedByDefault)
+ {
+ CCoeControlStaticSettings* self = Self();
+ if (!self)
+ self = CCoeControlStaticSettings::NewL();
+
+ self->iFocusedByDefault = aFocusedByDefault;
+ }
+
+/** Retrieves the global setting that determines whether CCoeControls take
+focus when created.
+
+If the CCoeControlStaticSettings object does not exist, then the default
+is to return true, which gives unchanged behaviour from pre-v9.0 releases.
+@return True if CCoeControls take focus when created, false if not.
+*/
+EXPORT_C TBool CCoeControlStaticSettings::FocusedByDefault()
+ {
+ return FocusedByDefault(NULL);
+ }
+
+/** Retrieves the global setting that determines whether CCoeControls take
+focus when created.
+
+If the CCoeControlStaticSettings object does not exist, then the default
+is to return true, which gives unchanged behaviour from pre-v9.0 releases.
+@return True if CCoeControls take focus when created, false if not.
+@param aCoeEnv The Control environment.
+*/
+EXPORT_C TBool CCoeControlStaticSettings::FocusedByDefault(CCoeEnv* aCoeEnv)
+// class defined in coecntss.h to keep it away from prying eyes.
+ {
+ CCoeControlStaticSettings* self=Self(aCoeEnv);
+ TBool retval = ETrue;
+ if (self)
+ retval = self->iFocusedByDefault;
+
+ return retval;
+ }
+
+/**
+ Returns the default system type face name.
+
+ @return default system typeface name */
+EXPORT_C const TDesC& CCoeControlStaticSettings::SystemTypeface()
+ {
+ CCoeControlStaticSettings* self = Self();
+ if (self)
+ return self->iTypeface.iName;
+ else
+ {
+ _LIT(KSystemTypeFaceName, "System One");
+ return KSystemTypeFaceName;
+ }
+ }
+
+/**
+ Sets the default system type face name.
+
+ @param aTypeface is the name to set default system typeface name to */
+EXPORT_C void CCoeControlStaticSettings::SetSystemTypefaceL(const TDesC& aTypeface)
+ {
+ CCoeControlStaticSettings* self = Self();
+ if (!self)
+ self = CCoeControlStaticSettings::NewL();
+
+ self->iTypeface.iName = aTypeface;
+ }
+
+/**
+ Populates the TInt array provided as a parameter with the font pixel sizes.
+
+ @param aLogicalToPixelSizes TInt array to be poulated with font sizes */
+EXPORT_C void CCoeControlStaticSettings::GetLogicalToPixelFontSizesL(RArray<TInt>& aLogicalToPixelSizes)
+ {
+ CCoeControlStaticSettings* self = Self();
+ aLogicalToPixelSizes.Reset();
+
+ if (self)
+ {
+ for (TInt i=0; i<self->iLogicalToPixelSizes.Count(); i++)
+ User::LeaveIfError(aLogicalToPixelSizes.Append(self->iLogicalToPixelSizes[i]));
+ }
+ else
+ {
+ User::LeaveIfError(aLogicalToPixelSizes.Append(8));
+ User::LeaveIfError(aLogicalToPixelSizes.Append(14));
+ User::LeaveIfError(aLogicalToPixelSizes.Append(18));
+ User::LeaveIfError(aLogicalToPixelSizes.Append(22));
+ User::LeaveIfError(aLogicalToPixelSizes.Append(26));
+ }
+ }
+
+/**
+Sets the default array of font pixel sizes.
+
+@param aLogicalToPixelSizes TInt array to use as default with font sizes */
+EXPORT_C void CCoeControlStaticSettings::SetLogicalToPixelFontSizesL(const RArray<TInt>& aLogicalToPixelSizes)
+ {
+ CCoeControlStaticSettings* self = Self();
+ if (!self)
+ self = CCoeControlStaticSettings::NewL();
+
+ self->iLogicalToPixelSizes.Reset();
+
+ for (TInt i=0; i<aLogicalToPixelSizes.Count(); i++)
+ User::LeaveIfError(self->iLogicalToPixelSizes.Append(aLogicalToPixelSizes[i]));
+
+ CCoeEnv* env = CCoeEnv::Static();
+ if (env)
+ {
+ env->RefetchPixelMappingL();
+ CCoeAppUi* appUi = env->AppUi();
+ if(appUi)
+ appUi->RefetchPixelMappingL();
+ }
+ }
+