nodeviewitem: toggle expanded state on double click

This commit is contained in:
itsmattkc
2020-02-16 01:05:41 +11:00
parent 1776615999
commit b44d7165c5
2 changed files with 13 additions and 1 deletions
+11 -1
View File
@@ -125,6 +125,11 @@ void NodeViewItem::SetExpanded(bool e)
setRect(new_rect);
}
void NodeViewItem::ToggleExpanded()
{
SetExpanded(!IsExpanded());
}
QRectF NodeViewItem::GetParameterConnectorRect(int index)
{
if (node_ == nullptr) {
@@ -468,7 +473,7 @@ void NodeViewItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
// Check if we clicked the Expand/Collapse icon
if (expand_hitbox_.contains(event->pos())) {
SetExpanded(!IsExpanded());
ToggleExpanded();
}
if (standard_click_) {
@@ -476,6 +481,11 @@ void NodeViewItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
}
}
void NodeViewItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
{
ToggleExpanded();
}
QVariant NodeViewItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
{
if (change == ItemPositionHasChanged && node_) {
+2
View File
@@ -62,6 +62,7 @@ public:
* @brief Set expanded state
*/
void SetExpanded(bool e);
void ToggleExpanded();
/**
* @brief Get the rectangle of a specific parameter connector
@@ -81,6 +82,7 @@ protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override;
virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override;