VR-Forces Developer's Guide
 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, EntityStateListener::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 }
DamageState
Definition: DtEntityStateListener.h:64
std::vector< DtElementID > ElementIdList
Type definition for a vector of DtElementIDs. DtElementIDs ARE DtUniqueIDs, but not all DtUniqueIDs a...
Definition: DtElementData.h:54
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtElementData class.
#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:57
DtDe & myDe
Definition: DtItemsListLogic.h:130
Contains makVrv:DtEntityStateListener class.
Interface for display the objects, terrains, observers in the scene in a list. Used by DtObjectsListW...
Definition: DtItemsListInterface.h:26
std::vector< EntryAttributes > EntryAttributesList
Define the type used to signal changes to one or more attributes for one or more elements.
Definition: DtElementAttributeManager.h:44
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.
Contains the DtElementAttributeManager class declaration.
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:76
Logic class for display the objects, terrains, observers in the scene in a list. Used by DtObjectsLis...
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)