meetingrequest/mrguicommon/src/nmrcolormanager.cpp
branchRCL_3
changeset 12 4ce476e64c59
child 16 b5fbb9b25d57
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
       
     1 /*
       
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: Color manager for MRGUI usage.
       
    15 *
       
    16 */
       
    17 
       
    18 #include "nmrcolormanager.h"
       
    19 
       
    20 #include <gdi.h>
       
    21 #include <eikmfne.h>
       
    22 #include <aknsitemid.h>
       
    23 #include <aknutils.h>
       
    24 #include <aknsutils.h>
       
    25 #include <esmrgui.mbg>
       
    26 #include <data_caging_path_literals.hrh>
       
    27 
       
    28 using namespace NMRColorManager;
       
    29 
       
    30 namespace { // codescanner::unnamednamespace
       
    31 
       
    32 #ifdef _DEBUG
       
    33 
       
    34 // Definition for panic text
       
    35 _LIT( KNMRColorManager, "NMRColorManager" );
       
    36 
       
    37 /**
       
    38  * ES MR Entry panic codes
       
    39  */
       
    40 enum TNMRColorManager
       
    41     {
       
    42     KUnhandledColorId = 1
       
    43     };
       
    44 
       
    45 /**
       
    46  * Raises panic.
       
    47  * @param aPanic Panic code
       
    48  */
       
    49 void Panic( TNMRColorManager aPanic )
       
    50     {
       
    51     User::Panic( KNMRColorManager, aPanic);
       
    52     }
       
    53 
       
    54 #endif // _DEBUG
       
    55 
       
    56 }
       
    57 
       
    58 // ---------------------------------------------------------------------------
       
    59 // NMRColorManager::GetColorStruct
       
    60 // ---------------------------------------------------------------------------
       
    61 //
       
    62 EXPORT_C TMRColorStruct NMRColorManager::GetColorStruct( TMRColorId aColorId )
       
    63     {
       
    64     TMRColorStruct colorStruct;
       
    65     
       
    66     switch ( aColorId )
       
    67         {
       
    68         case EMRMainAreaTextColor:
       
    69             {
       
    70             colorStruct.iColorGroup = KAknsIIDQsnTextColors;
       
    71             colorStruct.iColorIndex = EAknsCIQsnTextColorsCG6;
       
    72             break;
       
    73             }
       
    74         case EMRCutCopyPasteHighlightColor:
       
    75             {
       
    76             colorStruct.iColorGroup = KAknsIIDQsnHighlightColors;
       
    77             colorStruct.iColorIndex = EAknsCIQsnHighlightColorsCG2; 
       
    78             break;
       
    79             }
       
    80         case EMRCopiedTextColor:
       
    81             {
       
    82             colorStruct.iColorGroup = KAknsIIDQsnTextColors;
       
    83             colorStruct.iColorIndex = EAknsCIQsnTextColorsCG24; 
       
    84             break;
       
    85             }
       
    86         case EMRNaviPaneText:
       
    87             {
       
    88             colorStruct.iColorGroup = KAknsIIDQsnTextColors;
       
    89             colorStruct.iColorIndex = EAknsCIQsnTextColorsCG2; 
       
    90             break;
       
    91             }
       
    92         case EMRPredictiveSearchPopUpBgColor:
       
    93             {
       
    94             colorStruct.iColorGroup = KAknsIIDFsOtherColors;
       
    95             colorStruct.iColorIndex = EAknsCIFsOtherColorsCG13; 
       
    96             break;
       
    97             }
       
    98         case EMRMainAreaTextColorDimmed:
       
    99             {
       
   100             colorStruct.iColorGroup = KAknsIIDFsOtherColors;
       
   101             colorStruct.iColorIndex = EAknsCIFsOtherColorsCG1; 
       
   102             // TODO: Once feature confirmed by UI specifier, confirm the
       
   103             // correct color
       
   104             }
       
   105         // TODO: For testing purposes only; keep as last item during development
       
   106         case EMRLastColorItemId:
       
   107             {
       
   108             colorStruct.iColorGroup = KAknsIIDQsnTextColors;
       
   109             colorStruct.iColorIndex = EAknsCIQsnTextColorsCG74; 
       
   110             break;
       
   111             }
       
   112         default:
       
   113             {
       
   114             __ASSERT_DEBUG( EFalse, Panic( KUnhandledColorId ) );
       
   115             break;
       
   116             }
       
   117         }
       
   118     return colorStruct;
       
   119     }
       
   120 
       
   121 // ---------------------------------------------------------------------------
       
   122 // NMRColorManager::Color
       
   123 // ---------------------------------------------------------------------------
       
   124 //
       
   125 EXPORT_C TRgb NMRColorManager::Color( TMRColorId aColorId )
       
   126     {
       
   127     TRgb color;
       
   128     TMRColorStruct colorStruct = GetColorStruct( aColorId );
       
   129 
       
   130     AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
       
   131                                color,
       
   132                                colorStruct.iColorGroup,
       
   133                                colorStruct.iColorIndex );
       
   134     return color;
       
   135     }
       
   136 
       
   137 // ---------------------------------------------------------------------------
       
   138 // NMRColorManager::SetColor
       
   139 // ---------------------------------------------------------------------------
       
   140 //
       
   141 EXPORT_C void NMRColorManager::SetColor( CCoeControl& aControl, 
       
   142                                          TMRColorId aColorId )
       
   143     {
       
   144     // If color setting fails, we just don't set it
       
   145     TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL( 
       
   146                         aControl, 
       
   147                         EColorLabelText,
       
   148                         Color( aColorId ) ) );
       
   149     }
       
   150 
       
   151 // ---------------------------------------------------------------------------
       
   152 // NMRColorManager::SetColor
       
   153 // ---------------------------------------------------------------------------
       
   154 //
       
   155 EXPORT_C void NMRColorManager::SetColor( CEikTTimeEditor& aEditor, 
       
   156                                          TMRColorId aColorId )
       
   157     {
       
   158     TMRColorStruct colorStruct = GetColorStruct( aColorId );
       
   159 
       
   160     // If color setting fails, we just don't set it
       
   161     TRAP_IGNORE( aEditor.SetSkinTextColorL( colorStruct.iColorIndex ) );
       
   162     }
       
   163 
       
   164 // EOF
       
   165