Go to the documentation of this file.
17 #ifndef GAZEBO_GUI_PLOT_VARIABLE_PILL_HH_
18 #define GAZEBO_GUI_PLOT_VARIABLE_PILL_HH_
24 #include <ignition/math/Helpers.hh>
25 #include <ignition/math/Vector2.hh>
35 class VariablePillPrivate;
37 class VariablePillContainer;
46 public:
explicit VariablePill(QWidget *_parent =
nullptr);
53 public:
unsigned int Id()
const;
57 public:
void SetName(
const std::string &_name);
61 public: std::string Name()
const;
65 public:
void SetText(
const std::string &_text);
69 public: std::string Text()
const;
93 public:
void RemoveVariablePill(
VariablePill *_variable);
98 public:
VariablePill *VariablePillByName(
const std::string &_name);
102 public:
unsigned int VariablePillCount()
const;
106 public: std::map<unsigned int, VariablePill *> &VariablePills()
const;
110 public:
void SetSelected(
const bool _selected);
114 public:
bool IsSelected()
const;
119 public:
bool ContainsPoint(
const ignition::math::Vector2i &_pt)
const;
123 protected:
void dragEnterEvent(QDragEnterEvent *_evt);
127 protected:
void dropEvent(QDropEvent *_evt);
131 protected:
void mouseMoveEvent(QMouseEvent *_event);
135 protected:
void mousePressEvent(QMouseEvent *_event);
139 private:
void SetMultiVariableMode(
const bool _enable);
142 private:
void UpdateStyleSheet();
147 private:
bool IsDragValid(QDropEvent *_evt);
152 Q_SIGNALS:
void VariableAdded(
const unsigned int _id,
153 const std::string &_name);
157 Q_SIGNALS:
void VariableRemoved(
const unsigned int _id);
162 Q_SIGNALS:
void VariableMoved(
const unsigned int _id);
166 Q_SIGNALS:
void VariableLabelChanged(
const std::string &_label);
173 private: std::unique_ptr<VariablePillPrivate> dataPtr;
VariablePill(QWidget *_parent=nullptr)
Constructor.
bool ContainsPoint(const ignition::math::Vector2i &_pt) const
Check if a point is inside the widget.
Forward declarations for the common classes.
Definition: Animation.hh:26
A container for holding variable pills.
Definition: VariablePillContainer.hh:37
void dropEvent(QDropEvent *_evt)
Used to accept drop events.
virtual ~VariablePill()
Destructor.
static const unsigned int EmptyVariable
Empty variable id used to indicate non-existent variable.
Definition: VariablePill.hh:169
bool IsSelected() const
Return the selected state of this variable pill.
void VariableLabelChanged(const std::string &_label)
Qt signal emitted when the variable pill's text has changed.
void SetName(const std::string &_name)
Set a unique name for this variable.
std::map< unsigned int, VariablePill * > & VariablePills() const
Get the a child variable pill.
std::string Name() const
Get the unique name for this variable.
unsigned int Id() const
Get the unique id of this variable pill.
std::string Text() const
Get the text label for this variable pill.
A variable pill.
Definition: VariablePill.hh:40
void mousePressEvent(QMouseEvent *_event)
Qt mouse move event.
VariablePill * Parent() const
Get the parent of this variable pill.
void RemoveVariablePill(VariablePill *_variable)
Remove a child variable pill.
gui
Definition: KeyEventHandler.hh:29
void VariableAdded(const unsigned int _id, const std::string &_name)
Qt signal emitted when a child variable pill is added.
void VariableRemoved(const unsigned int _id)
Qt signal emitted when a child variable pill is removed.
void SetParent(VariablePill *_parent)
Set the parent of this variable pill.
VariablePillContainer * Container() const
Get the container which holds this variable pill.
void SetSelected(const bool _selected)
Set the selected state of this variable pill.
void VariableMoved(const unsigned int _id)
Qt signal emitted when an existing variable pill is added as a child of this variable pill.
void dragEnterEvent(QDragEnterEvent *_evt)
Used to accept drag enter events.
void SetText(const std::string &_text)
Set the text label for this variable pill.
VariablePill * VariablePillByName(const std::string &_name)
Get a child variable pill by its unique name.
void mouseMoveEvent(QMouseEvent *_event)
Qt mouse press event.
void AddVariablePill(VariablePill *_variable)
Add a child variable pill.
void SetContainer(VariablePillContainer *_container)
Set the container which holds this variable pill.
unsigned int VariablePillCount() const
Get the number of child variable pills.