Beispiel #1
0
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))
Beispiel #2
0
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
Beispiel #3
0
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))
Beispiel #4
0
 def on_button_release(self, event):
     self.event_manager.handle(DiagramItemPlaced(self.new_item))
     return super().on_button_release(event)