Search in sources :

Example 16 with ChangeListener

use of javafx.beans.value.ChangeListener in project trex-stateless-gui by cisco-system-traffic-generator.

the class PacketTableView method buildUI.

/**
     * Build component UI
     */
private void buildUI(boolean addExportToYamlBtn) {
    setTopAnchor(this, 0d);
    setLeftAnchor(this, 0d);
    setBottomAnchor(this, 0d);
    setRightAnchor(this, 0d);
    // build btn bar
    HBox buttonContainer = new HBox();
    buttonContainer.setSpacing(5);
    // add build stream btn
    buildPacketBtn = new StreamTableButton(StreamTableAction.BUILD);
    buildPacketBtn.setId("buildStreamBtn");
    initializeStreamButtons(buildPacketBtn, false);
    buttonContainer.getChildren().add(buildPacketBtn);
    editPacketBtn = new StreamTableButton(StreamTableAction.EDIT);
    editPacketBtn.setId("editStreanBtn");
    initializeStreamButtons(editPacketBtn, true);
    buttonContainer.getChildren().add(editPacketBtn);
    deleteButtonBtn = new StreamTableButton(StreamTableAction.DELETE);
    initializeStreamButtons(deleteButtonBtn, true);
    buttonContainer.getChildren().add(deleteButtonBtn);
    importPcapButton = new StreamTableButton(StreamTableAction.IMPORT_PCAP);
    initializeStreamButtons(importPcapButton, false);
    buttonContainer.getChildren().add(importPcapButton);
    exportPcapButton = new StreamTableButton(StreamTableAction.EXPORT_TO_PCAP);
    initializeStreamButtons(exportPcapButton, true);
    buttonContainer.getChildren().add(exportPcapButton);
    if (addExportToYamlBtn) {
        exportToYaml = new StreamTableButton(StreamTableAction.EXPORT_TO_YAML);
        initializeStreamButtons(exportToYaml, false);
        buttonContainer.getChildren().add(exportToYaml);
    }
    getChildren().add(buttonContainer);
    setTopAnchor(buttonContainer, 5d);
    rightClickMenu = new ContextMenu();
    addMenuItem(StreamTableAction.EDIT);
    addMenuItem(StreamTableAction.DELETE);
    addMenuItem(StreamTableAction.EXPORT_TO_PCAP);
    addMenuItem(StreamTableAction.EXPORT_TO_YAML);
    // add table view
    streamPacketTableView = new TableView<>();
    streamPacketTableView.setId("streamTableView");
    streamPacketTableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
    streamPacketTableView.setFixedCellSize(32);
    streamPacketTableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
    streamPacketTableView.setOnMouseClicked(new EventHandler<MouseEvent>() {

        @Override
        public void handle(MouseEvent event) {
            handleTableRowClick(event);
        }
    });
    streamPacketTableView.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends TableProfileStream> observable, TableProfileStream oldValue, TableProfileStream newValue) -> {
        boolean notSelected = !(newValue != null);
        exportPcapButton.setDisable(notSelected);
        editPacketBtn.setDisable(notSelected);
        deleteButtonBtn.setDisable(notSelected);
    });
    streamPacketTableView.addEventFilter(KeyEvent.KEY_RELEASED, (KeyEvent event) -> {
        if (copyCombination.match(event)) {
            selectedProfile = tabledata.getProfiles().get(streamPacketTableView.getSelectionModel().getSelectedIndex());
        } else if (pasteCombination.match(event)) {
            handleDuplicateStream();
        } else if (event.getCode() == KeyCode.DELETE) {
            handleDeletePacket();
        }
    });
    streamPacketTableView.setEditable(true);
    initializeTableColumn();
    // disable table reordering
    streamPacketTableView.widthProperty().addListener(new ChangeListener<Number>() {

        @Override
        public void changed(ObservableValue<? extends Number> source, Number oldWidth, Number newWidth) {
            TableHeaderRow header = (TableHeaderRow) streamPacketTableView.lookup("TableHeaderRow");
            header.reorderingProperty().addListener(new ChangeListener<Boolean>() {

                @Override
                public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
                    header.setReordering(false);
                }
            });
        }
    });
    getChildren().add(streamPacketTableView);
    setTopAnchor(streamPacketTableView, 35d);
    setBottomAnchor(streamPacketTableView, 5d);
    setLeftAnchor(streamPacketTableView, 0d);
    setRightAnchor(streamPacketTableView, 0d);
}
Also used : HBox(javafx.scene.layout.HBox) TableHeaderRow(com.sun.javafx.scene.control.skin.TableHeaderRow) TableProfileStream(com.exalttech.trex.ui.views.models.TableProfileStream) ObservableValue(javafx.beans.value.ObservableValue) StreamTableButton(com.exalttech.trex.ui.views.streamtable.StreamTableButton) ChangeListener(javafx.beans.value.ChangeListener)

