Windows WPF client
No edit summary
(Automatically adding template at the end of the page.)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The Windows WPF client consists of two logical parts.
The Windows WPF client consists of two logical parts.


Part 1 is a 2 threaded listener and information tree builder that by streaming changes from the turnkey server holds a local replica of the information in the viewmodel.
'''Part 1'''


Whenever the user changes something in this replica commands are generated, queued and sent to the server, that in turn process the commands and update the main viewmodel based information tree that lives on the server. The changes the server information tree sees generates commands that are collected by the client - and the client merges the changes into its own viewmodel information tree replica.
Part 1 is a 2-threaded listener and information tree builder that, by streaming changes from the Turnkey server, holds a local replica of the information in the ViewModel.


Part 2 of the WPF client reads meta information about available main menu actions (Global actions) and also meta information per view it is set to display. Using this meta information - that really is just a condesate of the viewmodel definition from MDriven Designer - it builds a WPF based UI with editboxes and other UI widgets. These widgets are databound to the replicated information tree described in part 1.  
Whenever the user changes something in this replica, commands are generated, queued, and sent to the server, which in turn processes the commands and updates the main ViewModel-based information tree that lives on the server. The changes the server information tree sees generate commands that are collected by the client - and the client merges the changes into its own ViewModel information tree replica.


The user edits information thru the UI widgets - bound to the information tree - that generates client commands that are sent to the server at the earliest possible time - but always in the order they were created. These client commands are handled by the server and when applied all effects and side effects that happens on the server generates server commands - that the client fetch as soon as it sees any reason to ask.
'''Part 2'''


The code for the WPF client is open and can be downloaded from here https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyClientCode_20200821.zip The builddate will change and old files may be removed. You find the correct build date here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyVersion.xml - take the date from that file and update the link yourself for the latest download.
Part 2 of the WPF client reads meta information about available main menu actions (Global actions) and also meta information per view it is set to display. Using this meta information - that really is just a condensate of the ViewModel definition from MDriven Designer - it builds a WPF-based UI with editboxes and other UI widgets. These widgets are databound to the replicated information tree described in Part 1.  


==== Default viewmodel for the application background ====
The user edits information through the UI widgets - bound to the information tree - that generate client commands that are sent to the server at the earliest possible time, but always in the order they were created. These client commands are handled by the server and when applied, all effects and side effects that happen on the server generate server commands that the client fetches as soon as it sees any reason to ask.
If you name a viewmodel '''DefaultBackgroundViewModel''', this viewmodel will be used as the application background.
 
The code for the WPF client is open and can be downloaded here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyClientCode_20200821.zip
 
The build-date will change, and old files may be removed. Find the correct build date here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyVersion.xml - take the date from that file and update the link yourself for the latest download.
 
==== Default ViewModel for the Application Background ====
If you name a ViewModel '''DefaultBackgroundViewModel''', this ViewModel will be used as the application background.
[[Category:WPF]]
[[Category:WPF]]
{{Edited|July|12|2024}}

Latest revision as of 15:50, 10 February 2024

The Windows WPF client consists of two logical parts.

Part 1

Part 1 is a 2-threaded listener and information tree builder that, by streaming changes from the Turnkey server, holds a local replica of the information in the ViewModel.

Whenever the user changes something in this replica, commands are generated, queued, and sent to the server, which in turn processes the commands and updates the main ViewModel-based information tree that lives on the server. The changes the server information tree sees generate commands that are collected by the client - and the client merges the changes into its own ViewModel information tree replica.

Part 2

Part 2 of the WPF client reads meta information about available main menu actions (Global actions) and also meta information per view it is set to display. Using this meta information - that really is just a condensate of the ViewModel definition from MDriven Designer - it builds a WPF-based UI with editboxes and other UI widgets. These widgets are databound to the replicated information tree described in Part 1.

The user edits information through the UI widgets - bound to the information tree - that generate client commands that are sent to the server at the earliest possible time, but always in the order they were created. These client commands are handled by the server and when applied, all effects and side effects that happen on the server generate server commands that the client fetches as soon as it sees any reason to ask.

The code for the WPF client is open and can be downloaded here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyClientCode_20200821.zip

The build-date will change, and old files may be removed. Find the correct build date here: https://www.MDriven.net/PublicDownloads/MDrivenTurnkeyVersion.xml - take the date from that file and update the link yourself for the latest download.

Default ViewModel for the Application Background

If you name a ViewModel DefaultBackgroundViewModel, this ViewModel will be used as the application background.

This page was edited 89 days ago on 02/10/2024. What links here