1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2012 Denis Shienkov <denis.shienkov@gmail.com> 4 ** Copyright (C) 2012 Laszlo Papp <lpapp@kde.org> 5 ** Contact: http://www.qt-project.org/legal 6 ** 7 ** This file is part of the QtSerialPort module of the Qt Toolkit. 8 ** 9 ** $QT_BEGIN_LICENSE:LGPL$ 10 ** Commercial License Usage 11 ** Licensees holding valid commercial Qt licenses may use this file in 12 ** accordance with the commercial license agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** a written agreement between you and Digia. For licensing terms and 15 ** conditions see http://qt.digia.com/licensing. For further information 16 ** use the contact form at http://qt.digia.com/contact-us. 17 ** 18 ** GNU Lesser General Public License Usage 19 ** Alternatively, this file may be used under the terms of the GNU Lesser 20 ** General Public License version 2.1 as published by the Free Software 21 ** Foundation and appearing in the file LICENSE.LGPL included in the 22 ** packaging of this file. Please review the following information to 23 ** ensure the GNU Lesser General Public License version 2.1 requirements 24 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 25 ** 26 ** In addition, as a special exception, Digia gives you certain additional 27 ** rights. These rights are described in the Digia Qt LGPL Exception 28 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. 29 ** 30 ** GNU General Public License Usage 31 ** Alternatively, this file may be used under the terms of the GNU 32 ** General Public License version 3.0 as published by the Free Software 33 ** Foundation and appearing in the file LICENSE.GPL included in the 34 ** packaging of this file. Please review the following information to 35 ** ensure the GNU General Public License version 3.0 requirements will be 36 ** met: http://www.gnu.org/copyleft/gpl.html. 37 ** 38 ** 39 ** $QT_END_LICENSE$ 40 ** 41 ****************************************************************************/ 42 43 #ifndef CONSOLEWINDOW_H 44 #define CONSOLEWINDOW_H 45 46 #include <QtCore/QtGlobal> 47 48 #include <QMainWindow> 49 50 #include <QtSerialPort/QSerialPort> 51 52 QT_BEGIN_NAMESPACE 53 54 namespace Ui { 55 class ConsoleWindow; 56 } 57 58 QT_END_NAMESPACE 59 60 class Console; 61 class ConsoleSettings; 62 63 class ConsoleWindow : public QMainWindow 64 { 65 Q_OBJECT 66 67 public: 68 explicit ConsoleWindow(QWidget *parent = 0); 69 ~ConsoleWindow(); 70 void openSerialPort(const QString portName); 71 void closeSerialPort(const QString portName); 72 73 protected: 74 void closeEvent(QCloseEvent *event); 75 76 private slots: 77 void openSerialPort(); 78 void closeSerialPort(); 79 void about(); 80 void writeData(const QByteArray &data); 81 void readData(); 82 void handleError(QSerialPort::SerialPortError error); 83 84 private: 85 void initActionsConnections(); 86 87 private: 88 Ui::ConsoleWindow *ui; 89 Console *console; 90 ConsoleSettings *settings; 91 QSerialPort *serial; 92 }; 93 94 #endif // CONSOLEWINDOW_H 95