emailuis/nmailuiwidgets/inc/nmeditortextedit.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 27 May 2010 12:43:55 +0300
changeset 27 9ba4404ef423
parent 23 2dc6caa42ec3
child 30 759dc5235cdb
permissions -rw-r--r--
Revision: 201019 Kit: 2010121

/*
* Copyright (c) 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: Message editor body text field
*
*/

#ifndef NMEDITORTEXTEDIT_H_
#define NMEDITORTEXTEDIT_H_

#include <hbtextedit.h>
#include "nmailuiwidgetsdef.h"

class NmBaseViewScrollArea;
class HbScrollArea;


class NMAILUIWIDGETS_EXPORT NmEditorTextEdit : public HbTextEdit
{
Q_OBJECT

public:
    NmEditorTextEdit(QGraphicsItem *parent = 0);
    virtual ~NmEditorTextEdit();

    void init(NmBaseViewScrollArea *bgScrollArea);
    qreal contentHeight() const;

    void sendMousePressEvent(QGraphicsSceneMouseEvent *event);
    void sendMouseReleaseEvent(QGraphicsSceneMouseEvent *event);
    void sendMouseMoveEvent(QGraphicsSceneMouseEvent *event);
    void sendLongPressEvent(const QPointF &point);
    void setCustomTextColor(const QPair<bool, QColor> &customColor);
    void setCustomTextColor(bool useCustom, const QColor& color = Qt::black);
    QPair<bool, QColor> customTextColor() const;

signals:
    void editorContentHeightChanged();

public slots:
    void updateEditorHeight();
    void setHeaderHeight(int);
    void setScrollPosition(int oldPos, int newPos);
    void updateScrollPosition(const QPointF &newPosition);
    void updateCustomTextColor();

private:
    HbScrollArea *mScrollArea;
    NmBaseViewScrollArea *mBackgroundScrollArea;
    qreal mPreviousContentsHeight;
    int mHeaderHeight;
    QPointF mBgScrollPosition;
    bool mFirstTime;
    bool mFirstTimeToScrollPosUpdate;
    
    QPair<bool, QColor> mCustomTextColor;//!<This property keeps info about using customTextColor and color to use. 
};

#endif /* NMEDITORTEXTEDIT_H_ */