Exemple #1
0
    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)
Exemple #2
0
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)
Exemple #3
0
    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)
Exemple #4
0
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