Added GetComponentTypeEditorIcon API and replaced old macro style ebus calls.

Signed-off-by: Chris Galvan <chgalvan@amazon.com>
monroegm-disable-blank-issue-2
Chris Galvan 4 years ago
parent 707730ebbc
commit 78b0683313

@ -1788,6 +1788,11 @@ AZStd::string SandboxIntegrationManager::GetComponentEditorIcon(const AZ::Uuid&
return iconPath; return iconPath;
} }
AZStd::string SandboxIntegrationManager::GetComponentTypeEditorIcon(const AZ::Uuid& componentType)
{
return GetComponentEditorIcon(componentType, nullptr);
}
AZStd::string SandboxIntegrationManager::GetComponentIconPath(const AZ::Uuid& componentType, AZStd::string SandboxIntegrationManager::GetComponentIconPath(const AZ::Uuid& componentType,
AZ::Crc32 componentIconAttrib, AZ::Component* component) AZ::Crc32 componentIconAttrib, AZ::Component* component)
{ {

@ -233,6 +233,7 @@ private:
} }
AZStd::string GetComponentEditorIcon(const AZ::Uuid& componentType, AZ::Component* component) override; AZStd::string GetComponentEditorIcon(const AZ::Uuid& componentType, AZ::Component* component) override;
AZStd::string GetComponentTypeEditorIcon(const AZ::Uuid& componentType) override;
AZStd::string GetComponentIconPath(const AZ::Uuid& componentType, AZ::Crc32 componentIconAttrib, AZ::Component* component) override; AZStd::string GetComponentIconPath(const AZ::Uuid& componentType, AZ::Crc32 componentIconAttrib, AZ::Component* component) override;
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////