Example 17 with ChangeListener

use of javafx.beans.value.ChangeListener in project Smartcity-Smarthouse by TechnionYP5777.

the class MessageViewController method initialize.

@Override
public void initialize(final URL location, final ResourceBundle __) {
    mainPane.setAlignment(Pos.TOP_LEFT);
    mainPane.setHgap(10);
    mainPane.setVgap(10);
    mainPane.setPadding(new Insets(0, 25, 25, 0));
    sendButton.setOnAction(e -> buildMessage());
    switchModeButton.selectedProperty().addListener((ChangeListener<Boolean>) (b, oldValue, newValue) -> {
        if (newValue.booleanValue()) {
            buildStreamModePane();
            mainPane.getChildren().setAll(streamMode.getChildren());
        } else {
            buildSingleModePane();
            mainPane.getChildren().setAll(singleMode.getChildren());
        }
    });
}
Also used : Button(javafx.scene.control.Button) Pos(javafx.geometry.Pos) SensorField(il.ac.technion.cs.smarthouse.simulator.model.SensorField) Initializable(javafx.fxml.Initializable) TextField(javafx.scene.control.TextField) Pair(javafx.util.Pair) Label(javafx.scene.control.Label) URL(java.net.URL) Node(javafx.scene.Node) HashMap(java.util.HashMap) TextFlow(javafx.scene.text.TextFlow) ArrayList(java.util.ArrayList) FXML(javafx.fxml.FXML) Text(javafx.scene.text.Text) List(java.util.List) Types(il.ac.technion.cs.smarthouse.simulator.model.Types) Insets(javafx.geometry.Insets) ResourceBundle(java.util.ResourceBundle) ComboBox(javafx.scene.control.ComboBox) Map(java.util.Map) ToggleSwitch(org.controlsfx.control.ToggleSwitch) SensorData(il.ac.technion.cs.smarthouse.simulator.model.SensorData) ChangeListener(javafx.beans.value.ChangeListener) GridPane(javafx.scene.layout.GridPane) Insets(javafx.geometry.Insets)

Example 18 with ChangeListener

use of javafx.beans.value.ChangeListener in project SmartCity-Market by TechnionYP5777.

the class CustomerMainScreen method initialize.

