package fmon.builder import java.io._ import javafx.application.Application import javafx.fxml.FXML import javafx.fxml.FXMLLoader import javafx.fxml.JavaFXBuilderFactory import javafx.scene.{control => jfxsc, Parent, Scene} import javafx.stage.Stage import scalafx.Includes._ import scalafx.beans.property._ import scalafx.collections.ObservableBuffer import scalafx.scene.control._ import scalafx.scene.paint.Color import scalafx.scene.layout._ import fmon.stat.FormToken class FormeBuilder extends Savable { @FXML var formes: jfxsc.ListView[FormToken] = _ @FXML var name: jfxsc.TextField = _ @FXML var height: jfxsc.TextField = _ @FXML var weight: jfxsc.TextField = _ @FXML var levelRate: jfxsc.ComboBox[_] = _ @FXML var catchRate: jfxsc.Spinner[Int] = _ @FXML var genderRatio: jfxsc.ComboBox[_] = _ @FXML var abilities: jfxsc.ListView[_] = _ @FXML var abilityList: jfxsc.ComboBox[_] = _ @FXML var hiddenAbilities: jfxsc.ListView[_] = _ @FXML var hiddenAbilityList: jfxsc.ComboBox[_] = _ @FXML var eggGroup: jfxsc.ListView[_] = _ @FXML var eggGroupList: jfxsc.ComboBox[_] = _ @FXML var movePool: jfxsc.ListView[_] = _ @FXML var moveList: jfxsc.ComboBox[_] = _ @FXML def initialize(): Unit = { } def addForme(): Unit = { } def addAbility(): Unit = { } def addHiddenAbility(): Unit = { } def addEggGroup(): Unit = { } def addMove(): Unit = { } override def saveTo(file: File): Unit = { } override def openFrom(file: File): Unit = { } } object FormeBuilder { class FBA extends Application { override def start(primaryStage: Stage): Unit = { val frameLoader = new FXMLLoader(getClass.getResource("App.fxml")) val root: Parent = frameLoader.load() val controller = frameLoader.getController[App]() val builderLoader = new FXMLLoader(getClass.getResource("FormeBuilder.fxml")) val builder: Parent = builderLoader.load() val builderController = builderLoader.getController[FormeBuilder]() controller.pane.children = builder controller.builder = builderController val scene: Scene = new Scene(root) primaryStage.setScene(scene) primaryStage.show() } } def main(args: Array[String]): Unit = { Application.launch(classOf[FBA], args: _*) } }