46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
import wx
|
|
from mathentry import MathEntry
|
|
|
|
|
|
class ListEntry(wx.BoxSizer):
|
|
|
|
def __init__(self, parent, id=wx.ID_ANY, value=(), style=wx.TE_RIGHT):
|
|
super().__init__(wx.HORIZONTAL)
|
|
self.parent = parent
|
|
self.style = style
|
|
self.entries = []
|
|
self.SetValue(value)
|
|
self._enabled = True
|
|
|
|
|
|
def SetValue(self, value):
|
|
self.entries.clear()
|
|
self.Clear(True)
|
|
for v in value:
|
|
new = MathEntry(self.parent, value=v, style=self.style)
|
|
if not self._enabled:
|
|
new.Disable()
|
|
self.entries.append(new)
|
|
self.Add(new, flag=wx.EXPAND)
|
|
self.Layout()
|
|
|
|
|
|
def GetValue(self):
|
|
return [e.GetValue() for e in self.entries]
|
|
|
|
def Disable(self):
|
|
self._enabled = False
|
|
return [e.Disable() for e in self.entries]
|
|
|
|
def Enable(self):
|
|
self._enabled = True
|
|
return [e.Enable() for e in self.entries]
|
|
|
|
|
|
def clear(self):
|
|
for e in self.entries:
|
|
e.clear()
|
|
|
|
|
|
|