def set_location(self, lat, lon, ele=None): """Alter the coordinates of this photo.""" modified.add(self) if ele is not None: self.altitude = ele self.latitude = lat self.longitude = lon
def __init__(self, photo): Champlain.Label.__init__(self) self.photo = photo self.set_name(photo.filename) self.set_text(basename(photo.filename)) self.set_selectable(True) self.set_draggable(True) self.set_property('reactive', True) self.connect('enter-event', hover, 1.05) self.connect('leave-event', hover, 1 / 1.05) self.connect('button-press', clicked) self.connect( 'drag-finish', lambda *i: modified.add(photo) and photo.disable_auto_position()) for prp in ('latitude', 'longitude'): Binding(photo, prp, self, flags=GObject.BindingFlags.BIDIRECTIONAL) Binding(photo, 'positioned', self, 'visible') MarkerLayer.add_marker(self)