412 |
self.full_redraw() |
self.full_redraw() |
413 |
|
|
414 |
def Map(self): |
def Map(self): |
415 |
|
"""Return the map displayed by this canvas""" |
416 |
return self.map |
return self.map |
417 |
|
|
418 |
def redraw(self, *args): |
def redraw(self, *args): |
513 |
self.set_view_transform(scale, (offx, offy)) |
self.set_view_transform(scale, (offx, offy)) |
514 |
|
|
515 |
def Translate(self, dx, dy): |
def Translate(self, dx, dy): |
516 |
|
"""Move the map by dx, dy pixels""" |
517 |
offx, offy = self.offset |
offx, offy = self.offset |
518 |
self.set_view_transform(self.scale, (offx + dx, offy + dy)) |
self.set_view_transform(self.scale, (offx + dx, offy + dy)) |
519 |
|
|
520 |
def ZoomInTool(self): |
def ZoomInTool(self): |
521 |
|
"""Start the zoom in tool""" |
522 |
self.tool = ZoomInTool(self) |
self.tool = ZoomInTool(self) |
523 |
|
|
524 |
def ZoomOutTool(self): |
def ZoomOutTool(self): |
525 |
|
"""Start the zoom out tool""" |
526 |
self.tool = ZoomOutTool(self) |
self.tool = ZoomOutTool(self) |
527 |
|
|
528 |
def PanTool(self): |
def PanTool(self): |
529 |
|
"""Start the pan tool""" |
530 |
self.tool = PanTool(self) |
self.tool = PanTool(self) |
531 |
|
|
532 |
def IdentifyTool(self): |
def IdentifyTool(self): |
533 |
|
"""Start the identify tool""" |
534 |
self.tool = IdentifyTool(self) |
self.tool = IdentifyTool(self) |
535 |
|
|
536 |
def LabelTool(self): |
def LabelTool(self): |
537 |
|
"""Start the label tool""" |
538 |
self.tool = LabelTool(self) |
self.tool = LabelTool(self) |
539 |
|
|
540 |
def CurrentTool(self): |
def CurrentTool(self): |
541 |
|
"""Return the name of the current tool or None if no tool is active""" |
542 |
return self.tool and self.tool.Name() or None |
return self.tool and self.tool.Name() or None |
543 |
|
|
544 |
def CurrentPosition(self): |
def CurrentPosition(self): |
798 |
return result |
return result |
799 |
|
|
800 |
def LabelShapeAt(self, x, y): |
def LabelShapeAt(self, x, y): |
801 |
|
"""Add or remove a label at window position x, y. |
802 |
|
|
803 |
|
If there's a label at the given position, remove it. Otherwise |
804 |
|
determine the shape at the position, run the label dialog and |
805 |
|
unless the user cancels the dialog, add a laber. |
806 |
|
""" |
807 |
ox = x; oy = y |
ox = x; oy = y |
808 |
label_layer = self.map.LabelLayer() |
label_layer = self.map.LabelLayer() |
809 |
layer, shape_index = self.find_shape_at(x, y, select_labels = 1) |
layer, shape_index = self.find_shape_at(x, y, select_labels = 1) |