2010-09-17  Atsushi Eno  <atsushi@ximian.com>

	(merge master 3a7d8b3) Avoid crash for use of deprecated
	InstallTrackingHandler in Snow Leopard.

2009-06-26  Atsushi Enomoto  <atsushi@ximian.com>

	* KeyboardHandler.cs : support multi-byte text input.
	  Fixed bug #501276.

2009-01-07  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Don't attempt to activate a disposed Form.
	Fixes several of the nunit winforms crashes on Mac.

2008-08-14  Geoff Norton  <gnorton@novell.com>
	
	* WindowHandler.cs: Revert the change which didn't set ActiveWindow
	here and fix the problem in the driver.  Fully fixes #393317.

2008-08-01  Geoff Norton  <gnorton@novell.com>

	* CarbonCursor.cs: If the window doesn't have a cursor set, revert
	to the default.  Fixes #411114.

2008-07-31  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Dont set ActiveWindow when emitting the event,
	its set when the event is handled.  Fixes #393317.

2008-05-10  Geoff Norton  <gnorton@novell.com>

	* MouseHandler.cs: Fix the generation of msg.wParam for mouse up/down
	events.  Fixes #368041

2008-05-10  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Send ENTER/EXITSIZEMOVE when doing minimize/maximize
	events as well as resize events.  Fixes #346529

2008-05-10  Geoff Norton  <gnorton@novell.com>

	* EventHandler.cs: Subscribe to Collapsed/Expanded.
	* WindowHandler.cs: Send WINDOWPOSCHANGED with Collapsed/Expanded.  Fixes
	#325122

2008-05-10  Geoff Norton  <gnorton@novell.com>

	* MouseHandler.cs: For some reason carbon gives us kEventMouseDown
	in the grow box, but not kEventMouseUp.  If a form has a managed resize
	grow box under our unmanaged one, it can get confused into thinking the
	mouse is permanantly down.  Lets just not report grow box events.
	Fixes #381097

2008-05-10  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Properly raise inactiate/activate events
	Partially fixes #386504

2008-04-11  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Move the caret back to the real screen position
	after a window bounds is changed.

2008-04-11  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Fix keyboard support on little endian
	architectures.

2008-03-21  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Fix mapping of Delete.

2008-02-26  Geoff Norton  <gnorton@novell.com>
	
	* WindowHandler.cs: Send WM_CLOSE instead of WM_DESTROY.  Fixes 
	#364281

2008-02-14  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs: Ensure we send WM_ACTIVATE when we activate our
	Form.  Fixes #360721

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Filter the translate call.

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Commit support for the last batch of keytypes
	(F1-12; Fn+modifiers; etc).

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: lParam should be cleared in the broken menu 
	filter case.

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Control+key does not generate SYSKEY, it prevents
	SYSKEY (ctrl+alt+foo).  Also implement broken menu keyup filtering.

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Control+key generates SYSKEY/SYSCHAR as well
	as Alt+key.

2008-02-04  Geoff Norton  <gnorton@novell.com>

	* EventHandler.cs: Expose GetEventClass internally.  Subscribe to
	the unicode text events.
	* KeyboardHandler.cs: Commit the new keyboard handler.  We grab
	the unicode characters provided by apple and push them thru a translation
	table to generate windows style keyboard events.

2008-01-28  Geoff Norton  <gnorton@novell.com>

	* EventHandler.cs: Subscribe ot ResizeBegin and ResizeEnd events.
	* WindowHandler.cs: Send WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE

2008-01-23  Geoff Norton  <gnorton@novell.com>

	* Cursor.cs: Expose the colors to avoid some warnings until we use them

2008-01-23  Geoff Norton  <gnorton@novell.com>

	* MouseHandler.cs: Send HITTEST events.
	* Cursor.cs: Initial support for Theme cursors.  Custom cursors not
	quite yet.

2008-01-23  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs: Remove some dead code that was causing warnings.

2008-01-22  Geoff Norton  <gnorton@novell.com>
	
	* EventHandler.cs: Subscribe to the MouseWheel and MouseScroll events.
	* MouseHandler.cs: Post MOUSEWHEEL events when scrolling with old
	mice, and mighty mice, and two-finger scrolling.

2008-01-16  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs:  Flicker be gone!  Generate our messages in
	AddExpose instead of trusting apples compositing manager which doesn't
	work for our use case.

2008-01-16  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs:  Dont send another invalidate when carbon
	already knows that the control is dirty.

2008-01-16  Geoff Norton  <gnorton@novell.com>

	* KeyboardHandler.cs: Track the control key(s) as well and put them
	into KeyboardModifiers as toggled.
	* MouseHandler.cs: Support simulating right click on single-button
	mouse macintoshs with the standard Control+Click usage pattern.

2008-01-15  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs:  Only mark the dirty area as dirty when we are
	told to expose by the subsystem.

2008-01-15  Geoff Norton  <gnorton@novell.com>

	* MouseHandler.cs: Avoid a NRE if we dont know the window the event 
	came in on.

2008-01-15  Geoff Norton  <gnorton@novell.com>

	* ApplicationHandler.cs:  Fix the Grab declaration.
	* MouseHandler.cs: Fix the grab declaration and a minor optimization.

2008-01-10  Geoff Norton  <gnorton@novell.com>

	* ControlHAndler.cs:  Mark all dirty areas as dirty with the Hwnd system.

2008-01-10  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs:  Ensure we send controls a WM_WINDOWPOSCHANGED
	when their bounds are changed by the carbon system.  Fixes initial sizing
	of PDN DocumentWorkspace bug.

2008-01-09  Geoff Norton  <gnorton@novell.com>

	* WindowHandler.cs:  Hide utility windows when the window is minimizing
	or deactivating.  Show them when the window is restored.
	* ApplicationHandler.cs: Hide the utility windows when the app
	deactivates.  Restore them when we get focus back.

2008-01-04  Geoff Norton  <gnorton@novell.com>

	* Enums.cs: Fix a typo
	* MouseHandler.cs:  Send NC events in global coordinates.

2007-12-21  Geoff Norton  <gnorton@novell.com>

	* Dnd.cs: Flush the message queue during drag callbacks.  This allows
	queued paints to occur when we're dragging.

2007-12-21  Geoff Norton  <gnorton@novell.com>

	* Dnd.cs: Add support for D&D of objects internally and serialized
	objects across instances.

2007-12-21  Geoff Norton  <gnorton@novell.com>

	* *Handler.cs: Update the ProcessEvent method to pass the callref
	in as well.
	* ControlHandler.cs: Direct the kEventControlDrag events to our
	Dnd implementation.
	* EventHandler.cs: Register kEventControlDrag event callbacks and 
	HIObject subclassing callbacks.
	* KeyboardHandler.cs: Keep some key modifiers in a Keys state.
	* MouseHandler.cs: Dont prevent non-hwnd events from going to the next
	Event handler.
	* Dnd.cs: Initial D&D implementation.  Supports dragging internally
	and from finder->mwf apps.
	* Pasteboard.cs: Initial clipboard support.
	* HIObjectHandler.cs: Subclass HIView and run our own specialized
	native object constructor.  This is required for dnd.

2007-12-07  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs: Properly update our invalidated information when
	Quartz asks us to redraw.  This helps fix TabControl but introduces
	over-zealous drawing causing our flicker.  Implement visibility tracking
	to generate out WM_SHOWWINDOW calls.  Refactor mouse tracking to live
	entirely in MouseHandler.
	* EventHandler.cs: Unregister some events we no longer handle.  Register
	the new MouseEvents that we do handle.
	* KeyboardHandler.cs: Implement some more key translations.
	* MouseHandler.cs:  Handle all mouse events at the application level now
	This allows us to paint while dragging the mouse, and handle double
	click events properly.
	* WindowHandler.cs: Properly generate WM_SHOWWINDOW messages when
	our application window is exposed.

2007-11-21  Geoff Norton  <gnorton@novell.com>

	* ControlHandler.cs: Allow custom HIView to get keyboard focus.
	* Enums.cs: Remove some unused Enums.
	* EventHandler.cs: Make controls listen to kEventControlGetFocusPart
	* KeyboardHandler.cs: Get the focus control from Carbon before returning control from the function

2007-11-15  Geoff Norton  <gnorton@novell.com>

	* EventHandler.cs: The new event handler dispatcher for the Carbon port.
	Every event is dispatched thru this class and directed to the appropriate
	event type handler.
	* ApplicationHandler.cs: Handles the application level events AppActivated
	and AppDeactivated.  We hook these to remove overlay windows when the application
	looses focus.
	* ControlHandler.cs: Handles the control level events Click, Track, Draw and BoundsChanged.
	Translates these events to their WndProc equivalents and routes them to the appropriate
	Control.
	* KeyboardHandler.cs: Handles the keyboard level events KeyDown, KeyUp, KeyRepeat, KeyModifiersChanged
	translated them to the WndProc message and routes it to the keyboard focus control.
	* MouseHandler.cs: Handles the global mouse events and sends the appropriate WM_MOUSEMOVE to the 
	control affected.
	* WindowHandler.cs: Handles the window level events BoundsChanged and Close and resizes the Hwnds
	or destroys them accordingly.
	* EventHandlerBase.cs: Base class for all the EventHandlers.
	* IEventHandler.cs: Interface declaring the methods needed for all EventHandlers.
	* Enums.cs: Contains needed enums for the Carbon port.
	* Structs.cs: Contains all the needed structs for the Carbon port.
