From 5a75a1aa10eceeacb65bac6e7fa426fff767d7f1 Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Sun, 23 Nov 2014 20:05:32 +0100 Subject: [PATCH] Rename gui.GuiceControllerFactory => viewfx...GuiceViewFactory --- .../io/bitsquare/app/gui/BitsquareApp.java | 4 ++-- src/main/java/io/bitsquare/gui/GuiModule.java | 4 +++- .../java/io/bitsquare/gui/ViewLoader.java | 5 ++-- .../content/fiat/FiatAccountViewModel.java | 2 +- .../content/irc/IrcAccountViewModel.java | 2 +- .../restrictions/RestrictionsView.java | 2 +- .../restrictions/RestrictionsViewModel.java | 2 +- .../closed/ClosedTradesViewModel.java | 2 +- .../main/portfolio/offer/OffersViewModel.java | 2 +- .../pending/PendingTradesViewModel.java | 2 +- .../application/PreferencesViewModel.java | 2 +- .../bitsquare/gui/main/trade/TradeView.java | 2 +- .../createoffer/CreateOfferViewModel.java | 2 +- .../trade/offerbook/OfferBookViewModel.java | 2 +- .../trade/takeoffer/TakeOfferViewModel.java | 2 +- src/main/java/viewfx/view/ChildView.java | 2 -- src/main/java/viewfx/view/ViewFactory.java | 23 +++++++++++++++++++ .../view/support/guice/GuiceViewFactory.java} | 8 +++---- .../io/bitsquare/app/gui/ViewLoaderTests.java | 7 +++--- 19 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 src/main/java/viewfx/view/ViewFactory.java rename src/main/java/{io/bitsquare/gui/GuiceControllerFactory.java => viewfx/view/support/guice/GuiceViewFactory.java} (87%) diff --git a/src/main/java/io/bitsquare/app/gui/BitsquareApp.java b/src/main/java/io/bitsquare/app/gui/BitsquareApp.java index 45519fca96..d26f9c5648 100644 --- a/src/main/java/io/bitsquare/app/gui/BitsquareApp.java +++ b/src/main/java/io/bitsquare/app/gui/BitsquareApp.java @@ -19,7 +19,6 @@ package io.bitsquare.app.gui; import io.bitsquare.BitsquareException; import io.bitsquare.account.AccountSettings; -import io.bitsquare.gui.GuiceControllerFactory; import io.bitsquare.gui.Navigation; import io.bitsquare.gui.SystemTray; import io.bitsquare.gui.ViewLoader; @@ -41,6 +40,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import viewfx.view.View; +import viewfx.view.support.guice.GuiceViewFactory; import javafx.application.Application; import javafx.scene.*; @@ -66,7 +66,7 @@ public class BitsquareApp extends Application { public void start(Stage primaryStage) throws IOException { bitsquareAppModule = new BitsquareAppModule(env, primaryStage); injector = Guice.createInjector(bitsquareAppModule); - injector.getInstance(GuiceControllerFactory.class).setInjector(injector); + injector.getInstance(GuiceViewFactory.class).setInjector(injector); // route uncaught exceptions to a user-facing dialog diff --git a/src/main/java/io/bitsquare/gui/GuiModule.java b/src/main/java/io/bitsquare/gui/GuiModule.java index 0ac6592988..bb83f8fbd5 100644 --- a/src/main/java/io/bitsquare/gui/GuiModule.java +++ b/src/main/java/io/bitsquare/gui/GuiModule.java @@ -31,6 +31,8 @@ import io.bitsquare.gui.util.validation.PasswordValidator; import com.google.inject.name.Names; +import viewfx.view.support.guice.GuiceViewFactory; + import javafx.stage.Stage; import org.springframework.core.env.Environment; @@ -46,7 +48,7 @@ public class GuiModule extends BitsquareModule { @Override protected void configure() { - bind(GuiceControllerFactory.class).asEagerSingleton(); + bind(GuiceViewFactory.class).asEagerSingleton(); bind(ViewLoader.class).asEagerSingleton(); bind(OfferBook.class).asEagerSingleton(); diff --git a/src/main/java/io/bitsquare/gui/ViewLoader.java b/src/main/java/io/bitsquare/gui/ViewLoader.java index 3712cb90b8..4b79daea09 100644 --- a/src/main/java/io/bitsquare/gui/ViewLoader.java +++ b/src/main/java/io/bitsquare/gui/ViewLoader.java @@ -27,6 +27,7 @@ import java.util.Map; import javax.inject.Inject; import viewfx.view.View; +import viewfx.view.support.guice.GuiceViewFactory; import javafx.fxml.FXMLLoader; import javafx.fxml.JavaFXBuilderFactory; @@ -40,10 +41,10 @@ public class ViewLoader { private final Map cache = new HashMap<>(); private final BuilderFactory builderFactory = new JavaFXBuilderFactory(); - private final GuiceControllerFactory controllerFactory; + private final GuiceViewFactory controllerFactory; @Inject - public ViewLoader(GuiceControllerFactory controllerFactory) { + public ViewLoader(GuiceViewFactory controllerFactory) { this.controllerFactory = controllerFactory; } diff --git a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java index 573dcb2f7e..8b35f33dec 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/fiat/FiatAccountViewModel.java @@ -29,8 +29,8 @@ import com.google.inject.Inject; import java.util.Currency; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ObjectProperty; diff --git a/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java b/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java index c443ac922e..601c50b4df 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/irc/IrcAccountViewModel.java @@ -27,8 +27,8 @@ import com.google.inject.Inject; import java.util.Currency; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ObjectProperty; diff --git a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java index 899ae53b90..3a9f6d00d1 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsView.java @@ -30,9 +30,9 @@ import java.util.Locale; import javax.inject.Inject; -import viewfx.view.support.ActivatableViewAndModel; import viewfx.view.View; import viewfx.view.Wizard; +import viewfx.view.support.ActivatableViewAndModel; import javafx.fxml.FXML; import javafx.scene.*; diff --git a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java index 23d5a4d457..cf9b20b14a 100644 --- a/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/account/content/restrictions/RestrictionsViewModel.java @@ -25,8 +25,8 @@ import com.google.inject.Inject; import java.util.Locale; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; diff --git a/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java b/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java index b32dfadea0..1bc584b16d 100644 --- a/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/portfolio/closed/ClosedTradesViewModel.java @@ -21,8 +21,8 @@ import io.bitsquare.gui.util.BSFormatter; import com.google.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.collections.ObservableList; diff --git a/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java b/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java index f5b8cec4aa..c68c99ae61 100644 --- a/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/portfolio/offer/OffersViewModel.java @@ -21,8 +21,8 @@ import io.bitsquare.gui.util.BSFormatter; import com.google.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.collections.ObservableList; diff --git a/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java b/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java index d95ffd3263..0ac5b322aa 100644 --- a/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/portfolio/pending/PendingTradesViewModel.java @@ -30,8 +30,8 @@ import com.google.inject.Inject; import java.util.Date; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.InvalidationListener; import javafx.beans.property.BooleanProperty; diff --git a/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java b/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java index 153e68b14e..c9060ef2d4 100644 --- a/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/settings/application/PreferencesViewModel.java @@ -19,8 +19,8 @@ package io.bitsquare.gui.main.settings.application; import com.google.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.BooleanProperty; import javafx.beans.property.StringProperty; diff --git a/src/main/java/io/bitsquare/gui/main/trade/TradeView.java b/src/main/java/io/bitsquare/gui/main/trade/TradeView.java index df1790183b..1337f6833f 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/TradeView.java +++ b/src/main/java/io/bitsquare/gui/main/trade/TradeView.java @@ -31,8 +31,8 @@ import org.bitcoinj.utils.Fiat; import java.util.List; -import viewfx.view.support.ActivatableView; import viewfx.view.View; +import viewfx.view.support.ActivatableView; import javafx.application.Platform; import javafx.collections.ListChangeListener; diff --git a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java index 6de4e7d763..6d6ec6c8de 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/trade/createoffer/CreateOfferViewModel.java @@ -31,8 +31,8 @@ import org.bitcoinj.utils.Fiat; import javax.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.Observable; import javafx.beans.binding.Bindings; diff --git a/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java b/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java index 73e109333e..a4fd4c16f8 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/trade/offerbook/OfferBookViewModel.java @@ -30,8 +30,8 @@ import org.bitcoinj.utils.Fiat; import com.google.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; diff --git a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java index c585f2aa23..d5b75db572 100644 --- a/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java +++ b/src/main/java/io/bitsquare/gui/main/trade/takeoffer/TakeOfferViewModel.java @@ -30,8 +30,8 @@ import org.bitcoinj.core.Coin; import javax.inject.Inject; -import viewfx.model.support.ActivatableWithDelegate; import viewfx.model.ViewModel; +import viewfx.model.support.ActivatableWithDelegate; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ObjectProperty; diff --git a/src/main/java/viewfx/view/ChildView.java b/src/main/java/viewfx/view/ChildView.java index efd950e026..5d42ca56f3 100644 --- a/src/main/java/viewfx/view/ChildView.java +++ b/src/main/java/viewfx/view/ChildView.java @@ -17,8 +17,6 @@ package viewfx.view; -import viewfx.view.View; - public interface ChildView extends View { void setParent(Parent parent); } diff --git a/src/main/java/viewfx/view/ViewFactory.java b/src/main/java/viewfx/view/ViewFactory.java new file mode 100644 index 0000000000..5e0370fc4d --- /dev/null +++ b/src/main/java/viewfx/view/ViewFactory.java @@ -0,0 +1,23 @@ +/* + * 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 viewfx.view; + +import javafx.util.Callback; + +public interface ViewFactory extends Callback, Object> { +} diff --git a/src/main/java/io/bitsquare/gui/GuiceControllerFactory.java b/src/main/java/viewfx/view/support/guice/GuiceViewFactory.java similarity index 87% rename from src/main/java/io/bitsquare/gui/GuiceControllerFactory.java rename to src/main/java/viewfx/view/support/guice/GuiceViewFactory.java index 602a8cc64b..cf3d6b8b50 100644 --- a/src/main/java/io/bitsquare/gui/GuiceControllerFactory.java +++ b/src/main/java/viewfx/view/support/guice/GuiceViewFactory.java @@ -15,23 +15,23 @@ * along with Bitsquare. If not, see . */ -package io.bitsquare.gui; +package viewfx.view.support.guice; import com.google.common.base.Preconditions; import com.google.inject.Injector; -import javafx.util.Callback; +import viewfx.view.ViewFactory; /** - * A JavaFX controller factory for constructing controllers via Guice DI. To + * A JavaFX controller factory for constructing viewfx Views using Guice. To * install this in the {@link javafx.fxml.FXMLLoader}, pass it as a parameter to * {@link javafx.fxml.FXMLLoader#setControllerFactory(javafx.util.Callback)}. *

* Once set, make sure you do not use the static methods on * {@link javafx.fxml.FXMLLoader} when creating your JavaFX node. */ -public class GuiceControllerFactory implements Callback, Object> { +public class GuiceViewFactory implements ViewFactory { private Injector injector; diff --git a/src/test/java/io/bitsquare/app/gui/ViewLoaderTests.java b/src/test/java/io/bitsquare/app/gui/ViewLoaderTests.java index ce0f837ec9..cf8ee461b5 100644 --- a/src/test/java/io/bitsquare/app/gui/ViewLoaderTests.java +++ b/src/test/java/io/bitsquare/app/gui/ViewLoaderTests.java @@ -19,7 +19,6 @@ package io.bitsquare.app.gui; import io.bitsquare.BitsquareException; import io.bitsquare.app.BitsquareEnvironment; -import io.bitsquare.gui.GuiceControllerFactory; import io.bitsquare.gui.Navigation; import io.bitsquare.gui.ViewLoader; @@ -28,6 +27,8 @@ import com.google.inject.Injector; import java.net.MalformedURLException; +import viewfx.view.support.guice.GuiceViewFactory; + import javafx.application.Application; import javafx.stage.Stage; @@ -61,14 +62,14 @@ public class ViewLoaderTests { Thread.sleep(10); } - private GuiceControllerFactory controllerFactory; + private GuiceViewFactory controllerFactory; @Before public void setUp() { OptionParser parser = new OptionParser(); BitsquareEnvironment env = new BitsquareEnvironment(parser.parse(new String[]{})); Injector injector = Guice.createInjector(new BitsquareAppModule(env, TestApp.primaryStage)); - controllerFactory = injector.getInstance(GuiceControllerFactory.class); + controllerFactory = injector.getInstance(GuiceViewFactory.class); controllerFactory.setInjector(injector); }