diff --git a/FreeSimpleGUIQt/readme.md b/FreeSimpleGUIQt/readme.md index 65af85ec..4e8d52b3 100644 --- a/FreeSimpleGUIQt/readme.md +++ b/FreeSimpleGUIQt/readme.md @@ -375,5 +375,5 @@ All elements that are capable of producing events now have a parameter `enable_e GNU Lesser General Public License (LGPL 3) + -Copyright 2024 Spencer Phillip Young +Copyright 2024 Spencer Phillip Young Copyright 2018, 2019, 2020 PySimpleGUI diff --git a/FreeSimpleGUIWeb/readme.md b/FreeSimpleGUIWeb/readme.md index 332073ff..6b23a6a9 100644 --- a/FreeSimpleGUIWeb/readme.md +++ b/FreeSimpleGUIWeb/readme.md @@ -4,49 +4,37 @@ [![PyPI Version](https://img.shields.io/pypi/v/freesimpleguiweb.svg?style=for-the-badge)](https://pypi.org/project/FreeSimpleGUIWeb/) -# PySimpleGUIWeb +# FreeSimpleGUIWeb -PySimpleGUI running in your web browser! +FreeSimpleGUI running in your web browser! Your source code will work on tkinter, Qt, WxPython and now in a browser (thanks to Remi) -Check out [repl.it](https://repl.it/@PySimpleGUI/PySimpleGUIWeb-Demos), the new way to run your PySimpleGUI code in a browser! -## Primary PySimpleGUI Documentation +## Primary FreeSimpleGUI Documentation -To get instructions on how use PySimpleGUI's APIs, please reference the [main documentation](http://www.PySimpleGUI.org). -This Readme is for information ***specific to*** the Web port of PySimpleGUI. +To get instructions on how use FreeSimpleGUI's APIs, please reference the [main documentation](http://www.FreeSimpleGUI.org). +This Readme is for information ***specific to*** the Web port of FreeSimpleGUI. -## What is PySimpleGUIWeb? - -PySimpleGUIWeb enables you to run your PySimpleGUI programs in your web browser. It utilizes a package called Remi to achieve this amazing package. - - -## Engineering Pre-Release - -Be aware you are running a "Pre-Rlease" version of PySimpleGUIWeb. This means sh*t doesn't work in many places. This also means that you get to have fun with the many things that DO work and that are being added to every week. - - [Announcements of Latest Developments](https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/142) - - -Having trouble? Visit the [GitHub site ](http://www.PySimpleGUI.com) and log an Issue. +## What is FreeSimpleGUIWeb? +FreeSimpleGUIWeb enables you to run your FreeSimpleGUI programs in your web browser. It utilizes a package called Remi to achieve this amazing package. ## Installation Installation is quite simple: -`pip install pysimpleguiweb` +`pip install FreeSimpleGUIWeb` -Should this not work, you can copy and paste the file PySimpleGUIWeb.py into your application folder. +Should this not work, you can copy and paste the file FreeSimpleGUIWeb.py into your application folder. -## Using PySimpleGUIWeb +## Using FreeSimpleGUIWeb -There are a lot of examples in the PySimpleGUI Cookbook as well as on the GitHub site. At the moment very few will work due to the limited number of features of the 0.1.0 release. It shouldn't be too long before they'll work. +There are a lot of examples in the FreeSimpleGUI Cookbook as well as on the GitHub site. At the moment very few will work due to the limited number of features of the 0.1.0 release. It shouldn't be too long before they'll work. -To use PySimpleGUIWeb you need to import it: +To use FreeSimpleGUIWeb you need to import it: `import FreeSimpleGUIWeb as sg` From there follow the code examples in the Cookbook and the Demo Programs. The only difference in those programs is the import statement. The remainder of the code should work without modification. @@ -54,7 +42,7 @@ From there follow the code examples in the Cookbook and the Demo Programs. The ## Requirements -PySimpleGUIWeb is based on the Remi project. You will need to install Remi prior to running PySimpleGUIWeb: +FreeSimpleGUIWeb is based on the Remi project. You will need to install Remi prior to running FreeSimpleGUIWeb: `pip install remi` @@ -62,7 +50,7 @@ You can learn more about Remi on its homepage. https://github.com/dddomodossola/remi -PySimpleGUIWeb runs only on Python 3. Legacy Python (2.7) is not supported. +FreeSimpleGUIWeb runs only on Python 3. Legacy Python (2.7) is not supported. ## What Works @@ -90,405 +78,5 @@ PySimpleGUIWeb runs only on Python 3. Legacy Python (2.7) is not supported. * Update methods for many of the elements (Text is 100% complete), others have some of their parameters working. -# Running online using repl.it - -This is something truly unique and amazing. You can run your PySimpleGUI code in a web browser on a computer, phone, tablet without having Python installed on that computer. Through the magic of repl.it and Remi you can run PySimpleGUI code anywhere you can run a browser. Not only that, but you can embed these programs into web pages. In fact, this markdown document has one of these programs embedded in it. - -Here is where the iframe is inserted. You may not see the page in some instances (like on GitHub). - -Here's your sample program: - - - -# Release Notes: - -## 0.1.0 PySimpleGUIWeb 22-Jan-2019 - -* Initial release -* Text Element -* Input Text Element -* Button Element -* Window class - - -## 0.2.0 PySimpleGUIWeb 23-Jan-2019 - -Day 2 of development brings fonts, sizes, and colors... - -* For all elements (Text, Input Text, Button): - * Font family - * Font size - * Text Color - * Background Color - * Disable - * Size -* Button Color -* Read timeouts (zero, non-zero, None/pend) -* Window close -* Window background color - -## 0.3.0 PySimpleGUIWeb 24-Jan-2019 - -* Checkbox Element -* Combobox Element -* Listbox Element -* Element padding for all elements - -## 0.4.0 PySimpleGUIWeb 26-Jan-2019 - -Functioning Elements -* Text -* Single line text input -* Multiline Input -* Multiline Output -* Listbox -* Combobox -* Checkbox -* Slider -* Spinner (numbers only...hardcoded to 0 to 100) - -New features -* Tooltips for all elements (so cool this works) -* Input Text events -* Text clicked event -* Listbox selected event -* Combobox selected event -* Checkbox Update -* Disable parameter for all elements -* Window.Close shuts down the server -* Enabled exceptions during packing operation -* New test harness exercises all element types - -## 0.5.0 PySimpleGUIWeb 1-Feb-2019 - -* New default font size. Was Helvetica 10, now Helvetica 15 -* InputText Element single character events working! (Finally) -* Listbox simple Update (values only) -* Column Element! New! -* Column element experimental justification setting doesn't work yet -* Element background colors now picked up from container, not top level window -* Autosize Text -* Autosize Button Text - - -## 0.6.0 PySimpleGUIWeb 3-Feb-2019 - -* Changed Remi port to 0 so will always get a new free port - -## 0.7.0 PySimpleGUIWeb 3-Feb-2019 - -* Completed `InputText.Update` method so that more demos can be run - -## 0.8.0 PySimpleGUIWeb 8-Feb-2019 - -* Popup support! -* Support for multiple windows - -## 0.9.0 PySimpleGUIWeb 14-Feb-2019 - -* Support for Window.Hide, Window.UnHide (better multi-window support) - -## 0.9.1 PySimpleGUIWeb - -* Emergency release due to some code to do scrolling of multiline not being right and sometimes crashed programs - -## 0.10.0 PySimpleGUIWeb 16-Feb-2019 - -* Completed Text.Update method. Can now change: - * Text - * Font family & size - * Background color - * Text Color - * Visibility -* Completed Button.Update with exception of images -* Completed Spin.Update with except of range. This element still pretty crippled -* Completed Slider.Update - Can update value, visibility, disabled, but not the range -* Image Element! -* Events for Image Element -* Image.Update to change image - -## 0.11.0 PySimpleGUIWeb 25-Feb-2019 - -* Slider - Can update range using .Update method -* NEW Window paramters that allow control over all Remi startup settings -* New Window paramters and default values: - * web_debug=False - * web_ip='0.0.0.0' - * web_port=0 - * web_start_broswer=True - * web_update_interval=.00001 -* Can set the Window backaground image (sorta works sometimes) - * Struggling to get the "resources" settings understood so can work with files - * I have a ways to go - -## 0.12.0 PySimpleGUIWeb 28-Feb-2019 - -* Combo.Update now fully functional - - -## 0.13.0 PySimpleGUIWeb 5-Mar-2019 - -* Added new parameter to Window - web_multiple_instance - * Like other Window web parameters, this value is passsed Remi upon start - * The default value is TRUE (Previously I think default was False by Remi) - * Was made as a result of comment on repl.it. - -## 0.15.0 PySimpleGUIWeb 5-Mar-2019 - -* Made the multiple_instance parameter FALSE by default (was messing up badly with True) - -## 0.16.0 13-Mar-2019 - -* TABLES! - * The bare minimum, basic tables are supported - * Things like alternating colors are not done - * Enabling Events DOES work so that you can get immediate clicks - * Value returned is a list of 1ength 1 and contains the value of the cell that was clicked -* Removed use of CloseButton from Popups - -## 0.17.0 14-Mar-2019 - -* More Table features supported - * Option to display row numbers - * New parameter `row_header_text` - * Can turn on / off displaying row numbers - * `enable_events` - * `text_color` - * Font - * Can get the value of the item clicked using Table.SelectedItem. Can be coded as window.Element('_table_').SelectedItem - - -## 0.18.0 15-Mar-2019 - -* Hotfix for bug that causes Popups / secondary windows to crash -* Table gets `starting_row_num` parameter - -## 0.19.0 23-Mar-2019 PySimpleGUIWeb - -* do_not_clear defaults to TRUE! for Input and Multiline Input/output -* a few type hints - -## 0.20.0 07-Apr-2019 PySimpleGUIWeb - -* Output Element WORKS!! Can re-route stdout to window -* Added Idle function to Remi MyApp for stdout re-route (thanks Davide!!) -* New Shortcuts: - * I = InputText - * B = Btn = Butt = Button -* Removed temp size in Multiline setup -* Button - convert button text passed in into a string -* Added support for base64 Images in Image.Update but it's not working! Don't use! -* Changed web_update_interval=.0000001 from 0 (YIKES I HOPE SOMETHING DIDN'T BREAK!) - - -## 0.21.0 10-Apr-2019 PySimpleGUIWeb - -* If `disable_close` parameter set in Window call, then Remi will not disconnect when browser closed. Great for reconnecting. - - -## 0.22.0 11-Apr-2019 PySimpleGUIWeb - -* NEW Window parameter layout so can skip calling Layout - -## 0.23.0 21-Apr-2019 PySimpleGUIWeb - -* GRAPH ELEMENT almost done! - * DrawLine - * DrawRectangle - * DrawPoint - * DrawCicle - * DrawText - * Erase - * Move - * MoveFigure (by a delta amount) - * RelocateFigure (draw to a new spot) - * Update - for background color change - * Enable events works for single clicks (no drags yet) -* Changed Image element to use SuperImage class - * Image element works better? - * Base64 not yet working - -## 0.23.1 21-Apr-2019 -One-time patch to remove a debug print - -# 0.24.0 PySimpleGUIWeb 23-Apr-2019 - -* Enabled SuperImage class to accept base64 imagees -* Now use an SvgGroup to hold all of the drawing items -* Circle can now set outline color -* DrawImage still isn't working -* Move isn't working -* Added Relocate for group -* Lazy buttons - Up, Down, Left, Right(() - * Creates buttons with arrows on them as text -* Base64 support for Image Element - - -## 0.25.0 PySimpleGUIWeb 25-Apr-19 - -* DrawImage method WORKS! DrawImage now takes BOTH filenames and base64 variables -* Fix for DrawRectangle (wasn't passing the right parms) - -## 0.26.0 PySimpleGUIWeb 1-May-2019 - -* Combo - converts values into a list of strings -* Image.Update is working with both filename and base64 (but no size controls yet) -* Window - new parameter - return_key_down_events. Normally it's key up events that are returned from Read calls -* Returning keyboard input works! -* Turned off Remi Logging completely (may be a bad idea. can change it back) -* Rearranged code so that same code is used for first window and following windows -* Window disable_close parameter controls wether or not server keeps running after user disconnects - -## 0.27.0 PySimpleGUIWeb 8-May-2019 - -* Changed default icon from string to bytes -* New Text Update to match newer call parameters -* Added image_subsample, image_size parms to be backward compat. Note - not enabled -* SuperImage changes - load both base64 images and files -* Fix for DrawRectangle -* Added data parm to DrawImage -* Added DeleteFigure -* Tab Support - * Just barely beginning - * May or may not work -* Window new class variable - AllKeysDict - * Contains dictionary of all elements and keys - * Now used by FindElement / Element calls for quick lookup -* Fix for Column elements and rows that didn't line up. Changed tk_row_frame style -* Graph Element - * enable_events works - * drag events works - * click events works - - -## 0.28.1 PySimpleGUIWeb 15-May-2019 - -* Menus - * Yes, the full Menu Bar across the top of the window! - * PLUS, you get more controls to set the colors and fonts - * Works with menu keys too - * Disabled items are not working however - * Correctly returns menu events -* Listbox - * Correctly handling Update calls that change the list - * Correctly returns a LIST of items (even if only 1) -* Button Graphics! - * Can specify either a filename or image data as the source - * Update parameters image_data and image_filename work! -* Fix in DrawLine. Wasn't returning the id -* DrawRectangle fixes - transparent fill color is default. Correctly draws coordinates now -* DrawImage seems to work with both data and files -* enable_events parameter for TabGroups -* Frame Element - * Behaves like a Column element for now since no official Remi Frame -* Fix for popups that get data - New dictionary return values messed up popups. Needed to use keys internally - -## 0.31.0 PySimpleGUIWeb 04-Nov-2019 - -* PEP8 bindings! -* Window - NEW way of finding elements - * Use window[key] instead of window.FindElement(key)!! -* Winow - "calling" an existing window object will call its read method -* Version number added both dunder version and version work -* Renamed some variables to be private by adding _ to the front -* METADATA added to all elements and Window -* Ability to "call" an element. The effect is to call that element's update method -* Removed all delete functions in the classes. Were poorly done and not consistent -* Output element - fix for color defaults, CurrentValue contains all of the text currently shown -* Image Element - * Rewrite done by Remi team!!! - * Fixes flicker when using with OpenCV -* Removed quite a bit of unused code -* Added prints where items are not yet implemented -* Window - finalize parameter added -* Get screen dimensions always returns (0,0) for now until can figure it out -* Made return values computation easier -* Two new look and feel color settings - Material1, Material2 - -## 0.32.0 PySimpleGUIWeb 08-Nov-2019 - -* Fix for Output Element scrolling. Now cursor stays at end -* Fix for Multiline Output scrolling. Appends correctly and autoscrolls if enabled - -## 0.33.0 PySimpleGUIWeb 17-Nov-2019 - -* Added autoscroll parameter to the MultilineOutput.update method -* TONS of new Look and Feel Themes -* Fuzzy name matcher for change_loo_and_feel call - string doesn't have to perfectly match now -* New preview_all_look_and_feel_themes function displays all of the colors for the Themes - -## 0.34.0 PySimpleGUIWeb 24-Dec-2019 - -Themes + - -* New theme apis that replace the change_look_and_feel call (see primary PySimpleGUI port for more info) -* New default theme is Dark Blue 3 -* Added ported string so can tell this is the "PySimpleGUIWeb" port -* Removed platform specific code that was barring Macs from using colors, even for the web -* Changed "TRANSPARENT_BUTTON" string to invalidate it. It was misunderstood and should not bave been inlucded in anything -* Ability to change the files delimeter for browse files to filenames can have ; in them - - -## 0.35.0 PySimpleGUIWeb 16-Jan-2020 - -* Fixed Slider crash caused by latest Remi releaese -* Brought over latest Theme code from PySimpleGUI-tk (text background color, changed all black and white refs to hex) -* New Graph.change_coordinates method -* Removed check for no image specified in Image.update (so cal specify visibilty without changing image for example) - -## 0.36.0 PySimpleGUIWeb 20-Feb-2020 - -* Allow empty value to be specified when creating Image element -* Fix for Text element crashing following the Remi 2020.2.5 release - * Crash will show trying to use method "set_layout_orientation" - -## 0.37.0 PySimpleGUIWeb 14-Apr-2020 - -Catching up to latest Remi releases. - -* NO LONGER ADDING \n TO MULTILINE, MULTILINE_OUTPUT UPDATES - * This may cause some of your problems. Sorry about this, but it's the right thing to do so that prints work correctly -* Multiline.print capability -* MultilineOutput.print capability -* Fix for MultilineOutput not autoscrolling -* Fix for image update flicker -* Printing sep char fixed -* Fix for extra Tab -* Replaced SvgGroup with SvgSubcontainer (Requires Remi 2020.3.10) -* BIG Thank You owed to Remi creator Davide (for this and many other releases too) - - -## 0.38.0 PySimpleGUIWeb 6-May-2020 - -* Added constants - * WIN_CLOSED and WINDOW_CLOSED - * EVENT_TIMEOUT and TIMEOUT_EVENT - - - -## 0.39.0 PySimpleGUIWeb 6-Jun-2020 - -Element justification within Window and Containers! Finally a unified justification - -* Frame support, but without any labels yet.... only makes a frame... hey, it's a start -* element_jutification added so that all elements inside these will be justified accordingly. - * For PySimpleGUIQt only, the default is "float" which sets nothing. Buttons will stretch across the window as result - * Valid values are 'l', 'r', 'c'. You can spell it out, but only first letter is used. - * Window - * Frame - * Column - * Tab -* New main() that shows Remi version and more info - - -# Design - -# Author - Mike B. - - # License GNU Lesser General Public License (LGPL 3) + - -# Acknowledgments -This could not be possible without the Remi project! Thank you Remi!!!! diff --git a/FreeSimpleGUIWx/readme.md b/FreeSimpleGUIWx/readme.md index 44ebe9dd..a10980ce 100644 --- a/FreeSimpleGUIWx/readme.md +++ b/FreeSimpleGUIWx/readme.md @@ -5,27 +5,27 @@ [![PyPI Version](https://img.shields.io/pypi/v/freesimpleguiwx.svg?style=for-the-badge)](https://pypi.org/project/FreeSimpleGUIWx/) -# PySimpleGUIWx +# FreeSimpleGUIWx -The WxPython port of PySimpleGUI +The WxPython port of FreeSimpleGUI -## Primary PySimpleGUI Documentation +## Primary FreeSimpleGUI Documentation -To get instructions on how use PySimpleGUI's APIs, please reference the [main documentation](http://www.PySimpleGUI.org). -This Readme is for information ***specific to*** the WxPython port of PySimpleGUI. +To get instructions on how use FreeSimpleGUI's APIs, please reference the [main documentation](http://www.FreeSimpleGUI.org). +This Readme is for information ***specific to*** the WxPython port of FreeSimpleGUI. -## Why Use PySimpleGUIWx Over The Other Ports? +## Why Use FreeSimpleGUIWx Over The Other Ports? -PySimpleGUIWx brings the number of PySimpleGUI ports to 3. +FreeSimpleGUIWx brings the number of FreeSimpleGUI ports to 3. -Why use PySimpleGUIWx over PySimpleGUIQt PySimpleGUI (tkinter version)? +Why use FreeSimpleGUIWx over FreeSimpleGUIQt FreeSimpleGUI (tkinter version)? -There are a couple of easy reasons to use PySimpleGUIWx over PySimpleGUIQt. One is footprint. PyInstaller EXE for PySimpleGUIWx is 9 MB, on Qt it's 240 MB. Another is cool widgets. +There are a couple of easy reasons to use FreeSimpleGUIWx over FreeSimpleGUIQt. One is footprint. PyInstaller EXE for FreeSimpleGUIWx is 9 MB, on Qt it's 240 MB. Another is cool widgets. -WxPython has some nice advanced widgets that will be offered though PySimpleGUIWx, hopefully sooner than later. +WxPython has some nice advanced widgets that will be offered though FreeSimpleGUIWx, hopefully sooner than later. -The System Tray feature works well with a feature set identical to PySimpleGUIQt. If you are looking for a System Tray feature, PySimpleGUIWx is recommended over PySimpleGUIQt ; the primary reason being size of the WxPython framework versus the size of Qt. They both give you very similar features. They look and behave in an ***identical*** fashion when using PySimpleGUI. That's the beauty of the PSG SDK, the function calls are the same for all implementations of PySimpleGUI. The source code is highly portable between the GUI frameworks. +The System Tray feature works well with a feature set identical to FreeSimpleGUIQt. If you are looking for a System Tray feature, FreeSimpleGUIWx is recommended over FreeSimpleGUIQt ; the primary reason being size of the WxPython framework versus the size of Qt. They both give you very similar features. They look and behave in an ***identical*** fashion when using FreeSimpleGUI. That's the beauty of the PSG SDK, the function calls are the same for all implementations of FreeSimpleGUI. The source code is highly portable between the GUI frameworks. This simple list is another way of looking at the question.... @@ -35,12 +35,6 @@ This simple list is another way of looking at the question.... 4. It's fun to program GUIs again - ## Engineering Pre-Release Version 0.13.0 - - [Announcements of Latest Developments](https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/142) - -Having trouble? Visit the [GitHub site ](http://www.PySimpleGUI.com) and log an Issue. - ## What Works @@ -106,23 +100,23 @@ It won't take long to poke at these and hit errors. For example, the code to do Due to the small size of the development team, features may feel a little "thin" for a while. The idea is to implement with enough depth that 80% of the uses are covered. It's a multi-pass, iterative approach. -If you, the reader, are having problems or have hit a spot where something is not yet implemented, then open an Issue. They are often completed in a day. This process of users pushing the boundaries is what drives the priorities for development. It's "real world" kinds of problems that have made PySimpleGUI what it is today. +If you, the reader, are having problems or have hit a spot where something is not yet implemented, then open an Issue. They are often completed in a day. This process of users pushing the boundaries is what drives the priorities for development. It's "real world" kinds of problems that have made FreeSimpleGUI what it is today. ## SystemTray -This was the first fully functioning feature of PySimpleGUIWx. Previously only the Qt port supported the System Tray. Why use Wx? The footprint is much much smaller. An EXE file created using PyInstaller is 9 MB for PySimpleGUIWx, when using Qt it's 240 MB. +This was the first fully functioning feature of FreeSimpleGUIWx. Previously only the Qt port supported the System Tray. Why use Wx? The footprint is much much smaller. An EXE file created using PyInstaller is 9 MB for FreeSimpleGUIWx, when using Qt it's 240 MB. -Now it's possible to "tack on" the System Tray to your PySimpleGUI application. +Now it's possible to "tack on" the System Tray to your FreeSimpleGUI application. -If you're unable to upgrade to Qt but want the System Tray feature, then adding PySimpleGUIWx to your project may be the way to go. +If you're unable to upgrade to Qt but want the System Tray feature, then adding FreeSimpleGUIWx to your project may be the way to go. You can mix your System Tray's event loop with your normal Window event loop by adding a timeout to both your Window.Read call and your SystemTray.Read call. ### Source code compatibility -PySimpleGUIWx's System Tray feature has been tested against the same PySimpleGUIQt feature. As long as you don't use features that are not yet supported you'll find your source code will run on either PySimpleGUIQt or PySimpleGUIWx by changing the import statement. +FreeSimpleGUIWx's System Tray feature has been tested against the same FreeSimpleGUIQt feature. As long as you don't use features that are not yet supported you'll find your source code will run on either FreeSimpleGUIQt or FreeSimpleGUIWx by changing the import statement. ## System Tray Design Pattern @@ -147,7 +141,7 @@ while True: ## Menu Definitions -See the original, full documentation for PySimpleGUI to get an understanding of how menus are defined. +See the original, full documentation for FreeSimpleGUI to get an understanding of how menus are defined. ## SystemTray Methods @@ -234,220 +228,5 @@ If you want to change the separator characters from :: top something else,change When a menu item has a key and it is chosen, then entire string is returned. If Hide were selected, then Hide::key would be returned from the Read. Note that the shortcut character & is NOT returned from Reads. -## Popups - -Starting with release 0.4.0, most of the Popup functions work. This means you can do things like show information in a window when there's a choice made in a System Tray menu. Or if your program finds some event it wishes to inform the user about. For example, when new Issues are posted on a GitHub project. - - -# Release Notes: - -### 0.1.0 - 25-Dec-2018 - -* Support for SystemTray - * Read, with or without a timeout - * Catch single click, double click events - * Source code compatiable with Qt - -### 0.2.0 - 26-Dec-2018 - -* Correctly handling base64 images -* Support for clicking message balloon -* Can Hide and UnHide the icon - - -### 0.3.0 - 27-Dec-2018 - -* Hooked up buttons! -* Browse file button is only file/folder button that works -* Text, Input and Button elements are the only working elements -* SystemTray can take any kind of image as icon -* Read with Timeout (non-zero) works -* Popups - - -### 0.4.0 PySimpleGUIWx 30-Dec-2018 - -* Text Element - colors, font work -* Text Update method works -* Button - Close button implemented -* Button - Implemented basic button, correctly presented Values on Read -* Button - Can now set font -* Changed overall "App" variable usage for better mainloop control -* Windows - Timeouts and non-blocking Reads work -* Windows - Autoclose works -* Windows - Non-blocking calls supported (timeout=0) -* Windows - Grab anywhere works -* Windows - No title-bar works -* Windows - Location and Size working correctly -* Correctly adding element padding to Text, Input, Buttons -* Popups - most Popups work (except for the input type that involve folders) - -### 0.5.0 PySimpleGUIWx 6-Jan-2019 - -* New element - Multiline input -* New element - Multiline output -* Borderless Windows -* Grab anywhere windows -* Alpha channel for windows -* Finishing up the Text and Input Text Elements -* Visibility for all Elements -* Input Get / Set focus -* Output element - unable to get stdout to re-route -* Debug window works - - -### 0.6.0 9-Jan-2019 - -* Column Element -* Checkbox Element with events -* Output Element -* Background Image (I think works) -* Debug Print -* One Line Progress Meter -* All Popups works - -### 0.7.0 PySimpleGUIWx 21-Jan-2019 - -* Element.Update support for disabled and tooltip -* Combo Element -* Newest Combo parameters -* Radio Element -* Newest Radio parameters (size_px, visible, enable_events) -* Type hints on Wx widgets -* Spinner Element -* Newest Spinner parameters -* Text Element visibility -* Column Element size_px parameter (unclear if works... likely does not) -* Column visibility -* Column Update method added -* System Tray - support for any kind of image format for icons -* Window.Move -* Window.Minimize -* Window.Maximize -* Window.Disable -* Window.Enable -* Window.Hide -* Window.UnHide -* Window.BringToFront -* Popup non_blocking - returns window and button not just button -* More comprehensive test harness when running PySimpleGUIWx.py - -### 0.8.0 20-Feb-2019 PySimpleGUIWx - -* Big Try/Except block around Update method for multiline in case window closed -* Text - convert incoming text to string right away -* Text.Update - convert incoming value to string -* Completed Button.Update method. Can now change text, color, etc. -* Added Try around reading multiline input value - not sure why needed -* OneLineProgressMeter - can update text on every call now - -### 0.9.0 06-Mar-2019 PySimpleGUIWx - -* Addition of Assert Suppression - * This was needed for a multi-threaded version of PySimpleGUIWx - * Complained when exiting a system tray if did not make this change and ran the tray in a thread -* Tray.Close now correctly Hides the icon -* SetGlobalIcon functional -* Can also now set icon using SetOptions call - - -### 0.10.0 23-Mar-2019 PySimpleGUIWx - -* `do_not_clear` is now TRUE by default on Input and Multiline elements!! - - -## 0.11.0 11-Apr-2019 PySimpleGUIWx - -* NEW Window parameter layout so can skip calling Layout - -## 0.13.0 1-OCT-2019 PySimpleGUIWx - -* Version numbering using sg.version string -* PEP8 bindings! -* Improved scaling of character to pixel sizes of elements that are multilined -* Added Metadata variable to all elements -* Renamed element callback functions to start with _ -* Removed __del__ methods everywhere except Output Element -* Can "Call" an element which will call its Update method -* InputText element - convert default text and password char to string -* Removed old code such as tkinter's tooltip and drag and drop from Qt -* Shortcut I for InputText -* Listbox added size_px parm -* Changed type checking to use the comment style types -* Added Element.Widget to all Elements so can access the Wx widgets directly -* Text Element now defaults to '' so no need to specify anything if a blank Text Element (often used for output) -* Button text converted to string when creating button -* New Button shortcuts - B, Btn -* VerticalSeparator - Newly supported Element -* HorizontalSeparator - Newly supported Element -* Slider - added size_px parm -* Fixed leak caused by System Tray not cleaning up the timer -* Window - added finalize paramter so can skip using chained .Finalize() -* Window - AllKeysDict now used like other PySimpleGUI ports. Has all the keys and elements in a window -* Window.FindElement - added silent_on_error parm like other ports have -* Window[key] construct added that calls FindElement -* window() - can "Call" a window you've created. Will call Window.Read() -* Popup buttons no longer use CloseButtons for normal popups. Calls window.Close manually -* PopupGetFolder changed to use keys, normal button, new window design patterns -* PopupGetFile changed to use keys, normal buttons, new window design patterns -* PopupGetText changed to use keys, normal buttons, new window design patterns -* Default application (PySimpleGUI.main) now shows the version number like other PySimpleGUI ports - -## 0.13.0 17-Nov-2019 PySimpleGUIWx - -* 105 Look and Feel Themes to choose from! -* New "Fuzzy" look and feel selection -* Preview all look and feels not yet supported due to lack of Frame support - -## 0.15.0 PySimpleGUIWx 24-Dec-2019 - -Themes! - -* Picked up the new "theme" APIs like all 4 ports got -* Dark Blue 3 is the new official color theme for PySimpleGUI -* Added "port" string so that your code can detect which port of PySimpleGUI is being executed -* Removed restriction on Macs (totally didn't make sense that it was there as it blocked a tkinter problem, not a Wx one) -* Depricated the TRANSPARENT_BUTTON variable as it was being misunderstood by users and was misleading -* BROWSE_FILES_DELIMITER can be changed to change the default ';' delimeter between filenames in FilesBrowse button -* Frame Element! BUT, it's only a partial solution as I am unable to set the background color (need to understand how panels work). It's better than nothing - - -## 0.16.0 PySimpleGUIWx 6-May-2020 - -* Added constants - * WIN_CLOSED and WINDOW_CLOSED - * EVENT_TIMEOUT and TIMEOUT_EVENT -* Added Graph.change_coordinates method -* Added close parameter to Window.read - - -## 0.17.0 PySimpleGUIWx 6-Jun-2020 - -Element justification within Window and Containers! Finally a unified justification - -* When any Radio element is updated to be False, the entire GROUP is reset so nothing is selected -* element_jutification added so that all elements inside these will be justified accordingly. - * For PySimpleGUIQt only, the default is "float" which sets nothing. Buttons will stretch across the window as result - * Valid values are 'l', 'r', 'c'. You can spell it out, but only first letter is used. - * Window - * Frame - * Column - * Tab - -## 0.17.1 PySimpleGUIWx 7-Jun-2020 - -* Quick patch of Multiline.update so that newlines are recognized correctly - - -# Design -# Author - Mike B. - - # License GNU Lesser General Public License (LGPL 3) + - -# Acknowledgments -