Search in sources :

Example 11 with Window

use of javafx.stage.Window in project fxexperience2 by EricCanull.

the class PaintPickerController method initialize.

@FXML
public void initialize() {
    assert root_vbox != null;
    assert colorToggleButton != null;
    assert linearToggleButton != null;
    assert radialToggleButton != null;
    colorPicker = new ColorPickerControl(this);
    gradientPicker = new GradientPicker(this);
    // Default value
    setPaintProperty(DEFAULT_COLOR);
    // Resize the window so it matches the selected editor size
    root_vbox.heightProperty().addListener((ov, t, t1) -> {
        final Window window = root_vbox.getScene().getWindow();
        window.sizeToScene();
    });
    root_vbox.getChildren().add(colorPicker);
}
Also used : GradientPicker(com.fxexperience.javafx.scene.control.gradientpicker.GradientPicker) Window(javafx.stage.Window) ColorPickerControl(com.fxexperience.javafx.scene.control.sbcolorpicker.ColorPickerControl) FXML(javafx.fxml.FXML)

Example 12 with Window

use of javafx.stage.Window in project bitsquare by bitsquare.

the class InputTextField method getErrorPopupPosition.

private Point2D getErrorPopupPosition() {
    Window window = getScene().getWindow();
    Point2D point;
    point = layoutReference.localToScene(0, 0);
    double x = Math.floor(point.getX() + window.getX() + layoutReference.getWidth() + 20 - getPadding().getLeft() - getPadding().getRight());
    double y = Math.floor(point.getY() + window.getY() + getHeight() / 2 - getPadding().getTop() - getPadding().getBottom());
    return new Point2D(x, y);
}
Also used : Window(javafx.stage.Window) Point2D(javafx.geometry.Point2D)

Example 13 with Window

use of javafx.stage.Window in project bitsquare by bitsquare.

the class CreateOfferView method getPopupPosition.

private Point2D getPopupPosition() {
    Window window = totalToPayInfoIconLabel.getScene().getWindow();
    Point2D point = totalToPayInfoIconLabel.localToScene(0, 0);
    double x = point.getX() + window.getX() + totalToPayInfoIconLabel.getWidth() + 2;
    double y = point.getY() + window.getY() + Math.floor(totalToPayInfoIconLabel.getHeight() / 2) - 9;
    return new Point2D(x, y);
}
Also used : QRCodeWindow(io.bitsquare.gui.main.overlays.windows.QRCodeWindow) OfferDetailsWindow(io.bitsquare.gui.main.overlays.windows.OfferDetailsWindow) Window(javafx.stage.Window)

Example 14 with Window

use of javafx.stage.Window in project bitsquare by bitsquare.

the class TakeOfferView method getPopupPosition.

private Point2D getPopupPosition() {
    Window window = totalToPayInfoIconLabel.getScene().getWindow();
    Point2D point = totalToPayInfoIconLabel.localToScene(0, 0);
    double x = point.getX() + window.getX() + totalToPayInfoIconLabel.getWidth() + 2;
    double y = point.getY() + window.getY() + Math.floor(totalToPayInfoIconLabel.getHeight() / 2) - 9;
    return new Point2D(x, y);
}
Also used : QRCodeWindow(io.bitsquare.gui.main.overlays.windows.QRCodeWindow) OfferDetailsWindow(io.bitsquare.gui.main.overlays.windows.OfferDetailsWindow) Window(javafx.stage.Window)

Example 15 with Window

use of javafx.stage.Window in project bitsquare by bitsquare.

the class ContractWindow method addContent.

