| 117 | } |
| 118 | |
| 119 | void GraphicContainer::lockSubtreeEditing(Node &root_node, bool locked, bool change_style) |
| 120 | { |
| 121 | for (auto node: getSubtreeNodesRecursively( root_node ) ) |
| 122 | { |
| 123 | node->nodeGraphicsObject().lock( locked ); |
| 124 | |
| 125 | if( auto bt_model = dynamic_cast<BehaviorTreeDataModel*>( node->nodeDataModel() ) ) |
| 126 | { |
| 127 | bt_model->lock(locked); |
| 128 | } |
| 129 | |
| 130 | auto connections = node->nodeState().getEntries(PortType::Out); |
| 131 | for (auto& conn_by_port: connections ) |
| 132 | { |
| 133 | for (auto& conn_it: conn_by_port ) |
| 134 | { |
| 135 | QtNodes::Connection* conn = conn_it.second; |
| 136 | conn->connectionGraphicsObject().lock( locked ); |
| 137 | } |
| 138 | } |
| 139 | //-------------------------------- |
| 140 | QtNodes::NodeStyle style; |
| 141 | |
| 142 | if( locked && change_style ) |
| 143 | { |
| 144 | style.GradientColor0.setBlue(120); |
| 145 | style.GradientColor1.setBlue(100); |
| 146 | style.GradientColor2.setBlue(90); |
| 147 | style.GradientColor3.setBlue(90); |
| 148 | } |
| 149 | node->nodeGraphicsObject().setGeometryChanged(); |
| 150 | node->nodeDataModel()->setNodeStyle( style ); |
| 151 | node->nodeGraphicsObject().update(); |
| 152 | } |
| 153 | } |
| 154 | |
| 155 | void GraphicContainer::nodeReorder() |
| 156 | { |
no test coverage detected