Skip to content

BHoM Tkinter bug fixes and improvements#214

Open
Felix-Mallinder wants to merge 14 commits into
developfrom
Python_Toolkit-#213-TkinterReview
Open

BHoM Tkinter bug fixes and improvements#214
Felix-Mallinder wants to merge 14 commits into
developfrom
Python_Toolkit-#213-TkinterReview

Conversation

@Felix-Mallinder
Copy link
Copy Markdown
Contributor

@Felix-Mallinder Felix-Mallinder commented May 5, 2026

Issues addressed by this PR

Closes #213 , #215

General upgrade to the BHoM Tkinter tools, prompted by bugs in aesthetic and functionality issues identified in dependant toolkit(s).

Overview:

  • on_change callback implemented at toplevel, in bhom_base_widget, for consistent action of widgets in a form
  • Alignment improvements; for consistent use of align / sticky etc.
  • improved validation logic across some widgets
  • Upgrades to the cmap selector to work with custom colour collections
  • general bug fixing (in response to copilot review / testings)
  • topmost default to false, still rises to top on default

Test files

~\Python_Toolkit\Python_Engine\Python\tests

Changelog

Additional comments

@Felix-Mallinder Felix-Mallinder self-assigned this May 5, 2026
@Felix-Mallinder Felix-Mallinder linked an issue May 5, 2026 that may be closed by this pull request
@Felix-Mallinder Felix-Mallinder added the type:bug Error or unexpected behaviour label May 5, 2026
@Felix-Mallinder
Copy link
Copy Markdown
Contributor Author

@BHoMBot check required

@bhombot-ci
Copy link
Copy Markdown

bhombot-ci Bot commented May 5, 2026

@Felix-Mallinder to confirm, the following actions are now queued:

  • check code-compliance
  • check documentation-compliance
  • check project-compliance
  • check core
  • check null-handling
  • check serialisation
  • check versioning
  • check installer

Copy link
Copy Markdown
Contributor

@Tom-Kingstone Tom-Kingstone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial review from cursory speed read, some things I noticed that I think need changing.

Comment thread Python_Engine/Python/src/python_toolkit/bhom/analytics.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/spinbox.py Outdated
@Tom-Kingstone
Copy link
Copy Markdown
Contributor

Tom-Kingstone commented May 11, 2026

@BHoMBot check installer

@bhombot-ci
Copy link
Copy Markdown

bhombot-ci Bot commented May 11, 2026

@Tom-Kingstone to confirm, the following actions are now queued:

  • check installer

@bhombot-ci
Copy link
Copy Markdown

bhombot-ci Bot commented May 11, 2026

The check installer has already been run previously and recorded as a successful check. This check has not been run again at this time.

applying suggestion mainly to trigger bot check. Most likely the try/except block is going to be removed entirely
Comment thread Python_Engine/Python/src/python_toolkit/bhom/analytics.py Outdated
@bhombot-ci
Copy link
Copy Markdown

bhombot-ci Bot commented May 11, 2026

@Tom-Kingstone to confirm, the following actions are now queued:

  • check installer

Copy link
Copy Markdown
Contributor

@Tom-Kingstone Tom-Kingstone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More changes and queries

Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/widget_calendar.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/_widgets_base.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Comment thread Python_Engine/Python/src/python_toolkit/bhom_tkinter/widgets/cmap_selector.py Outdated
Felix-Mallinder and others added 2 commits May 14, 2026 10:21
Co-authored-by: Thomas Edward Kingstone <Tom.Kingstone@burohappold.com>
@Tom-Kingstone
Copy link
Copy Markdown
Contributor

@BHoMBot check installer

@bhombot-ci
Copy link
Copy Markdown

bhombot-ci Bot commented May 14, 2026

@Tom-Kingstone to confirm, the following actions are now queued:

  • check installer

There are 1 requests in the queue ahead of you.

Copy link
Copy Markdown
Contributor

@Tom-Kingstone Tom-Kingstone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am happy with current changes but will only approve after another set of eyes looks over this

Copy link
Copy Markdown
Contributor

@jamesramsden-bh jamesramsden-bh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to approve subject to a positive review from the CFD team (whose tools depend on the BHoM TKinter library)

- bespoke functionality for designing cmaps
- user file which stores the seralised versions of these to be accessed by cmap selector (`load_custom`=True`)
-bhom pop up window functinality to streamline sub windows of bhom base window
@Tom-Kingstone Tom-Kingstone added the type:feature New capability or enhancement label May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Error or unexpected behaviour type:feature New capability or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tkinter bugs

3 participants