The pave software provides a sort of geometry management for Tcl/Tk.
The pave isn't designed to replace the existing Tk geometry managers (Tk GMs). Rather it tries to simplify the window layout by using their best.
The Tk GMs have the following drawbacks:
All of the Tk GMs have the common drawback consisting in that the widgets' creation, configuration and layout are separated in space and time. In practice it means that to modify the layout you need look at the 2-3-4.. places of your code, namely the widgets creation / configuration / geometry management. You are happy if those separated places are spanned by your editor's screen.
The proposed pave allows you to get rid of these drawbacks by means of:
The pave is implemented as PaveMe oo::class, so that you can enhance it with your own inherited class.
Also, you can employ PaveDialog oo::class and PaveInput oo::class that allow you:
The theming facility of pave is enabled by ObjectTheming oo::class which embraces ttk as well as non-ttk widgets. This is seen on the demo video .
Further details:
https://aplsimple.bitbucket.io/en/tcl/pave
Download link:
https://aplsimple.bitbucket.io/bin/pave.rar
Demo video (6.3 Mb) link:
https://aplsimple.bitbucket.io/files/test2pave.mp4
Below are some few PaveMe, PaveDialog, PaveInput and ObjectTheming demo screenshots, just to give a glance at this stuff.
Figure 1. PaveMe example described line by line in https://aplsimple.bitbucket.io/en/tcl/pave/index.html#example_Pave
Figure 2. Common PaveDialog instance.
Figure 3. Tagged text PaveDialog instance.
Figure 4. PaveInput instance.
Figure 5. Screenshot of test2_pave.tcl.
Figure 6. The same as above, just themed.