Пример #1
0
    def __init__(self,
                 parent: ACWidget,
                 elements: int = 5,
                 highlight: bool = True):
        super().__init__(parent)

        self._elements = elements
        self._highlight = highlight
        self._bar_width = 10
        self._index = 0
        self._widgets = []

        self._bar = ACButton(self)
        self._bar.background_color = WHITE

        self._up = ACButton(self)
        self._up.background_texture = ACLIBListBox.TEXTURES['up']
        self._up.background_color = LIGHTGRAY
        self._up.size = self._bar_width, self._bar_width

        self._down = ACButton(self)
        self._down.background_texture = ACLIBListBox.TEXTURES['down']
        self._down.background_color = LIGHTGRAY
        self._down.size = self._bar_width, self._bar_width

        if self._highlight:
            self._highlight_label = ACLabel(self)
            self._highlight_label.background_color = Color(1.0, 0.0, 0.0, 0.75)

        self._up.on(ACWidget.EVENT.ON_MOUSE_DOWN, self._on_up)
        self._down.on(ACWidget.EVENT.ON_MOUSE_DOWN, self._on_down)
Пример #2
0
    def __init__(self, data: ACData = None, meta: ACMeta = None):
        super().__init__('ACLIB_Camera', 200, 200, 150, 250)

        self.hide_decoration()
        self.background_color = TRANSPARENT

        self._data = data

        self._grid = ACGrid(2, 11, self)
        self._prev = ACLabel(self._grid, '<-', 'center')
        self._next = ACLabel(self._grid, '->', 'center')

        self._prev.background_color = DARKGRAY
        self._next.background_color = DARKGRAY

        self._grid.add(self._prev, 0, 0)
        self._grid.add(self._next, 1, 0)

        self._prev.on(ACWidget.EVENT.ON_MOUSE_DOWN, self.prev)
        self._next.on(ACWidget.EVENT.ON_MOUSE_DOWN, self.next)

        self._cameras = ['Cockpit', 'Car', 'Drivable', 'Track', 'Helicopter', 'OnBoardFree', 'Free', 'Random', 'ImageGeneratorCamera', 'Start']

        self._labels = []
        self._cam_id = 0

        self._active_font = Font('Roboto Mono')
        self._active_font.size = 12
        self._active_font.color = WHITE

        self._inactive_font = Font('Roboto Mono')
        self._inactive_font.size = 12
        self._inactive_font.color = WHITE

        i = 0
        for cam_id, name in enumerate(self._cameras):
            label = ACLabel(self._grid, name, 'center', self._inactive_font)
            label.background_color = BLACK
            label.on(ACWidget.EVENT.ON_MOUSE_DOWN, self.select)
            setattr(label, 'cam', cam_id)
            self._labels.append(label)

            self._grid.add(label, 0, i + 1, 2, 1)
            i += 1
            console(label.size)

        self._data.on(ACData.EVENT.READY, self.init)
Пример #3
0
    def __init__(self, name: str, x: int, y: int, w: int, h: int):
        super().__init__(name, x, y, w, h)

        self._dragged = False
        self._dockable_color = Color(0.0, 0.25, 1.0, 0.75)

        self._grid = ACGrid(3, 3, self)

        self._top = ACLabel(self._grid)
        self._left = ACLabel(self._grid)
        self._bottom = ACLabel(self._grid)
        self._right = ACLabel(self._grid)

        self._grid.add(self._top, 0, 0, 3, 1)
        self._grid.add(self._left, 0, 0, 1, 3)
        self._grid.add(self._bottom, 0, 2, 3, 1)
        self._grid.add(self._right, 2, 0, 1, 3)

        ACLIBDockableWidget.DOCK_WIDGETS.append(self)

        self.on(ACWidget.EVENT.ON_MOUSE_DOWN, self._on_mouse_down)
        self.on(ACWidget.EVENT.ON_MOUSE_UP, self._on_mouse_up)
Пример #4
0
    def __init__(self,
                 parent: ACWidget,
                 value: float,
                 start: float = 0,
                 stop: float = 1,
                 progress: bool = False):
        super().__init__(parent)

        self._show_progress = progress
        self._range = (min(start, stop), max(start, stop))
        self._value = value if start <= value <= stop else start

        self.id = ac.addLabel(self.app, '')

        self._progress = ACLabel(self)
        self._text = ACLabel(self, '', 'center')

        font = Font('Roboto Mono')
        font.size = 14
        font.bold = 1
        font.color = BLACK

        self._progress.background_color = GREEN
        self._text.font = font
