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

Configure properties for gui settings #340

Closed
jarvisteach opened this Issue Jan 6, 2018 · 10 comments

Comments

Projects
None yet
4 participants
@jarvisteach
Owner

jarvisteach commented Jan 6, 2018

Pull request #320 introduced a property for the title.

There should be properties for many other settings:

  • title
  • icon
  • fg - set only
  • bg - set only
  • font - set only
  • labelFont - set only
  • buttonFont - set only
  • transparency - set only
  • size
  • fullscreen
  • visible
  • resizable
  • location
  • stretch
  • sticky
  • guiPadding - set only
  • padding - set only
  • inPadding - set only
  • row - not in configure function
  • stop function - set only
  • logLevel
  • logFile
  • r-click edit menu
  • ttkTheme
  • language
  • enter

As well as a group function:

  • There should also be a .configure()**kwargs) function that will take all of these, and pass them to the various properties.

And container parameters:

**kwargs can then be included as a parameter in the start container functions (including the main constructor) and then passed to the .configure(**kwargs) function.

  • labelFrame
  • toggleFrame
  • tabbedFrame
  • tab
  • panedFrame
  • pane
  • pagedWindows
  • subWindow
  • frame
  • scrollPane
  • notebook
  • note
@mpmc

This comment has been minimized.

Contributor

mpmc commented Jan 6, 2018

labelFont - issue here, internal attribute

Start with an underscore to avoid naming issues? labelFont becomes _labelFont

jarvisteach added a commit that referenced this issue Jan 6, 2018

New properties #340
Also, updated docs & added listBoxMaker #235

jarvisteach added a commit that referenced this issue Jan 6, 2018

More properties #340
change global variables for fonts, added fonts & transparency

jarvisteach added a commit that referenced this issue Jan 6, 2018

More properties #340
Added icon property, and config function to do all at once…
@jarvisteach

This comment has been minimized.

Owner

jarvisteach commented Jan 6, 2018

.configure(**kwargs) & .config(**kwargs) now included that take each property above as a parameter, these then pass them to the relevant function.

This required renaming the configParser attribute.

jarvisteach added a commit that referenced this issue Jan 6, 2018

jarvisteach added a commit that referenced this issue Jan 6, 2018

jarvisteach added a commit that referenced this issue Jan 6, 2018

jarvisteach added a commit that referenced this issue Jan 6, 2018

jarvisteach added a commit that referenced this issue Jan 6, 2018

@jarvisteach jarvisteach added this to the 0.90 milestone Jan 6, 2018

jarvisteach added a commit that referenced this issue Jan 13, 2018

More properties #340
Introduced:
* visible
* simpleGUI tag on shorteners
* all X/Y functions now use `_parseTwoParams()`
@BlueKenny

This comment has been minimized.

Contributor

BlueKenny commented Jan 23, 2018

how can i use the "topmost" configuration off tkinter on my gui?

@WilfriedBl

This comment has been minimized.

WilfriedBl commented Jan 24, 2018

Not sure, this answers your question BlueKenny, I was able to access root level methods of Tkinter by using ".topLevel", for example:

gui = appJar.gui(" ....)
text_on_clipboard = gui.topLevel.clipboard_get()

"clipboard_get", as well as "clipboard_append" and "clipboard_clear" are methods provided by Tkinter on a root level. Similarly you should be able to access other methods of Tkinter.

@BlueKenny

This comment has been minimized.

Contributor

BlueKenny commented Jan 24, 2018

Thanks it works :) Do you know where to ask if i have other questions?

@WilfriedBl

This comment has been minimized.

WilfriedBl commented Jan 24, 2018

I only know to search on the Internet. The best is to try with varying search arguments. However I believe, I found the term ".topLevel" using code completion in the IDE (PyCharm), whereas the examples on the Internet usually use "root".
A good resource to ask questions is https://stackoverflow.com/ But most times I found the responses without asking a question - just by searching.

@jarvisteach jarvisteach modified the milestones: 0.90, 1.0 Jan 27, 2018

