• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Re: Drawer Edges Change
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.


  • Prev by Date: Re: Fixing a leak in an NSFormatter
  • Next by Date: Thread-related crash
  • Previous by thread: Re: Drawer Edges Change
  • Next by thread: Re: Passing C Style Function Callbacks in Cocoa
  • Index(es):
    • Date
    • Thread