24 #include <QtWidgets/QTreeWidget>
25 #include <QtCore/QVariant>
27 #include <boost/function.hpp>
32 class DtGlobalIDHierarchyNode;
37 class DtObjectVisibilityManager;
59 AddedToChildCountRole = Qt::UserRole + 1022
69 virtual bool isDestroyed()
const;
70 virtual void setGrayIfHidden(
bool);
73 return myGrayIfHidden;
76 virtual QVariant data(
int iCol,
int iRole)
const override;
77 virtual void clearIcon();
79 virtual void updateHiddenState(
bool iterateChildren =
false);
88 bool isStealthObserver()
const;
89 bool isInactive()
const;
91 virtual bool canBeAttachedTo()
const;
98 virtual bool isTDLItem()
const;
106 virtual void setShowObjectConsoleWarningIcon(
bool,
bool refresh =
true);
107 virtual void setHasMessagesAwaiting(
bool,
bool refresh =
true);
108 virtual void setHasQuestionsAwaiting(
bool,
bool refresh =
true);
109 virtual void setSignalOnForceChange(
bool);
110 virtual void setSignalOnActivatedStateChanged(
bool);
111 virtual void setSignalOnDamageStateChange(
bool);
113 virtual void checkTextFilter();
116 virtual void checkTextFilterUpToParent();
118 virtual void setShowGumballs(
bool b);
121 return myShowGumball;
124 virtual void setTextFilter(
const QString&);
130 virtual void setHidden(
bool, ShowHideFlags);
131 virtual bool isHidden()
const;
134 return (myShowHideFlags.find(f) != myShowHideFlags.end());
138 virtual bool parseNumber(
const QString&,
int& number, QString& name)
const;
140 virtual int force()
const;
147 virtual void setUUID(
const DtUUID&);
148 bool signalOnActivatedStateChanged()
const;
149 bool signalOnForceChange()
const;
150 bool signalOnDamageStateChange()
const;
154 return myMarkingTextWithoutNumber;
159 return myMarkingTextNumber;
164 return myHasMarkingTextNumber;
169 return myStateViewId;
177 virtual std::map<std::string, std::string> extendedData()
const;
186 mySortingFunctions[col] = f;
191 DtSortingFunctionMap::iterator iter = mySortingFunctions.find(col);
193 if (iter != mySortingFunctions.end())
195 mySortingFunctions.erase(iter);
199 virtual bool blockChildCountDisplay(
bool b);
203 myDataFunctionMap[makeKey(col, role)] = func;
208 DtDataFunctionMap::iterator iter = myDataFunctionMap.find(makeKey(col, role));
210 if (iter != myDataFunctionMap.end())
212 myDataFunctionMap.erase(iter);
216 virtual void setBaseIcon(QString);
217 virtual void setBaseIcon(
const QPixmap&);
223 virtual void setPrependToName(
const QString&);
226 return myPrependToName;
229 virtual void setPrependPixmap(
const QPixmap&);
232 return myPrependPixmap;
235 virtual void enableChildCount();
238 return myChildCountEnabled;
241 virtual void setDisplayChildCount(
bool);
244 return myDisplayChildCount;
247 virtual void addToChildCount(
int);
249 virtual void setAppendToName(
const QString&);
250 virtual QString appendToName()
const;
252 virtual void setAppendPixmap(
const QPixmap&);
255 return myAppendPixmap;
258 virtual void setCanBeOrganized(
bool);
261 return myCanBeOrganized;
264 virtual void setSignalOnDataUpdates(
bool);
267 return mySignalOnDataUpdates;
272 return myObjectVisibilityManager;
276 virtual void addNameFunction(
short col);
277 virtual void removeNameFunction(
short col);
279 virtual void addTextColorIfHiddenFunction(
short col);
280 virtual void removeTextColorIfHiddenFunction(
short col);
282 virtual void addToolTipFunction(
short col);
283 virtual void removeToolTipFunction(
short col);
285 virtual void addIconFunction(
short col);
286 virtual void removeIconFunction(
short col);
288 virtual void addIconSizeHintFunction(
short col);
289 virtual void removeIconSizeHintFunction(
short col);
291 virtual void addIconAndGumballFunction(
short col);
292 virtual void removeIconAndGumballFunction(
short col);
294 virtual void addIconAndGumballSizeHintFunction(
short col);
295 virtual void removeIconAndGumballSizeHintFunction(
short col);
299 virtual bool hasGumball()
const;
301 virtual QString markingText()
const;
303 virtual void slot_stateViewAboutToBeRemoved();
306 virtual void setIsOrbatEnabled(
bool);
307 virtual bool isOrbatEnabled()
const;
309 virtual void setSortOrder(
int i);
316 virtual void setShowNotInOrbat(
bool);
317 virtual bool showNotInOrbat()
const;
320 virtual void setOrderByOrbatOrder(
bool);
321 virtual bool orderByOrbatOrder()
const;
323 virtual void setEditText(
const QString& s);
324 virtual const QString& editText()
const;
326 virtual void updateOrbatState();
327 virtual bool isOrbatViewOnly()
const;
328 virtual bool isCreated()
const;
329 virtual bool isInOrbatOnly()
const;
331 virtual void setIcon(
const QPixmap&);
332 virtual void setIcon(
int column,
const QPixmap&);
334 virtual void setDisplayType(
const DtEntityType&,
int force);
335 virtual void clearDisplayType();
338 virtual bool isInOrbatView()
const;
339 virtual void updateChildCount();
355 virtual void updateMarkingTextInformation();
357 virtual void resetBaseIcon(QString);
359 virtual std::string iconKeyString()
const;
360 virtual std::string gumballKeyString()
const;
362 virtual bool needsIconUpdate(std::string* resultKey = 0)
const;
363 virtual bool needsGumballUpdate(std::string* resultKey = 0)
const;
365 virtual int getDesignator(
const std::string& echelon)
const;
376 virtual void finishUpdate();
380 return (col << 16) | role;
385 virtual QPixmap adjustForHidden(
const QPixmap&)
const;
386 virtual QImage adjustForHidden(
const QImage&)
const;
393 typedef std::map<int, boost::function<QVariant (const DtObjectListViewItem*)> >
DtDataFunctionMap;
394 typedef std::map<int, boost::function<bool (const DtObjectListViewItem& rhs, const DtObjectListViewItem& lhs)> >
DtSortingFunctionMap;
409 bool myBlockChildCountDisplay =
false;
451 double myLastTimeStatePropertiesUpdated = 0.;
455 bool myHasMarkingTextNumber =
false;
458 int myMarkingTextNumber = 0;
461 bool myChildCountEnabled =
false;
462 bool myDisplayChildCount =
false;
463 int myChildCount = 0;
472 bool isDestroyed =
false;
473 bool activated =
false;
const QPixmap & baseIcon() const
Definition: objectListViewItem.h:218
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Registered creator for this class.
Definition: objectListViewItem.h:481
virtual bool isHiddenBy(ShowHideFlags f) const
Definition: objectListViewItem.h:132
static bool theShowUUIDForBlankName
Show "Blank Name (UUID)" for blanke named items. Default is true. Set to false to show no name...
Definition: objectListViewItem.h:390
QString myMarkingTextWithoutNumber
Definition: objectListViewItem.h:457
bool myShowGumball
Definition: objectListViewItem.h:407
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 myIconConnections
Definition: objectListViewItem.h:413
QPixmap myBaseIcon
Definition: objectListViewItem.h:447
boost::function< void(DtObjectListViewItem *, std::string)> DataChangedNotifyFunction
Definition: objectListViewItem.h:179
void setStealthType(const DtEntityType &s)
Definition: objectListViewItem.h:93
boost::signals2::signal< void(DtObjectListViewItem *)> signal_statePropertiesChanged
Definition: objectListViewItem.h:350
bool myUseDisplayType
Definition: objectListViewItem.h:439
makVrv::DtUniqueID myStateViewId
Definition: objectListViewItem.h:399
QString myMarkingText
Definition: objectListViewItem.h:456
NotifyOnExtendedDataChangedMap myNotifyOnExtendedDataChangedMap
Definition: objectListViewItem.h:466
int myRightMargin
Definition: objectListViewItem.h:449
int makeKey(short col, short role) const
Definition: objectListViewItem.h:378
bool mySignalOnDataUpdates
Definition: objectListViewItem.h:453
std::string myIconString
Definition: objectListViewItem.h:432
DtObjectVisibilityManager & objectVisibilityManager() const
Definition: objectListViewItem.h:270
std::map< std::string, std::pair< DataChangedNotifyFunction, bool > > NotifyOnExtendedDataChangedMap
Definition: objectListViewItem.h:465
Contains the DtUUID class declaration.
int sortOrder() const
Definition: objectListViewItem.h:310
boost::signals2::signal< void(DtObjectListViewItem *)> signal_markingTextFilterChanged
Definition: objectListViewItem.h:348
boost::signals2::signal< void(DtObjectListViewItem *, int, int)> signal_forceChanged
Definition: objectListViewItem.h:345
const QPixmap & appendPixmap() const
Definition: objectListViewItem.h:253
std::map< int, boost::function< bool(const DtObjectListViewItem &rhs, const DtObjectListViewItem &lhs)> > DtSortingFunctionMap
Definition: objectListViewItem.h:394
bool grayIfHidden() const
Definition: objectListViewItem.h:71
bool myIsInOrbatView
Definition: objectListViewItem.h:423
std::map< std::string, std::string > extendedData
Definition: objectListViewItem.h:474
std::string objectName
Definition: objectListViewItem.h:470
bool mySignalOnDamageStateChanged
Definition: objectListViewItem.h:404
Definition: objectVisibilityManager.h:32
boost::signals2::signal< void(DtObjectListViewItem *, bool)> signal_damageStateChanged
Definition: objectListViewItem.h:351
bool hasMarkingTextNumber() const
Definition: objectListViewItem.h:162
Contains makVrv::DtVirtualBaseClass class.
bool myGrayIfHidden
Definition: objectListViewItem.h:440
int markingTextNumber() const
Definition: objectListViewItem.h:157
bool myIsOrbatEnabled
Definition: objectListViewItem.h:421
QPixmap myGumball
Definition: objectListViewItem.h:430
bool myHasQuestionsAwaiting
Definition: objectListViewItem.h:420
DtEntityType myDisplayType
Definition: objectListViewItem.h:437
QString myTextFilter
Definition: objectListViewItem.h:442
makVrv::DtDe & myDe
Definition: objectListViewItem.h:496
DtSimObjectReference myStateView
Definition: objectListViewItem.h:400
DtDataFunctionMap myDataFunctionMap
Definition: objectListViewItem.h:410
DtSimObjectReference stateView() const
Definition: objectListViewItem.h:172
bool canBeOrganized() const
Definition: objectListViewItem.h:259
const QString & markingTextWithoutNumber() const
Definition: objectListViewItem.h:152
makVrv::DtSignalConnectionManager myStateViewUpdateConnections
Definition: objectListViewItem.h:415
bool myHasGumball
Definition: objectListViewItem.h:408
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool mySignalOnForceChange
Definition: objectListViewItem.h:403
bool myIsDestroyed
Definition: objectListViewItem.h:402
bool myShowObjectConsoleWarningIcon
Definition: objectListViewItem.h:418
boost::signals2::signal< void(DtObjectListViewItem *)> signal_destroyed
Definition: objectListViewItem.h:347
std::set< ShowHideFlags > myShowHideFlags
Definition: objectListViewItem.h:435
QPixmap myPixmap
Definition: objectListViewItem.h:431
const DtUUID & uuid() const
Definition: objectListViewItem.h:142
ShowHideFlags
Definition: objectListViewItem.h:48
bool myIsSimpleObjectDataState
Definition: objectListViewItem.h:406
const QString & prependToName() const
Definition: objectListViewItem.h:224
QString myPrependToName
Definition: objectListViewItem.h:443
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
makVrv::DtSignalConnectionManager myOrbatConnections
Definition: objectListViewItem.h:414
QString myEditText
Definition: objectListViewItem.h:427
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
makVrv::DtDe & myDe
Definition: objectListViewItem.h:396
bool myUpdateForced
Definition: objectListViewItem.h:425
Roles
Definition: objectListViewItem.h:57
QString myAppendToName
Definition: objectListViewItem.h:445
void addDataFunction(short col, short role, const boost::function< QVariant(const DtObjectListViewItem *)> &func)
Definition: objectListViewItem.h:201
QPixmap myPrependPixmap
Definition: objectListViewItem.h:444
Base class to provide boost signal/slot management.
std::map< int, boost::function< QVariant(const DtObjectListViewItem *)> > DtDataFunctionMap
Definition: objectListViewItem.h:393
bool myHasMessagesAwaiting
Definition: objectListViewItem.h:419
boost::signals2::signal< void(DtObjectListViewItem *)> signal_extendedDataChanged
Definition: objectListViewItem.h:349
bool myShowNotInOrbat
Definition: objectListViewItem.h:422
makVrv::DtUniqueID stateViewId() const
Definition: objectListViewItem.h:167
DtObjectVisibilityManager & myObjectVisibilityManager
Definition: objectListViewItem.h:459
bool myOrderByOrbatOrder
Definition: objectListViewItem.h:424
Definition: objectListViewItem.h:468
LastObjectUpdateData myLastObjectUpdateData
Definition: objectListViewItem.h:477
QPixmap myAppendPixmap
Definition: objectListViewItem.h:446
makVrv::DtSignalConnectionManager myConnections
Definition: objectListViewItem.h:412
void removeDataFunction(short col, short role)
Definition: objectListViewItem.h:206
bool displayChildCount() const
Definition: objectListViewItem.h:242
void clearStateView()
Definition: objectListViewItem.h:83
bool signalOnDataUpdates() const
Definition: objectListViewItem.h:265
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
int myDisplayForce
Definition: objectListViewItem.h:438
bool myCanBeOrganized
Definition: objectListViewItem.h:452
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
DtSortingFunctionMap mySortingFunctions
Definition: objectListViewItem.h:411
DtUUID myUUID
Definition: objectListViewItem.h:398
bool mySignalOnActivatedStateChanged
Definition: objectListViewItem.h:405
boost::signals2::connection myUpdateConnection
Definition: objectListViewItem.h:416
boost::signals2::signal< void(DtObjectListViewItem *, bool)> signal_activateStateChanged
Definition: objectListViewItem.h:352
const QPixmap & prependPixmap() const
Definition: objectListViewItem.h:230
bool childCountEnabled() const
Definition: objectListViewItem.h:236
std::string myGumballString
Definition: objectListViewItem.h:433
bool showGumballs() const
Definition: objectListViewItem.h:119
void addSortingFunction(int col, const boost::function< bool(const DtObjectListViewItem &rhs, const DtObjectListViewItem &lhs)> &f)
Definition: objectListViewItem.h:184
void removeSortingFunction(int col)
Definition: objectListViewItem.h:189
const QString & textFilter() const
Definition: objectListViewItem.h:125
boost::signals2::signal< void(DtObjectListViewItem *)> signal_itemUpdated
Definition: objectListViewItem.h:346
QPixmap myIcon
Definition: objectListViewItem.h:429
DtEntityType myStealthType
Definition: objectListViewItem.h:397