]> Shamusworld >> Repos - architektonas/blob - src/widgets/qg_commandedit.h
ed6fd22cb3c1372f4132ceed0ee6dcd77c9241d3
[architektonas] / src / widgets / qg_commandedit.h
1 /****************************************************************************
2 ** $Id: qg_commandedit.h 1370 2003-08-02 00:02:00Z 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_COMMANDEDIT_H
28 #define QG_COMMANDEDIT_H
29
30 #include <QtGui>
31
32 /**
33  * A command line edit with some typical console features
34  * (uparrow for the history, tab, ..).
35  */
36 class QG_CommandEdit: public QLineEdit
37 {
38         Q_OBJECT
39
40         public:
41                 QG_CommandEdit(QWidget * parent = 0, const char * name = 0);
42                 virtual ~QG_CommandEdit();
43
44         protected:
45                 virtual bool event(QEvent * e);
46                 virtual void keyPressEvent(QKeyEvent * e);
47                 virtual void focusInEvent(QFocusEvent * e);
48                 virtual void focusOutEvent(QFocusEvent * e);
49
50         signals:
51                 void tabPressed();
52                 void escape();
53                 void focusIn();
54                 void focusOut();
55
56         private:
57                 QStringList historyList;
58                 QStringList::Iterator it;
59                 bool acceptCoordinates;
60 };
61
62 #endif