VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ruleBasedBalanceEditor.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
16 #endif
17 
19 
20 #include <QtWidgets/QDialog>
21 
22 class QTreeWidget;
23 class QTreeWidgetItem;
24 class QLineEdit;
25 class QLabel;
26 class QPushButton;
27 class QHBoxLayout;
28 class DtFilename;
29 class QComboBox;
30 class QMenu;
31 class QAction;
32 
33 namespace makVrv
34 {
35  class DtDe;
36 }
37 
38 namespace makVrf
39 {
40  class DtVrfBackendState;
41 
45  {
46  Q_OBJECT;
47 
48  public:
49 
51  DtRuleBasedBalanceEditor( makVrv::DtDe& de, QWidget* parent = 0,
52  const Qt::WindowFlags& flags = Qt::Tool );
53 
55  virtual ~DtRuleBasedBalanceEditor();
56 
58  virtual bool init(const DtFilename& csvFile);
59 
60  virtual QString title() const;
61  virtual DtFilename filename() const;
62 
63  protected slots:
64  virtual void validate();
65  virtual void removeRow();
66  virtual void addObjectNameMatch();
67  virtual void addEntityTypeMatch();
68  virtual void editMatchType();
69  virtual void moveUp();
70  virtual void moveDown();
71 
72  protected:
73  virtual void slot_backendDiscovered(const DtVrfBackendState&);
74  virtual QComboBox* createBackendCombo();
75  virtual void accept();
76  virtual void addRow(DtEntityType, const DtSimulationAddress&, int row = -1);
77  virtual void addRow(std::string, const DtSimulationAddress&, int row = -1);
78  virtual void editEntityType(QTreeWidgetItem*);
79  virtual void editObjectName(QTreeWidgetItem*);
80  virtual void finalizeRow(QTreeWidgetItem*, const DtSimulationAddress& addr, int row = -1);
81  virtual bool isValidRegex(const QString& s) const;
82  virtual void updateMovementButtons();
83  virtual void moveRow(int from, int to);
84  virtual void addMatchingRule(std::string, const DtSimulationAddress&, int row = -1);
85 
86  private:
87 
90 
92  DtRuleBasedBalanceEditor& operator = ( const DtRuleBasedBalanceEditor& orig );
93 
94  public:
96  QHBoxLayout* myTitleLayout;
99 
100  QHBoxLayout* myButtonLayout;
103 
105 
109 
110  protected:
114  };
115 
116 
118  {
119  public:
120 
123 
125  static DtRuleBasedBalanceEditorCreator& instance( makVrv::DtDe& );
126 
128  static void registerInstance( makVrv::DtDe& de, DtRuleBasedBalanceEditorCreator* instance );
129 
130  virtual DtRuleBasedBalanceEditor* create(QWidget* parent);
131 
132  protected:
134  };
135 }
Definition: vrfBackendState.h:69
QLabel * myDescription
Definition: ruleBasedBalanceEditor.h:95
Definition: ruleBasedBalanceEditor.h:117
QLabel * myTitleLabel
Definition: ruleBasedBalanceEditor.h:97
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
makVrv::DtSignalConnectionManager myConnectionManager
Definition: ruleBasedBalanceEditor.h:113
QAction * myObjectNameMatch
Definition: ruleBasedBalanceEditor.h:108
const char * filename
Definition: ioapi.h:38
This is a dialog that will allow for the editing of an rule based mapping csv file to map an entity t...
Definition: ruleBasedBalanceEditor.h:44
QPushButton * myOKButton
Definition: ruleBasedBalanceEditor.h:101
QLineEdit * myTitle
Definition: ruleBasedBalanceEditor.h:98
DtRuleBasedBalancerObject myEntityTypeBalancer
Definition: ruleBasedBalanceEditor.h:112
QAction * myEntityTypeMatch
Definition: ruleBasedBalanceEditor.h:107
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: ruleBasedBalanceEditor.h:111
makVrv::DtDe & myDe
Definition: ruleBasedBalanceEditor.h:133
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
This class will maintain information about an entity type load balancing which will map an entity typ...
Definition: ruleBasedBalancerObject.h:32
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
Base class to provide boost signal/slot management.
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QMenu * myMatchingType
Definition: ruleBasedBalanceEditor.h:106
QTreeWidget * myMatchingRules
Definition: ruleBasedBalanceEditor.h:104
QHBoxLayout * myTitleLayout
Definition: ruleBasedBalanceEditor.h:96
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
QPushButton * myCancelButton
Definition: ruleBasedBalanceEditor.h:102
QHBoxLayout * myButtonLayout
Definition: ruleBasedBalanceEditor.h:100

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)