meetingrequest/mrgui/inc/cesmrlistcomponent.h
branchRCL_3
changeset 12 4ce476e64c59
parent 11 0396474f30f5
child 13 8592a65ad3fb
--- a/meetingrequest/mrgui/inc/cesmrlistcomponent.h	Mon Mar 15 12:39:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* Copyright (c) 2007-2009 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:  ESMR Custom list component
-*
-*/
-
-#ifndef CESMRLISTCOMPONENT_H
-#define CESMRLISTCOMPONENT_H
-
-#include <coecntrl.h>
-#include <eiksbobs.h>
-#include <eikscrlb.h>
-#include <aknphysicsobserveriface.h> // MAknPhysicsObserver
-
-#include "mesmrlistobserver.h"
-
-class CESMRField;
-class CESMRLayoutManager;
-class MESMRFieldStorage;
-class MESMRCalEntry;
-class CMRListPane;
-class CAknPhysics;
-
-/**
- * CESMRListComponent is custom list for Meeting Request edtior and viewer.
- * List contains a List pane of CESMRField items that are stored in CESMRFieldStorage
- * class.
- *
- * @see CESMRField
- * @lib esmrgui.lib
- */
-NONSHARABLE_CLASS( CESMRListComponent ):
-    public CCoeControl,
-    public MESMRListObserver,
-    public MEikScrollBarObserver,
-    public MAknPhysicsObserver
-    {
-public:
-    /**
-     * Two-phased constructor.
-     *
-     * @param aParent Parent control for this list component
-     * @param aStorage Storage contains all the list items.
-     * @return Pointer to created and initialized esmr list component object.
-     */
-     static CESMRListComponent* NewL( 
-                 const CCoeControl* aParent, 
-                 MESMRFieldStorage* aStorage, 
-                 CESMRLayoutManager* aLayout );
-
-    /**
-     * Destructor.
-     */
-    ~CESMRListComponent();
-
-    /**
-     * InternalizeL is used to obtain the data from current CCalEntry.
-     * CCalEntry is wrapped inside MESMRCalEntry object. This call is
-     * propagated to all list items in the list.
-     *
-     * @param aEntry Current entry
-     * @see MESMRCalEntry
-     */
-    void InternalizeL( MESMRCalEntry& aEntry );
-
-    /**
-     * ExternalizeL is used to store the list item data into current
-     * CCalEntry. CCalEntry is wrapped inside the MESMRCalEntry object.
-     *
-     * @param aEntry Current entry.
-     * @param aForceValidation ETrue if force validation should be used
-     * @see MESMRCalEntry
-     */
-    void ExternalizeL( MESMRCalEntry& aEntry, TBool aForceValidation = EFalse );
-
-    /**
-     * Return MESMRListObserver interface. Interface allows the caller
-     * to add, remove field and update field size.
-     */
-     MESMRListObserver& ListObserver();
-
-    /**
-     * Return focused list item.
-     * @return Focused list item or NULL if no focused item
-     */
-     CESMRField* FocusedItem() const;
-
-    /**
-     * Initializes all fields. Needed when theme changes
-     */
-    void InitializeL();
-
-    /**
-     * Changes every fields font
-     */
-    void HandleFontChange();
-
-    void DisableSizeChange(TBool aDisable );
-
-public: // From MEikScrollBarObserver
-    void HandleScrollEventL( CEikScrollBar* aScrollBar,
-                             TEikScrollEvent aEventType );
-
-public: // from MAknPhysicsObserver
-
-   /**
-    * @see MAknPhysicsObserver::ViewPositionChanged
-    */
-   virtual void ViewPositionChanged( const TPoint& aNewPosition, TBool aDrawNow, TUint aFlags );
-
-   /**
-    * @see MAknPhysicsObserver::PhysicEmulationEnded
-    */
-   virtual void PhysicEmulationEnded();
-
-   /**
-    * @see MAknPhysicsObserver::ViewPosition
-    */
-   virtual TPoint ViewPosition() const;
-
-
-protected: // From MESMRListObserver
-    void ControlSizeChanged( CESMRField* aCtrl );
-    void InsertControl( TESMREntryFieldId aField );
-    void RemoveControl( TESMREntryFieldId aField );
-    TBool IsControlVisible( TESMREntryFieldId aField );
-    void SetControlFocusedL( TESMREntryFieldId aField );
-    // SCROLLING_MOD: These two methods are for CESMRRichTextViewer to 
-    //be able to control view area
-    void MoveListAreaDownL( TInt aAmount );
-    void MoveListAreaUpL( TInt aAmount );
-    TInt ListHeight();
-    TBool IsFieldBottomVisible();
-
-public: // From CCoeControl
-    TInt CountComponentControls() const;
-    CCoeControl* ComponentControl( TInt aInd ) const;
-    void SizeChanged();
-    TKeyResponse OfferKeyEventL( const TKeyEvent &aKeyEvent,
-                                 TEventCode aType );
-    virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent);
-	void MakeVisible(TBool aVisible);
-
-
-private:
-    /**
-     * Default c++ constuctor
-     */
-    CESMRListComponent( MESMRFieldStorage* aFactory,
-                        CESMRLayoutManager* aLayout );
-    /**
-     * Second phase constructor
-     */
-    void ConstructL( const CCoeControl* aParent );
-
-private: // Helper methods
-
-    /**
-     * Scrolls the specific field to be fully visible
-     *
-     * @param aInd Index of the field that needs to be fully visible
-     * @param aSizeChanged ETrue if the field size has been changed
-     */
-    void ScrollItemVisible( TInt aInd/*, TBool aSizeChanged*/ );
-
-    /**
-     * Scrolls items in the list up.
-     *
-     * @param aPx Amount of pixels that items are moved up
-     */
-    void ScrollItemsUp( TInt aPx );
-
-    /**
-     * Scrolls items in the list down.
-     *
-     * @param aPx Amount of pixels that items are moved down
-     */
-    void ScrollItemsDown( TInt aPx );
-
-    /**
-     * Updates scroll bar
-     */
-    void UpdateScrollBar();
-
-    /**
-     * Sets physics engine parameters
-     */
-    void UpdatePhysicsL();
-    
-private:
-    /// Own: scrollbar
-    CAknDoubleSpanScrollBar* iScroll;
-    /// Ref: scrollbar model
-    TAknDoubleSpanScrollBarModel iScrollModel;
-    /// Own: Storage for list items.
-    MESMRFieldStorage* iFactory;
-    /// Own: List item container
-    CMRListPane* iContainer;
-    /// Ref: Pointer to Layout data for list component
-    CESMRLayoutManager* iLayout;
-    // Own: Boolean for disabling SizeChanged handling
-    TBool iDisableSizeChanged;
-    // previous scroll bar thumb position
-    TInt iPrevThumbPos;
-
-    CAknPhysics* iPhysics;
-    TBool iIsDragging;
-    TBool iIsScrolling;
-    TPoint iPreviousPosition;
-    TPoint iOriginalPosition;
-    TTime iStartTime;
-    TInt iCurrentScrollSpan;
-    };
-#endif //CESMRLISTCOMPONENT_H