Instead of reviewing this PR by yourself, I think it would make sense to speak about this on Tuesday.
The important thing this PR starts to implement is functionality for the Statistics Views, which will be our next (or one of the next) development goal.
I'm adding you all as reviewers to take notice, as mentioned: don't feel the need to fully check everything, instead comments on
I think it would make sense to speak about this on Tuesday.
would be very helpful.
Changes
New documentation (List of all ApiEventBus subscriber classes, package uml, workspace uml)
The MVVM example form the Workshop (can already be found on o_mvvm_example.
I think its fine to leave it in for now, since it can provide a cheatsheet without having to swap branches.
DialogHelper: A class is availible in any type inheriting ViewModelBase. Using the DialogHelper, you can open Dialog windows from the ViewModel without violating MVVM. To use the DialogHelper, you have to call the method setParentWindow once from the View. E.g. viewModel.getDialogHelper().setParentWindow(...);
DyanmicViewLoader: This has been moved from the dynamic package to newgui, as most of its dependencies are with Ui imports.
Using the ViewLoader you may now also load and show statistics views (live or not live) directly.
StatisticsViewModelBase and LiveStatisticsViewModelBase: Two new abstract classes, that Statistics ViewModel should inherit from.
This is done exemplaratory in the CBRShooterStatisticsViewModel. It has to be emphasized, that whether Statistics Views support live viewing or not, will only make a very slight difference in the ViewModel implementation.
Lastly, all existing View.java classes were sparsed up by moving as much functionality as allowed by MVVM to their respective ViewModels. Targetted by this overhaul were mostly ExplorerBaseView and WebApiView.
This PR sadly is a bit all over the place.
Instead of reviewing this PR by yourself, I think it would make sense to speak about this on Tuesday. The important thing this PR starts to implement is functionality for the Statistics Views, which will be our next (or one of the next) development goal. I'm adding you all as reviewers to take notice, as mentioned: don't feel the need to fully check everything, instead comments on
would be very helpful.
Changes
New documentation (List of all ApiEventBus subscriber classes, package uml, workspace uml)
The MVVM example form the Workshop (can already be found on
o_mvvm_example
. I think its fine to leave it in for now, since it can provide a cheatsheet without having to swap branches.DialogHelper: A class is availible in any type inheriting
ViewModelBase
. Using the DialogHelper, you can open Dialog windows from the ViewModel without violating MVVM. To use the DialogHelper, you have to call the methodsetParentWindow
once from the View. E.g.viewModel.getDialogHelper().setParentWindow(...);
DyanmicViewLoader: This has been moved from the
dynamic
package tonewgui
, as most of its dependencies are with Ui imports.Using the ViewLoader you may now also load and show statistics views (live or not live) directly.
StatisticsViewModelBase
andLiveStatisticsViewModelBase
: Two new abstract classes, that Statistics ViewModel should inherit from.This is done exemplaratory in the
CBRShooterStatisticsViewModel
. It has to be emphasized, that whether Statistics Views support live viewing or not, will only make a very slight difference in the ViewModel implementation.ExplorerBaseView
andWebApiView
.