landmarksui/app/inc/CLmkByLmContainer.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:27 +0100
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:    LandmarksUi Content File -    LM application ByLm view's container.
*
*/








#ifndef CLMKBYLMCONTAINER_H
#define CLMKBYLMCONTAINER_H

// INCLUDES
#include <EPos_CPosLandmark.h>
#include <coecobs.h>
#include "CLmkLbWithFilterContainer.h"



// FORWARD DECLARATIONS
class CAknView;

// FORWARD DECLARATIONS
class CEikTextListBox;
class CLmkAppLmSelectorImpl;

// CLASS DECLARATION
/**
*  CLmkByLmContainer  container control class.
*
*/
class CLmkByLmContainer : public CLmkLbWithFilterContainer, public MCoeControlObserver
    {
    public: // Constructors and destructor
        /**
        * Two-phased constructor
		* @param aKeyProcessor
		* @param aParent
		* @param aRect A rectangle for drawing.
		* @return The newly created object.
		*/

              // For Landscape Support

		static CLmkByLmContainer* NewL(MLmkKeyProcessor& aKeyProcessor,
												MObjectProvider* aParent,
												const TRect& aRect ,
												CAknView& aView);

        /**
        * Destructor.
        */
        ~CLmkByLmContainer();

    public: // from CCoeControl
        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
                                     TEventCode aType );

      // For Landscape Support

      void HandleResourceChange(TInt aType);

    public: // New functions
      TInt GetSelectedLandmarksL(RPointerArray<CPosLandmark> &aArray);

      TBool IsLandmarkDataEmptyL(CPosLandmark* aLandmark);
      
      TBool IsEditorOpened();
      
      void SetEditorOpenedBool(TBool aBoolvalue);

      void SetHandlePointerEventBool( TBool aBoolValue);

    protected: // From CLmkLbWithFilterContainer
        void SetupTitlePaneL();
        void SetupSelectorAndListL( CPosLandmarkDatabase& aDb,
                                    CLmkSender& aSender );
        void SetupNaviPaneL();

    public: // From MCoeControlObserver

        /**
        * HandleControlEventL handles an event from an observed control.
        *
        * @param aControl the control that reported the event
        * @param aEventType contains info about the event
        */
       void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType);

    private:
        /**
        * C++ default constructor.
        * @param aKeyProcessor
        * @return newly instantiated object
        */
		// Changed for Landscape support
		CLmkByLmContainer( MLmkKeyProcessor& aKeyProcessor, CAknView& aView );

    	// from CCoeControl
    	void FocusChanged(TDrawNow aDrawNow);

        /**
        * Symbian 2nd phase constructor
        * @param aRect
        */
        void ConstructL( const TRect& aRect );

    private://from MLmkMskObserver
    	void UpdateMskContainerL();

	private: //from CLmkBaseContainer
        CEikMenuBar* MenuBar();
        TInt ContextSpecificMenuBar();

	#ifdef RD_SCALABLE_UI_V2
    public://for touch support
    	void HandlePointerEventL( const TPointerEvent& aPointerEvent );
    #endif//RD_SCALABLE_UI_V2

	private:	// Data
		CAknView &iView;
		TBool iIsEditorOpened;
		TBool iHandlePointerEvent;

    };

#endif // CLMKBYLMCONTAINER_H

// End of File