]> Shamusworld >> Repos - architektonas/blob - src/widgets/qg_layerbox.h
Initial import
[architektonas] / src / widgets / qg_layerbox.h
1 /****************************************************************************
2 ** $Id: qg_layerbox.h 1383 2003-08-22 23:23:38Z andrew $
3 **
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
5 **
6 ** This file is part of the qcadlib Library project.
7 **
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
12 **
13 ** Licensees holding valid qcadlib Professional Edition licenses may use
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
16 **
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 **
20 ** See http://www.ribbonsoft.com for further details.
21 **
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
23 ** not clear to you.
24 **
25 **********************************************************************/
26
27 #ifndef QG_LAYERBOX_H
28 #define QG_LAYERBOX_H
29
30 #include <QtGui>
31
32 class RS_Layer;
33 class RS_LayerList;
34
35 /**
36  * A combobox for choosing a layer.
37  */
38 class QG_LayerBox: public QComboBox
39 {
40         Q_OBJECT
41
42         public:
43                 QG_LayerBox(QWidget * parent = 0, const char * name = 0);
44                 virtual ~QG_LayerBox();
45
46                 RS_Layer * getLayer();
47                 void setLayer(RS_Layer & layer);
48                 void setLayer(QString & layer);
49                 void init(RS_LayerList & layerList, bool showByBlock, bool showUnchanged);
50                 bool isUnchanged();
51
52         private slots:
53                 void slotLayerChanged(int index);
54
55         signals:
56                 void layerChanged(RS_Layer * layer);
57
58         private:
59                 RS_LayerList * layerList;
60                 RS_Layer * currentLayer;
61                 bool showByBlock;
62                 bool showUnchanged;
63                 bool unchanged;
64 };
65
66 #endif