Ejemplo n.º 1
0
    def translate(self, sk_doc, sk2_doc):
        sk_mdl = sk_doc.model
        self.sk2mtds = sk2mtds = sk2_doc.methods
        self.sk2_doc = sk2_doc
        for item in sk_mdl.childs:
            if item.cid == sk_model.LAYOUT:
                pages_obj = sk2mtds.get_pages_obj()
                fmt = get_sk2_page(item.format, item.size, item.orientation)
                pages_obj.page_format = fmt
                self.dx = -fmt[1][0] / 2.0
                self.dy = -fmt[1][1] / 2.0
                pages_obj.childs = []
                name = 'Page 1'
                self.page = sk2_model.Page(pages_obj.config, pages_obj, name)
                self.page.page_format = deepcopy(fmt)
                pages_obj.childs.append(self.page)
            elif item.cid == sk_model.GUIDELAYER:
                gl = sk2mtds.get_guide_layer()
                sk2mtds.set_guide_color(get_sk2_color(item.layer_color))
                props = get_sk2_layer_props(item)
                if props[3]: props[3] = 0
                gl.properties = props
                parse_objs = False
                for chld in item.childs:
                    if chld.cid == sk_model.GUIDE:
                        orientation = abs(chld.orientation - 1)
                        position = chld.position + self.dy
                        if orientation: position = chld.position + self.dx
                        guide = sk2_model.Guide(gl.config, gl, position,
                                                orientation)
                        gl.childs.append(guide)
                    else:
                        parse_objs = True
                if parse_objs:
                    layer = self.translate_layer(self.page, item)
                    self.page.childs.append(layer)
            elif item.cid == sk_model.GRID:
                grid = sk2mtds.get_grid_layer()
                grid.geometry = list(item.geometry)
                color = get_sk2_color(item.grid_color)
                color[2] = .15
                sk2mtds.set_grid_color(color)
                props = get_sk2_layer_props(item)
                if props[3]: props[3] = 0
                grid.properties = props
                if item.childs:
                    layer = self.translate_layer(self.page, item)
                    self.page.childs.append(layer)
            elif item.cid == sk_model.LAYER:
                self.page.childs.append(self.translate_layer(self.page, item))

        self.page.layer_counter = len(self.page.childs)
        self.page = None
        sk2_doc.model.do_update()
    def translate(self, sk1_doc, sk2_doc):
        sk1_model = sk1_doc.model
        self.sk2mtds = sk2mtds = sk2_doc.methods
        self.sk2_doc = sk2_doc
        dx = dy = 0.0
        for item in sk1_model.childs:
            if item.cid == model.LAYOUT:
                pages_obj = sk2mtds.get_pages_obj()
                fmt = get_sk2_page(item.format, item.size, item.orientation)
                pages_obj.page_format = fmt
                dx = item.size[0] / 2.0
                dy = item.size[1] / 2.0
            elif item.cid == model.GUIDELAYER:
                gl = sk2mtds.get_guide_layer()
                sk2mtds.set_guide_color(get_sk2_color(item.layer_color))
                props = get_sk2_layer_props(item)
                if props[3]:
                    props[3] = 0
                gl.properties = props
                for chld in item.childs:
                    if chld.cid == model.GUIDE:
                        orientation = abs(chld.orientation - 1)
                        position = chld.position - dy
                        if orientation:
                            position = chld.position - dx
                        guide = sk2_model.Guide(gl.config, gl,
                                                position, orientation)
                        gl.childs.append(guide)
            elif item.cid == model.GRID:
                grid = sk2mtds.get_grid_layer()
                grid.geometry = list(item.geometry)
                sk2mtds.set_grid_color(get_sk2_color(item.grid_color))
                props = get_sk2_layer_props(item)
                if props[3]:
                    props[3] = 0
                grid.properties = props
            elif item.cid == model.PAGES:
                pages_obj = sk2mtds.get_pages_obj()
                pages_obj.childs = self.translate_objs(pages_obj, item.childs)
                pages_obj.page_counter = len(pages_obj.childs)

        sk2_doc.model.do_update()