def build_canvas(self, e): self.document = OCCanvas(self.netobj.canvas_size, self.netobj.total_layer_count) self.canvas = TiledDrawWidget(document=self.document) self.wTree.get_object("drawingviewport").add(self.canvas) # Connect network -> local_viewport self.netobj.connect( 'draw', lambda e, l, b, p: self.document.draw_points(l, b, p)) self.netobj.connect('clear-layer', lambda e, l: self.document.clear_layer(l)) self.netobj.connect('undo-request', lambda e, l: self.document.undo_layer_action(l)) # Connect local_viewport -> network self.document.stroke_observers.append(self.on_stroke) self.canvas.show()