def __init__(self, **kwargs): # get any files into images directory self.injectWidget = kwargs.get("injectWidget") self.source = kwargs.get("source") #curdir = dirname(__file__) # backward # path = os.getcwd() # print(os.path.abspath(os.path.join(path, os.pardir))) picture1 = AsyncImage(source=self.source, size_hint=(1, 1)) with picture1.canvas.before: Color(0.3, 0.3, 0.4, 1) picture1.rect = Rectangle(size=picture1.size, pos=picture1.pos) def update_rect(instance, value): instance.rect.pos = instance.pos instance.rect.size = instance.size self.injectWidget.add_widget(picture1) picture1.bind(pos=update_rect, size=update_rect)
def selfUpdate(self, loadAssetElements): alllocalBox = BoxLayout(size_hint=(1, None), height=len(loadAssetElements) * 90, orientation='vertical') for _index, item in enumerate(loadAssetElements): localBox = BoxLayout(size_hint=(1, None), height=90, orientation='horizontal') currentColor = (self.engineConfig.getThemeBgSceneBtnColor()) if item['type'] == 'ImageResource': currentColor = (self.engineConfig.getThemeBgSceneBoxColor()) localBox.add_widget( Button(markup=True, halign="left", valign="middle", padding_x=10, font_size=15, text='[b]' + item['name'] + '[/b] [u][i]' + item['type'] + '[/i][/u]', color=self.engineConfig.getThemeTextColor(), background_normal='', background_color=currentColor, on_press=partial(self.showAssetGUI, item), size_hint=(1, None), height=90)) if item['type'] == 'ImageResource': localPrevListBox = AsyncImage(source=item['path'], size_hint=(0.4, None), height=90) with localPrevListBox.canvas.before: Color( self.engineConfig.getThemeCustomColor('background')[0], self.engineConfig.getThemeCustomColor('background')[1], self.engineConfig.getThemeCustomColor('background')[2], self.engineConfig.getThemeCustomColor('background')[3]) localPrevListBox.rect = Rectangle( size=localPrevListBox.size, pos=localPrevListBox.pos) def update_rect(instance, value): instance.rect.pos = instance.pos instance.rect.size = instance.size localPrevListBox.bind(pos=update_rect, size=update_rect) localBox.add_widget(localPrevListBox) elif item['type'] == 'FontResource': localBox.add_widget( Label(font_name=item['path'], size_hint=(0.4, None), height=90, text='Font')) elif item['type'] == 'JSONResource': localBox.add_widget( Label(size_hint=(0.4, None), height=90, text='JSON DATA')) localBox.add_widget( Button( markup=True, halign="left", valign="middle", padding_x=10, font_size=15, text='[b]Delete[/b]', color=(self.engineConfig.getThemeCustomColor("alert")), background_normal='', background_color=( self.engineConfig.getThemeCustomColor('background')), on_press=partial(self.deleteAsset, item), size_hint=(1, None), height=90)) print('ADDED ', item) alllocalBox.add_widget(localBox) self.sceneScroller.clear_widgets() self.sceneScroller.add_widget(alllocalBox)