VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
applicationSetsWidget.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 
12 #include <QtWidgets/QWidget>
14 
15 class QLabel;
16 class QToolButton;
17 class QListWidget;
18 class QTreeWidget;
19 class QHBoxLayout;
20 class QVBoxLayout;
21 class QLineEdit;
23 class QTreeWidgetItem;
24 class QProcess;
25 class QPushButton;
26 
29 class DtApplicationSetsWidget : public QWidget
30 {
31  Q_OBJECT;
32 
33 public:
34 
37 
39  virtual ~DtApplicationSetsWidget() override;
40 
41  virtual void save();
42  virtual void load();
43  virtual QString title() const;
44  virtual std::vector<DtApplicationSet> runAppSets(const std::vector<std::string>&) const;
45  virtual void onRunApplication(QTreeWidgetItem*);
46  virtual void usingApplicationId(int siteId, int appId);
47  virtual int nextApplicationId(const std::string& name);
48  virtual void saveMaximums();
49  virtual void restoreMaximums();
50  virtual std::vector<DtApplicationSet> applicationsToRun();
51  virtual std::vector<std::string> applicationsInDisplayGroups(std::vector<std::string>);
52  virtual bool isValid(const QTreeWidgetItem*) const;
53  virtual QString toolTip(const QTreeWidgetItem*) const;
54  virtual QString iconPath() const;
55  virtual void setSelectedProtocol(int protocol);
56  virtual bool selectedApplicationsValid() const;
57  virtual QString selectedApplicationsToolTip() const;
58  virtual DtFilename applicationsXmlPath() const;
59  virtual std::vector<std::string> allApplicationSetsThatRun(const std::string& appName) const;
60 
61  virtual void refreshApplicationLocations();
62 
67  virtual std::map<std::string, std::vector<DtApplicationSet>> getMapFromVectors();
68 
72  virtual std::map<std::string, bool> clearApplicationTree();
73 
77 
78 protected:
79  virtual void setToSets();
80  virtual void setupUi();
81 
83  virtual void addDisplayGroup(const std::string&);
86  virtual bool removeDisplayGroupFromDisplayGroupsByName(const std::string& name);
88  virtual bool displayGroupAlreadyExists(const std::string& name);
90  virtual bool removeDisplayGroupByNameIfLast(const std::string& displayGroup);
94  virtual void displayDisplayGroup(const std::string&,const bool isExpanded = false);
95 
97  virtual void addApplicationSet(const DtApplicationSet&);
101  virtual void displayApplicaionSet(const DtApplicationSet& set);
102 
107 
108  virtual void updateApplicationsSelected();
109  virtual bool eventFilter(QObject*, QEvent*) override;
110  virtual std::string executableFor(const DtApplicationSet*) const;
111  virtual QString toolTip(const DtApplicationSet*) const;
112  virtual void setApplicationIdFor(DtApplicationSet*) const;
113 
115  {
116  Valid = 0,
119  };
120 
121  virtual ValidState executableValidState(const DtApplicationSet* set) const;
122 
123 signals:
124  void titleChanged(const QString&);
126  void runApplication(const std::vector<DtApplicationSet>&);
127  void collapsed(const QSize&);
128  void expanded();
129 
130 public slots:
131  virtual void expand();
132  virtual void collapse();
133  virtual void onPlayApplicationSet();
134 
135 protected slots:
136  virtual void onRunApplication();
137  virtual void onAddApplication();
138  virtual void onItemChanged(const QModelIndex&, const QModelIndex&);
139  virtual void onEditApplication();
140  virtual void onRemoveApplication();
141  virtual void onCopyApplication();
142  virtual void onResetApplicationNextAppID();
143  virtual void onShowCommandLine();
144  virtual void onRunAllInDisplayGroup();
145  virtual void onRemoveDisplayGroup();
146 
147  virtual void onAutoStart(QTreeWidgetItem*);
148  virtual void onItemDoubleClicked(QTreeWidgetItem*, int);
149  virtual void onItemPressed(QTreeWidgetItem*, int);
150  virtual void onItemSelectionChanged();
151  virtual void onApplicationsItemRightClickedOn(QTreeWidgetItem*, QMouseEvent*, int);
154 
155 public:
161 
162  QWidget* myButtonCanvas;
163  QHBoxLayout* myButtonCanvasLayout;
170 
172 
173 protected:
175  std::vector<std::unique_ptr<DtApplicationSet>> myApplicationSets;
177 
178  std::vector<std::string> myDisplayGroups;
179 };
QLabel * mySelectedApplicationsLabel
Definition: applicationSetsWidget.h:158
virtual void saveMaximums()
virtual void onDisplayGroupCollapsed(QTreeWidgetItem *)
virtual void onItemDoubleClicked(QTreeWidgetItem *, int)
virtual void setToSets()
virtual void refreshApplicationLocations()
int mySelectedProtocol
Definition: applicationSetsWidget.h:176
virtual DtApplicationSet * getSetFromQTreeWidgetItem(const QTreeWidgetItem *item) const
does .get() on the unique pointer from myApplicationSets for the item you asked for returns nullprt i...
virtual void onRemoveApplication()
ValidState
Definition: applicationSetsWidget.h:114
virtual void onDisplayGroupExpanded(QTreeWidgetItem *)
void collapsed(const QSize &)
virtual void setApplicationIdFor(DtApplicationSet *) const
virtual DtFilename applicationsXmlPath() const
QToolButton * myCopyApplication
Definition: applicationSetsWidget.h:167
bool removeAndCleanUpSet(DtApplicationSet *set)
Will remove application set pointer from myApplicationSets Will also remove display group from myDisp...
virtual void setupUi()
QToolButton * myAddApplication
Definition: applicationSetsWidget.h:164
virtual void updateApplicationsSelected()
virtual ~DtApplicationSetsWidget() override
Virtual DTOR.
QHBoxLayout * myButtonCanvasLayout
Definition: applicationSetsWidget.h:163
QToolButton * myApplicationsExpandCollapse
Definition: applicationSetsWidget.h:159
virtual void addApplicationSet(const DtApplicationSet &)
Add application set to myApplicationSets.
QToolButton * myAddApplicationButton
Definition: applicationSetsWidget.h:171
QToolButton * myApplicationCommandLine
Definition: applicationSetsWidget.h:168
void titleChanged(const QString &)
virtual std::vector< DtApplicationSet > applicationsToRun()
std::vector< std::unique_ptr< DtApplicationSet > > myApplicationSets
Definition: applicationSetsWidget.h:175
virtual QString title() const
virtual void onPlayApplicationSet()
virtual std::map< std::string, bool > clearApplicationTree()
removes all items from myApplications but will return a map of all display groups and their expanded ...
std::vector< std::string > myDisplayGroups
Definition: applicationSetsWidget.h:178
The dialog widget that displays the various connection configurations.
Definition: applicationSetsWidget.h:29
virtual int nextApplicationId(const std::string &name)
virtual ValidState executableValidState(const DtApplicationSet *set) const
virtual std::vector< DtApplicationSet > runAppSets(const std::vector< std::string > &) const
virtual void setSelectedProtocol(int protocol)
DtApplicationSetsWidget(QWidget *parent, DtVrfLauncherApplication *app)
CTOR.
virtual void collapse()
QLabel * myApplicationsLabel
Definition: applicationSetsWidget.h:157
virtual void onRunApplication()
virtual void usingApplicationId(int siteId, int appId)
virtual QString iconPath() const
virtual void onItemChanged(const QModelIndex &, const QModelIndex &)
virtual std::map< std::string, std::vector< DtApplicationSet > > getMapFromVectors()
Parses myDisplayGroups and creates a map with the values of myDisplayGroups as keys, Then parses through myApplicationSets and creates a vector of DtApplicationSet objects for each key. These vectors hold the application sets for each display group. This can be used to easily add these groups and applications to the myApplications tree widget.
void runApplication(const std::vector< DtApplicationSet > &)
virtual std::vector< std::string > allApplicationSetsThatRun(const std::string &appName) const
virtual std::string executableFor(const DtApplicationSet *) const
virtual void onAddApplication()
virtual void displayDisplayGroup(const std::string &, const bool isExpanded=false)
Creates a qtreewidget item for your display group with given name and expanded value Will put &quot;Displa...
virtual void onRemoveDisplayGroup()
Manages launch configurations for the front-end and back-end.
Definition: vrfLauncher.h:36
virtual void onRunAllInDisplayGroup()
QWidget * myButtonCanvas
Definition: applicationSetsWidget.h:162
virtual QString toolTip(const QTreeWidgetItem *) const
virtual bool removeDisplayGroupByNameIfLast(const std::string &displayGroup)
returns true if display group of given name was removed, false otherwise
The class that contains the applications to run and any additional information associated with the ap...
Definition: applicationSet.h:26
QToolButton * myResetApplicationNextAppID
Definition: applicationSetsWidget.h:169
virtual bool eventFilter(QObject *, QEvent *) override
virtual void addDisplayGroup(const std::string &)
Add display group of given name to myDisplayGroups if it is not already in there. ...
Definition: applicationSetsWidget.h:116
virtual QString selectedApplicationsToolTip() const
virtual void onEditApplication()
DtVrfLauncherApplication * myApp
Definition: applicationSetsWidget.h:174
virtual void expand()
virtual void onCopyApplication()
void showCommandLinesFor(const DtApplicationSet &)
virtual void onAutoStart(QTreeWidgetItem *)
virtual void onApplicationsItemRightClickedOn(QTreeWidgetItem *, QMouseEvent *, int)
virtual std::vector< std::string > applicationsInDisplayGroups(std::vector< std::string >)
Definition: applicationSetsWidget.h:117
virtual void onResetApplicationNextAppID()
virtual void onItemSelectionChanged()
QHBoxLayout * myApplicationNameLayout
Definition: applicationSetsWidget.h:156
virtual void restoreMaximums()
QTreeWidget * myApplications
Definition: applicationSetsWidget.h:160
virtual bool displayGroupAlreadyExists(const std::string &name)
returns true if display group of given name exists in myDisplayGroups, false otherwise ...
virtual bool isValid(const QTreeWidgetItem *) const
virtual void onItemPressed(QTreeWidgetItem *, int)
virtual void displayApplicaionSet(const DtApplicationSet &set)
Display the application set given in myApplications.
virtual void onShowCommandLine()
virtual bool removeSetFromApplicationSets(DtApplicationSet *set)
Will remove application set pointer from myApplicationSets.
QToolButton * myEditApplication
Definition: applicationSetsWidget.h:165
virtual bool removeDisplayGroupFromDisplayGroupsByName(const std::string &name)
Will remove display group from myDisplayGroups by name. Returns true if removal occurred, false otherwise.
virtual bool selectedApplicationsValid() const
Definition: applicationSetsWidget.h:118
QToolButton * myRemoveApplication
Definition: applicationSetsWidget.h:166

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)