spinetoolbox.widgets.custom_qgraphicsviews

Classes for custom QGraphicsViews for the Design and Graph views.

authors:
  1. Savolainen (VTT), M. Marin (KTH)
date:

6.2.2018

Module Contents

Classes

CustomQGraphicsView Super class for Design and Entity QGraphicsViews.
DesignQGraphicsView QGraphicsView for the Design View.
class spinetoolbox.widgets.custom_qgraphicsviews.CustomQGraphicsView(parent)[source]

Bases: PySide2.QtWidgets.QGraphicsView

Super class for Design and Entity QGraphicsViews.

parent

Parent widget

Type:QWidget

Init CustomQGraphicsView.

zoom_factor[source]
keyPressEvent(self, event)[source]

Overridden method. Enable zooming with plus and minus keys (comma resets zoom). Send event downstream to QGraphicsItems if pressed key is not handled here.

Parameters:event (QKeyEvent) – Pressed key
mousePressEvent(self, event)[source]

Set rubber band selection mode if Control pressed. Enable resetting the zoom factor from the middle mouse button.

mouseReleaseEvent(self, event)[source]

Reestablish scroll hand drag mode.

_use_smooth_zoom(self)[source]
wheelEvent(self, event)[source]

Zooms in/out.

Parameters:event (QWheelEvent) – Mouse wheel event
resizeEvent(self, event)[source]

Updates zoom if needed when the view is resized.

Parameters:event (QResizeEvent) – a resize event
setScene(self, scene)[source]

Sets a new scene to this view.

Parameters:scene (ShrinkingScene) – a new scene
_handle_item_move_finished(self, item)[source]
_update_zoom_limits(self)[source]

Updates the minimum zoom limit and the zoom level with which the view fits all the items in the scene.

_handle_zoom_time_line_advanced(self, pos)[source]

Performs zoom whenever the smooth zoom time line advances.

_handle_transformation_time_line_finished(self)[source]

Cleans up after the smooth transformation time line finishes.

_handle_resize_time_line_finished(self)[source]

Cleans up after resizing time line finishes.

zoom_in(self)[source]

Perform a zoom in with a fixed scaling.

zoom_out(self)[source]

Perform a zoom out with a fixed scaling.

reset_zoom(self)[source]

Resets zoom to the default factor.

gentle_zoom(self, factor, zoom_focus=None)[source]

Perform a zoom by a given factor.

Parameters:
  • factor (float) – a scaling factor relative to the current scene scaling
  • zoom_focus (QPoint) – focus of the zoom, e.g. mouse pointer position
_zoom(self, factor)[source]
_get_viewport_scene_rect(self)[source]

Returns the viewport rect mapped to the scene.

Returns:QRectF
_ensure_item_visible(self, item)[source]

Resets zoom if item is not visible.

_set_preferred_scene_rect(self)[source]

Sets the scene rect to the result of uniting the scene viewport rect and the items bounding rect.

class spinetoolbox.widgets.custom_qgraphicsviews.DesignQGraphicsView(parent)[source]

Bases: spinetoolbox.widgets.custom_qgraphicsviews.CustomQGraphicsView

QGraphicsView for the Design View.

Parameters:parent (QWidget) – Graph View Form’s (QMainWindow) central widget (self.centralwidget)
set_ui(self, toolbox)[source]

Set a new scene into the Design View when app is started.

set_project_item_model(self, model)[source]

Set project item model.

remove_icon(self, icon)[source]

Removes icon and all connected links from scene.

Returns all Links in the scene. Used for saving the project.

Pushes an AddLinkCommand to the toolbox undo stack.

Returns a Link between given connectors.

Parameters:
Returns:

Link

Makes a Link between given source and destination connectors and adds it to the project.

Parameters:

Adds given Link to the project.

Parameters:link (Link) – the link to add

Checks if there’s a link with the same source and destination as the given one, wipes it out and returns it.

Parameters:link (Link) – a new link being added to the project.
Returns
Link, NoneType

Pushes a RemoveLinkCommand to the toolbox undo stack.

Removes link from the project.

Remove link, then start drawing another one from the same source connector.

Creates Links from the given connections list.

  • List of dicts is accepted, e.g.
Parameters:connections (list) – List of connections.
notify_destination_items(self, src_connector, dst_connector)[source]

Notify destination items that they have been connected to a source item.

_start_animation(self, item_name, direction)[source]

Starts item icon animation when executing forward.

_stop_animation(self, item_name, direction, _)[source]

Stops item icon animation when executing forward.

_run_leave_animation(self, item_name, direction, engine_state)[source]

Runs the animation that represents execution leaving this item. Blocks until the animation is finished.

_make_execution_leave_animation(self, item_name)[source]

Returns animation to play when execution leaves this item.

Returns:QParallelAnimationGroup