tablewidgetmouseaware.h
1 //------------------------------------------------------------------------------
2 // tablewidgetmouseaware.h
3 //
4 // Copyright (C) 2010 "Zalewa" <zalewapl@gmail.com>
5 //------------------------------------------------------------------------------
6 #ifndef __TABLEWIDGETMOUSEAWARE_H__
7 #define __TABLEWIDGETMOUSEAWARE_H__
8 
9 #include <QtContainerFwd>
10 #include <QTableWidget>
11 
12 class TableWidgetMouseAware : public QTableWidget
13 {
14  Q_OBJECT
15 
16  public:
17  TableWidgetMouseAware(QWidget* parent = NULL);
18 
19  bool isEmitSignalsEvenIfIndexIsInvalidEnabled() const { return bEmitSignalsEvenIfIndexIsInvalid; }
20 
24  QList<int> selectedRows() const;
25  void setEmitSignalsEvenIfIndexIsInvalid(bool b) { bEmitSignalsEvenIfIndexIsInvalid = b; }
26 
27  private:
32  bool bEmitSignalsEvenIfIndexIsInvalid;
33 
34  protected:
35  virtual void mouseDoubleClickEvent(QMouseEvent* event);
36  virtual void mouseReleaseEvent(QMouseEvent* event);
37 
38  signals:
39  void leftMouseDoubleClicked(const QModelIndex& index, const QPoint& cursorPosition);
40  void middleMouseClick(const QModelIndex& index, const QPoint& cursorPosition);
41  void rightMouseClick(const QModelIndex& index, const QPoint& cursorPosition);
42 };
43 
44 #endif
QList< int > selectedRows() const
Returns indices of currently selected rows.