threepanewindows.EnhancedDockableThreePaneWindow

class threepanewindows.EnhancedDockableThreePaneWindow(master=None, left_config=None, center_config=None, right_config=None, left_builder=None, center_builder=None, right_builder=None, theme_name='light', theme=None, enable_animations=True, menu_bar=None, show_status_bar=False, show_toolbar=False, **kwargs)[source]

Enhanced professional dockable three-pane window with theming and advanced UI.

Features: - Professional theming system - Drag-and-drop detaching - Smooth animations - Customizable pane configurations - Professional visual feedback

Initialize enhanced dockable three-pane window with configuration options.

Parameters:
  • master – Parent widget (usually the root window).

  • left_config (Optional[PaneConfig]) – Configuration for the left pane.

  • center_config (Optional[PaneConfig]) – Configuration for the center pane.

  • right_config (Optional[PaneConfig]) – Configuration for the right pane.

  • left_builder (Optional[Callable]) – Function to build left pane content.

  • center_builder (Optional[Callable]) – Function to build center pane content.

  • right_builder (Optional[Callable]) – Function to build right pane content.

  • theme_name (str) – Name of the theme to use (“light”, “dark”, “blue”, “native”).

  • theme – Alternative parameter for theme_name (supports ThemeType enum).

  • enable_animations (bool) – Whether to enable smooth animations.

  • menu_bar (Optional[tk.Menu]) – Menu bar to attach to the parent window.

  • show_status_bar (bool) – Whether to show a status bar at the bottom.

  • show_toolbar (bool) – Whether to show a toolbar at the top.

  • **kwargs – Additional keyword arguments passed to tk.Frame.

__init__(master=None, left_config=None, center_config=None, right_config=None, left_builder=None, center_builder=None, right_builder=None, theme_name='light', theme=None, enable_animations=True, menu_bar=None, show_status_bar=False, show_toolbar=False, **kwargs)[source]

Initialize enhanced dockable three-pane window with configuration options.

Parameters:
  • master – Parent widget (usually the root window).

  • left_config (Optional[PaneConfig]) – Configuration for the left pane.

  • center_config (Optional[PaneConfig]) – Configuration for the center pane.

  • right_config (Optional[PaneConfig]) – Configuration for the right pane.

  • left_builder (Optional[Callable]) – Function to build left pane content.

  • center_builder (Optional[Callable]) – Function to build center pane content.

  • right_builder (Optional[Callable]) – Function to build right pane content.

  • theme_name (str) – Name of the theme to use (“light”, “dark”, “blue”, “native”).

  • theme – Alternative parameter for theme_name (supports ThemeType enum).

  • enable_animations (bool) – Whether to enable smooth animations.

  • menu_bar (Optional[tk.Menu]) – Menu bar to attach to the parent window.

  • show_status_bar (bool) – Whether to show a status bar at the bottom.

  • show_toolbar (bool) – Whether to show a toolbar at the top.

  • **kwargs – Additional keyword arguments passed to tk.Frame.

Methods

__init__([master, left_config, ...])

Initialize enhanced dockable three-pane window with configuration options.

add_status_widget(widget)

Add a widget to the status bar.

add_toolbar_button(text, command[, tooltip])

Add a button to the toolbar.

after(ms[, func])

Call function once after given time.

after_cancel(id)

Cancel scheduling of function identified with ID.

after_idle(func, *args)

Call FUNC once if the Tcl main loop has no event to process.

anchor([anchor])

The anchor value controls how to place the grid within the master when no row/column has any weight.

bbox([column, row, col2, row2])

Return a tuple of integer coordinates for the bounding box of this widget controlled by the geometry manager grid.

bell([displayof])

Ring a display's bell.

bind([sequence, func, add])

Bind to this widget at event SEQUENCE a call to function FUNC.

bind_all([sequence, func, add])

Bind to all widgets at an event SEQUENCE a call to function FUNC.

bind_class(className[, sequence, func, add])

Bind to widgets with bindtag CLASSNAME at event SEQUENCE a call of function FUNC.

bindtags([tagList])

Set or get the list of bindtags for this widget.

cget(key)

Return the resource value for a KEY given as string.

clear_pane_fixed_width(pane_side)

Remove fixed width constraint from a pane.

clear_toolbar()

Clear all buttons from the toolbar.

clipboard_append(string, **kw)

Append STRING to the Tk clipboard.

clipboard_clear(**kw)

Clear the data in the Tk clipboard.

clipboard_get(**kw)

Retrieve data from the clipboard on window's display.

columnconfigure(index[, cnf])

Configure column INDEX of a grid.

config([cnf])

Configure resources of a widget.

configure([cnf])

Configure resources of a widget.

create_themed_scrollbar(parent[, orient, ...])

Create a platform-appropriate themed scrollbar.

deletecommand(name)

Internal function.

destroy()

Destroy this and all descendants widgets.

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.

event_info([virtual])

