2009-08-07 Ivan N. Zlatev <contact@i-nz.net>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index cb3f0aadc45d4b898e4c9b8d9e473f28a2a0a296..f4b6148ca1a72945ca3dc3f1cc35849c29630ea3 100644 (file)
@@ -1,3 +1,323 @@
+2009-08-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: Remove duplicate code.
+
+2009-08-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewCell.cs, DataGridViewColumn.cs: 
+       Massive population performance boost. From seconds to ms.
+       [Fixes bug #528887]
+
+2009-08-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When handling mouse down on a column, don't do any sort
+       even if the list supports it if we are empty. This way we avoid an exc
+       sorting the empty list, and keep the UI compatible with .net.
+
+2009-08-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: In Edit () check we have any row before trying to use
+       the current row. Fixes a IOOR exc with an empty data grid.
+
+2009-08-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGridColumnStyle.cs: Don't call CheckValidDataSource when setting
+       the owner DataGrid - even if this seems to be the right thing to do,
+       .net is not doind this check at this point, but in later operations.
+       Fixes #465019.
+
+2009-07-28  Mike Gorse  <mgorse@novell.com>
+
+       * ToolStripMenuItem.cs: Added UIA CheckOnClickChanged event.
+
+2009-07-28  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * Application.cs: Make FilterMessage internal for 1.1. Fixes the 1.1 build.
+
+2009-07-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs:
+       * XplatUIWin32.cs: We need to filter the messages using
+       Application.FilterMessage for our DoEvents implementations. Observe
+       that I don't like the idea of XplatUI call the upper level Application
+       class, but at this point is easier and simpler to do this call - based
+       on the fact it's only one simple call.
+       Fixes #516735.
+
+2009-07-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: When removing the selected node, set the
+       SelectedNode value of TreeView to null if there aren't more nodes left - 
+       this is better than to clear the selected node in Clear, since we need
+       to handle the situation in the Remove methods as well.
+       Fixes #525002.
+
+2009-07-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripItemCollection.cs: Find should do a case insensitive
+       search, and should throw an ArgumentNullException if the parameter is
+       an empty string.
+
+2009-07-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGrid.cs: Use click handlers for each ToolStripButton instead
+       of using a global handler for the ToolStrip. This way the buttons can
+       be recovered and can have its PerformClick method called properly.
+       Fixes #522454.
+
+2009-07-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Implement support for XdndActionList, so we can get the
+       complete list of the supported actions in the drag source, and use the
+       action passed in the Position message only as a fallback. This will
+       help us with dnd operations with non winforms apps.
+       Fixes #402158.
+
+2009-07-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripItemCollection.cs: Use a List<> instead of an ArrayList in
+       Find. This should fix the exception we were getting when trying to
+       convert the ArrayList to an array of objects (since we were losing the
+       type parameter).
+       Fixes #519944.
+
+2009-07-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RadioButton.cs: Setting Checked when none of the sibligs is checked
+       should happen *not* in GotFocus, but in the Enter event. This is
+       specially important since we should get that Checked behaviour even if
+       no handle is created yet - and thus, no actual GotFocus call happens at
+       the time.
+       Fixes #520764.
+
+2009-07-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Adjust manually the top border for out internal
+       ComboBox, since removing the border from it leaves it without any
+       margin. This is not noticeable in a default ComboBox, but it is in an
+       instance shown on top of ToolStrip.
+       Fixes the remaining part of #507462.
+
+2009-07-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBoxBase.cs: Expose the margin top width as a property, to keep
+       the code clean.
+       * ToolStripTextBox.cs: Since we are actually using no border in the
+       default TextBox impl, and we are drawing the border ourselves, we need
+       to manually set the top margin.
+       Fixes part of #507462.
+
+2009-07-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintPreviewDialog.cs: Record when left was pressed, so we can
+       simulate Tab+Alt when moving the focus throughout our buttons and
+       controls.
+       Fixes the remaining bits of #509142.
+
+2009-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When computing the width of each tab page, use the
+       page's Font instead of the tab control one.
+       Fixes #514368.
+
+2009-07-03  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MenuAPI.cs: When handling the Keys.Left key, don't close the menu if
+       the current menu is specifically a ContextMenu (this is what .net does
+       as well). This way we also avoid a crash caused by MenuTracker trying
+       to use the menu when it was already hidden.
+
+2009-07-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintPreviewDialog.cs: Remove the code used to handle the
+       DropDown menu, since we are now doing it by default in ToolBar, and
+       just call the base impl as needed.Also, deactivate the dropdown menu
+       before moving the focus to a different button in our toolbar, as .net
+       does.
+       * ContextMenu.cs:
+       * MenuAPI.cs: Make as internal the needed bits to deactivate a
+       ContextMenu, and also to keep some beauty in our api.
+
+2009-07-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolBar.cs: When handling the key down message, if we are on a
+       drop down button, either show the DropDownMenu or pass the key to its
+       ProcessCmdKey method as needed.
+       Fixes the remaining bits of #509985.
+
+2009-06-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolBar.cs: Isolate the event logic related to OnButtonClick. Also
+       set current_item when navigating with the keyboard, so we can use it
+       properly later. Finally, handle both Enter and Space to fire
+       OnButtonClick *only*, without any other impact, as .net does.
+       Fixes part of #509985.
+
+2009-06-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MenuAPI.cs: Close any active menu when we get a simple Alt.
+       Fixes #509299.
+
+2009-06-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolBar.cs: In OnButtonClick only change the Pushed value for
+       buttons with toogle style. We were previously doing it for
+       DropDownButton's buttons, but that's not what .net is doing.
+       Fixes #510030.
+
+2009-06-26  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUICarbon.cs : support multi-byte text input.
+         Fixed bug #501276.
+
+2009-06-22  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListBox.cs: When creating DrawItemEventArgs, pass either
+       Theme.ColorHighlightText or ForeColor depending on the selected state
+       of our item, as .net does.
+       Fixes #512115.
+
+2009-06-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When handling WM_CHAR, process the message first, and
+       send it to the textbox only if it wasn't handled.
+       Fixes #507459.
+
+2009-06-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Only do my big sort at the end of AddRange if
+       the combobox is actually set to Sorted.
+
+2009-06-18 Tom Hindle <tom_hindle@sil.org>
+       
+       * XplatUIX11.cs: Enabled Text to coexist with custom data formats.
+       Fixes #511849.
+
+2009-06-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When calculating the scrollbars for non MultiColumn
+       mode, force the use of the horizontal scrollbar only if
+       ScrollAlwaysVisible is true as well.
+       Fixes #513029.
+
+2009-06-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: When using AddRange on a sorted combobox, don't
+       try to use our inefficient sorted insert method, just append
+       it and sort the whole thing at then end.
+       [Fixes bug #511247]
+
+2009-06-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolBar.cs: Expose as internal the code used to show a dropdown menu.
+       * PrintPreviewDialog.cs: Handle the down/up arrow keys for our
+       DropDown element.
+       Fixes #509152.
+
+2009-06-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Scrolling fixes.
+       [Fixes bug #512816]
+
+2009-06-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewRowCollection.cs: Clean up a bit and 
+       optimize for batch adding rows.
+
+2009-06-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Avoid calling ReBind twice during the initial data 
+       binding.
+       [Fixes bug #512807]
+
+2009-06-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Suppress invalidation during data binding.
+       [Fixes part of bug #512807]
+
+2009-06-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintPreviewDialog.cs: Tune the navigation among the buttons and
+       controls that are part of our ToolBar, so we can mimic the behaviour
+       observed in .Net, by handling also the arrow keys and doing the
+       preprocess for them too.
+       Fixes the remaining bits of #509142.
+
+2009-06-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolBar.cs: Expose the current item as internal.
+       * PrintPreviewDialog.cs: Tune the TabStop property for
+       PrintPreviewControl/ToolBar so we match the .net scenario regarding
+       Tab navigation. Also implement support to navigate throughout the
+       items in the ToolBar.
+       Fixes #509142.
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewComboBoxCell.cs, DataGridViewComboBoxColumn.cs: 
+       Implement items syncing in the non-databound scenario.
+       [Fixes bug #494031]
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Call OnCellValidating and OnCellValidated and 
+       handle the Cancel accordingly.
+       [Fixes bug #506838]
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewBand.cs: Fix a typo in DefaultHeaderCellType.
+       [Fixes bug #506796]
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewColumnCollection.cs, DataGridViewRowCollection.cs, 
+       DataGridView.cs: Fire CollectionChangeAction.Refresh collection 
+       changed when Clearing the collections so that the DataGridView 
+       can know and reset the current cell.
+       [Fixes bug #492549]
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: In ResetBindings use the ListChangedEventArgs ctor 
+       with the PropertyDescriptor parameter instead of index, because the 
+       latter will set some irelevant indices. Fixes a bug uncovered by recent
+        fix to ListChangedEventArgs.
+
+2009-06-09  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * DataObject.cs: When looking for any specific format, do a case
+       insensitive search, as .net does.
+       Fixes #509199.
+
+2009-06-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: In AllowNew firstly check if the list is a 
+       IBindingList and proxy to AllowNew. IBindingList has slightly differet 
+       logic and eventhough it's an IList IsReadOnly should not be used in this 
+       case as it might be True but AllowNew could be True as well.
+       Fixes a bug uncovered by a fix to the Array class.
+
+2009-06-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: In GetListItemType do a null check when
+       looking for IList.Item, since the impl could be explicit, and thus
+       private. Fix by Florent Fayolle (p.ricca at odyssee-ingenierie.com).
+       Fixes the remaining part of #507120
+
+2009-06-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataObject.cs: Map StringFormat/Text/UnicodeText formats properly,
+       to match them in all the cases, as this is exactly what .net does.
+       Fixes #510728.
+
+2009-06-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: In GetListItemType handle gracefully the case
+       where an instance of IEnumerator returns a null value for its Current
+       property. Fix by Florent Fayolle (p.ricca at odyssee-ingenierie.com).
+       Fixes #507120.
+
 2009-06-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
 
        * ComboBox.cs: Properly detect whether we need to use our vertical
          XplatUIX11.cs, lang.cs:
          - Initial check-in
 
-