Files
o3de/Gems/ScriptCanvas/Code/Editor/Include/ScriptCanvas/Bus/ScriptCanvasBus.h
T
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00

57 lines
1.7 KiB
C++

/*
* 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
*
*/
#pragma once
#include <AzCore/EBus/EBus.h>
#include <AzCore/std/string/string.h>
#include <AzCore/Serialization/SerializeContext.h>
#include <ScriptCanvas/Data/Data.h>
class QMainWindow;
namespace ScriptCanvasEditor
{
class SystemRequests : public AZ::EBusTraits
{
public:
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
virtual void AddAsyncJob(AZStd::function<void()>&& jobFunc) = 0;
// Inserts into the supplied set types that are creatable within the editor
virtual void GetEditorCreatableTypes(AZStd::unordered_set<ScriptCanvas::Data::Type>& outCreatableTypes) = 0;
// Creates all editor components needed to associate the script canvas engine with an entity
virtual void CreateEditorComponentsOnEntity(AZ::Entity* entity, const AZ::Data::AssetType& assetType) = 0;
};
using SystemRequestBus = AZ::EBus<SystemRequests>;
class UIRequests : public AZ::EBusTraits
{
public:
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
virtual QMainWindow* GetMainWindow() = 0;
virtual void OpenValidationPanel() = 0;
};
using UIRequestBus = AZ::EBus<UIRequests>;
class UINotifications : public AZ::EBusTraits
{
public:
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
virtual void MainWindowCreationEvent(QMainWindow* /*mainWindow*/) {};
};
using UINotificationBus = AZ::EBus<UINotifications>;
}