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  | 
							
								
								
									
										
											BIN
										
									
								
								client/src/main/resources/textures/sample_texture_2.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.2 KiB  |