18 #ifndef IGNITION_GAZEBO_GUI_COMPONENTINSPECTOR_HH_ 19 #define IGNITION_GAZEBO_GUI_COMPONENTINSPECTOR_HH_ 37 class ComponentInspectorPrivate;
42 template <
class DataType>
43 void setData(QStandardItem *_item,
const DataType &_data)
51 setData(_item, ss.
str());
55 ignwarn <<
"Attempting to set unsupported data type to item [" 56 << _item->text().toStdString() <<
"]" <<
std::endl;
64 void setData(QStandardItem *_item,
const std::string &_data);
70 void setData(QStandardItem *_item,
const math::Pose3d &_data);
82 void setData(QStandardItem *_item,
const bool &_data);
88 void setData(QStandardItem *_item,
const int &_data);
94 void setData(QStandardItem *_item,
const double &_data);
100 void setData(QStandardItem *_item,
const std::ostream &_data);
105 void setUnit(QStandardItem *_item,
const std::string &_unit);
109 class ComponentsModel :
public QStandardItemModel
114 public:
explicit ComponentsModel();
117 public: ~ComponentsModel()
override =
default;
120 public: QHash<int, QByteArray> roleNames()
const override;
124 public:
static QHash<int, QByteArray> RoleNames();
129 public slots: QStandardItem *AddComponentType(
134 public slots:
void RemoveComponentType(
145 class ComponentInspector :
public gazebo::GuiSystem
185 NOTIFY NestedModelChanged
189 public: ComponentInspector();
192 public: ~ComponentInspector()
override;
195 public:
void LoadConfig(
const tinyxml2::XMLElement *_pluginElem)
override;
198 public:
void Update(
const UpdateInfo &, EntityComponentManager &)
override;
207 public: Q_INVOKABLE
void OnPose(
double _x,
double _y,
double _z,
208 double _roll,
double _pitch,
double _yaw);
212 public: Q_INVOKABLE
bool NestedModel()
const;
215 signals:
void NestedModelChanged();
218 protected:
bool eventFilter(QObject *_obj, QEvent *_event)
override;
222 public: Q_INVOKABLE
int Entity()
const;
226 public: Q_INVOKABLE
void SetEntity(
const int &_entity);
229 signals:
void EntityChanged();
233 public: Q_INVOKABLE QString Type()
const;
237 public: Q_INVOKABLE
void SetType(
const QString &_entity);
240 signals:
void TypeChanged();
244 public: Q_INVOKABLE
bool Locked()
const;
248 public: Q_INVOKABLE
void SetLocked(
bool _locked);
251 signals:
void LockedChanged();
255 public: Q_INVOKABLE
bool Paused()
const;
259 public: Q_INVOKABLE
void SetPaused(
bool _paused);
262 signals:
void PausedChanged();
uint64_t ComponentTypeId
A unique identifier for a component type. A component type must be derived from components::BaseCompo...
Definition: Types.hh:86
Vector3< double > Vector3d
Q_DECLARE_METATYPE(ComponentTypeId) namespace ignition
Definition: ComponentInspector.hh:31
This library is part of the Ignition Robotics project.
static constexpr bool value
Definition: Component.hh:72
uint64_t Entity
An Entity identifies a single object in simulation such as a model, link, or light. At its core, an Entity is just an identifier.
Definition: Entity.hh:59