예제 #1
0
    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)
예제 #2
0
    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)