Lisp HUG Maillist Archive

size hints when creating child of document-frame

Unable to parse email body. Email id is 2502

lisp-hug archive

Is their an archive of this mailing list floating around on the web 
somewhere???  I wouldn't mind checking to see if questions I ask have 
already been answered before I ask them.  thanks

Andy


Re: size hints when creating child of document-frame

Unable to parse email body. Email id is 2514

RE: size hints when creating child of document-frame

> De : owner-lisp-hug@xanalys.com [mailto:owner-lisp-hug@xanalys.com]De la
> part de davef@xanalys.com
> Envoyé : mercredi 23 juin 2004 16:05
> À : ndl@ravenbrook.com
> Cc : lisp-hug@xanalys.com
> Objet : Re: size hints when creating child of document-frame
>


> I think it's deliberate that :SCREEN-HEIGHT refers to the real screen,
> but I don't see why you would need to monitor the geometry. How about
> this:
>
> (capi:define-interface my-output-pane ()()
>   (:panes
>    (o
>     capi:output-pane)))
>
> (let ((frame (capi:contain
>               (make-instance 'capi:document-frame
>                              :best-width (capi:prompt-for-integer
> "Frame width in pixels?")
>                              :best-height '(/ :screen-height 2)))))
>   (capi:with-geometry frame
>     (capi:display (make-instance 'my-output-pane
>                                  :best-width (/ capi:%width% 2)
>                                  :best-height (/ capi:%height% 4))
>                 :screen frame)))

I just changed the
      :best-width (/ capi:%width% 2)
with
	:best-width capi:%width%

As I want the mdi child windows to exactly fit into its parent. However, the
actual child is a bit larger than the mdi container. How can I get the exact
size ? How does "windows/tile horizontally" do its calculation ?

Thanks,

Sebastien.
LWW PRO 4.4.0


Re: size hints when creating child of document-frame

 > > De : owner-lisp-hug@xanalys.com [mailto:owner-lisp-hug@xanalys.com]De la
 > > part de davef@xanalys.com
 > > Envoyé : mercredi 23 juin 2004 16:05
 > > À : ndl@ravenbrook.com
 > > Cc : lisp-hug@xanalys.com
 > > Objet : Re: size hints when creating child of document-frame
 > >
 > 
 > 
 > > I think it's deliberate that :SCREEN-HEIGHT refers to the real screen,
 > > but I don't see why you would need to monitor the geometry. How about
 > > this:
 > >
 > > (capi:define-interface my-output-pane ()()
 > >   (:panes
 > >    (o
 > >     capi:output-pane)))
 > >
 > > (let ((frame (capi:contain
 > >               (make-instance 'capi:document-frame
 > >                              :best-width (capi:prompt-for-integer
 > > "Frame width in pixels?")
 > >                              :best-height '(/ :screen-height 2)))))
 > >   (capi:with-geometry frame
 > >     (capi:display (make-instance 'my-output-pane
 > >                                  :best-width (/ capi:%width% 2)
 > >                                  :best-height (/ capi:%height% 4))
 > >                 :screen frame)))
 > 
 > I just changed the
 >       :best-width (/ capi:%width% 2)
 > with
 > 	:best-width capi:%width%
 > 
 > As I want the mdi child windows to exactly fit into its parent.

You could simply make the child with :DISPLAY-STATE :MAXIMIZED.

 >                                                                 However, the
 > actual child is a bit larger than the mdi container. How can I get the exact
 > size ?

We don't currently provide a way to get the external size of an
interface.

Another issue is that the MDI container can have scroll bars, so it
doesn't really have a fixed size.

 > How does "windows/tile horizontally" do its calculation ?

Windows does this, in response to the WM_MDITILE message. I don't see
any documentation about how the calculation is done.

__
Dave Fox
LispWorks Ltd
St John's Innovation Centre
Cowley Road
Cambridge
CB4 0WS
England

+44 1223 421861


Updated at: 2020-12-10 08:56 UTC