ibus-qt  1.3.1
/home/users/builder/rpm/BUILD/ibus-qt-1.3.1-Source/src/qibuslookuptable.h
00001 #ifndef __Q_IBUS_LOOKUP_TABLE_H_
00002 #define __Q_IBUS_LOOKUP_TABLE_H_
00003 
00004 #include "qibusserializable.h"
00005 #include "qibustext.h"
00006 #include "qibustypes.h"
00007 
00008 namespace IBus {
00009 
00010 class LookupTable;
00011 typedef Pointer<LookupTable> LookupTablePointer;
00012 
00013 class LookupTable: public Serializable
00014 {
00015     Q_OBJECT;
00016 
00017 public:
00018     LookupTable (uint pageSize = 5,
00019                  uint cursorPos = 0,
00020                  bool cursorVisible = true,
00021                  bool round = true,
00022                  int orientation = OrientationSystem
00023                  ):
00024                  m_pageSize (pageSize),
00025                  m_cursorPos (cursorPos),
00026                  m_cursorVisible (cursorVisible),
00027                  m_round (round),
00028                  m_orientation (orientation) {}
00029 
00030     ~LookupTable() {}
00031 
00032 public:
00033     virtual bool serialize (QDBusArgument & argument);
00034     virtual bool deserialize (const QDBusArgument & argument);
00035     void appendCandidate (const TextPointer & e);
00036     void appendLabel (const TextPointer & e);
00037 
00038     TextPointer candidate (uint index) const;
00039     TextPointer label (const uint index) const;
00040     const QVector<TextPointer> & candidates () const { return m_candidates; }
00041     const QVector<TextPointer> & labels () const { return m_labels; }
00042     uint cursorPos () const { return m_cursorPos; }
00043     uint pageSize () const {return m_pageSize; }
00044     bool isCursorVisible () const { return m_cursorVisible; }
00045     bool isRound () const { return m_round; }
00046     int orientation () const { return m_orientation; }
00047 
00048     void setCursorPos (const uint cursorPos);
00049     void setCursorVisible (bool visible);
00050     void setPageSize (uint pageSize);
00051     void setOrientation (int orientation);
00052     uint cursorPosInPage () const;
00053     void clean (void);
00054 
00055     bool pageUp();
00056     bool pageDown();
00057     bool cursorUp();
00058     bool cursorDown();
00059 
00060 private:
00061     uint        m_pageSize;
00062     uint        m_cursorPos;
00063     bool        m_cursorVisible;
00064     bool        m_round;
00065     int         m_orientation;
00066 
00067     QVector<TextPointer>    m_candidates;
00068     QVector<TextPointer>    m_labels;
00069 
00070     IBUS_SERIALIZABLE
00071 };
00072 
00073 };
00074 
00075 #endif
 All Classes Namespaces Functions Enumerations Enumerator