source: src/UIElements/Views/Qt4/QtElementList.hpp@ 88bb6b

Last change on this file since 88bb6b was 25b3559, checked in by Frederik Heber <heber@…>, 13 years ago

QtElementList: only refill on repaint

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/*
2 * QtElementList.h
3 *
4 * Created on: Mar 6, 2012
5 * Author: ankele
6 */
7
8#ifndef QTELEMENTLIST_H_
9#define QTELEMENTLIST_H_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
16
17#include <QtGui/QTreeWidget>
18#include "CodePatterns/Observer/Observer.hpp"
19
20class molecule;
21class MoleculeListClass;
22
23class QtElementList: public QTreeWidget, public Observer
24{
25 Q_OBJECT
26
27public:
28 QtElementList(QWidget * _parent=0);
29 virtual ~QtElementList();
30
31protected:
32 virtual void update(Observable *publisher);
33 virtual void subjectKilled(Observable *publisher);
34 virtual void paintEvent(QPaintEvent * event);
35 void refill();
36
37 static const int COLUMNCOUNT;
38 enum {NUMBER,NAME,SYMBOL,MASS,OCCURRENCE,COLUMNTYPES_MAX} COLUMNTYPES;
39 static const char *COLUMNNAMES[];
40
41private slots:
42 void rowSelected();
43
44signals:
45 void moleculeSelected(molecule*);
46 void moleculeUnSelected(molecule*);
47 void changed();
48
49private:
50 std::vector<bool> elementSelection; //!< needed to determine when a selection changes
51 MoleculeListClass *molecules;
52 bool dirty;
53};
54
55#endif /* QTELEMENTLIST_H_ */
Note: See TracBrowser for help on using the repository browser.