Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap: widget to implement (and other added functionality) #13

Open
aroberge opened this issue Dec 28, 2014 · 6 comments
Open

Roadmap: widget to implement (and other added functionality) #13

aroberge opened this issue Dec 28, 2014 · 6 comments

Comments

@aroberge
Copy link
Owner

Using this "issue" to document what should be implemented by version 1.0. People should feel free to comment.

  1. equivalent to easygui.ccbox(); probably called get_cancel_or_continue() and implemented via a PyQt "warning" dialog.Done
  2. equivalent to easygui.exception() - probably called handle_exception() and implemented via a PyQt "critical" dialog. Done
  3. equivalent to easygui.passwordbox() - probably called get_password() Done
  4. equivalent to easygui.textbox() - probably called show_text() Done name = show_file
  5. equivalent to easygui.codebox() - probably called show_code() Done name=show_file ... or show_code, depending on how the code is obtained.
  6. equivalent to easygui.multenterbox() - probably called get_fields() and returning a dict Done name=get_many_strings
  7. get_color_rgb() - implemented via PyQt's color dialog Done
  8. get_color_hex() Done
  9. get_date() - with a nice calendar dialog Done
  10. set_font_family() ? [to complement set_font_size()]
  11. possibly set_default_position(); right now the widgets are displayed centered on the screen, it might make sense to position them at a user-defined location (I believe this was a request for the original easygui)
  12. possibly implement get_username_and_password() with a viewable username field and a "masked" password field. Done
  13. possibly implement show_image()
  14. possibly implement get_image_selection() : showing multiples images and having the user choosing one of them; something very similar to the idea of get_choice() used for text items.
  15. An about dialog (with possible variations) - see description in comment below.: Note: most of this is available using show_file, with an appropriate html file.
  16. Change password dialog (with verification/confirmation of new password) Done
  17. Possible variation of get_fields (see 6 above) where some fields can be specified to be masked. Done name=get_many_strings()

I do not plan to implement an equivalent of the following from easygui:
easygui.buttonbox - use get_list_of_choices() instead (however, see comment from @jeremygray below ...)

@jeremygray
Copy link
Contributor

Possible widget:
15. An "About" box, for ease of nicely displaying standard info about a program: name, version, license, homepage, list of developers, documentation writers, translators, etc. An option for an icon background would be nice. wx widgets splits this into two functions: AboutInfo (gather the content) and AboutBox (actual display of the info). It can have toggle-able sections, e.g., to show / hide the actual license.

I could see some people wanting a buttonbox even though get_list_of_choices is available. Maybe it would fit better with their porgram's aesthetics.

I agree that multpasswordbox seems low priority. My guess is that it is intended for changing passwords: one prompt for the old password, and two for the new one, all within the same dialog and all of which should be masked. Or maybe credit card plus security code. So I do think its useful if somewhat specialized (= low priority for 1.0 release?)

@aroberge
Copy link
Owner Author

yes, an about dialog seems like a good idea. Qt already provides some examples of that.


Edit: this can be done by using show_file with a carefully crafted html file.

@aroberge
Copy link
Owner Author

aroberge commented Jan 1, 2015

started One more idea: implement a "wizard" (apparently known as an "Assistant" on Mac) which could be called show_guide() or show_instructions() show_story(); this would be implemented using QtGui.QWizard() behind the scene.

There would be a few different options for the window shown at each "step":

  • include a message (as string)
  • show an image (from file name)
  • show a formatted file (from file name)

@aroberge
Copy link
Owner Author

aroberge commented Jan 1, 2015

I will remove the validation from the change_password() function; this is something that can be done by the calling program without depending of knowing the internal details of the implementation (which is the case now). Done

I also plan to add a help() function: this function would open a browser window pointing at the url of the api documentation (on the ReadTheDocs site) corresponding to the version being used. This will require not forgetting to update the version number in the module (and move it from __init__.py to easygui_qt.py itself Done added find_help(). Without explicit tagging, we could not retrieve a given version on ReadTheDocs - so it will always go to the latest available information. Since this project is likely to soon reach version 1.0 and very little development is expected afterwards, this should not be a problem.

@ttv20
Copy link

ttv20 commented Oct 8, 2016

You write: "Similarly, instead of using a print() function to display a message, show_message() is used which pops a message window."
But with print() the user don't need to do any action and with show_message() the user need to click on OK for the script continue to running.... (and Qt don't support window as thread)
I think you need to mention this

@aroberge
Copy link
Owner Author

aroberge commented Oct 8, 2016

@ttv20 Thanks for your input; I updated the readme file (but do not mention threads).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants