LP-106 Setup Wizard refresh : Add dual servo setup (dual aileron or
[librepilot.git] / ground / gcs / src / shared / qtsingleapplication / qtsingleapplication.h
blob844335c0ae40b0ccfef1d544737f1d853b041583
1 /**
2 ******************************************************************************
4 * @file qtsingleapplication.h
5 * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
6 * Parts by Nokia Corporation (qt-info@nokia.com) Copyright (C) 2009.
7 * @brief
8 * @see The GNU Public License (GPL) Version 3
9 * @defgroup
10 * @{
12 *****************************************************************************/
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 3 of the License, or
17 * (at your option) any later version.
19 * This program is distributed in the hope that it will be useful, but
20 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 * for more details.
24 * You should have received a copy of the GNU General Public License along
25 * with this program; if not, write to the Free Software Foundation, Inc.,
26 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #include <QtWidgets/QApplication>
31 namespace SharedTools {
32 class QtLocalPeer;
34 class QtSingleApplication : public QApplication {
35 Q_OBJECT
37 public:
38 QtSingleApplication(int &argc, char * *argv, bool GUIenabled = true);
39 QtSingleApplication(const QString &id, int &argc, char * *argv);
40 #if defined(Q_WS_X11)
41 QtSingleApplication(Display *dpy, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
42 QtSingleApplication(Display *dpy, int &argc, char * *argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0);
43 #endif
45 bool isRunning();
46 QString id() const;
48 void setActivationWindow(QWidget *aw, bool activateOnMessage = true);
49 QWidget *activationWindow() const;
50 bool event(QEvent *event);
53 public Q_SLOTS:
54 bool sendMessage(const QString &message, int timeout = 5000);
55 void activateWindow();
57 // Obsolete methods:
58 public:
59 void initialize(bool = true)
61 isRunning();
64 #if defined(Q_WS_X11)
65 QtSingleApplication(Display *dpy, const QString &id, int argc, char * *argv, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0);
66 #endif
67 // end obsolete methods
69 Q_SIGNALS:
70 void messageReceived(const QString &message);
71 void fileOpenRequest(const QString &file);
73 private:
74 void sysInit(const QString &appId = QString());
75 QtLocalPeer *peer;
76 QWidget *actWin;
78 } // namespace SharedTools