Redo Text of FolderView + DetailView
This commit is contained in:
CodeSteak 2019-06-12 21:05:40 +02:00
parent a2f5b65e30
commit cc03b32ade
4 changed files with 66 additions and 28 deletions

View File

@ -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
}

View File

@ -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;"
}
}
}

View File

@ -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
}
}

View File

@ -107,3 +107,15 @@
-fx-alignment: center-left;
-fx-spacing: 8;
}
/*******************************************************************************
* *
* DetailView *
* *
******************************************************************************/
.metadata {
-fx-font: 14px Verdana;
-fx-text-fill: #E0E0E0;
}