def __init__(self, text, handler=None, type='text', x=None, y=None, width=0, height=0, icon=None, vertical_expansion=1, text_prop=None, input_text='', numboxes=0, parent='osd'): PopupBox.__init__(self, text, handler, x, y, width, height, icon, vertical_expansion, text_prop, parent) self.lbg = LetterBoxGroup(type=type, numboxes=numboxes, text=input_text, width=self.content.width-self.content.h_margin*2) self.add_child(self.lbg)
class InputBox(PopupBox): """ @ivar x: x coordinate. Integer @ivar y: y coordinate. Integer @ivar width: Integer @ivar height: Integer @ivar text: String to print. @ivar type: 'normal' or 'password' @ivar icon: icon @ivar text_prop: A dict of 4 elements composing text proprieties:: { 'align_h': align_h, 'align_v': align_v, 'mode': mode, 'hfill': hfill } align_v = text vertical alignment align_h = text horizontal alignment mode = hard (break at chars); soft (break at words) hfill = True (don't shorten width) or False """ def __init__(self, text, handler=None, type='text', x=None, y=None, width=0, height=0, icon=None, vertical_expansion=1, text_prop=None, input_text='', numboxes=0, parent='osd'): PopupBox.__init__(self, text, handler, x, y, width, height, icon, vertical_expansion, text_prop, parent) self.lbg = LetterBoxGroup(type=type, numboxes=numboxes, text=input_text, width=self.content.width-self.content.h_margin*2) self.add_child(self.lbg) def eventhandler(self, event): if self.lbg.eventhandler(event): self.draw() return True if event == INPUT_ENTER: txt = self.lbg.get_word() self.destroy() if self.handler: self.handler(txt) return True if event == INPUT_EXIT: self.destroy() return True return self.parent.eventhandler(event)
def __init__( self, text, handler=None, type="text", x=None, y=None, width=0, height=0, icon=None, vertical_expansion=1, text_prop=None, input_text="", numboxes=0, parent="osd", ): """ Initialise an instance of a InputBox @ivar x: x coordinate. Integer @ivar y: y coordinate. Integer @ivar width: Integer @ivar height: Integer @ivar text: String to print. @ivar type: 'normal' or 'password' @ivar icon: icon @ivar text_prop: A dict of 4 elements composing text proprieties:: { 'align_h': align_h, 'align_v': align_v, 'mode': mode, 'hfill': hfill } align_v = text vertical alignment align_h = text horizontal alignment mode = hard (break at chars); soft (break at words) hfill = True (don't shorten width) or False """ PopupBox.__init__(self, text, handler, x, y, width, height, icon, vertical_expansion, text_prop, parent) self.lbg = LetterBoxGroup( type=type, numboxes=numboxes, text=input_text, width=self.content.width - self.content.h_margin * 2 ) self.add_child(self.lbg)
class InputBox(PopupBox): def __init__( self, text, handler=None, type="text", x=None, y=None, width=0, height=0, icon=None, vertical_expansion=1, text_prop=None, input_text="", numboxes=0, parent="osd", ): """ Initialise an instance of a InputBox @ivar x: x coordinate. Integer @ivar y: y coordinate. Integer @ivar width: Integer @ivar height: Integer @ivar text: String to print. @ivar type: 'normal' or 'password' @ivar icon: icon @ivar text_prop: A dict of 4 elements composing text proprieties:: { 'align_h': align_h, 'align_v': align_v, 'mode': mode, 'hfill': hfill } align_v = text vertical alignment align_h = text horizontal alignment mode = hard (break at chars); soft (break at words) hfill = True (don't shorten width) or False """ PopupBox.__init__(self, text, handler, x, y, width, height, icon, vertical_expansion, text_prop, parent) self.lbg = LetterBoxGroup( type=type, numboxes=numboxes, text=input_text, width=self.content.width - self.content.h_margin * 2 ) self.add_child(self.lbg) def eventhandler(self, event): if hasattr(self, "lbg") and self.lbg.eventhandler(event): self.draw() return True if event == INPUT_ENTER: if not hasattr(self, "lbg"): return True txt = self.lbg.get_word() self.destroy() if self.handler: self.handler(txt) return True if event == INPUT_EXIT: self.destroy() return True return False