add some basic functionality to MainView
|
@ -14,12 +14,12 @@ import tornadofx.*
|
|||
class DetailView: View() {
|
||||
|
||||
val preview = Preview3D()
|
||||
val metaLabel = Label("Auflösung: 8MP\n Name: Texture.png\n Andere: was anderes")
|
||||
val metaLabel = Label("Auflösung: 8MP\nName: Texture.png\nAndere: was anderes")
|
||||
val cvTags = JFXChipView<String>()
|
||||
|
||||
init {
|
||||
// set a default texture
|
||||
preview.setTexture(Image("textures/sample_texture.jpg"))
|
||||
preview.setTexture(Image("textures/sample_texture_1.jpg"))
|
||||
}
|
||||
|
||||
override val root = form {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.hso.texturesyncclient.view.mainView
|
||||
|
||||
import com.jfoenix.controls.JFXButton
|
||||
import javafx.geometry.Insets
|
||||
import javafx.scene.control.TextField
|
||||
import javafx.scene.layout.Background
|
||||
|
@ -10,12 +11,22 @@ import tornadofx.*
|
|||
|
||||
class FolderView : View("FolderView"){
|
||||
|
||||
val tf = TextField("FolderView")
|
||||
val btn1 = JFXButton("Button 1")
|
||||
val btn2 = JFXButton("Button 2")
|
||||
|
||||
override val root = gridpane {
|
||||
override val root = flowpane {
|
||||
hgap = 5.0
|
||||
vgap = 5.0
|
||||
paddingAll = 5.0
|
||||
prefWidth = 750.0
|
||||
background = Background(BackgroundFill(Paint.valueOf("#cfcfcf"), CornerRadii.EMPTY, Insets.EMPTY))
|
||||
|
||||
add(tf)
|
||||
add(btn1)
|
||||
add(btn2)
|
||||
|
||||
style {
|
||||
btn1.style = "-fx-button-type: RAISED; -fx-background-color: #3c3f41; -fx-text-fill: #2b7bbb;"
|
||||
btn2.style = "-fx-button-type: RAISED; -fx-background-color: #3c3f41; -fx-text-fill: #2b7bbb;"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,11 +1,13 @@
|
|||
package org.hso.texturesyncclient.view.mainView
|
||||
|
||||
import javafx.collections.ListChangeListener
|
||||
import javafx.scene.image.Image
|
||||
import tornadofx.*
|
||||
|
||||
class MainView : View() {
|
||||
|
||||
private val folderView = find(FolderView::class)
|
||||
private val detailView = find(DetailView::class)
|
||||
val folderView = find(FolderView::class)
|
||||
val detailView = find(DetailView::class)
|
||||
|
||||
private val mvc: MainViewController by inject()
|
||||
|
||||
|
@ -21,6 +23,22 @@ class MainView : View() {
|
|||
}
|
||||
|
||||
// actions
|
||||
folderView.btn1.setOnAction {
|
||||
mvc.setPreview3DTexture(Image("textures/sample_texture_1.jpg"))
|
||||
mvc.setMeta("texture 1", "8MP", "Quelle: wikipedia")
|
||||
mvc.setTags(observableList("Stein", "Rot", "super"))
|
||||
}
|
||||
|
||||
folderView.btn2.setOnAction {
|
||||
mvc.setPreview3DTexture(Image("textures/sample_texture_2.jpg"))
|
||||
mvc.setMeta("texture 2", "300 x 400", "Quelle: Internet")
|
||||
mvc.setTags(observableList("Reality", "is", "an", "illusion"))
|
||||
}
|
||||
|
||||
detailView.cvTags.chips.addListener { change: ListChangeListener.Change<out String>? ->
|
||||
mvc.updateTags()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,37 @@
|
|||
package org.hso.texturesyncclient.view.mainView
|
||||
|
||||
import javafx.collections.ObservableList
|
||||
import javafx.scene.image.Image
|
||||
import tornadofx.Controller
|
||||
|
||||
class MainViewController : Controller() {
|
||||
|
||||
private val mv = find(MainView::class)
|
||||
|
||||
// FolderView elements
|
||||
|
||||
// DetailView elements
|
||||
private val preview = mv.detailView.preview
|
||||
private val metaLabel = mv.detailView.metaLabel
|
||||
private val cvTags = mv.detailView.cvTags
|
||||
|
||||
|
||||
fun setPreview3DTexture(img: Image) {
|
||||
preview.setTexture(img)
|
||||
}
|
||||
|
||||
fun setMeta(name: String, res: String, etc: String) {
|
||||
metaLabel.text = "Name: $name\nAuflösung: $res\nAnderes: $etc"
|
||||
}
|
||||
|
||||
fun setTags(chips: ObservableList<String>) {
|
||||
cvTags.chips.clear()
|
||||
cvTags.chips.addAll(chips)
|
||||
}
|
||||
|
||||
// update the tags for the selected element
|
||||
fun updateTags() {
|
||||
println(cvTags.chips)
|
||||
}
|
||||
|
||||
}
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 6.2 KiB |