emailuis/nmailuiwidgets/inc/nmeditortextedit.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 14:51:52 +0300
changeset 18 578830873419
child 23 2dc6caa42ec3
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* 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 NmEditorContent;
class NmBaseViewScrollArea;
class HbScrollArea;


class NMAILUIWIDGETS_EXPORT NmEditorTextEdit : public HbTextEdit
{
Q_OBJECT

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

    void init(NmEditorContent *parent, 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 setEditorContentHeight();

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

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

#endif /* NMEDITORTEXTEDIT_H_ */