Example #1
0
class Editor:
    def __init__(self):
        bg = new(window.Image())
        bg.src = js('/media/editor/images/trans-bg-big.png')
        window.layouts['main']['items'][2]['items'][0]['buttons'][0]['handler'] = self.onProjectInfoSave
        new(window.Ext.Viewport(window.layouts['main']))
        self.pid = None
        project_name = str(window.location.hash)[1:]
        if not project_name:
            window.location = js('/create/')
        self.nav = NavMan(self)
        self.media = MediaManager(self)
        self.loader = Loader(self, project_name)

        self.sprites = SpriteEditor(self)
        self.objects = ObjectEditor(self)
        self.maps = MapEditor(self)

        self.editors = {'sprites': self.sprites, 'objects':self.objects, 'maps':self.maps}

    def load(self, project, assets, loader):
        self.project = project
        self.pid = project['pk']
        self.assets = assets
        self.populate_project_info()
        window.setTimeout(lambda:self.reloadFolders(loader), 100)

    def reloadFolders(self, loader):
        def cb(context):
            loader.increment()
            if loader.isDone():
                loader.done()
        self.nav.reload('sprites', cb)
        self.nav.reload('objects', cb)
        self.nav.reload('maps', cb)

    def populate_project_info(self):
        form = js.jq('#project-info form')
        js.jq('input[name=title]').val(self.project['fields']['title'])
        js.jq('input[name=version]').val(self.project['fields']['version'])
        js.jq('textarea[name=description]').val(self.project['fields']['description'])
        window.Ext.getCmp('project-status').setValue(self.project['fields']['status'])

    def attach_buttons(self):
        window.Ext.getCmp('new-sprite-button').on('click', self.new_sprite);
        window.Ext.getCmp('new-object-button').on('click', self.new_object);
        window.Ext.getCmp('new-map-button').on('click', self.new_map);

    def onProjectInfoSave(self, *a):
        print 'saving pinfo!'
Example #2
0
    def __init__(self):
        bg = new(window.Image())
        bg.src = js('/media/editor/images/trans-bg-big.png')
        window.layouts['main']['items'][2]['items'][0]['buttons'][0]['handler'] = self.onProjectInfoSave
        new(window.Ext.Viewport(window.layouts['main']))
        self.pid = None
        project_name = str(window.location.hash)[1:]
        if not project_name:
            window.location = js('/create/')
        self.nav = NavMan(self)
        self.media = MediaManager(self)
        self.loader = Loader(self, project_name)

        self.sprites = SpriteEditor(self)
        self.objects = ObjectEditor(self)
        self.maps = MapEditor(self)

        self.editors = {'sprites': self.sprites, 'objects':self.objects, 'maps':self.maps}