Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class FilterViewModel {
- Filter filter;
- public ObservableBoolean isCashgameEnabled = new ObservableBoolean();
- public ObservableBoolean cashGameTexasIncluded = new ObservableBoolean();
- public ObservableBoolean cashGameOmahaIncluded = new ObservableBoolean();
- public ObservableInt blindsMin = new ObservableInt();
- public ObservableInt blindsMax = new ObservableInt();
- public ObservableBoolean isTournamentEnabled = new ObservableBoolean();
- public ObservableBoolean tournamentTexasIncluded = new ObservableBoolean();
- public ObservableBoolean tournamentOmahaIncluded = new ObservableBoolean();
- public ObservableInt buyInMin = new ObservableInt();
- public ObservableInt buyInMax = new ObservableInt();
- public FilterViewModel(Filter filter) {
- this.filter = filter;
- bindBooleanFieldAndObservable(isCashgameEnabled, filter.isCashgameEnabled, filter::setCashgameEnabled);
- bindBooleanFieldAndObservable(isTournamentEnabled, filter.isTournamentEnabled, filter::setTournamentEnabled);
- wrapListInBoolean(cashGameTexasIncluded, filter.cashgameGameTypesList, "texas_holdem");
- wrapListInBoolean(cashGameOmahaIncluded, filter.cashgameGameTypesList, "omaha");
- wrapListInBoolean(tournamentTexasIncluded, filter.tournamentGameTypesList, "texas_holdem");
- wrapListInBoolean(tournamentOmahaIncluded, filter.tournamentGameTypesList, "omaha");
- bindIntFieldAndObservable(blindsMin, filter.blindsMin, filter::setBlindsMin);
- bindIntFieldAndObservable(blindsMax, filter.blindsMax, filter::setBlindsMax);
- bindIntFieldAndObservable(buyInMin, filter.buyInMin, filter::setBuyInMin);
- bindIntFieldAndObservable(buyInMax, filter.buyInMax, filter::setBuyInMax);
- }
- public void bindBooleanFieldAndObservable(ObservableBoolean observableBoolean, boolean value, Consumer<Boolean> setCallback) {
- observableBoolean.set(value);
- booleanCallback(observableBoolean, setCallback);
- }
- public void bindIntFieldAndObservable(ObservableInt observableInt, int value, Consumer<Integer> setCallback) {
- observableInt.set(value);
- intCallback(observableInt, setCallback);
- }
- public void booleanCallback(ObservableBoolean observableBoolean, Consumer<Boolean> callback) {
- observableBoolean.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
- @Override
- public void onPropertyChanged(Observable sender, int propertyId) {
- callback.accept(observableBoolean.get());
- }
- });
- }
- public void intCallback(ObservableInt observableBoolean, Consumer<Integer> callback) {
- observableBoolean.addOnPropertyChangedCallback(new Observable.OnPropertyChangedCallback() {
- @Override
- public void onPropertyChanged(Observable sender, int propertyId) {
- callback.accept(observableBoolean.get());
- }
- });
- }
- public void wrapListInBoolean(ObservableBoolean observable, List<String> list, String what) {
- bindBooleanFieldAndObservable(observable, list.contains(what),
- changedBool -> {
- if (changedBool) list.add(what);
- else list.remove(what);
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement