[EMAIL PROTECTED] How to catch window close event ?

2008-10-16 Thread Miguel De Buf

Hi,

I try to catch a window close event in my controller class, but the 
eventhandler never gets executed.  This is my code :


using System;
using System.Collections.Generic;
using System.Text;

using Monobjc;
using Monobjc.Cocoa;

namespace windows_events
{
   [ObjectiveCClass]
   public class MyWindow : NSWindow
   {
   public MyWindow() : base() { }
   public MyWindow(IntPtr native_object) : base(native_object) { }

   [ObjectiveCMessage(awakeFromNib)]
   public void awakeFromNib()
   {
   Console.WriteLine(this.GetType().ToString() +  : 
awakeFromNib);
   this.WindowWillClose += new 
WindowWillCloseEventHandler(MyWindow_WindowWillClose);

   }

   void MyWindow_WindowWillClose(NSNotification notification)
   {
   Console.WriteLine(window closes);
   }
   }
}

The documentation says, just add an event handler.  So I subclassed from 
NSWindow and just added an event handler, but it never gets executed.


Why ?
Many thanks,
Miguel




Re: [EMAIL PROTECTED] How to catch window close event ?

2008-10-16 Thread Miguel De Buf
It works if I set the delegate in interface builder for the window to 
MyWindow, and if I modify my code to :


using System;
using System.Collections.Generic;
using System.Text;

using Monobjc;
using Monobjc.Cocoa;

namespace windows_events
{
   [ObjectiveCClass]
   public class MyWindow : NSObject
   {
   public MyWindow() : base() { }
   public MyWindow(IntPtr native_object) : base(native_object) { }

   [ObjectiveCMessage(awakeFromNib)]
   public void awakeFromNib()
   {
   Console.WriteLine(this.GetType().ToString() +  : 
awakeFromNib);

   }

   [ObjectiveCMessage(windowWillClose:)]
   public void windowWillClose(NSNotification notification)
   {
   Console.WriteLine(window closes);
   }
   }
}


Cheers,
Miguel


Miguel De Buf wrote:

Hi,

I try to catch a window close event in my controller class, but the 
eventhandler never gets executed.  This is my code :


using System;
using System.Collections.Generic;
using System.Text;

using Monobjc;
using Monobjc.Cocoa;

namespace windows_events
{
   [ObjectiveCClass]
   public class MyWindow : NSWindow
   {
   public MyWindow() : base() { }
   public MyWindow(IntPtr native_object) : base(native_object) { }

   [ObjectiveCMessage(awakeFromNib)]
   public void awakeFromNib()
   {
   Console.WriteLine(this.GetType().ToString() +  : 
awakeFromNib);
   this.WindowWillClose += new 
WindowWillCloseEventHandler(MyWindow_WindowWillClose);

   }

   void MyWindow_WindowWillClose(NSNotification notification)
   {
   Console.WriteLine(window closes);
   }
   }
}

The documentation says, just add an event handler.  So I subclassed 
from NSWindow and just added an event handler, but it never gets 
executed.


Why ?
Many thanks,
Miguel