Refactor editor workspace panel bindings

This commit is contained in:
2026-04-29 13:29:17 +08:00
parent a8e1a2b097
commit da6f37dafe
14 changed files with 213 additions and 106 deletions

View File

@@ -407,10 +407,8 @@ void ProjectPanel::SetSystemInteractionHost(
}
void ProjectPanel::SetSceneAssetOpenRequestHandler(
void* requester,
SceneAssetOpenRequestFn requestOpenSceneAsset) {
m_sceneAssetOpenRequester = requester;
m_requestOpenSceneAsset = requestOpenSceneAsset;
SceneAssetOpenRequestCallback requestOpenSceneAsset) {
m_requestOpenSceneAsset = std::move(requestOpenSceneAsset);
}
void ProjectPanel::SetIconService(EditorIconService* icons) {
@@ -861,8 +859,8 @@ bool ProjectPanel::NavigateToFolder(std::string_view itemId, EventSource source)
}
bool ProjectPanel::RequestOpenSceneAsset(const AssetEntry& asset) {
return m_requestOpenSceneAsset != nullptr &&
m_requestOpenSceneAsset(m_sceneAssetOpenRequester, asset.absolutePath);
return static_cast<bool>(m_requestOpenSceneAsset) &&
m_requestOpenSceneAsset(asset.absolutePath);
}
bool ProjectPanel::OpenProjectItem(std::string_view itemId, EventSource source) {