More complete type stubs for tkinter Canvas methods. (#5188)

* More complete type stubs for tkinter Canvas methods.

* Screen units.

* Switch to type alias.
This commit is contained in:
Daniel Rosenwasser
2021-04-22 00:15:35 -07:00
committed by GitHub
parent bf5ff49b53
commit 863b8f2e98

View File

@@ -105,6 +105,7 @@ _TkinterSequence2D = Union[List[List[_T]], List[Tuple[_T, ...]], Tuple[List[_T],
_Anchor = Literal["nw", "n", "ne", "w", "center", "e", "sw", "s", "se"] # manual page: Tk_GetAnchor
_Bitmap = str # manual page: Tk_GetBitmap
_ButtonCommand = Union[str, Callable[[], Any]] # return value is returned from Button.invoke()
_CanvasItemId = int # handles for items created on a canvas - can be passed to Canvas.delete()
_Color = str # typically '#rrggbb', '#rgb' or color names.
_Compound = Literal["top", "left", "center", "right", "bottom", "none"] # -compound in manual page named 'options'
_Cursor = Union[str, Tuple[str], Tuple[str, str], Tuple[str, str, str], Tuple[str, str, str, str]] # manual page: Tk_GetCursor
@@ -1112,26 +1113,178 @@ class Canvas(Widget, XView, YView):
def canvasx(self, screenx, gridspacing: Optional[Any] = ...): ...
def canvasy(self, screeny, gridspacing: Optional[Any] = ...): ...
def coords(self, *args): ...
def create_arc(self, *args, **kw): ...
def create_bitmap(self, *args, **kw): ...
def create_image(self, *args, **kw): ...
def create_line(self, *args, **kw): ...
def create_oval(self, *args, **kw): ...
def create_polygon(self, *args, **kw): ...
def create_rectangle(self, *args, **kw): ...
def create_text(self, *args, **kw): ...
def create_window(self, *args, **kw): ...
def create_arc(self, *args, **kw) -> _CanvasItemId: ...
def create_bitmap(self, *args, **kw) -> _CanvasItemId: ...
def create_image(self, *args, **kw) -> _CanvasItemId: ...
def create_line(
self,
__x0: float,
__y0: float,
__x1: float,
__y1: float,
*,
activedash: _Color = ...,
activefill: _Color = ...,
activestipple: str = ...,
activewidth: _ScreenUnits = ...,
arrow: Literal["first", "last", "both"] = ...,
arrowshape: Tuple[float, float, float] = ...,
capstyle: Literal["round", "projecting", "butt"] = ...,
dash: Union[Tuple[float], Tuple[float, float], Tuple[float, float, float, float]] = ...,
dashoffset: _ScreenUnits = ...,
disableddash: _Color = ...,
disabledfill: _Color = ...,
disabledstipple: _Bitmap = ...,
disabledwidth: _ScreenUnits = ...,
fill: _Color = ...,
joinstyle: Literal["round", "bevel", "miter"] = ...,
offset: _ScreenUnits = ...,
smooth: bool = ...,
splinesteps: float = ...,
state: Literal["normal", "active", "disabled"] = ...,
stipple: _Bitmap = ...,
tags: Union[str, Tuple[str, ...]] = ...,
width: _ScreenUnits = ...,
) -> _CanvasItemId: ...
def create_oval(
self,
__x0: float,
__y0: float,
__x1: float,
__y1: float,
*,
activedash: _Color = ...,
activefill: _Color = ...,
activeoutline: _Color = ...,
activeoutlinestipple: _Color = ...,
activestipple: str = ...,
activewidth: _ScreenUnits = ...,
dash: Union[Tuple[float], Tuple[float, float], Tuple[float, float, float, float]] = ...,
dashoffset: _ScreenUnits = ...,
disableddash: _Color = ...,
disabledfill: _Color = ...,
disabledoutline: _Color = ...,
disabledoutlinestipple: _Color = ...,
disabledstipple: _Bitmap = ...,
disabledwidth: _ScreenUnits = ...,
fill: _Color = ...,
offset: _ScreenUnits = ...,
outline: _Color = ...,
outlineoffset: _ScreenUnits = ...,
outlinestipple: _Bitmap = ...,
state: Literal["normal", "active", "disabled"] = ...,
stipple: _Bitmap = ...,
tags: Union[str, Tuple[str, ...]] = ...,
width: _ScreenUnits = ...,
) -> _CanvasItemId: ...
def create_polygon(
self,
__x0: float,
__y0: float,
__x1: float,
__y1: float,
*xy_pairs: float,
activedash: _Color = ...,
activefill: _Color = ...,
activeoutline: _Color = ...,
activeoutlinestipple: _Color = ...,
activestipple: str = ...,
activewidth: _ScreenUnits = ...,
dash: Union[Tuple[float], Tuple[float, float], Tuple[float, float, float, float]] = ...,
dashoffset: _ScreenUnits = ...,
disableddash: _Color = ...,
disabledfill: _Color = ...,
disabledoutline: _Color = ...,
disabledoutlinestipple: _Color = ...,
disabledstipple: _Bitmap = ...,
disabledwidth: _ScreenUnits = ...,
fill: _Color = ...,
joinstyle: Literal["round", "bevel", "miter"] = ...,
offset: _ScreenUnits = ...,
outline: _Color = ...,
outlineoffset: _ScreenUnits = ...,
outlinestipple: _Bitmap = ...,
smooth: bool = ...,
splinesteps: float = ...,
state: Literal["normal", "active", "disabled"] = ...,
stipple: _Bitmap = ...,
tags: Union[str, Tuple[str, ...]] = ...,
width: _ScreenUnits = ...,
) -> _CanvasItemId: ...
def create_rectangle(
self,
__x0: float,
__y0: float,
__x1: float,
__y1: float,
*,
activedash: _Color = ...,
activefill: _Color = ...,
activeoutline: _Color = ...,
activeoutlinestipple: _Color = ...,
activestipple: str = ...,
activewidth: _ScreenUnits = ...,
dash: Union[Tuple[float], Tuple[float, float], Tuple[float, float, float, float]] = ...,
dashoffset: _ScreenUnits = ...,
disableddash: _Color = ...,
disabledfill: _Color = ...,
disabledoutline: _Color = ...,
disabledoutlinestipple: _Color = ...,
disabledstipple: _Bitmap = ...,
disabledwidth: _ScreenUnits = ...,
fill: _Color = ...,
offset: _ScreenUnits = ...,
outline: _Color = ...,
outlineoffset: _ScreenUnits = ...,
outlinestipple: _Bitmap = ...,
state: Literal["normal", "active", "disabled"] = ...,
stipple: _Bitmap = ...,
tags: Union[str, Tuple[str, ...]] = ...,
width: _ScreenUnits = ...,
) -> _CanvasItemId: ...
def create_text(
self,
__x: float,
__y: float,
*,
activefill: _Color = ...,
activestipple: str = ...,
anchor: _Anchor = ...,
disabledfill: _Color = ...,
disabledstipple: _Bitmap = ...,
fill: _Color = ...,
font: _FontDescription = ...,
justify: Literal["left", "center", "right"] = ...,
offset: _ScreenUnits = ...,
state: Literal["normal", "active", "disabled"] = ...,
stipple: _Bitmap = ...,
tags: Union[str, Tuple[str, ...]] = ...,
text: str = ...,
width: _ScreenUnits = ...,
) -> _CanvasItemId: ...
def create_window(
self,
__x: float,
__y: float,
*,
anchor: _Anchor = ...,
height: _ScreenUnits = ...,
state: Literal["normal", "active", "disabled"] = ...,
tags: Union[str, Tuple[str, ...]] = ...,
width: _ScreenUnits = ...,
window: Widget = ...,
) -> _CanvasItemId: ...
def dchars(self, *args): ...
def delete(self, *args): ...
def delete(self, *tagsOrCanvasIds: Union[str, _CanvasItemId]) -> None: ...
def dtag(self, *args): ...
def find(self, *args): ...
def find_above(self, tagOrId): ...
def find_above(self, tagOrId: Union[str, _CanvasItemId]): ...
def find_all(self): ...
def find_below(self, tagOrId): ...
def find_below(self, tagOrId: Union[str, _CanvasItemId]): ...
def find_closest(self, x, y, halo: Optional[Any] = ..., start: Optional[Any] = ...): ...
def find_enclosed(self, x1, y1, x2, y2): ...
def find_overlapping(self, x1, y1, x2, y2): ...
def find_withtag(self, tagOrId): ...
def find_withtag(self, tagOrId: Union[str, _CanvasItemId]): ...
def focus(self, *args): ...
def gettags(self, *args): ...
def icursor(self, *args): ...
@@ -1144,7 +1297,7 @@ class Canvas(Widget, XView, YView):
lower: Any
def move(self, *args): ...
if sys.version_info >= (3, 8):
def moveto(self, tagOrId: Union[int, str], x: str = ..., y: str = ...) -> None: ...
def moveto(self, tagOrId: Union[str, _CanvasItemId], x: str = ..., y: str = ...) -> None: ...
def postscript(self, cnf=..., **kw): ...
def tag_raise(self, *args): ...
lift: Any