@Override
public void initialize(URL location, ResourceBundle __) {
    AbstractApplicationScreen.fadeTransition(customerMainScreenPane);
    barcodeEventHandler.register(this);
    customer = TempCustomerPassingData.customer;
    filteredProductList = new FilteredList<>(productsObservableList, s -> true);
    searchField.textProperty().addListener(obs -> {
        String filter = searchField.getText();
        filteredProductList.setPredicate((filter == null || filter.length() == 0) ? s -> true : s -> s.getCatalogProduct().getName().contains(filter));
    });
    productsListView.setItems(filteredProductList);
    productsListView.setCellFactory(new Callback<ListView<CartProduct>, ListCell<CartProduct>>() {

        @Override
        public ListCell<CartProduct> call(ListView<CartProduct> __) {
            return new CustomerProductCellFormat();
        }
    });
    productsListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<CartProduct>() {

        @Override
        public void changed(ObservableValue<? extends CartProduct> __, CartProduct oldValue, CartProduct newValue) {
            updateProductInfoPaine(newValue.getCatalogProduct(), newValue.getTotalAmount(), ProductInfoPaneVisibleMode.PRESSED_PRODUCT);
        }
    });
    productsListView.depthProperty().set(1);
    productsListView.setExpanded(true);
    setAbilityAndVisibilityOfProductInfoPane(false);
}
Also used : Button(javafx.scene.control.Button) TempCustomerPassingData(CustomerGuiHelpers.TempCustomerPassingData) Initializable(javafx.fxml.Initializable) ListView(javafx.scene.control.ListView) URL(java.net.URL) ListCell(javafx.scene.control.ListCell) MouseEvent(javafx.scene.input.MouseEvent) FXCollections(javafx.collections.FXCollections) HashMap(java.util.HashMap) IConfiramtionDialog(UtilsContracts.IConfiramtionDialog) ICustomer(CustomerContracts.ICustomer) Logger(org.apache.log4j.Logger) CatalogProduct(BasicCommonClasses.CatalogProduct) ResourceBundle(java.util.ResourceBundle) BarcodeEventHandler(UtilsImplementations.BarcodeEventHandler) Subscribe(com.google.common.eventbus.Subscribe) Callback(javafx.util.Callback) CustomerProductCellFormat(CustomerGuiHelpers.CustomerProductCellFormat) GridPane(javafx.scene.layout.GridPane) CartProduct(BasicCommonClasses.CartProduct) Label(javafx.scene.control.Label) MalformedURLException(java.net.MalformedURLException) SmartCode(BasicCommonClasses.SmartCode) StackTraceUtil(UtilsImplementations.StackTraceUtil) JFXListView(com.jfoenix.controls.JFXListView) FilteredList(javafx.collections.transformation.FilteredList) SMException(SMExceptions.SMException) DialogMessagesService(GuiUtils.DialogMessagesService) File(java.io.File) Platform(javafx.application.Platform) FXML(javafx.fxml.FXML) InjectionFactory(UtilsImplementations.InjectionFactory) ActionEvent(javafx.event.ActionEvent) IBarcodeEventHandler(UtilsContracts.IBarcodeEventHandler) Stage(javafx.stage.Stage) ImageView(javafx.scene.image.ImageView) LocalDate(java.time.LocalDate) SmartcodeScanEvent(UtilsContracts.SmartcodeScanEvent) ObservableValue(javafx.beans.value.ObservableValue) ObservableList(javafx.collections.ObservableList) AbstractApplicationScreen(GuiUtils.AbstractApplicationScreen) ChangeListener(javafx.beans.value.ChangeListener) Image(javafx.scene.image.Image) JFXTextField(com.jfoenix.controls.JFXTextField) ListView(javafx.scene.control.ListView) JFXListView(com.jfoenix.controls.JFXListView) ListCell(javafx.scene.control.ListCell) CartProduct(BasicCommonClasses.CartProduct) CustomerProductCellFormat(CustomerGuiHelpers.CustomerProductCellFormat)

Example 19 with ChangeListener

use of javafx.beans.value.ChangeListener in project bitsquare by bitsquare.

the class MainView method initialize.

