home *** CD-ROM | disk | FTP | other *** search
- Subject: Adjuster
- Date: Wed, 16 Dec 1998 22:23:23 +0100
- From: Stephen Kun <stephen.kun@is.gaertner.de>
- To: Nick Ing-Simmons <nick@ni-s.u-net.com>
-
-
-
-
- 3. How do I find out whether slave is a pack or grid master or if it is not a
- master (for setting packPropagate(0))
- Currently I set both on the slave.
-
- 4. In setting position of drag bar, I do a lot of calcs for each motion event.
- Some could be done one for first, then used again for subsequent calls, eg:
- borderwidth of master, etc.
- I've now partially done this and store them on the widget.
-
- 5. Do I need XSync and idletasks calls in Adjuster.pm?
- XSync causes a bug. idletasks doesn't make any difference in practice, from
- what I can see. I've commented both out.
- Bug when using XSync:
- Run pack_adj_4r
- Shorten whole window from right so that left window edge crosses leftmost
- adjuster. Buttons on other adjusters disappear
-
- 6. Sometimes the effect given by the Restore method, is undesirable. Eg.
- for multi-columns. Then when you expand say the 1st column, the size of the
- col at the end gets reduced to 0 width when the Adjuster forces itself in.
- Then when you reduce the size of the first column again, the end col is still
- 0 width.
- Better would be:
- a) put the restore functionality on a flag OR
- b) when a col is reduced because of a Restore, it saves previous width of
- its slave, and attempts to restore it when the space becomes availabe. (Sounds
- impracticable.)
- I've implemented a) with default ON. In the documentation I'll recommend the
- default for the 1st Adjuster, then OFF for the remaining.
-
- 8. What about a packAdjustForget? Given that Adjuster doesn't work well for
- grid anyway, and doesn't consider other managers, that wouldn't be too bad.
- I'm not going to do this, but someone mentioned it a while ago. I can
- see me probably wanting it too at some point.
- Are you for the idea?
-
- 10. Grid doesn't work well with Adjuster, didn't before either. I think
- this has to do with grid, rather than adjuster. You get the same effect
- if you grid a row of widgets, then reduce the width of the window.
- Bugs demonstrated by grid_adj_4l:
- a) there's never an Unmap event for the adjuster.
- b) after adjusting, widgets protrude into border on right.
- c) grid('Propagate', 0) on MainWindow has no effect - window shrinks/grows
- when widgets are adjusted
- d) widgets shuffle to correct position on startup
- I don't recommend use of grid with Adjust!
-
- 11. Have taken out __END__ temporarily for testing
- Will put it back before publishing on the mailing list.
-
- 12. Why do the adjusters in my testcases come out grey? That's not the
- default background.
-
- 13. Could packAdjust return ($adj, $w). Could then do:
- my $canv = $top->Canvas()->packAdjust();
- OR
- my ($adj, $canv) = $top->Canvas()->packAdjust();
- Latter is good if you want to configure or unpack adjuster later.
- I realise this is very Kludgy, but there's no other way to get the
- Adjuster from packAdjust.
- I suppose the workaround of creating the Adjuster yourself is OK. When
- you do it by hand though, there's more chance of making mistakes, eg
- forgetting the -side (which defaults then to 'top') which would cause havoc.
- What's your opinion.
-
- 14. Run the script adj_button_bug: You can't reduce size of button.
- Button can be expanded, but as soon as focus enters button, it springs back
- to its original size. Why?
- It's not important though.
-