VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtItemsListLogic.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2021 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 
14 #include <vrvCore/DtElementData.h>
15 #include <vrvCore/DtElementEntry.h>
18 
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtItemsListInterface;
26 
31  {
32  public:
33 
34  friend class DtItemsListLogicCreator;
35 
37  virtual ~DtItemsListLogic();
38 
41 
43  virtual void setEventObjectType(const std::string& objectType);
44 
46  std::string eventObjectType() const;
47 
48  protected:
49 
51  void connectSignals();
52 
54  int findIndexForSubTypeTopLevelItem(const DtElementAttributes::ElementSubtypes& subType);
55 
57  int findIndexForTypeTopLevelItem(const DtElementEntry::ElementType& type);
58 
60  virtual void addElement(const DtElementEntry& element);
61 
63  virtual bool passElementTypeTest(const DtElementEntry& data) = 0;
64 
66  std::string elementTypeToString(const DtElementEntry::ElementType& type) const;
67 
69  std::string elementSubTypeToString(const DtElementAttributes::ElementSubtypes& subType) const;
70 
72  std::string iconForElementType(const DtElementEntry::ElementType& type) const;
73 
75  std::string iconForElementSubType(const DtElementAttributes::ElementSubtypes& subType) const;
76 
78  virtual void slot_elementsInitialized(const DtElementData::ElementIdList& elements);
79 
81  virtual void slot_elementsRemoved(const DtElementData::ElementIdList& elements);
82 
84  virtual void slot_attributesChanged(const DtElementAttributeManager::EntryAttributesList& list);
85 
87  virtual void slot_itemAttachRequested(DtElementID id);
88 
90  virtual void slot__itemSelectionChanged(const std::vector<DtElementID>& idList);
91 
93  virtual void slot_selectManagerSelectionChanged(const DtSelectionManager::IdSet& selected,
94  const DtSelectionManager::IdSet& deselected);
95 
101  virtual void getColorForSubtypeForce(const DtElementAttributes::ElementSubtypes& subType, double& r, double& g, double& a) const;
102 
106  virtual void onDisplayNameChanged(DtElementEntry* entry, const std::string& newName);
107 
111  virtual void onSubtypeChanged(DtElementEntry* entry, int subType);
112 
116  virtual void onDamageStateChanged(DtElementEntry* entry, DtEntityStateListener::DamageState damageState);
117 
118  private:
119 
121  DtItemsListLogic() = delete;
122 
124  DtItemsListLogic(const DtItemsListLogic& orig) = delete;
125 
127  DtItemsListLogic& operator=(const DtItemsListLogic& orig) = delete;
128 
129  protected:
133  std::string myEventObjectType;
134  };
135 
136 }
std::vector< DtElementID > ElementIdList
Type definition for a vector of DtElementIDs.
Definition: DtElementData.h:53
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtElementData class.
*virtual const DtObjectType & objectType() const
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
DtItemsListInterface & myInterface
Definition: DtItemsListLogic.h:131
Contains DLL export macros.
DtElementEntry holds the non-simulation-specific data about an element, including its element type an...
Definition: DtElementEntry.h:22
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
ElementSubtypes
Definition: DtElementAttributes.h:53
DtDe & myDe
Definition: DtItemsListLogic.h:130
Contains makVrv:DtEntityStateListener class.
Interface for display the objects, terrains, observers in the scene in a list.
Definition: DtItemsListInterface.h:26
std::vector< EntryAttributes > EntryAttributesList
Definition: DtElementAttributeManager.h:43
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
ElementType
Definition: DtElementEntry.h:26
Base class to provide boost signal/slot management.
DamageState
Definition: DtEntityStateListener.h:88
Contains the DtElementAttributeManager class declaration.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Logic class for display the objects, terrains, observers in the scene in a list.
Definition: DtItemsListLogic.h:30
std::string myEventObjectType
Definition: DtItemsListLogic.h:133
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Contains makVrv::DtElementEntry class.
DtSignalConnectionManager mySignals
Definition: DtItemsListLogic.h:132

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)