2006-03-21 Peter Dennis Bartok <pbartok@novell.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 3b2a4b8a175df5bd2be13527c9b6639c90f442b3..3d2207a95d21747c1823adf2eae3ee0a14e7e566 100644 (file)
@@ -1,3 +1,170 @@
+2006-03-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, 
+         XplatUIOSX.cs: 
+         - Added ResetMouseHover method to allow controls to retrigger
+           hovering if they need it more than once
+         - Implemented MouseHoverTime and MouseHoverSize properties
+       * Timer.cs: Start() must reset the interval
+       * SystemInformation.cs: Added 2.0 MouseHoverTime and MouseHoverSize
+         properties
+
+2006-03-21  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: improved layout detection. Move the nonchar
+       tables into this file.
+       * KeyboardLayouts.cs: Move the tables into resource files.
+
+2006-03-21  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: use OnItemActivated to raise events. Fixes #77834.
+
+2006-03-21  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Various speed optimizations. Looking up mime types
+         is now 2 times faster than before
+
+2006-03-17  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * CreateParams.cs: Added internal menu field
+       * Control.cs: 
+         - Switched call order for UpdateBounds; now we always call
+           the one that also takes ClientSize, and we're calculating the 
+           client size via driver method in the others. The previous
+           method of tracking client size by difference wasn't working
+           for forms where even the starting client size wouldn't match
+           the overall form size (due to borders) (Part of fix for #77729)
+         - CreateParams(): Do not use parent.Handle unless the handle is
+           already created. Causes havoc with Nexxia and throws off our
+           creation of controls
+       * XplatUIX11.cs:
+         - Created new PerformNCCalc method to trigger WM_NCCALCSIZE message
+         - Switched handling of ConfigureNotify over to new PerformNCCalc 
+           method (consolidates code)
+         - Changed RequestNCRecalc to use new PerformNCCalc method
+         - Added calls to RequestNCRecalc when menus and borders are changed
+           to allow app to set NC size. (Part of fix for #77729) This matches
+           when MS send a WM_NCRECALC on Win32 windows.
+         - Now sending WM_WINDOWPOSCHANGED when toplevel for is made visible
+           (Part of fix for #77729). This matches what MS does, they also
+           send that message when the form is made visible.
+         - XException.GetMessage: Improved usability of X errors by including
+           a translation of the window into Hwnd and Control class
+         - Improved debug info for window creation, reparenting and destruction
+         - Created helper method WindowIsMapped() [Currently not used]
+       * XplatUIWin32.cs: Added ToString() debug helper to RECT structure
+       * Form.cs:
+         - CreateParams: Now setting our menu on the new internal menu field
+         - SetClientSizeCore: Now passing cp.menu instead of ActiveMenu to
+           avoid calculating the same property twice
+       * Hwnd.cs:
+         - Improved usability of ToString() for debugging purposes
+         - GetWindowRectangle(): Now uses proper CalcMenuBarSize method to
+           determine the height of the menu, instead of just the font. This
+           required to also create a graphics context and to keep a bmp 
+           around (for performance reasons)
+
+2006-03-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * MenuAPI.cs: Added OnMouseUp method
+       * Form.cs:
+         - Now remembering the requested client size, avoids size errors
+         - WndProc: Now handling WM_xBUTTONUP and passing it to MenuTracker
+           instead of base if the menu is active. This is required due to
+           control now capturing and releasing on down/up and it would
+           prematurely release our menu capture
+
+2006-03-17  Jackson Harper  <jackson@ximian.com>
+
+       * KeyboardLayouts.cs: Add the czech layouts.
+
+2006-03-16  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Use the viewport space when sizing not the controls
+       client size, so things like ScrollableControl that effect the
+       viewport size (when scrollbars are added) are computed correctly.
+       * BindingContext.cs: Cleanup to use the DataSourceEntrys instead
+       of ManagerEntrys.
+       - Handle creating BindingManagers for null data sources.
+       * DataGrid.cs: Bind the cached_currencymgr_events to the real data
+       source, otherwise when rows are added they are added to the 'fake'
+       datasource and we will crash when trying to set the position in
+       those rows.
+       - Use Implicit scrollbars on the datagrid so they arent
+       selectable.
+       
+2006-03-16  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs:
+       * InternalWindowManager.cs:
+       * MdiWindowManager.cs:
+       * X11Keyboard.cs: I really want Mike to love me again (fix
+       compiler warnings).
+
+2006-03-16  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * DataGrid.cs:
+         - OnMouseDown: Switch to editing mode when clicking on the cell
+                        even if we're clicking on the cell that's currently 
+                        selected
+         - ProcessGridKey: Left/Right now wrap like MS.Net does
+         - ProcessGridKey: Tab now knows to add a new row when tab is
+                           pressed in the cell of the last column of the 
+                           last row
+         - ProcessGridKey: Enter now adds another row  if pressed in the last
+                           row and selectes the new row, same column cell
+         - ProcessGridKey: Home/End navigate columns, not rows, like 
+                           originally implemented
+         - Broke ProcessKeyPreview code out into an extra Internal method
+           so it can be called from the edit code
+       * DataGridTextBox.cs (ProcessKeyMessage):
+         - Switched to accept Tab keypresses
+         - Added F2 handling to allow jumping to the end of the edited cell
+         - Added logic to allow moving caret left/right inside edited cell
+           and making the edited cell jump when the caret hits cell borders
+         - Tab and Enter are now passed to the datagrid after being handled
+       * TextBoxBase.cs:
+         - Removed capture code now that Control handles it
+         - set_SelectionStart now ensures caret is visible
+
+2006-03-16  Jackson Harper  <jackson@ximian.com>
+
+       * TrackBar.cs: Debackwards the increment/decrement for handling
+       mouse clicks on the bar with vertical trackbars.
+       * ThemeWin32Classic.cs: Draw vertical trackbars with 0 at the
+       bottom to match MS.
+
+2006-03-16  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: make shift/ctrl keyboard and mouse selection 
+       consistent with the MS control. Fix a bug in
+       SelectedListViewItemCollection.Clear that was pissing me off for the
+       better part of a day because the collection was being altered
+       underneath us as we walked the list.
+
+2006-03-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Not sure how we could miss this so long, but it seems
+         that MS.Net has Capture set all the way from before calling 
+         OnMouseDown through sending the mouse events until after
+         OnMouseUp. This will fix DataGrid's selection being set to end
+         at the location of the MouseUp.
+
+2006-03-15  Jackson Harper  <jackson@ximian.com>
+
+       * BindingContext.cs: Check the binding after its added so that it
+         can initialize the binding managers and hookup to events.
+       * Binding.cs: Data members seem to sometimes include rows/cols in
+         the format Row.Column we now take this into account.
+         - Hookup to the position changed event so we can update the
+         control when the position has changed in the data set.
+       * CurrencyManager.cs: Take into account the row/col naming
+         convention when creating dataset tables.
+       * BindingContext.cs: Using a newer better way of storing
+         datasource/datamember pairs.  Hopefully this better matches MS for
+          looking up binding managers.
+
+
 2006-03-15  Jackson Harper  <jackson@ximian.com>
 
        * BindingContext.cs: The currency manager needs the data member