feat(new_editor): wire project, inspector, and viewport runtime
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCEditor/Fields/UIEditorAssetFieldInteraction.h>
|
||||
#include <XCEditor/Fields/UIEditorPropertyGrid.h>
|
||||
#include <XCEditor/Fields/UIEditorVector2FieldInteraction.h>
|
||||
#include <XCEditor/Fields/UIEditorVector3FieldInteraction.h>
|
||||
#include <XCEditor/Fields/UIEditorVector4FieldInteraction.h>
|
||||
|
||||
#include <XCEngine/UI/Text/UITextInputController.h>
|
||||
#include <XCEngine/UI/Types.h>
|
||||
@@ -14,6 +18,26 @@
|
||||
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
struct UIEditorPropertyGridAssetFieldInteractionEntry {
|
||||
std::string fieldId = {};
|
||||
UIEditorAssetFieldInteractionState state = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridVector2FieldInteractionEntry {
|
||||
std::string fieldId = {};
|
||||
UIEditorVector2FieldInteractionState state = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridVector3FieldInteractionEntry {
|
||||
std::string fieldId = {};
|
||||
UIEditorVector3FieldInteractionState state = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridVector4FieldInteractionEntry {
|
||||
std::string fieldId = {};
|
||||
UIEditorVector4FieldInteractionState state = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridInteractionState {
|
||||
Widgets::UIEditorPropertyGridState propertyGridState = {};
|
||||
::XCEngine::UI::Widgets::UIKeyboardNavigationModel keyboardNavigation = {};
|
||||
@@ -21,6 +45,10 @@ struct UIEditorPropertyGridInteractionState {
|
||||
::XCEngine::UI::UIPoint pointerPosition = {};
|
||||
std::size_t pressedPopupIndex = Widgets::UIEditorPropertyGridInvalidIndex;
|
||||
bool hasPointerPosition = false;
|
||||
std::vector<UIEditorPropertyGridAssetFieldInteractionEntry> assetFieldInteractionStates = {};
|
||||
std::vector<UIEditorPropertyGridVector2FieldInteractionEntry> vector2FieldInteractionStates = {};
|
||||
std::vector<UIEditorPropertyGridVector3FieldInteractionEntry> vector3FieldInteractionStates = {};
|
||||
std::vector<UIEditorPropertyGridVector4FieldInteractionEntry> vector4FieldInteractionStates = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridInteractionResult {
|
||||
@@ -37,6 +65,8 @@ struct UIEditorPropertyGridInteractionResult {
|
||||
bool popupClosed = false;
|
||||
bool fieldValueChanged = false;
|
||||
bool secondaryClicked = false;
|
||||
bool pickerRequested = false;
|
||||
bool activateRequested = false;
|
||||
Widgets::UIEditorPropertyGridHitTarget hitTarget = {};
|
||||
std::string toggledSectionId = {};
|
||||
std::string selectedFieldId = {};
|
||||
@@ -45,6 +75,7 @@ struct UIEditorPropertyGridInteractionResult {
|
||||
std::string committedValue = {};
|
||||
std::string changedFieldId = {};
|
||||
std::string changedValue = {};
|
||||
std::string requestedFieldId = {};
|
||||
};
|
||||
|
||||
struct UIEditorPropertyGridInteractionFrame {
|
||||
|
||||
Reference in New Issue
Block a user