Пример #5
0
    def __init__(self, parent: ACWidget, target: ACWidget):
        super().__init__(parent)

        self._collapsed = False

        self._grid = ACGrid(3, 2, self)
        self._button = ACButton(self._grid)
        self._content = ACLabel(self._grid)

        self._button.background_color = WHITE
        self._button.background_texture = ACLIBCollapsable.TEXTURES['plus']

        self._grid.add(self._button, 0, 0)
        self._grid.add(self._content, 0, 1)

        self.content = target
Пример #6
0
    def __init__(self, data: ACData = None, meta: ACMeta = None):
        super().__init__('ACLIB UIDebug', 200, 200, 550, 80)

        self.hide_decoration()
        self.background_color = BLACK

        self._data = data
        self._active_widgets = []
        self._timer = time()

        self._font = Font('Roboto Mono', WHITE)

        self._grid = ACGrid(4, 4, self)

        self._widget_label = ACLabel(self._grid, 'Widget:', font=self._font)
        self._widget_text = ACLabel(self._grid, '', font=self._font)

        self._position_label = ACLabel(self._grid,
                                       'Position:',
                                       font=self._font)
        self._position_text = ACLabel(self._grid, '', font=self._font)

        self._size_label = ACLabel(self._grid, 'Size:', font=self._font)
        self._size_text = ACLabel(self._grid, '', font=self._font)

        self._property_name = ACLIBListBox(self._grid, 4)
        self._property_value = ACLIBListBox(self._grid, 4)

        col, row = 0, 0
        self._grid.add(self._widget_label, col, row)
        self._grid.add(self._position_label, col, row + 1)
        self._grid.add(self._size_label, col, row + 2)

        col, row = 1, 0
        self._grid.add(self._widget_text, col, row)
        self._grid.add(self._position_text, col, row + 1)
        self._grid.add(self._size_text, col, row + 2)

        col, row = 2, 0
        self._grid.add(self._property_name, col, row, 1, 4)

        col, row = 3, 0
        self._grid.add(self._property_value, col, row, 1, 4)

        self._data.on(ACData.EVENT.READY, self.init)
        self.on(ACWidget.EVENT.DISMISSED, self.dismissed)
Пример #7
0
    def __init__(self, data: ACData = None, meta: ACMeta = None):
        super().__init__('ACLIB Fuel', 200, 200, 300, 100, True, True)
        self.hide_decoration()

        self._data = data
        self._meta = meta

        # Init

        self._normal_font = Font('Roboto Mono')
        self._normal_font.bold = 1
        self._normal_font.color = WHITE

        self._main_grid = ACGrid(5, 4, self)

        self._grid = ACGrid(3, 3, self._main_grid)

        self._avg_km = ACLabel(self._grid, 'Ø 00.0  l/km', 'center',
                               self._normal_font)
        self._avg_lap = ACLabel(self._grid, 'Ø 00.0   l/L', 'center',
                                self._normal_font)
        self._avg_min = ACLabel(self._grid, 'Ø 00.0 l/min', 'center',
                                self._normal_font)

        self._fuel = ACLabel(self._grid, '+ 00.0   l', 'center',
                             self._normal_font)
        self._km = ACLabel(self._grid, '+ 00.0  km', 'center',
                           self._normal_font)
        self._lap = ACLabel(self._grid, '+ 00.0   L', 'center',
                            self._normal_font)
        self._min = ACLabel(self._grid, '+ 00.0 min', 'center',
                            self._normal_font)

        # Style

        self.background_color = Color(0, 0, 0, 0.5)

        #self._fuel.background_color = Color(0.75, 0.75, 0, 0.75)

        self._main_grid.add(self._fuel, 3, 0, 2, 1)
        self._main_grid.add(self._avg_km, 1, 1, 2, 1)
        self._main_grid.add(self._km, 3, 1, 2, 1)
        self._main_grid.add(self._avg_lap, 1, 2, 2, 1)
        self._main_grid.add(self._lap, 3, 2, 2, 1)
        self._main_grid.add(self._avg_min, 1, 3, 2, 1)
        self._main_grid.add(self._min, 3, 3, 2, 1)

        # Data

        self._monitor = False
        self._timer = 0
        self._track_len = 0

        self._km_fuel_ref = 0
        self._lap_fuel_ref = 0
        self._min_fuel_ref = 0

        self._km_fuel_avg = 0
        self._lap_fuel_avg = 0
        self._min_fuel_avg = 0

        self._data.on(ACData.EVENT.READY, self._on_ready)