CLIM mail archive

[Prev][Next][Index][Thread]

Resizing Dialogs Query



[ALLEGRO/CLIM2/SPARC]

I have some pop-up dialogs that I would to resize to a reasonable size
after they draw themselves.  Basically, they consist of a simple frame with
a single (scrollable) display pane.

What I'm doing is using the  

   :RESIZE-FRAME T

option when I build the frame and then calling 
   
   (CLIM:SIZE-FRAME-FROM-CONTENTS PANE)

after I've drawn the display pane.

This works for most cases except that I can find no way to *limit* the size
to which the frame can grow.  That is, if there is enough output in the
display-pane, the frame will grow until it fills the entire visible
screen before it starts to scroll[*].

CLIM:SIZE-FRAME-FROM-CONTENTS takes a WIDTH and HEIGHT argument; however
these seem to behave as MIN-WIDTH and MIN-HEIGHT; i.e. the frame will
always be at least this big (growing bigger if it wants to).

Likewise, the function also takes a SIZE-SETTER argument.  This seems to
default to WINDOW-SET-INSIDE-SIZE.  However, this seems to have the same
problem, i.e. the frame will grow bigger than some explicitly set limiting
WIDTH/HEIGHT value.

Finally, attempts to set HEIGHT/MAX-HEIGHT/MIN-HEIGHT on the pane
definitions have no effect.

Any suggestions/hints/etc on how to do this?

Thanks
Nichael

[* Actually, it's slightly worse than this because it is the *pane* that 
   can grow as big as the screen.  As a result it's possible to get into
   a state where the user can access neither the menubar or window-label 
   (off the top) or the exit buttons (off the bottom).]


Main Index | Thread Index