BioFunctional Designer
 All Classes Files Functions
designpanel.h
Go to the documentation of this file.
1 
11 #ifndef DESIGNPANEL_H
12 #define DESIGNPANEL_H
13 
14 #include <QListWidget>
15 #include <QStringList>
16 #include <QString>
17 #include <QDragEnterEvent>
18 #include <QDragMoveEvent>
19 #include <QDropEvent>
20 #include <QMouseEvent>
21 #include <QKeyEvent>
22 #include <QDragLeaveEvent>
23 #include <QPoint>
24 #include <QImage>
25 
29 class DesignPanel : public QListWidget
30 {
31  Q_OBJECT
32 public:
35  explicit DesignPanel(QWidget *parent = 0);
38  const QStringList& getBioBrickNames() const;
42  void insertBioBrick(int index, const QString& name);
44  void clean();
47  void setRecommendBioBrick(QStringList biobricks);
48 
52  QImage *getResultImage(const QString &function);
54  void rePaintPanel();
55 signals:
56  void relevantActived(QStringList*);
57  void infoActived(QString);
58 public slots:
59 
60 protected:
61  void dragEnterEvent(QDragEnterEvent *event);
62  void dragMoveEvent(QDragMoveEvent *e);
63  //void dragLeaveEvent(QDragLeaveEvent *e);
64  void dropEvent(QDropEvent *event);
65  void mouseMoveEvent(QMouseEvent *e);
66  void mousePressEvent(QMouseEvent* event);
67  void keyPressEvent(QKeyEvent *event);
68 
69 private:
70  QStringList m_biobrickNames;
71  QStringList m_recommendBioBrickNames;
72  QPoint m_mouseStartPos;
73 
74  QListWidgetItem* m_recommendItem;
75 
76  int m_chosenBioBrick;
77 
79  void performDrag();
80 
82  void showRecommend();
83 
86  void clearRecommend(bool isClear=true);
87 
90  void addBioBrick(QString biobrick);
91 
93  void paintBackground();
94 
96  void performRecommend();
97 
98 
99 };
100 
101 #endif // DESIGNPANEL_H
void insertBioBrick(int index, const QString &name)
insert a BioBrick in certain position
Definition: designpanel.cpp:236
const QStringList & getBioBrickNames() const
get all the biobricks
Definition: designpanel.cpp:232
void setRecommendBioBrick(QStringList biobricks)
set the reommend biobricks
Definition: designpanel.cpp:367
void rePaintPanel()
repaint the panel
Definition: designpanel.cpp:271
void clean()
clean the design panel
Definition: designpanel.cpp:266
the DesignPanel class, customed QListWidget
Definition: designpanel.h:29
QImage * getResultImage(const QString &function)
get the design result image
Definition: designpanel.cpp:240
DesignPanel(QWidget *parent=0)
construction function
Definition: designpanel.cpp:32