Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgscontexthelp.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscontexthelp.h
3  Display context help for a dialog by invoking the
4  QgsHelpViewer
5  -------------------
6  begin : 2005-06-19
7  copyright : (C) 2005 by Gary E.Sherman
8  email : sherman at mrcc.com
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  ***************************************************************************/
19 /* $Id$ */
20 #ifndef QGSCONTEXTHELP_H
21 #define QGSCONTEXTHELP_H
22 #include <QObject>
23 
24 class QProcess;
25 class QTcpSocket;
26 
27 #ifdef Q_OS_MACX
28 #define QGSCONTEXTHELP_REUSE 1
29 #endif
30 
44 class CORE_EXPORT QgsContextHelp : public QObject
45 {
46  Q_OBJECT
47  public:
48  static void run( QString context );
49 
50  private slots:
51  void readPort();
52  void processExited();
53 
54  private:
56  QgsContextHelp( QString context );
58  ~QgsContextHelp();
59 
60  QProcess *start( QString context );
61  void showContext( QString context );
62 
63  static QgsContextHelp *gContextHelp; // Singleton instance
64  QProcess *mProcess;
65 #ifdef QGSCONTEXTHELP_REUSE
66  // Communications socket when reusing existing process
67  QTcpSocket *mSocket;
68 #else
69  // Replacement process when terminating and restarting
70  QProcess *mNextProcess;
71 #endif
72 };
73 
74 #endif //QGSCONTEXTHELP_H