/* * 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 #include class QWidget; class QMenu; class QAction; namespace AzToolsFramework { namespace AssetBrowser { class AssetBrowserEntry; class SourceAssetBrowserEntry; class FolderAssetBrowserEntry; } } namespace ShaderManagementConsole { class ShaderManagementConsoleBrowserInteractions : public AzToolsFramework::AssetBrowser::AssetBrowserInteractionNotificationBus::Handler { public: AZ_CLASS_ALLOCATOR(ShaderManagementConsoleBrowserInteractions, AZ::SystemAllocator, 0); ShaderManagementConsoleBrowserInteractions(); ~ShaderManagementConsoleBrowserInteractions(); private: //////////////////////////////////////////////////////////////////////// // AssetBrowserInteractionNotificationBus::Handler implementation AzToolsFramework::AssetBrowser::SourceFileDetails GetSourceFileDetails(const char* fullSourceFileName) override; void AddContextMenuActions(QWidget* caller, QMenu* menu, const AZStd::vector& entries) override; //////////////////////////////////////////////////////////////////////// void AddContextMenuActionsForOtherSource(QWidget* caller, QMenu* menu, const AzToolsFramework::AssetBrowser::SourceAssetBrowserEntry* entry); void AddContextMenuActionsForFolder(QWidget* caller, QMenu* menu, const AzToolsFramework::AssetBrowser::FolderAssetBrowserEntry* entry); void AddPerforceMenuActions(QWidget* caller, QMenu* menu, const AzToolsFramework::AssetBrowser::AssetBrowserEntry* entry); void UpdateSourceControlActions(bool success, AzToolsFramework::SourceControlFileInfo info); QWidget* m_caller = nullptr; QAction* m_addAction = nullptr; QAction* m_checkOutAction = nullptr; QAction* m_undoCheckOutAction = nullptr; QAction* m_getLatestAction = nullptr; }; } // namespace ShaderManagementConsole