Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 51 additions & 4 deletions stubs/reportlab/reportlab/platypus/doctemplate.pyi
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from _typeshed import Incomplete
from abc import abstractmethod
from collections.abc import Callable
from typing import IO, Any, Literal, Protocol, TypeAlias, type_check_only
from typing_extensions import Self
from typing import IO, Any, Literal, Protocol, TypeAlias, TypedDict, type_check_only
from typing_extensions import Self, Unpack

from reportlab.pdfgen.canvas import Canvas
from reportlab.platypus.flowables import Flowable
Expand Down Expand Up @@ -181,6 +181,54 @@ class PageAccumulator:
def pageEndAction(self, canv: Canvas, doc: BaseDocTemplate) -> None: ...
def onDrawStr(self, value: object, *args) -> _OnDrawStr: ...

@type_check_only
class _DocTemplateKwargs(TypedDict, total=False):
pagesize: Incomplete
pageTemplates: list[PageTemplate]
showBoundary: Incomplete
width: float
height: float
leftMargin: float
rightMargin: float
topMargin: float
bottomMargin: float
allowSplitting: Incomplete
title: Incomplete | None
author: Incomplete | None
subject: Incomplete | None
creator: Incomplete | None
producer: Incomplete | None
keywords: list[Incomplete]
invariant: Incomplete | None
pageCompression: Incomplete | None
rotation: Incomplete
encrypt: Incomplete | None
cropMarks: Incomplete | None
enforceColorSpace: Incomplete | None
displayDocTitle: Incomplete | None
lang: Incomplete | None
initialFontName: Incomplete | None
initialFontSize: Incomplete | None
initialLeading: Incomplete | None
cropBox: Incomplete | None
artBox: Incomplete | None
trimBox: Incomplete | None
bleedBox: Incomplete | None
keepTogetherClass: type[Flowable]
hideToolbar: Incomplete | None
hideMenubar: Incomplete | None
hideWindowUI: Incomplete | None
fitWindow: Incomplete | None
centerWindow: Incomplete | None
nonFullScreenPageMode: Incomplete | None
direction: Incomplete | None
viewArea: Incomplete | None
viewClip: Incomplete | None
printArea: Incomplete | None
printClip: Incomplete | None
printScaling: Incomplete | None
duplex: Incomplete | None

class BaseDocTemplate:
filename: Incomplete
pagesize: Incomplete
Expand Down Expand Up @@ -233,8 +281,7 @@ class BaseDocTemplate:
page: int
frame: Frame
canv: Canvas
# TODO: Use TypedDict with Unpack for **kw
def __init__(self, filename: str | IO[bytes], **kw) -> None: ...
def __init__(self, filename: str | IO[bytes], **kw: Unpack[_DocTemplateKwargs]) -> None: ...
def setPageCallBack(self, func: Callable[[int], object] | None) -> None: ...
def setProgressCallBack(self, func: Callable[[str, int], object] | None) -> None: ...
def clean_hanging(self) -> None: ...
Expand Down