At 03:51 PM 4/6/00 -0700, Ben Wing wrote:
thanks very much for working on dialog boxes! however, i have some
comments ...
I would assume you were ill if you didn't.
the function make-gutter-only-dialog-frame is bogus. the use of the
gutter here to hold widgets is an implementation detail and should not
be exposed in the interface. similarly, make-search-dialog should not
have to do all the futzing that it does. creating the frame unmapped,
creating an extent and messing with the gutter: all this stuff should be
hidden. you should have a simple function make-dialog-frame that takes
a dialog specification, and that's all you need to do.
The problem is that some of the callbacks and such need access to the
*created* frame, so you end up in a catch 22 unless you do what I've done.
Believe me, I did originally do what you describe but it didn't work.
Please credit me with some intelligence.
also, these dialog boxes, and this function make-dialog-frame, should
(a) be in dialog.el, not gutter-items.el.
Ok.
(b) when possible, be placed in the interactive spec of standard lisp
functions rather than accessed directly from menubar-items.el
Ug. How do I do that?
(c) wrapped in calls to should-use-dialog-box-p, so the user has
control
over when dialog boxes appear.
Ok, although I'm not sure there will be direct equivalents between dialog
boxes and key commands.
finally, once again i implore you to please fix your layout code so
it's
not necessary to specify widths and heights all over the place!
Please believe me when I say that it is not as easy as you consistently
make out. Notice the only width and height specified is that of the frame
and the gutter in the frame. This is because otherwise the gutter would
shrink (i.e. resize dynamically) to accomodate its contents. Changing the
frame size dynamically based on gutter contents seems way to complex and
fraught with difficulty to me, for dubious user benefit. Layouts are fixed
as you describe.
andy
--------------------------------------------------------------
Dr Andy Piper
Principal Consultant, BEA Systems Ltd