Quark  0.1
TreeListView.h++
Go to the documentation of this file.
1 #ifndef __libquark_gui_TreeListView_hxx
2 #define __libquark_gui_TreeListView_hxx
3 
4 #include <QAbstractItemView>
5 #include <QParallelAnimationGroup>
6 #include <QPropertyAnimation>
7 
8 #include <quark/Quark.h++>
9 
10 class QResizeEvent;
11 
12 namespace quark {
13 namespace gui {
14 
15 class LIBQUARK_API TreeListView : public QAbstractItemView
16 {
17  Q_OBJECT;
18 
19  public:
20 
21  TreeListView(QWidget *parent = NULL);
22  ~TreeListView();
23 
24  // QAbstractItemView overloads
25  virtual QModelIndex indexAt(const QPoint &point) const;
26  virtual void scrollTo(const QModelIndex &index,
27  ScrollHint hint = EnsureVisible);
28  virtual QRect visualRect(const QModelIndex &index) const;
29  virtual void setModel(QAbstractItemModel *model);
30  virtual void setSelectionModel(QItemSelectionModel * selectionModel);
31  virtual void setRootIndex(const QModelIndex &index);
32  virtual void selectAll();
33 
34  QModelIndex parentIndex();
35 
36  public slots:
37 
38  void up();
39 
40  signals:
41 
42  void parentIndexChanged(const QModelIndex &index);
43 
44  protected:
45 
46  // QAbstractItemView overloads
47  virtual bool isIndexHidden(const QModelIndex &index) const;
48  virtual QModelIndex moveCursor(CursorAction cursorAction,
49  Qt::KeyboardModifiers modifiers);
50  virtual void resizeEvent(QResizeEvent *event);
51  virtual void setSelection(const QRect & rect,
52  QItemSelectionModel::SelectionFlags command);
53  virtual QRegion visualRegionForSelection(const QItemSelection &selection)
54  const;
55  virtual int horizontalOffset() const;
56  virtual int verticalOffset() const;
57  virtual void currentChanged(const QModelIndex &current,
58  const QModelIndex &previous);
59 
60  private slots:
61 
62  void swapColumns();
63  void positionColumns(bool forward);
64  void handleClick(const QModelIndex &index);
65 
66  private:
67 
68  class ListColumn;
69 
70  QParallelAnimationGroup _animations;
71  ListColumn *_currentColumn;
72  ListColumn *_otherColumn;
73 };
74 
75 } // namespace gui
76 } // namespace quark
77 
78 #endif // __libquark_gui_TreeListView_hxx
Definition: BarChartView.h++:6
#define LIBQUARK_API
Definition: Quark.h++:18
Definition: TreeListView.h++:15