Source code for miniworlds.worlds.gui.console
import miniworlds.worlds.gui.toolbar as toolbar
import miniworlds.actors.widgets.label as label
import miniworlds.actors.widgets as widgets
[docs]
class Console(toolbar.Toolbar):
"""
A console.
You can write text into the console
"""
def __init__(self):
super().__init__()
self.max_lines = 2
self.text_size = 13
self.row_margin = 5
self.rows = (
(self.max_lines) * (self.row_height + self.row_margin)
+ self.padding_top
+ self.padding_bottom
)
[docs]
def newline(self, text) -> "label.Label":
line = label.Label(text)
self.add(line)
return line
def _add_widget(
self,
widget: "widgets.ButtonWidget",
key: str = None,
) -> "widgets.ButtonWidget":
widget.margin_bottom = self.row_margin
widget.margin_top = 0
super()._add_widget(widget, key)
return widget