import wx from gooey.gui.components.widgets.core.text_input import MultilineTextInput from gooey.gui.components.widgets.textfield import TextField from gooey.gui.components.widgets.bases import TextContainer from gooey.gui import formatters class Textarea(TextContainer): def getWidget(self, parent, *args, **options): widgetHeight = self._options.get('height', -1) return wx.TextCtrl( parent=parent, size=(-1, widgetHeight), style=wx.TE_MULTILINE | wx.TE_READONLY ) def getWidgetValue(self): return self.widget.GetValue() def setValue(self, value): self.widget.Clear() self.widget.AppendText(str(value)) self.widget.SetInsertionPoint(0) def formatOutput(self, metatdata, value): return formatters.general(metatdata, value)