• 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: Restricting NSWindow Movement
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Restricting NSWindow Movement


  • Subject: Re: Restricting NSWindow Movement
  • From: Steve Mills <email@hidden>
  • Date: Mon, 06 May 2013 16:42:59 -0500

On May 6, 2013, at 16:17:49, Thomas Wetmore <email@hidden> wrote:

> Is there a way to restrict the movement of an NSWindow to a frame of another window (that may underly it) or to some other fixed rectangular sub-area on the screen?
>
> Searching the web there was a CocoaBuilder thread 12 years ago that indicates that it was unknown how to do this then, implying that optimization in the Window Manager was an issue, but holding out the possibility that a layer below Cocoa might allow it.
>
> The windowWillMove: delegate method does not allow vetoing the move. In contrast to the windowWillResize:toSize: delegate method that does allow resizing to be vetoed.
>
> If your answer to this question would be to ask me why I should want to do such a thing, please consider that that is not an answer.


I had a thread about snapping windows as they move or resize recently, so check the archives. Apple offers no easy way to do this. I had to override sendEvent:, catch NSLeftMouseDown, check to see if the click was in the titlebar, if so, set some instance variables that says we're dragging the window. Also catch NSLeftMouseDragged (if we know we're dragging the window) and calculate the new rect based on the mouse movement and the windows I wanted to snap to. Finally catch NSLeftMouseUp to reset my instance variables.

--
Steve Mills
Drummer, Mac geek


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Restricting NSWindow Movement (From: Thomas Wetmore <email@hidden>)

  • Prev by Date: Re: Restricting NSWindow Movement
  • Next by Date: Re: Showing numpad key equivs in menu items
  • Previous by thread: Re: Restricting NSWindow Movement
  • Next by thread: Saving NSDictionary, Enumeration error
  • Index(es):
    • Date
    • Thread