LantAbstractWizardWindow.ktprojectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantAbstractWizardWindow.kt mit Kotlin-Code für die Setup-Assistenten-Ebene.Klassen: LantAbstractWizardWindow
Obertyp(en): BasicWindow
Funktionen (4): getButtons, getContentPanel, redraw, resize
Eigenschaften (7): mainPanel, context, contentPanel, buttonPanel, separator, titlePanel, panel
Importe: 2 Pakete
Paket: org.projectforge.setup.wizard.lanterna
package org.projectforge.setup.wizard.lanterna
import com.googlecode.lanterna.TerminalSize
import com.googlecode.lanterna.gui2.*
abstract class LantAbstractWizardWindow(context: LantGUIContext,
title: String) : BasicWindow("ProjectForge setup") {
protected val mainPanel: Panel
protected val context: LantGUIContext
private val contentPanel: Panel
private val buttonPanel: Panel
private val separator: Separator
init {
this.context = context
size = context.windowSize
mainPanel = Panel()
mainPanel.layoutManager = GridLayout(1)
val titlePanel = Panel()
LanternaUtils.addEmptySpace(titlePanel)
titlePanel.addComponent(Label(title))
LanternaUtils.addEmptySpace(titlePanel)
mainPanel.addComponent(titlePanel)
contentPanel = getContentPanel()
contentPanel.layoutData = GridLayout.createLayoutData(GridLayout.Alignment.FILL, GridLayout.Alignment.FILL, true, true)
mainPanel.addComponent(contentPanel)
separator = Separator(Direction.HORIZONTAL)
buttonPanel = LanternaUtils.createButtonBar(context, separator, true, *getButtons())
mainPanel.addComponent(buttonPanel)
component = mainPanel
resize()
}
open fun getButtons(): Array<Button> {
return arrayOf()
}
open fun getContentPanel(): Panel {
val panel = Panel()
panel.addComponent(EmptySpace())
return panel
}
/**
* Wird aufgerufen, wenn das Fenster erneut angezeigt wird.
*/
open fun redraw() {}
open fun resize() {
size = context.windowSize
contentPanel.preferredSize = TerminalSize(size.columns, size.rows - 5)
separator.preferredSize = TerminalSize(context.terminalSize.columns - 8, 0)
}
}
868d6abb7 2025 -> 2026 63081666f Quellcode-Dateiköpfe: 2024 -> 2025. b6092df09 Copyright 2023 -> 2024 ab45d51fa Copyright 2001-2022 -> 2001-2023. 5f7ef41b8 Copyright 2021 -> 2022