diff --git a/src/main/java/io/bitsquare/gui/BasicView.java b/src/main/java/io/bitsquare/gui/BasicView.java new file mode 100644 index 0000000000..ae88c99a47 --- /dev/null +++ b/src/main/java/io/bitsquare/gui/BasicView.java @@ -0,0 +1,44 @@ +/* + * This file is part of Bitsquare. + * + * Bitsquare is free software: you can redistribute it and/or modify it + * under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * Bitsquare is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public + * License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with Bitsquare. If not, see . + */ + +package io.bitsquare.gui; + +import javafx.fxml.FXML; +import javafx.scene.*; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public abstract class BasicView implements View { + + protected final Logger log = LoggerFactory.getLogger(this.getClass()); + + protected final M model; + protected @FXML Parent root; + + public BasicView(M model) { + this.model = model; + } + + public BasicView() { + this(null); + } + + protected View loadView(Navigation.Item navigationItem) { + throw new UnsupportedOperationException("loadView not implemented"); + } +} diff --git a/src/main/java/io/bitsquare/gui/ChildOf.java b/src/main/java/io/bitsquare/gui/ChildOf.java index f659f45c29..d202946854 100644 --- a/src/main/java/io/bitsquare/gui/ChildOf.java +++ b/src/main/java/io/bitsquare/gui/ChildOf.java @@ -17,6 +17,6 @@ package io.bitsquare.gui; -public interface ChildOf { +public interface ChildOf extends View { void setParent(Parent parent); } diff --git a/src/main/java/io/bitsquare/gui/InitializableView.java b/src/main/java/io/bitsquare/gui/InitializableView.java index a3146df40b..aea2434b73 100644 --- a/src/main/java/io/bitsquare/gui/InitializableView.java +++ b/src/main/java/io/bitsquare/gui/InitializableView.java @@ -23,7 +23,7 @@ import java.util.ResourceBundle; import javafx.fxml.Initializable; -public class InitializableView extends View implements Initializable { +public class InitializableView extends BasicView implements Initializable { public InitializableView(M model) { super(model); diff --git a/src/main/java/io/bitsquare/gui/View.java b/src/main/java/io/bitsquare/gui/View.java index 0686f7f7ea..8a5d8eaead 100644 --- a/src/main/java/io/bitsquare/gui/View.java +++ b/src/main/java/io/bitsquare/gui/View.java @@ -17,28 +17,5 @@ package io.bitsquare.gui; -import javafx.fxml.FXML; -import javafx.scene.*; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class View { - - protected final Logger log = LoggerFactory.getLogger(this.getClass()); - - protected final M model; - protected @FXML Parent root; - - public View(M model) { - this.model = model; - } - - public View() { - this(null); - } - - protected View loadView(Navigation.Item navigationItem) { - throw new UnsupportedOperationException("loadView not implemented"); - } +public interface View { } diff --git a/src/main/java/io/bitsquare/gui/Wizard.java b/src/main/java/io/bitsquare/gui/Wizard.java index 86a34fa869..448e42c369 100644 --- a/src/main/java/io/bitsquare/gui/Wizard.java +++ b/src/main/java/io/bitsquare/gui/Wizard.java @@ -17,8 +17,8 @@ package io.bitsquare.gui; -public interface Wizard { - void nextStep(View current); +public interface Wizard extends View { + void nextStep(Step currentStep); public interface Step extends ChildOf { void hideWizardNavigation(); diff --git a/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java b/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java index eb94185df1..4f28f86376 100644 --- a/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java +++ b/src/main/java/io/bitsquare/gui/main/account/arbitrator/ArbitratorSettingsView.java @@ -17,6 +17,7 @@ package io.bitsquare.gui.main.account.arbitrator; +import io.bitsquare.gui.BasicView; import io.bitsquare.gui.Navigation; import io.bitsquare.gui.View; import io.bitsquare.gui.ViewLoader; @@ -30,7 +31,7 @@ import javafx.stage.Modality; import javafx.stage.Stage; // TODO Arbitration is very basic yet -public class ArbitratorSettingsView extends View { +public class ArbitratorSettingsView extends BasicView { private final ViewLoader viewLoader; private final Navigation navigation; diff --git a/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java b/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java index ae687e315d..f5b2f6afaa 100644 --- a/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java +++ b/src/main/java/io/bitsquare/gui/main/account/arbitrator/profile/ArbitratorProfileView.java @@ -18,7 +18,7 @@ package io.bitsquare.gui.main.account.arbitrator.profile; import io.bitsquare.arbitrator.Arbitrator; -import io.bitsquare.gui.View; +import io.bitsquare.gui.BasicView; import io.bitsquare.gui.util.BSFormatter; import io.bitsquare.persistence.Persistence; import io.bitsquare.settings.Preferences; @@ -29,7 +29,7 @@ import javafx.fxml.FXML; import javafx.scene.control.*; // TODO Arbitration is very basic yet -public class ArbitratorProfileView extends View { +public class ArbitratorProfileView extends BasicView { private final Preferences preferences; diff --git a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java index 919aeae394..5477ba1101 100644 --- a/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java +++ b/src/main/java/io/bitsquare/gui/main/account/setup/AccountSetupWizard.java @@ -142,29 +142,25 @@ public class AccountSetupWizard extends ActivatableView implements Wizard { } - /////////////////////////////////////////////////////////////////////////////////////////// - // MultiStepNavigation implementation - /////////////////////////////////////////////////////////////////////////////////////////// - @Override - public void nextStep(View childView) { - if (childView instanceof SeedWordsView) { + public void nextStep(Step currentStep) { + if (currentStep instanceof SeedWordsView) { seedWords.onCompleted(); password.show(); } - else if (childView instanceof PasswordView) { + else if (currentStep instanceof PasswordView) { password.onCompleted(); restrictions.show(); } - else if (childView instanceof RestrictionsView) { + else if (currentStep instanceof RestrictionsView) { restrictions.onCompleted(); fiatAccount.show(); } - else if (childView instanceof IrcAccountView) { + else if (currentStep instanceof IrcAccountView) { fiatAccount.onCompleted(); registration.show(); } - else if (childView instanceof RegistrationView) { + else if (currentStep instanceof RegistrationView) { registration.onCompleted(); if (navigation.getItemsForReturning() != null) diff --git a/src/main/java/io/bitsquare/gui/main/home/HomeView.java b/src/main/java/io/bitsquare/gui/main/home/HomeView.java index 20336ea20b..be17e38ed9 100644 --- a/src/main/java/io/bitsquare/gui/main/home/HomeView.java +++ b/src/main/java/io/bitsquare/gui/main/home/HomeView.java @@ -17,9 +17,9 @@ package io.bitsquare.gui.main.home; -import io.bitsquare.gui.View; +import io.bitsquare.gui.BasicView; // home is just hosting the arbiters buttons yet, but that's just for dev, not clear yet what will be in home, // probably overview, event history, news, charts,... -> low prio -public class HomeView extends View { +public class HomeView extends BasicView { } diff --git a/src/main/java/io/bitsquare/gui/main/msg/MsgView.java b/src/main/java/io/bitsquare/gui/main/msg/MsgView.java index ef889f8b31..5b6e3f13e9 100644 --- a/src/main/java/io/bitsquare/gui/main/msg/MsgView.java +++ b/src/main/java/io/bitsquare/gui/main/msg/MsgView.java @@ -17,7 +17,7 @@ package io.bitsquare.gui.main.msg; -import io.bitsquare.gui.View; +import io.bitsquare.gui.BasicView; import javax.inject.Inject; @@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory; // will be probably only used for arbitration communication, will be renamed and the icon changed -public class MsgView extends View { +public class MsgView extends BasicView { private static final Logger log = LoggerFactory.getLogger(MsgView.class);