LantAbstractWizardWindow.ktprojectforge-application/src/main/kotlin/org/projectforge/setup/wizard/lanterna/LantAbstractWizardWindow.kt
que contiene código Kotlin para la capa del Asistente de configuración.
Clases: LantAbstractWizardWindow
Super-tipo(s): BasicWindow
Funciones (4): getButtons, getContentPanel, redraw, resize
Propiedades (7): mainPanel, context, contentPanel, buttonPanel, separator, titlePanel, panel
Importaciones: 2 paquetes
Paquete: 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
}
/**
* Se llamará cuando la ventana se muestre nuevamente.
*/
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 Encabezados de archivos fuente: 2024 -> 2025. b6092df09 Derechos de autor 2023 -> 2024 ab45d51fa Derechos de autor 2001-2022 -> 2001-2023. 5f7ef41b8 Derechos de autor 2021 -> 2022