Interface IModelLayoutDisplayer
The main interface for hosting a layout responsible for displaying a DisplayableItemDescriptor to the user
This is presented via a custom layout either generated ILayoutGenerator, or loaded ILayout, to arrange and display all the relevant views to the user
This displayer is responsible for passing the correct data in to each view to be displayed and controlling their interactionsInherited Members
Namespace: LemonEdge.Client.UI.API.Layouts
Assembly: LemonEdge.Client.UI.API.dll
Syntax
public interface IModelLayoutDisplayer : IModelLayoutCommon, IBusyReporter, IDisposable
Properties
Controller
The instance of the controller for this layout displayer
Declaration
IModelLayoutDisplayerController Controller { get; }
Property Value
Type | Description |
---|---|
IModelLayoutDisplayerController |
Parent
Declaration
IModelLayoutCommon Parent { get; }
Property Value
Type | Description |
---|---|
IModelLayoutCommon |
ParentView
Declaration
IModelView? ParentView { get; }
Property Value
Type | Description |
---|---|
IModelView |
Methods
CreateView(ViewDescriptorInstance)
Informs the client UI it needs to create and return an instance of the specified view that implements the client component ui logic
Declaration
IModelView CreateView(ViewDescriptorInstance viewDescriptor)
Parameters
Type | Name | Description |
---|---|---|
ViewDescriptorInstance | viewDescriptor | The descriptor for the type of IModelView that should be created by the displayer for this layout |
Returns
Type | Description |
---|---|
IModelView | An instance of the specified view that implements this specific client application ui logic |
DisplayHeader()
Indicates the layout should display the header associated with this DisplayableItemDescriptor visibility for this layout to the user.
These headers can be dynamic bound to properties on the item the user can update
Declaration
void DisplayHeader()
LoadTabLayout(LayoutTabSetting, LayoutDescriptorGroup)
Indicates the specified tab should have all its associated views loaded into the client display for this tab
Declaration
Task LoadTabLayout(LayoutTabSetting tab, LayoutDescriptorGroup descriptor)
Parameters
Type | Name | Description |
---|---|---|
LayoutTabSetting | tab | The tab to load all the defined views dynamically into the client ui for this tab |
LayoutDescriptorGroup | descriptor | The root group decsriptor associated with this tab that contains the definitions and arrangements of all the views and groups recursively within it |
Returns
Type | Description |
---|---|
Task |
LoadTabs(IEnumerable<LayoutTabSetting>)
Loads the specified set of tabs from the layout for this display into the client ui displayed to the user
Each view within the tab does not need to be loaded, as that is done via LoadTabLayout(LayoutTabSetting, LayoutDescriptorGroup) when the tab is actually made visible to the user.
i.e. non-visible tabs, such as those not selected by the user yet, do not need to be fully loadedDeclaration
void LoadTabs(IEnumerable<LayoutTabSetting> tabs)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<LayoutTabSetting> | tabs | The set of tabs defined in the layout for this layout displayer |
SelectTab(LayoutTabSetting)
Indicates the system should select the specified tab from the layout being displayed and rpesent it to the user
Declaration
void SelectTab(LayoutTabSetting tabToDisplay)
Parameters
Type | Name | Description |
---|---|---|
LayoutTabSetting | tabToDisplay | The tab from within the layout (LayoutDescriptor) to be selected and displayed |
SelectView(IModelView)
Selects and displays the view
Declaration
void SelectView(IModelView view)
Parameters
Type | Name | Description |
---|---|---|
IModelView | view |
UpdateSetColor()
Indicates the layout should update the colour associated with it so that layouts that share the same context are highlighted with the same colour so the user can visually see the connection
Declaration
void UpdateSetColor()
UpdateViewVisibility(ViewDescriptorInstance)
Indicates the client UI should update the visibility of the specified view within the client ui to whatever ViewSerializedParam.IsVisible indicates for this view
Declaration
void UpdateViewVisibility(ViewDescriptorInstance view)
Parameters
Type | Name | Description |
---|---|---|
ViewDescriptorInstance | view |