Return a list of all virtual events or the information about the SEQUENCE bound to the virtual event VIRTUAL.

focus()

Direct input focus to this widget.

focus_displayof()

Return the widget which has currently the focus on the display where this widget is located.

focus_force()

Direct input focus to this widget even if the application does not have the focus.

focus_get()

Return the widget which has currently the focus in the application.

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.

forget()

Unmap this widget and do not use it for the packing order.

get_available_themes()

Get list of available theme names.

get_center_frame()

Get the center pane content frame.

get_left_frame()

Get the left pane content frame.

get_pane_content_frame(pane_side)

Get the content frame for a specific pane.

get_pane_frame(pane_side)

Get the content frame for a pane.

get_pane_width(pane_side)

Get the current width of a pane.

get_platform_info()

Get platform information including recommended scrollbar type.

get_right_frame()

Get the right pane content frame.

get_status_text()

Get the current status bar text.

get_theme_name()

Get the current theme name.

getboolean(s)

Return a boolean value for Tcl boolean values true and false given as parameter.

getdouble(s)

getint(s)

getvar([name])

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.

grab_set_global()

Set global grab for this widget.

grab_status()

Return None, "local" or "global" if this widget has no, a local or a global grab.

grid([cnf])

Position a widget in the parent widget in a grid. Use as options: column=number - use cell identified with given column (starting with 0) columnspan=number - this widget will span several columns in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction row=number - use cell identified with given row (starting with 0) rowspan=number - this widget will span several rows sticky=NSEW - if cell is larger on which sides will this widget stick to the cell boundary.

grid_anchor([anchor])

The anchor value controls how to place the grid within the master when no row/column has any weight.

grid_bbox([column, row, col2, row2])

Return a tuple of integer coordinates for the bounding box of this widget controlled by the geometry manager grid.

grid_columnconfigure(index[, cnf])

Configure column INDEX of a grid.

grid_configure([cnf])

Position a widget in the parent widget in a grid. Use as options: column=number - use cell identified with given column (starting with 0) columnspan=number - this widget will span several columns in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction row=number - use cell identified with given row (starting with 0) rowspan=number - this widget will span several rows sticky=NSEW - if cell is larger on which sides will this widget stick to the cell boundary.

grid_forget()

Unmap this widget.

grid_info()

Return information about the options for positioning this widget in a grid.

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])

Set or get the status for propagation of geometry information.

grid_remove()

Unmap this widget but remember the grid options.

grid_rowconfigure(index[, cnf])

Configure row INDEX of a grid.

grid_size()

Return a tuple of the number of column and rows in the grid.

grid_slaves([row, column])

Return a list of all slaves of this widget in its packing order.

hide_center_pane()

Hide the center pane.

hide_left_pane()

Hide the left pane.

hide_right_pane()

Hide the right pane.

image_names()

Return a list of all existing image names.

image_types()

Return a list of all available image types (e.g. photo bitmap).

info()

Return information about the packing options for this widget.

info_patchlevel()

Returns the exact version of the Tcl library.

is_pane_detached(pane_side)

Check if a pane is detached.

is_pane_fixed_width(pane_side)

Check if a pane has fixed width.

is_pane_visible(pane_side)

Check if a pane is currently visible.

keys()

Return a list of all resource names of this widget.

lift([aboveThis])

Raise this widget in the stacking order.

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.

lower([belowThis])

Lower this widget in the stacking order.

mainloop([n])

Call the mainloop of Tk.

nametowidget(name)

Return the Tkinter instance of a widget identified by its Tcl name NAME.

option_add(pattern, value[, priority])

Set a VALUE (second parameter) for an option PATTERN (first parameter).

option_clear()

Clear the option database.

option_get(name, className)

Return the value for an option NAME for this widget with CLASSNAME.

option_readfile(fileName[, priority])

Read file FILENAME into the option database.

pack([cnf])

Pack a widget in the parent widget. Use as options: after=widget - pack it after you have packed widget anchor=NSEW (or subset) - position widget according to given direction before=widget - pack it before you will pack widget expand=bool - expand widget if parent size grows fill=NONE or X or Y or BOTH - fill widget if widget grows in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction side=TOP or BOTTOM or LEFT or RIGHT - where to add this widget.

pack_configure([cnf])

Pack a widget in the parent widget. Use as options: after=widget - pack it after you have packed widget anchor=NSEW (or subset) - position widget according to given direction before=widget - pack it before you will pack widget expand=bool - expand widget if parent size grows fill=NONE or X or Y or BOTH - fill widget if widget grows in=master - use master to contain this widget in_=master - see 'in' option description ipadx=amount - add internal padding in x direction ipady=amount - add internal padding in y direction padx=amount - add padding in x direction pady=amount - add padding in y direction side=TOP or BOTTOM or LEFT or RIGHT - where to add this widget.

pack_forget()

Unmap this widget and do not use it for the packing order.

pack_info()

