parent
a2f5b65e30
commit
cc03b32ade
|
@ -12,9 +12,11 @@ import javafx.scene.layout.BackgroundFill
|
|||
import javafx.scene.layout.CornerRadii
|
||||
import javafx.scene.layout.VBox
|
||||
import javafx.scene.paint.Paint
|
||||
import tornadofx.*
|
||||
import tornadofx.addClass
|
||||
import tornadofx.find
|
||||
import tornadofx.paddingTop
|
||||
|
||||
class GUIModel constructor(var data: Texture, img: Image) : VBox(){
|
||||
class GUIModel constructor(var data: Texture, img: Image) : VBox() {
|
||||
|
||||
private var image = ImageView()
|
||||
private var label = Label()
|
||||
|
@ -24,14 +26,14 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
|
|||
|
||||
private lateinit var texture: Texture
|
||||
|
||||
private val gmc = find(GUIModelController::class)
|
||||
private val gmc = find(GUIModelController::class)
|
||||
|
||||
init {
|
||||
texture = data
|
||||
super.setPadding(Insets(5.0, 5.0, 5.0, 5.0))
|
||||
super.getChildren().addAll(image, label)
|
||||
super.setOnContextMenuRequested { p0 -> contextMenu.show(this@GUIModel, p0.screenX, p0.screenY) }
|
||||
super.setOnMouseClicked{
|
||||
super.setOnMouseClicked {
|
||||
if (gmc.isLastSelectedInitialized()) {
|
||||
gmc.lastSelected.background = Background.EMPTY
|
||||
this.background = Background(BackgroundFill(Paint.valueOf("#2b7bbb"), CornerRadii.EMPTY, Insets.EMPTY))
|
||||
|
@ -45,11 +47,18 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
|
|||
|
||||
}
|
||||
|
||||
label.addClass("metadata")
|
||||
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))
|
||||
|
||||
label.text = if (data.name.length > 15) {
|
||||
"${data.name.subSequence(0, 14)}.."
|
||||
} else {
|
||||
data.name
|
||||
}
|
||||
|
||||
label.background = Background(BackgroundFill(Paint.valueOf("#3a3a3a"), CornerRadii.EMPTY, Insets.EMPTY))
|
||||
|
||||
image.fitHeight = 128.0
|
||||
image.fitWidth = 128.0
|
||||
|
@ -67,7 +76,7 @@ class GUIModel constructor(var data: Texture, img: Image) : VBox(){
|
|||
contextMenu.items.add(deleteItem)
|
||||
}
|
||||
|
||||
fun setTexture(data: Texture){
|
||||
fun setTexture(data: Texture) {
|
||||
texture = data
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.hso.texturesyncclient.view.mainView
|
|||
import com.jfoenix.controls.JFXChipView
|
||||
import javafx.geometry.Insets
|
||||
import javafx.geometry.Orientation
|
||||
import javafx.scene.control.Label
|
||||
import javafx.scene.image.Image
|
||||
import javafx.scene.layout.Background
|
||||
import javafx.scene.layout.BackgroundFill
|
||||
|
@ -11,12 +10,38 @@ import javafx.scene.layout.CornerRadii
|
|||
import javafx.scene.paint.Paint
|
||||
import tornadofx.*
|
||||
|
||||
class DetailView: View() {
|
||||
class DetailView : View() {
|
||||
|
||||
val preview = Preview3D()
|
||||
val metaLabel = Label("Auflösung: 8MP\nName: Texture.png\nAndere: was anderes\nEinfügedatum: 31.02.2019")
|
||||
val cvTags = JFXChipView<String>()
|
||||
|
||||
val nameInfo = label().addClass("metadata")
|
||||
val resolutionInfo = label().addClass("metadata")
|
||||
val formatInfo = label().addClass("metadata")
|
||||
val dateInfo = label().addClass("metadata")
|
||||
|
||||
val metadataPanel = gridpane {
|
||||
|
||||
isVisible = false
|
||||
|
||||
row {
|
||||
label("Name ").addClass("metadata")
|
||||
add(nameInfo)
|
||||
}
|
||||
row {
|
||||
label("Auflösung ").addClass("metadata")
|
||||
add(resolutionInfo)
|
||||
}
|
||||
row {
|
||||
label("Format ").addClass("metadata")
|
||||
add(formatInfo)
|
||||
}
|
||||
row {
|
||||
label("Einfügedatum ").addClass("metadata")
|
||||
add(dateInfo)
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
// set a default texture
|
||||
preview.setTexture(Image("icons/TextureSync_Icon_256x256.jpeg"))
|
||||
|
@ -28,33 +53,21 @@ class DetailView: View() {
|
|||
|
||||
fieldset(labelPosition = Orientation.VERTICAL) {
|
||||
|
||||
field{
|
||||
field {
|
||||
vbox(7) {
|
||||
add(preview)
|
||||
}
|
||||
}
|
||||
|
||||
field {
|
||||
paddingTop = 2
|
||||
paddingBottom = 3
|
||||
add(metaLabel)
|
||||
add(metadataPanel)
|
||||
}
|
||||
|
||||
field {
|
||||
minHeight = 155.0
|
||||
add(cvTags)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
style {
|
||||
metaLabel.style = "-fx-text-fill: #2b7bbb;"
|
||||
|
||||
cvTags.minHeight = 145.0
|
||||
cvTags.paddingAll = 3.0
|
||||
cvTags.style = "-fx-background-color: #53585b; -fx-text-inner-color: #b15b2e;"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -17,7 +17,6 @@ class MainViewController : Controller() {
|
|||
|
||||
// DetailView elements
|
||||
private val preview = mv.detailView.preview
|
||||
private val metaLabel = mv.detailView.metaLabel
|
||||
private val cvTags = mv.detailView.cvTags
|
||||
private var lockUpdate: Boolean = false //lock update func when the system changes the detailview chipview
|
||||
|
||||
|
@ -32,7 +31,12 @@ class MainViewController : Controller() {
|
|||
}
|
||||
|
||||
fun setMeta(name: String, res: String, format: String, date: String) {
|
||||
metaLabel.text = "Name: $name\nAuflösung: $res\nFormat: $format\nEinfügedatum: $date"
|
||||
with( mv.detailView) {
|
||||
nameInfo.text = name
|
||||
formatInfo.text = format
|
||||
resolutionInfo.text = date
|
||||
dateInfo.text = date
|
||||
}
|
||||
}
|
||||
|
||||
fun setTags(chips: ObservableList<String>) {
|
||||
|
@ -82,10 +86,10 @@ class MainViewController : Controller() {
|
|||
|
||||
fun setVisibleMetaTags(bool: Boolean){
|
||||
if(bool){
|
||||
metaLabel.isVisible = true
|
||||
mv.detailView.metadataPanel.isVisible = true
|
||||
cvTags.isVisible = true
|
||||
}else{
|
||||
metaLabel.isVisible = false
|
||||
mv.detailView.metadataPanel.isVisible = false
|
||||
cvTags.isVisible = false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -107,3 +107,15 @@
|
|||
-fx-alignment: center-left;
|
||||
-fx-spacing: 8;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* DetailView *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
.metadata {
|
||||
-fx-font: 14px Verdana;
|
||||
-fx-text-fill: #E0E0E0;
|
||||
}
|
Loading…
Reference in New Issue