Esempio n. 1
0
    def translate_v1_el(self, el):
        code = el.data['code']
        if code == cmx_const.BEGIN_PAGE:
            if not self._stack:
                self._stack.append(self.sk2_mtds.add_page())
        elif code == cmx_const.END_PAGE:
            self._stack = []
        elif code == cmx_const.BEGIN_LAYER:
            name = self._decode(el.data['layer_name'])
            if not self._stack[-1].is_layer:
                page = self._stack[0]
                self._stack.append(self.sk2_mtds.add_layer(page, name))
            else:
                self._stack[-1].name = name
        elif code == cmx_const.END_LAYER:
            self._stack = self._stack[:-1]
        elif code == cmx_const.BEGIN_GROUP:
            group = sk2_model.Group(self._stack[-1].config)
            self.sk2_mtds.append_object(group, self._stack[-1])
            self._stack.append(group)
        elif code == cmx_const.END_GROUP:
            group = self._stack[-1]
            self._stack = self._stack[:-1]
            if not group.childs:
                self.sk2_mtds.delete_object(group)
        elif code == cmx_const.POLYCURVE:
            curve = self.translate_v1_polycurve(el)
            if curve is not None:
                self.sk2_mtds.append_object(curve, self._stack[-1])

        for child in el.childs:
            self.translate_v1_el(child)
Esempio n. 2
0
 def translate_group(self, dest_parent, source_group):
     dest_group = sk2_model.Group(dest_parent.config, dest_parent)
     dest_group.childs = self.translate_objs(dest_group,
                                             source_group.childs)
     return dest_group
 def start_group(self):
     parent = self.parent_stack[-1]
     config = self.pdxf_doc.config
     group = sk2_model.Group(config, parent)
     self.methods.append_object(group, parent)
     self.parent_stack.append(group)