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

BF: Plot window arrangement - storage/recovery of window size and position #1114

Closed
23 of 27 tasks
detlefarend opened this issue Dec 10, 2024 · 0 comments · Fixed by #1102
Closed
23 of 27 tasks

BF: Plot window arrangement - storage/recovery of window size and position #1114

detlefarend opened this issue Dec 10, 2024 · 0 comments · Fixed by #1102
Assignees
Labels
BF Basic Functions/Infrastructure enhancement New feature or request

Comments

@detlefarend
Copy link
Member

detlefarend commented Dec 10, 2024

Description/Motivation
The plot windows created by class mlpro.bf.plot.Plottable need to be placed/resized manually each time a program is started. To improve the user experience of MLPro's plot mechanism, the class shall be extended by functionality for storing and recovering the size and position of a window.

Task list

  • 1. Underlying functions
    • 1.1 Class ConfigFile
      ... storing (plot) configuration data in a local JSON file
    • 1.2 Template class PlotBackend
      • 1.2.1 Systematics to deal with different backends
      • 1.2.2 Systematics to deal with different OS
    • 1.3 Implementation PlotBackendTkAgg
      • 1.3.1 Linux/Default
      • 1.3.2 Windows
  • 2. Explore/ensure stable proceedings for backend TkAgg under all OS platforms
    • 2.1 Method Plottable._init_figure()
      • 2.1.1 Get and store the size and position of the window in a local (hidden) file in the user's home directory
      • 2.1.2 Set window title
      • 2.1.3 Force foreground
        • Open question: why does forcing the foreground need a pause of 2000ms while the first plot update brings all windows on top of the screen. What Matplotlib/Tkinter command is needed to flush the foreground command?
      • 2.1.4 Valid control of the matplotlib event-loop (plt.show vs. plt.pause), window refresh, ...
  • 3. Extensive validation
    • 3.1 Linux
      • Related howtos and paper examples
      • Versions of matplotlib/numpy
    • 3.2 Windows
      • Related howtos and paper examples
      • Versions of matplotlib/numpy
    • 3.3 MacOS
      • Related howtos and paper examples
      • Versions of matplotlib/numpy
  • 4. Update RTD
    • 4.1 Class diagrams and API
@detlefarend detlefarend added the enhancement New feature or request label Dec 10, 2024
@detlefarend detlefarend self-assigned this Dec 10, 2024
@detlefarend detlefarend added BF Basic Functions/Infrastructure next release labels Dec 10, 2024
@detlefarend detlefarend linked a pull request Dec 10, 2024 that will close this issue
@detlefarend detlefarend changed the title BF: Plot window arrangement - storage/recoverage of window size and position BF: Plot window arrangement - storage/recovery of window size and position Dec 10, 2024
@detlefarend detlefarend reopened this Dec 12, 2024
@detlefarend detlefarend reopened this Dec 13, 2024
@detlefarend detlefarend reopened this Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BF Basic Functions/Infrastructure enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant