47 class JointPositionControllerPrivate;
51 public QStandardItemModel
56 public:
explicit JointsModel();
59 public: ~JointsModel()
override =
default;
62 public: QHash<int, QByteArray> roleNames()
const override;
66 public:
static QHash<int, QByteArray> RoleNames();
71 public slots: QStandardItem *AddJoint(Entity _entity);
75 public slots:
void RemoveJoint(Entity _entity);
78 public slots:
void Clear();
104 public sim::GuiSystem
113 NOTIFY ModelEntityChanged
121 NOTIFY ModelNameChanged
133 public: JointPositionController();
136 public: ~JointPositionController()
override;
139 public:
void LoadConfig(
const tinyxml2::XMLElement *_pluginElem)
override;
142 public:
void Update(
const UpdateInfo &, EntityComponentManager &)
override;
147 public: Q_INVOKABLE
void OnCommand(
const QString &_jointName,
double _pos);
150 public: Q_INVOKABLE
void OnReset();
154 public: Q_INVOKABLE Entity ModelEntity()
const;
158 public: Q_INVOKABLE
void SetModelEntity(Entity _entity);
161 signals:
void ModelEntityChanged();
165 public: Q_INVOKABLE QString ModelName()
const;
169 public: Q_INVOKABLE
void SetModelName(
const QString &_name);
172 signals:
void ModelNameChanged();
176 public: Q_INVOKABLE
bool Locked()
const;
180 public: Q_INVOKABLE
void SetLocked(
bool _locked);
183 signals:
void LockedChanged();
186 protected:
bool eventFilter(QObject *_obj, QEvent *_event)
override;