LantAbstractWizardWindow.ktprojectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantAbstractWizardWindow.kt, содержащий код Kotlin для слоя мастера настройки.Классы: LantAbstractWizardWindow
Супертип(ы): BasicWindow
Функции (4): getButtons, getContentPanel, redraw, resize
Свойства (7): mainPanel, context, contentPanel, buttonPanel, separator, titlePanel, panel
Импорты: 2 пакета
Пакет: 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
}
/**
* Будет вызван, когда окно отображается снова.
*/
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 Заголовки файлов исходного кода: 2024->2025. b6092df09 Авторские права 2023 -> 2024 ab45d51fa Авторские права 2001-2022 -> 2001-2023. 5f7ef41b8 Авторские права 2021 -> 2022