VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfLauncherMainWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2015 MAK Technologies, Inc.
3  * All rights reserved.
4  ******************************************************************************/
5 
9 
10 #pragma once
11 
15 
16 #include <QtCore/QString>
17 #include <QtWidgets/QDialog>
18 #include <QtWidgets/QDialog>
19 #include <QtCore/QHash>
20 #include <QtCore/QStringList>
21 #include <QtGui/QIcon>
22 
24 class QLabel;
25 class QComboBox;
26 class QToolButton;
27 class QTreeWidget;
28 class QWidget;
29 class QPushButton;
30 class DtConnectionDialog;
31 class QLineEdit;
32 class QHBoxLayout;
33 class QVBoxLayout;
35 class DtApplicationSet;
38 class QTreeWidgetItem;
39 class QSplitter;
40 
44 {
45  Q_OBJECT;
46 
47 public:
48 
51 
53  virtual ~DtVrfLauncherMainWidget() override;
54 
56  virtual bool init();
57  virtual DtProtocolConfigSubWidget* createProtocolSubwidget( unsigned int prot );
58  virtual bool hasConnection(const std::string&) const;
59  virtual std::vector<std::string> commandLineApplications() const;
60 
62  {
63  return myApplicationSetsWidget;
64  }
65 
66  virtual std::string getIconPath() const;
67 
68 protected:
69  virtual DtApplicationSetsWidget* createApplicationSetsWidget();
70  virtual void closeEvent(QCloseEvent*) override;
71  virtual void printAppLaunchConfiguration(const QString&, const QStringList&) const;
72 
74  {
75  QString executable;
76  QStringList options;
77  qint64 pid = 0;
78  };
79 
80  virtual std::vector<ApplicationInformation> applicationInformation(const DtApplicationSet&) const;
81 
82  virtual bool runApplication(const ApplicationInformation& app, qint64&);
83 
84  virtual bool initCopyDialog(DtCreateConnectionDialog* createDlg, const QString& originalConnName) const;
85  virtual bool initCreateDialog(DtCreateConnectionDialog* createDlg ) const;
86  virtual void launchApplications(const std::vector<DtApplicationSet>&);
87  virtual QTreeWidgetItem* addConnectionRow(DtConnectionSettings*);
88  virtual void save(DtConnectionSettings* currentConnectionSettings);
89  virtual DtConnectionDialog* connectionDialog(DtConnectionSettings* currentConnectionSettings);
90 
91 
92 
93 protected slots:
94  virtual void onItemDoubleClicked(QTreeWidgetItem*, int);
95  virtual void launchAndExit();
96  virtual void save();
97  virtual void load();
98  virtual void modifyPlugins();
99  virtual void saveAndExit();
100  virtual void onTitleChanged(const QString&);
101  virtual void launchApplications();
102  virtual void onMakeAutoConnectChanged();
103  virtual void onShowCommandLineFor(const DtApplicationSet&);
104  virtual void onRunApplication(const std::vector<DtApplicationSet>&);
105  virtual void onCopyConnection();
106  virtual void onDeleteConnection();
107  virtual void onAddConnection();
108  virtual void onItemSelectionChanged();
109  virtual void onEditConnection();
110  virtual void onApplicationsCollapsed(const QSize&);
111  virtual void onApplicationsExpanded();
112  virtual void resizeToCollapsed();
113  virtual void onConnectionItemRightClickedOn(QTreeWidgetItem*, QMouseEvent*, int);
114 
115 public:
116  QHBoxLayout* myTitleLayout;
117 
119 
122 
123  QHBoxLayout* myButtonsLayout;
127 
128  QSplitter* mySplitter;
129 
134 
135 protected:
137  DtVrfLauncherApplication* myApp = nullptr;
138 
140  {
141  ConnectionSetting(DtConnectionSettings* c, QToolButton* a) : connectionSetting(c), autoConnect(a) {};
142  std::unique_ptr<DtConnectionSettings> connectionSetting;
144  };
145 
146  typedef std::vector<ConnectionSetting> ConnectionSettings;
148 
149  typedef std::map<unsigned int, std::unique_ptr<DtProtocolConfigSubWidget>> ProtocolSubWidgets;
151  int myNextDefaultNum = 1;
152 };
153 
155 {
156  Q_OBJECT
157 
158 public:
159  DtConnectionDialog(DtVrfLauncherMainWidget* parent, Qt::WindowFlags flags, DtConnectionSettings* currentConnectionSettings);
160  virtual ~DtConnectionDialog() override;
161 
162  QString name() const;
164 
165 protected slots:
166  virtual void validate();
167 
168 protected:
173 };
virtual void validate()
The dialog for naming newly created connections.
Definition: createConnectionDlg.h:22
QLineEdit * myName
Definition: vrfLauncherMainWidget.h:170
Contains the DtConnectionSettingsObject class declaration.
Base class for both DIS and HLA connection configuration widgets.
Definition: protocolConfigSubWidget.h:25
Contains makArchives::DtDriverRecord class.
ConnectionSetting(DtConnectionSettings *c, QToolButton *a)
Definition: vrfLauncherMainWidget.h:141
DtVrfLauncherMainWidget * myParent
Definition: vrfLauncherMainWidget.h:171
DtProtocolConfigSubWidget * myProtocolSubwidget
Definition: vrfLauncherMainWidget.h:172
ProtocolSubWidgets myProtocolSubWidgets
Definition: vrfLauncherMainWidget.h:150
QString executable
Definition: vrfLauncherMainWidget.h:75
QPushButton * myClose
Definition: vrfLauncherMainWidget.h:125
QHBoxLayout * myTitleLayout
Definition: vrfLauncherMainWidget.h:116
QToolButton * myCopyConnection
Definition: vrfLauncherMainWidget.h:133
The dialog widget that displays the various connection configurations.
Definition: applicationSetsWidget.h:29
QSize myRemovedSize
Definition: vrfLauncherMainWidget.h:136
DtApplicationSetsWidget * myApplicationSetsWidget
Definition: vrfLauncherMainWidget.h:118
Definition: vrfLauncherMainWidget.h:73
Base class for all Launcher settings objects.
Definition: connectionSettings.h:64
Definition: vrfLauncherMainWidget.h:154
DtApplicationSetsWidget * applicationSettingsWidget()
Definition: vrfLauncherMainWidget.h:61
Definition: vrfLauncherMainWidget.h:139
QPushButton * myOKButton
Definition: vrfLauncherMainWidget.h:169
QStringList options
Definition: vrfLauncherMainWidget.h:76
Manages launch configurations for the front-end and back-end.
Definition: vrfLauncher.h:36
virtual ~DtConnectionDialog() override
QToolButton * autoConnect
Definition: vrfLauncherMainWidget.h:143
The class that contains the applications to run and any additional information associated with the ap...
Definition: applicationSet.h:26
QToolButton * myRemoveConnection
Definition: vrfLauncherMainWidget.h:132
QToolButton * myEditConnection
Definition: vrfLauncherMainWidget.h:131
QTreeWidget * myConnections
Definition: vrfLauncherMainWidget.h:120
std::vector< ConnectionSetting > ConnectionSettings
Definition: vrfLauncherMainWidget.h:146
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QSplitter * mySplitter
Definition: vrfLauncherMainWidget.h:128
QPushButton * myLaunchSelected
Definition: vrfLauncherMainWidget.h:126
DtConnectionDialog(DtVrfLauncherMainWidget *parent, Qt::WindowFlags flags, DtConnectionSettings *currentConnectionSettings)
QToolButton * myAddConnection
Definition: vrfLauncherMainWidget.h:130
#define DT_DLL_vrfLauncherQt
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfLauncherQtDefines.h:34
std::map< unsigned int, std::unique_ptr< DtProtocolConfigSubWidget > > ProtocolSubWidgets
Definition: vrfLauncherMainWidget.h:149
The dialog widget that displays the various connection configurations.
Definition: vrfLauncherMainWidget.h:43
QLabel * myConnectionLabel
Definition: vrfLauncherMainWidget.h:121
DtConnectionSettings * connectionSettings() const
QString name() const
ConnectionSettings myConnectionSettings
Definition: vrfLauncherMainWidget.h:147
QHBoxLayout * myButtonsLayout
Definition: vrfLauncherMainWidget.h:123
QPushButton * myPlugins
Definition: vrfLauncherMainWidget.h:124

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)