You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
122 lines
3.9 KiB
C++
122 lines
3.9 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "IDetailsView.h"
|
|
|
|
class FNotifyHook;
|
|
class IDetailTreeNode;
|
|
class IPropertyUtilities;
|
|
class FPropertyNode;
|
|
class FObjectPropertyNode;
|
|
|
|
class IDetailsViewPrivate : public IDetailsView
|
|
{
|
|
public:
|
|
/**
|
|
* Sets the expansion state for a node and optionally all of its children
|
|
*
|
|
* @param InTreeNode The node to change expansion state on
|
|
* @param bIsItemExpanded The new expansion state
|
|
* @param bRecursive Whether or not to apply the expansion change to any children
|
|
*/
|
|
virtual void SetNodeExpansionState(TSharedRef<IDetailTreeNode> InTreeNode, bool bIsItemExpanded, bool bRecursive) = 0;
|
|
|
|
/**
|
|
* Requests that an item in the tree be expanded or collapsed
|
|
*
|
|
* @param TreeNode The tree node to expand
|
|
* @param bExpand true if the item should be expanded, false otherwise
|
|
*/
|
|
virtual void RequestItemExpanded(TSharedRef<IDetailTreeNode> TreeNode, bool bExpand) = 0;
|
|
|
|
/**
|
|
* Refreshes the detail's treeview
|
|
*/
|
|
virtual void RefreshTree() = 0;
|
|
|
|
/** Returns the notify hook to use when properties change */
|
|
virtual FNotifyHook* GetNotifyHook() const = 0;
|
|
|
|
/**
|
|
* Returns the property utilities for this view
|
|
*/
|
|
virtual TSharedPtr<IPropertyUtilities> GetPropertyUtilities() = 0;
|
|
|
|
|
|
/** Gets the base class being viewed */
|
|
virtual const UClass* GetBaseClass() const = 0;
|
|
virtual UClass* GetBaseClass() = 0;
|
|
|
|
/**
|
|
* @return True if a category is hidden by any of the uobject classes currently in view by this details panel
|
|
*/
|
|
virtual bool IsCategoryHiddenByClass(FName CategoryName) const = 0;
|
|
|
|
/** Causes the details view to be refreshed (new widgets generated) with the current set of objects */
|
|
virtual void ForceRefresh() = 0;
|
|
|
|
/**
|
|
* Saves the expansion state of a tree node
|
|
*
|
|
* @param NodePath The path to the detail node to save
|
|
* @param bIsExpanded true if the node is expanded, false otherwise
|
|
*/
|
|
virtual void SaveCustomExpansionState(const FString& NodePath, bool bIsExpanded) = 0;
|
|
|
|
/**
|
|
* Gets the saved expansion state of a tree node in this category
|
|
*
|
|
* @param NodePath The path to the detail node to get
|
|
* @return true if the node should be expanded, false otherwise
|
|
*/
|
|
virtual bool GetCustomSavedExpansionState(const FString& NodePath) const = 0;
|
|
|
|
/**
|
|
* @return True if the property is visible
|
|
*/
|
|
virtual bool IsPropertyVisible( const struct FPropertyAndParent& PropertyAndParent ) const = 0;
|
|
|
|
/**
|
|
* @return True if the property is visible
|
|
*/
|
|
virtual bool IsPropertyReadOnly( const struct FPropertyAndParent& PropertyAndParent ) const = 0;
|
|
|
|
virtual TSharedPtr<IDetailKeyframeHandler> GetKeyframeHandler() = 0;
|
|
|
|
virtual TSharedPtr<IDetailPropertyExtensionHandler> GetExtensionHandler() = 0;
|
|
|
|
/**
|
|
* @return The thumbnail pool that should be used for thumbnails being rendered in this view
|
|
*/
|
|
virtual TSharedPtr<class FAssetThumbnailPool> GetThumbnailPool() const = 0;
|
|
|
|
/**
|
|
* Adds an external property root node to the list of root nodes that the details new needs to manage
|
|
*
|
|
* @param InExternalRootNode The node to add
|
|
*/
|
|
virtual void AddExternalRootPropertyNode(TSharedRef<FPropertyNode> ExternalRootNode) = 0;
|
|
|
|
/**
|
|
* Creates the color picker window for this property view.
|
|
*
|
|
* @param PropertyEditor The slate property node to edit.
|
|
* @param bUseAlpha Whether or not alpha is supported
|
|
*/
|
|
virtual void CreateColorPickerWindow(const TSharedRef< class FPropertyEditor >& PropertyEditor, bool bUseAlpha) = 0;
|
|
|
|
/**
|
|
* Adds an action to execute next tick
|
|
*/
|
|
virtual void EnqueueDeferredAction(FSimpleDelegate& DeferredAction) = 0;
|
|
|
|
/**
|
|
* Called when properties have finished changing (after PostEditChange is called)
|
|
*/
|
|
virtual void NotifyFinishedChangingProperties(const FPropertyChangedEvent& PropertyChangedEvent) = 0;
|
|
|
|
/** If a customization standalone widget is used, the value should be update only once, when its window is closed */
|
|
virtual bool DontUpdateValueWhileEditing() const = 0;
|
|
};
|