2009-06-26 Atsushi Enomoto * KeyboardHandler.cs : support multi-byte text input. Fixed bug #501276. 2009-01-07 Geoff Norton * WindowHandler.cs: Don't attempt to activate a disposed Form. Fixes several of the nunit winforms crashes on Mac. 2008-08-14 Geoff Norton * 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 * CarbonCursor.cs: If the window doesn't have a cursor set, revert to the default. Fixes #411114. 2008-07-31 Geoff Norton * WindowHandler.cs: Dont set ActiveWindow when emitting the event, its set when the event is handled. Fixes #393317. 2008-05-10 Geoff Norton * MouseHandler.cs: Fix the generation of msg.wParam for mouse up/down events. Fixes #368041 2008-05-10 Geoff Norton * WindowHandler.cs: Send ENTER/EXITSIZEMOVE when doing minimize/maximize events as well as resize events. Fixes #346529 2008-05-10 Geoff Norton * EventHandler.cs: Subscribe to Collapsed/Expanded. * WindowHandler.cs: Send WINDOWPOSCHANGED with Collapsed/Expanded. Fixes #325122 2008-05-10 Geoff Norton * 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 * WindowHandler.cs: Properly raise inactiate/activate events Partially fixes #386504 2008-04-11 Geoff Norton * WindowHandler.cs: Move the caret back to the real screen position after a window bounds is changed. 2008-04-11 Geoff Norton * KeyboardHandler.cs: Fix keyboard support on little endian architectures. 2008-03-21 Geoff Norton * KeyboardHandler.cs: Fix mapping of Delete. 2008-02-26 Geoff Norton * WindowHandler.cs: Send WM_CLOSE instead of WM_DESTROY. Fixes #364281 2008-02-14 Geoff Norton * WindowHandler.cs: Ensure we send WM_ACTIVATE when we activate our Form. Fixes #360721 2008-02-04 Geoff Norton * KeyboardHandler.cs: Filter the translate call. 2008-02-04 Geoff Norton * KeyboardHandler.cs: Commit support for the last batch of keytypes (F1-12; Fn+modifiers; etc). 2008-02-04 Geoff Norton * KeyboardHandler.cs: lParam should be cleared in the broken menu filter case. 2008-02-04 Geoff Norton * 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 * KeyboardHandler.cs: Control+key generates SYSKEY/SYSCHAR as well as Alt+key. 2008-02-04 Geoff Norton * 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 * EventHandler.cs: Subscribe ot ResizeBegin and ResizeEnd events. * WindowHandler.cs: Send WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE 2008-01-23 Geoff Norton * Cursor.cs: Expose the colors to avoid some warnings until we use them 2008-01-23 Geoff Norton * MouseHandler.cs: Send HITTEST events. * Cursor.cs: Initial support for Theme cursors. Custom cursors not quite yet. 2008-01-23 Geoff Norton * ControlHandler.cs: Remove some dead code that was causing warnings. 2008-01-22 Geoff Norton * 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 * 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 * ControlHandler.cs: Dont send another invalidate when carbon already knows that the control is dirty. 2008-01-16 Geoff Norton * 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 * ControlHandler.cs: Only mark the dirty area as dirty when we are told to expose by the subsystem. 2008-01-15 Geoff Norton * MouseHandler.cs: Avoid a NRE if we dont know the window the event came in on. 2008-01-15 Geoff Norton * ApplicationHandler.cs: Fix the Grab declaration. * MouseHandler.cs: Fix the grab declaration and a minor optimization. 2008-01-10 Geoff Norton * ControlHAndler.cs: Mark all dirty areas as dirty with the Hwnd system. 2008-01-10 Geoff Norton * 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 * 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 * Enums.cs: Fix a typo * MouseHandler.cs: Send NC events in global coordinates. 2007-12-21 Geoff Norton * Dnd.cs: Flush the message queue during drag callbacks. This allows queued paints to occur when we're dragging. 2007-12-21 Geoff Norton * Dnd.cs: Add support for D&D of objects internally and serialized objects across instances. 2007-12-21 Geoff Norton * *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 * 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 * 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 * 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.