You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
from matplotlib import backend_tools, widgets
 | 
						|
from matplotlib.backend_bases import FigureCanvasBase
 | 
						|
from matplotlib.figure import Figure
 | 
						|
 | 
						|
from collections.abc import Callable, Iterable
 | 
						|
from typing import Any, TypeVar
 | 
						|
 | 
						|
class ToolEvent:
 | 
						|
    name: str
 | 
						|
    sender: Any
 | 
						|
    tool: backend_tools.ToolBase
 | 
						|
    data: Any
 | 
						|
    def __init__(self, name, sender, tool, data: Any | None = ...) -> None: ...
 | 
						|
 | 
						|
class ToolTriggerEvent(ToolEvent):
 | 
						|
    canvasevent: ToolEvent
 | 
						|
    def __init__(
 | 
						|
        self,
 | 
						|
        name,
 | 
						|
        sender,
 | 
						|
        tool,
 | 
						|
        canvasevent: ToolEvent | None = ...,
 | 
						|
        data: Any | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
 | 
						|
class ToolManagerMessageEvent:
 | 
						|
    name: str
 | 
						|
    sender: Any
 | 
						|
    message: str
 | 
						|
    def __init__(self, name: str, sender: Any, message: str) -> None: ...
 | 
						|
 | 
						|
class ToolManager:
 | 
						|
    keypresslock: widgets.LockDraw
 | 
						|
    messagelock: widgets.LockDraw
 | 
						|
    def __init__(self, figure: Figure | None = ...) -> None: ...
 | 
						|
    @property
 | 
						|
    def canvas(self) -> FigureCanvasBase | None: ...
 | 
						|
    @property
 | 
						|
    def figure(self) -> Figure | None: ...
 | 
						|
    @figure.setter
 | 
						|
    def figure(self, figure: Figure) -> None: ...
 | 
						|
    def set_figure(self, figure: Figure, update_tools: bool = ...) -> None: ...
 | 
						|
    def toolmanager_connect(self, s: str, func: Callable[[ToolEvent], Any]) -> int: ...
 | 
						|
    def toolmanager_disconnect(self, cid: int) -> None: ...
 | 
						|
    def message_event(self, message: str, sender: Any | None = ...) -> None: ...
 | 
						|
    @property
 | 
						|
    def active_toggle(self) -> dict[str | None, list[str] | str]: ...
 | 
						|
    def get_tool_keymap(self, name: str) -> list[str]: ...
 | 
						|
    def update_keymap(self, name: str, key: str | Iterable[str]) -> None: ...
 | 
						|
    def remove_tool(self, name: str) -> None: ...
 | 
						|
    _T = TypeVar("_T", bound=backend_tools.ToolBase)
 | 
						|
    def add_tool(self, name: str, tool: type[_T], *args, **kwargs) -> _T: ...
 | 
						|
    def trigger_tool(
 | 
						|
        self,
 | 
						|
        name: str | backend_tools.ToolBase,
 | 
						|
        sender: Any | None = ...,
 | 
						|
        canvasevent: ToolEvent | None = ...,
 | 
						|
        data: Any | None = ...,
 | 
						|
    ) -> None: ...
 | 
						|
    @property
 | 
						|
    def tools(self) -> dict[str, backend_tools.ToolBase]: ...
 | 
						|
    def get_tool(
 | 
						|
        self, name: str | backend_tools.ToolBase, warn: bool = ...
 | 
						|
    ) -> backend_tools.ToolBase | None: ...
 |