ibus-qt  1.3.1
 All Classes Namespaces Functions Enumerations Enumerator
/builddir/build/BUILD/ibus-qt-1.3.1-Source/src/qibustext.h
00001 #ifndef __Q_IBUS_TEXT_H_
00002 #define __Q_IBUS_TEXT_H_
00003 
00004 #include "qibusserializable.h"
00005 #include "qibusattribute.h"
00006 #include "qibusattrlist.h"
00007 
00008 namespace IBus {
00009 
00010 class Text;
00011 typedef Pointer<Text> TextPointer;
00012 
00013 class Text : public Serializable
00014 {
00015     Q_OBJECT;
00016 
00017 protected:
00018 
00019 public:
00020     Text () {}
00021     Text (const QString &text) : m_text (text), m_attrs(0) {}
00022     Text (const QChar &ch) : m_text (ch), m_attrs(0) {}
00023 
00024 public:
00025     virtual bool serialize (QDBusArgument &argument);
00026     virtual bool deserialize (const QDBusArgument &argument);
00027 
00028     const QString &text (void) const            { return m_text; }
00029     const AttrListPointer &attrs (void) const   { return m_attrs; }
00030     const uint getLength (void) const           { return m_text.length(); }
00031     void appendAttribute (uint type, uint value, uint startIndex, int endIndex);
00032 
00033 private:
00034     QString m_text;
00035     AttrListPointer m_attrs;
00036 
00037     IBUS_SERIALIZABLE
00038 };
00039 
00040 };
00041 
00042 #endif