Re: Re: Drawer Edges Change
Re: Re: Drawer Edges Change
- Subject: Re: Re: Drawer Edges Change
- From: Tim Hewett <email@hidden>
- Date: Wed, 7 Apr 2004 22:18:42 +0100
There does seem to be a problem with multiple drawers under Cocoa
(for both 10.2 and 10.3). With my own app, I have a drawer which slides
out beneath the main window reliably, but another which appears on
the side more occasionally (either side - depending on how close the
window is move to one side of the screen the drawer swaps to the other
side of the window to stay visible) is less reliable. Sometimes it
appears
sometimes not, once it doesn't appear it will never appear until the app
is restarted. When it is told to open but doesn't, it still reports it
is open
when interrogated even though it isn't.
I had thought that this might be a multithreading issue, but I checked
and every operation on the drawer object is performed from the main
thread.
This surely is a bug in Cocoa? With Seth's problem also being associated
with two drawers it seems a bit coincidental...
Tim Hewett, Coolatoola.com
On 7 Apr 2004, at 21:30, email@hidden wrote:
If you haven't already, check out the "DrawerMadness" example project
in /Developer/Examples/AppKit/ . I would guess that example deals with
this problem, since it has drawers on all sides of the window.
-- Daniel Currie
On 2004 Apr 06, at 16:50, Seth Willits wrote:
I have two drawers, one with a preferred left, the other right. If the
window is positioned so that it causes one drawer to open on the other
drawer's side, they will toggle. (ie, if the right drawer is visible
and the left one needs to appear on the right side, the right drawer
closes and the left drawer opens on the right. if the right drawer is
then opened, the left drawer then closes and the right opens.) If
there is room on both sides of the window, the left drawer should
always appear on the left, and the right drawer should always appear
on the right.
The problem is, once a drawer is moved to the other side of the
window, it will never go back. I can set the preferred edge as many
times as I want, but it will never go back. For example: if the
window is positioned at 0, 0, and the left drawer is shown, then it
appears on the right side. If I then close the drawer, move the window
so that there is plenty of room on the left side and then show the
left drawer, it still appears on the right (provided that there is
enough room).
How can I get around this? My original thought was to reset the
preferred edge in drawerWillOpen or even before I open/toggle it, but
that didn't work.
Seth Willits
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.