private void addContent() {
    Contract contract = dispute.getContract();
    Offer offer = contract.offer;
    List<String> acceptedBanks = offer.getAcceptedBankIds();
    boolean showAcceptedBanks = acceptedBanks != null && !acceptedBanks.isEmpty();
    List<String> acceptedCountryCodes = offer.getAcceptedCountryCodes();
    boolean showAcceptedCountryCodes = acceptedCountryCodes != null && !acceptedCountryCodes.isEmpty();
    int rows = 16;
    if (dispute.getDepositTxSerialized() != null)
        rows++;
    if (dispute.getPayoutTxSerialized() != null)
        rows++;
    if (showAcceptedCountryCodes)
        rows++;
    if (showAcceptedBanks)
        rows++;
    PaymentAccountContractData sellerPaymentAccountContractData = contract.getSellerPaymentAccountContractData();
    addTitledGroupBg(gridPane, ++rowIndex, rows, "Dispute details");
    addLabelTextFieldWithCopyIcon(gridPane, rowIndex, "Offer ID:", offer.getId(), Layout.FIRST_ROW_DISTANCE).second.setMouseTransparent(false);
    addLabelTextField(gridPane, ++rowIndex, "Offer date / Trade date:", formatter.formatDateTime(offer.getDate()) + " / " + formatter.formatDateTime(dispute.getTradeDate()));
    String currencyCode = offer.getCurrencyCode();
    addLabelTextField(gridPane, ++rowIndex, "Trade type:", formatter.getDirectionBothSides(offer.getDirection(), currencyCode));
    addLabelTextField(gridPane, ++rowIndex, "Trade price:", formatter.formatPrice(contract.getTradePrice()));
    addLabelTextField(gridPane, ++rowIndex, "Trade amount:", formatter.formatCoinWithCode(contract.getTradeAmount()));
    addLabelTextField(gridPane, ++rowIndex, formatter.formatVolumeLabel(currencyCode, ":"), formatter.formatVolumeWithCode(new ExchangeRate(contract.getTradePrice()).coinToFiat(contract.getTradeAmount())));
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "Bitcoin address BTC buyer / BTC seller:", contract.getBuyerPayoutAddressString() + " / " + contract.getSellerPayoutAddressString()).second.setMouseTransparent(false);
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "Network address BTC buyer / BTC seller:", contract.getBuyerNodeAddress().getFullAddress() + " / " + contract.getSellerNodeAddress().getFullAddress());
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "No. of disputes BTC buyer / BTC seller:", disputeManager.getNrOfDisputes(true, contract) + " / " + disputeManager.getNrOfDisputes(false, contract));
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "BTC buyer payment details:", BSResources.get(contract.getBuyerPaymentAccountContractData().getPaymentDetails())).second.setMouseTransparent(false);
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "BTC seller payment details:", BSResources.get(sellerPaymentAccountContractData.getPaymentDetails())).second.setMouseTransparent(false);
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "Selected arbitrator:", contract.arbitratorNodeAddress.getFullAddress());
    if (showAcceptedCountryCodes) {
        String countries;
        Tooltip tooltip = null;
        if (CountryUtil.containsAllSepaEuroCountries(acceptedCountryCodes)) {
            countries = "All Euro countries";
        } else {
            countries = CountryUtil.getCodesString(acceptedCountryCodes);
            tooltip = new Tooltip(CountryUtil.getNamesByCodesString(acceptedCountryCodes));
        }
        TextField acceptedCountries = addLabelTextField(gridPane, ++rowIndex, "Accepted taker countries:", countries).second;
        if (tooltip != null)
            acceptedCountries.setTooltip(new Tooltip());
    }
    if (showAcceptedBanks) {
        if (offer.getPaymentMethod().equals(PaymentMethod.SAME_BANK)) {
            addLabelTextField(gridPane, ++rowIndex, "Bank name:", acceptedBanks.get(0));
        } else if (offer.getPaymentMethod().equals(PaymentMethod.SPECIFIC_BANKS)) {
            String value = Joiner.on(", ").join(acceptedBanks);
            Tooltip tooltip = new Tooltip("Accepted banks: " + value);
            TextField acceptedBanksTextField = addLabelTextField(gridPane, ++rowIndex, "Accepted banks:", value).second;
            acceptedBanksTextField.setMouseTransparent(false);
            acceptedBanksTextField.setTooltip(tooltip);
        }
    }
    addLabelTxIdTextField(gridPane, ++rowIndex, "Offer fee transaction ID:", offer.getOfferFeePaymentTxID());
    addLabelTxIdTextField(gridPane, ++rowIndex, "Trading fee transaction ID:", contract.takeOfferFeeTxID);
    if (dispute.getDepositTxSerialized() != null)
        addLabelTxIdTextField(gridPane, ++rowIndex, "Deposit transaction ID:", dispute.getDepositTxId());
    if (dispute.getPayoutTxSerialized() != null)
        addLabelTxIdTextField(gridPane, ++rowIndex, "Payout transaction ID:", dispute.getPayoutTxId());
    addLabelTextFieldWithCopyIcon(gridPane, ++rowIndex, "Contract hash:", Utils.HEX.encode(dispute.getContractHash())).second.setMouseTransparent(false);
    if (contract != null) {
        Button viewContractButton = addLabelButton(gridPane, ++rowIndex, "Contract in JSON format:", "View contract in JSON format", 0).second;
        viewContractButton.setDefaultButton(false);
        viewContractButton.setOnAction(e -> {
            TextArea textArea = new TextArea();
            String contractAsJson = dispute.getContractAsJson();
            contractAsJson += "\n\nBuyerMultiSigPubKeyHex: " + Utils.HEX.encode(dispute.getContract().getBuyerMultiSigPubKey());
            contractAsJson += "\nSellerMultiSigPubKeyHex: " + Utils.HEX.encode(dispute.getContract().getSellerMultiSigPubKey());
            textArea.setText(contractAsJson);
            textArea.setPrefHeight(50);
            textArea.setEditable(false);
            textArea.setWrapText(true);
            textArea.setPrefSize(800, 600);
            Scene viewContractScene = new Scene(textArea);
            Stage viewContractStage = new Stage();
            viewContractStage.setTitle("Contract for trade with ID: " + dispute.getShortTradeId());
            viewContractStage.setScene(viewContractScene);
            if (owner == null)
                owner = MainView.getRootContainer();
            Scene rootScene = owner.getScene();
            viewContractStage.initOwner(rootScene.getWindow());
            viewContractStage.initModality(Modality.NONE);
            viewContractStage.initStyle(StageStyle.UTILITY);
            viewContractStage.show();
            Window window = rootScene.getWindow();
            double titleBarHeight = window.getHeight() - rootScene.getHeight();
            viewContractStage.setX(Math.round(window.getX() + (owner.getWidth() - viewContractStage.getWidth()) / 2) + 200);
            viewContractStage.setY(Math.round(window.getY() + titleBarHeight + (owner.getHeight() - viewContractStage.getHeight()) / 2) + 50);
        });
    }
    Button cancelButton = addButtonAfterGroup(gridPane, ++rowIndex, "Close");
    //TODO app wide focus
    //cancelButton.requestFocus();
    cancelButton.setOnAction(e -> {
        closeHandlerOptional.ifPresent(closeHandler -> closeHandler.run());
        hide();
    });
}
Also used : Window(javafx.stage.Window) PaymentAccountContractData(io.bitsquare.payment.PaymentAccountContractData) ExchangeRate(org.bitcoinj.utils.ExchangeRate) TextArea(javafx.scene.control.TextArea) Tooltip(javafx.scene.control.Tooltip) Scene(javafx.scene.Scene) Offer(io.bitsquare.trade.offer.Offer) Button(javafx.scene.control.Button) TextField(javafx.scene.control.TextField) Stage(javafx.stage.Stage) Contract(io.bitsquare.trade.Contract)

Aggregations

Window (javafx.stage.Window)27 Scene (javafx.scene.Scene)11 Stage (javafx.stage.Stage)6 FXML (javafx.fxml.FXML)4 Point2D (javafx.geometry.Point2D)4 Button (javafx.scene.control.Button)4 TextField (javafx.scene.control.TextField)4 SkinManager (com.kyj.fx.voeditor.visual.momory.SkinManager)3 File (java.io.File)3 IOException (java.io.IOException)3 Optional (java.util.Optional)3 ObservableList (javafx.collections.ObservableList)3 Node (javafx.scene.Node)3 TextArea (javafx.scene.control.TextArea)3 Tooltip (javafx.scene.control.Tooltip)3 BorderPane (javafx.scene.layout.BorderPane)3 Profile (com.exalttech.trex.remote.models.profiles.Profile)2 DialogWindow (com.exalttech.trex.ui.dialog.DialogWindow)2 TableProfile (com.exalttech.trex.ui.views.models.TableProfile)2 TrafficProfile (com.exalttech.trex.util.TrafficProfile)2