feat(new_editor): add standalone add-component utility window
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#include "Platform/Win32/EditorAddComponentUtilityWindowContentController.h"
|
||||
|
||||
#include <XCEngine/UI/DrawData.h>
|
||||
|
||||
namespace XCEngine::UI::Editor::App {
|
||||
|
||||
EditorAddComponentUtilityWindowContentController::
|
||||
EditorAddComponentUtilityWindowContentController(
|
||||
const ::XCEngine::UI::UISize& minimumOuterSize)
|
||||
: EditorStandaloneUtilityWindowContentController(minimumOuterSize) {}
|
||||
|
||||
EditorAddComponentUtilityWindowContentController::
|
||||
~EditorAddComponentUtilityWindowContentController() = default;
|
||||
|
||||
void EditorAddComponentUtilityWindowContentController::OnShutdown() {
|
||||
m_addComponentPanel.ResetInteractionState();
|
||||
}
|
||||
|
||||
void EditorAddComponentUtilityWindowContentController::OnResetInteractionState() {
|
||||
m_addComponentPanel.ResetInteractionState();
|
||||
}
|
||||
|
||||
EditorWindowFrameTransferRequests
|
||||
EditorAddComponentUtilityWindowContentController::UpdateStandaloneContent(
|
||||
const EditorStandaloneUtilityWindowFrameContext& context,
|
||||
::XCEngine::UI::UIDrawData& drawData) {
|
||||
m_addComponentPanel.Update(
|
||||
context.editorContext,
|
||||
AddComponentPanelHostContext{
|
||||
.mounted = true,
|
||||
.bounds = context.bounds,
|
||||
.focused = context.focused,
|
||||
.focusGained = context.focusGained,
|
||||
.focusLost = context.focusLost,
|
||||
},
|
||||
context.inputEvents);
|
||||
|
||||
::XCEngine::UI::UIDrawList& drawList =
|
||||
drawData.EmplaceDrawList("XCEditorUtility.AddComponent");
|
||||
m_addComponentPanel.Append(drawList);
|
||||
return {};
|
||||
}
|
||||
|
||||
std::unique_ptr<EditorWindowContentController>
|
||||
CreateEditorAddComponentUtilityWindowContentController(
|
||||
const ::XCEngine::UI::UISize& minimumOuterSize) {
|
||||
return std::make_unique<EditorAddComponentUtilityWindowContentController>(
|
||||
minimumOuterSize);
|
||||
}
|
||||
|
||||
} // namespace XCEngine::UI::Editor::App
|
||||
Reference in New Issue
Block a user