Move i.b.gui.ViewLoader.java => viewfx.view.support.ViewLoader

This commit is contained in:
Chris Beams 2014-11-24 07:12:50 +01:00
parent fcaded1c33
commit e8afdf5e22
No known key found for this signature in database
GPG Key ID: 3D214F8F5BC5ED73
17 changed files with 24 additions and 28 deletions

View File

@ -21,7 +21,6 @@ import io.bitsquare.BitsquareException;
import io.bitsquare.account.AccountSettings;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.SystemTray;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.components.Popups;
import io.bitsquare.gui.util.ImageUtil;
import io.bitsquare.persistence.Persistence;
@ -40,6 +39,7 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.guice.GuiceViewFactory;
import javafx.application.Application;

View File

@ -31,6 +31,7 @@ import io.bitsquare.gui.util.validation.PasswordValidator;
import com.google.inject.name.Names;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.guice.GuiceViewFactory;
import javafx.stage.Stage;

View File

@ -21,7 +21,6 @@ import io.bitsquare.BitsquareException;
import io.bitsquare.bank.BankAccount;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.OverlayManager;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.components.Popups;
import io.bitsquare.gui.components.SystemNotification;
import io.bitsquare.gui.util.Transitions;
@ -30,6 +29,7 @@ import javax.inject.Inject;
import javax.inject.Named;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableView;
import javafx.application.Platform;

View File

@ -18,11 +18,11 @@
package io.bitsquare.gui.main.account;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import javax.inject.Inject;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableView;
import javafx.beans.value.ChangeListener;

View File

@ -18,12 +18,12 @@
package io.bitsquare.gui.main.account.arbitrator;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.main.account.arbitrator.registration.ArbitratorRegistrationView;
import javax.inject.Inject;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.AbstractView;
import javafx.fxml.FXML;

View File

@ -20,7 +20,6 @@ package io.bitsquare.gui.main.account.arbitrator.browser;
import io.bitsquare.account.AccountSettings;
import io.bitsquare.arbitrator.Arbitrator;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.main.account.arbitrator.profile.ArbitratorProfileView;
import io.bitsquare.locale.LanguageUtil;
import io.bitsquare.msg.MessageService;
@ -33,6 +32,7 @@ import java.util.List;
import javax.inject.Inject;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableView;
import javafx.fxml.FXML;

View File

@ -19,7 +19,6 @@ package io.bitsquare.gui.main.account.content.restrictions;
import io.bitsquare.arbitrator.Arbitrator;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.main.help.Help;
import io.bitsquare.gui.main.help.HelpId;
import io.bitsquare.gui.util.ImageUtil;
@ -31,6 +30,7 @@ import java.util.Locale;
import javax.inject.Inject;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.Wizard;
import viewfx.view.support.ActivatableViewAndModel;

View File

@ -18,14 +18,14 @@
package io.bitsquare.gui.main.account.settings;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.util.Colors;
import javax.inject.Inject;
import viewfx.view.support.ActivatableViewAndModel;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.Wizard;
import viewfx.view.support.ActivatableViewAndModel;
import javafx.fxml.FXML;
import javafx.geometry.Pos;

View File

@ -18,7 +18,6 @@
package io.bitsquare.gui.main.account.setup;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.main.account.content.irc.IrcAccountView;
import io.bitsquare.gui.main.account.content.password.PasswordView;
import io.bitsquare.gui.main.account.content.registration.RegistrationView;
@ -27,9 +26,10 @@ import io.bitsquare.gui.main.account.content.seedwords.SeedWordsView;
import javax.inject.Inject;
import viewfx.view.support.ActivatableView;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.Wizard;
import viewfx.view.support.ActivatableView;
import javafx.fxml.FXML;
import javafx.geometry.Insets;

View File

@ -18,12 +18,12 @@
package io.bitsquare.gui.main.funds;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import javax.inject.Inject;
import viewfx.model.Activatable;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableViewAndModel;
import javafx.beans.value.ChangeListener;

View File

@ -18,13 +18,13 @@
package io.bitsquare.gui.main.portfolio;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.trade.TradeManager;
import javax.inject.Inject;
import viewfx.model.Activatable;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableViewAndModel;
import javafx.beans.value.ChangeListener;

View File

@ -18,13 +18,13 @@
package io.bitsquare.gui.main.settings;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.settings.Preferences;
import javax.inject.Inject;
import viewfx.model.Activatable;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableViewAndModel;
import javafx.beans.value.ChangeListener;

View File

@ -18,10 +18,11 @@
package io.bitsquare.gui.main.trade;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import javax.inject.Inject;
import viewfx.view.support.ViewLoader;
class BuyView extends TradeView {
@Inject

View File

@ -18,10 +18,11 @@
package io.bitsquare.gui.main.trade;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import javax.inject.Inject;
import viewfx.view.support.ViewLoader;
class SellView extends TradeView {
@Inject

View File

@ -18,7 +18,6 @@
package io.bitsquare.gui.main.trade;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import io.bitsquare.gui.components.InputTextField;
import io.bitsquare.gui.main.trade.createoffer.CreateOfferView;
import io.bitsquare.gui.main.trade.offerbook.OfferBookView;
@ -32,6 +31,7 @@ import org.bitcoinj.utils.Fiat;
import java.util.List;
import viewfx.view.View;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.ActivatableView;
import javafx.application.Platform;

View File

@ -15,9 +15,7 @@
* along with Bitsquare. If not, see <http://www.gnu.org/licenses/>.
*/
package io.bitsquare.gui;
import io.bitsquare.locale.BSResources;
package viewfx.view.support;
import java.net.URL;
@ -30,17 +28,10 @@ import viewfx.view.View;
import viewfx.view.ViewFactory;
import javafx.fxml.FXMLLoader;
import javafx.fxml.JavaFXBuilderFactory;
import javafx.util.BuilderFactory;
/**
* Guice support for fxml controllers
* Support caching to speed up switches between UI screens.
*/
public class ViewLoader {
private final Map<URL, View> cache = new HashMap<>();
private final BuilderFactory builderFactory = new JavaFXBuilderFactory();
private final ViewFactory viewFactory;
@Inject
@ -56,7 +47,9 @@ public class ViewLoader {
if (useCaching && cache.containsKey(url))
return cache.get(url);
FXMLLoader loader = new FXMLLoader(url, BSResources.getResourceBundle(), builderFactory, viewFactory);
FXMLLoader loader = new FXMLLoader(url);
loader.setControllerFactory(viewFactory);
View view = loader.getController();
cache.put(url, view);
return view;

View File

@ -20,13 +20,13 @@ package io.bitsquare.app.gui;
import io.bitsquare.BitsquareException;
import io.bitsquare.app.BitsquareEnvironment;
import io.bitsquare.gui.Navigation;
import io.bitsquare.gui.ViewLoader;
import com.google.inject.Guice;
import com.google.inject.Injector;
import java.net.MalformedURLException;
import viewfx.view.support.ViewLoader;
import viewfx.view.support.guice.GuiceViewFactory;
import javafx.application.Application;