williamr@2: /* williamr@2: * Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Base class for Common File Dialogs. williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef CAKNCOMMONDIALOGSBASE_H williamr@2: #define CAKNCOMMONDIALOGSBASE_H williamr@2: williamr@2: // INCLUDES williamr@4: #include williamr@2: #include williamr@2: williamr@2: // CONSTANTS williamr@2: williamr@2: /** williamr@2: * Enumerations for different dialogs. A dialog loads its default values williamr@2: * (such as softkey texts and title) depending on its type. williamr@2: */ williamr@2: enum TCommonDialogType williamr@2: { williamr@2: ECFDDialogTypeNormal, williamr@2: ECFDDialogTypeSelect, williamr@2: ECFDDialogTypeSave, williamr@2: ECFDDialogTypeMove, williamr@2: ECFDDialogTypeBrowse, williamr@2: ECFDDialogTypeDefaultSetting, //Cannot be used in multi-drive williamr@2: ECFDDialogTypeCopy williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Text that is shown when Common File Dialogs panics. williamr@2: */ williamr@2: _LIT( KCFDPanicText, "CommonDialogs" ); williamr@2: williamr@2: /** williamr@2: * Enumerations for Common File Dialog panics. williamr@2: */ williamr@2: enum TCFDPanics williamr@2: { williamr@2: ECFDPanicInvalidFilterType = 1, williamr@2: ECFDPanicInvalidFilterStyle = 2, williamr@2: ECFDPanicInvalidAttributeFilterDataLength = 3, williamr@2: ECFDPanicInvalidAttributeFilterDataCount = 4, williamr@2: ECFDPanicInvalidFileNameFilterDataLength = 5, williamr@2: ECFDPanicInvalidFileNameFilterDataCount = 6, williamr@2: ECFDPanicNoLocationStructures = 7, williamr@2: ECFDPanicRootPathNotDefined = 8, williamr@2: ECFDPanicNoPathForFileNamePromptDialog = 9, williamr@2: ECFDPanicOutOfBounds = 10, williamr@2: ECFDPanicNullParameter = 11, williamr@2: ECFDPanicNoResourceDefined = 12, williamr@2: ECFDPanicTitleOrSoftkeyNotSet = 13 williamr@2: }; williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: class CCoeEnv; williamr@2: williamr@2: // CLASS DEFINITION williamr@2: /** williamr@2: * Base class for Common File Dialogs. williamr@2: * Can't be created without derivation because of the protected constructor. williamr@2: * Opens CFD's resource in BaseConstructL. williamr@2: * williamr@2: * @lib CommonDialogs.lib williamr@2: * @since 1.2 williamr@2: */ williamr@2: NONSHARABLE_CLASS(CAknCommonDialogsBase) : public CBase williamr@2: { williamr@2: public: // Enumerations williamr@2: williamr@2: /** williamr@2: * Sometimes it is necessary to know if dialog was exited by williamr@2: * left softkey or selection key. This enumeration works as TBool, williamr@2: * ERightSoftkey is not true and other return values are. williamr@2: * For example, memory selection dialog and file selection dialog williamr@2: * return values of this enumeration. williamr@2: */ williamr@2: enum TReturnKey williamr@2: { williamr@2: ERightSoftkey = EFalse, williamr@2: ELeftSoftkey, williamr@2: ESelectionKey williamr@2: }; williamr@2: williamr@2: protected: // Constructors and destructors williamr@2: williamr@2: CAknCommonDialogsBase(); williamr@2: williamr@2: virtual ~CAknCommonDialogsBase(); williamr@2: williamr@2: /** williamr@2: * Loads resource of Common File Dialogs on any language. williamr@2: */ williamr@2: void BaseConstructL(); williamr@2: williamr@2: protected: // Data williamr@2: williamr@2: /** williamr@2: * Ref: Pointer to control environment. williamr@2: * Pointer is cached because using of CCoeEnv::Static() is slow. williamr@2: * For direct use for derived classes. williamr@2: */ williamr@2: CCoeEnv* iCoeEnv; williamr@2: williamr@2: private: // Data williamr@2: williamr@2: // Own: Loads resource file of Common File Dialogs on any language. williamr@2: RConeResourceLoader iResourceLoader; williamr@2: }; williamr@2: williamr@2: #endif // CAKNCOMMONDIALOGSBASE_H williamr@2: williamr@2: // End of File