summaryrefslogtreecommitdiffstats
path: root/katomic/molek.h
blob: 6189e4e88c1685f5d7415389bc4d5f2febeddfdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/****************************************************************
**
** Definition of Molek class,
**
****************************************************************/

#ifndef MOLEK_H
#define MOLEK_H

#include <stdio.h>
#include <stdlib.h>
#include <qwidget.h>
#include <qpoint.h>
#include <qpainter.h>
#include <qpixmap.h>
#include "atom.h"
#include <qvaluelist.h>

class KSimpleConfig;

#define MOLEK_SIZE 15

class Molek : public QWidget
{
    Q_OBJECT

public:
    Molek (QWidget *parent=0, const char *name=0);
   ~Molek ();

   void load(const KSimpleConfig& config);

   const atom& getAtom(uint index) const;
   int atomSize() const { return atoms.count(); }

   QSize molecSize() const { return _size; }
   uint getAtom(int x, int y) const { return molek[x][y]; }
   
protected:
   void paintEvent( QPaintEvent * );

private:
   QPixmap data;
   uint molek[MOLEK_SIZE][MOLEK_SIZE]; // the indexes within atoms
   QValueList<atom> atoms;
   QString mname;
   QSize _size;


};

#endif // MOLEK_H