57 lines
1.9 KiB
Kotlin
57 lines
1.9 KiB
Kotlin
package net.shadowfacts.asmr.ui
|
|
|
|
import net.shadowfacts.asmr.manager.ManagerBlockEntity
|
|
import net.shadowfacts.cacao.geometry.Rect
|
|
import net.shadowfacts.cacao.geometry.Size
|
|
import net.shadowfacts.cacao.util.Color
|
|
import net.shadowfacts.cacao.util.texture.NinePatchTexture
|
|
import net.shadowfacts.cacao.view.Label
|
|
import net.shadowfacts.cacao.view.NinePatchView
|
|
import net.shadowfacts.cacao.view.View
|
|
import net.shadowfacts.cacao.view.button.Button
|
|
import net.shadowfacts.cacao.viewcontroller.ViewController
|
|
|
|
/**
|
|
* @author shadowfacts
|
|
*/
|
|
class ManagerViewController(val managerBlockEntity: ManagerBlockEntity): ViewController() {
|
|
|
|
lateinit var panel: View
|
|
|
|
override fun viewDidLoad() {
|
|
panel = view.addSubview(View())
|
|
val background = panel.addSubview(NinePatchView(NinePatchTexture.PANEL_BG))
|
|
val label = panel.addSubview(Label("test label"))
|
|
val canvas = panel.addSubview(ProgramCanvasView(managerBlockEntity.program))
|
|
val runButton = panel.addSubview(Button(Label("Run"))).apply {
|
|
zIndex = 10.0
|
|
handler = {
|
|
managerBlockEntity.program.execute()
|
|
}
|
|
}
|
|
|
|
createConstraints {
|
|
panel.widthAnchor equalTo (view.widthAnchor - 20)
|
|
panel.heightAnchor equalTo (view.heightAnchor - 20)
|
|
panel.centerXAnchor equalTo view.centerXAnchor
|
|
panel.centerYAnchor equalTo view.centerYAnchor
|
|
|
|
background.leftAnchor equalTo panel.leftAnchor
|
|
background.rightAnchor equalTo panel.rightAnchor
|
|
background.topAnchor equalTo panel.topAnchor
|
|
background.bottomAnchor equalTo panel.bottomAnchor
|
|
|
|
label.centerXAnchor equalTo view.centerXAnchor
|
|
label.centerYAnchor equalTo view.centerYAnchor
|
|
|
|
canvas.widthAnchor equalTo (panel.widthAnchor - 8)
|
|
canvas.heightAnchor equalTo (panel.heightAnchor - 8)
|
|
canvas.centerXAnchor equalTo panel.centerXAnchor
|
|
canvas.centerYAnchor equalTo panel.centerYAnchor
|
|
|
|
runButton.topAnchor equalTo panel.topAnchor
|
|
runButton.rightAnchor equalTo panel.rightAnchor
|
|
}
|
|
}
|
|
|
|
} |