cisst-saw
Loading...
Searching...
No Matches
mtsQtApplication.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Peter Kazanzides
6 Created on: 2012-06-26
7
8 (C) Copyright 2012-2023 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#ifndef _mtsQtApplication_h
20#define _mtsQtApplication_h
21
24
25// Always include last
27
28class QApplication;
29class QBasicTimer;
30class BasicTimerHandler;
31
36
37
50
52{
53 CMN_DECLARE_SERVICES(CMN_DYNAMIC_CREATION, CMN_LOG_ALLOW_DEFAULT);
54
55 std::string Name;
56 std::vector<std::string> Args; // argc, argv
57
58public:
60 mtsQtApplicationConstructorArg(const std::string &name, int argc, char **argv);
63
64 std::string GetName() const { return Name; }
65 int GetArgc() const { return Args.size(); }
66 void GetArgv(char ***argvp) const;
67
68 void SerializeRaw(std::ostream & outputStream) const override;
69 void DeSerializeRaw(std::istream & inputStream) override;
70
71 void ToStream(std::ostream & outputStream) const override;
72
74 void ToStreamRaw(std::ostream & outputStream, const char delimiter = ' ',
75 bool headerOnly = false, const std::string & headerPrefix = "") const override;
76
79 bool FromStreamRaw(std::istream & inputStream, const char delimiter = ' ') override;
80};
81
83
85{
87
88 QApplication * QtApp; // Could also use global variable qApp
89 int ArgcCopy;
90 char **ArgvCopy;
91 QBasicTimer * Timer;
92 BasicTimerHandler * TimerHandler;
93
94public:
95 mtsQtApplication(const std::string &name, int &argc, char **argv);
98
99 void Startup(void) override;
100 void Run(void) override;
101 void Process(void);
102};
103
105
106#endif // _mtsQtApplication_h
mtsGenericObject(void)
Definition mtsGenericObject.h:77
Definition mtsQtApplication.h:52
void SerializeRaw(std::ostream &outputStream) const override
void DeSerializeRaw(std::istream &inputStream) override
void GetArgv(char ***argvp) const
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const override
void ToStream(std::ostream &outputStream) const override
bool FromStreamRaw(std::istream &inputStream, const char delimiter=' ') override
mtsQtApplicationConstructorArg(const mtsQtApplicationConstructorArg &other)
std::string GetName() const
Definition mtsQtApplication.h:64
int GetArgc() const
Definition mtsQtApplication.h:65
mtsQtApplicationConstructorArg(const std::string &name, int argc, char **argv)
Definition mtsQtApplication.h:85
mtsQtApplication(const mtsQtApplicationConstructorArg &arg)
virtual ~mtsQtApplication()
void Startup(void) override
void Run(void) override
void Process(void)
mtsQtApplication(const std::string &name, int &argc, char **argv)
mtsTaskContinuous(const std::string &name, unsigned int sizeStateTable=256, bool newThread=true)
const int CMN_DYNAMIC_CREATION_ONEARG
Definition cmnClassRegisterMacros.h:330
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
const int CMN_DYNAMIC_CREATION
Definition cmnClassRegisterMacros.h:328
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CMN_LOG_ALLOW_ALL
Definition cmnLogLoD.h:75
Rules of exporting.
Defines mtsGenericObject.
Defines a continuously executing task.