Return information about the packing options for this widget.

pack_propagate([flag])

Set or get the status for propagation of geometry information.

pack_slaves()

Return a list of all slaves of this widget in its packing order.

place([cnf])

Place a widget in the parent widget. Use as options: in=master - master relative to which the widget is placed in_=master - see 'in' option description x=amount - locate anchor of this widget at position x of master y=amount - locate anchor of this widget at position y of master relx=amount - locate anchor of this widget between 0.0 and 1.0 relative to width of master (1.0 is right edge) rely=amount - locate anchor of this widget between 0.0 and 1.0 relative to height of master (1.0 is bottom edge) anchor=NSEW (or subset) - position anchor according to given direction width=amount - width of this widget in pixel height=amount - height of this widget in pixel relwidth=amount - width of this widget between 0.0 and 1.0 relative to width of master (1.0 is the same width as the master) relheight=amount - height of this widget between 0.0 and 1.0 relative to height of master (1.0 is the same height as the master) bordermode="inside" or "outside" - whether to take border width of master widget into account.

place_configure([cnf])

Place a widget in the parent widget. Use as options: in=master - master relative to which the widget is placed in_=master - see 'in' option description x=amount - locate anchor of this widget at position x of master y=amount - locate anchor of this widget at position y of master relx=amount - locate anchor of this widget between 0.0 and 1.0 relative to width of master (1.0 is right edge) rely=amount - locate anchor of this widget between 0.0 and 1.0 relative to height of master (1.0 is bottom edge) anchor=NSEW (or subset) - position anchor according to given direction width=amount - width of this widget in pixel height=amount - height of this widget in pixel relwidth=amount - width of this widget between 0.0 and 1.0 relative to width of master (1.0 is the same width as the master) relheight=amount - height of this widget between 0.0 and 1.0 relative to height of master (1.0 is the same height as the master) bordermode="inside" or "outside" - whether to take border width of master widget into account.

place_forget()

Unmap this widget.

place_info()

Return information about the placing options for this widget.

place_slaves()

Return a list of all slaves of this widget in its packing order.

propagate([flag])

Set or get the status for propagation of geometry information.

quit()

Quit the Tcl interpreter.

refresh_ui()

Refresh the entire UI (useful after theme changes).

register(func[, subst, needcleanup])

Return a newly created Tcl function.

rowconfigure(index[, cnf])

Configure row INDEX of a grid.

selection_clear(**kw)

Clear the current X selection.

selection_get(**kw)

Return the contents of the current X selection.

selection_handle(command, **kw)

Specify a function COMMAND to call if the X selection owned by this widget is queried by another application.

selection_own(**kw)

Become owner of X selection.

selection_own_get(**kw)

Return owner of X selection.

send(interp, cmd, *args)

Send Tcl command CMD to different interpreter INTERP to be executed.

set_pane_fixed_width(pane_side, width)

Set a pane to have a fixed width.

set_status_text(text)

Set the status bar text (alias for update_status).

set_theme(theme_name)

Change the theme.

setvar([name, value])

Set Tcl variable NAME to VALUE.

show_center_pane()

Show the center pane if it's hidden.

show_left_pane()

Show the left pane if it's hidden.

show_right_pane()

Show the right pane if it's hidden.

size()

Return a tuple of the number of column and rows in the grid.

slaves()

Return a list of all slaves of this widget in its packing order.

switch_theme(theme_name[, update_status])

Switch to a new theme and automatically update all widgets.

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.

tk_focusNext()

Return the next widget in the focus order which follows widget which has currently the focus.

tk_focusPrev()

Return previous widget in the focus order.

tk_setPalette(*args, **kw)

Set a new color scheme for all widget elements.

tk_strictMotif([boolean])

Set Tcl internal variable, whether the look and feel should adhere to Motif.

tkraise([aboveThis])

Raise this widget in the stacking order.

toggle_center_pane()

Toggle the visibility of the center pane.

toggle_left_pane()

Toggle the visibility of the left pane.

toggle_right_pane()

Toggle the visibility of the right pane.

unbind(sequence[, funcid])

Unbind for this widget the event SEQUENCE.

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_idletasks()

Enter event loop until all idle callbacks have been called.

update_status(message)

Update the status bar message.

wait_variable([name])

Wait until the variable is modified.

wait_visibility([window])

Wait until the visibility of a WIDGET changes (e.g. it appears).

wait_window([window])

Wait until a WIDGET is destroyed.

waitvar([name])

Wait until the variable is modified.

winfo_atom(name[, displayof])

Return integer which represents atom NAME.

winfo_atomname(id[, displayof])

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])

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])

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])

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 a tuple of integer RGB values in range(65536) 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])

Return a list of all visuals available for the screen of this widget.

winfo_vrootheight()

Return the height of the virtual root window associated with this widget in pixels.

winfo_vrootwidth()

Return the width of the virtual root window associated with this widget in pixel.

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.