parent
1ac13f80d5
commit
bc43b33536
|
@ -246,20 +246,10 @@ class RootController : Controller() {
|
|||
dialogDelete.showAndWait()
|
||||
}
|
||||
|
||||
/**
|
||||
* send a changed texture to the server
|
||||
* @param chips the new tag list
|
||||
*/
|
||||
fun updateTexture(chips: ObservableList<String>) {
|
||||
val uuid = UUID.randomUUID()
|
||||
val newTexture = Texture(
|
||||
uuid,
|
||||
selectedTextureModel.data.name,
|
||||
chips.toTypedArray(),
|
||||
selectedTextureModel.data.format,
|
||||
selectedTextureModel.data.resolution,
|
||||
selectedTextureModel.data.addedOn,
|
||||
selectedTextureModel.data.textureHash
|
||||
fun updateTexture(name: String, tags: Array<String>) {
|
||||
val newTexture = selectedTextureModel.data.copy(
|
||||
tags = tags,
|
||||
name = name
|
||||
)
|
||||
try {
|
||||
con.updateTexture(
|
||||
|
@ -274,6 +264,7 @@ class RootController : Controller() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* show all available textures at start
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package org.hso.texturesyncclient.view.mainView
|
||||
|
||||
import com.jfoenix.controls.JFXButton
|
||||
import com.jfoenix.controls.JFXChipView
|
||||
import com.jfoenix.controls.JFXTextField
|
||||
import javafx.geometry.Insets
|
||||
import javafx.geometry.Orientation
|
||||
import javafx.scene.image.Image
|
||||
|
@ -15,15 +17,14 @@ class DetailView : View() {
|
|||
val preview = Preview3D()
|
||||
val cvTags = JFXChipView<String>()
|
||||
|
||||
val nameInfo = label().addClass("metadata")
|
||||
val nameInfo = JFXTextField().addClass("metadata")
|
||||
val resolutionInfo = label().addClass("metadata")
|
||||
val formatInfo = label().addClass("metadata")
|
||||
val dateInfo = label().addClass("metadata")
|
||||
|
||||
val submitButton = JFXButton("Ändern").addClass("btn-orange")
|
||||
|
||||
val metadataPanel = gridpane {
|
||||
|
||||
isVisible = false
|
||||
|
||||
row {
|
||||
label("Name ").addClass("metadata")
|
||||
add(nameInfo)
|
||||
|
@ -42,11 +43,6 @@ class DetailView : View() {
|
|||
}
|
||||
}
|
||||
|
||||
init {
|
||||
// set a default texture
|
||||
preview.setTexture(Image("icons/TextureSync_Icon_256x256.jpeg"))
|
||||
}
|
||||
|
||||
override val root = form {
|
||||
minWidth = 250.0
|
||||
background = Background(BackgroundFill(Paint.valueOf("#3a3a3a"), CornerRadii.EMPTY, Insets.EMPTY))
|
||||
|
@ -68,6 +64,17 @@ class DetailView : View() {
|
|||
add(cvTags)
|
||||
}
|
||||
|
||||
field {
|
||||
add(submitButton)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
// set a default texture
|
||||
preview.setTexture(Image("icons/TextureSync_Icon_256x256.jpeg"))
|
||||
submitButton.useMaxWidth = true
|
||||
|
||||
}
|
||||
}
|
|
@ -78,8 +78,19 @@ class MainView : View("TextureSync") {
|
|||
mvc.btnImportAction()
|
||||
}
|
||||
|
||||
// TODO: on chipview update on name update
|
||||
|
||||
detailView.cvTags.chips.onChange {
|
||||
detailView.submitButton.isVisible = true
|
||||
}
|
||||
|
||||
detailView.nameInfo.textProperty().onChange {
|
||||
detailView.submitButton.isVisible = true
|
||||
}
|
||||
|
||||
detailView.submitButton.setOnAction {
|
||||
mvc.updateTags()
|
||||
detailView.submitButton.isVisible = false
|
||||
}
|
||||
|
||||
//keyboard actions
|
||||
|
|
|
@ -2,10 +2,10 @@ package org.hso.texturesyncclient.view.mainView
|
|||
|
||||
import javafx.collections.ObservableList
|
||||
import javafx.scene.image.Image
|
||||
import org.hso.texturesyncclient.model.GUIModel
|
||||
import tornadofx.Controller
|
||||
import org.hso.texturesyncclient.controller.RootController
|
||||
import org.hso.texturesyncclient.model.GUIModel
|
||||
import org.hso.texturesyncclient.model.Texture
|
||||
import tornadofx.Controller
|
||||
|
||||
class MainViewController : Controller() {
|
||||
|
||||
|
@ -31,7 +31,7 @@ class MainViewController : Controller() {
|
|||
}
|
||||
|
||||
fun setMeta(name: String, res: String, format: String, date: String) {
|
||||
with( mv.detailView) {
|
||||
with(mv.detailView) {
|
||||
nameInfo.text = name
|
||||
formatInfo.text = format
|
||||
resolutionInfo.text = date
|
||||
|
@ -46,14 +46,17 @@ class MainViewController : Controller() {
|
|||
lockUpdate = true //allow update with onChange
|
||||
}
|
||||
|
||||
fun getTags(): ObservableList<String>{
|
||||
fun getTags(): ObservableList<String> {
|
||||
return cvTags.chips
|
||||
}
|
||||
|
||||
fun updateTags() {
|
||||
if (lockUpdate) { //the chipView was changed by the user
|
||||
println("Tags changed")
|
||||
rootc.updateTexture(cvTags.chips)
|
||||
rootc.updateTexture(
|
||||
tags = cvTags.chips.toTypedArray(),
|
||||
name = mv.detailView.nameInfo.text
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -84,12 +87,14 @@ class MainViewController : Controller() {
|
|||
.ifPresent { x -> folderView.children.remove(x) }
|
||||
}
|
||||
|
||||
fun setVisibleMetaTags(bool: Boolean){
|
||||
if(bool){
|
||||
fun setVisibleMetaTags(bool: Boolean) {
|
||||
if (bool) {
|
||||
mv.detailView.metadataPanel.isVisible = true
|
||||
mv.detailView.submitButton.isVisible = false
|
||||
cvTags.isVisible = true
|
||||
}else{
|
||||
} else {
|
||||
mv.detailView.metadataPanel.isVisible = false
|
||||
mv.detailView.submitButton.isVisible = false
|
||||
cvTags.isVisible = false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -114,7 +114,26 @@
|
|||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* DetailView *
|
||||
* Buttons *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
.btn-blue {
|
||||
-fx-button-type: RAISED;
|
||||
-fx-background-color: #3c3f41;
|
||||
-fx-text-fill: #2b7bbb;
|
||||
-fx-padding: 10;
|
||||
}
|
||||
|
||||
.btn-orange {
|
||||
-fx-button-type: RAISED;
|
||||
-fx-background-color: #b15b2e;
|
||||
-fx-text-fill: #3c3f41;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* DetailView *
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
|
|
Loading…
Reference in New Issue