mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-03 18:47:38 +01:00
Move DLC/Event loading operations to Pane (#3567)
* Move DLC/Event loading operations to Pane * Change labeling to Accept Offer / Build Offer * Cleanup comment
This commit is contained in:
parent
d2a7bc02b6
commit
5567d2214f
3 changed files with 30 additions and 48 deletions
|
@ -66,14 +66,13 @@
|
||||||
-fx-border-width: 1px;
|
-fx-border-width: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Accordion TitledPane heading content */
|
/* Accept / Build Offer Pane */
|
||||||
.small {
|
.load-label {
|
||||||
-fx-font-size: 0.8em;
|
-fx-padding: 0 10 0 0;
|
||||||
}
|
}
|
||||||
|
.load-textfield {
|
||||||
/* Accordion TitledPane heading textfield */
|
-fx-pref-width: 130;
|
||||||
.title-textfield {
|
-fx-prompt-text-fill: #b0b0b0;
|
||||||
-fx-pref-width: 90;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adjust SplitPane divider visibility and padding */
|
/* Adjust SplitPane divider visibility and padding */
|
||||||
|
|
|
@ -25,12 +25,12 @@ import org.bitcoins.gui.dlc.dialog.{
|
||||||
SignDLCDialog,
|
SignDLCDialog,
|
||||||
ViewDLCDialog
|
ViewDLCDialog
|
||||||
}
|
}
|
||||||
import org.bitcoins.gui.util.GUIUtil
|
|
||||||
import scalafx.beans.property.StringProperty
|
import scalafx.beans.property.StringProperty
|
||||||
import scalafx.geometry._
|
import scalafx.geometry._
|
||||||
import scalafx.scene.Parent
|
import scalafx.scene.Parent
|
||||||
import scalafx.scene.control.{
|
import scalafx.scene.control.{
|
||||||
ContextMenu,
|
ContextMenu,
|
||||||
|
Label,
|
||||||
MenuItem,
|
MenuItem,
|
||||||
TableColumn,
|
TableColumn,
|
||||||
TableView,
|
TableView,
|
||||||
|
@ -39,7 +39,6 @@ import scalafx.scene.control.{
|
||||||
import scalafx.scene.layout._
|
import scalafx.scene.layout._
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Files
|
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
import scala.util.{Failure, Success}
|
import scala.util.{Failure, Success}
|
||||||
|
@ -48,9 +47,13 @@ class ContractGUI(glassPane: VBox) {
|
||||||
|
|
||||||
private[gui] lazy val model = new ContractGUIModel()
|
private[gui] lazy val model = new ContractGUIModel()
|
||||||
|
|
||||||
|
private lazy val addEventLabel = new Label("Build Offer") {
|
||||||
|
styleClass += "load-label"
|
||||||
|
}
|
||||||
|
|
||||||
private lazy val addEventTF = new TextField {
|
private lazy val addEventTF = new TextField {
|
||||||
styleClass += "title-textfield"
|
styleClass += "load-textfield"
|
||||||
promptText = "New Event Hex"
|
promptText = "Paste Hex"
|
||||||
onKeyTyped = _ => {
|
onKeyTyped = _ => {
|
||||||
val event = model.addEvent(this.text.value.trim)
|
val event = model.addEvent(this.text.value.trim)
|
||||||
event match {
|
event match {
|
||||||
|
@ -70,14 +73,13 @@ class ContractGUI(glassPane: VBox) {
|
||||||
addEventTF.clear()
|
addEventTF.clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy val addEventHBox = new HBox {
|
private lazy val addContractLabel = new Label("Accept Offer") {
|
||||||
styleClass += "small"
|
styleClass += "load-label"
|
||||||
children = Seq(addEventTF)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private lazy val addContractTF = new TextField {
|
private lazy val addContractTF = new TextField {
|
||||||
styleClass += "title-textfield"
|
styleClass += "load-textfield"
|
||||||
promptText = "Contract Hex"
|
promptText = "Paste Hex"
|
||||||
onKeyTyped = _ => {
|
onKeyTyped = _ => {
|
||||||
val validAddition = onContractAdded(text.value.trim, None)
|
val validAddition = onContractAdded(text.value.trim, None)
|
||||||
if (validAddition) clearContractTF() // Clear on valid data
|
if (validAddition) clearContractTF() // Clear on valid data
|
||||||
|
@ -89,15 +91,15 @@ class ContractGUI(glassPane: VBox) {
|
||||||
addContractTF.clear()
|
addContractTF.clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
private lazy val fileChooserButton = GUIUtil.getFileChooserButton(file => {
|
lazy val loadPane = new GridPane {
|
||||||
val hex = Files.readAllLines(file.toPath).get(0)
|
styleClass += "load-pane"
|
||||||
val validAddition = onContractAdded(hex, Some(file))
|
padding = Insets(10, 0, 10, 11)
|
||||||
if (validAddition) clearContractTF() // Clear on valid data
|
hgap = 5
|
||||||
})
|
add(addContractLabel, 0, 0)
|
||||||
|
add(addContractTF, 1, 0)
|
||||||
lazy val addContractHBox = new HBox {
|
add(new Region { prefWidth = 57 }, 2, 0)
|
||||||
styleClass += "small"
|
add(addEventLabel, 3, 0)
|
||||||
children = Seq(fileChooserButton, addContractTF)
|
add(addEventTF, 4, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
private lazy val eventIdCol = new TableColumn[
|
private lazy val eventIdCol = new TableColumn[
|
||||||
|
|
|
@ -135,24 +135,6 @@ abstract class WalletGUI extends Logging {
|
||||||
children = Vector(walletGrid, buttonBox)
|
children = Vector(walletGrid, buttonBox)
|
||||||
}
|
}
|
||||||
|
|
||||||
private lazy val eventsLabel = new Label("Events")
|
|
||||||
|
|
||||||
private lazy val eventsTitleHbox = new HBox {
|
|
||||||
alignment = Pos.Center
|
|
||||||
children = Seq(eventsLabel, GUIUtil.getHSpacer(), contractGUI.addEventHBox)
|
|
||||||
}
|
|
||||||
|
|
||||||
private lazy val contractLabel = new Label("Contracts")
|
|
||||||
|
|
||||||
private lazy val contractsTitleHbox = new HBox {
|
|
||||||
alignment = Pos.Center
|
|
||||||
children =
|
|
||||||
Seq(contractLabel, GUIUtil.getHSpacer(), contractGUI.addContractHBox)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Magic indent so text doesn't write passed edge of TitledPane
|
|
||||||
private val TITLEPANE_RIGHT_GUTTER = 35
|
|
||||||
|
|
||||||
private lazy val sidebarAccordian = new VBox {
|
private lazy val sidebarAccordian = new VBox {
|
||||||
padding = Insets(4)
|
padding = Insets(4)
|
||||||
|
|
||||||
|
@ -162,15 +144,14 @@ abstract class WalletGUI extends Logging {
|
||||||
}
|
}
|
||||||
|
|
||||||
val eventUI = new TitledPane {
|
val eventUI = new TitledPane {
|
||||||
graphic = eventsTitleHbox
|
|
||||||
content = contractGUI.eventPane
|
content = contractGUI.eventPane
|
||||||
|
text = "Events"
|
||||||
expanded = false
|
expanded = false
|
||||||
}
|
}
|
||||||
eventsTitleHbox.minWidth <== eventUI.width - TITLEPANE_RIGHT_GUTTER
|
|
||||||
|
|
||||||
val contractUI = new TitledPane {
|
val contractUI = new TitledPane {
|
||||||
graphic = contractsTitleHbox
|
|
||||||
content = dlcPane.tableView
|
content = dlcPane.tableView
|
||||||
|
text = "Contracts"
|
||||||
dlcPane.tableView.onMouseClicked = _ => {
|
dlcPane.tableView.onMouseClicked = _ => {
|
||||||
val i = dlcPane.tableView.getSelectionModel.getSelectedItem
|
val i = dlcPane.tableView.getSelectionModel.getSelectedItem
|
||||||
if (i != null) {
|
if (i != null) {
|
||||||
|
@ -178,12 +159,12 @@ abstract class WalletGUI extends Logging {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contractsTitleHbox.minWidth <== contractUI.width - TITLEPANE_RIGHT_GUTTER
|
|
||||||
|
|
||||||
children = Vector(
|
children = Vector(
|
||||||
|
contractGUI.loadPane,
|
||||||
walletUI,
|
walletUI,
|
||||||
eventUI,
|
|
||||||
contractUI,
|
contractUI,
|
||||||
|
eventUI,
|
||||||
GUIUtil.getVSpacer(),
|
GUIUtil.getVSpacer(),
|
||||||
stateDetails
|
stateDetails
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue