Creates a ttk scrollbar for elements as they are being added to the layout :param element: The element :type element: (Element) :param orientation: The orientation vertical ('v') or horizontal ('h') :type orientation: (str) :param window: The window containin
(element, orientation, window)
| 15466 | |
| 15467 | |
| 15468 | def _make_ttk_scrollbar(element, orientation, window): |
| 15469 | """ |
| 15470 | Creates a ttk scrollbar for elements as they are being added to the layout |
| 15471 | |
| 15472 | :param element: The element |
| 15473 | :type element: (Element) |
| 15474 | :param orientation: The orientation vertical ('v') or horizontal ('h') |
| 15475 | :type orientation: (str) |
| 15476 | :param window: The window containing the scrollbar |
| 15477 | :type window: (Window) |
| 15478 | """ |
| 15479 | |
| 15480 | style = ttk.Style() |
| 15481 | _change_ttk_theme(style, window.TtkTheme) |
| 15482 | if orientation[0].lower() == 'v': |
| 15483 | orient = 'vertical' |
| 15484 | style_name = _make_ttk_style_name('.Vertical.TScrollbar', element) |
| 15485 | # style_name_thumb = _make_ttk_style_name('.Vertical.TScrollbar.thumb', element) |
| 15486 | element.vsb_style = style |
| 15487 | element.vsb = ttk.Scrollbar(element.element_frame, orient=orient, command=element.Widget.yview, style=style_name) |
| 15488 | element.vsb_style_name = style_name |
| 15489 | else: |
| 15490 | orient = 'horizontal' |
| 15491 | style_name = _make_ttk_style_name('.Horizontal.TScrollbar', element) |
| 15492 | element.hsb_style = style |
| 15493 | element.hsb = ttk.Scrollbar(element.element_frame, orient=orient, command=element.Widget.xview, style=style_name) |
| 15494 | element.hsb_style_name = style_name |
| 15495 | |
| 15496 | # ------------------ Get the colors using heirarchy of element, window, options, settings ------------------ |
| 15497 | # Trough Color |
| 15498 | if element.ttk_part_overrides.sbar_trough_color is not None: |
| 15499 | trough_color = element.ttk_part_overrides.sbar_trough_color |
| 15500 | elif window.ttk_part_overrides.sbar_trough_color is not None: |
| 15501 | trough_color = window.ttk_part_overrides.sbar_trough_color |
| 15502 | elif ttk_part_overrides_from_options.sbar_trough_color is not None: |
| 15503 | trough_color = ttk_part_overrides_from_options.sbar_trough_color |
| 15504 | else: |
| 15505 | trough_color = element.scroll_trough_color |
| 15506 | # Relief |
| 15507 | if element.ttk_part_overrides.sbar_relief is not None: |
| 15508 | scroll_relief = element.ttk_part_overrides.sbar_relief |
| 15509 | elif window.ttk_part_overrides.sbar_relief is not None: |
| 15510 | scroll_relief = window.ttk_part_overrides.sbar_relief |
| 15511 | elif ttk_part_overrides_from_options.sbar_relief is not None: |
| 15512 | scroll_relief = ttk_part_overrides_from_options.sbar_relief |
| 15513 | else: |
| 15514 | scroll_relief = element.scroll_relief |
| 15515 | # Frame Color |
| 15516 | if element.ttk_part_overrides.sbar_frame_color is not None: |
| 15517 | frame_color = element.ttk_part_overrides.sbar_frame_color |
| 15518 | elif window.ttk_part_overrides.sbar_frame_color is not None: |
| 15519 | frame_color = window.ttk_part_overrides.sbar_frame_color |
| 15520 | elif ttk_part_overrides_from_options.sbar_frame_color is not None: |
| 15521 | frame_color = ttk_part_overrides_from_options.sbar_frame_color |
| 15522 | else: |
| 15523 | frame_color = element.scroll_frame_color |
| 15524 | # Background Color |
| 15525 | if element.ttk_part_overrides.sbar_background_color is not None: |
no test coverage detected