new_editor: remove win32 no-op redundancy

This commit is contained in:
2026-04-23 01:44:22 +08:00
parent 514dee10cc
commit e63457c72b
11 changed files with 103 additions and 143 deletions

View File

@@ -2,6 +2,7 @@
#include "Platform/Win32/EditorWindowTransferRequests.h"
#include <XCEditor/Docking/UIEditorDockHostTransfer.h>
#include <XCEditor/Foundation/UIEditorTextMeasurement.h>
#include <cstdint>
@@ -29,7 +30,6 @@ struct UISize;
namespace XCEngine::UI::Editor {
struct UIEditorDockHostTabDropTarget;
class UIEditorWorkspaceController;
struct UIEditorShellInteractionFrame;
@@ -80,47 +80,70 @@ class EditorWindowContentController {
public:
virtual ~EditorWindowContentController() = default;
virtual const UIEditorWorkspaceController* TryGetWorkspaceController() const = 0;
virtual UIEditorWorkspaceController* TryGetMutableWorkspaceController() = 0;
virtual const UIEditorWorkspaceController* TryGetWorkspaceController() const {
return nullptr;
}
virtual UIEditorWorkspaceController* TryGetMutableWorkspaceController() {
return nullptr;
}
virtual void ReplaceWorkspaceController(UIEditorWorkspaceController workspaceController) = 0;
virtual void Initialize(const EditorWindowContentInitializationContext& context) = 0;
virtual void Shutdown() = 0;
virtual void ResetInteractionState() = 0;
virtual void SetViewportSurfacePresentationEnabled(bool enabled) = 0;
virtual void Initialize(const EditorWindowContentInitializationContext&) {}
virtual void Shutdown() {}
virtual void ResetInteractionState() {}
virtual void SetViewportSurfacePresentationEnabled(bool) {}
virtual EditorWindowFrameTransferRequests UpdateAndAppend(
const EditorWindowContentFrameContext& context,
::XCEngine::UI::UIDrawData& drawData) = 0;
virtual void RenderRequestedViewports(
const ::XCEngine::Rendering::RenderContext& renderContext) = 0;
virtual void RenderRequestedViewports(const ::XCEngine::Rendering::RenderContext&) {}
virtual const UIEditorShellInteractionFrame& GetShellFrame() const = 0;
virtual const UIEditorShellInteractionState& GetShellInteractionState() const = 0;
virtual void SetExternalDockHostDropPreview(
const Widgets::UIEditorDockHostDropPreviewState& preview) = 0;
virtual void ClearExternalDockHostDropPreview() = 0;
const Widgets::UIEditorDockHostDropPreviewState&) {}
virtual void ClearExternalDockHostDropPreview() {}
virtual bool TryResolveDockTabDragHotspot(
std::string_view nodeId,
std::string_view panelId,
const ::XCEngine::UI::UIPoint& point,
::XCEngine::UI::UIPoint& outHotspot) const = 0;
std::string_view,
std::string_view,
const ::XCEngine::UI::UIPoint&,
::XCEngine::UI::UIPoint&) const {
return false;
}
virtual UIEditorDockHostTabDropTarget ResolveDockTabDropTarget(
const ::XCEngine::UI::UIPoint& point) const = 0;
const ::XCEngine::UI::UIPoint&) const {
return {};
}
virtual bool HasHostedContentCapture() const = 0;
virtual bool HasShellInteractiveCapture() const = 0;
virtual bool HasInteractiveCapture() const = 0;
virtual EditorWindowContentCursorKind GetHostedContentCursorKind() const = 0;
virtual EditorWindowContentCursorKind GetDockCursorKind() const = 0;
virtual bool HasHostedContentCapture() const {
return false;
}
virtual bool HasShellInteractiveCapture() const {
return false;
}
virtual bool HasInteractiveCapture() const {
return false;
}
virtual EditorWindowContentCursorKind GetHostedContentCursorKind() const {
return EditorWindowContentCursorKind::Arrow;
}
virtual EditorWindowContentCursorKind GetDockCursorKind() const {
return EditorWindowContentCursorKind::Arrow;
}
virtual ::XCEngine::UI::UISize ResolveMinimumOuterSize() const = 0;
virtual bool ShouldUseDetachedTitleBarTabStrip() const = 0;
virtual std::string ResolveTabStripTitleText(std::string_view fallbackTitle) const = 0;
virtual bool ShouldUseDetachedTitleBarTabStrip() const {
return false;
}
virtual std::string ResolveTabStripTitleText(std::string_view fallbackTitle) const {
return std::string(fallbackTitle);
}
virtual std::string ResolveDetachedWindowTitleText(
std::string_view fallbackWindowTitle) const = 0;
std::string_view fallbackWindowTitle) const {
return std::string(fallbackWindowTitle);
}
};
} // namespace XCEngine::UI::Editor::App