Releases: MyreMylar/pygame_gui
Version 0.6.12
Just another quick bug fix release to solve a couple of issues with the text box that were reported.
What's Changed
- Fix line spacing issues & link chunks issue by @MyreMylar in #602
- Fix cursor clear by @MyreMylar in #603
Full Changelog: v_0611...v_0612
Version 0.6.11
pip install pygame-gui --upgrade
This release is mostly bug fixes for things that got reported as broken in the 0.6.10 release. If you find any more issues please let us know and we'll try to get them straightened out.
Big changes
- New UIForm element by @GimLala - This new element is intended to let you create Forms (Like Google Forms) for gathering user data. It didn't quite make the 0.6.10 release but its ready for experimentation now, please let us know how you get on with it
What's Changed
- fix scrolling_container scrollbar dimensions by @MyreMylar in #583
- fix spelling errors by @MyreMylar in #584
- add options to disable copy & paste by @MyreMylar in #585
- fix tool tip position bug by @MyreMylar in #593
- Set blocking move to front by @MyreMylar in #594
- add set_anchors to containers with shared anchor subcontainers by @MyreMylar in #596
- use premul_alpha everywhere by @MyreMylar in #597
- Add UIForm Element by @GimLala in #494
- Fix line spacing issues by @MyreMylar in #599
Full Changelog: v_0610...v_0611
Version 0.6.10
pip install pygame-gui --upgrade
Hello!
It's been almost a year since the last Pygame GUI release, a period when I've personally had less time to work on the library. However that has been compensated for by the lovely Pygame GUI community contributors with this release having contributions from ten new contributors - our largest number ever.
I had intended at one point for 0.7.0 to be the next release of the library with lots of changes to the handling of loaded images - but as things go this release happened instead, with the focus mainly on changes to handling of text.
Please let me know about any bugs, and I apologise in advance to anyone doing more complicated things with the library as I have messed around with the innards quite substantially again and probably broken a few things some of you might have been relying on. I promise I will stop when we hit version 1.0.0.
Big changes
- Switched from using pygame.freetype submodule to the pygame.font submodule internally. This has allowed us to support a wider range of written language features like right-to-left and text-shaping (via the pygame.font->SDLttf->Harfbuzz tech stack). As a result we can support languages like Arabic, Hebrew and Georgian. Though I will caveat that by saying I do not personally speak these languages, nor have any experience using GUIs designed with them in mind so I consider us at the start of the journey here for support of many of these non-latin alphabet languages. Please let me know how you get on, and PRs to adjust things are very welcome!
- Partially as a result of the above we have basic language support for six new languages Vietnamese, Korean, Georgian, Ukrainian, Arabic & Hebrew. That brings us up to 17 languages with basic translation support now.
- Text Selection overhaul. You can now select text and 'CTRL+C' shortcut copy text in regular Text boxes as well as Text Entry boxes, hopefully the experience of selecting text is smoother now as many bugs were located and squished in this area.
- Three new UI Elements were added, thanks to our contributors:
- A Tabbed container, allowing you to switch between containers of elements with the other un-selected tabs kept hidden - Added by @LondonClass.
- An Auto-resizing container that expands to fit whenever elements are added outside of it's boundaries - Added by @GimLala
- A 2D slider - that lets you select a two-dimensional value in a rectangular space. It's been incorporated into the colour picker window if you want to try it out. - Added by @GimLala
What's Changed (PR List)
- Add convert_alpha and pre-multiplication to html embedded images by @MyreMylar in #452
- Add 'base_id' capability to allow windows to have two element ids by @MyreMylar in #453
- Small fix to edit position after pasting by @MyreMylar in #461
- Text selection improvements by @robclewley in #460
- Move location of py.typed so it is included in distributions for mypy by @MyreMylar in #462
- Try adjusting ui panel positioning by @MyreMylar in #464
- Add Vietnamese translation file by @bennett-nguyen in #473
- Remove support for Python 3.7 and add testing for 3.12 by @MyreMylar in #476
- Add Korean translation file. by @jeongchaeuk in #479
- Fix UIScrollingContainer .set_position() by @MyreMylar in #482
- Update the changelist by @MyreMylar in #483
- Add antialias disabling support to fonts by @MyreMylar in #484
- Correct the Chinese translation file. by @LondonClass in #492
- Add on_pressed method by @LondonClass in #493
- fix: correct french translation by @FACON-Nicolas in #500
- Update CI runner versions and pygame-ce version generally by @MyreMylar in #499
- Added Ukrainian localization by a native speaker by @YulianMysko in #503
- fix translation in tests by @LondonClass in #504
- add run tests to pull requests by @MyreMylar in #510
- switch to pygame.font for rendering text by @MyreMylar in #511
- Add parameter command to Button by @LondonClass in #508
- Create ID when creating elements by @LondonClass in #513
- Add arabic & hebrew translation support by @MyreMylar in #522
- Add set_container to elements by @LondonClass in #512
- set_dimensions now support dynamic sizes by @LondonClass in #514
- add some tweaks to copy & pasting by @MyreMylar in #524
- Improve the text box entry keyboard controls by @MyreMylar in #528
- Add .idea to gitignore by @MyreMylar in #530
- Tidy UIElement typehinting by @MyreMylar in #531
- Add set & get methods for ui element anchors by @MyreMylar in #534
- Make offset positioning calculation functions static by @MyreMylar in #535
- Refactor update abs rect pos to use static calc func by @MyreMylar in #536
- Add expand_left & _top to UIContainer by @MyreMylar in #537
- Tidy UIScrollingContainer type hinting by @MyreMylar in #538
- Add axis constraints to UIScrollingContainer by @MyreMylar in #539
- Add UI2DSlider element by @GimLala in #540
- Create pygame-gui.ge.json by @GiorgiMirzashvili29 in #541
- Add 2D slider to colour picker window by @MyreMylar in #542
- Add Auto-resizing container by @GimLala in #543
- Fix auto resizing container by @MyreMylar in #544
- Add Auto Scrolling Container by @GimLala in #545
- Move call to rect.size to after rect is created. by @MyreMylar in #548
- Add iteration support to IUIContainerInterface by @LondonClass in #546
- Add support for Georgian language by @MyreMylar in #549
- Theme adds support for dicts by @LondonClass in #518
- CONTRIBUTING.md: Fix typos by @cclauss in #552
- Fix typos discovered by codespell by @cclauss in #554
- Enhancement: Add a new GUI Event: UI_WINDOW_RESIZED by @JordanKarp in #551
- Add support for rounded rect corner control by @MyreMylar in #550
- Fix scrollbar mousewheel speed by @MyreMylar in #558
- Add contains to IUIContainerInterface by @LondonClass in #557
- Text Render Area fixes by @MyreMylar in #559
- UITextEntryBox text editing shortcuts into sub functions by @JordanKarp in #556
- System font fallback by @MyreMylar in #560
- Add method to change object ID by @MyreMylar in #561
- add anchors to text box scroll bar by @MyreMylar in #562
- Clarify theming docs on relative paths by @MyreMylar in #563
- Add starting_height to UIImage by @MyreMylar in #565
- Handle mousewheel events in scrolling containers by @MyreMylar in #566
- Improve text selection and add to text box by @MyreMylar in #567
- Add some more docs on theming and layout by @MyreMylar in #568
- Add placeholder text to textboxes by @MyreMylar in #569
- Add optional ids to dropdown menu items by @MyreMylar in #570
- Add tab containers by @LondonClass in #529
- Add better tests for scrolling container with mousewheel by @MyreMylar in #571
- UIForm - UIScrollingContainer changes by @MyreMylar in #572
- Fix test class name by @MyreMylar in #573
- Update actions to latest versions by @MyreMylar in #574
- Merge auto scrolling container with scrolling container by @MyreMylar in https:...
Version 0.6.9
Hello!
A new version of Pygame GUI has been released. The main reason is because of the switch over from old Pygame to the new Pygame CE distribution. This forked distribution of pygame is more up to date with developments in SDL and has already allowed this library to improve copy and paste handling and boost drawing performance. I'm hopeful it will eventually enable support of a wider range of languages too.
You can find more information on Pygame CE at its home page: https://pyga.me/ but it is currently a drop in replacement for old pygame so you shouldn't have too much to do to deal with the switch over.
I've also added a couple of minor new features and hopefully squished more bugs than I have created, you can read the full change list below.
What's Changed
- Fixed wrong indentation. by @MyreMylar in #396
- Switch to pygame CE by @MyreMylar in #409
- Update tests to pygame-ce by @MyreMylar in #414
- Remove version check for bug fixed in min supported version by @MyreMylar in #415
- Wrap freetype.Font to make replacement easier by @MyreMylar in #418
- Add display creation to many more tests by @MyreMylar in #419
- Try and fix online API docs generation by @MyreMylar in #420
- Try and fix online API docs generation by @MyreMylar in #421
- Try and fix online API docs generation by @MyreMylar in #422
- Fix clipping for off-screen elements by @MyreMylar in #425
- Try enabling pdf docs by @MyreMylar in #432
- Add 2.2.1 to testing CI by @MyreMylar in #434
- Switch to using scrap for copy and paste post 2.2 pygame CE by @MyreMylar in #424
- Switch to processing text input with TEXTINPUT events by @MyreMylar in #426
- Fiddle with hovering state to stop it falling through held buttons by @MyreMylar in #435
- fix appropriate state name for buttons which have more states by @MyreMylar in #436
- fix button hover/click in containers by @MyreMylar in #437
- Fix hyperlinks not working with text boxes that wrap to height by @MyreMylar in #438
- Unify name for starting height parameter across codebase by @MyreMylar in #439
- Fix a few small issues by @MyreMylar in #442
- Dynamic sizing fixes part 1 by @MyreMylar in #443
- Add dynamic dimension attributes to text box layout by @MyreMylar in #444
- fix dynamic sizing recalculations. by @MyreMylar in #445
- improve handling of disabling/hiding for container elements by @MyreMylar in #446
- improve handling of showing/hiding for more elements by @MyreMylar in #447
- Make prototype using theme files handle fonts better by @MyreMylar in #448
- Expand tool tips to almost every element. by @MyreMylar in #449
Full Changelog: v_068...v_069
Version 0.6.8
Just a small release for the new year. A few documentation updates, un-draggable windows and a parameter for line spacing in UITextBoxes.
What's Changed
- Start 0.6.8 by @MyreMylar in #384
- Add line spacing param. by @MyreMylar in #386
- Qualityoflife by @cobyj33 in #378
- Add parameter to
UIWindow
to make it undraggable by @TechStudent10 in #294 - Add documentation and tests for draggable param for UIWindow by @MyreMylar in #387
- Add basic documentation for text entry box by @MyreMylar in #388
New Contributors
- @TechStudent10 made their first contribution in #294
Full Changelog: v_067...v_068
Version 0.6.7
Hello!
We had a lovely large contribution since 0.6.6 was released and I didn't want to wait too long before putting it out.
Main Feature
@cobyj33 added a new colour parsing module which means there are many more ways to specify colours in theming files beyond the previous support for hex triplet style colours (e.g. # FF60AF ). Now you can also specify colours as RGB/A 0-255 integers ( e.g. (100, 128, 255) ), as shortened hex ( e.g. # F6A ), or by HSL/A, HSV/A or CMY colour representations and finally there are some string colour names as well. @cobyj33' s PR has an excellent table which gives examples in greater detail than I've put here.
🌈 Colours! 🌈
What else...
Snuck in a small improvement to tool tips and some house keeping to keep up with Python's new versions.
What's Changed
- Fix deprecated usage of importlib - needed for Python 3.12 by @MyreMylar in #375
- Colors by @cobyj33 in #374
- Expand create tool tip method w. parent element & ObjectID option by @MyreMylar in #383
New Contributors
Full Changelog: v_066...v_067
Version 0.6.6
Just a quick bug fix release. We are also dropping active support for Python 3.6 as GitHub test runners have stopped supporting it making it very hard to test it it regularly.
Thanks to all our contributors!
What's Changed
- Make sure effect ids are copied when splitting chunks by @MyreMylar in #347
- Start version 0.6.6 by @MyreMylar in #348
- Try 3.11 on test runners to see if it is available by @MyreMylar in #351
- fix typo in UI Layers guide by @bluefish2020 in #353
- Fix default values in button theming docs by @MyreMylar in #355
- Default UIPanel starting_layer_height to 1 by @rbaltrusch in #357
- Added parameter "allowed_suffixes" parameter to UIFileDialog by @JokeUrSelf in #352
- Add pytest-benchmark to test dependency doc by @rbaltrusch in #359
- Drop support for Python 3.6 as GitHub no longer supports it by @MyreMylar in #366
- alter docs: add Polish language by @marcinbarylka in #367
- Fix bug in append text for text box by @MyreMylar in #365
New Contributors
- @bluefish2020 made their first contribution in #353
- @rbaltrusch made their first contribution in #357
- @JokeUrSelf made their first contribution in #352
Full Changelog: v_065...v_066
Version 0.6.5
Version 0.6.5 - Now with multi-line Text Entry
Upgrade with: pip install pygame_gui -U
This update was building on the work done in 0.6.0 with text to finally add a multi-line text entry UI element, and along the way a range of other smaller issues were fixed.
Major Features
- NEW
UITextEntryBox
- Allows for the entering/editing of plain text into a word-wrapped, multi-line box. The aim was to model it closely on Windows Notepad in terms of features and behaviour.
Minor features & enhancements
- NEW
TEXT_EFFECT_SHAKE
- Another text effect that applies a shaking effect to words in text boxes. - Better support for key word arguments for translations - most elements with text now support a text_kwargs type parameter that you can pass a dictionary of keywords too - useful if you have data to insert into translated strings.
- NEW Polish translation - Thanks to @marcinbarylka.
- UIDropDown enhancements - It should now open with the selected item visible in the list, allow scrolling the list with the mouse and allow for the list to be updated without having to recreate the drop down from scratch.
- Dynamic theming changes - there are now options to update the theming of elements via functions while the application is running.
- Centre anchors for layouts - should make it easier to stick elements in the middle of containers and have them stay there.
- Reducing boilerplate code -
UIManager
s should now be an optional parameter for all elements (you still need to make at least one), I've also begun some work on passing in a four element tuple instead of a pygame.Rect which should pare down the text passed into elements down to the very minimum required.
Auto-generated pull request notes
These are all the pull requests merged for 0.6.5.
- UIProgressBar themes weren't showing in TOC by @ConquerProgramming1 in #259
- fix issue #273 where newline character causes crash for text_box_layo… by @wadsworj in #274
- Deprecate set_image() for everything except UIImage by @MyreMylar in #279
- Fixes & tests to improve coverage & resolve bugs related to untested code by @MyreMylar in #280
- Fix for text box not returning to top on scroll bar removal by @MyreMylar in #281
- Add KMOD_META as hopefully mac CMD key for keyboard shortcuts by @MyreMylar in #283
- Fix for file dialog file list not updating when resizing the dialog by @MyreMylar in #282
- Add capability to add & remove items/options to already existing menus & lists by @MyreMylar in #284
- Improve test coverage for UI Label by @MyreMylar in #286
- A series of small testing coverage improvements by @MyreMylar in #287
- A couple more coverage fixes by @MyreMylar in #288
- Improve UITextEntryLine test coverage by @MyreMylar in #289
- Improve test coverage - batch of fixes by @MyreMylar in #290
- Further improvements to UI Elements testing coverage by @MyreMylar in #291
- Further coverage elements improve by @MyreMylar in #292
- More element coverage fixes & bug fix for selection list by @MyreMylar in #296
- Try to improve scrolling container coverage by @MyreMylar in #298
- First stabs at boosting test coverage for File Dialog by @MyreMylar in #299
- Text box test coverage improvements by @MyreMylar in #300
- Fix bool extraction for link params in text box by @MyreMylar in #301
- Try adding windows test runner to CI by @MyreMylar in #302
- First stab at adding macos test runner by @MyreMylar in #303
- See if adding a ParserBase init call pleases LGTM by @MyreMylar in #304
- Improve test coverage in core module by @MyreMylar in #305
- Start ui element test coverage improvements by @MyreMylar in #306
- Improve test coverage in Core submodule by @MyreMylar in #307
- Improve appearance theme coverage by @MyreMylar in #308
- Improve text submodule test coverage by @MyreMylar in #309
- Improve text coverage again by @MyreMylar in #310
- Improve text box layout coverage & fix img tag bug by @MyreMylar in #311
- Improve text line chunk coverage by @MyreMylar in #312
- Last coverage branch by @MyreMylar in #313
- Update text effects when first assigned to a text owner by @MyreMylar in #314
- Add placeholder text input parameter to text entry line by @MyreMylar in #315
- Add clear() to text box and text line by @MyreMylar in #316
- Add HOME & END key support to text entry line by @MyreMylar in #318
- Add optional pre-parse step to UITextBox converting /n to
by @MyreMylar in #319 - Add global default UIManager option by @MyreMylar in #320
- Add option to drop down menu so only open/close button expands by @MyreMylar in #321
- Change drop down to scroll to selected item in list by @MyreMylar in #322
- Refactor text effect file structure by @MyreMylar in #323
- Add shake effect to text box chunks by @MyreMylar in #324
- change text key word arguments param into dictionary on init by @MyreMylar in #326
- Add translation text key word argument dictionary params by @MyreMylar in #327
- Add new centering anchors for element positioning by @MyreMylar in #330
- Add Polish translation file by @marcinbarylka in #336
- pin importlib_resources version to 5.9.0 by @MyreMylar in #340
- Remove lgtm, expand linux test to include python 3.10 by @MyreMylar in #341
- fix crash in file dialog when backspacing on selected file by @MyreMylar in #342
- Add dynamic theming updates & start of text entry box by @MyreMylar in #339
- Adding a functional Text Entry Box by @MyreMylar in #344
New Contributors
- @wadsworj made their first contribution in #274
- @marcinbarylka made their first contribution in #336
Full Changelog: v_064...v_065
Known Issues
- No tab support in new text entry box.
- No undo/redo CTRL+Z/CTRL+SHIFT+Z support in new text entry box.
Thanks for reading!
Version 0.6.4
Version 0.6.4
Actually fix the slider this time...
Version 0.6.3
Version 0.6.3
Just a quick release to try and fix the UISlider which got broke in a new way in the last patch release... oops.