classicui_plat/common_file_dialogs_api/inc/CAknCommonDialogsBase.h
author hgs
Thu, 29 Jul 2010 14:21:56 +0800
changeset 46 0e1e0022bd03
permissions -rw-r--r--
201029_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     1
/*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     3
* All rights reserved.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     8
*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    11
*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    12
* Contributors:
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    13
*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    14
* Description:  Base class for Common File Dialogs.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    15
*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    16
*/
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    17
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    18
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    19
#ifndef CAKNCOMMONDIALOGSBASE_H
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    20
#define CAKNCOMMONDIALOGSBASE_H
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    21
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    22
// INCLUDES
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    23
#include <e32base.h>
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    24
#include <ConeResLoader.h>
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    25
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    26
// CONSTANTS
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    27
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    28
/**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    29
* Enumerations for different dialogs. A dialog loads its default values
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    30
* (such as softkey texts and title) depending on its type.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    31
*/
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    32
enum TCommonDialogType
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    33
    {
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    34
    ECFDDialogTypeNormal,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    35
    ECFDDialogTypeSelect,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    36
    ECFDDialogTypeSave,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    37
    ECFDDialogTypeMove,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    38
    ECFDDialogTypeBrowse,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    39
    ECFDDialogTypeDefaultSetting, //Cannot be used in multi-drive
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    40
    ECFDDialogTypeCopy
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    41
    };
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    42
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    43
/**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    44
* Text that is shown when Common File Dialogs panics.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    45
*/
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    46
_LIT( KCFDPanicText, "CommonDialogs" );
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    47
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    48
/**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    49
* Enumerations for Common File Dialog panics.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    50
*/
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    51
enum TCFDPanics
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    52
    {
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    53
    ECFDPanicInvalidFilterType                      =  1,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    54
    ECFDPanicInvalidFilterStyle                     =  2,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    55
    ECFDPanicInvalidAttributeFilterDataLength       =  3,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    56
    ECFDPanicInvalidAttributeFilterDataCount        =  4,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    57
    ECFDPanicInvalidFileNameFilterDataLength        =  5,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    58
    ECFDPanicInvalidFileNameFilterDataCount         =  6,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    59
    ECFDPanicNoLocationStructures                   =  7,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    60
    ECFDPanicRootPathNotDefined                     =  8,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    61
    ECFDPanicNoPathForFileNamePromptDialog          =  9,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    62
    ECFDPanicOutOfBounds                            = 10,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    63
    ECFDPanicNullParameter                          = 11,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    64
    ECFDPanicNoResourceDefined                      = 12,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    65
    ECFDPanicTitleOrSoftkeyNotSet                   = 13
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    66
    };
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    67
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    68
// FORWARD DECLARATIONS
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    69
class CCoeEnv;
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    70
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    71
//  CLASS DEFINITION
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    72
/**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    73
*  Base class for Common File Dialogs.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    74
*  Can't be created without derivation because of the protected constructor.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    75
*  Opens CFD's resource in BaseConstructL.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    76
*
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    77
*  @lib CommonDialogs.lib
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    78
*  @since 1.2
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    79
*/
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    80
NONSHARABLE_CLASS(CAknCommonDialogsBase) : public CBase
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    81
    {
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    82
    public:     // Enumerations
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    83
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    84
        /**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    85
        * Sometimes it is necessary to know if dialog was exited by
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    86
        * left softkey or selection key. This enumeration works as TBool,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    87
        * ERightSoftkey is not true and other return values are.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    88
        * For example, memory selection dialog and file selection dialog
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    89
        * return values of this enumeration.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    90
        */
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    91
        enum TReturnKey
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    92
            {
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    93
            ERightSoftkey = EFalse,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    94
            ELeftSoftkey,
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    95
            ESelectionKey
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    96
            };
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    97
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    98
    protected:  // Constructors and destructors
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
    99
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   100
        CAknCommonDialogsBase();
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   101
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   102
        virtual ~CAknCommonDialogsBase();
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   103
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   104
        /**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   105
        * Loads resource of Common File Dialogs on any language.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   106
        */
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   107
        void BaseConstructL();
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   108
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   109
    protected:  // Data
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   110
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   111
        /**
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   112
        * Ref: Pointer to control environment.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   113
        * Pointer is cached because using of CCoeEnv::Static() is slow.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   114
        * For direct use for derived classes.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   115
        */
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   116
        CCoeEnv* iCoeEnv;
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   117
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   118
    private:    // Data
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   119
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   120
        // Own: Loads resource file of Common File Dialogs on any language.
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   121
        RConeResourceLoader iResourceLoader;
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   122
    };
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   123
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   124
#endif // CAKNCOMMONDIALOGSBASE_H
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   125
0e1e0022bd03 201029_1
hgs
parents:
diff changeset
   126
// End of File