@Override
protected void initialize() {
    MainView.rootContainer = this.root;
    ToggleButton marketButton = new NavButton(MarketView.class, "Market");
    ToggleButton buyButton = new NavButton(BuyOfferView.class, "Buy BTC");
    ToggleButton sellButton = new NavButton(SellOfferView.class, "Sell BTC");
    ToggleButton portfolioButton = new NavButton(PortfolioView.class, "Portfolio");
    ToggleButton fundsButton = new NavButton(FundsView.class, "Funds");
    ToggleButton disputesButton = new NavButton(DisputesView.class, "Support");
    ToggleButton settingsButton = new NavButton(SettingsView.class, "Settings");
    ToggleButton accountButton = new NavButton(AccountView.class, "Account");
    Pane portfolioButtonHolder = new Pane(portfolioButton);
    Pane disputesButtonHolder = new Pane(disputesButton);
    HBox leftNavPane = new HBox(marketButton, buyButton, sellButton, portfolioButtonHolder, fundsButton, disputesButtonHolder) {

        {
            setLeftAnchor(this, 10d);
            setTopAnchor(this, 0d);
        }
    };
    Tuple3<ComboBox<PriceFeedComboBoxItem>, Label, VBox> marketPriceBox = getMarketPriceBox("Market price");
    ComboBox<PriceFeedComboBoxItem> priceComboBox = marketPriceBox.first;
    priceComboBox.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
        model.setPriceFeedComboBoxItem(newValue);
    });
    ChangeListener<PriceFeedComboBoxItem> selectedPriceFeedItemListender = (observable, oldValue, newValue) -> {
        if (newValue != null)
            priceComboBox.getSelectionModel().select(newValue);
    };
    model.selectedPriceFeedComboBoxItemProperty.addListener(selectedPriceFeedItemListender);
    priceComboBox.setItems(model.priceFeedComboBoxItems);
    marketPriceBox.second.textProperty().bind(createStringBinding(() -> {
        PriceFeedService.Type type = model.typeProperty.get();
        return type != null ? "Market price (" + type.name + ")" : "";
    }, model.marketPriceCurrencyCode, model.typeProperty));
    HBox.setMargin(marketPriceBox.third, new Insets(0, 0, 0, 0));
    Tuple2<TextField, VBox> availableBalanceBox = getBalanceBox("Available balance");
    availableBalanceBox.first.textProperty().bind(model.availableBalance);
    Tuple2<TextField, VBox> reservedBalanceBox = getBalanceBox("Reserved in offers");
    reservedBalanceBox.first.textProperty().bind(model.reservedBalance);
    Tuple2<TextField, VBox> lockedBalanceBox = getBalanceBox("Locked in trades");
    lockedBalanceBox.first.textProperty().bind(model.lockedBalance);
    HBox rightNavPane = new HBox(marketPriceBox.third, availableBalanceBox.second, reservedBalanceBox.second, lockedBalanceBox.second, settingsButton, accountButton) {

        {
            setRightAnchor(this, 10d);
            setTopAnchor(this, 0d);
        }
    };
    root.widthProperty().addListener((observable, oldValue, newValue) -> {
        double w = (double) newValue;
        if (w > 0) {
            leftNavPane.setSpacing(w >= 1080 ? 10 : 5);
            rightNavPane.setSpacing(w >= 1080 ? 10 : 5);
        }
    });
    AnchorPane contentContainer = new AnchorPane() {

        {
            setId("content-pane");
            setLeftAnchor(this, 0d);
            setRightAnchor(this, 0d);
            setTopAnchor(this, 60d);
            setBottomAnchor(this, 10d);
        }
    };
    AnchorPane applicationContainer = new AnchorPane(leftNavPane, rightNavPane, contentContainer) {

        {
            setId("content-pane");
        }
    };
    BorderPane baseApplicationContainer = new BorderPane(applicationContainer) {

        {
            setId("base-content-container");
        }
    };
    baseApplicationContainer.setBottom(createFooter());
    setupNotificationIcon(portfolioButtonHolder);
    setupDisputesIcon(disputesButtonHolder);
    navigation.addListener(viewPath -> {
        if (viewPath.size() != 2 || viewPath.indexOf(MainView.class) != 0)
            return;
        Class<? extends View> viewClass = viewPath.tip();
        View view = viewLoader.load(viewClass);
        contentContainer.getChildren().setAll(view.getRoot());
        navButtons.getToggles().stream().filter(toggle -> toggle instanceof NavButton).filter(button -> viewClass == ((NavButton) button).viewClass).findFirst().orElseThrow(() -> new BitsquareException("No button matching %s found", viewClass)).setSelected(true);
    });
    VBox splashScreen = createSplashScreen();
    root.getChildren().addAll(baseApplicationContainer, splashScreen);
    model.showAppScreen.addListener((ov, oldValue, newValue) -> {
        if (newValue) {
            navigation.navigateToPreviousVisitedView();
            if (!persistedFilesCorrupted.isEmpty()) {
                if (persistedFilesCorrupted.size() > 1 || !persistedFilesCorrupted.get(0).equals("Navigation")) {
                    // show warning that some files has been corrupted
                    new Popup().warning("We detected incompatible data base files!\n\n" + "Those database file(s) are not compatible with our current code base:" + "\n" + persistedFilesCorrupted.toString() + "\n\nWe made a backup of the corrupted file(s) and applied the default values to a new " + "database version." + "\n\nThe backup is located at:\n[you local app data directory]/db/backup_of_corrupted_data.\n\n" + "Please check if you have the latest version of Bitsquare installed.\n" + "You can download it at:\nhttps://github.com/bitsquare/bitsquare/releases\n\n" + "Please restart the application.").closeButtonText("Shut down").onClose(BitsquareApp.shutDownHandler::run).show();
                } else {
                    log.debug("We detected incompatible data base file for Navigation. That is a minor issue happening with refactoring of UI classes " + "and we don't display a warning popup to the user.");
                }
            }
            transitions.fadeOutAndRemove(splashScreen, 1500, actionEvent -> disposeSplashScreen());
        }
    });
    // Delay a bit to give time for rendering the splash screen
    UserThread.execute(model::start);
}
Also used : Pos(javafx.geometry.Pos) PriceFeedService(io.bitsquare.btc.pricefeed.PriceFeedService) Popup(io.bitsquare.gui.main.overlays.popups.Popup) MarketView(io.bitsquare.gui.main.market.MarketView) javafx.scene.layout(javafx.scene.layout) javafx.scene.control(javafx.scene.control) LoggerFactory(org.slf4j.LoggerFactory) BitsquareApp(io.bitsquare.app.BitsquareApp) Tuple2(io.bitsquare.common.util.Tuple2) Transitions(io.bitsquare.gui.util.Transitions) FundsView(io.bitsquare.gui.main.funds.FundsView) GUIUtil(io.bitsquare.gui.util.GUIUtil) Inject(javax.inject.Inject) DevFlags(io.bitsquare.app.DevFlags) Insets(javafx.geometry.Insets) Navigation(io.bitsquare.gui.Navigation) SettingsView(io.bitsquare.gui.main.settings.SettingsView) TextAlignment(javafx.scene.text.TextAlignment) Named(javax.inject.Named) BSFormatter(io.bitsquare.gui.util.BSFormatter) Color(javafx.scene.paint.Color) Logger(org.slf4j.Logger) UserThread(io.bitsquare.common.UserThread) BuyOfferView(io.bitsquare.gui.main.offer.BuyOfferView) BitsquareException(io.bitsquare.BitsquareException) DropShadow(javafx.scene.effect.DropShadow) DisputesView(io.bitsquare.gui.main.disputes.DisputesView) io.bitsquare.gui.common.view(io.bitsquare.gui.common.view) PortfolioView(io.bitsquare.gui.main.portfolio.PortfolioView) List(java.util.List) Bindings.createStringBinding(javafx.beans.binding.Bindings.createStringBinding) Tuple3(io.bitsquare.common.util.Tuple3) AnchorPane(javafx.scene.layout.AnchorPane) ImageView(javafx.scene.image.ImageView) BusyAnimation(io.bitsquare.gui.components.BusyAnimation) SellOfferView(io.bitsquare.gui.main.offer.SellOfferView) ChangeListener(javafx.beans.value.ChangeListener) AccountView(io.bitsquare.gui.main.account.AccountView) Insets(javafx.geometry.Insets) BitsquareApp(io.bitsquare.app.BitsquareApp) Popup(io.bitsquare.gui.main.overlays.popups.Popup) AnchorPane(javafx.scene.layout.AnchorPane) AnchorPane(javafx.scene.layout.AnchorPane) MarketView(io.bitsquare.gui.main.market.MarketView) FundsView(io.bitsquare.gui.main.funds.FundsView) SettingsView(io.bitsquare.gui.main.settings.SettingsView) BuyOfferView(io.bitsquare.gui.main.offer.BuyOfferView) DisputesView(io.bitsquare.gui.main.disputes.DisputesView) PortfolioView(io.bitsquare.gui.main.portfolio.PortfolioView) ImageView(javafx.scene.image.ImageView) SellOfferView(io.bitsquare.gui.main.offer.SellOfferView) AccountView(io.bitsquare.gui.main.account.AccountView) BitsquareException(io.bitsquare.BitsquareException)

