Process given layer with current options
(self, pDocument, pOriginalLayer, pProgress)
| 1230 | |
| 1231 | |
| 1232 | def process(self, pDocument, pOriginalLayer, pProgress): |
| 1233 | """Process given layer with current options""" |
| 1234 | |
| 1235 | self.layerNum = 0 |
| 1236 | document = pDocument |
| 1237 | originalLayer = pOriginalLayer |
| 1238 | parentGroupLayer = None |
| 1239 | currentProcessedLayer = None |
| 1240 | originalLayerIsVisible = originalLayer.visible() |
| 1241 | |
| 1242 | |
| 1243 | def getLayerByName(parent, value): |
| 1244 | """search and return a layer by name, within given parent group""" |
| 1245 | if parent == None: |
| 1246 | return document.nodeByName(value) |
| 1247 | |
| 1248 | for layer in parent.childNodes(): |
| 1249 | if layer.name() == value: |
| 1250 | return layer |
| 1251 | |
| 1252 | return None |
| 1253 | |
| 1254 | |
| 1255 | def duplicateLayer(currentProcessedLayer, value): |
| 1256 | """Duplicate layer from given name |
| 1257 | New layer become active layer |
| 1258 | """ |
| 1259 | |
| 1260 | newLayer = None |
| 1261 | srcLayer = None |
| 1262 | srcName = re.match("^@(.*)", value) |
| 1263 | |
| 1264 | if not srcName is None: |
| 1265 | # reference to a specific layer |
| 1266 | if srcName[1] == 'original': |
| 1267 | # original layer currently processed |
| 1268 | srcLayer = originalLayer |
| 1269 | else: |
| 1270 | # a color layer previously built (and finished) |
| 1271 | srcLayer = getLayerByName(parentGroupLayer, parseLayerName(self.__outputOptions['layerColorName'], srcName[1])) |
| 1272 | else: |
| 1273 | # a layer with a fixed name |
| 1274 | srcLayer = document.nodeByName(parseLayerName(value, '')) |
| 1275 | |
| 1276 | |
| 1277 | if not srcLayer is None: |
| 1278 | newLayer = srcLayer.duplicate() |
| 1279 | |
| 1280 | self.layerNum+=1 |
| 1281 | newLayer.setName("c2l-w{0}".format(self.layerNum)) |
| 1282 | |
| 1283 | parentGroupLayer.addChildNode(newLayer, currentProcessedLayer) |
| 1284 | return newLayer |
| 1285 | else: |
| 1286 | return None |
| 1287 | |
| 1288 | |
| 1289 | def newLayer(currentProcessedLayer, value): |