fix(new_editor): stabilize inspector add-component layout and project browser scrolling
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "Commands/EditorEditCommandRoute.h"
|
||||
#include <XCEditor/Collections/UIEditorGridDragDrop.h>
|
||||
#include <XCEditor/Collections/UIEditorInlineRenameSession.h>
|
||||
#include <XCEditor/Collections/UIEditorScrollViewInteraction.h>
|
||||
#include <XCEditor/Collections/UIEditorTreeDragDrop.h>
|
||||
#include <XCEditor/Collections/UIEditorTreeViewInteraction.h>
|
||||
#include <XCEditor/Foundation/UIEditorTextMeasurement.h>
|
||||
@@ -176,7 +177,10 @@ private:
|
||||
std::optional<EditCommandTarget> ResolveEditCommandTarget(
|
||||
std::string_view explicitItemId = {},
|
||||
bool forceCurrentFolder = false) const;
|
||||
Layout BuildLayout(const ::XCEngine::UI::UIRect& bounds) const;
|
||||
Layout BuildLayout(
|
||||
const ::XCEngine::UI::UIRect& bounds,
|
||||
const ::XCEngine::UI::UIRect& browserContentRect,
|
||||
float browserVerticalOffset) const;
|
||||
std::size_t HitTestBreadcrumbItem(const ::XCEngine::UI::UIPoint& point) const;
|
||||
std::size_t HitTestAssetTile(const ::XCEngine::UI::UIPoint& point) const;
|
||||
std::string ResolveAssetDropTargetItemId(
|
||||
@@ -184,6 +188,9 @@ private:
|
||||
DropTargetSurface* surface = nullptr) const;
|
||||
void SyncCurrentFolderSelection();
|
||||
bool NavigateToFolder(std::string_view itemId, EventSource source = EventSource::None);
|
||||
float MeasureBrowserContentHeight(
|
||||
const ::XCEngine::UI::UIRect& browserContentRect) const;
|
||||
void RebuildBrowserScrollLayout();
|
||||
void EmitEvent(EventKind kind, EventSource source, const FolderEntry* folder);
|
||||
void EmitEvent(EventKind kind, EventSource source, const AssetEntry* asset);
|
||||
void EmitSelectionClearedEvent(EventSource source);
|
||||
@@ -247,6 +254,9 @@ private:
|
||||
::XCEngine::UI::Widgets::UISelectionModel m_assetSelection = {};
|
||||
Collections::GridDragDrop::State m_assetDragState = {};
|
||||
Collections::TreeDragDrop::State m_treeDragState = {};
|
||||
UIEditorScrollViewInteractionState m_browserScrollInteractionState = {};
|
||||
UIEditorScrollViewInteractionFrame m_browserScrollFrame = {};
|
||||
float m_browserVerticalOffset = 0.0f;
|
||||
UIEditorTreeViewInteractionState m_treeInteractionState = {};
|
||||
UIEditorTreeViewInteractionFrame m_treeFrame = {};
|
||||
UIEditorInlineRenameSessionState m_renameState = {};
|
||||
|
||||
Reference in New Issue
Block a user