Example 20 with ChangeListener

use of javafx.beans.value.ChangeListener in project bitsquare by bitsquare.

the class MainViewModel method start.

///////////////////////////////////////////////////////////////////////////////////////////
// API
///////////////////////////////////////////////////////////////////////////////////////////
public void start() {
    // TODO need more though how to improve privacy without annoying first time users.
    /* String key = "showAddBitcoinNodesWindowKey";
        if (preferences.showAgain(key))
            addBitcoinNodesWindow.dontShowAgainId(key, preferences)
                    .onClose(() -> {
                        preferences.dontShowAgain(key, true);
                        initializeAllServices();
                    })
                    .onAction(() -> {
                        preferences.dontShowAgain(key, true);
                        initializeAllServices();
                    })
                    .show();
        else
            initializeAllServices();
    }

    private void initializeAllServices() {*/
    Log.traceCall();
    UserThread.runAfter(tacWindow::showIfNeeded, 2);
    ChangeListener<Boolean> walletInitializedListener = (observable, oldValue, newValue) -> {
        if (newValue && !p2pNetWorkReady.get())
            showStartupTimeoutPopup();
    };
    Timer startupTimeout = UserThread.runAfter(() -> {
        log.warn("startupTimeout called");
        Wallet wallet = walletService.getWallet();
        if (wallet != null && wallet.isEncrypted())
            walletInitialized.addListener(walletInitializedListener);
        else
            showStartupTimeoutPopup();
    }, 4, TimeUnit.MINUTES);
    p2pNetWorkReady = initP2PNetwork();
    initBitcoinWallet();
    // need to store it to not get garbage collected
    allServicesDone = EasyBind.combine(walletInitialized, p2pNetWorkReady, (a, b) -> a && b);
    allServicesDone.subscribe((observable, oldValue, newValue) -> {
        if (newValue) {
            startupTimeout.stop();
            walletInitialized.removeListener(walletInitializedListener);
            onAllServicesInitialized();
            if (startupTimeoutPopup != null)
                startupTimeoutPopup.hide();
        }
    });
}
Also used : Clock(io.bitsquare.common.Clock) OpenOffer(io.bitsquare.trade.offer.OpenOffer) PriceFeedService(io.bitsquare.btc.pricefeed.PriceFeedService) Popup(io.bitsquare.gui.main.overlays.popups.Popup) Transaction(org.bitcoinj.core.Transaction) MarketPrice(io.bitsquare.btc.pricefeed.MarketPrice) Coin(org.bitcoinj.core.Coin) Inject(com.google.inject.Inject) ViewModel(io.bitsquare.gui.common.model.ViewModel) LoggerFactory(org.slf4j.LoggerFactory) TradeCurrency(io.bitsquare.locale.TradeCurrency) Security(java.security.Security) TimeoutException(java.util.concurrent.TimeoutException) DisputeManager(io.bitsquare.arbitration.DisputeManager) BalanceWithConfirmationTextField(io.bitsquare.gui.components.BalanceWithConfirmationTextField) Trade(io.bitsquare.trade.Trade) GUIUtil(io.bitsquare.gui.util.GUIUtil) DevFlags(io.bitsquare.app.DevFlags) PaymentAccount(io.bitsquare.payment.PaymentAccount) NotificationCenter(io.bitsquare.gui.main.overlays.notifications.NotificationCenter) ListChangeListener(javafx.collections.ListChangeListener) Navigation(io.bitsquare.gui.Navigation) TradeWalletService(io.bitsquare.btc.TradeWalletService) BlockStoreException(org.bitcoinj.store.BlockStoreException) MonadicBinding(org.fxmisc.easybind.monadic.MonadicBinding) AddressEntry(io.bitsquare.btc.AddressEntry) WalletPasswordWindow(io.bitsquare.gui.main.overlays.windows.WalletPasswordWindow) FilterManager(io.bitsquare.filter.FilterManager) Subscription(org.fxmisc.easybind.Subscription) Collectors(java.util.stream.Collectors) PrivateNotificationManager(io.bitsquare.alert.PrivateNotificationManager) ConnectionListener(io.bitsquare.p2p.network.ConnectionListener) Preferences(io.bitsquare.user.Preferences) CryptoCurrencyAccount(io.bitsquare.payment.CryptoCurrencyAccount) Dispute(io.bitsquare.arbitration.Dispute) BalanceTextField(io.bitsquare.gui.components.BalanceTextField) Address(org.bitcoinj.core.Address) Ping(io.bitsquare.p2p.peers.keepalive.messages.Ping) ObservableList(javafx.collections.ObservableList) CurrencyUtil(io.bitsquare.locale.CurrencyUtil) io.bitsquare.common.crypto(io.bitsquare.common.crypto) PrivateNotification(io.bitsquare.alert.PrivateNotification) Version(io.bitsquare.app.Version) P2PServiceListener(io.bitsquare.p2p.P2PServiceListener) java.util(java.util) P2PService(io.bitsquare.p2p.P2PService) SetChangeListener(javafx.collections.SetChangeListener) FXCollections(javafx.collections.FXCollections) BitsquareApp(io.bitsquare.app.BitsquareApp) AddBitcoinNodesWindow(io.bitsquare.gui.main.overlays.windows.AddBitcoinNodesWindow) Connection(io.bitsquare.p2p.network.Connection) Timer(io.bitsquare.common.Timer) BalanceListener(io.bitsquare.btc.listeners.BalanceListener) OKPayAccount(io.bitsquare.payment.OKPayAccount) TradeManager(io.bitsquare.trade.TradeManager) User(io.bitsquare.user.User) WalletService(io.bitsquare.btc.WalletService) TacWindow(io.bitsquare.gui.main.overlays.windows.TacWindow) Alert(io.bitsquare.alert.Alert) DisplayAlertMessageWindow(io.bitsquare.gui.main.overlays.windows.DisplayAlertMessageWindow) Nullable(javax.annotation.Nullable) Log(io.bitsquare.app.Log) BSFormatter(io.bitsquare.gui.util.BSFormatter) javafx.beans.property(javafx.beans.property) Logger(org.slf4j.Logger) UserThread(io.bitsquare.common.UserThread) TxIdTextField(io.bitsquare.gui.components.TxIdTextField) Wallet(org.bitcoinj.core.Wallet) TimeUnit(java.util.concurrent.TimeUnit) EasyBind(org.fxmisc.easybind.EasyBind) OpenOfferManager(io.bitsquare.trade.offer.OpenOfferManager) ArbitratorManager(io.bitsquare.arbitration.ArbitratorManager) CloseConnectionReason(io.bitsquare.p2p.network.CloseConnectionReason) ChangeListener(javafx.beans.value.ChangeListener) AlertManager(io.bitsquare.alert.AlertManager) Timer(io.bitsquare.common.Timer) Wallet(org.bitcoinj.core.Wallet)

Aggregations

ChangeListener (javafx.beans.value.ChangeListener)25 ObservableValue (javafx.beans.value.ObservableValue)11 ObservableList (javafx.collections.ObservableList)11 FXCollections (javafx.collections.FXCollections)10 FXML (javafx.fxml.FXML)10 ResourceBundle (java.util.ResourceBundle)8 Platform (javafx.application.Platform)8 Stage (javafx.stage.Stage)8 List (java.util.List)7 Scene (javafx.scene.Scene)7 Account (jgnash.engine.Account)7 BigDecimal (java.math.BigDecimal)6 NumberFormat (java.text.NumberFormat)6 Objects (java.util.Objects)6 Preferences (java.util.prefs.Preferences)6 SimpleObjectProperty (javafx.beans.property.SimpleObjectProperty)6 Tooltip (javafx.scene.control.Tooltip)6 ImageView (javafx.scene.image.ImageView)6 Engine (jgnash.engine.Engine)6 EngineFactory (jgnash.engine.EngineFactory)6