from config import config from Tkinter import END class PlaceHolder(): def __init__(self, placeholder, **kw): self.placeholder = placeholder self.placeholder_color = "grey" self.default_fg_color = config.get('dark_text') self.bind("", self.foc_in) self.bind("", self.foc_out) self.put_placeholder() def put_placeholder(self): self['fg'] = self.placeholder_color if self.get() != self.placeholder: self.delete(0, END) self.insert(0, self.placeholder) def force_placeholder_color(self): self['fg'] = self.placeholder_color def foc_in(self, *args): if self['fg'] == self.placeholder_color or self.get() == self.placeholder: self.delete('0', 'end') self['fg'] = self.default_fg_color def foc_out(self, *args): if not self.get(): self.put_placeholder()