VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityListDropdown.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #if !defined(Q_MOC_RUN)
9 
10 #include <vrvUtil/signalslib.h>
11 
13 #include <vrvCore/DtElementData.h>
16 #include <vlpi/entityIdentifier.h>
17 
18 #include <vrfutil/rwUUID.h>
19 
20 #include <QtWidgets/QComboBox>
21 #endif
22 
23 class QTimer;
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtElementEntry;
29 }
30 
31 class QTreeWidgetItem;
32 
33 namespace makVrf
34 {
35  class DtVrfFilteredListView;
36  class DtObjectListViewItem;
37 
39  {
40  Q_OBJECT
41 
42  public:
43  DtEntityListDropdown(makVrv::DtDe& de, QWidget* parent = 0);
44  virtual ~DtEntityListDropdown() override;
45 
46  virtual QString selectedEntityName() const;
47  virtual DtUUID selectedEntityId() const;
48  virtual DtEntityIdentifier selectedVrlinkEntityId() const;
49 
51  virtual void setSelectedId(const DtUUID&, bool signal = false);
52  virtual DtUUID findEntityId(makVrv::DtUniqueID id) const;
53  virtual DtEntityIdentifier findVrlinkEntityId(makVrv::DtUniqueID id) const;
54 
55  boost::signals2::signal<void (DtUUID, DtEntityIdentifier)> signal_entityChanged;
56 
57  protected:
58  virtual void itemAdded(QTreeWidgetItem*);
59  virtual void itemRemoved(QTreeWidgetItem*, makVrv::DtUniqueID);
60  virtual void itemUpdated(DtObjectListViewItem*);
61  virtual void itemsCleared();
62  virtual void initialize();
63 
64  virtual void update();
65 
66  protected slots:
67  virtual void entityChanged(int idx);
68 
69  protected:
73  boost::signals2::connection myUpdateConnection;
75  };
76 
78  {
79  public:
81  virtual ~DtEntityListDropdownCreator() override;
82 
84  static DtEntityListDropdownCreator& instance(makVrv::DtDe&);
85 
87  static void registerInstance(makVrv::DtDe& de, DtEntityListDropdownCreator* instance);
88 
89  virtual DtEntityListDropdown* create(QWidget* parent);
90 
91  protected:
93  };
94 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Definition: entityListDropdown.h:38
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: entityListDropdown.h:77
makVrv::DtDe & myDe
Definition: entityListDropdown.h:71
Contains makVrv::DtElementData class.
Contains the DtUUID class declaration.
boost::signals2::connection myUpdateConnection
Definition: entityListDropdown.h:73
bool myFirstUpdate
Definition: entityListDropdown.h:74
Contains makVrv::DtVirtualBaseClass class.
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:64
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtSignalConnectionManager myConnections
Definition: entityListDropdown.h:70
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
makVrv::DtDe & myDe
Definition: entityListDropdown.h:92
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
boost::signals2::signal< void(DtUUID, DtEntityIdentifier)> signal_entityChanged
Definition: entityListDropdown.h:55
This tree widget item can be used in any tree that wants to display an icon next to the name of an ob...
Definition: objectListViewItem.h:45
#define VRFMAKRADIOQT_DLL
Definition: vrfMakRadioQt.h:14
DtVrfFilteredListView * myEntities
Definition: entityListDropdown.h:72

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)