Go to the documentation of this file.00001 #include <QtGui>
00002
00003 class FEUITableDelegate : public QItemDelegate
00004 {
00005 Q_OBJECT
00006 public:
00007 FEUITableDelegate(QObject *parent = 0);
00008 QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &,
00009 const QModelIndex &index) const;
00010 void setEditorData(QWidget *editor, const QModelIndex &index) const;
00011 void setModelData(QWidget *editor, QAbstractItemModel *model,
00012 const QModelIndex &index) const;
00013 private slots:
00014 void commitAndCloseEditor();
00015 };
00016
00017 class FEUITableItem : public QTableWidgetItem
00018 {
00019 public:
00020 FEUITableItem();
00021 FEUITableItem(const QString &text);
00022
00023 QTableWidgetItem *clone() const;
00024
00025 QVariant data(int role) const;
00026 void setData(int role, const QVariant &value);
00027 QVariant display() const;
00028 };
00029
00030 #if !defined(QT_NO_DBUS) && defined(Q_OS_UNIX)
00031 #include <QtDBus>
00032
00033 class FEUITableAdaptor : public QDBusAbstractAdaptor
00034 {
00035 Q_OBJECT
00036 Q_CLASSINFO("D-Bus Interface", "com.feig.DBus.FEUITable")
00037
00038 public:
00039 FEUITableAdaptor(QTableWidget *table) : QDBusAbstractAdaptor(table), table(table)
00040 { QDBusConnection::sessionBus().registerObject("/FEUITable", table); }
00041
00042 public slots:
00043 private:
00044 QTableWidget *table;
00045 };
00046 #endif // QT_NO_DBUS
00047
00048 class FEUITable : public QTableWidget
00049 {
00050 Q_OBJECT
00051 public:
00052 FEUITable(QStringList columns, QWidget *parent = 0);
00053 ~FEUITable();
00054 int edit(int row, QString colByName, QString text);
00055 void newRow();
00056
00057 public slots:
00058 void clear();
00059
00060 protected:
00061 void setupContextMenu();
00062 void createActions();
00063 void resizeEvent(QResizeEvent *event);
00064
00065 private:
00066 QAction *clearAction;
00067 QStringList m_colList;
00068 QLabel *cellLabel;
00069 };