示例#1
0
    def __init__(self, width, height, owner):

        ScreenGUI.__init__(self, width, height, owner)
        self.border = Border(width, height)

        # Object constant definitions
        # Reverse draw order - 0 drawn last
        self.ids = Enum("DONE", "CANCEL", "PAY", "TOPBAR", "AMOUNT", "UP",
                        "DOWN", "PRODUCT", "REMOVE")

        self.limits = Const()
        self.limits.screen_products = 5
        self.limits.objects_per_product_row = 3

        self.logger = logging.getLogger("MainScreen.GUI")

        self.product_displays = ProductDisplayCollection(
            self.limits.screen_products)

        # #
        # # Fixed position objects
        # #
        self.layout = MainScreenLayout(width, height, self.border)

        self.objects = {
            self.ids.DONE:
            LCARSCappedBar(self.layout.get_done_rect(),
                           CapLocation.CAP_LEFT + CapLocation.CAP_RIGHT,
                           "Done", Colours.FG, Colours.BG, False),
            self.ids.PAY:
            LCARSCappedBar(self.layout.get_pay_rect(),
                           CapLocation.CAP_LEFT + CapLocation.CAP_RIGHT,
                           "Pay debt", Colours.FG, Colours.BG, False),
            self.ids.CANCEL:
            LCARSCappedBar(self.layout.get_cancel_rect(),
                           CapLocation.CAP_LEFT + CapLocation.CAP_RIGHT,
                           "Cancel", Colours.FG, Colours.BG, True),
            self.ids.TOPBAR:
            LCARSCappedBar(self.layout.get_top_bar_rect(),
                           CapLocation.CAP_LEFT + CapLocation.CAP_RIGHT,
                           "User: <No user scanned>", Colours.FG, Colours.BG,
                           True),
            self.ids.UP:
            LCARSCappedBar(self.layout.get_up_scroll_rect(),
                           CapLocation.CAP_TOP, "UP", Colours.FG, Colours.BG,
                           False),
            self.ids.DOWN:
            LCARSCappedBar(self.layout.get_down_scroll_rect(),
                           CapLocation.CAP_BOTTOM, "DN", Colours.FG,
                           Colours.BG, False),
            self.ids.AMOUNT:
            LCARSCappedBar(self.layout.get_amount_rect(),
                           CapLocation.CAP_LEFT + CapLocation.CAP_RIGHT,
                           "Total Spend: \xA30.00", Colours.FG, Colours.BG,
                           True)
        }

        # #
        # # Import standard objects
        # #
        self.objects.update(self.border.get_border())