2009-03-30 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 462f23bbf36f46d7575bd3b5f51f99cc058a4b4e..9fe35bf4370ed800464a27014ad5a54134e21509 100644 (file)
@@ -1,3 +1,400 @@
+2009-03-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When handling the SelectionRequest event, use
+       SelectionRequestEvent instead of SelectionEvent, so we get the right
+       data for the app asking for clipboard data. Set the member of
+       SelectioneEvent.property to indicate the place where we are storing
+       the information as well - this is specially important for gnome/kde
+       apps using the TARGETS atom to ask for the supported permission before
+       actually asking for a specific format.
+       Fixes #489393.
+
+2009-03-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: We don't support drawing all types of cell borders, 
+       so fallback and at least draw something instead of nothing.
+
+2009-03-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: If the column header isn't visible allow resizing 
+       using the cell column border. Also be sure to reset the cursor properly.
+       [Fixes bug #489929]
+
+2009-03-26   Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStrip.cs: When disposing, iterate over the items in reverse
+       order, since disposing the items modifies the collection.
+       * ToolStripItem.cs: Remove from the owner when disposing.
+       Fixes #485769.
+
+2009-03-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Add an implementation for UpdateRowHeightInfo. No 
+       longer throws a NotImplementedException.
+         Based on a patch by Tom Hindle <tom_hindle@sil.org>
+       [Fixes bug #488319]
+
+2009-03-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Implement IsCurrentRowDirty. No longer throws 
+       NotImplementedException.
+
+2009-03-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewColumn.cs, DataGridViewTextBoxColumn.cs: 
+       Fix SortMode clash handling.
+       [Fixes bug #488263]
+
+2009-03-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not show the vertical scrollbar if there is only 
+       one row or less. For the sake of MSNET compatibility.
+       [Fixes bug #487988]
+
+2009-03-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: When the current cell is moved out of the editing row 
+       be sure to reset it back to a place holder row.
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: If IsHandleCreated and the very first row is added 
+       to the grid in a non-databound scenario - select the first cell.
+       [Fixes bug #486881]
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: If we are not databound and empty once the first row 
+       gets added select the first cell.
+       [Fixes bug #486881]
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewColumn.cs: Do not set Row/CellTemplate's
+       DataGridView. They do not belong to a DataGridView.
+       [Fixes bug #486645]
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCellCollection.cs, DataGridViewColumnCollection.cs: 
+       Set indices and associate with DataGridView only after the item is 
+       add to the internal list.
+       [Fixes part of bug #486645]
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not add any cells to the FullRowTemplate in RowCount. 
+       FullRowTemplate already contains all the cells.
+       [Fixes part of bug #486645]
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewCellCollection.cs: Split the column removal 
+       to perform Pre and Post removal actions to allow the current cell to be 
+       moved and all events fired properly before the column is removed.
+
+2009-03-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewRow.cs: Split the row removal to perform Pre and 
+       Post removal action to allow the current cell to be moved and all events fired 
+       properly before the row is removed.
+
+2009-03-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fire CellEnter and CellLeave events for the Cell.
+       [Fixes bug #486640]
+
+2009-03-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUICarbon.cs: Commit patch from Alex Shulgin that fixes window
+       placement of popup windows on OSX.
+
+2009-03-18  Matt Guo  <matt@mattguo.com>
+
+       * FontDialog.cs: Override "ToString" for FontDialog.ColorComboBox.ColorComboBoxItem
+       [Fixes bug #482690]
+
+2009-03-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Implement the CellMouseDoubleClick event.
+       [Fixes bug #486262]
+
+2009-03-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix scrolling to take into account that the 
+       scrollbars are actually inside the client area of the datagridview.
+
+2009-03-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Implement mouse wheel scrolling.
+       [Fixes bug #486159]
+
+2009-03-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: When DataSource changes the rebinding should happen 
+       not if IsHandleCreated but if BindingContext != null.
+       [Fixes bug #486013]
+
+2009-03-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Browsable(false) properties should be skipped when 
+       autogenerating the columns.
+       [Fixes bug #486021]
+
+2009-03-16  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * DomainUpDown.cs: When ReadOnly is true, all the text entered by the
+       user should use a different handling, trying to use every pressed char
+       as a unique and only one prefix to compare against the items. Also,
+       refactor some input check code to avoid duplication.
+       Fixes #458607.
+
+2009-03-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: In OwningColumng Handle invalid column index 
+       silently.
+       [Fixes bug #485278]
+
+2009-03-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewBand.cs: Update our State whenever a property changes.
+       * DataGridView.cs: Don't be so generous in reseting Displayed, because 
+       it will spawn lots and lots of unneeded State changed events.
+       [Fixes bug #484989]
+
+2009-03-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewRow.cs, DataGridViewColumn.cs: 
+       Add support for invisible rows and columns.
+       [Fixes bug #484951]
+
+2009-03-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: Escape literal { in ToString.
+       * DataGridViewTextBoxCell.cs: Fix ToString.
+       [Fixes bug #484923]
+
+2009-03-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MenuAPI.cs: When navigating items using the keyboard properly handle
+       the case when no item is selected - this way we should try to select
+       the first or the last item depending on the direction, but no the
+       second or third one, etc.
+
+2209-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Form.cs: When calling ProcessCmdKey, just after checking for any
+       MainMenu, check if there's an active ContextMenu that is *not* owned
+       by the form - this is needed when a non-focusable control owns a
+       ContextMenu but its ProcessCmdKey method can't be called since it
+       can't receive any input.
+       Fixes #477655.
+
+2009-03-13  Neville Gao  <nevillegao@gmail.com>
+
+       * ToolBar.cs: Sent ButtonClick events when button style is DropDown.
+       * ContextMenu.cs: Add UIA Framework property UIAVisible to detect if
+       ContextMenu is displayed.
+
+2009-03-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: In GetMessage when F1 gets pressed, besides sending a
+       WM_HELP message for the associated window, don't call
+       NativeWindow.WndProc *at all*, since this could send a WM_*
+       key-related to Control.WndProc. Also, return the keypress message, in
+       case it needs to be preprocessed for any menu.
+       Fixes #478476.
+
+2009-03-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: When removing the first displayed row and moving 
+       the current cell up one we must invalidate the first displayed row 
+       index before calculating the row heights, etc.
+       [Fixes bug #483202]
+
+2009-03-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix three column bugs:
+          - Rows should be cleared (but not removed) if columns become 0.
+          - The current cell should get moved
+          - ColumnCount increase was adding too many columns.
+
+2009-03-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix RowCount decrease which wasn't working well 
+       in both scenarions - with and without editing row.
+
+2009-03-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Be compatible with MS in that the scroll to 
+       selection has a synchronous effect. The trick here is that in 
+       order to avoid unnecessary calculations each time a row/column 
+       is added/removed we recalculate the whole grid size just before 
+       just before the scroll to selection.
+       [Fixes bug #482478]
+
+2009-03-06  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * RichTextBox.cs: LoadFile(string path) should pass by default
+       RichTextBoxStreamType.RichText, without caring about the detection or
+       extension of the file.
+
+2009-03-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When calling LoadFile, remove the extra EOL
+       introduced by StreamReader, since it will convert the EOF to an EOL.
+       Fixes #479646.
+
+2009-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownMenu.cs: Use Math.Max instead of calculating
+       preferred size twice.
+
+2009-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Don't draw the dropdown arrow or shortcut
+       string if we aren't on a ToolStripDropDownMenu.
+
+2009-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownButton.cs, ToolStripItem.cs: Refactor some Button
+       code from Item to Button.  Patch from Alex Shulgin.
+
+2009-03-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDrowDown.cs: Remove some hardcoded values and assumptions.
+       * ToolStripDropDownButton.cs: This should use a ToolStripDropDownMenu,
+       not a ToolStripDropDown.
+       * ToolStripItem.cs: Don't use the item margins on a ToolStripDropDown.
+
+2009-03-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix RowCount/ColumnCount decreasing.
+
+         Based on a patch by Tom Hindle <tom_hindle@sil.org>
+         [Fixes bug #482133]
+
+2009-03-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewElement.cs: 
+          - Always calls OnDataGridViewChanged() if the new DGV is 
+          not the same/null as the current one.
+          - Do not throw NREs when setting TopLeftHeaderCell to null
+          - Unset the DGV for TopLeftHeaderCell when replacing it
+         Based on a patch by Tom Hindle <tom_hindle@sil.org>
+         [Fixes bug #481681]
+
+2009-03-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDown.cs: When dismissing control due to ESC, don't
+       hit a NRE if we are a ContextMenuStrip and do not have a parent.
+       [Fixes bug #478616]
+
+2009-03-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When removing items from a ListViewItemCollection
+       contained in ListView (not in ListViewGroup), before actually removing
+       the items remove them also from their -if any- associated groups. If
+       the item is present in ListViewGroup.Items but not in ListView.Items,
+       then don't remove it - this is *exactly* what .net seems to do.
+       Fixes the remaining bits of #478689.
+
+2009-02-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In our MouseDown handler in ItemControl use the item in
+       the very specific *real* position where the mouse was pressed, using
+       GetItemAtDisplayIndex for that purpose, instead of directly accessing
+       Items - this is specially useful when groups with Details view is
+       used. This is what we do in other places when using groups.
+       Fixes part of #478689.
+
+2009-02-27  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MaskedTextBox.cs: Properly replace selection when a new valid key
+       is pressed - even when IsOverwriteMode is false. This is what .net
+       does.
+
+2009-02-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: When setting Text and RejectOnFirstFailure is
+       true, use MaskedTextProvider.Set instead of MaskedTextProvider.Replace, 
+       since Set will keep the previous value in case of error (just what we
+       need), but still call MaskedTextProvider.Clear if
+       RejectOnFirstFailure is false - match .net.
+
+2009-02-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: When setting Text use the very precise algorithm
+       that .net uses: iterate over every char of the new value, trying to
+       use every char, and use a normal call to MaskedTextProvider.Replace
+       call if RejectInputOnFirstFailure is true. Fire OnMaskInputRejected 
+       in case of error in both cases, as well.
+       Fixes #477408.
+
+2009-02-25  Neville Gao  <nevillegao@gmail.com>
+
+       * ColorDialog.cs: Added UIA Framwork Property:
+       UIASelectedSmallColorControl.
+
+2009-02-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: Forgot to update the call of the new method
+       introduces in the previous patch.
+
+2009-02-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: Handle OnKeyDown to properly process the Delete
+       key. Also create a new method to avoid code duplication between
+       OnKeyDown and OnKeyPress.
+       Fixes #477388.
+
+2009-02-24  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: Invalidate the datagrid when the cell is selected 
+       or deselected.
+       [Fixes bug #479124]
+
+2009-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: In OnKeyPress the IsOverwriteMode check is
+       actually inversed, so put it the right way. Also, don't automatically
+       look for the next editable item after adding a new one, but way for
+       the next insertion (this is what .net does) - this is not needed when
+       MaskedTextProvider.InsertAt is called however, since it already looks for the
+       next editable position.
+       Fixes the remaining bits of #477383.
+
+2009-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MaskedTextBox.cs: In OnKeyPress handle backspace by calling
+       MaskedTextProvider.RemoveAt method. Also for setting the SelectionStart
+       property after the text was modified, adjust the testPosition value
+       depending on what method was called.
+       Fixes part of #477383.
+
+2009-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: For EnsureVisible, adjust the view port bounds based on
+       the existence of the column headers, as well as using this information
+       to adjust the vscrollbar value, so items never get hidden by the
+       column headers.
+       Fixes #478498.
+
+2009-02-23  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Make the ScrollBars property work properly.
+
+2009-02-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Some code lifting for AutoComplete's support. First,
+       when handling non-navigation keys, save the original Text typed by the
+       user, and don't motify it BEFORE. This was a design mistake, since the
+       re-assignation happens only when navigating the append/suggest list,
+       not while creating the matches. Also, process the Delete key just like 
+       the backspace one. Finally, when handling WM_CHAR, ignore both Escape
+       and Enter keys.
+       Fixes some missing bits of #469967.
+
 2009-02-22  Ivan N. Zlatev  <contact@i-nz.net>
 
        * DataGridView.cs: Fix row removal in the data-bound scenario.