mirror of
https://github.com/sparrowwallet/sparrow.git
synced 2025-11-05 11:56:37 +00:00
allow transaction diagram input and output labels to expand into available width
This commit is contained in:
parent
bef6c750bd
commit
e8c5660897
3 changed files with 39 additions and 8 deletions
|
|
@ -24,6 +24,7 @@ import javafx.beans.property.SimpleBooleanProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.embed.swing.SwingFXUtils;
|
import javafx.embed.swing.SwingFXUtils;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.geometry.HPos;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Group;
|
import javafx.scene.Group;
|
||||||
|
|
@ -105,6 +106,7 @@ public class TransactionDiagram extends GridPane {
|
||||||
expandedDiagram.setId("transactionDiagram");
|
expandedDiagram.setId("transactionDiagram");
|
||||||
expandedDiagram.setExpanded(true);
|
expandedDiagram.setExpanded(true);
|
||||||
expandedDiagram.setFinal(isFinal());
|
expandedDiagram.setFinal(isFinal());
|
||||||
|
expandedDiagram.setMaxWidth(AppServices.getActiveWindow().getWidth() - 200);
|
||||||
updateDerivedDiagram(expandedDiagram);
|
updateDerivedDiagram(expandedDiagram);
|
||||||
|
|
||||||
HBox buttonBox = new HBox();
|
HBox buttonBox = new HBox();
|
||||||
|
|
@ -122,7 +124,7 @@ public class TransactionDiagram extends GridPane {
|
||||||
AppServices.setStageIcon(stage);
|
AppServices.setStageIcon(stage);
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
stage.setOnShowing(e -> {
|
stage.setOnShowing(e -> {
|
||||||
AppServices.moveToActiveWindowScreen(stage, 600, 460);
|
AppServices.moveToActiveWindowScreen(stage, expandedDiagram.getMaxWidth(), 460);
|
||||||
});
|
});
|
||||||
stage.setOnHidden(e -> {
|
stage.setOnHidden(e -> {
|
||||||
expandedDiagram = null;
|
expandedDiagram = null;
|
||||||
|
|
@ -139,6 +141,39 @@ public class TransactionDiagram extends GridPane {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public TransactionDiagram() {
|
||||||
|
ColumnConstraints col1 = new ColumnConstraints();
|
||||||
|
col1.setPrefWidth(22);
|
||||||
|
col1.setHgrow(Priority.NEVER);
|
||||||
|
|
||||||
|
ColumnConstraints col2 = new ColumnConstraints();
|
||||||
|
col2.setHgrow(Priority.ALWAYS);
|
||||||
|
col2.setPercentWidth(25);
|
||||||
|
col2.setFillWidth(true);
|
||||||
|
|
||||||
|
ColumnConstraints col3 = new ColumnConstraints();
|
||||||
|
col3.setPrefWidth(140);
|
||||||
|
col3.setHgrow(Priority.NEVER);
|
||||||
|
|
||||||
|
ColumnConstraints col4 = new ColumnConstraints();
|
||||||
|
Label label = new Label();
|
||||||
|
col4.setMinWidth(TextUtils.computeTextWidth(label.getFont(), "Transaction", 0) + 20);
|
||||||
|
col4.setHgrow(Priority.NEVER);
|
||||||
|
col4.setHalignment(HPos.CENTER);
|
||||||
|
|
||||||
|
ColumnConstraints col5 = new ColumnConstraints();
|
||||||
|
col5.setPrefWidth(140);
|
||||||
|
col5.setHgrow(Priority.NEVER);
|
||||||
|
|
||||||
|
ColumnConstraints col6 = new ColumnConstraints();
|
||||||
|
col6.setHgrow(Priority.ALWAYS);
|
||||||
|
col6.setPercentWidth(25);
|
||||||
|
col6.setFillWidth(true);
|
||||||
|
|
||||||
|
getColumnConstraints().addAll(col1, col2, col3, col4, col5, col6);
|
||||||
|
setPadding(new Insets(0, 0, 0, 40));
|
||||||
|
}
|
||||||
|
|
||||||
public void update(WalletTransaction walletTx) {
|
public void update(WalletTransaction walletTx) {
|
||||||
setMinHeight(getDiagramHeight());
|
setMinHeight(getDiagramHeight());
|
||||||
setMaxHeight(getDiagramHeight());
|
setMaxHeight(getDiagramHeight());
|
||||||
|
|
@ -410,8 +445,6 @@ public class TransactionDiagram extends GridPane {
|
||||||
|
|
||||||
private Pane getInputsLabels(List<Map<BlockTransactionHashIndex, WalletNode>> displayedUtxoSets) {
|
private Pane getInputsLabels(List<Map<BlockTransactionHashIndex, WalletNode>> displayedUtxoSets) {
|
||||||
VBox inputsBox = new VBox();
|
VBox inputsBox = new VBox();
|
||||||
inputsBox.setMaxWidth(isExpanded() ? 300 : 150);
|
|
||||||
inputsBox.setPrefWidth(isExpanded() ? 230 : 150);
|
|
||||||
inputsBox.setPadding(new Insets(0, 10, 0, 10));
|
inputsBox.setPadding(new Insets(0, 10, 0, 10));
|
||||||
inputsBox.minHeightProperty().bind(minHeightProperty());
|
inputsBox.minHeightProperty().bind(minHeightProperty());
|
||||||
inputsBox.setAlignment(Pos.BASELINE_RIGHT);
|
inputsBox.setAlignment(Pos.BASELINE_RIGHT);
|
||||||
|
|
@ -679,8 +712,6 @@ public class TransactionDiagram extends GridPane {
|
||||||
|
|
||||||
private Pane getOutputsLabels(List<Payment> displayedPayments) {
|
private Pane getOutputsLabels(List<Payment> displayedPayments) {
|
||||||
VBox outputsBox = new VBox();
|
VBox outputsBox = new VBox();
|
||||||
outputsBox.setMaxWidth(isExpanded() ? 350 : 150);
|
|
||||||
outputsBox.setPrefWidth(isExpanded() ? 230 : 150);
|
|
||||||
outputsBox.setPadding(new Insets(0, 20, 0, 10));
|
outputsBox.setPadding(new Insets(0, 20, 0, 10));
|
||||||
outputsBox.setAlignment(Pos.BASELINE_LEFT);
|
outputsBox.setAlignment(Pos.BASELINE_LEFT);
|
||||||
outputsBox.getChildren().add(createSpacer());
|
outputsBox.getChildren().add(createSpacer());
|
||||||
|
|
|
||||||
|
|
@ -78,8 +78,8 @@
|
||||||
<Tab text="Overview" closable="false">
|
<Tab text="Overview" closable="false">
|
||||||
<VBox spacing="8" alignment="CENTER">
|
<VBox spacing="8" alignment="CENTER">
|
||||||
<Region VBox.vgrow="SOMETIMES" />
|
<Region VBox.vgrow="SOMETIMES" />
|
||||||
<TransactionDiagram fx:id="transactionDiagram" maxWidth="700" final="true"/>
|
<TransactionDiagram fx:id="transactionDiagram" final="true"/>
|
||||||
<TransactionDiagramLabel fx:id="transactionDiagramLabel" maxWidth="640" prefWidth="640" />
|
<TransactionDiagramLabel fx:id="transactionDiagramLabel" />
|
||||||
<Region VBox.vgrow="SOMETIMES" />
|
<Region VBox.vgrow="SOMETIMES" />
|
||||||
</VBox>
|
</VBox>
|
||||||
</Tab>
|
</Tab>
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
</GridPane>
|
</GridPane>
|
||||||
<StackPane VBox.vgrow="SOMETIMES">
|
<StackPane VBox.vgrow="SOMETIMES">
|
||||||
<TransactionDiagram fx:id="transactionDiagram" maxWidth="700" />
|
<TransactionDiagram fx:id="transactionDiagram" />
|
||||||
</StackPane>
|
</StackPane>
|
||||||
</VBox>
|
</VBox>
|
||||||
</center>
|
</center>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue