On Jul 22, 2012, at 5:34 AM, Motti Shneor wrote:

> This seems a real newbie question, but the solutions I found seem too 
> complicated for my task.
> 
> I have a non-NSPopover pop-over info window (can't use NSPopOver for many 
> reasons). 
> 
> This "popover like" is just a window that draws itself  "anchored" to some 
> point in the parent window's coordinate system. Being a child-window of its 
> parent, it also moves with it, as expected. 
> 
> When parent window is resized, the popover loses its anchor point, because 
> child-windows don't normally move when their parent resizes (no matter which 
> side of the parent window is changing). 
> 
> That behavior is a bit weird, because when movement is synchronized, one may 
> guess that some point in the child window always moves with some other point 
> in the parent window, or at least with some origin point (top-left, 
> bottom-right, etc.) of the parent. None of this  happens.
> 
> I could fix this by moving my child-window in the "windowWillResize" or 
> windowDidResize" delegate of the parent, but it is not easy to know exactly 
> what happened (how did the anchor point on the parent, moved in 
> screen-coordinates) and so move the child-window. 

I suspect the issue is that since the "anchor" is the origin point, which is 
bottom-left, that resizing top/down is the issue since that would be the only 
time that the window "moves" as a result.

Depending on whether you want the child window to "snap" into place or to live 
resize, OTOH, I would keep the *top*/right coordinate point of the child window 
in the parent window's coordinate space, and then in -windowDidResize: or 
windowWillResize:toSize: (for snap or live consecutively), or both, perform a 
delta to see if that top/right point has changed, and then change the relative 
position of the child window. Sounds pretty easy to me...

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to