Files
UnrealEngineUWP/Engine/Source/Developer/SettingsEditor/Public/Interfaces/ISettingsEditorModel.h
Max Preussner c4ed35f529 SettingsEditor: Documentation cleanup pass
[CL 2095322 by Max Preussner in Main branch]
2014-06-04 23:08:52 -04:00

68 lines
1.8 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
ISettingsEditorModel.h: Declares the ISettingsEditorModel interface.
=============================================================================*/
#pragma once
/** Type definition for shared pointers to instances of ISettingsEditorModel. */
typedef TSharedPtr<class ISettingsEditorModel> ISettingsEditorModelPtr;
/** Type definition for shared references to instances of ISettingsEditorModel. */
typedef TSharedRef<class ISettingsEditorModel> ISettingsEditorModelRef;
/**
* Interface for settings editor view models.
*
* The settings editor view model stores the view state for the Settings Editor UI.
* Instances of this interface can be passed to Settings Editors in order to provide
* access to the settings container being added and to perform various user actions,
* such as setting the currently selected settings section.
*/
class ISettingsEditorModel
{
public:
/**
* Gets the selected settings section.
*
* @return The selected section, if any.
*/
virtual const ISettingsSectionPtr& GetSelectedSection( ) const = 0;
/**
* Gets the settings container.
*
* @return The settings container.
*/
virtual const ISettingsContainerRef& GetSettingsContainer( ) const = 0;
/**
* Selects the specified settings section to be displayed in the editor.
*
* @param Section The section to select.
*
* @see SelectPreviousSection
*/
virtual void SelectSection( const ISettingsSectionPtr& Section ) = 0;
public:
/**
* Returns a delegate that is executed when the selected settings section has changed.
*
* @return The delegate.
*/
virtual FSimpleMulticastDelegate& OnSelectionChanged( ) = 0;
public:
/**
* Virtual destructor.
*/
virtual ~ISettingsEditorModel( ) { }
};