diff -r 000000000000 -r f979ecb2b13e calendarui/editors/inc/calenalldayfield.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarui/editors/inc/calenalldayfield.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,135 @@ +/* +* Copyright (c) 2005 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 : Editor AllDay fields functionality for Meeting entry types + * + */ + + +#ifndef CALENALLDAYFIELDS_H +#define CALENALLDAYFIELDS_H + +// user includes +#include "calenunifiededitor.h" + +// system includes +#include + +// forward declaration +class CCalEntry; +class CAknQueryValueTextArray; +class CAknQueryValueText; + + +// class declaration + +NONSHARABLE_CLASS( CCalenAllDayField ) : public CBase + { +private: + // Define index of "All day event" choicelist item + enum TFormAllDayItemIndex + { + ENonAllDayEvent, + EAllDayEvent + }; + +public: + + /** + * @brief create new CCalenallDayEventFileds + * @param aUnifiedEditor, referance to CCalenUnifiedEditor + */ + static CCalenAllDayField* NewL( CCalenUnifiedEditor& aUnifiedEditor ); + + /** + * @brief destructor + */ + virtual ~CCalenAllDayField(); + +public: + + /** + * @brief To Delete Date un-used fields from Form, + * on AllDay filed value change. + */ + void HandleAllDayFieldChangeL(); + + /** + * @brief Updates fields, before showing in form + */ + void InitAllDayFieldLayoutL(); + + /** + * @brief To Set the AllDay field data in Form + */ + void SetDataToEditorL(); + + /** + * @brief update AllDay related fields on focus transitions + * @param aFocusedId Id of focused control + */ + void PrepareForFocusTransitionL( TInt aFocusedId ); + + + /** + * @brief To Set AllDay Filed value. + * @param aYesOrNo + */ + void SetAllDayEvent( TBool aIsAllday ); + + /** + * @brief To get the AllDay filed value. + * @return ETrue, if AllDay filed is Yes + */ + TBool IsAllDayEvent(); + +private: + + /** + * @brief Add/Delete Start & End Time fields from editor as per the input parameter. + * @param aIsAllDayEvent, If ETrue Delete Time fileds from editor if exists + * else Add Start & End Time fileds to editor + */ + void InsertAllDayRelatedFieldsL( TBool aIsAllDayEvent ); + + /** + * @brief Default constructor + * @param aUnifiedEditor, referance to CCalenUnifiedEditor + */ + CCalenAllDayField( CCalenUnifiedEditor& aUnifiedEditor ); + + /** + * @bridf Two-Phase Constrecture. + */ + void ConstructL(); + +private: + + /* + * @var iIsAllDaySeleceted + * @brief Stores allday event + */ + TBool iIsAllDaySeleceted; + + /* + * @var iUnifiedEditor + * @brief referance to CCalenUnifiedEditor + */ + CCalenUnifiedEditor& iUnifiedEditor; + + }; + +#endif // CALENAALLDAYFIELDS_H + + +// End of File +