Namespace LemonEdge.Client.UI.API.Layouts
Classes
DefaultLayoutAttribute
Any layout generator that derives from DefaultLayoutGenerator will only be included in GetDefaultLayoutGenerators() if it is marked with this attribute
This specifies the layout is a default one to be used for certain layout/param combinations, and this attribute provides a priority for it to be used in
Without this attribute the layout generator can only be used explicitly, it will not be automatically chosen by the systemDefaultLayoutGenerator
Any layout generator that inherits this class can be used automatically (if marked with the DefaultLayoutAttribute) by the system to display items in the application correctly
DisplayableItemDescriptor
This is the main class that is always passed to a IModelLayoutDisplayerController to be displayed by that layout displayer
This wraps the item to be displayed with other properties such as if its read-only, the context ( IEntityUpdater), label/icon info, etc
Inheriting display descriptors all serve different purposes, allowing behaviour such as collection displays ( LemonEdge.Client.Core.Views.Core.DisplayableItemDescriptorForCollection<T>), single entity item displays ( LemonEdge.Client.Core.Views.Core.DisplayableItemDescriptorSingle<T>), tool window displays ( LemonEdge.Client.Core.Views.Core.DisplayableItemDescriptorForToolWindow), and custom displays ( LemonEdge.Client.Core.Views.Core.DisplayableItemDescriptorForCustomSettings)LayoutChangeEventArgs
The event arguments for a LayoutChangedEvent
LayoutSubViewItemChangedEventArgs
The settings used for the LayoutSubViewItemChangedEvent delegate for describing the new item that is the output of a view that all its sub views can now use
LayoutTabChangedEventArgs
The settings used for the LayoutTabChangedEvent delegate for describing the active tab that has changed in the layout
Interfaces
IHasLayoutPosition
A common interface used by LayoutDescriptorGroup and LayoutViewDescriptor to indicate their respective positions within a layout
ILayoutGenerator
Whenever an item is displayed in the system a LayoutDescriptor is used to define a collection of tabs, views, sub-views, and other interactions to present that correctly to the user
This interface is used by the system to dynamically create a LayoutDescriptor for a particular type of layout name and parameter.
A user can also create a ILayout through drag+dropping views, which can be used to load a LayoutDescriptor too. See https://help.lemonedge.com/layouts/ for more infoILayoutGeneratorFactory
IModelLayoutCommon
A common interface implemented by the IModelLayoutHost and IModelLayoutDisplayer for displaying items, closing, and getting the root host instance
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 interactionsIModelLayoutDisplayerController
IModelLayoutHost
The main interface for hosting multiple IModelLayoutDisplayer instances. The IMainForm implements this too as the main display for hosting multiple IModelLayoutDisplayer instances
IModelLayoutHostController
The main controller for any IModelLayoutHost view which can contain multiple instances of IModelLayoutDisplayer
IModelLayoutHostTools
Handles the opening of items, and other layout / display functions
IModelSingleLayoutDisplayer
The main interface for popup windows that also implement the IModelLayoutHost but are not the IMainForm
Instead they are used purely as a host of a single IModelLayoutDisplayer in a popup window, and are not capable of displaying multiple displayers, unlike the main application itself
Enums
LayoutChangeType
The type of layout change within a IModelLayoutHost
Delegates
LayoutChangedEvent
A LayoutChanged event delegate used by the IModelLayoutHost
LayoutSubViewItemChangedEvent
The delegate for the event used in the IModelLayoutDisplayerController to indicate that the output item from a view has changed
This can be used by any tool window to work either with the item for the layout, or individually selected items within a grid/tree view
LayoutTabChangedEvent
The delegate for the event in the IModelLayoutDisplayerController to indicate that the currently selected tab in the layout has changed
This can be used by any tool window to be notified that the active tab the tool window is working with in the active layout has changed
TrackedItemChange
The delegate for the ModelLayoutDisplayerController.AddTrackedItemListener(TrackedItemChange) which notifies all listeners whenever a tracked item has changed