8#include "ui_jointItemTree.h"
12 m_ui(new
Ui::jointItemTree),
16 setAttribute(Qt::WA_StyledBackground,
true);
18 this->setContextMenuPolicy(Qt::CustomContextMenu);
20 connect(
this,
SIGNAL(customContextMenuRequested(QPoint)),
23 m_rightClickMenuTitle =
new QAction(
this);
24 m_rightClickMenuTitle->setEnabled(
false);
25 m_rightClickMenu.addAction(m_rightClickMenuTitle);
26 m_rightClickMenu.addSeparator();
28 m_idleAction =
new QAction(
"Idle joint",
this);
30 m_rightClickMenu.addAction(m_idleAction);
32 m_runAction =
new QAction(
"Run joint",
this);
34 m_rightClickMenu.addAction(m_runAction);
36 m_pidAction =
new QAction(
"Show joint PID",
this);
38 m_rightClickMenu.addAction(m_pidAction);
40 m_homeAction =
new QAction(
"Home joint",
this);
42 m_rightClickMenu.addAction(m_homeAction);
52 m_ui->jointName->setText(name);
57 return m_ui->jointName->text();
63 if (!m_modeSet || mode != m_mode)
65 const int text_r = 35;
66 const int text_g = 38;
67 const int text_b = 41;
74 m_homeAction->setEnabled(
true);
75 m_runAction->setEnabled(
true);
76 m_idleAction->setEnabled(
true);
77 m_pidAction->setEnabled(
true);
87 m_homeAction->setEnabled(
false);
88 m_runAction->setEnabled(
true);
89 m_idleAction->setEnabled(
true);
90 m_pidAction->setEnabled(
true);
95 m_homeAction->setEnabled(
false);
96 m_runAction->setEnabled(
false);
97 m_idleAction->setEnabled(
true);
98 m_pidAction->setEnabled(
true);
107 m_homeAction->setEnabled(
false);
108 m_runAction->setEnabled(
false);
109 m_idleAction->setEnabled(
false);
110 m_pidAction->setEnabled(
false);
126void JointItemTree::setColor(
const QColor &color,
const QColor &background)
128 setAutoFillBackground(
true);
129 QString stileSheet = QString(
"color: rgb(%1, %2, %3); background-color: rgb(%4, %5, %6)")
130 .arg(color.red()).arg(color.green()).arg(color.blue())
131 .arg(background.red()).arg(background.green()).arg(background.blue());
132 setStyleSheet(stileSheet);
142 QSize size = QWidget::sizeHint();
143 if (m_desiredWidth > 0)
145 size.setWidth(m_desiredWidth);
147 if (m_desiredHeight > 0)
149 size.setHeight(m_desiredHeight);
163 m_rightClickMenuTitle->setText(m_ui->jointName->text() +
" menu");
164 m_rightClickMenu.exec(mapToGlobal(pos));
int SIGNAL(int pid, int signum)
void sig_runClicked(int index)
void setJointMode(const JointItem::JointState &mode)
void sig_homeClicked(int index)
void setJointName(const QString &name)
void sig_jointClicked(int index)
void setDesiredSize(int w, int h)
~JointItemTree() override
JointItemTree(int index, QWidget *parent=nullptr)
void sig_idleClicked(int index)
void mouseDoubleClickEvent(QMouseEvent *) override
QSize sizeHint() const override
JointItem::JointState jointMode() const
QString jointName() const
void sig_PIDClicked(int index)
void onShowContextMenu(QPoint pos)
static QColor GetModeColor(JointState mode)
static QString GetModeString(JointState mode)