def on_drag_end(gesture, offset_x, offset_y, placement_state): if placement_state.moving: view = gesture.get_widget() _, x, y = gesture.get_start_point() item = placement_state.moving.item placement_state.moving.stop_move((x + offset_x, y + offset_y)) connect_opposite_handle(view, item, x, y, placement_state.handle_index) placement_state.event_manager.handle(DiagramItemPlaced(item))
def on_drag_begin(gesture, start_x, start_y, placement_state): view = gesture.get_widget() gesture.set_state(Gtk.EventSequenceState.CLAIMED) item = create_item(view, placement_state.factory, start_x, start_y) handle = item.handles()[placement_state.handle_index] if handle.movable: x, y = view.get_matrix_v2i(item).transform_point(start_x, start_y) connect_opposite_handle(view, item, x, y, placement_state.handle_index) placement_state.moving = HandleMove(item, handle, view) placement_state.moving.start_move((start_x, start_y)) else: placement_state.event_manager.handle(DiagramItemPlaced(item)) view.selection.dropzone_item = None
def on_drag_end(gesture, offset_x, offset_y, placement_state): if placement_state.moving: _, x, y = gesture.get_start_point() placement_state.moving.stop_move((x + offset_x, y + offset_y)) placement_state.event_manager.handle( DiagramItemPlaced(placement_state.moving.item))
def on_button_release(self, event): self.event_manager.handle(DiagramItemPlaced(self.new_item)) return super().on_button_release(event)