package org.hso.texturesyncclient.model import javafx.geometry.Insets import javafx.geometry.Pos import javafx.scene.control.ContextMenu import javafx.scene.control.Label import javafx.scene.control.MenuItem import javafx.scene.image.Image import javafx.scene.image.ImageView import javafx.scene.layout.Background import javafx.scene.layout.BackgroundFill import javafx.scene.layout.CornerRadii import javafx.scene.layout.VBox import javafx.scene.paint.Paint import tornadofx.* class GUIModel constructor(data: Texture, img: Image) : VBox(){ private var image = ImageView() private var label = Label() private var contextMenu = ContextMenu() private var exportItem = MenuItem("exportiern") init { super.getChildren().addAll(image, label) super.setOnContextMenuRequested { p0 -> contextMenu.show(this@GUIModel, p0.screenX, p0.screenY) } label.paddingTop = 5.0 label.prefWidth = 128.0 label.alignment = Pos.CENTER label.text = data.name label.background = Background(BackgroundFill(Paint.valueOf("#FFFF2b"), CornerRadii.EMPTY, Insets.EMPTY)) image.fitHeight = 128.0 image.fitWidth = 128.0 image.image = img contextMenu.items.add(exportItem) exportItem.setOnAction { println("I bims 1 export: ${label.text}") println(data.name) } } fun setText(text: String) { label.text = text } fun setImage(img: Image) { image.image = img } }