[orx-panel] add defaultStyles argument to controlManager()

This commit is contained in:
Edwin Jakobs
2022-03-03 21:51:17 +01:00
parent 9b4230d1d8
commit 9f463d63f6
2 changed files with 6 additions and 5 deletions

View File

@@ -572,20 +572,20 @@ fun ControlManager.layout(init: Body.() -> Unit) {
} }
@Deprecated("use Program.controlManager") @Deprecated("use Program.controlManager")
fun controlManager(builder: ControlManagerBuilder.() -> Unit): ControlManager { fun controlManager(defaultStyles: List<StyleSheet> = defaultStyles(), builder: ControlManagerBuilder.() -> Unit): ControlManager {
val cm = ControlManager() val cm = ControlManager()
cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf")) cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf"))
cm.layouter.styleSheets.addAll(defaultStyles().flatMap { it.flatten() }) cm.layouter.styleSheets.addAll(defaultStyles.flatMap { it.flatten() })
val cmb = ControlManagerBuilder(cm) val cmb = ControlManagerBuilder(cm)
cmb.builder() cmb.builder()
return cm return cm
} }
fun Program.controlManager(builder: ControlManagerBuilder.() -> Unit): ControlManager { fun Program.controlManager(defaultStyles: List<StyleSheet> = defaultStyles(), builder: ControlManagerBuilder.() -> Unit): ControlManager {
val cm = ControlManager() val cm = ControlManager()
cm.program = this cm.program = this
cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf")) cm.fontManager.register("default", resourceUrl("/fonts/Roboto-Regular.ttf"))
cm.layouter.styleSheets.addAll(defaultStyles().flatMap { it.flatten() }) cm.layouter.styleSheets.addAll(defaultStyles.flatMap { it.flatten() })
val cmb = ControlManagerBuilder(cm) val cmb = ControlManagerBuilder(cm)
cmb.builder() cmb.builder()
return cm return cm

View File

@@ -46,11 +46,12 @@ fun Canvas.draw(f: (Drawer) -> Unit) {
this.userDraw = f this.userDraw = f
} }
fun Element.canvas(vararg classes: String, init: Canvas.() -> Unit) { fun Element.canvas(vararg classes: String, init: Canvas.() -> Unit) : Canvas {
val canvas = Canvas() val canvas = Canvas()
classes.forEach { canvas.classes.add(ElementClass(it)) } classes.forEach { canvas.classes.add(ElementClass(it)) }
canvas.init() canvas.init()
append(canvas) append(canvas)
return canvas
} }
fun Element.dropdownButton(vararg classes: String, id: String? = null, label: String = "button", init: DropdownButton.() -> Unit) = initElement(classes, DropdownButton().apply { fun Element.dropdownButton(vararg classes: String, id: String? = null, label: String = "button", init: DropdownButton.() -> Unit) = initElement(classes, DropdownButton().apply {