/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include #include namespace GraphModelIntegration { BooleanDataInterface::BooleanDataInterface(GraphModel::SlotPtr slot) : m_slot(slot) { } bool BooleanDataInterface::GetBool() const { if (GraphModel::SlotPtr slot = m_slot.lock()) { return slot->GetValue(); } else { return false; } } void BooleanDataInterface::SetBool(bool enabled) { if (GraphModel::SlotPtr slot = m_slot.lock()) { if (enabled != slot->GetValue()) { const GraphCanvas::GraphId graphCanvasSceneId = GetDisplay()->GetSceneId(); GraphCanvas::ScopedGraphUndoBatch undoBatch(graphCanvasSceneId); slot->SetValue(enabled); GraphControllerNotificationBus::Event( graphCanvasSceneId, &GraphControllerNotifications::OnGraphModelSlotModified, slot); GraphControllerNotificationBus::Event( graphCanvasSceneId, &GraphControllerNotifications::OnGraphModelGraphModified, slot->GetParentNode()); } } } }