diff -r 000000000000 -r f979ecb2b13e calendarui/views/inc/calendaylistboxview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarui/views/inc/calendaylistboxview.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,131 @@ +/* +* Copyright (c) 2002 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: ListBox View class. The class has a special drawing and + * special cusor moving. + * +*/ + + + +#ifndef CALENDAYLISTBOXVIEW_H +#define CALENDAYLISTBOXVIEW_H + +// INCLUDE +#include + +// CLASS DECLARATION + +/** + * ListBox View class + * The class has a special drawing and special cusor moving. + */ + +NONSHARABLE_CLASS( CCalenDayListBoxView ) : public CFormattedCellListBoxView + { +public: // Constructors and destructor + + /** + * C++ constructor. + * @param aParent is a parent control (CEikListbox) + */ + CCalenDayListBoxView(CCoeControl* aParent); + + ~CCalenDayListBoxView(); + +public: // New functions + /** + * Sets a array for dividing a cell + * @param aArray has a information for dividing a cell + */ + void SetCellArray(CArrayFix* aArray); + + /** + * @param line of cell + * @returns first line of cell that given line belongs + */ + TInt FirstLineOfCell(TInt aLine) const; + + TInt LastLineOfCell(TInt aLine) const; + + + /** + * Moves focus to new position. + * @param aItemIndex Index of new position + */ + void MoveToItemL(TInt aItemIndex); + + + /** + * Size of possibly multiline entry + * @param aItemIndex Index of an item + * @return Size of day view item + */ + TSize ItemSize(TInt aItemIndex) const; + +public: // New functions + /** + * Checks the line whether the ternimation in a cell. + * @param aItemIndex is checked item index + */ + TBool IsLastLineOfCell(TInt aItemIndex) const; + /** + * Checks the line whether the top in a cell. + * @param aItemIndex is checked item index + */ + TBool IsFirstLineOfCell(TInt aItemIndex) const; + +private: + /** + * Draws a whole cell + * @param aIndex is a top line in a cell + */ + void DrawCell(TInt aIndex); + + /** + * Calculates rectangle for visible calendar event (1-4 lines) + */ + TRect DayViewItemRect(TInt aItemIndex) const; + + /** + * Moves focus to item and ensures that whole item is visible + */ + void ScrollToItemL(TInt aItemIndex, TSelectionMode aSelectionMode); + + /* Just a wrapper for leaving functions */ + void DrawItemL(TInt aItemIndex) const; + +private: // from CEikListBoxView + /** + * From CEikListBoxView + * Draws a Listbox's item + * @param aItemIndex is drawing item index + */ + void DrawItem(TInt aItemIndex) const; + /** + * From CEikListBoxView + * Moves the cursor + * @param aCursorMovement is a cursor movement + * @param aSelectionMode is a selection mode + */ + void MoveCursorL(TCursorMovement aCursorMovement, + TSelectionMode aSelectionMode); + +private: // Data + CArrayFix* iCellArray; // cache + CCoeControl* iParent; + }; + +#endif // CALENDAYLISTBOXVIEW_H + +// End of File