@ -139,7 +139,7 @@ ComponentDataModel::ComponentDataModel(QObject* parent)
if (element.m_elementId == AZ::Edit::ClassElements::EditorData) if (element.m_elementId == AZ::Edit::ClassElements::EditorData)
{ {
AZStd::string iconPath; AZStd::string iconPath;
EBUS_EVENT_RESULT(iconPath, AzToolsFramework::EditorRequests::Bus, GetComponentEditorIcon, classData->m_typeId, nullptr); AzToolsFramework::EditorRequestBus::BroadcastResult(iconPath, &AzToolsFramework::EditorRequests::GetComponentTypeEditorIcon, classData->m_typeId);
if (!iconPath.empty()) if (!iconPath.empty())
{ {
m_componentIcons[classData->m_typeId] = QIcon(iconPath.c_str()); m_componentIcons[classData->m_typeId] = QIcon(iconPath.c_str());

@ -408,7 +408,7 @@ CTrackViewNodesCtrl::CTrackViewNodesCtrl(QWidget* hParentWnd, CTrackViewDialog*
serializeContext->EnumerateDerived<AZ::Component>([this](const AZ::SerializeContext::ClassData* classData, const AZ::Uuid&) -> bool serializeContext->EnumerateDerived<AZ::Component>([this](const AZ::SerializeContext::ClassData* classData, const AZ::Uuid&) -> bool
{ {
AZStd::string iconPath; AZStd::string iconPath;
EBUS_EVENT_RESULT(iconPath, AzToolsFramework::EditorRequests::Bus, GetComponentEditorIcon, classData->m_typeId, nullptr); AzToolsFramework::EditorRequestBus::BroadcastResult(iconPath, &AzToolsFramework::EditorRequests::GetComponentTypeEditorIcon, classData->m_typeId);
if (!iconPath.empty()) if (!iconPath.empty())
{ {
m_componentTypeToIconMap[classData->m_typeId] = QIcon(iconPath.c_str()); m_componentTypeToIconMap[classData->m_typeId] = QIcon(iconPath.c_str());

@ -826,6 +826,10 @@ namespace AzToolsFramework
/// Path will be empty if component should have no icon. /// Path will be empty if component should have no icon.
virtual AZStd::string GetComponentEditorIcon(const AZ::Uuid& /*componentType*/, AZ::Component* /*component*/) { return AZStd::string(); } virtual AZStd::string GetComponentEditorIcon(const AZ::Uuid& /*componentType*/, AZ::Component* /*component*/) { return AZStd::string(); }
//! Return path to icon for component type.
//! Path will be empty if component type should have no icon.
virtual AZStd::string GetComponentTypeEditorIcon(const AZ::Uuid& /*componentType*/) { return AZStd::string(); }
/** /**
* Return the icon image path based on the component type and where it is used. * Return the icon image path based on the component type and where it is used.
* \param componentType component type * \param componentType component type

@ -175,7 +175,7 @@ namespace AzToolsFramework
, public AZ::BehaviorEBusHandler , public AZ::BehaviorEBusHandler
{ {
AZ_EBUS_BEHAVIOR_BINDER(ToolsApplicationNotificationBusHandler, "{7EB67956-FF86-461A-91E2-7B08279CFACF}", AZ::SystemAllocator, AZ_EBUS_BEHAVIOR_BINDER(ToolsApplicationNotificationBusHandler, "{7EB67956-FF86-461A-91E2-7B08279CFACF}", AZ::SystemAllocator,
EntityRegistered, EntityDeregistered); EntityRegistered, EntityDeregistered, AfterEntitySelectionChanged);
void EntityRegistered(AZ::EntityId entityId) override void EntityRegistered(AZ::EntityId entityId) override
{ {
@ -186,6 +186,11 @@ namespace AzToolsFramework
{ {
Call(FN_EntityDeregistered, entityId); Call(FN_EntityDeregistered, entityId);
} }
void AfterEntitySelectionChanged(const EntityIdList& newlySelectedEntities, const EntityIdList& newlyDeselectedEntities) override
{
Call(FN_AfterEntitySelectionChanged, newlySelectedEntities, newlyDeselectedEntities);
}
}; };
struct ViewPaneCallbackBusHandler final struct ViewPaneCallbackBusHandler final
@ -408,6 +413,7 @@ namespace AzToolsFramework
->Handler<Internal::ToolsApplicationNotificationBusHandler>() ->Handler<Internal::ToolsApplicationNotificationBusHandler>()
->Event("EntityRegistered", &ToolsApplicationEvents::EntityRegistered) ->Event("EntityRegistered", &ToolsApplicationEvents::EntityRegistered)
->Event("EntityDeregistered", &ToolsApplicationEvents::EntityDeregistered) ->Event("EntityDeregistered", &ToolsApplicationEvents::EntityDeregistered)
->Event("AfterEntitySelectionChanged", &ToolsApplicationEvents::AfterEntitySelectionChanged)
; ;
behaviorContext->Class<ViewPaneOptions>() behaviorContext->Class<ViewPaneOptions>()
@ -426,6 +432,7 @@ namespace AzToolsFramework
->Attribute(AZ::Script::Attributes::Module, "editor") ->Attribute(AZ::Script::Attributes::Module, "editor")
->Event("RegisterCustomViewPane", &EditorRequests::RegisterCustomViewPane) ->Event("RegisterCustomViewPane", &EditorRequests::RegisterCustomViewPane)
->Event("UnregisterViewPane", &EditorRequests::UnregisterViewPane) ->Event("UnregisterViewPane", &EditorRequests::UnregisterViewPane)
->Event("GetComponentTypeEditorIcon", &EditorRequests::GetComponentTypeEditorIcon)
; ;
behaviorContext->EBus<EditorEventsBus>("EditorEventBus") behaviorContext->EBus<EditorEventsBus>("EditorEventBus")

@ -90,7 +90,7 @@ namespace AzToolsFramework
} }
AZStd::string componentIconPath; AZStd::string componentIconPath;
EBUS_EVENT_RESULT(componentIconPath, AzToolsFramework::EditorRequests::Bus, GetComponentEditorIcon, componentClass->m_typeId, nullptr); AzToolsFramework::EditorRequestBus::BroadcastResult(componentIconPath, &AzToolsFramework::EditorRequests::GetComponentTypeEditorIcon, componentClass->m_typeId);
componentIconTable[componentClass] = QString::fromUtf8(componentIconPath.c_str()); componentIconTable[componentClass] = QString::fromUtf8(componentIconPath.c_str());
} }

@ -583,7 +583,7 @@ namespace AzToolsFramework
} }
AZStd::string iconPath; AZStd::string iconPath;
EBUS_EVENT_RESULT(iconPath, AzToolsFramework::EditorRequests::Bus, GetComponentEditorIcon, componentType, const_cast<AZ::Component*>(&componentInstance)); AzToolsFramework::EditorRequestBus::BroadcastResult(iconPath, &AzToolsFramework::EditorRequests::GetComponentEditorIcon, componentType, const_cast<AZ::Component*>(&componentInstance));
GetHeader()->SetIcon(QIcon(iconPath.c_str())); GetHeader()->SetIcon(QIcon(iconPath.c_str()));
bool isExpanded = true; bool isExpanded = true;

Loading…
Cancel
Save