--- a/src/hbwidgets/editors/hbsmileyengine_p.h Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbwidgets/editors/hbsmileyengine_p.h Mon May 03 12:48:33 2010 +0300
@@ -25,70 +25,50 @@
#ifndef HBSMILEYENGINE_P_H
#define HBSMILEYENGINE_P_H
+#include <hbglobal.h>
#include <hbsmileytheme.h>
-#include <hbsmileyengine.h>
-#include <QTextCursor>
-#include <QTextObjectInterface>
+
#include <QObject>
-#include <QPair>
-class HbIconAnimator;
+class HbSmileyEnginePrivate;
QT_FORWARD_DECLARE_CLASS(QTextDocument);
+QT_FORWARD_DECLARE_CLASS(QTextCursor);
-class HbIconTextObject : public QObject, public QTextObjectInterface
+class HB_AUTOTEST_EXPORT HbSmileyEngine : public QObject
{
Q_OBJECT
- Q_INTERFACES(QTextObjectInterface)
public:
- enum Properties { HbSmileyData = 1 };
- typedef QPair<QTextCursor*, HbIconAnimator*> HbSmileyDataType;
+ explicit HbSmileyEngine(QObject *parent = 0);
+ ~HbSmileyEngine();
+
+ void setDocument(QTextDocument *doc);
+ void startAnimation();
+ void stopAnimation();
+ void setTheme(const HbSmileyTheme& theme);
+ HbSmileyTheme theme() const;
+ HbSmileyTheme defaultTheme() const;
+
+ QString toPlainText() const;
+ QString toHtml() const;
+ void setSmileyScaleFactor(qreal scaleFactor);
-public:
- QSizeF intrinsicSize(QTextDocument *doc, int posInDocument,
- const QTextFormat &format);
- void drawObject(QPainter *painter, const QRectF &rect, QTextDocument *doc,
- int posInDocument, const QTextFormat &format);
+public slots:
+ void insertSmileys();
+ void insertSmileys(const QTextCursor& cursor);
+ void insertSmiley(const QTextCursor& cursor);
+
+
+protected:
+ HbSmileyEnginePrivate * const d_ptr;
+ explicit HbSmileyEngine(HbSmileyEnginePrivate &dd, QObject *parent = 0);
+
+private:
+ Q_DECLARE_PRIVATE_D(d_ptr, HbSmileyEngine)
+ Q_DISABLE_COPY(HbSmileyEngine)
+ Q_PRIVATE_SLOT(d_func(), void _q_animationProgressed())
+ Q_PRIVATE_SLOT(d_func(), void _q_documentContentsChanged(int position, int charsRemoved, int charsAdded))
+
};
-class HbSmileyEnginePrivate
-{
- Q_DECLARE_PUBLIC(HbSmileyEngine)
-public:
- enum { HbIconTextFormat = QTextFormat::UserObject + 1 };
- HbSmileyEnginePrivate();
- virtual ~HbSmileyEnginePrivate();
- void init();
- void cleanUp();
- void setDocument(QTextDocument *doc);
- void insertSmiley( QTextCursor cursor, const QString& name);
- void insertSmileys( QTextCursor cursor, bool insertOne = false);
- HbIconAnimator* lookupAnimator(const QString& name);
- bool isCursorValid(QTextCursor* cursor) const;
-
- HbIconAnimator* animatorForCursor(const QTextCursor& cursor);
- void removeCursor(const QTextCursor &cursor, HbIconAnimator* animator);
- void convertToText(QTextDocument *copyDoc) const;
-
- void _q_animationProgressed();
- void _q_documentContentsChanged(int position, int charsRemoved, int charsAdded);
-
- HbSmileyEngine *q_ptr;
-
- QTextDocument *mDocument;
- HbSmileyTheme mSmileyTheme;
- bool mEdited;
- QObject *mIconTextObject;
-
-
- QHash<HbIconAnimator*, QList<QTextCursor*> > mAnimatorToCursors;
- QHash<QTextCursor*,HbIconAnimator*> mCursorToAnimator;
- QHash<QString, HbIconAnimator*> mSmileyAnimator;
-
- static HbSmileyTheme mDefaultTheme;
-};
-
-Q_DECLARE_METATYPE(HbIconAnimator*)
-Q_DECLARE_METATYPE(HbIconTextObject::HbSmileyDataType)
-
-
+Q_DECLARE_METATYPE(HbSmileyEngine*)
#endif // HBSMILEYENGINE_P_H