williamr@2: /* williamr@2: * Copyright (c) 1997-1999 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #if !defined(__EIKMOVER_H__) williamr@2: #define __EIKMOVER_H__ williamr@2: williamr@2: #include williamr@2: williamr@2: // williamr@2: // Forward declarations williamr@2: // williamr@2: williamr@2: class TResourceReader; williamr@2: williamr@2: /** williamr@2: * The CEikMover class implements a draggable bar that can be used as williamr@2: * the title bar of a dialog window. williamr@2: */ williamr@2: class CEikMover : public CAknControl williamr@2: { williamr@2: public: // class specific williamr@2: /** Destructor williamr@2: */ williamr@2: IMPORT_C ~CEikMover(); williamr@2: /** Constructor williamr@2: */ williamr@2: IMPORT_C CEikMover(); williamr@2: /** SetText sets the text williamr@2: * @param aText a descriptor williamr@2: */ williamr@2: IMPORT_C void SetText(HBufC* aText); williamr@2: /** SetTextL sets the text williamr@2: * @param aText a descriptor williamr@2: */ williamr@2: IMPORT_C void SetTextL(const TDesC& aText); williamr@2: /** SetActive() sets mover active state williamr@2: */ williamr@2: IMPORT_C void SetActive(TBool aActive); williamr@2: /** Active() returns whether mover is active williamr@2: */ williamr@2: IMPORT_C TBool Active() const; williamr@2: /** SetFont sets the font for the text williamr@2: */ williamr@2: IMPORT_C void SetFont(const CFont* aFont); williamr@2: /** SetTitleLeftMargin sets left margin of the title text williamr@2: */ williamr@2: IMPORT_C void SetTitleLeftMargin(TInt aLeftMargin); williamr@2: public: // from CCoeControl williamr@2: /** ConstructFromResourceL constructs mover from resource williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual void ConstructFromResourceL(TResourceReader& aReader); williamr@2: /** MinimumSize() williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual TSize MinimumSize(); williamr@2: /** SetContainerWindowL() williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual void SetContainerWindowL(const CCoeControl& aContainer); williamr@2: /** GetColorUseListL() williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual void GetColorUseListL(CArrayFix& aColorUseList) const; // not available before Release 005u williamr@2: /** HandleResourceChange williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual void HandleResourceChange(TInt aType); // not available before Release 005u williamr@2: /** HandlePointerEventL() williamr@2: * from CCoeControl williamr@2: */ williamr@2: IMPORT_C virtual void HandlePointerEventL(const TPointerEvent& aPointerEvent); williamr@2: protected: //from CCoeControl williamr@2: IMPORT_C virtual void WriteInternalStateL(RWriteStream& aWriteStream) const; williamr@2: private: // from CCoeControl williamr@2: IMPORT_C virtual void Draw(const TRect& aRect) const; williamr@2: private: williamr@2: IMPORT_C virtual void Reserved_2(); williamr@2: private: williamr@2: /** williamr@2: * From CAknControl williamr@2: */ williamr@2: IMPORT_C void* ExtensionInterface( TUid aInterface ); williamr@2: private: williamr@2: HBufC* iText; williamr@2: const CFont* iFont; williamr@2: TPoint iPointerDownPos; williamr@2: TInt iMoverFlags; williamr@2: TInt iTitleLeftMargin; williamr@2: CCoeControl* iParentControl; williamr@2: TInt iSpare; williamr@2: }; williamr@2: williamr@2: #endif