Interface IRootModelViewer
The core interface implemented by all lemonedge platform applications, responsible for creating and returning the UI components requested from the core platform
This provides platform independence to the core ui code itself which does not need to know if the application is a console app, web app, or full blown desktop application
Namespace: LemonEdge.Client.UI.API.Views
Assembly: LemonEdge.Client.UI.API.dll
Syntax
public interface IRootModelViewer
Properties
AllowMultiThreadTasks
Indicates that multiple tasks can be processing, or tracked, at the same time by the main application.
By default this is true, but for single threaded client applications (such as the command console) this is false, so the system processes/tracks one task at a time before moving on to the next.
Declaration
bool AllowMultiThreadTasks { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsKeyModifierPressed
Indicates if the key modifier (shift) is currently being presssed from the client application enviromnent.
This is used for certain commands, such as task commands, to alter their behaviour. A task will be run locally if shift is held, or the login will force a cache refresh if shift is held when logging in.
Declaration
bool IsKeyModifierPressed { get; }
Property Value
Type | Description |
---|---|
bool |
MainWindow
The main window for the LemonEdge platform in this client application ui
Declaration
IMainForm? MainWindow { get; }
Property Value
Type | Description |
---|---|
IMainForm |
RootController
The main window for the LemonEdge platform in this client application ui
Declaration
IRootController RootController { get; set; }
Property Value
Type | Description |
---|---|
IRootController |
Methods
AllTrackedTasks()
Displays all tasks that are currently being tracked and vsisibly shown in the main ui.
Tasks that are being tracked can be shown in certain applications, such as the desktop app which can show a progress bar on the main menu for all tracked tasks. Or could just provide a toast notification when the task is complete.
Declaration
IEnumerable<ITaskStatusDisplayer> AllTrackedTasks()
Returns
Type | Description |
---|---|
IEnumerable<ITaskStatusDisplayer> | All tasks that are currently being tracked and vsisibly shown in the main ui. |
CreateWindow<T>()
Creates the specified window in the client application and returns the reference to it
Declaration
T CreateWindow<T>() where T : IWindow
Returns
Type | Description |
---|---|
T | A new instance of the specified window |
Type Parameters
Name | Description |
---|---|
T | The type of window to create in the client application |
DeregisterTaskTracker(ITaskStatusDisplayer)
Stops tracking the specified task tracker in the main application and stops showing its status/progress.
Declaration
void DeregisterTaskTracker(ITaskStatusDisplayer displayer)
Parameters
Type | Name | Description |
---|---|---|
ITaskStatusDisplayer | displayer | The task tracker that should be removed from the main ui |
RegisterTaskTracker(ITaskStatusDisplayer)
Registers the specified task displayer to be shown in the main application so the user can easily see the progress of a tracked task
Declaration
void RegisterTaskTracker(ITaskStatusDisplayer displayer)
Parameters
Type | Name | Description |
---|---|---|
ITaskStatusDisplayer | displayer | The task tracker to visibly display the progress of in the main application |
Shutdown()
Forces the client application to immediately terminate and shutdown
Declaration
void Shutdown()