From c7eff9080b8dd051ac8abace90a84fb1fb92105b Mon Sep 17 00:00:00 2001 From: Seil0 Date: Thu, 9 May 2019 15:24:45 +0200 Subject: [PATCH] add some basic functionality to MainView --- .../view/mainView/DetailView.kt | 4 +-- .../view/mainView/FolderView.kt | 17 ++++++++-- .../view/mainView/MainView.kt | 22 +++++++++++-- .../view/mainView/MainViewController.kt | 31 ++++++++++++++++++ ...ample_texture.jpg => sample_texture_1.jpg} | Bin .../resources/textures/sample_texture_2.jpg | Bin 0 -> 6311 bytes 6 files changed, 67 insertions(+), 7 deletions(-) rename client/src/main/resources/textures/{sample_texture.jpg => sample_texture_1.jpg} (100%) create mode 100644 client/src/main/resources/textures/sample_texture_2.jpg diff --git a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/DetailView.kt b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/DetailView.kt index fb41d84..67d3a5e 100644 --- a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/DetailView.kt +++ b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/DetailView.kt @@ -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() init { // set a default texture - preview.setTexture(Image("textures/sample_texture.jpg")) + preview.setTexture(Image("textures/sample_texture_1.jpg")) } override val root = form { diff --git a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/FolderView.kt b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/FolderView.kt index 6ed3611..a025996 100644 --- a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/FolderView.kt +++ b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/FolderView.kt @@ -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;" + } } } \ No newline at end of file diff --git a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainView.kt b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainView.kt index 00282a3..b3dc78d 100644 --- a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainView.kt +++ b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainView.kt @@ -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? -> + mvc.updateTags() + } + } diff --git a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainViewController.kt b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainViewController.kt index 6b30469..1c7c328 100644 --- a/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainViewController.kt +++ b/client/src/main/kotlin/org/hso/texturesyncclient/view/mainView/MainViewController.kt @@ -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) { + cvTags.chips.clear() + cvTags.chips.addAll(chips) + } + + // update the tags for the selected element + fun updateTags() { + println(cvTags.chips) + } + } \ No newline at end of file diff --git a/client/src/main/resources/textures/sample_texture.jpg b/client/src/main/resources/textures/sample_texture_1.jpg similarity index 100% rename from client/src/main/resources/textures/sample_texture.jpg rename to client/src/main/resources/textures/sample_texture_1.jpg diff --git a/client/src/main/resources/textures/sample_texture_2.jpg b/client/src/main/resources/textures/sample_texture_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f982158ae8890e56e7290307958a1128db288f4 GIT binary patch literal 6311 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 literal 0 HcmV?d00001