main¶
Chess Heat Map App main module.
Defines the ChessHeatMapApp GUI class and related helpers for rendering chess move heatmaps in a Tkinter application.
Classes
Main application window for the Chess Heat Map app. |
- class main.ChessHeatMapApp¶
Bases:
Tk
,BaseChessTkApp
Main application window for the Chess Heat Map app.
This class is responsible for rendering the chessboard, handling user input, and managing heatmap calculations for each move in the loaded PGN game. It extends tk.Tk to provide a GUI with interactive features.
- add_options(menu_bar: Menu) None ¶
Adds options menu to menu bar.
- Parameters:
- menu_bartkinter.Menu
- after(ms, func=None, *args)¶
Call function once after given time.
MS specifies the time in milliseconds. FUNC gives the function which shall be called. Additional parameters are given as parameters to the function call. Return identifier to cancel scheduling with after_cancel.
- after_cancel(id)¶
Cancel scheduling of function identified with ID.
Identifier returned by after or after_idle must be given as first parameter.
- after_idle(func, *args)¶
Call FUNC once if the Tcl main loop has no event to process.
Return an identifier to cancel the scheduling with after_cancel.
- anchor(anchor=None)¶
The anchor value controls how to place the grid within the master when no row/column has any weight.
The default anchor is nw.
- ask_depth() Optional[int] ¶
Prompt the user to set a new recursion depth for heatmap calculations.
This method displays a dialog box warning the user about the exponential complexity of increasing depth values. It recommends using odd values for unbiased heatmaps, as even depths favor the current player.
- Returns:
- Union[int, None]
The user-provided depth value if valid, otherwise None.
- aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)¶
Instruct the window manager to set the aspect ratio (width/height) of this widget to be between MINNUMER/MINDENOM and MAXNUMER/MAXDENOM. Return a tuple of the actual values if no argument is given.
- attributes(*args)¶
This subcommand returns or sets platform specific attributes
The first form returns a list of the platform specific flags and their values. The second form returns the value for the specific option. The third form sets one or more of the values. The values are as follows:
On Windows, -disabled gets or sets whether the window is in a disabled state. -toolwindow gets or sets the style of the window to toolwindow (as defined in the MSDN). -topmost gets or sets whether this is a topmost window (displays above all other windows).
On Macintosh, XXXXX
On Unix, there are currently no special attribute values.
- bbox(column=None, row=None, col2=None, row2=None)¶
Return a tuple of integer coordinates for the bounding box of this widget controlled by the geometry manager grid.
If COLUMN, ROW is given the bounding box applies from the cell with row and column 0 to the specified cell. If COL2 and ROW2 are given the bounding box starts at that cell.
The returned integers specify the offset of the upper left corner in the master widget and the width and height.
- bell(displayof=0)¶
Ring a display’s bell.
- bind(sequence=None, func=None, add=None)¶
Bind to this widget at event SEQUENCE a call to function FUNC.
SEQUENCE is a string of concatenated event patterns. An event pattern is of the form <MODIFIER-MODIFIER-TYPE-DETAIL> where MODIFIER is one of Control, Mod2, M2, Shift, Mod3, M3, Lock, Mod4, M4, Button1, B1, Mod5, M5 Button2, B2, Meta, M, Button3, B3, Alt, Button4, B4, Double, Button5, B5 Triple, Mod1, M1. TYPE is one of Activate, Enter, Map, ButtonPress, Button, Expose, Motion, ButtonRelease FocusIn, MouseWheel, Circulate, FocusOut, Property, Colormap, Gravity Reparent, Configure, KeyPress, Key, Unmap, Deactivate, KeyRelease Visibility, Destroy, Leave and DETAIL is the button number for ButtonPress, ButtonRelease and DETAIL is the Keysym for KeyPress and KeyRelease. Examples are <Control-Button-1> for pressing Control and mouse button 1 or <Alt-A> for pressing A and the Alt key (KeyPress can be omitted). An event pattern can also be a virtual event of the form <<AString>> where AString can be arbitrary. This event can be generated by event_generate. If events are concatenated they must appear shortly after each other.
FUNC will be called if the event sequence occurs with an instance of Event as argument. If the return value of FUNC is “break” no further bound function is invoked.
An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function.
Bind will return an identifier to allow deletion of the bound function with unbind without memory leak.
If FUNC or SEQUENCE is omitted the bound function or list of bound events are returned.
- bind_all(sequence=None, func=None, add=None)¶
Bind to all widgets at an event SEQUENCE a call to function FUNC. An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. See bind for the return value.
- bind_class(className, sequence=None, func=None, add=None)¶
Bind to widgets with bindtag CLASSNAME at event SEQUENCE a call of function FUNC. An additional boolean parameter ADD specifies whether FUNC will be called additionally to the other bound function or whether it will replace the previous function. See bind for the return value.
- bindtags(tagList=None)¶
Set or get the list of bindtags for this widget.
With no argument return the list of all bindtags associated with this widget. With a list of strings as argument the bindtags are set to this list. The bindtags determine in which order events are processed (see bind).
- board: Board¶
- canvas: Canvas¶
- cget(key)¶
Return the resource value for a KEY given as string.
- change_board_colors() None ¶
Invoke both light and dark square color option prompts.
This method opens color pickers for both the light and dark squares, allowing the user to select custom colors for the chessboard squares.
- change_font(new_font: str) None ¶
Handle font option updates.
This method updates the font used for displaying chess pieces on the board. After updating, the board is re-rendered with the new font.
- check_heatmap_futures() None ¶
Periodically check for completed heatmap calculations.
This method periodically checks if any heatmap calculation futures have completed and updates the board display with the new heatmap if available. If no updates are available, it continues checking periodically.
- choose_square_color(title: str, index: int) None ¶
Allow the user to change a specific square color.
This method opens a tkinter color chooser dialog, allowing the user to select a new color for either the light or dark squares on the chessboard.
- Parameters:
- titlestr
The title of the color picker dialog (e.g., “Pick Light Square Color”).
- indexint
The index (0 for light squares, 1 for dark squares) of the square color to be changed.
- clear_board() None ¶
Clears the canvas of any drawn board objects
- clear_heatmaps() None ¶
Cancel any running heatmap calculations and clear completed ones.
This method ensures that all heatmap-related processes are halted, preventing conflicts when a new PGN file is loaded or when the user adjusts the depth setting.
- clear_tooltips() None ¶
Clears any existing tooltips.
- client(name=None)¶
Store NAME in WM_CLIENT_MACHINE property of this widget. Return current value.
- clipboard_append(string, **kw)¶
Append STRING to the Tk clipboard.
A widget specified at the optional displayof keyword argument specifies the target display. The clipboard can be retrieved with selection_get.
- clipboard_clear(**kw)¶
Clear the data in the Tk clipboard.
A widget specified for the optional displayof keyword argument specifies the target display.
- clipboard_get(**kw)¶
Retrieve data from the clipboard on window’s display.
The window keyword defaults to the root window of the Tkinter application.
The type keyword specifies the form in which the data is to be returned and should be an atom name such as STRING or FILE_NAME. Type defaults to STRING, except on X11, where the default is to try UTF8_STRING and fall back to STRING.
This command is equivalent to:
selection_get(CLIPBOARD)
- colormapwindows(*wlist)¶
Store list of window names (WLIST) into WM_COLORMAPWINDOWS property of this widget. This list contains windows whose colormaps differ from their parents. Return current list of widgets if WLIST is empty.
- colors: List[str]¶
- columnconfigure(index, cnf={}, **kw)¶
Configure column INDEX of a grid.
Valid resources are minsize (minimum size of the column), weight (how much does additional space propagate to this column) and pad (how much space to let additionally).
- command(value=None)¶
Store VALUE in WM_COMMAND property. It is the command which shall be used to invoke the application. Return current command if VALUE is None.
- config(cnf=None, **kw)¶
Configure resources of a widget.
The values for resources are specified as keyword arguments. To get an overview about the allowed keyword arguments call the method keys.
- configure(cnf=None, **kw)¶
Configure resources of a widget.
The values for resources are specified as keyword arguments. To get an overview about the allowed keyword arguments call the method keys.
- create_count_labels(font_size: int, heatmap: ChessMoveHeatmap, offset: int, square: int, square_size: int, x_0: int, y_0: int, y_1: int, black_hint_text: str, white_hint_text: str, color: str) None ¶
Display move count intensity labels on the board.
This method creates small text labels on each square representing the number of times that square was moved to in the analyzed game.
- Parameters:
- color
- white_hint_text
- black_hint_text
- font_sizeint
The font size for the count labels.
- heatmapGradientHeatmap
The heatmap object containing move count data.
- offsetint
Offset for label positioning within the square.
- squareint
The square index (0-63) corresponding to the chessboard layout.
- square_sizeint
The size of each square in pixels.
- x_0int
The top-left x-coordinate of the square.
- y_0int
The top-left y-coordinate of the square.
- y_1int
The bottom-right y-coordinate of the square.
Constructs the app menu during initialization.
This method creates a menu bar with options to load a PGN file, change the board colors, and modify the font. It also allows navigation through the moves in the game (next/previous move).
- create_piece(font_size: int, piece: Optional[Piece], square_size: int, x_0: int, y_0: int, tip: str, make_tip: bool, color: str) None ¶
Render a chess piece on the board.
This method displays a chess piece symbol at the correct square location. It also includes a circular background for better visibility.
- Parameters:
- color
- make_tip
- tip
- font_sizeint
The font size for the piece symbol.
- pieceOptional[Piece]
The chess piece object to render, or None if the square is empty.
- square_sizeint
The size of each square in pixels.
- x_0int
The top-left x-coordinate of the square.
- y_0int
The top-left y-coordinate of the square.
- current_move_index: int¶
- deiconify()¶
Deiconify this widget. If it was never mapped it will not be mapped. On Windows it will raise this widget and give it the focus.
- deletecommand(name)¶
Internal function.
Delete the Tcl command provided in NAME.
- depth: int¶
- destroy()¶
Destroy this and all descendants widgets. This will end the application of this Tcl interpreter.
- draw_board(heatmap: ChessMoveHeatmap, heatmap_colors: ndarray[Any, dtype[str]], pieces_map: ndarray[Any, dtype[Dict[Piece, float64]]], colors: List[str], square_size: int, font_size: int) None ¶
Draws the board to the canvas.
- Parameters:
- heatmapChessMoveHeatmap
- heatmap_colorsNDArray[str]
- pieces_mapNDArray[Dict[Piece, float64]]
- colorsList[str]
- square_sizeint
- font_sizeint
- draw_square_to_canvas(heatmap: ChessMoveHeatmap, square: int, x_0: int, x_1: int, y_0: int, y_1: int, square_size: int, width: int, color: str, outline_color: str, offset: int, font_size: int, make_tip: bool, tip: str, white_hint_text: str, black_hint_text: str) None ¶
Draws a complete Square to the canvas.
- Parameters:
- heatmapChessMoveHeatmap
- squareint
- x_0int
- x_1int
- y_0int
- y_1int
- square_sizeint
- widthint
- colorstr
- outline_colorstr
- offsetint
- font_sizeint
- make_tipbool
- tipstr
- white_hint_textstr
- black_hint_textstr
- ensure_board_has_heatmap() None ¶
Ensures a default heatmap is calculated/retrieved if none exists in app.
- ensure_executor() None ¶
Ensure that the process pool executor is initialized.
This method is called before submitting new heatmap calculations to ensure that parallel processing resources are available.
- event_add(virtual, *sequences)¶
Bind a virtual event VIRTUAL (of the form <<Name>>) to an event SEQUENCE such that the virtual event is triggered whenever SEQUENCE occurs.
- event_delete(virtual, *sequences)¶
Unbind a virtual event VIRTUAL from SEQUENCE.
- event_generate(sequence, **kw)¶
Generate an event SEQUENCE. Additional keyword arguments specify parameter of the event (e.g. x, y, rootx, rooty).
- event_info(virtual=None)¶
Return a list of all virtual events or the information about the SEQUENCE bound to the virtual event VIRTUAL.
- executor: Optional[PPExecutor]¶
- focus()¶
Direct input focus to this widget.
If the application currently does not have the focus this widget will get the focus if the application gets the focus through the window manager.
- focus_displayof()¶
Return the widget which has currently the focus on the display where this widget is located.
Return None if the application does not have the focus.
- focus_force()¶
Direct input focus to this widget even if the application does not have the focus. Use with caution!
- focus_get()¶
Return the widget which has currently the focus in the application.
Use focus_displayof to allow working with several displays. Return None if application does not have the focus.
- focus_lastfor()¶
Return the widget which would have the focus if top level for this widget gets the focus from the window manager.
- focus_set()¶
Direct input focus to this widget.
If the application currently does not have the focus this widget will get the focus if the application gets the focus through the window manager.
- focusmodel(model=None)¶
Set focus model to MODEL. “active” means that this widget will claim the focus itself, “passive” means that the window manager shall give the focus. Return current focus model if MODEL is None.
- font: str¶
- forget(window)¶
The window will be unmapped from the screen and will no longer be managed by wm. toplevel windows will be treated like frame windows once they are no longer managed by wm, however, the menu option configuration will be remembered and the menus will return once the widget is managed again.
- property format_game_headers: str¶
Generate a formatted string containing game details from PGN headers.
- Returns:
- str
A formatted string displaying White/Black player names, result, date, and site.
- frame()¶
Return identifier for decorative frame of this widget if present.
- game: Optional[Game]¶
- geometry(newGeometry=None)¶
Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return current value if None is given.
- get_active_maps(future: Future, map_index: int) Tuple[ChessMoveHeatmap, ndarray[Any, dtype[str]], ndarray[Any, dtype[Dict[Piece, float64]]]] ¶
Gets maps for rendering active position.
- Parameters:
- futureFuture
- map_indexint
- Returns:
- Tuple[ChessMoveHeatmap, numpy.NDArray[str], numpy.NDArray[Dict[Piece, numpy.float64]]]
- get_all_draw_properties_for(square: int, square_size: int, colors: List[str], heatmap_colors: ndarray[Any, dtype[str]], pieces_map: ndarray[Any, dtype[Dict[Piece, float64]]]) Tuple[str, str, bool, int, str, str, str, int, int, int, int, int] ¶
Gets properties needed for drawing a board square to the canvas.
- Parameters:
- squareint
- square_sizeint
- colorsList[str]
- heatmap_colorsnumpy.NDArray[str]
- pieces_mapNDArray[Dict[Piece, float64]]
- Returns:
- Tuple[str, str, bool, int, str, str, str, int, int, int, int, int]
- static get_black_white_hints(square_pieces: Dict[Piece, float64]) Tuple[str, str] ¶
Gets hint text for black and white piece counts
- Parameters:
- square_piecesDict[Piece, float64]
- Returns:
- Tuple[str, str]
- get_board_drawing_properties() Tuple[List[str], int, ChessMoveHeatmap, ndarray[Any, dtype[str]], ndarray[Any, dtype[Dict[Piece, float64]]], int] ¶
Gets properties needed for drawing the board to the canvas.
- Returns:
- Tuple[List[str], int, ChessMoveHeatmap, NDArray[str], NDArray[Dict[Piece, float64]], int]
- get_square_properties(black_hint_text: str, col: int, colors: List[str], flipped_row: int, heatmap_colors: ndarray[Any, dtype[str]], square: int, white_hint_text: str) Tuple[str, bool, int, str, int] ¶
Gets border and fill properties of a square.
- Parameters:
- black_hint_textstr
- colint
- colorsList[str]
- flipped_rowint
- heatmap_colorsnumpy.NDArray[str]
- squareint
- white_hint_textstr
- Returns:
- Tuple[str, bool, int, str, int]
- get_tooltip_texts(square: int, square_pieces: Dict[Piece, float64]) Tuple[str, str, str] ¶
Get texts for tooltips
- Parameters:
- squareint
- square_piecesDict[Piece, float64]
- Returns:
- Tuple[str, str, str]
- static get_xys(col: int, flipped_row: int, square_size: int) Tuple[int, int, int, int] ¶
Get x_0, x_1, y_0, y_1 of a square.
- Parameters:
- colint
- flipped_rowint
- square_sizeint
- Returns:
- Tuple[int, int, int, int]
- getboolean(s)¶
Return a boolean value for Tcl boolean values true and false given as parameter.
- getdouble(s)¶
- getint(s)¶
- getvar(name='PY_VAR')¶
Return value of Tcl variable NAME.
- grab_current()¶
Return widget which has currently the grab in this application or None.
- grab_release()¶
Release grab for this widget if currently set.
- grab_set()¶
Set grab for this widget.
A grab directs all events to this and descendant widgets in the application.
- grab_set_global()¶
Set global grab for this widget.
A global grab directs all events to this and descendant widgets on the display. Use with caution - other applications do not get events anymore.
- grab_status()¶
Return None, “local” or “global” if this widget has no, a local or a global grab.
- grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)¶
Instruct the window manager that this widget shall only be resized on grid boundaries. WIDTHINC and HEIGHTINC are the width and height of a grid unit in pixels. BASEWIDTH and BASEHEIGHT are the number of grid units requested in Tk_GeometryRequest.
- grid_anchor(anchor=None)¶
The anchor value controls how to place the grid within the master when no row/column has any weight.
The default anchor is nw.
- grid_bbox(column=None, row=None, col2=None, row2=None)¶
Return a tuple of integer coordinates for the bounding box of this widget controlled by the geometry manager grid.
If COLUMN, ROW is given the bounding box applies from the cell with row and column 0 to the specified cell. If COL2 and ROW2 are given the bounding box starts at that cell.
The returned integers specify the offset of the upper left corner in the master widget and the width and height.
- grid_columnconfigure(index, cnf={}, **kw)¶
Configure column INDEX of a grid.
Valid resources are minsize (minimum size of the column), weight (how much does additional space propagate to this column) and pad (how much space to let additionally).
- grid_location(x, y)¶
Return a tuple of column and row which identify the cell at which the pixel at position X and Y inside the master widget is located.
- grid_propagate(flag=['_noarg_'])¶
Set or get the status for propagation of geometry information.
A boolean argument specifies whether the geometry information of the slaves will determine the size of this widget. If no argument is given, the current setting will be returned.
- grid_rowconfigure(index, cnf={}, **kw)¶
Configure row INDEX of a grid.
Valid resources are minsize (minimum size of the row), weight (how much does additional space propagate to this row) and pad (how much space to let additionally).
- grid_size()¶
Return a tuple of the number of column and rows in the grid.
- grid_slaves(row=None, column=None)¶
Return a list of all slaves of this widget in its packing order.
- group(pathName=None)¶
Set the group leader widgets for related widgets to PATHNAME. Return the group leader of this widget if None is given.
- static handle_bad_pgn_selection(exception: Exception, file_path: str) None ¶
Presents the user with an error when an Exception is encountered in open_pgn.
- Parameters:
- exceptionException
- file_pathstr
- heatmap_futures: Dict[int, Future]¶
- heatmaps: Dict[int, ndarray[Any, dtype[str]]]¶
- highlight_squares: Set[int]¶
- iconbitmap(bitmap=None, default=None)¶
Set bitmap for the iconified widget to BITMAP. Return the bitmap if None is given.
Under Windows, the DEFAULT parameter can be used to set the icon for the widget and any descendents that don’t have an icon set explicitly. DEFAULT can be the relative path to a .ico file (example: root.iconbitmap(default=’myicon.ico’) ). See Tk documentation for more information.
- iconify()¶
Display widget as icon.
- iconmask(bitmap=None)¶
Set mask for the icon bitmap of this widget. Return the mask if None is given.
- iconname(newName=None)¶
Set the name of the icon for this widget. Return the name if None is given.
- iconphoto(default=False, *args)¶
Sets the titlebar icon for this window based on the named photo images passed through args. If default is True, this is applied to all future created toplevels as well.
The data in the images is taken as a snapshot at the time of invocation. If the images are later changed, this is not reflected to the titlebar icons. Multiple images are accepted to allow different images sizes to be provided. The window manager may scale provided icons to an appropriate size.
On Windows, the images are packed into a Windows icon structure. This will override an icon specified to wm_iconbitmap, and vice versa.
On X, the images are arranged into the _NET_WM_ICON X property, which most modern window managers support. An icon specified by wm_iconbitmap may exist simultaneously.
On Macintosh, this currently does nothing.
- iconposition(x=None, y=None)¶
Set the position of the icon of this widget to X and Y. Return a tuple of the current values of X and X if None is given.
- iconwindow(pathName=None)¶
Set widget PATHNAME to be displayed instead of icon. Return the current value if None is given.
- image_names()¶
Return a list of all existing image names.
- image_types()¶
Return a list of all available image types (e.g. photo bitmap).
- keys()¶
Return a list of all resource names of this widget.
- lift(aboveThis=None)¶
Raise this widget in the stacking order.
- loadtk()¶
- lower(belowThis=None)¶
Lower this widget in the stacking order.
- mainloop(n=0)¶
Call the mainloop of Tk.
- manage(widget)¶
The widget specified will become a stand alone top-level window. The window will be decorated with the window managers title bar, etc.
- maxsize(width=None, height=None)¶
Set max WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.
- minsize(width=None, height=None)¶
Set min WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.
- moves: Optional[List[Optional[Move]]]¶
- nametowidget(name)¶
Return the Tkinter instance of a widget identified by its Tcl name NAME.
- new_board_pushed_upto(board: Board, i: int, move: Move) Board ¶
Gets copy of board pushed upto move
- Parameters:
- boardchess.Board
- iint
- movechess.Move
- Returns:
- chess.Board
- next_move() None ¶
Display the next move in the game.
This method updates the board to reflect the next move in the loaded game. It also highlights the squares involved in the move and updates the chessboard display accordingly.
- on_closing() None ¶
Clean up resources before closing the application.
- on_resize(event: Event) None ¶
Handle window resize events.
This method is called whenever the user resizes the window, adjusting the canvas and square size to fit the new dimensions of the window. It triggers a board update after resizing.
- open_pgn() None ¶
Prompts the user to open and parse a PGN file.
This method opens a file dialog to allow the user to select a PGN file, parses the game, and starts the background process for heatmap calculation. It also clears previous heatmaps and resets the game state.
- option_add(pattern, value, priority=None)¶
Set a VALUE (second parameter) for an option PATTERN (first parameter).
An optional third parameter gives the numeric priority (defaults to 80).
- option_clear()¶
Clear the option database.
It will be reloaded if option_add is called.
- option_get(name, className)¶
Return the value for an option NAME for this widget with CLASSNAME.
Values with higher priority override lower values.
- option_readfile(fileName, priority=None)¶
Read file FILENAME into the option database.
An optional second parameter gives the numeric priority.
- overrideredirect(boolean=None)¶
Instruct the window manager to ignore this widget if BOOLEAN is given with 1. Return the current value if None is given.
- pack_propagate(flag=['_noarg_'])¶
Set or get the status for propagation of geometry information.
A boolean argument specifies whether the geometry information of the slaves will determine the size of this widget. If no argument is given the current setting will be returned.
- pack_slaves()¶
Return a list of all slaves of this widget in its packing order.
- pieces_maps: Dict[int, ndarray[Any, dtype[Dict[Piece, float64]]]]¶
- place_slaves()¶
Return a list of all slaves of this widget in its packing order.
- positionfrom(who=None)¶
Instruct the window manager that the position of this widget shall be defined by the user if WHO is “user”, and by its own policy if WHO is “program”.
- prev_move() None ¶
Display the previous move in the game.
This method updates the board to reflect the previous move in the loaded game. It also highlights the squares involved in the move and updates the chessboard display accordingly.
- propagate(flag=['_noarg_'])¶
Set or get the status for propagation of geometry information.
A boolean argument specifies whether the geometry information of the slaves will determine the size of this widget. If no argument is given the current setting will be returned.
- protocol(name=None, func=None)¶
Bind function FUNC to command NAME for this widget. Return the function bound to NAME if None is given. NAME could be e.g. “WM_SAVE_YOURSELF” or “WM_DELETE_WINDOW”.
- quit()¶
Quit the Tcl interpreter. All widgets will be destroyed.
- readprofile(baseName, className)¶
Internal function. It reads BASENAME.tcl and CLASSNAME.tcl into the Tcl Interpreter and calls exec on the contents of BASENAME.py and CLASSNAME.py if such a file exists in the home directory.
- register(func, subst=None, needcleanup=1)¶
Return a newly created Tcl function. If this function is called, the Python function FUNC will be executed. An optional function SUBST can be given which will be executed before FUNC.
- report_callback_exception(exc, val, tb)¶
Report callback exception on sys.stderr.
Applications may want to override this internal function, and should when sys.stderr is None.
- resizable(width=None, height=None)¶
Instruct the window manager whether this width can be resized in WIDTH or HEIGHT. Both values are boolean values.
- rowconfigure(index, cnf={}, **kw)¶
Configure row INDEX of a grid.
Valid resources are minsize (minimum size of the row), weight (how much does additional space propagate to this row) and pad (how much space to let additionally).
- selection_clear(**kw)¶
Clear the current X selection.
- selection_get(**kw)¶
Return the contents of the current X selection.
A keyword parameter selection specifies the name of the selection and defaults to PRIMARY. A keyword parameter displayof specifies a widget on the display to use. A keyword parameter type specifies the form of data to be fetched, defaulting to STRING except on X11, where UTF8_STRING is tried before STRING.
- selection_handle(command, **kw)¶
Specify a function COMMAND to call if the X selection owned by this widget is queried by another application.
This function must return the contents of the selection. The function will be called with the arguments OFFSET and LENGTH which allows the chunking of very long selections. The following keyword parameters can be provided: selection - name of the selection (default PRIMARY), type - type of the selection (e.g. STRING, FILE_NAME).
- selection_own(**kw)¶
Become owner of X selection.
A keyword parameter selection specifies the name of the selection (default PRIMARY).
- selection_own_get(**kw)¶
Return owner of X selection.
The following keyword parameter can be provided: selection - name of the selection (default PRIMARY), type - type of the selection (e.g. STRING, FILE_NAME).
- send(interp, cmd, *args)¶
Send Tcl command CMD to different interpreter INTERP to be executed.
- set_bindings() None ¶
Sets app bindings
- set_depth() None ¶
Prompt the user to set a new recursion depth for heatmap calculations.
The user is asked to input an integer value. If a valid value is provided, the depth is updated and the window title is refreshed to reflect the change.
- set_title() None ¶
Sets the App window title
- setvar(name='PY_VAR', value='1')¶
Set Tcl variable NAME to VALUE.
- size()¶
Return a tuple of the number of column and rows in the grid.
- sizefrom(who=None)¶
Instruct the window manager that the size of this widget shall be defined by the user if WHO is “user”, and by its own policy if WHO is “program”.
- slaves()¶
Return a list of all slaves of this widget in its packing order.
- square_size: int¶
- state(newstate=None)¶
Query or set the state of this widget as one of normal, icon, iconic (see wm_iconwindow), withdrawn, or zoomed (Windows only).
- submit_heatmap_futures(moves: List[Optional[Move]]) None ¶
Submits heatmap futures for all positions in the game.
- Parameters:
- movesList[Optional[Move]]
- title(string=None)¶
Set the title of this widget.
- tk_bisque()¶
Change the color scheme to light brown as used in Tk 3.6 and before.
- tk_focusFollowsMouse()¶
The widget under mouse will get automatically focus. Can not be disabled easily.
- tk_focusNext()¶
Return the next widget in the focus order which follows widget which has currently the focus.
The focus order first goes to the next child, then to the children of the child recursively and then to the next sibling which is higher in the stacking order. A widget is omitted if it has the takefocus resource set to 0.
- tk_focusPrev()¶
Return previous widget in the focus order. See tk_focusNext for details.
- tk_setPalette(*args, **kw)¶
Set a new color scheme for all widget elements.
A single color as argument will cause that all colors of Tk widget elements are derived from this. Alternatively several keyword parameters and its associated colors can be given. The following keywords are valid: activeBackground, foreground, selectColor, activeForeground, highlightBackground, selectBackground, background, highlightColor, selectForeground, disabledForeground, insertBackground, troughColor.
- tk_strictMotif(boolean=None)¶
Set Tcl internal variable, whether the look and feel should adhere to Motif.
A parameter of 1 means adhere to Motif (e.g. no color change if mouse passes over slider). Returns the set value.
- tkraise(aboveThis=None)¶
Raise this widget in the stacking order.
- tooltips: List[CanvasTooltip]¶
- transient(master=None)¶
Instruct the window manager that this widget is transient with regard to widget MASTER.
- unbind(sequence, funcid=None)¶
Unbind for this widget for event SEQUENCE the function identified with FUNCID.
- unbind_all(sequence)¶
Unbind for all widgets for event SEQUENCE all functions.
- unbind_class(className, sequence)¶
Unbind for all widgets with bindtag CLASSNAME for event SEQUENCE all functions.
- update()¶
Enter event loop until all pending events have been processed by Tcl.
- update_board() None ¶
Update the chessboard display based on the current position.
This method redraws the entire chessboard based on the current state of the Board object, including updating the colors of the squares and displaying the chess pieces. It uses the precomputed heatmap colors if available, or calculates them if necessary.
- update_idletasks()¶
Enter event loop until all idle callbacks have been called. This will update the display of windows but not process events caused by the user.
- updating: bool¶
- wait_variable(name='PY_VAR')¶
Wait until the variable is modified.
A parameter of type IntVar, StringVar, DoubleVar or BooleanVar must be given.
- wait_visibility(window=None)¶
Wait until the visibility of a WIDGET changes (e.g. it appears).
If no parameter is given self is used.
- wait_window(window=None)¶
Wait until a WIDGET is destroyed.
If no parameter is given self is used.
- waitvar(name='PY_VAR')¶
Wait until the variable is modified.
A parameter of type IntVar, StringVar, DoubleVar or BooleanVar must be given.
- winfo_atom(name, displayof=0)¶
Return integer which represents atom NAME.
- winfo_atomname(id, displayof=0)¶
Return name of atom with identifier ID.
- winfo_cells()¶
Return number of cells in the colormap for this widget.
- winfo_children()¶
Return a list of all widgets which are children of this widget.
- winfo_class()¶
Return window class name of this widget.
- winfo_colormapfull()¶
Return true if at the last color request the colormap was full.
- winfo_containing(rootX, rootY, displayof=0)¶
Return the widget which is at the root coordinates ROOTX, ROOTY.
- winfo_depth()¶
Return the number of bits per pixel.
- winfo_exists()¶
Return true if this widget exists.
- winfo_fpixels(number)¶
Return the number of pixels for the given distance NUMBER (e.g. “3c”) as float.
- winfo_geometry()¶
Return geometry string for this widget in the form “widthxheight+X+Y”.
- winfo_height()¶
Return height of this widget.
- winfo_id()¶
Return identifier ID for this widget.
- winfo_interps(displayof=0)¶
Return the name of all Tcl interpreters for this display.
- winfo_ismapped()¶
Return true if this widget is mapped.
- winfo_manager()¶
Return the window manager name for this widget.
- winfo_name()¶
Return the name of this widget.
- winfo_parent()¶
Return the name of the parent of this widget.
- winfo_pathname(id, displayof=0)¶
Return the pathname of the widget given by ID.
- winfo_pixels(number)¶
Rounded integer value of winfo_fpixels.
- winfo_pointerx()¶
Return the x coordinate of the pointer on the root window.
- winfo_pointerxy()¶
Return a tuple of x and y coordinates of the pointer on the root window.
- winfo_pointery()¶
Return the y coordinate of the pointer on the root window.
- winfo_reqheight()¶
Return requested height of this widget.
- winfo_reqwidth()¶
Return requested width of this widget.
- winfo_rgb(color)¶
Return tuple of decimal values for red, green, blue for COLOR in this widget.
- winfo_rootx()¶
Return x coordinate of upper left corner of this widget on the root window.
- winfo_rooty()¶
Return y coordinate of upper left corner of this widget on the root window.
- winfo_screen()¶
Return the screen name of this widget.
- winfo_screencells()¶
Return the number of the cells in the colormap of the screen of this widget.
- winfo_screendepth()¶
Return the number of bits per pixel of the root window of the screen of this widget.
- winfo_screenheight()¶
Return the number of pixels of the height of the screen of this widget in pixel.
- winfo_screenmmheight()¶
Return the number of pixels of the height of the screen of this widget in mm.
- winfo_screenmmwidth()¶
Return the number of pixels of the width of the screen of this widget in mm.
- winfo_screenvisual()¶
Return one of the strings directcolor, grayscale, pseudocolor, staticcolor, staticgray, or truecolor for the default colormodel of this screen.
- winfo_screenwidth()¶
Return the number of pixels of the width of the screen of this widget in pixel.
- winfo_server()¶
Return information of the X-Server of the screen of this widget in the form “XmajorRminor vendor vendorVersion”.
- winfo_toplevel()¶
Return the toplevel widget of this widget.
- winfo_viewable()¶
Return true if the widget and all its higher ancestors are mapped.
- winfo_visual()¶
Return one of the strings directcolor, grayscale, pseudocolor, staticcolor, staticgray, or truecolor for the colormodel of this widget.
- winfo_visualid()¶
Return the X identifier for the visual for this widget.
- winfo_visualsavailable(includeids=False)¶
Return a list of all visuals available for the screen of this widget.
Each item in the list consists of a visual name (see winfo_visual), a depth and if includeids is true is given also the X identifier.
- winfo_vrootheight()¶
Return the height of the virtual root window associated with this widget in pixels. If there is no virtual root window return the height of the screen.
- winfo_vrootwidth()¶
Return the width of the virtual root window associated with this widget in pixel. If there is no virtual root window return the width of the screen.
- winfo_vrootx()¶
Return the x offset of the virtual root relative to the root window of the screen of this widget.
- winfo_vrooty()¶
Return the y offset of the virtual root relative to the root window of the screen of this widget.
- winfo_width()¶
Return the width of this widget.
- winfo_x()¶
Return the x coordinate of the upper left corner of this widget in the parent.
- winfo_y()¶
Return the y coordinate of the upper left corner of this widget in the parent.
- withdraw()¶
Withdraw this widget from the screen such that it is unmapped and forgotten by the window manager. Re-draw it with wm_deiconify.
- wm_aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None)¶
Instruct the window manager to set the aspect ratio (width/height) of this widget to be between MINNUMER/MINDENOM and MAXNUMER/MAXDENOM. Return a tuple of the actual values if no argument is given.
- wm_attributes(*args)¶
This subcommand returns or sets platform specific attributes
The first form returns a list of the platform specific flags and their values. The second form returns the value for the specific option. The third form sets one or more of the values. The values are as follows:
On Windows, -disabled gets or sets whether the window is in a disabled state. -toolwindow gets or sets the style of the window to toolwindow (as defined in the MSDN). -topmost gets or sets whether this is a topmost window (displays above all other windows).
On Macintosh, XXXXX
On Unix, there are currently no special attribute values.
- wm_client(name=None)¶
Store NAME in WM_CLIENT_MACHINE property of this widget. Return current value.
- wm_colormapwindows(*wlist)¶
Store list of window names (WLIST) into WM_COLORMAPWINDOWS property of this widget. This list contains windows whose colormaps differ from their parents. Return current list of widgets if WLIST is empty.
- wm_command(value=None)¶
Store VALUE in WM_COMMAND property. It is the command which shall be used to invoke the application. Return current command if VALUE is None.
- wm_deiconify()¶
Deiconify this widget. If it was never mapped it will not be mapped. On Windows it will raise this widget and give it the focus.
- wm_focusmodel(model=None)¶
Set focus model to MODEL. “active” means that this widget will claim the focus itself, “passive” means that the window manager shall give the focus. Return current focus model if MODEL is None.
- wm_forget(window)¶
The window will be unmapped from the screen and will no longer be managed by wm. toplevel windows will be treated like frame windows once they are no longer managed by wm, however, the menu option configuration will be remembered and the menus will return once the widget is managed again.
- wm_frame()¶
Return identifier for decorative frame of this widget if present.
- wm_geometry(newGeometry=None)¶
Set geometry to NEWGEOMETRY of the form =widthxheight+x+y. Return current value if None is given.
- wm_grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None)¶
Instruct the window manager that this widget shall only be resized on grid boundaries. WIDTHINC and HEIGHTINC are the width and height of a grid unit in pixels. BASEWIDTH and BASEHEIGHT are the number of grid units requested in Tk_GeometryRequest.
- wm_group(pathName=None)¶
Set the group leader widgets for related widgets to PATHNAME. Return the group leader of this widget if None is given.
- wm_iconbitmap(bitmap=None, default=None)¶
Set bitmap for the iconified widget to BITMAP. Return the bitmap if None is given.
Under Windows, the DEFAULT parameter can be used to set the icon for the widget and any descendents that don’t have an icon set explicitly. DEFAULT can be the relative path to a .ico file (example: root.iconbitmap(default=’myicon.ico’) ). See Tk documentation for more information.
- wm_iconify()¶
Display widget as icon.
- wm_iconmask(bitmap=None)¶
Set mask for the icon bitmap of this widget. Return the mask if None is given.
- wm_iconname(newName=None)¶
Set the name of the icon for this widget. Return the name if None is given.
- wm_iconphoto(default=False, *args)¶
Sets the titlebar icon for this window based on the named photo images passed through args. If default is True, this is applied to all future created toplevels as well.
The data in the images is taken as a snapshot at the time of invocation. If the images are later changed, this is not reflected to the titlebar icons. Multiple images are accepted to allow different images sizes to be provided. The window manager may scale provided icons to an appropriate size.
On Windows, the images are packed into a Windows icon structure. This will override an icon specified to wm_iconbitmap, and vice versa.
On X, the images are arranged into the _NET_WM_ICON X property, which most modern window managers support. An icon specified by wm_iconbitmap may exist simultaneously.
On Macintosh, this currently does nothing.
- wm_iconposition(x=None, y=None)¶
Set the position of the icon of this widget to X and Y. Return a tuple of the current values of X and X if None is given.
- wm_iconwindow(pathName=None)¶
Set widget PATHNAME to be displayed instead of icon. Return the current value if None is given.
- wm_manage(widget)¶
The widget specified will become a stand alone top-level window. The window will be decorated with the window managers title bar, etc.
- wm_maxsize(width=None, height=None)¶
Set max WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.
- wm_minsize(width=None, height=None)¶
Set min WIDTH and HEIGHT for this widget. If the window is gridded the values are given in grid units. Return the current values if None is given.
- wm_overrideredirect(boolean=None)¶
Instruct the window manager to ignore this widget if BOOLEAN is given with 1. Return the current value if None is given.
- wm_positionfrom(who=None)¶
Instruct the window manager that the position of this widget shall be defined by the user if WHO is “user”, and by its own policy if WHO is “program”.
- wm_protocol(name=None, func=None)¶
Bind function FUNC to command NAME for this widget. Return the function bound to NAME if None is given. NAME could be e.g. “WM_SAVE_YOURSELF” or “WM_DELETE_WINDOW”.
- wm_resizable(width=None, height=None)¶
Instruct the window manager whether this width can be resized in WIDTH or HEIGHT. Both values are boolean values.
- wm_sizefrom(who=None)¶
Instruct the window manager that the size of this widget shall be defined by the user if WHO is “user”, and by its own policy if WHO is “program”.
- wm_state(newstate=None)¶
Query or set the state of this widget as one of normal, icon, iconic (see wm_iconwindow), withdrawn, or zoomed (Windows only).
- wm_title(string=None)¶
Set the title of this widget.
- wm_transient(master=None)¶
Instruct the window manager that this widget is transient with regard to widget MASTER.
- wm_withdraw()¶
Withdraw this widget from the screen such that it is unmapped and forgotten by the window manager. Re-draw it with wm_deiconify.