]> Shamusworld >> Repos - architektonas/blob - src/widgets/qg_blockwidget.h
701f5835f3d733305cd50a60092fe8f754ca4207
[architektonas] / src / widgets / qg_blockwidget.h
1 #ifndef QG_BLOCKWIDGET_H
2 #define QG_BLOCKWIDGET_H
3
4 #include <QtGui>
5 //#include "rs_blocklist.h"
6 //#include "rs_blocklistlistener.h"
7 //#include "qg_actionhandler.h"
8
9 class RS_Block;
10 class RS_BlockList;
11 class QG_ActionHandler;
12
13 /**
14  * This is the Qt implementation of a widget which can view a
15  * block list.
16  */
17 class QG_BlockWidget: public QWidget//, public RS_BlockListListener
18 {
19     Q_OBJECT
20
21         public:
22                 QG_BlockWidget(QG_ActionHandler * ah, QWidget * parent,
23                         const char * name = 0, Qt::WFlags f = 0);
24                 ~QG_BlockWidget();
25
26                 void setBlockList(RS_BlockList * blockList);
27                 RS_BlockList * getBlockList();
28                 void update();
29                 void highlightBlock(RS_Block * block);
30
31                 virtual void blockAdded(RS_Block *);
32                 virtual void blockEdited(RS_Block *);
33                 virtual void blockRemoved(RS_Block *);
34                 virtual void blockToggled(RS_Block *);
35
36         signals:
37                 void escape();
38
39         public slots:
40                 //void slotToggleView(QListBoxItem* item);
41 //              void slotActivated(const QString & blockName);
42                 void slotActivated(void);
43 //              void slotMouseButtonClicked(int button, Q3ListBoxItem * item, const QPoint & pos);
44                 void slotMouseButtonClicked(QListWidgetItem * item);
45
46         protected:
47                 void contextMenuEvent(QContextMenuEvent * e);
48                 virtual void keyPressEvent(QKeyEvent * e);
49
50         private:
51                 RS_BlockList * blockList;
52 //              Q3ListBox * listBox;
53                 QListWidget * listBox;
54                 RS_Block * lastBlock;
55                 QPixmap pxmVisible;
56                 QPixmap pxmHidden;
57                 QPixmap pxmAdd;
58                 QPixmap pxmRemove;
59                 QPixmap pxmAttributes;
60                 QPixmap pxmEdit;
61                 QPixmap pxmInsert;
62                 QPixmap pxmDefreezeAll;
63                 QPixmap pxmFreezeAll;
64                 QG_ActionHandler * actionHandler;
65 };
66
67 #endif