The packing dialogue has been completely rewritten for Tk3.3
by Hume Smith (850347s@dragon.acadiau.ca).

The upper part of the window is pretty much the same as it was,
except for the padding sliders.

The "Widgets" list contains a list of all non-XF windows in the
program.  A double-click of button 1 selects a new current master.

The "Slaves of" list displays all the slaves of the current master.
The current master is always named in the "Slaves of" title.

The buttons on the bottom have changed the most.

"Manage Master" takes over from "Select Parent".  The packing
master of the current master (if there is one) becomes the current
master.

"Manage Slave" takes over from "Select Child".  The highlighted
widget in the Slaves list becomes the current master.

"Rescan" is the same as before.  If you've changed the widget tree,
e.g. by adding, deleting, or reparenting widgets, you should press
this button to update the Widgets list.

"Enslave" enslaves a window to another master.  The highlighted
Widget will be packed into the current master, if possible.  Since it
is not possible to enslave a window to just any other window,
invoking Enslave may not always succeed.  Furthermore, because of the
difficulty of predicting whether a remaster request will succeed,
Enslave is only available in Synchronous mode (explained below), so
that the packer (the true authority in the matter :-) can be used
immediately to check the validity. (Otherwise I'd be creating invalid
deferred code.  But I may have sufficient conditions for successful
enslaving worked out, so this mode restriction may disappear.)

"Forget" causes the packer to forget the highlighted slave.

"Master Parameters" calls up the Parameters dialogue for the current
master.

"Slave Parameters" calls up the Parameters dialogue for the high-
lighted slave.

"Master Bindings" calls up the Bindings dialogue for the current
master.

"Slave Bindings" calls up the Bindings dialogue for the highlighted
slave.

The final row of buttons has been completely changed; the undo
support has been greatly improved (IMHO :-)

"Synchronous" switches between Synchronous mode and Asynchronous mode
(these may not be appropriate names, but there you are).  In Syn-
chronous mode, changes in packing instructions are immediately sent
to Tk.  Asynchronous mode simply remembers what changes have been
made since the last Tk update; they do not show up in the application
immediately.  However, the dialogue widgets should behave as if it
HAD been applied; i.e. they take Tk's idea of things and modify it
to reflect the log of changes (if i got all the bugs :-).

"OK" sends all logged changes to Tk and closes the dialogue.

"Tentative" sends all logged changes to Tk, but remembers the undo
information.

"Confident" sends all logged changes to Tk, and FORGETS the undo
information.  Undo and Cancel will return you to this point now,
instead of the state when the dialogue opened.

"Undo" sends the undo info to Tk, restoring the packing to the
initial state or the last Confident state.  Logged changes are
forgotten.

"Cancel" sends the undo info to Tk, and closes the dialogue.

The undo information should accumulate across changes of current
master, unlike the old packing dialogue.
