U
vi @ s` d dl mZmZmZ d dlmZm Z d dlmZmZm Z ddl
mZ edZG dd deZ
d S )
)AnyOptionalTypeVar)abctyping)CompositeDisposable
DisposableSingleAssignmentDisposable )PeriodicScheduler_TStatec s e Zd ZdZedd fddZdeje e e e
jdddZdej
eje e e e
jd d
dZdejeje e e e
jd dd
Z ZS )TkinterSchedulerzA scheduler that schedules work via the Tkinter main event loop.
http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/universal.html
http://effbot.org/tkinterbook/widget.htmN)rootreturnc s t || _dS )zCreate a new TkinterScheduler.
Args:
root: The Tk instance to use; typically, you would get this by
import tkinter; tkinter.Tk()
N)super__init___root)selfr __class__ ^/opt/alt/python38/lib/python3.8/site-packages/reactivex/scheduler/mainloop/tkinterscheduler.pyr s
zTkinterScheduler.__init__)actionstater c C s | d||S )a! Schedules an action to be executed.
Args:
action: Action to be executed.
state: [Optional] state to be given to the action function.
Returns:
The disposable object used to cancel the scheduled action
(best effort).
g )schedule_relative)r r r r r r schedule s zTkinterScheduler.schedule)duetimer r r c sf t dd fdd}tdt|d }j||ddfdd}tt|S ) au Schedules an action to be executed after duetime.
Args:
duetime: Relative time after which to execute the action.
action: Action to be executed.
state: [Optional] state to be given to the action function.
Returns:
The disposable object used to cancel the scheduled action
(best effort).
N)r c s j d_d S )Nr )
invoke_actionZ
disposabler )r sadr r r r r D s z9TkinterScheduler.schedule_relative.