jarvisteach added a commit that referenced this issue Feb 11, 2018

New log level, stop property, error checking on autoEntries, grid opt…
…ions

#367 - new TRACE log level, for appjar messages
#340 - stop function & parameter to constructor
#266 ability to select row/column - not finished, and has issues if new
rows/columns added
#366 - error messages when calling autoEntry functions on
non-autoEntries

jarvisteach added a commit that referenced this issue Feb 11, 2018

Grid updates & logLevel property #340
New functions for DB grid #266:
* select row/column
* add db option box
* refresh db grid/optionBox
* fixed issue with incorrect rows for db grid & bad entry boxes
* updated click menu for new select functions

jarvisteach added a commit that referenced this issue Feb 11, 2018

Updates to log properties #340
* Added getters for log level/file
* Changed constructor so that command line arguments override log
settings in constructor

jarvisteach added a commit that referenced this issue Feb 12, 2018

Updated properties #340
New property to enable/disable editMenu

Update to fonts, can now set them as a size or dict of properties
across all widgets & containers, as well as a property.

New widget property to link rightClick menus.

Also, moved setting focus on menus to before they are posted, as I
don’t think the code continues until the menu is closed. #374

jarvisteach added a commit that referenced this issue Feb 13, 2018

Playing with issue #328
Pop-up for configuring GUI settings.

Fixed a couple of issues (#235, #340):
* getFonts was returning None, now works & has property
* subWindow can take kwargs
* checkBox simple setter wasn’t working
* optionBox simple setter now takes a selected param
* tip param introduced
* buttons simple setter introduced

jarvisteach added a commit that referenced this issue Feb 14, 2018

@jarvisteach

This comment has been minimized.

Owner

jarvisteach commented Feb 14, 2018

This is pretty much done now.

All containers can take parameters, and they mostly work.
There is an issue with setting a couple of properties on containers (mainly sticky), as they currently take them as a parameter to apply when gridding widgets, this results in unexpected behaviour and will need revisiting (also see #328).

jarvisteach added a commit that referenced this issue Feb 14, 2018

Additional properties #340
Added language & enterKey property

jarvisteach added a commit that referenced this issue Feb 15, 2018

@jarvisteach

This comment has been minimized.

Owner

jarvisteach commented Feb 15, 2018

See commit d651100

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

Prevent multiple changeFunctions on radio
As spotted in #340 - radio buttons are likely to have changeFunction
bound multiple times.

This is now prevented - each time a function is bound, the previous is
deleted.
@jarvisteach

This comment has been minimized.

Owner

jarvisteach commented Feb 15, 2018

Three issues to resolve:

  • Fullscreen unhappy
  • Transparency unhappy
  • size unhappy

jarvisteach added a commit that referenced this issue Feb 15, 2018

Updated config & testing #340
Also updated docs

jarvisteach added a commit that referenced this issue Feb 15, 2018

#340 testing
Updated SPLIT_GEOM to handle floats better

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

jarvisteach added a commit that referenced this issue Feb 15, 2018

Updated testing #340
Also, changed case of `getAllInputs()`

jarvisteach added a commit that referenced this issue Feb 16, 2018

jarvisteach added a commit that referenced this issue Feb 16, 2018

New properties, updated testing #340
Getters for:
* padding
* guiPadding
* inPadding
* transparency
* editMenu

Accessibility now use above getter #328

Refactored setSize - simplified

Updated testing
@jarvisteach

This comment has been minimized.

Owner

jarvisteach commented Feb 16, 2018

OK - gone as far as I want to go on this for now.

All properties in and tested. Nearly all have getters & setters (except stopFunction & enterKey)

There is an issue in testing where size stops working, but I can't reproduce it in a standard GUI, so going to ignore that for now.

jarvisteach added a commit that referenced this issue Feb 16, 2018

jarvisteach added a commit that referenced this issue Feb 16, 2018

jarvisteach added a commit that referenced this issue Feb 16, 2018

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