File indexing completed on 2024-05-12 16:41:07

0001 /***************************************************************************
0002     begin                : Sunday Jun 27 2008
0003     copyright            : (C) 2008 by Mathias Soeken
0004     email                : msoeken@informatik.uni-bremen.de
0005  ***************************************************************************/
0006 
0007 /***************************************************************************
0008  *                                                                         *
0009  *   This program is free software; you can redistribute it and/or modify  *
0010  *   it under the terms of the GNU General Public License as published by  *
0011  *   the Free Software Foundation; either version 2 of the License, or     *
0012  *   (at your option) any later version.                                   *
0013  *                                                                         *
0014  ***************************************************************************/
0015 
0016 #ifndef TABULARTABLE_H
0017 #define TABULARTABLE_H
0018 
0019 #include <QTableWidget>
0020 
0021 class QEvent;
0022 class QMouseEvent;
0023 class QPaintEvent;
0024 
0025 namespace KileDialog {
0026 
0027 class TabularTable : public QTableWidget {
0028     Q_OBJECT
0029 
0030 public:
0031     explicit TabularTable(QWidget *parent = 0);
0032 
0033 public Q_SLOTS:
0034     void paste();
0035 
0036 protected:
0037     bool eventFilter(QObject *obj, QEvent *event) override;
0038     void mousePressEvent(QMouseEvent *event) override;
0039     void mouseReleaseEvent(QMouseEvent *event) override;
0040     void paintEvent(QPaintEvent *event) override;
0041 
0042 Q_SIGNALS:
0043     void rowAppended();
0044     void colAppended();
0045 
0046 private:
0047     SelectionMode m_DefaultMode;
0048     QPoint m_ManualBorderPosition;
0049     QPoint m_ManualBorderStart;
0050     QPoint m_HoverPosition;
0051     QTableWidgetItem *m_LastItem;
0052 };
0053 
0054 }
0055 
0056 #endif