meetingrequest/mrgui/mrfieldbuilderplugin/src/CESMRFieldBuilderPlugin.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
     1 /*
     1 /*
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #include "emailtrace.h"
    19 #include "emailtrace.h"
    20 #include "CESMRFieldBuilderPlugin.h"
    20 #include "cesmrfieldbuilderplugin.h"
    21 
    21 
    22 //<cmail>
    22 //<cmail>
    23 #include "esmrdef.h"
    23 #include "esmrdef.h"
    24 //</cmail>
    24 //</cmail>
    25 #include "mesmrresponseobserver.h"
    25 #include "mesmrresponseobserver.h"
    32 #include "cesmralarmfield.h"
    32 #include "cesmralarmfield.h"
    33 #include "cesmrrecurencefield.h"
    33 #include "cesmrrecurencefield.h"
    34 #include "cesmrdescriptionfield.h"
    34 #include "cesmrdescriptionfield.h"
    35 #include "cesmrcheckbox.h"
    35 #include "cesmrcheckbox.h"
    36 #include "cesmrsingletimefield.h"
    36 #include "cesmrsingletimefield.h"
    37 #include "cesmrbooleanfield.h"
    37 #include "cmralarmonofffield.h"
    38 #include "cesmrsyncfield.h"
    38 #include "cesmrsyncfield.h"
    39 #include "cesmrpriorityfield.h"
    39 #include "cesmrpriorityfield.h"
       
    40 #include "cmrattachmentsfield.h"
       
    41 #include "cmrunifiededitorfield.h"
       
    42 #include "cmrmulticalenfield.h"
    40 
    43 
    41 // Viewer fields
    44 // Viewer fields
    42 #include "cesmrviewerlabelfield.h"
       
    43 #include "cesmrviewerlocationfield.h"
    45 #include "cesmrviewerlocationfield.h"
    44 #include "cesmrviewerstartdatefield.h"
    46 #include "cesmrviewerstartdatefield.h"
    45 #include "cesmrviewertimefield.h"
    47 #include "cesmrviewertimefield.h"
    46 #include "cesmrvieweralarmfield.h"
    48 #include "cesmrvieweralarmfield.h"
    47 #include "cesmrviewerdescriptionfield.h"
    49 #include "cesmrviewerdescriptionfield.h"
    53 #include "cesmrvieweralldayeventfield.h"
    55 #include "cesmrvieweralldayeventfield.h"
    54 #include "cesmrvieweralarmdatefield.h"
    56 #include "cesmrvieweralarmdatefield.h"
    55 #include "cesmrvieweralarmtimefield.h"
    57 #include "cesmrvieweralarmtimefield.h"
    56 #include "cesmrviewerdetailedsubjectfield.h"
    58 #include "cesmrviewerdetailedsubjectfield.h"
    57 #include "cesmrrepeatuntil.h"
    59 #include "cesmrrepeatuntil.h"
    58 
    60 #include "cmrviewerattachmentfield.h"
    59 // <cmail> Removed profiling.</cmail>
    61 
    60 
    62 
    61 /// Unnamed namespace for local definitions
    63 /// Unnamed namespace for local definitions
    62 namespace { // codescanner::namespace
    64 namespace { // codescanner::namespace
    63 
    65 
    64 #ifdef _DEBUG
       
    65 
       
    66 // Panic literal
    66 // Panic literal
    67 _LIT( KESMRFieldBuilderPlugin, "ESMRFieldBuilderPlugin" );
    67 _LIT( KESMRFieldBuilderPlugin, "ESMRFieldBuilderPlugin" );
    68 
    68 
    69 /** Panic codes */
    69 /** Panic codes */
    70 enum TESMRFieldBuilderPluginPanic
    70 enum TESMRFieldBuilderPluginPanic
    74 
    74 
    75 void Panic( TESMRFieldBuilderPluginPanic aPanic )
    75 void Panic( TESMRFieldBuilderPluginPanic aPanic )
    76     {
    76     {
    77     User::Panic( KESMRFieldBuilderPlugin, aPanic );
    77     User::Panic( KESMRFieldBuilderPlugin, aPanic );
    78     }
    78     }
    79 
       
    80 #endif // _DEBUG
       
    81 
    79 
    82 }  // namespace
    80 }  // namespace
    83 
    81 
    84 // ======== MEMBER FUNCTIONS ========
    82 // ======== MEMBER FUNCTIONS ========
    85 
    83 
   175             break;
   173             break;
   176         case EESMRFieldAllDayEvent:
   174         case EESMRFieldAllDayEvent:
   177             field = CESMRCheckBox::NewL( aValidator );
   175             field = CESMRCheckBox::NewL( aValidator );
   178             break;
   176             break;
   179         case EESMRFieldAlarmOnOff:
   177         case EESMRFieldAlarmOnOff:
   180             field = CESMRBooleanField::NewL( aValidator );
   178             field = CMRAlarmOnOffField::NewL( aValidator );
   181             break;
   179             break;
   182         case EESMRFieldAlarmTime:
   180         case EESMRFieldAlarmTime:
   183             field = CESMRSingleTimeField::NewL( aValidator );
   181             field = CESMRSingleTimeField::NewL( aValidator );
   184             break;
   182             break;
   185         case EESMRFieldAlarmDate:
   183         case EESMRFieldAlarmDate:
   203         case EESMRFieldOccasion:
   201         case EESMRFieldOccasion:
   204             field = CESMRSubjectField::NewL( CESMRSubjectField::ETypeOccasion );
   202             field = CESMRSubjectField::NewL( CESMRSubjectField::ETypeOccasion );
   205             break;
   203             break;
   206         case EESMRFieldPriority:
   204         case EESMRFieldPriority:
   207             field = CESMRPriorityField::NewL();
   205             field = CESMRPriorityField::NewL();
       
   206             break;
       
   207         case EESMRFieldAttachments:
       
   208             field = CMRAttachmentsField::NewL();
       
   209             break;
       
   210         case EESMRFieldUnifiedEditor:
       
   211             field = CMRUnifiedEditorField::NewL();
       
   212             break;
       
   213         case EESMRFieldCalendarName:
       
   214             field = CMRMultiCalenField::NewL();
   208             break;
   215             break;
   209         default:
   216         default:
   210             {
   217             {
   211             field = FieldBuilderExtensionL()->CreateEditorFieldL(
   218             field = FieldBuilderExtensionL()->CreateEditorFieldL(
   212                     aValidator,
   219                     aValidator,
   213                     aField );
   220                     aField );
   214             }
   221             }
   215             break;
   222             break;
   216         }
   223         }
   217 
   224 
   218     __ASSERT_DEBUG( field, Panic(EInvalidFieldId) );
   225     __ASSERT_ALWAYS( field, Panic(EInvalidFieldId) );
       
   226     // Set field mode
       
   227     field->SetFieldMode( EESMRFieldModeEdit );
       
   228 
   219     return field;
   229     return field;
   220     }
   230     }
   221 
   231 
   222 // ---------------------------------------------------------------------------
   232 // ---------------------------------------------------------------------------
   223 // CESMRFieldBuilderPlugin::CreateViewerFieldL()
   233 // CESMRFieldBuilderPlugin::CreateViewerFieldL()
   299         case EESMRFieldDetailedSubject:
   309         case EESMRFieldDetailedSubject:
   300             {
   310             {
   301             field = CESMRViewerDetailedSubjectField::NewL();
   311             field = CESMRViewerDetailedSubjectField::NewL();
   302             break;
   312             break;
   303             }
   313             }
       
   314         case EESMRFieldViewerAttachments:
       
   315             {
       
   316             field = CMRViewerAttachmentsField::NewL();
       
   317             break;
       
   318             }
       
   319         case EESMRFieldCalendarName:
       
   320         	{
       
   321         	field = CMRMultiCalenField::NewL();
       
   322         	break;
       
   323         	}
       
   324                
   304         default:
   325         default:
   305             {
   326             {
   306             MESMRFieldBuilder* extension = FieldBuilderExtensionL();
   327             MESMRFieldBuilder* extension = FieldBuilderExtensionL();
   307             if ( extension )
   328             if ( extension )
   308                 {
   329                 {
   313                 }
   334                 }
   314             }
   335             }
   315             break;
   336             break;
   316         }
   337         }
   317 
   338 
   318     __ASSERT_DEBUG( field, Panic(EInvalidFieldId) );
   339     __ASSERT_ALWAYS( field, Panic(EInvalidFieldId) );
   319     // Set field mode
   340     // Set field mode
   320     field->SetFieldMode( EESMRFieldModeView );
   341     field->SetFieldMode( EESMRFieldModeView );
   321     
   342 
   322     return field;
   343     return field;
   323     }
   344     }
   324 
   345 
   325 // ---------------------------------------------------------------------------
   346 // ---------------------------------------------------------------------------
   326 // CESMRFieldBuilderPlugin::FieldBuilderExtensionL()
   347 // CESMRFieldBuilderPlugin::FieldBuilderExtensionL()