plopp.widgets.drawing.DrawingTool#

class plopp.widgets.drawing.DrawingTool(figure, input_node, tool, func, destination, get_artist_info, value=False, continuous_update=True, **kwargs)[source]#

Interface between Plopp and Mpltoolbox.

Parameters:
  • figure (FigureLike) – The figure where the tool will draw things (points, lines, shapes…).

  • input_node (Node) – The node that provides the raw data which is shown in figure.

  • tool (Any) – The Mpltoolbox tool to use (Points, Lines, Rectangles, Ellipses…).

  • func (Callable) – The function to be used to make a node whose parents will be the input_node and a node yielding the current state of the tool (current position, size).

  • destination (FigureLike | Node) – Where the output from the func node will be then sent on. This can either be a figure, or another graph node.

  • get_artist_info (Callable) – A function that returns another function which will convert the properties of the artist that produced the event to something (usually a dict) that is usable by the destination.

  • value (bool, default: False) – Activate the tool upon creation if True.

  • continuous_update (bool, default: True) – If True, the tool will update the nodes as a drawing object changes. If False, destination will be updated only when the user releases the mouse button. In other words, it can be set True for tools that need fast feedback, or False for tools that use computationally expensive functions.

  • **kwargs – Additional arguments are forwarded to the ToggleTool constructor.

__init__(figure, input_node, tool, func, destination, get_artist_info, value=False, continuous_update=True, **kwargs)[source]#

Public constructor

Methods

__init__(figure, input_node, tool, func, ...)

Public constructor

add_class(className)

Adds a class to the top level element of the widget.

add_traits(**traits)

Dynamically add trait attributes to the Widget.

blur()

Blur the widget.

class_own_trait_events(name)

Get a dict of all event handlers defined on this class, not a parent.

class_own_traits(**metadata)

Get a dict of all the traitlets defined on this class, not a parent.

class_trait_names(**metadata)

Get a list of all the names of this class' traits.

class_traits(**metadata)

Get a dict of all the traits of this class.

close()

Close method.

close_all()

focus()

Focus on the widget.

get_interact_value()

Return the value for this widget which should be passed to interactive functions.

get_manager_state([drop_defaults, widgets])

Returns the full state for a widget manager for embedding

get_state([key, drop_defaults])

Gets the widget state, or a piece of it.

get_view_spec()

handle_comm_opened(comm, msg)

Static method, called when a widget is constructed.

handle_control_comm_opened(comm, msg)

Class method, called when the comm-open message on the "jupyter.widget.control" comm channel is received

has_trait(name)

Returns True if the object has a trait with the specified name.

hold_sync()

Hold syncing any state until the outermost context manager exits

hold_trait_notifications()

Context manager for bundling trait change notifications and cross validation.

make_node(artist)

notify_change(change)

Called when a property has changed.

observe(handler[, names, type])

Setup a handler to be called when a trait changes.

on_msg(callback[, remove])

(Un)Register a custom msg receive callback.

on_trait_change([handler, name, remove])

DEPRECATED: Setup a handler to be called when a trait changes.

on_widget_constructed(callback)

Registers a callback to be called when a widget is constructed.

open()

Open a comm to the frontend if one isn't already open.

remove_class(className)

Removes a class from the top level element of the widget.

remove_node(artist)

send(content[, buffers])

Sends a custom msg to the widget model in the front-end.

send_state([key])

Sends the widget state, or a piece of it, to the front-end, if it exists.

set_state(sync_data)

Called when a state is received from the front-end.

set_trait(name, value)

Forcibly sets trait attribute, including read-only attributes.

setup_instance(**kwargs)

This is called before self.__init__ is called.

start_stop()

Toggle start or stop of the tool.

trait_defaults(*names, **metadata)

Return a trait's default value or a dictionary of them

trait_events([name])

Get a dict of all the event handlers of this class.

trait_has_value(name)

Returns True if the specified trait has a value.

trait_metadata(traitname, key[, default])

Get metadata values for trait by key.

trait_names(**metadata)

Get a list of all the names of this class' traits.

trait_values(**metadata)

A dict of trait names and their values.

traits(**metadata)

Get a dict of all the traits of this class.

unobserve(handler[, names, type])

Remove a trait change handler.

unobserve_all([name])

Remove trait change handlers of any type for the specified name.

update_node(artist)

Attributes

button_style

Use a predefined styling for the button.

comm

A trait which allows any value.

cross_validation_lock

A contextmanager for running a block with our cross validation lock set to True.

description

Description of the control.

description_allow_html

Accept HTML in the description.

description_tooltip

The tooltip information. .. deprecated :: 8.0.0 Use tooltip attribute instead.

disabled

Enable or disable user changes.

icon

Font-awesome icon.

keys

The traits which are synced.

layout

An instance trait which coerces a dict to an instance.

log

A trait whose value must be an instance of a specified class.

model_id

Gets the model id of this widget.

style

Styling customizations

tabbable

Is widget tabbable?

tooltip

A tooltip caption.

value

Bool value

widget_types

widgets