class LabeledLabel(Frame): def __init__(self, parent, label1, label2='', separator=': ', label1_width=20, label2_width=60, label1_anchor=Tkinter.E, label2_anchor=Tkinter.W, *args, **kw): apply(Frame.__init__, (self, parent) + args, kw) self.grid_columnconfigure(1, weight=1) self.separator = separator text = label1 + self.separator self.label1 = Label(self, text=text, width=label1_width, anchor=label1_anchor) self.label1.grid(row=0, column=0, sticky=Tkinter.EW) text = label2 self.label2 = Label(self, text=text, width=label2_width, anchor=label2_anchor) self.label2.grid(row=0, column=1, sticky=Tkinter.EW) def getLabel1(self): text = self.label1.get() n = text.find(self.separator) if (n >= 0): text = text[:n] return text def setLabel1(self, text): text = text + self.separator self.label1.set(text) def getLabel2(self): return self.label2.get() def setLabel2(self, text): self.label2.set(text)
class LabeledFloatEntry(Frame): def __init__(self, parent, label, entry='', separator=': ', label_width=20, entry_width=60, label_anchor=Tkinter.E, show='', isArray=False, returnCallback=None, *args, **kw): apply(Frame.__init__, (self, parent) + args, kw) self.grid_columnconfigure(1, weight=1) self.separator = separator text = label + separator self.label = Label(self, text=text, width=label_width, anchor=label_anchor) self.label.grid(row=0, column=0, sticky=Tkinter.EW) self.entry = FloatEntry(self, show=show, width=entry_width, isArray=isArray, returnCallback=returnCallback) self.entry.grid(row=0, column=1, sticky=Tkinter.EW) self.setEntry(entry) def getLabel(self): text = self.label.get() n = text.find(self.separator) if (n >= 0): text = text[:n] return text def setLabel(self, text=''): text = text + self.separator self.label.set(text) def getEntry(self): return self.entry.get() def setEntry(self, value=''): self.entry.set(value)