macoslib

The cheque’s in the post - NOT :slight_smile:

Do I get brownie points if I register then? - just curious.

[quote=85696:@Kem Tekinay]… :
Trust me…[/quote]
Famous last words.

I think they just need to know who’s attending/attended.

Do I have to go somewhere to watch it?
I thought webinars were online?
:slight_smile:

That was a joke, by the way!

About MacOSLIb and MBS:

I do have some issues when you use both in the same project. Especially when using Core Graphics. Any one else have this?

No, they are mutually exclusive. However, if you use the MBS versions of some calls, don’t mix it with the MacOSLib calls for the same thing, and vice versa.

No. Although apparently Kem will accept “donations”.

There is a limit to how many can attend, so this gives us an idea of interest and ensures there will be a spot for you. Registering also allows GoToWebinar to send you reminders. And we get to ask you survey questions.

I recommend the beach. Some say watching our webinars is like being plugged directly into the Matrix. Without the death and destruction. IIRC, there were only minor injuries in Kem’s XDC MacOSLib session, so his webinar ought to be fairly safe.

I have sent him my cheque and I have reserved my spot on the beach :slight_smile:

If you add an empty canvas to your window and size it to your desired position you can use this canvas as your ShowRelativeToRect Bounds and View. This works properly as the empty transparent canvas moves around allowing your NSPopover to use its bounds. I am using this to have NSPopover work properly over a listbox.

Using an invisible NSRect didn’t work since we also needed a control.view for the positioningView(NSView).

HTH

Mike

Will you post a code snippet showing how you position the empty canvas in a listbox as I have a need for this function.

Thank you.

Simon.

Sure SImon.

Here is the example:
Image and video hosting by TinyPic

This is my method that is in the Listbox.Doubleclick event:

 
  if ACLBuilderWindow.myPopover.Shown then
    ACLBuilderWindow.myPopover.Close
    
  Else
// LAUNCH NSPOPOVER
    ACLBuilderWindow.createPopover()
    
    dim edgePosition as Cocoa.NSRectEdge
    //edgePosition = Cocoa.NSRectEdge.NSMinXEdge
    //edgePosition = Cocoa.NSRectEdge.NSMaxXEdge
    //edgePosition = Cocoa.NSRectEdge.NSMaxYEdge
    
    // POSITION UNDER BOTTOM OF NSVIEW
    edgePosition = Cocoa.NSRectEdge.NSMinYEdge
    
    Dim rowHeight as Integer = ACLBuilderWindow.ACLNavigationListBox1.RowHeight
    Dim rowSelected as Integer = (ACLBuilderWindow.ACLNavigationListBox1.userSelectedRow)+4
    Dim yPosUbound as Integer = rowSelected * rowHeight
    
    ACLBuilderWindow.invisibilePopoverCanvas.Left = Me.MouseX - 50
    ACLBuilderWindow.invisibilePopoverCanvas.Top = yPosUbound
    
    // POSITION NSPOPOVER USING THE TRANSPARENT CANVAS AS THE BOUNDS
    ACLBuilderWindow.myPopover.ShowRelativeToRect ACLBuilderWindow.invisibilePopoverCanvas.Bounds, ACLBuilderWindow.invisibilePopoverCanvas.View, edgePosition
  end if

The canvas ( ACLBuilderWindow.invisibilePopoverCanvas) is just a normal canvas that I have living off screen to the left of my window that houses my Listbox.

Let me know if you need anything else.

Thank you
Mike

Thank you, Mike, that worked a treat!

[quote=201363:@Mike Cotrone]Sure SImon.

Here is the example:
Image and video hosting by TinyPic

This is my method that is in the Listbox.Doubleclick event:

 
  if ACLBuilderWindow.myPopover.Shown then
    ACLBuilderWindow.myPopover.Close
    
  Else
// LAUNCH NSPOPOVER
    ACLBuilderWindow.createPopover()
    
    dim edgePosition as Cocoa.NSRectEdge
    //edgePosition = Cocoa.NSRectEdge.NSMinXEdge
    //edgePosition = Cocoa.NSRectEdge.NSMaxXEdge
    //edgePosition = Cocoa.NSRectEdge.NSMaxYEdge
    
    // POSITION UNDER BOTTOM OF NSVIEW
    edgePosition = Cocoa.NSRectEdge.NSMinYEdge
    
    Dim rowHeight as Integer = ACLBuilderWindow.ACLNavigationListBox1.RowHeight
    Dim rowSelected as Integer = (ACLBuilderWindow.ACLNavigationListBox1.userSelectedRow)+4
    Dim yPosUbound as Integer = rowSelected * rowHeight
    
    ACLBuilderWindow.invisibilePopoverCanvas.Left = Me.MouseX - 50
    ACLBuilderWindow.invisibilePopoverCanvas.Top = yPosUbound
    
    // POSITION NSPOPOVER USING THE TRANSPARENT CANVAS AS THE BOUNDS
    ACLBuilderWindow.myPopover.ShowRelativeToRect ACLBuilderWindow.invisibilePopoverCanvas.Bounds, ACLBuilderWindow.invisibilePopoverCanvas.View, edgePosition
  end if

The canvas ( ACLBuilderWindow.invisibilePopoverCanvas) is just a normal canvas that I have living off screen to the left of my window that houses my Listbox.

Let me know if you need anything else.

Thank you
Mike[/quote]

Ah sorry all I messed up the screen shot :slight_smile: Here it is.