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)
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)