USGS

Isis 3.0 Object Programmers' Reference

Home

TreeViewHeader.h
1 #ifndef TreeViewHeader_H
2 #define TreeViewHeader_H
3 
4 #include <QWidget>
5 
6 class QMouseEvent;
7 class QPainter;
8 class QPaintEvent;
9 class QSize;
10 class QString;
11 
12 namespace Isis {
13  namespace CnetViz {
14  class TreeViewContent;
15 
22  class TreeViewHeader : public QWidget {
23 
24  Q_OBJECT
25 
26  public:
27  explicit TreeViewHeader(TreeViewContent *someContent,
28  QWidget *parent);
29  TreeViewHeader(const TreeViewHeader &other);
30  virtual ~TreeViewHeader();
31  QSize minimumSizeHint() const;
32  QString getText();
33  void setText(QString text);
34  QSize sizeHint() {
35  return minimumSizeHint();
36  }
37  TreeViewHeader &operator=(const TreeViewHeader &other);
38 
39 
40  public slots:
41  void setActive(bool);
42  void handleFilterCountsChanged(int visibleTopLevelItemCount,
43  int topLevelItemCount);
44 
45 
46  signals:
47  void activated();
48 
49 
50  protected:
51  void mouseReleaseEvent(QMouseEvent *event);
52  void paintEvent(QPaintEvent *event);
53 
54 
55  private: // methods
56  void nullify();
57  void paintHeader(QPainter *painter, int rowheight);
58  void paintProgress(QPainter *painter, const QRect &rect, int min,
59  int max, int value);
60 
61 
62  private slots:
63  void updateFilterProgress(int newProgress);
64  void updateFilterProgressRange(int min, int max);
65  void updateRebuildProgress(int newProgress);
66  void updateRebuildProgressRange(int min, int max);
67 
68 
69  private: // data
70  TreeViewContent *m_content;
71  QString *m_headerText;
72  int m_filterProgress;
73  int m_filterProgressMin;
74  int m_filterProgressMax;
75  int m_rebuildProgress;
76  int m_rebuildProgressMin;
77  int m_rebuildProgressMax;
78  bool m_active;
79  int m_visibleCount;
80  int m_totalCount;
81  };
82  }
83 }
84 
85 
86 #endif