[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Windows.Forms / System.Windows.Forms / ChangeLog
index 0bfb575050052a001fb69fed9887423483c38f61..d7d4a571f2405e3ce49218df265b905930a66c85 100644 (file)
-2003-07-31 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TreeView.cs
+2010-07-08 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * ThemeWin32Classic.cs: implement ResetDefaults.
+       Fixes bug #581956.
+
+2010-07-05  Dick Porter  <dporter@codicesoftware.com>
+
+       * MenuAPI.cs: Only handle mnemonic key shortcuts when the context
+       menu is visible.  Fixes bug 616739.
+
+2010-07-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: The images drawn in the column header must be
+       vertically centered. Fixes #616432.
+       Patch by Thomas Goldstein (stifu@free.fr).
+
+2010-06-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Don't use the Font property of our TabPages - use our
+       own Font property instead, as .Net does.
+       Fixes some bits of #551032.
+
+2010-06-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Call Invalidate when removing a tab page. We were
+       depending on the redraw routines of SelectedIndex, which could be not
+       enough to detect the real affected area.
+
+2010-06-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Don't set SelectedTabIndex when getting the focus *at
+       all*.
+       Fixes #613765.
+
+2010-06-24  Dick Porter  <dporter@codicesoftware.com>
+
+       * Fix NullReferenceException when keyboard shortcut activates
+       disabled context menu item.  Fixes bug 615940.
+
+2010-06-22  Dick Porter  <dporter@codicesoftware.com>
+
+       * TextControl.cs, XplatUIX11.cs, XplatUICarbon.cs: Expand paint
+       regions slightly so that the full extents of text get painted.
+       Fixes bug 464464.
+
+2010-06-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: Clone should detect the type of the current instance
+       and properly create the correct object.
+       Fixes #613708.
+
+2010-06-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When setting SelectedIndex and the new selected tab
+       bounds are obscured by the scrollers, take into account the self tab
+       when looking for the proper bounds to adjust the slider. This is specially
+       important when we need to adjust the slider pos for the *last* tab page.
+       Fixes #615382.
+
+2010-06-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Show the tooltip depending on the value 
+       of ShowTooltips.
+       Fixes #615376.
+
+2010-06-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Implement ToolTip support for our tab pages.
+       Fixes part of #515045.
+
+2010-06-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Make the 16 colors in the color drop down
+       match .Net.  Patch by Thomas Goldstein (stifu@free.fr).
+       [Fixes bug #506726]
+
+2010-06-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Show all 16 colors in the color drop down
+       to match .Net.  Patch by Thomas Goldstein (stifu@free.fr).
+       [Fixes bug #508523]
+
+2010-06-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When calculating the size of our tabs use
+       MinimumTabWidth only if SizeMode is other than Fixed.
+       Patch by Thomas Goldstein (stifu@free.fr).
+
+2010-05-20  Andreia Gaita <avidigal@novell.com> 
+
+       * X11Dnd.cs: Fix a few crashers, making sure the client window is valid
+       when dragging
+
+2010-05-15  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * TabControl.cs: Properly implement ItemSize, which should depend on
+       Font and ImageList -if available-, instead of having a fixed height.
+       Setting ImageList should cause a Redraw also.
+       Fixes #599950.
+
+2010-05-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: ItemSize should be returning two times the padding
+       values instead of one.
+
+2010-05-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: ItemSize should include the padding value.
+       Update the retrieval of this info in SizeTab as well.
+       Fixes part of #604034.
+
+2010-05-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ScrollableControl.cs: It seems .Net is creating DockPadding lazyly,
+       which means that *any* padding for children controls is not applied
+       *until* DockPadding is accesed using its getter.
+       * FlowLayoutPanel.cs:
+       * TableLayoutPanel.cs:
+       * Form.cs: These children classes need to have the DockPadding
+       property available *always*, so create it for them in their respective
+       constructors.
+       Fixes #599506.
+
+2010-05-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Properly adjust SmallChange and LargeChange values for
+       our scrollbars depending on the view. Also, update the maximum allowed
+       value when setting the values from SetScrollValue to use the already
+       available information contained within them.
+       Fixes the remaining bits of #543785.
+
+2010-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: When calculating the scrollbars, take into account the
+       height of the horizontal scrollbar (if visible) to assign the maximum
+       value for our vertical one.
+       Fixes #543785.
+
+2010-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: Do some clean up by renaming some of our
+       local vars in Add and AddSorted, so we have better readibility.
+       Patch from Thomas Goldstein (stifu@free.fr).
+
+2010-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: When adding a sorted node return the correct
+       position of that node instead of returning the count.
+       Patch from Thomas Goldstein (stifu@free.fr).
+
+2010-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: In SetupNode remove the redundant check,
+       since we only need to have a valid tree view to call UpdateBelow.
+       Patch from Thomas Goldstein (stifu@free.fr).
+
+2010-05-04  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Patch from adrian.taylor@realvnc.com to avoid
+       blocking the message loop while processing events.
+
+2010-05-03  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: Just as we did with TreeView, start the drag
+       computation in MouseDown instead of MouseMove, in order to avoid
+       firing the ItemDrag event more than one time per clicked item.
+
+2010-05-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: our internal textbox should show selection only if it
+       is enabled. Don't set HideSelection since it's preventing us
+       from correctly hide the selection when needed. Finally connect a
+       handler in case our parent ComboBox gets its Enabled state changed.
+       Fixes #600433.
+
+2010-05-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: Set our internal fields related to the starting drag
+       position from MouseDown to MouseMove - we need to make sure
+       that the OnItemDragged event is fired only *one* time per element
+       clicked.
+       Fixes #551734.
+
+2010-05-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: Instead of Sorting from SetupNode, do it
+       directly from Add (which uses AddSorted for this purpose) and Insert.
+       This way we first avoid a double sort, take advantage of our fast
+       version of Add for the default sorting, and also supress the call to Sort
+       when using our indexer setter (.Net ignores the sorting in this case).
+
+2010-05-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: When Adding a new node don't remove it from
+       any previous collection. Even if this seems a little buggy, this is
+       what .Net does.
+       Fixes #601766.
+
+2010-05-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * StatusStrip.cs: In SetDisplayedItems call ClearInternal on
+       displayed_items instead of Clear, since this is only an internal
+       collection and we don't want to have our items have their Parent/Owner
+       modified.
+       Fixes the remaining bits of #590100.
+
+2010-05-02  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridViewCell.cs: Avoid a NRE in GetValue if the cell doesn't 
+       have a DataGridView associated yet.
+       [Fixes bug #600786]
+
+2010-05-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripItemCollection.cs: When calling Clear set Owner and Parent
+       properties to null for each of the items in the collection, just as
+       Remove/RemoveAt do. Implement a ClearInternal method that clears the
+       collection without modifying the mentioned properties.
+       * ToolStrip.cs:
+       * ToolStripOverflow.cs: Call ToolStripItemCollection.ClearInternal
+       for our internal collections.
+       This should fix #590100, which producing a race when the garbage
+       collector was calling ToolStripItem.Dispose, which in turn was firing
+       a Layout in the ToolStrip.
+
+2010-04-27  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridView.cs: Fix multiple issues when inserting and adding new 
+       columns.
+
+2010-04-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripSplitButton.cs:
+       * ToolStripDropDownItem.cs:
+       * ToolStripMenuItem.cs: Update overrides.
+       * ToolStripItem.cs: Pass the number of clicks to HandleClick when
+       firing OnMouseUp, so we can later fire either OnClick or
+       OnDoubleClick.
+
+       Fixes #558632.
+
+2010-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When emitting the complete RTF value escape chars
+       above 0x80, at .Net seems to do. This way we are able to make
+       round-trip assignations between the setter and getter of the
+       RichTextBox.Rtf property.
+       Fixes part of #586901.
+
+2010-04-26  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridView.cs: Handle all possible cases for when a new column is 
+       added and there are existing rows with existing cells both in the 
+       non-databound and the databound scenario.
+       [Fixes bug #583387]
+
+2010-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When retrieving data from the x11 clipboard and we
+       are using either XA_STRING or OEMTEXT try to detect if we have escaped
+       unicode chars, and unescape them as needed. This us used by some
+       (gnome) applications to pass unicode chars in a non-unicode context.
+       Fixes #596402.
+
+2010-04-25  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridViewCellCollection.cs, DataGridView.cs: 
+       Ensure column cell templates are properly applied.
+       [Fixes bug #583404]
+
+2010-04-24  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridViewColumnCollection.cs: When adding a column also 
+       set the DisplayIndex if its now set by the user already.
+       [Fixes bug #583387]
+
+2010-04-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * NotifyIcon.cs: Make BalloonWindow expose the owner's Handle.
+       * Theme.cs:
+       * ThemeWin32Classic.cs: Add a HideBalloonWindow method to force to
+       close an active balloon window.
+       * XplatUIX11.cs: When removing from the system tray try to close
+       the balloon window. This is important when we hide a NotifyIcon and
+       thus need to close its related balloon window as well.
+       Fixes bits of #590093.
+
+2010-04-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When adding a NotifyIcon to the system tray, mark its
+       Hwnd.mapped as true, since its handle is going to be mapped later by
+       the tray (not us), but we need to know it's alive and can later properly unmap
+       it.
+       Fixes part of #590093.
+
+2010-04-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: When adding/inserting/setting a new node call
+       TreeView.Sort if needed, and update/recalculate this entire
+       collection in that case.
+       * TreeView.cs: Make 'sorted' internal, instead of directly using
+       Sorted, as this one could trigger a complete Sort() operation.
+
+2010-04-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: We must use the comparer supplied by TreeViewNodeSorter
+       *always*, since it is used recursively, so checking for a number of
+       top level nodes is useless. This should fix a case where we were not
+       sorting any node with a single root node.
+
+2010-04-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGridView.cs: Call the base Paint impl last, instead of do that
+       at the beginning, to let handlers draw on top of us. 
+       Fixes the remaining bits of #587563.
+
+2010-04-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripItem.cs: Separate the background rendering from the Paint
+       routine, so we can both make sure the background stuff is done first,
+       and we also let our items fire the OnPaint event handlers before or
+       after their own routines.
+       * ToolStripLabel.cs: Move the base call to OnPaint to the end, so any
+       user's Paint handler can draw on top of us, like .Net does.
+       Fixes #587563.
+
+2010-04-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When checking for the values returned by
+       _NET_WORKAREA, use current_desktop+1 instead of current_desktop, since
+       we need the actual value, instead of the index (which is 0 based, and
+       is not working in this case). Patch by Andy Stühr
+       (andysmuell@hammerhartes.de).
+       Fixes #494234.
+
+2010-04-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolTip.cs: Make TipState internal.
+       * ToolStrip.cs: Use the same idea of ToolTip'state to have our
+       internal timer close the tooltip window after a delay, instead of
+       waiting for the mouse to move to a different item. Also, hide the
+       tooltip window when the handle is destroyed, and also when the control
+       is getting hidden.
+       Fixes #581273.
+
+2010-03-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Selection should be available after the first time the
+       handle has been created, even if later the handle is destroyed or
+       temporary invalidated.
+       Fixes #584070.
+
+2010-03-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When receiving a double click on a node, toggle it only
+       if it has one or more nodes - just as .net does.
+       Fixes #578079.
+
+2010-03-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Keyboard.cs: Small correction for the previous patch: I forgot to
+       take into account the case where the buffer used in XLookupString is
+       not empty, but filled with garbage.
+
+2010-03-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Keyboard.cs: When handling the key events, sometimes calling
+       either Xutf8LookupString or XLookupString with special chars (such
+       backspace and enter) can result in a buffer filled with garbage, or
+       empty - thus re-use the value returned by the same functions to fill
+       the gap.
+       Fixes #582691.
+
+2010-02-25  Ivan Zlatev  <ivan@ivanz.com>
+
+       * Control.cs: ControllCollaction IList implementation wasn't calling the 
+       Add implementation causing ParentChanged and all sorts of other events not to 
+       get fired.
+       [Fixes bug #580042]
+
+2010-02-25  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridView.cs: If we are setting a new data source and it is 
+       data bindable clear DataMember before binding.
+       [Fixes bug #554296]
+
+2010-02-25  Ivan Zlatev  <ivan@ivanz.com>
+
+       * DataGridViewCheckBoxCell.cs: Toggle the checkbox on Space key press.
+       [Fixes bug #574259]
+
+2010-02-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When retrieving SelectedRtf/Rtf properly escape any
+       RTF reserved char, so we don't end up messing around the actual rtf
+       values.
+       Fixes part of #575731.
+
+2010-02-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Line.cs: When setting the Text property, if the new text is larger
+       than the previous one, call Grow to update our internal 'widths'
+       array, to be properly in sync with the new text.
+       Fixes #569530.
+
+2010-02-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When calculating the layout for the tab pages, take
+       into account the ImageList size info if it exists, even if it is
+       empty.
+
+2010-02-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * StatusStrip.cs:
+       * XplatX11.cs:
+       * X11Structs: Implement the new BeginMoveResize method, designed to
+       instruct the window manager to init a resize operation on a top level
+       form. This is used by StatusStrip.
+       * XplatUI.cs:
+       * XplatUIDriver.cs:
+       * XplatUIWin32.cs:
+       * XplatUICarbon.cs: Fill the gaps by creating stubs and updating the
+       method calls.
+       Fixes #573299.
+
+2010-02-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When creating DrawItemEventArgs pass the fore color and
+       back color arguments depending on the higlight/focus state, just like
+       .net.
+       Fixes #572643.
+
+2010-01-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When the normal drop down window is closed, make sure
+       that the auto complete list -if any- is closed as well, instead of
+       stay open without need.
+
+2010-01-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: When showing the autocomplete listbox, make sure it's on
+       top, by calling the raw XplatUI.SetZOrder for it, since we can't
+       properly call BringToFront on it as it is parentless. This fixes an
+       issue when using this feature with ComboBox's own parentless listbox.
+       Fixes the remaining bits of #489339.
+
+2010-01-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUI.cs:
+       * XplatUIDriver:
+       * XplatUICarbon:
+       * XplatUIWin32:
+       * XplatUIX11.cs: 
+       * XplatUIStructs: Implement support for different kind of audible
+       alerts in Windows, and update the requiered classes.
+       * MessageBox.cs: 
+       * TextBoxBase.cs: Update calls to XplatUI.AudibleAlert.
+       Fixes #473725.
+
+2010-01-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When use manually setting DropDownHeight, ignore the
+       MaxDropDownHeight property - also rename our field 'count' to
+       'visible_items_count' to avoid confusion as much as possible.
+       Fixes an issue with several items, showing an incorrect layout.
+
+2010-01-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: SelectedText should set Modified to true. Observe
+       that this is happening just here, not for the Text property, and
+       neither for the TextBoxBase impl.
+       Fixes #569950.
+
+2010-01-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripMenuItem.cs: Put the Checked/CheckState logic in a single
+       place and synchronize the events properly. Fixes a lack of
+       coordination between the events - which should be fired together.
+
+2010-01-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TrackBar.cs: Move our events code to a single method, allowing it to
+       optionally fire the Scroll event. This way we both avoid the
+       duplicated calls to OnScroll and also will be able to fire Scroll
+       *before* OnValueChanged in other places.
+       Fixes #568026.
+
+2010-01-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RadioButton.cs: When drawing, if Appearance is Button use the old
+       normal routine in the theme engine, instead of using the one in 2.0,
+       since this last one doesn't support proper rendering of the control as
+       a button.
+       Fixes #567904.
+
+2010-01-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * GroupBoxRenderer.cs: Properly use SystemColors.GrayText to draw to
+       text of the group box if it is disabled.
+       Fixes #567847.
+
+2009-12-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: When changing the cursor and updating it, do update the
+       cursor immediately even if there's a child control under the current
+       cursor position - this is exactly what .net does.
+       Fixes #555780.
+
+2009-11-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: In OnLeave, do cancel or end current edit, depending on
+       the commit_new_row value, instead of just trying to cancel if a new
+       row had been added. This is important when modifying existing rows and
+       then moving the focus out of the control.
+
+2009-11-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUICarbon.cs: Implement the overriden AudibleAlert
+       function in XplatUICarbon.  Currently it throws
+       NotImplementedException which will kill a WinForms application showing
+       a dialog box.
+       Patch by  Erik Ylvisaker (erik@agatelib.org).
+
+2009-11-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: In CurrentCell, the check to do nothing in case we are
+       in the same cell as specified *and* not editing is wrong.
+
+2009-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When removing the cells, don't do anything if the
+       specified row is the extra cell we use to add new ones.
+
+2009-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: CurrentCell should be *used* if the new value is the
+       same as the current one, since we could need to activate the edition
+       in the current row. Also, when beginning the edition, do nothing if,
+       basides having an empty source, we are sure we don't have the new
+       cell, which could obviously start it.
+       Fixes other bits of #323154.
+
+2009-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When we get notified by a change in the position of our
+       data source, don't set CurrentRow if the source is empty, as there's
+       no need to do anything else in the first place, and second, the logic
+       in the CurrentRow setter (public property) will add a new row by
+       default in this case (that is, when the source is empty).
+       Fixes part of #323154.
+
+2009-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripMenuItem.cs: Don't try to use SystemColors.MenuText if fore
+       color is SystemColors.ControlText, as this system color detection
+       should be done *completely*. This is specially important when
+       detecting colors in systems running Gtk+ and dark themes.
+
+2009-11-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: Add a new internal property to get the maximum possible
+       visible rows in the grid. We cannot use VisibleRowCount since this
+       value can, depending on the scroll position, return a +1 or -1 value,
+       so we need an absolute way to know whether we need a scroll bar or
+       not. Also, update VLargeChange to avoid code duplication.
+       Fixes a vertical scroll mismatch happening trying to add a new row
+       while the scrollbar has reached its maximum value.
+
+2009-11-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGridTextBoxColumn.cs:
+       * DataGrid.cs: Position the cursor in the add row should *not* show
+       yet another new row - that will happen till we get any real input data
+       from the user. When that happens, we will also mark the new row as
+       ready to commit - otherwise, when the cursor moves to a different row,
+       the just added row will be discarded. This is exactly what .Net seems
+       to do.
+
+2009-11-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: The large value for our vertical scrollbar should
+       depend on the number of visible rows, instead of trying to re-use the
+       value of VisibleRowCount, which is the value of *current* visible
+       rows, and can easily end messed up if new rows are added/removed.
+
+2009-11-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When moving the scroll, *dont* ever end the current
+       edit - this could seriously mess up our current edit cycle, specially
+       when adding new rows.
+
+2009-11-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: In OnKeyDown call the base implementation first -
+       this way we let the user tell us whether we should handle the key or
+       not.
+       Fixes #543717.
+
+2009-11-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: Implement removal of rows the Correct Way by creating a
+       copy of the indexes, as any direct write access to the source will cause to
+       reset the entire selection - also, do the linear de-selection in
+       reverse order to avoid any index mismatch in the source, due to out of
+       synchronization removing the rows.
+
+2009-11-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGridTextBoxColumn.cs:
+       * DataGrid.cs: Don't use this add-pending behaviour to try to add a
+       new row until we have the first input char - it was helping us to fix
+       other issues we have/had, but it's not matching .net.
+
+2009-10-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBoxBase.cs: When returning the preferred height, and we are
+       supposed to be borderless, return the TopMargin value - usually in
+       borderless mode it has a value of 0, but in the ToolStrip controls we
+       need to set the margin manually.
+       Fixes #551214.
+
+2009-10-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolTip.cs: ShowAlways works at the form level, not at the control
+       level. Fixes #544565.
+
+2009-10-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ButtonBase.cs: Usually the click routines are handled in Control,
+       but in this class we are handling it ourselved, thus we need to have
+       the same calls, and we were missing the call to MouseClick.
+       Patch by Eric Petit <surfzoid@gmail.com>.
+
+2009-10-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When setting Text and data source is being used, if the
+       passed value is not matching any of the items in the source, don't
+       pass it to GetItemText, since it's useless, as GetItemText expects a
+       valid item.
+       Fixes #546009.
+
+2009-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When retrieving an item in virtual mode, as part of the
+       process calculate its layout, instead of trying to do it later.
+       * ListViewItem.cs: There's no need to try to infer whether we need to
+       compute layout or not anymore - we just do it every time we are
+       returning an item.
+       This way we should be fixing View changes with cached items, which
+       were storing the previous value, and not updating their contents
+       properly.
+
+2009-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: Remove the double linear search in the Index
+       property, by removing the call to Contains, which is not needed.
+       Also, Columns collection can never be null.
+
+2009-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: When calculating the width and height of the
+       column, try to expand to the right and use all the free space if we
+       are the last column *and* the resize mode is set to -2/header content.
+       Fixes #544716.
+
+2009-10-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When retrieving the top item, take into account the
+       offset represented by the header control, to retrieve the proper
+       value. Patch by Christoph von Wittich (Christoph at ApiViewer.de)
+       Fixes the remaining bits of #543773.
+
+2009-10-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: TopItem setter should set the value as the top, not
+       only ensuring its visibility.
+       Fixes part of #543773.
+
+2009-10-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: For virtual mode, when navigating the items using keyboard,
+       don't use the matrix of positions, and instead calculate the positions
+       based on the number of cols and rows, taking advantage of the fixed
+       positions of items. Use the same idea to implement FirstVisibleIndex,
+       so we avoid iterating over all the items. Patch by Stephen Robinson
+       mono at esar.org.uk.
+       Fixes part of #467418.
+
+2009-10-12  Dick Porter  <dporter@codicesoftware.com>
+
+       * Splitter.cs: Adjust offsets when more than one splitter is
+       present in a control.  Fixes bug 509472.
+
+2009-10-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When computing the value for groups height don't use
+       text_size field, since in LargeIcon view it sometimes contains a
+       double height value - use Font.Height directly, and also improve the
+       padding value.
+       * ThemeWin32Classic: The same as above.
+       This way the space between the group header, the line, and the items
+       area is not that big in LargeIcon view.
+
+2009-10-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When retrieving the fixed positions for the items in
+       virtual mode, use the row value to compute the coords of the item,
+       instead of the col value, as opposed to SmallIcon/LargeIcon views.
+
+2009-09-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: The location of the items should be computed on the fly
+       in virtual mode - that decreased speed overall, but reduces the load
+       time.that decreased speed overall, but reduces the load time. Also,
+       handle the cases where we were using data structures we don't need to
+       use/create for this mode.
+       Fixes part of #467418.
+
+2009-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Tile view and VirtualMode can't be applied together.
+       Patch by Stephen Robinson <mono@esar.org.uk>.
+
+2009-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calculating the layout for Details view, don't ask
+       for the items *at all* in case we are in virtual mode. This should
+       re-enable the proper behaviour of virtual mode.
+
+2009-09-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: When we invalidate a node, make sure we start at
+       0, instead of the node's Bounds.Left, which does not include
+       the +/-, checkbox, or stateimages.
+       [Fixes bug #542481]
+
+2009-09-24  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Compare the name and not displayname of properties 
+       when checking if the column is already bound.
+
+2009-09-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: For SelectedRtf, after inserting the stream, adjust
+       the position of the caret by adding the needed chars represented by the new line chars,
+       according to the system, using rich *or* hard new lines as needed. Also do a
+       check to be sure we don't move the cursor position beyond the limits
+       of our text. This should avoid problems with text being pasted,
+       regarding the position of the caret.
+
+2009-09-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When SelectedRtf is set, and we are in the 0
+       position in the x axis, force to re-use any already available line,
+       even if it is not empty. This way pasting text into our textbox in the
+       beginning for non empty lines should work fine.
+
+2009-09-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When we are inserting a flow of rtf text, and we are
+       *not* loading it from a file, try to re-use a line if already
+       available, since the default behaviour of the parser is to create new
+       lines for the document.
+       This should fix a regressions we found after the last fix for #513030.
+
+2009-09-14  Tom Hindle <tom_hindle@sil.org>
+
+       * ToolStripOverflow.cs: Fixes #536036 by adding null ptr check.
+
+2009-09-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Hide the splitter when the help is hidden.
+
+2009-09-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * InternalWindowManager.cs: Call Invalidate-Update instead of 
+       Refresh for MS compitability. Note also that Refresh is virtual 
+       and several controls override it in order to provide data refresh 
+       functionallity on top of the redraw and they do not expect this 
+       extra refresh call.
+       * Control.cs: In Refresh Invalidate the control and all children 
+       insead of calling Refresh for each of them.
+       [Fixes bug #538336]
+
+2009-09-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Always set the help panel properties on the 
+       internal control, because they are inherited and can change with 
+       the parent.
+       [Fixes bug #525305]
+
+2009-09-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When processing rtf, don't add a new line if we
+       already have one for that position. This way we avoid overriding by
+       mistake our lines when copying/pasting.
+       Fixes #513030.
+
+2009-09-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextControl.cs: When inserting new lines, look for the end of file
+       char, and remove chars after it. This is unlikely to happeng either
+       loading a file, pasting text or pressing a char, but can happen using
+       the TextBox.Text property.
+       Fixes #535884.
+
+2009-09-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Line.cs: In DeleteCharacters, cache line.Length for every tag, since
+       tag.Start changes will modify it indirectly and then we would end up
+       with wrong values.
+       Fixes #512521.
+
+2009-09-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: Implement support for chained data sources.
+       * ListBindingHelper.cs: Add support for ICurrencyManagerProvider and 
+       clean up.
+       [Fixes part of bug #536547]
+
+2009-09-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When saving the text to a file using SaveFile use
+       Environment.NewLine to separate the lines. This way we should be
+       saving the files according to the system.
+       Fixes the remaining part of #511515.
+
+2009-08-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichText.cs: Remove some unix new line characters and use
+       Environment.NewLine. Fixes part of #511515.
+
+2009-08-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBoxBase.cs: Modified should *not* be modified from the Text
+       property, as our new tests show. It should be to false, however, in
+       Append and Clear; and Paste, Cut, Undo, and direct user input should set it
+       to true. Also, as opposed to what the .net docs say -but proven by our
+       tests-, the changes should be generating a ModifiedChanged event
+       (thus we set the property, instead of the field).
+       Fixes #511267.
+
+2009-08-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fire the CellDoubleClicked event.
+       [Fixes bug #533430]
+
+2009-08-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Add support for column DataGridViewAutoSizeColumnMode
+       DisplayedCells and DisplayedCellsExceptHeader.
+       [Fixes bug #533435]
+
+2009-08-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextControl.cs: When removing a simple char, actually record the
+       action in the undo manager. This way we both support undoing the
+       removal of chars using backspace/delete, as well as keeping data
+       integrity when other undo tasks are performed.
+       Fixes #531983.
+
+2009-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: Remove the ancient code in ResetText, which was setting
+       the internal field to String.Empty, instead of doing it for our Text
+       property, as .net does (which also causes a TextChanged event and all
+       the other related routines).
+       Fixes #531587.
+
+2009-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNodeCollection.cs: Correctly implement Contains by using a
+       linear search - there's no possible way to use a binary search, since
+       the node instances are not implementing IComparable, nor have a
+       specific order.
+       Fixes #529927.
+
+2009-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: If we are *not* changing a row
+       already added to the source, and thus we are adding a new 
+       row instead, try to move to the previous row when Esc is
+       pressed -if possible-.
+       Fixes some bits of #322974.
+
+2009-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGridTextBoxColumn.cs:
+       * DataGrid.cs: Moving the cell to the add row (the last one) should
+       not immediately add a new row - this should happen until the very
+       first change happens in that textbox.
+       Fixes part of #322974.
+
+2009-08-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripDropDown.cs: When assigning the owner item, use its Font as
+       well.
+
+2009-08-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripItem.cs: When the owner changes its Font, call the
+       OnFontChanged event, so we let our users know that we likely have a
+       new font - since Font is an ambient property.
+       * ToolStripDropDownItem.cs: When our Font changes, propagate that
+       information to our DropDown control, if any.
+       Fixes #531515.
+
+2009-08-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: 
+       * ThemeWin32Classic.cs: When the user clicks on a new cell, we should reset any
+       previous selection, just like .net does. Also, in the cases where a
+       cell is being edited and it keeps the selected status, use the normal
+       colors for it, and use the selected colors for the rest of the columns of
+       that row.
+       Fixes the remaining bits of #323051.
+
+2009-08-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When getting ProcessKeyPreview fired, call Edit() if we
+       are not editing already - so the edition is actually active on our
+       column style textbox. Also, it seems the code handling process the
+       grid keys is repeated, but instead of removing it, just comment it for
+       now.
+       Fixes part of #323051.
+
+2009-08-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * AsyncMethodResult.cs: Store a exception field in case the called
+       method actually caused an exception. This way we can throw it later.
+       * XplatUIDriver.cs: Check if the async method result has an exception
+       - throw it if needed. 
+       The idea is that Control.Invoke throws the exception from the thread
+       that called it, not the main MWF thread. 
+       Patch by Tom Spink <tspink@gmail.com>. Fixes #497175.
+
+2009-08-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: In mouse move we need to shift the selection in case
+       the pointer is on the row headers.
+       Fixes #323052.
+
+2009-08-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * SplitContainer.cs: Avoid updating the splitter distance if it hasn't 
+       moved. Updating the distance was causing a re-layout which was resetting 
+       the clicks counter and preventing DoubleClick from every firing.
+       [Fixes bug #521387]
+
+2009-08-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When a new TableStyle is added, don't create new
+       columns for it unless it is empty - this is the correct way to both
+       respect the columns if they were provided by our user, or create them
+       for him in case the column collection is empty.
+       Fixes #323111.
+
+2009-08-10  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * DataGrid.cs: Actually call BindColumns in the handler for
+       ListManager.MetaDataChanged, since the current code is already taking
+       into account the scenario when a custom table style is used - this was
+       confusing us before, and that's why we commented the call to
+       BindColumns. Also call CallAreasAndInvalidate, to properly reflect the
+       changes as needed.
+       Fixes #465021.
+
+2009-08-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DataGrid.cs: When setting the data source, if we have a user
+       provided table style available, force a complete bind in case the
+       column styles for that table style is empty.
+
+2009-08-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: Handle null and DBNull values.
+
+2009-08-07 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * ListBindingHelper.cs: Fix the 1.0 build by making this type available
+       under that profile.
+
+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
+       scrollbar or not, specially for DropDownList/DropDown styles,
+       depending on the value of DropDownHeight.
+       Fixes #508541.
+
+2009-06-01  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ToolTip.cs: Call the base implementation in Dispose, but do it
+       before anything else to avoid a regression. This way we do the default
+       routines related to any System.ComponentModel.Container.
+       Fixes #508586.
+
+2009-06-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Clipboard.cs:
+       * XplatUIX11.cs:
+       * DataFormats.cs: Implement support for serializable types in our
+       clipboard.
+       Fixes #357642.
+
+2009-05-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColorDialog.cs: Actually add the help button to the form, so it can
+       be visible.
+       Fixes #478555.
+
+2009-05-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintPreviewDialog.cs: Don't use Dock.Fill for the
+       PrintPreviewControl, since it will be hidden in the top by our
+       toolbar. Use manual location and anchoring instead.
+       Fixes #474889.
+
+2009-05-25  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * FileDialog.cs: When saving the size of the dialog, use the
+       ClientSize instead of Size, so we have always the same size for the
+       form. Patch by Alex Shulgin.
+       Fixes #503064.
+
+2009-05-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MessageBox.cs: When showing the dialog call XplatUI.AudibleAlert to
+       show a beep, similar to what .net does. 
+       Fixes #473725.
+
+2009-05-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ContainerControl.cs:
+       * MenuStrip.cs
+       * ToolStrip.cs: Implicit mnemonic processing should happen for every
+       ToolStrip child, not only for MenuStrip, so we are going to do that in
+       ToolStrip.ProcessMnemonic, where we already had that exactly
+       functionality, but we are only just checking that either this instance
+       is a ToolStripDropDownMenu instance or Alt has been pressed. Finally
+       remove the extra code, since we are not going to use it now.
+       Fixes the remaining bits of #503663.
+
+2009-05-21  Neville Gao  <nevillegao@gmail.com>
+
+       * ContextMenu.cs: Cleaned up UIA properties.
+
+2009-05-20  Dick Porter  <dick@acm.org>
+
+       * XplatUICarbon.cs: Add more locking around MessageQueue
+       manipulations.
+
+2009-05-18  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * DateTimePicker.cs: Call Focus in HideMonthCalendar to avoid
+       duplication of code, as well as actually getting the focus back in
+       *any* scenario where the drop down is closed.
+
+2009-05-18 Tom Hindle <tom_hindle@sil.org>
+       * ScrollableControl.cs: Ignore setting properties HScroll and 
+       VScroll when AutoScroll is true.
+       [Fixes bug #500213]
+
+2009-05-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripRenderer.cs: Apply patch from Thomas Goldstein to make
+       disabled graphics look closer to the ones that .Net produces.
+       [Fixes bug #473660]
+
+2009-05-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: When calculating the max width for the year part,
+       use the current value, since *all* the possible values are exactly a 4
+       digits number. This way we avoid a ArgumentOutOfRangeException trying
+       to check against different values.
+       Fixes #500917.
+
+2009-05-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MessageBox.cs: When handling ProcessDialogChar, check that
+       CancelButton is not null before trying to use it, to avoid a null ref
+       exception. We don't need to do that on the ok/yes buttons, since they
+       always exist.
+       Fixes #503935.
+
+2009-05-15  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListBox.cs: Handle the key down event in WndProc instead of doing it
+       in an event handler, as we need to avoid any operation in case
+       the user has handled it in its own OnKeyDown handler, and this can't
+       be achieved since our handler would be the first one always.
+       * FontDialog.cs: Update the calls since our method handling key down
+       has been renamed.
+       Fixes #503469.
+
+2009-05-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Application.cs: We should dismiss the active ToolStrip when we
+       receive a WM_SYSKEYDOWN message, instead of WM_SYSKEYUP, so the next
+       keyboard short cut can be properly processed by another menu item.
+       Fixes part of #503663.
+
+2009-05-13  Andreia Gaita  <avidigal@novell.com>
+
+       * HtmlDocument.cs: If the objects are strings, wrap them in ""
+
+2009-05-13  Andreia Gaita  <avidigal@novell.com>
+
+       * HtmlDocument.cs: Fix InvokeScript call (duh).
+
+2009-05-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Expose IsAutoCompleteAvailable as internal.
+       * ComboBox.cs: If auto complete is being used, it is needed to update
+       the actual value of the combo box, doing it immediately if the user
+       presses Enter, or doing it when our combo box loses focus. Finally,
+       when handling Enter and Escape keys for the combobox, don't try to
+       hide the listbox if it is not visible in the first place. 
+       Fixes part of #489339.
+
+2009-05-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripDropDownMenu.cs: Use the height returned by
+       ToolStripItem.GetPreferredHeight to calculate our own height.
+
+2009-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * TreeNode.cs: When setting Checked, do a double null check, since the
+       current node can still get a null parent handling
+       TreeView.OnAfterCheck.
+       Fixes #502567.
+
+2009-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: When assigning ContextMenu, do a null check before
+       assigning its container field.
+
+2009-05-08  Brad Taylor  <brad@getcoded.net>
+
+       * DateTimePicker.cs: Add a UIA-specific property to ensure that if
+       is_checkbox_checked is changed, we won't break.
+
+2009-05-08  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolStripItem.cs: Prevent NRE when our holder is a
+       ToolStripDropDownButton and we get Select()ed.
+
+2009-05-08  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ToolStripControlHost.cs: DefaultSize must return the current size of
+       the Control, not the value returned by GetPreferredSize. Also connect
+       a handle to the control Resize event, and use it to fire
+       OnHostedControlReize.
+       Fixes the remaining bits of #483146.
+
+2009-05-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripDropDown.cs: When performing the layout, use
+       ToolStripItem.GetPreferredSize ().Height instead of
+       ToolStripItem.Height, since we are already using it that way in this
+       same method.
+       Fixes part of ##483146.
+
+2009-05-08  Brad Taylor  <brad@getcoded.net>
+
+       * DateTimePicker.cs: Wrap UIA specific code in NET_2_0 wrappers.  Send
+       OnUIASelectionChanged when ShowCheckbox is true and the checkbox
+       recieves focus.  Part of fix for #502029.
+
+2009-05-06  Mike Gorse  <mgorse@novell.com>
+
+       * FileDialog.cs: Add UIAFocusedItemChanged to PopupButtonPanel.
+       Add PerformClick and PerformDoubleClick to PopupButton.
+       Fixes #499851.
+
+2009-05-04  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * TabControl.cs: call Focus() to emit GotFocus event at the
+       proper time when SelectionIndex changes. Fixes #499887.
+
+2009-05-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: In SetBoundsCore always do the bounds check to
+       have valid values, even if BoundSpecified is not including
+       Size/Height/Width - this is useful when we are in a control using Dock
+       or Anchor.
+       Fixes part of #483146.
+
+2009-04-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When losing the focus, if our textbox is not null,
+       close its auto complete list, if any.
+       Fixes part of #489339.
+
+2009-04-27  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ListView.cs: Make OnColumnClick +internal to be used by a11y.
+
+2009-04-27  Brad Taylor  <brad@getcoded.net>
+
+       * ToolStripButton.cs: Emit an internal event when CheckOnClick is
+       changed.
+
+2009-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * XplatUIX11.cs: Properly support UTF8 when handling the
+       SelectionRequest event - this is helpful supporting some window
+       managers, such KDE, that explictly request the text in utf8, as
+       opposed to gnome, that supports ascii.
+       Fixes #489393.
+
+2009-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripDropDownItem.cs: When assigning a new
+       ToolStripDropDownMenu, let it know we are its OwnerItem. This way the
+       Capture duties performed by Application/ToolStripManager are handled
+       nicely and we don't end up in an inconsisten stat.
+       Fixes #492815.
+
+2009-04-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStrip.cs: Even if we are not exactly a MenuStrip instance, close
+       any ToolStripDropDownItem when receiving a mouse down event in an
+       empty area.
+
+2009-04-24  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: add UIA events for style and dropdownmenu changes.
+
+2009-04-24  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: rename a method to include UIA prefix.
+
+2009-04-24  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: change visibility of some UIA methods from
+       protected virtual to private.
+
+2009-04-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolStripDropDown.cs: In OnVisibleChanged, if we have an OwnerItem,
+       fire OnDropDownOpened/OnDropDownClosed depending on the new
+       visibility. This also ensures that any direct access to this instance
+       will fire the mentioned events for the OwnerItem.
+       * ToolStripDropDownItem.cs: Remove the invocations to
+       OnDropDownOpened/OnDropDownClosed, since they are handled in
+       ToolStripDropDown, as well as updating the
+       OnDropDownHide/OnDropDownShow calls to be in the right order.
+       Fixes #496193.
+
+2009-04-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs, ContextMenuStrip.cs, ToolStripMenuItem.cs: Only process any 
+       shortchut in ToolStripMenuItem.ProcessCmdKey if the control generating the 
+       event is the same as the owner of the menu item. Also set properly 
+       SourceControl for ContextMenuStrip, as well as add an internal field to 
+       contain the control that owns the ContextMenuStrip (we need to know this 
+       even before the public property is assigned).
+       Fixes bits of #393775.
+
+2009-04-20  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * StatusStrip.cs: Use the same icon as .net when the mouse is over the
+       size grip.
+       Fixes #492828.
+
+2009-04-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When calculating the height of the ComboListBox,
+       specially for the 2.0 profile, use MaxDropDownItems if the
+       DropDownHeight property hasn't been set, and use the later if it has
+       been set. This way we support both properties.
+       Fixes #493308.
+
+2009-04-14  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ThreadExceptionDialog.cs: Draw the error icon, previously missing.
+       Fixes #474253.
+
+2009-04-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ContainerControl.cs: Implement support for Control.CausesValidation,
+       by adding a pending list of controls to be validated in the top
+       container control, and postpone validation as needed. 
+       Also remove any control in the validation chain in case it gets removed 
+       from its owner before the pending validation actually happens.
+       Fixes #457170.
+
+2009-04-09  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListBox.cs: The default instance StringFormat field used to draw our
+       items should use the StringFormatFlags.NoWrap value, so it doesn't try
+       to put in a different line the text that doesn't fit our bounds, but
+       show it partially.
+       Fixes #475581.
+
+2009-04-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * CheckedListbox.cs: When executing OnItemClick check that the index
+       is different to -1 before trying to retrieve an item using that value.
+       Fixes a ArgumentOutOfRangeException thrown when the horizontal
+       scrollbar was visible but not needed, and then a clicked was received
+       on its area.
+
+2009-04-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: If Insert is pressed, change the internal
+       overwrite mode for our default value.
+       Fixes some bits of #477395.
+
+2009-04-06  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: In EnsureVisible avoid any direct access to items if we
+       are using virtual mode - otherwise use the bounds stored in a specific
+       item in a given index. This is specially important when using groups
+       or when items are re-arranged, since the position in the items
+       collection can be different than that one being displayed.
+       Fixes the rest of ##491978.
+
+2009-04-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: Include the previous check for ListView in a
+       2.0 define as needed.
+
+2009-04-06  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ThemeWin32Classic.cs: Don't draw ListView's gridlines if we are using groups.
+       Fixes part of #491978.
+
+2009-04-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ToolTip.cs: New fields to store the title/icon information.
+       * ThemeWin32Classic.cs: Implement support for tooltip's title and
+       icon.
+       Fixes #491978.
+
+2009-04-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When removing a tab that was previously selected, set
+       internally the value of selected_index to -1, to avoid trying to
+       access the previous one when trying to set the new one (and was
+       already removed from the collection). This is what .net seems to do
+       too.
+       Fixes #490937.
+
+2009-04-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs, X11Clipboard.cs: Text and Rtf formats must be
+       separated, and we cannot fallback on Text if Rtf is requested but not
+       present.
+       * Clipboard.cs: Actually use the format specified by our user when
+       putting data.
+
+2009-03-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Clipboard.cs: Actually look for the RtfText format when calling
+       GetRftText in our clipboard formats list, instead of using the
+       generical Text format.
+
+2009-03-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Process auto completion properly when we are using the
+       internal source provided by ComboBox, and also remove some repeated
+       checks.
+       Fixes #489339.
+
+2009-03-30 Tom Hindle <tom-hindle@sil.org>
+       
+       * DataGridView added Support for Invisible Columns to 
+       AutoFillColumnsInternal method.
+
+2009-03-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Structs:
+       * X11Clipboard.cs: Move internal ClipboardStruct from X11Structs to
+       its own file, since it is adding some functionality and thus is not a
+       simple struct as before.
+       * XplatUIX11.cs: Add support to store different formats that could
+       have been specified by the user when puting data in the Clipboard -
+       this is important when more than one format is supported (such plain
+       text and rtf text). Update in the needed places, as well as simplify
+       the code.
+       Fixes #489625.
+
+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.
+
+2009-02-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: Use strict equality comparison in order to 
+       prevent superfluous CellValueChanged events.
+
+2009-02-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not reset the columns when the data list changes, 
+       but only the rows. Fixes multiple bugs related to sorting, custom 
+       column styles being reset and more.
+
+2009-02-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Respect a PictureBox's Padding when
+       drawing the image.
+
+2009-02-18  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: Oops, use the correct event (fix r127298).
+
+2009-02-17  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: Event for Enabled property (needed to fix
+         UIA #474197).
+
+2009-02-16  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * TextBox.cs: When handling WndProc with autocomplete activated,
+       event if the new text is not causing any change in the look up
+       algorithm, save it as we normally do when numbers and letters.
+       Fixes #469967.
+
+2009-02-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: When Text/StateImageIndex/StateImageKey/NodeFont change
+       Invalidate the proper bounds in the TreeView, not only resetting the
+       width.
+       Fixes #475542.
+
+2009-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: Don't return TreeView.BackColor when retrieving our own
+       BackColor property. This is what .net does in both 1.1 and 2.0.
+       * TreeView.cs: When selected_node is not the same as highlighted_node,
+       we need to handle the back color in a different way, trying to use the
+       node's BackColor if it's not Color.Empty.
+       Fixes #464200.
+
+2009-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When canceling selection in our MouseUp handler,
+       invalidate also the previous selected node bounds.
+       Fixes #464191.
+
+2009-02-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: End or if end fails then cancel the current edit 
+       operation before clearing the data source.
+
+2009-02-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Data-bind only after the handle is created.
+       [Fixes bug #473680]
+
+2009-02-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When handling the MouseMove event, check if
+       focused_node and selected_node fields are null - usually they are non
+       null, since we have always a selected node, but canceling selection by
+       handling BeforeSelect event leaves the two of them as null.
+       Fixes #470451.
+
+2009-02-06  Neville Gao  <nevillegao@gmail.com>
+
+       * TabControl.cs: Control enabled to support accessibility.
+       [Fixes Bug #472428]
+
+2009-02-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewRowCollection.cs, DataGridView.cs: Fix row insertation: 
+          - Use ArrayList.Insert instead of the Item property so that the item 
+          is actually inserted and not an existing item replaced.
+          - Call DataGridView.OnRowsAddedInternal and drop internal from 
+          OnRowsAdded for binary compitability. This also fixes several 
+          redrawing issues.
+       [Fixes bug #472968]
+
+2009-02-05  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: Doh, fire OnUIATextChanged *after* setting
+         the value.
+
+2009-02-04  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton.cs: Add another event (OnUIATextChanged).
+
+2009-02-04  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBarButton: Fix typo in previous commit (r125704).
+
+2009-02-04  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBar.cs, ToolBarButton.cs: Add new UIA events to know
+       when a button gets focus, firing the events from the ToolBar.
+       r: jpobst
+
+2009-02-04  Mario Carrion  <mcarrion@novell.com>
+
+       * ColumnHeader.cs: Raising ListView.ColumnWidthChanged when setting 
+       Width.
+       * ListView.cs: Internal method added: RaiseColumnWidthChanged, used by
+       ColumnHeader to raise ColumnWidthChanged.
+       [Fixes Bug #467086]
+
+2009-02-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewRowCollection.cs, DataGridView.cs: Move row completion 
+       code in the row collection code, so that the completion happens before 
+       the CollectionChanged event, also better encapsulation.
+       [Fixes bug #471987]
+
+2009-02-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: When editing is finished do not remove the editing 
+       row, because it has already become a real one. Instead add a new one.
+       [Fixes bug #471754]
+
+2009-02-02  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * TreeView.cs: When drawing the node's image, check that the index
+       specified by the node is valid for the ImageList.
+       Fixes #471094.
+
+2009-02-02  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ToolBar.cs: Add new UIAPerformClick method to be called by
+       UIAutomationWinforms when someone calls Invoke() on the
+       ToolBarButtonProvider. r: jpobst
+
+2009-02-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Don't send a WM_SHOWWINDOW message when receiving
+       MapNotify/UnmapNotify events - we are already firing those events in
+       the proper places, so we avoid this way to send the same message two
+       times. I'm leaving the handling code in case we could break something
+       in the future, as this change seems dangerous (but needed).
+       Fixes #467546.
+
+2009-02-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Complete incomplete rows when they are added to 
+       the grid.
+       [Fixes bug #471068]
+
+2009-02-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewColumnCollection.cs: Ensure that the 
+       binding is cleared prior to setting it to null. Fixes a regression 
+       causing exceptions when the DataSource is set to null and then set 
+       again to a data source.
+
+2009-02-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewImageColumn.cs, DataGridViewCell.cs: 
+          - Make Image/Bitmap cells work.
+          - Handle images with size greater than the cell.
+          - Default to MiddleCenter alignment for image cells.
+       [Fixes bug #471101]
+
+2009-01-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * UpDownBase.cs: Force Height to PreferredHeight.
+
+2009-01-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: We should use utf8 handling clipboard transference
+       with other x11 applications, and use utf16 when handling clipboard
+       data in the class library. Update the related points as well.
+       Fixes #468683.
+
+2009-01-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: Format strings according to the supplied 
+       CellStyle.Format.
+       [Fixes bug #470384]
+
+2009-01-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Reset the hover cell if it gets moved due to row(s) 
+       addition or removal. Fixes multiple crashes in OnMouseMove.
+
+2009-01-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix a NRE when setting the CurrentCell to null.
+
+2009-01-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Fire Timer.Tick even if there is no MainForm for the 
+       current context.
+       [Fixes bug #469239]
+
+2009-01-26  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs: fix initial value of ScrollbarsEnabled, so they
+       won't be disabled by default.
+       Fixes #468690
+
+2009-01-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not clear the rows if we are not databound.
+
+2009-01-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not be too smart about selecting the first cell 
+       when the first row is added as this is not what MS does. Fixes the 
+       failing unit tests.
+
+2009-01-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: NextVisibleNode and PrevVisibleNode properties don't
+       take into account the fact that OpenTreeNodeEnumerator needs to call
+       MoveNext/MovePrevious to actually put the passed node as the one
+       retrieved in Current. This way this property should work as really
+       expected in .net.
+       Fixes part of #467225.
+
+2000-01-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When calculating the scrollbars, don't use
+       TreeNode.Bounds, since it still can have the values of the previous
+       -and now invalid- layout -which depends on TreeView.skipped_nodes, and
+       could not have been updated as well-, and use the actual number of
+       visible number of nodes to compute the height needed to contain all
+       the nodes. Also reset the value of vbar to 0 when disabled - this way
+       we make sure that, when re-enabled, it will update the visible area of
+       the treeview, even if the previous value before disabling it is the
+       same as now. Finally don't do anything for the vbar.ValueChanged
+       handler - for the case wheer we manually set the value but don't the
+       vbar is disabled already.
+       Fixes part of #467225.
+
+2009-01-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Switch from foreach to for, in case the collection
+       somehow changes while enumerating it.
+
+2009-01-23  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewCell.cs: Fix crashes when there is no 
+       editing control.
+
+2009-01-23  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix new row adding/editing in the non-databound 
+       scenario.
+
+2009-01-21  Mike Gorse  <mgorse@novell.com>
+
+       * TrackBar.cs: Make LargeIncrement/Decrement internal so that UIA can
+         use them.
+         Added UIAValueParamChangedEvent.
+
+2009-01-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: In CollapseAll, set vbar to the maximum value, instead
+       of trying to set as top node the highest parent of the previous top
+       node. Moving to the bottom of the TreeView after a call to CollapseAll
+       is exactly what .net does. This should avoid some nasty issue when
+       CollapseAll is called and we don't need the vertical scroll bar.
+
+2009-01-21  Mario Carrion <mcarrion@novell.com>
+
+       * Form.cs: UIA Support: Internal events added: UIAWindowStateChanged
+       and UIATopMostChanged.
+
+2009-01-21  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * MenuItem.cs: Add UIACheckChanged, UIARadioCheckChanged,
+       UIAEnabledChanged, and UIATextChanged events.
+
+       * Form.cs: Add UIAMenuChanged event.
+
+       * Menu.cs:
+       * MenuAPI.cs: Note which internal APIs are being used by UIA.
+
+2009-01-21  Neville Gao  <nevillegao@gmail.com>
+
+       * ToolBar.cs: Control enabled to support accessibility.
+       [Fixes Bug #455950]
+
+2009-01-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When handling mouse up event, check whether
+       highlighted_node is null or not - usually it should be non-null
+       alwaays, since the mouse down handler sets it, but some externa
+       operations, such TreeNodeCollection.Clear, could set it to null.
+       Fixes #438650.
+
+2009-01-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ThemeWin32Classic.cs: Draw the menu item shortcut even if the menu 
+       item is disabled.
+
+2009-01-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * MenuAPI.cs: Do not handle shortcuts if the menu item is disabled.
+       [Fixes bug #467285]
+
+2009-01-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: When handling the selection changes using the
+       mouse, don't set SelectionRange if the selection range didn't actually
+       change. This matters because, even if we set the range to the same
+       previous range, an extra DateChanged event is fired. Just to be clear:
+       SelectionRage property doesn't check whether the new value is
+       different to the previous one (by ref equals doesn't work here).
+       Fixes other bits of #364914.
+
+2009-01-19  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MonthCalendar.cs: Remove the extra OnDateChanged call when handling
+       selection using the keyboard, since we are already firing this event
+       when setting SelectionRange. Also don't set SelectionRange if the
+       previous and the new value are the same (the property, just as .net
+       does, doesn't check whether the previous value and the new one are the
+       same). This saves us from firing OnDateChanged event if the selection
+       range didn't change actually.
+       Fixes the remaining bits of #364914.
+
+2009-01-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When removing an item and the last item is selected,
+       remove it from the selection, and if selection mode is One try to
+       select the new last item.
+       Fixes #465422.
+
+2009-01-16  Mike Gorse  <mgorse@novell.com>
+
+       * Splitter.cs: Make MaxSize internal so that UIA code can use it.
+
+2009-01-16  Mario Carrion <mcarrion@novell.com>
+
+       * ColumnHeader.cs: UIA Support: raising internal event UIATextChanged 
+       when changing Text. 
+
+2009-01-16  Carlos Alberto Cortez <calberto.cortez@ggmail.com>
+
+       * X11Structs.cs:
+       * XplatUIX11.cs: Properly encode/decode the unicode strings we
+       store/retrieve in the Clipboard. Also, since we try to convert the
+       data to different formats, separate the source and the result of
+       it, so we can always fallback to the original and don't mix wrong
+       conversions.
+
+2009-01-16  Mike Gorse  <mgorse@novell.com>
+
+       * TextControl.cs: Add UIASelectionChanged event.
+
+2009-01-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Forward the first key events to the editing control.
+       [Fixes bug #457307]
+
+2009-01-14  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * Application.cs: Oops, launch the copied handler of PreRun instead of
+       the global one (gendarme would bark otherwise). (Improving r123375)
+
+2009-01-14  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * XplatUI.cs:
+       * Application.cs: Move the PreRun event fire to the end of the XplatUI
+       static ctor (we don't move the PreRun event to this class because its
+       usage would cause the call to the static ctor). This way we can get
+       a11y support for dialogs that run without App.Run.
+
+2009-01-14  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * ListView.cs: New internal property to know the inner array's length of
+       the location of items, in order to avoid a try-catch strategy for the
+       case when this array has not been resized yet (for reference, look at
+       r123288). r: jpobst
+
+2009-01-13  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * Application.cs: Simplify UIA initialization, reducing it from 4 to 1
+       reflection calls. This requires UIAutomationWinforms r123213.
+
+2009-01-12  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MonthCalendar.cs: Detect selection changes in MouseDown/MouseMove
+       handlers and fire the DateSelected event until MouseUp is reached,
+       like .net does, instead of firing it for each mouse event.
+       Fixes part of #364914.
+
+2009-01-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When the selection gets canceled using the BeforeSelect
+       event, invalidate the previous highlighted_node bounds, to show the
+       user that the item was *not* selected.
+       Fixes #464191.
+
+2009-01-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Separate some scroll logic: setting SelectedIndex, as
+       well as -in DropDown and Simple modes- writing in the textbox should
+       try to set the requested item as the top one, but navigating with the
+       keyboard and handling mouse selection don't need that behaviour. Also,
+       when resetting selected_index handling key press events, reset
+       ComboListBox.HighlightIndex. 
+       Fixes the remaining bits of #464188.
+
+2009-01-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix crashes when shortcut keys are pressed, but 
+       there are no cells:
+          - CurrentCellAddress should be -1, -1 and not 0, 0.
+          - Be tolerant and fall back to clearing the current cell if either 
+          column or row is -1 in MoveCurrentCell.
+          - Misc. more -1 checks.
+
+2009-01-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Preserve the column index. Fixes a regression 
+       introduced by the data binding position tracking code.
+
+2009-01-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: If the bottom of the row matches the client height 
+       do not regard the row as partially visible. Fixes the weird scrolling 
+       when there is no scrollbar.
+
+2009-01-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewComboBoxCell.cs: Implement/Fix the data binding.
+
+2009-01-09  Mario Carrion  <mcarrion@novell.com>
+
+       * MessageBox.cs: Fixed internal UIAIconRectangle property.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCheckBoxCell.cs: Respect the ReadOnly state of the Cell.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Track the Position in the CurrencyManager.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Implement data-bound new item editing/addition.
+       * DataGridViewRowCollection.cs: Make it possible for us to internally 
+       remove the edit row.
+       [Fixes bugs #457107, #457308, #325240]
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: Even if Position is set to a greater value than the 
+       list count reset it to position of the last item.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: AddNew doesn't set index/add_pending for IBindingList. 
+       Fix that in order to make CancelNew to work.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: When adding a new item try to delegate to the internal 
+       list first before throwing an exception.
+
+2009-01-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When setting the text and adjusting the top_item, do it
+       *only* if the current item is *not* visible already.
+       Fixes part of #464188.
+
+2009-01-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Requesting the CurrencyManager for the first time can 
+       lead to unexpected OnBindingContextChanged calls and recursive rebinding. 
+       Fix that.
+       [Fixes bug #464493]
+
+2009-01-08  Brad Taylor  <brad@getcoded.net>
+
+       * ComboBox.cs: Expose a few private fields as internal UIA properties.
+
+2009-01-07  Mario Carrion <mcarrion@novell.com>
+       
+       * DataGrid.cs: CWL removed.
+
+2009-01-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RadioButton.cs: When setting Checked, we should first update the
+       check state of the current RadioButton, as well as invalidating it,
+       and after that actually update the siblings. This is done to match
+       .net.
+       Fixes the remaining bits of #463028.
+
+2009-01-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RadioButton.cs: Setting Checked to false should set TabStop to stop
+       as well. Also, when we get the focus and no other RadioButton is
+       selected in the parent control, we should mark ourselves as Checked.
+       Fixes part of #463028.
+
+2009-01-05  Mario Carrion <mcarrion@novell.com>
+
+       * DataGrid.cs: UIA suppport. internal events: 
+       UIAGridCellChanged, UIAColumnsHeadersVisibleChanged, 
+       UIASelectionChanged, UIACollectionChanged. Internal properties: 
+       UIARowHeight, UIACellsArea, UIACaptionArea, 
+       UIAColumnHeadersArea, UIASelectedRows, UIACurrentTableStyle, 
+       UIAVScrollBar and UIAHScrollBar.
+
+2009-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitStackLayout.cs: Enable the overflow button if any
+       of the buttons are set to Overflow = Always.
+       [Fixes bug #463013]
+
+2009-01-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingNavigator.cs: Properly enable/disable the toolstrip buttons,
+       based on whether the binding source is availble or not. Fixes #463008.
+
+2009-01-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs: We should return a value even if we are not bound 
+       to a DataGridView.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs, DataGrid.cs: 
+          - Rename CanAddRows to AllowNew. The CurrencyManager has no 
+          concept of "rows".
+          - Add two more internal properties AllowRemove and AllowEdit.
+       * DataGridView.cs: Refactor in a data-bound situation AllowUserToAddRows, 
+       AllowUserToDeleteRows and cell ReadOnly state to be also checked against the 
+       CurrencyManager data source.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix crashes caused by assigning negative values to 
+       ScrollBar.LargeIncrement when the ClientSize.Width/Height is less than 
+       the column/row heights/widths.
+       [Fixes bug #462684]
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Non-autogenerated columns that have a data property 
+       set that exists in the current datasource should be set to be data-bound.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix column sorting for columns containing null 
+       values. A "null" value is not always "null" (e.g could be String.Empty) 
+       and thus parsing numeric types throwed an exception for "null" values.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Detach the editing control when the edit is 
+       finished.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Multiple fixes to handle last column/row removal 
+       and cell movement after that instead of throwing exceptions.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCellCollection.cs: When cells are removed the column 
+       indices become invalid if the cell is not the last one and have to 
+       be refreshed.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Return false in CommitEdit if there was an error.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Remove a leftover Console.WriteLine.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewRow.cs: Access the indexer of the data manager directly 
+       instead of the internal list.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCell.cs, DataGridView.cs, DataGridViewCheckBoxCell.cs: 
+       Rewrite the value getting, setting, parsing, formatting logic:
+          - If data-bound value get/set should actually get and set from the 
+            data source.
+          - Make proper usage of TypeConverters for value parsing/formatting.
+          - Raise DataError if setting the new value fails.
+          - Get rid off the internal valueType field and get/set the ValueType 
+          property instead.
+       [Fixes bug #462051]
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Rewrite the DataBinding layer:
+          - Get rid off all BindingSource/IBindingList/DataSet/DataTable 
+          specific code.
+          - Get rid off the per DataSource type column autogeneration code.
+          - Use the CurrencyManager for everything that is DataBinding related.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: Do not fire duplicate ListChanged events.
+
+2008-12-31  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewRow.cs: Add a new internal property 
+       DataManager to fetch the CurrencyManager for the DataGridView and to 
+       spare this logic for the other components to follow.
+
+2008-12-31  Mario Carrion  <mcarrion@novell.com>
+
+       * MessageBox.cs: UIA support: new properties: UIAMessage, 
+       UIAMessageRectangle and UIAIconRectangle.
+
+2008-12-31  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * FileDialog.cs: Add PopupButtonPanel.PopupButton.PerformClick method
+       and DirComboBox.DirComboBoxItem.ToString override for UIA support.
+
+2008-12-31  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not autogenerate duplicate column for a 
+       data member that has already problematically been assigned one.
+       [Fixes bug #457305]
+
+2008-12-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ProfessionalColorTable.cs: Better detection of user's theme.
+       [Fixes bug #462766]
+
+2008-12-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: In the case where there are no autogenerated 
+       columns and the user adds columns problematically we must generate 
+       the rows after the very first column is added.
+
+2008-12-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: When increasing/decreasing the value of month
+       with ShowUpDown set to true, moving from december to january, and
+       moving from january to december should adjust the year to the next and
+       the previous year, respectively.
+       Fixes the remaining bits of #459674.
+
+2008-12-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: If a new cell is selected edit mode should be 
+       immediately enabled only if EditOnEnter is set. Whether the mouse 
+       or not was used to select the cell is irrelevant.
+
+2008-12-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Remove a bogus ReBind call, which was causing 
+       recursive rebinding.
+
+2008-12-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: Handle the "MMMM" month format.
+       Fixes #459674.
+
+2008-12-23  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: 
+          - Make ReBind private and refactor various calls to call ReBind 
+          instead of ClearBinding/DoBinding
+          - Rebind when the column collection changes
+       * DataGridViewColumnCollection.cs: 
+          - Leave the rebinding on change to be handled by the DataGridView.
+
+2008-12-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Add a ReBind convenience method.
+       * DataGridViewColumnCollection.cs: Rebind when a column is added.
+       [Fixes bug #462019]
+
+2008-12-23  Neville Gao  <nevillegao@gmail.com>
+
+       * StatusBar.cs: Modified argument variable.
+       * SplitContainer.cs: Control enabled to support accessibility.
+       [Fixes Bug #455950]
+
+2008-12-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Guard against an NRE.
+       [Fixes bug #457110]
+
+2008-12-22  Mario Carrion  <mcarrion@novell.com>
+
+       * Control.cs: AccessibleXXXX properties don't return 
+       AccessibleObject.XXXX, instead a local referece is returned.
+
+2008-12-22  Neville Gao  <nevillegao@gmail.com>
+
+       * PrintPreviewControl.cs: Added internal properties to support
+       accessibility.
+       [Fixes Bug #459699]
+
+2008-12-19  Mario Carrion  <mcarrion@novell.com>
+
+       * Control.cs: Reverted r121561. 
+
+2008-12-19  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * X11DesktopColors.cs: Since r121873 we don't need gtk a11y checks here,
+       it has been moved to the bridge.
+
+2008-12-18  Brad Taylor  <brad@getcoded.net>
+
+       * DateTimePicker.cs: Add a few UIA specific events, and a couple
+       internal methods useful for UIA.
+
+2008-12-18  Mario Carrion <mcarrion@novell.com>
+
+       * ListBox.cs: Fixed GetItemRectangle when MultiColumn is true.
+       [Fixes Bug #455752]
+
+2008-12-17  Mike Gorse  <mgorse@novell.com>
+
+       * ListView.cs, ListViewItem.cs: Send OnUIAFocusedItemChanged if an
+         item's Focused property is set.
+
+2008-12-17  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * TreeView.cs:
+       * TreeNode.cs:
+       * TreeNodeCollection.cs: Add events for UIA support:
+       UIACheckBoxesChanged, UIALabelEditChanged, UIANodeTextChanged, and
+       UIACollectionChanged.
+
+2008-12-17  Bill Holmes  <billholmes54@gmail.com>
+
+       * ListViewItem.cs (ListViewSubItem.ctor): Initalizing the 
+         SubItemStyle member field. 
+
+       Contributed under MIT/X11 license.
+
+2008-12-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: In MultiColumn mode don't use top_index to calculate the
+       y coord, since it's useless in this case, and we need to rely only on
+       the number of rows and ItemHeight to compute this value.
+       Fixes part of #257471.
+
+2008-12-15  Mike Gorse  <mgorse@novell.com>
+
+       * StatusBar.cs: Send OnUIACollectionChanged in Remove().
+
+2008-12-15  Mario Carrion  <mcarrion@novell.com>
+
+       * Control.cs: Accessibility properties instantiate AccessibilityObject when
+       needed.
+       [Fixes Bug #459223]
+
+2008-12-15  Brad Taylor  <brad@getcoded.net>
+
+       * ToolStripItem.cs: Add a UIA specific event for listening for when a
+       ToolStripItem becomes selected or deselected.
+
+2008-12-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: Select the date in MouseDown, not in MouseUp, as
+       .net does. Use the date in the point of the mouse move coords as the
+       new range as well, if the left button of the mouse is being pressed.
+       Fixes #364914.
+
+2008-12-12  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * MonthCalendar.cs: When modifying either AnnuallyBoldedDates,
+       MonthlyBoldedDates or BoldedDates call UpdateBoldedDates, to
+       effectively repaint the control.
+       Fixes the remaining bits of #417961.
+
+2008-12-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: When setting MaxDate/MinDate, adjust the selected
+       range to contain only dates within the new possible range.
+       Fixes part of #417961.
+
+2008-12-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MaskedTextBox.cs: MaskedTextService.Replace doesn't expect the
+       length of the text, but the end position, so we need to substract 1 to
+       have a valid value. Also, in the same InputText method, don't use
+       SelectionLength as the length of the text, since the selected text
+       could actually be empty, but we need to set the value anyway.
+       Fixes #457370.
+
+2008-12-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Don't do any auto complete task if the custom source is
+       null or empty. Also avoid duplication of code.
+       Fixes #457743.
+
+2008-12-09  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Refresh column sizes when new rows are added.
+       [Fixes bug #457050]
+
+2008-12-09  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+       * RichTextBox.cs: When parsing the contents of a rtf file, don't call
+       Split to create a line - we are already doing this, by _adding_ a new
+       one when rtf_cursor_x is 0 (this field gets this value just after we
+       receive the newline param as true). This avoids having a proportional number
+       of empty lines in the end of the rich text box.
+       Fixes #396664.
+
+2008-12-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RichTextBox.cs: When saving the contents as a plain text, don't add
+       a new line for every Line structure, since the data in Document
+       already contains the new line characters. This avoids duplicated new
+       lines using the Save methods.
+       Fixes #445618.
+
+2008-12-09  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * TreeView.cs: Expose ScrollBars as internal properties, for use by UIA
+       framework.  Fixes bug #457678.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewRow.cs: Prevent an exception on a not yet databound grid, 
+       where datasource is null.
+       [Fixes exception reported in bug 441240]
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: EndEdit validation fixes.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: This is the cool patch that adds support for 
+       actually updating the data in the databinding backend after editing. 
+       With bonus firing and handling the DataError event.
+
+2008-12-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Line.cs: When calculating the text tags's Shift value, store it as
+       pixels instead of points. This way we can actually handle different
+       fonts in the same RichTextBox, as well as the right size of the caret.
+       Fixes part of #351938.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewCheckBoxCell.cs: Fix to make it work. Wrong value was 
+       casted to CheckState causing InvalidCastExceptions.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix the DataGridViewEditMode.EditOnEnter behavior 
+       to not depend on the item being clicked.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Implement NotifyCurrentCellDirty, so that it no 
+       longer throws a NotImplementedException.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Set EditingControlFormattedValue when preparing an 
+       IDataGridViewEditingControl for editing.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewComboBoxCell.cs: Implement data binding support.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Use the CurrencyManager to update the data source 
+       binding position instead of casting the data sourcde to BindingSource.
+       This enables position updating for other type of data sources.
+
+2008-12-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ComboBox.cs: Update the SelectedIndex before updating the Text 
+       in OnDisplayMemberChanged.
+
+2008-12-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix our support for IDataGridViewEditingControl.
+       [Fixes bug #457112]
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Sorting fixes:
+          - Be strict when sorting is enabled.
+          - If there is a data source delegate the sorting request.
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Binding.cs: When converting the data also try with the destination 
+       type typeconverter. This indirectly adds support for Nullable types 
+       in our databinding layer.
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: When cell editing is finished focus back the 
+       DataGridView. Fixes keyboard navigation post-editing.
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix the cell editing by delaying the currentCell 
+       setting to after EndEdit is called for the old cell.
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: Reset the bindings. Fixes a NotWorking test.
+
+2008-12-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Send WM_HELP only to the focused window.
+
+2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: Fix exceptions when resetting the data source 
+       for the same time (e.g. in ComboBox): 
+          - Do not set the list position if we are still transferring data
+          - When resetting the list firstly push the data then update the 
+          binding.
+       * Binding.cs: Check BindingManager.Position == -1 instead of 
+       BindingManager.Current == null in order to avoid unexpected 
+       exceptions.
+
+2008-12-05  Brad Taylor  <brad@getcoded.net>
+
+       * MonthCalendar.cs: Add UIA specific events so that we can know when
+       the selection changes, and when MaxSelectedCount changes.
+
+2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Cleanup rows_displayed out of OnPaint. It's not 
+       used for anything.
+
+2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix scrolling and selection of cells/rows prior
+       to the control being drawn for the first time by:
+          - Implement DisplayedRowsCount to not rely on the control being
+          already painted. Also added support for the partial row flag.
+          - Fix scrolling to take into account partial rows and scroll to
+          them.
+       [Fixes bug #456527]
+
+2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Do not reset the CurrentCell when the handle is
+       created if the user has already set it.
+
+2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix CurrentCell to actually select the cell.
+
+2008-12-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Add support to RichTextFormat by reading it as ascii
+       text and then let the underneath users of IDataObject interpret and
+       parse by themselves. 
+       Fixes #439251.
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix my previous commit to actually update what it 
+       was supposed to.
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Ensure that when a row is removed the all the 
+       current row/column/cell get updated. Fixes multiple exceptions.
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Fix scrolling to the current cell when key navigation 
+       is used.
+       [Fixes bug #443560]
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewCell.cs: Fire CellStateChanged events.
+       * DataGridViewCell.cs: Set the cell as selected prior to setting the 
+       new state.
+       [Fixes issue 1 in bug #443560]
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Invalidate after the current row/column seletion 
+       chagnes.
+       [Fixes bug #438434]
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Refresh the data if the data list is reset, etc.
+
+2008-12-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Handle datasource state changes:
+          - IBindingList - list changes
+          - BindingSource - list changed and datasource changes
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Select the first cell when databound. 
+       Visually select when CurrentCell is set.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Set the current cell before raising CellClick.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Cleanup MoveCurrentCell to not fire any CellEnter, 
+       CellLeave events as this is already done in SetCurrentCellAddressCore.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Set the minimum size for the columns to be the 
+       width of their header, so that the columns don't get squashed 
+       all together.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: After the data is bound PerformLayout, so that 
+       the columns get autosized.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Move all currentCell setting code into 
+       one central place - SetCurrentCellAddressCore. That way the 
+       current cell is properly updated when programatically set.
+       Fire RowEnter/Leave events.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs: Update the CurrencyManager.Position, so that 
+       when a BindingSource is used BindingSource.Current will be correct.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GroupBoxRenderer.cs: Fix when VisualStyles disabled:
+          - No caption text is drawn because Color.Empty is used.
+          - Fix top and height off by 1.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridViewRow.cs: Implement DataBoundItem.
+
+2008-11-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * BindingSource.cs: Return null for Current if there is no data present.
+
+2008-11-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MenuAPI.cs: Add a Menu.SelectedItem null check when navigating the
+       menus using the arrow keys. Also when handling the left arrow key, don't 
+       assign the current menu to the parent one, if the parent is null.
+       Fixes #446392.
+
+2008-11-24  Everaldo Canuto  <ecanuto@novell.com>
+
+       * PrintPreviewDialog.cs: Fix toolbar size, height must be 26. Fixes bug
+       #413501.
+
+2008-11-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Scrollbar.cs:
+       * ScrollableControl.cs: Simplify the code to manually set the size of
+       the thum area, avoiding duplication of code, and also preserving the
+       right value for different code paths - this can happen when size
+       changes are made to the scrollbar after setting LargeChange, Maximum
+       or related properties for the ScrollBar.
+
+2008-11-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ScrollableControl.cs: When scrolling, don't invalidate the entire
+       area, and call to XplatUIX11.ScrollWindow instead. This is exactly
+       what .Net does: copy the visible area, and only invalidate the part of
+       the area that wasn't visible before scrolling.
+       Fixes #441738.
+
+2008-11-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Listen for a DataTable's TableCleared event so we
+       can clear ourselves when it is raised, we don't have a newrowindex
+       if we don't have any columns.
+       * DataGridViewRowCollection.cs: Ensure we always delete all the rows,
+       re-index after each delete so the NewRow will have the correct index.
+       [Fixes bug #448005]
+
+2008-11-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't change min/max size if it is empty.
+       [Fixes bug #447873]
+
+2008-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ScrollBar.cs:
+       * ScrollableControl.cs: When the manual thumb size is used, the
+       maximum allowed value should depend on that thumb size, instead of
+       LargeChange (using the maximum - LargeChange + 1 value). But
+       LargeChange should be used normally when incrementing/decrementing.
+       Fixes the remaining part of #441546.
+
+2008-11-23  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs, WebBrowserBase.cs: Delay loading of DocumentStream 
+       until an about:blank has been loaded (according to spec). Fix 
+       ScrollbarsEnabled to set when a document is loaded (since we use js 
+       for it). Fix url so it reflects the current loading document and not 
+       the previous one. Send StatusChanged events.
+
+2008-11-23  Andreia Gaita  <avidigal@novell.com>
+
+       * Application.cs: If a message comes in for an embedded control
+       (like webbrowser) when we're capturing the keyboard, release the
+       capture and continue.
+       [fixes #429462]
+
+2008-11-22  Andreia Gaita  <avidigal@novell.com>
+
+       * XplatUI.cs: Only use PlatformID.MacOSX enum when not building on VS
+
+2008-11-21  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs, HtmlDocument.cs: Fixes for #428172
+       
+2008-11-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ScrollBar.cs:
+       * ScrollableControl.cs: Set manually the thumb size for the
+       ScrollableControl scrollbars, so any further changes to the underneath
+       scrollbars respect the original size.
+       Fixes part of #441546.
+
+2008-11-21  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUI.cs: Ensure that we can run on .net 2.0 with mono 2.2 where
+       PlatformID.MacOSX now exists.
+
+2008-11-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Provide a default implementation for ChangeBackColor.
+       Having something internal abstract isn't very nice for people who want
+       to inherit from this class.
+
+2008-11-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Don't crash if ImageIndex or ImageKey is set to an
+       invalid value.  Just return null for the Image, and use the ImageList's
+       ImageSize for calculations.
+
+2008-11-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Call HideWindow instead of Hide when closing the dropdown
+       through DroppedDown so the proper events get called and state gets reset.
+       [Fixes bug #446805]
+
+2008-11-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnCollection.cs: Make sure we re-index the columns after
+       the collection is modified.
+
+2008-11-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DomainUpDown.cs: Remove string cache and reflection optimizations.  They
+       aren't always correct, and fixing them for every case is not worth the
+       negligible benefit they provide.
+       [Fixes bug #445713]
+
+2008-11-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: We should never add actual cells to the RowTemplate.
+       Internally, use RowTemplateFull to give us a new row with cells.
+       * DataGridViewColumnCollection.cs: Clear Rows when we clear Columns.
+       * DataGridViewRowCollection.cs: Use RowTemplateFull.
+
+2008-11-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Forms without borders should be able to change its
+       size - specially they should be able to be maximized, adding the
+       respective MotifFunctions.Resize bit when setting window properties as
+       well as *not* marking the Hwnd as size fixed.
+       Fixes #444347.
+
+2008-11-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCellStyle.cs: Allow SelectionBackColor to have
+       an alpha value.
+       [Fixes bug #444348]
+
+2008-11-11  Andrés G. Aragoneses  <aaragoneses@novell.com>
+
+       * Application.cs: After UIA assembly is successfully loaded,
+       dump any exception that happens on initialization to stderr.
+
+2008-11-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Add internal to OnAutoSizeColumnModeChanged.
+       * DataGridViewColumn.cs: Recalculate columns when AutoSizeMode changes.  Raise
+       AutoSizeColumnModeChanged.
+       [Fixes bug #443609]
+
+2008-11-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: Guard against the user deleting the
+       NewRow.  Add an internal delete so we can still delete it.
+       * DataGridView.cs: Use the new internal delete when deleting the NewRow.
+       [Fixes bug #442181]
+
+2008-11-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Add some order of operation to our math so
+       we don't end up with a negative height for our invalidate rect.
+       [Fixes bug #381889]
+
+2008-11-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: When our enabled changes, notify our implicit children
+       controls as well as our regular controls.
+       [Fixes bug #441523]
+
+2008-11-08  Andreia Gaita <shana@jitted.com> 
+
+       * HtmlElement.cs: Small code cleanup
+
+2008-11-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingNavigator.cs: MoveFirstItem should be enabled only if
+       position is larger than 0, not only different than 0. Also Position
+       and Count items should be enabled if the BindingSource is non null and
+       non empty.
+       Fixes #439961.
+
+2008-11-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TabControl.cs: Don't raise SelectedIndexChanged until we have
+       actually modified the tab collection, so TabCount will be correct.
+       [Fixes bug #441896]
+
+2008-11-05  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * ListViewItem.cs: Mark ListViewSubItem.UIATextChanged event as
+       NonSerialized to fix serialization of ListViewItem.
+
+2008-11-04  Mike Gorse  <mgorse@novell.com>
+
+       * ListView.cs: Call OnUIAFocusedItemChanged after completing the
+         focus change, and always call in SetFocusedItem.
+       * ListBox.cs: Add UIAFocusedItemChanged as in ListView.
+
+2008-11-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Only call OnDrawItem when we are using an OwnerDraw
+       mode.  Based on a patch by John Mortlock.
+       [Fixes bug #436790]
+
+2008-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: Use the UsingGroups property where needed, instead of
+       duplicating the check in other places.
+
+2008-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calculating layout, refresh the count of items
+       belonging to the default item, insteas of doing it only one time. This
+       was already working fine for icon views, not not for details.
+       Fixes #438948.
+
+2008-11-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs:
+       * ThemeWin32Classic.cs: Don't render Tile view if there wasn't a call
+       to Applicatin.EnableVisualStyles, and use LargeIcon view, as .net
+       does.
+       Fixes #437933.
+
+2008-11-03  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * ListView.cs: Wrap call to OnUIAFocusedItemChanged with #if NET_2_0.
+
+2008-11-03  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * ListView.cs: Add internal UIAFocusedItemChanged event.  Fixes bug
+       #441280, patch by Mike Gorse <mgorse@novell.com>.
+
+2008-11-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: When doing ExpandAll, don't scroll to the bottom
+       if there is no scrollbar.
+       [Fixes bug #440885]
+
+2008-11-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ProgressBar.cs, ThemeWin32Classic.cs, ThemeVisualStyles.cs: Commit
+       patch from Andy Hume that fixes many issues with ProgressBar.
+       [See bug #440220]
+
+2008-11-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't allow MinimumSize and MaximumSize to conflict.
+       [Fixes bug #438866]
+
+2008-11-03  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * UpDownBase.cs:
+       * DomainUpDown.cs:
+       * NumericUpDown.cs: Internal events added to UpDownBase:
+       UIAUpButtonClick and UIADownButtonClick.  Patch by Neville Gao
+       <ngao@novell.com>.
+
+2008-11-03  Sandy Armstrong  <sanfordarmstrong@gmail.com>
+
+       * ToolStripLabel.cs: Internal event added: UIAIsLinkChanged.
+
+2008-11-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ThemeWin32Classic.cs: Don't use groups nor insertion mark in
+       Application.EnableVisualStyles hasn't been called.
+       Fixes part of #437933.
+
+2008-10-31  Andreia Gaita  <shana@jitted.com>
+
+       * Form.cs (SetVisibleCore): since set_ActiveControl no longer calls focus
+         if the container is not focused already, we need to specifically set
+         focus to the first available control, or to the form itself if there
+         are no controls.
+
+2008-10-31  Andreia Gaita  <shana@jitted.com>
+
+       activate message fix: a call to .Show now waits until both WM_SHOWWINDOW and
+       WM_ACTIVATE have been processed before returning, so it is guaranteed that
+       once it returns and the form is visible, it is actually on the screen on X11
+
+       * ContainerControl.cs: Only send focus to the control if the top container
+         is already focused. This is so that, when a form is first shown, all
+         the enter/leave events are done first before any focus stuff comes in.
+         If a control has no top container, there's an extra check on Control.Focus
+         to make sure it gets focused in this particular case.
+
+       * Control.cs: Force focus if the control is active but did not receive
+         focus after being set as active.
+
+       * MdiClient.cs: Dispose the form when closing
+
+       * XplatUIX11.cs: When mapping and unmapping windows, make sure the call
+         doesn't return until both WM_SHOWWINDOW and WM_ACTIVATE have come in
+         if the window is a top Form.
+         Reset all hwnd properties when the window has been destroyed so that
+         we don't land in any codepaths that might try to do something with it.
+         Added a bunch of debugging messages. If TRACE is defined, all X calls
+         are logged through DebugHelper. Set a few missing EntryPoint attributes.
+
+2008-10-29  Mario Carrion <mcarrion@novell.com>
+
+       * ListViewItem.cs: Control enabled to support Accessibility:
+       - Internal events: UIATextChanged, UIASubItemTextChanged.
+       - Internal event UIATextChanged in ListViewSubItem that triggers
+       UIASubItemTextChanged.
+       * ListView.cs: Control enabled to support Accessibility:
+       - Internal events: UIACheckBoxesChanged, UIAMultiSelectChanged, 
+       UIAShowGroupsChanged, UIAViewChanged and UIALabelEditChanged.
+       - Internal event UIACollectionChanged in ColumnHeaderCollection.
+       - Internal event UIACollectionChanged in ListViewItemCollection.
+       - Internal properties: UIAHeaderControl, UIAColumns, UIARows, 
+       UIADefaultListViewGroup, UIAHScrollBar and UIAVScrollBar.
+       - Internal methods: UIAGetHeaderBounds.
+
+2008-10-25  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ScrollableControl.cs: Actually fire the 2.0 Scroll event when we get
+       the event from the respective scrollbars.
+       Fixes #436709.
+
+2008-10-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Use the new CanNavigateAutoCompleteList property of the
+       textbox to know whether any navigation key will be handled or not. If
+       not, don't pass the message to the textbox, and use it here instead. 
+       * TextBox.cs: Define a new CanNavigateAutoCompleteList property -which
+       is more precise- than the previous AutoCompleteMatches one.
+       This should the keyboard navigation in ComboBox when using auto
+       complete modes.
+
+2008-10-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Fix item height calculation based off Font to match .Net.
+       [Fixes bug #436730]
+
+2008-10-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Call OnClick instead of base.OnClick so
+       overridden methods will get called.
+       * ToolStripItem.cs: Raise Click before MouseUp.
+       * ToolStripSplitButton.cs: Fix up some bounding rectangles to take
+       the item's location into account.
+       [Fixes bug #437683]
+
+2008-10-24  Neville Gao  <nevillegao@gmail.com>
+
+       * NumericUpDown.cs: Control enabled to support accessibility.
+       [Fiexes bug #438135]
+
+2008-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Check that we actually have items no navigate, select
+       text when pressing enter, as well as handle direction keys only if
+       mode is different to Suggest or the suggest listbox is visible.
+
+2008-10-23  Andreia Gaita  <shana@jitted.com>
+
+       * WebBrowser.cs: Use the new ContentStream property to retrieve
+         a stream encoded from the document content
+
+2008-10-23  Andreia Gaita  <shana@jitted.com>
+
+       * HtmlDocument.cs,
+         HtmlElement.cs,
+         HtmlWindow.cs: Fix GetHashcode for null objects
+
+2008-10-22  Andreia Gaita  <shana@jitted.com>
+
+       * HtmlDocument.cs,
+         HtmlElement.cs,
+         HtmlWindow.cs: Fix equality operators (fixes #428173)
+
+2008-10-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Apply patch from John Mortlock that ensures
+       mouse_state gets set during WM_MOUSEMOVE and WM_NCMOUSEMOVE.
+       [Fixes bug #436772]
+
+2008-10-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Fire SelectedIndexChanged when the user selects the
+       same item with the mouse as was already selected.
+       [Fixes bug #436789]
+
+2008-10-21  Brad Taylor  <brad@getcoded.net>
+       
+       * TextControl.cs: Break out code to get the visible range into
+         GetVisibleLineIndexes to be used in UIA code.
+       
+       * Line.cs:
+       * TextControl.cs:
+       * TextBoxBase.cs: Add comments indicating that the method or property
+         is used via reflection from UIA code.
+
+2008-10-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Match .net serialization.
+       Fixes remaining part of #417520.
+
+2008-10-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripProfessionalRenderer.cs: Don't paint over a set BackgroundImage.
+
+2008-10-20  Mario Carrion <mcarrion@novell.com>
+
+       * ErrorProvider.cs, ToolTip.cs, HelpProvider.cs: UIA internal property 
+       added: UIAToolTipRectangle.
+
+2008-10-19  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListViewItem.cs: When deserializing enumerate over the data, instead
+       of accessing the data directly. This way we handle much better the
+       cases were we lack information.
+       Fixes #417520.
+
+2008-10-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When removing an item from a main ListView.Items
+       collection (and not a ListViewGroupCollection.Items one), remove it
+       also from the group, as .net does. Patch by Mario Carrion (mario at
+       novell dot com).
+       Fixes #436653.
+
+2008-10-19  Andreia Gaita  <avidigal@novell.com>
+
+       * Form.cs: Forms that get closed without a handle being created are
+       disposed in 2.0. Fixes failing FormTest.FormClose and
+       FormTest.FormClose2 on windows.
+
+2008-10-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: If both scrollbars are visible, the vertical one
+       shouldn't extend too far down.
+       Fixes #435771.
+
+2008-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Add the ability to resize columns and rows with
+       the mouse.  Also support double-clicking to autoresize.
+       * DataGridViewColumn.cs: Invalidate the grid if a column's width changes.
+       * DataGridViewRow.cs: Invalidate the grid if a row's height changes.
+       * DataGridViewTextBoxCell.cs: Add 1 to preferred width so ellipsis
+       isn't shown on autoresize.
+       [Fixes bug #420193]
+
+2008-10-17  Mario Carrion <mcarrion@novell.com>
+
+       * ComboBox.cs: Remove UIAListbox.
+
+2008-10-17  Mario Carrion <mcarrion@novell.com>
+
+       * ComboBox.cs, ListBox.cs: Using added/removed item in 
+         OnUIACollectionChangedEvent instead of index.
+
+2008-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: When we are sorting the items, if the item's type
+       doesn't support IComparer, use a default one that compares based
+       off the item's visible text.
+       [Fixes bug #436328]
+
+2008-10-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: Invalidate ListView.header_control when setting
+       ImageIndex/ImageKey.
+       * ThemeWin32Classic.cs: When drawing the column header, draw a image
+       for the column if available, and make the required adjustments to the
+       text location.
+       Fixes #435105.
+
+2008-10-17  Neville Gao  <nevillegao@gmail.com>
+
+       * StatusBarPanel.cs: Control enabled to support accessibility.
+       [Fixes bug #435988]
+
+2008-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When a user begins an edit in the 'new row',
+       make that a real row, and add a new 'new row'.  If the user
+       cancels the edit, remove the new 'new row' and reset everything.
+       Also, ensure UserAddedRow and UserRemovedRow events are raised.
+       [Fixes bug #430954]
+
+2008-10-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutSettings.cs: Fix NREs when deserializing and 
+       panel is not yet set.
+       [Fixes bug #436199]
+
+2008-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Invalidate after deleting a row.
+
+2008-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Handle Enter and Escape keys.
+         - Move call to EndEdit to MoveCurrentCell.
+         - Remove call to EndEdit from navigation key routines.
+         - Fire CellLeave and CellEnter.
+
+2008-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Some fixes to the new cell border
+       painting code.
+
+2008-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeEngine.cs: Enable visualstyles rendering by default
+       (on platforms that support it).
+
+2008-10-15  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs, XplatUICarbon.cs: Do not Timer.Tick before 
+       MainForm.OnLoad has completed unless DoEvents is forced.
+       [Fixes bug #412536]
+
+2008-10-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Ensure that Timer.Internal cannot be set to 0.
+
+2008-10-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make our implementation of DrawToBitmap better 
+       match WmPaint.  [Fixes bug #435579]
+
+2008-10-14  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs: Use DocumentElement as the document's root for the
+       whole content. Should fix DocumentText and DocumentStream problems.
+
+2008-10-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnCollection.cs: Remove calls to OnColumnAddedInternal,
+       these will get called in DGV.OnCollectionChanged.  Make sure 
+       OnCollectionChanged always gets called.
+       * DataGridView.cs: Make a OnColumnRemovedInternal that removes the cells
+       from every row.  Call this in OnCollectionChanged.
+       [Fixes bug #433669]
+
+2008-10-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: WM_KEYDOWN and WM_KEYUP messages should be sent to the
+       textbox if auto complete is used, since we need to navigate over it.
+       And in this case don't pass this messages to the base impl. Also hide
+       the auto complete list box when displaying the drop down listbox.
+       * TextBox.cs: new internal members to expose some of the auto complete
+       functionality to combobox.
+
+2008-10-13  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs, XplatUICarbon.cs, Form.cs: Do not Timer.Tick before 
+       MainForm.OnLoad has completed.
+       [Fixes bug #412536]
+
+2008-10-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Apply an old-approved patch that adds autocomplete's
+       Append support to this controls. We need it to apply new patches.
+
+2008-10-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: When updating z order in child controls, send to back
+       the implicit controls. Also, do it explicitly, instead of making
+       GetAllControls return the implicit controls in a specific order, and
+       thus avoid depending on that, which could change in the future.
+       Fixes #434304.
+
+2008-10-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Try to call Application.DoEvents before returning in a
+       call to StartDrag, since we must fire DragDrop/DragLeave *before*
+       that, as .net does - instead of firing DragDrop/DragLeave *after* the
+       call to Control.DoDragDrop has completed. This is needed since at the
+       point of returning, we have sent related dnd ClientMessages, but we
+       need to wait for them to fire the wmf respective ones.
+       Fixes #325076.
+
+2008-10-09  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Recreate link pieces when change Padding.
+
+2008-10-09  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Take Padding into account when recreate link pieces.
+       [Fixes bug #412530]
+
+2008-10-08  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: Implement internal property PaddingClientRectangle, it will be
+       useful for drawing controls that must take care about Padding property.
+
+2008-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * BindingSource.cs: Make item_type internal so we can access it in DGV.
+       * DataGridView.cs: Add support for autogenerating columns from a
+       BindingSource.
+
+2008-10-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Comment out an exception that is getting thrown
+       too often currently.
+
+2008-10-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Always rebind to the datasource, as things may
+       have changed in it that we aren't capturing yet.
+
+2008-10-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewTextBoxCell.cs: Don't default to VerticalCenter font
+       drawing mode.  If we are top aligned, give ourselves some top padding.
+
+2008-10-06  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * X11Dnd.cs: When firing the default dnd enter/leave events, fire the
+       events on the control under the mouse pointer, instead of firing them
+       on the window generating the dnd operation. To achieve this re-use the
+       code used to get the window under the pointer when getting MouseMove
+       events.
+       Fixes #381876.
+
+2008-10-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Don't check that that the window sending the dnd events
+       is the owner of the selection. Although Gtk+ sets it that way, it's
+       not a requirement of the XDnd protocol, and Qt doesn't seem to do it.
+       So, just as Gtk+ does, we set our window sending the dnd events as the
+       owner of the selection, but don't check it when receiving them. This
+       should fix interoperability with Qt/Kde.
+       Fixes #324251.
+
+2008-10-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Make sure we take the vertical scrollbar into
+       account when autosizing columns.
+
+2008-10-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Handle sorting datetimes.
+
+2008-10-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ButtonBase.cs, Control.cs, Label.cs, PictureBox.cs, TabControl.cs, 
+       TextBoxBase.cs, ToolBar.cs, TrackBar.cs, TreeView.cs: Cleanup 
+       compilation warnings.
+
+2008-10-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * RTF.cs, Application.cs, BindingContext.cs, BindingSource.cs, 
+       ContextMenuStrip.cs, Control.cs, Hwnd.cs, Line.cs, MaskedTextBox.cs, 
+       ProgressBar.cs, SaveFileDialog.cs, TextControl.cs, Theme.cs, 
+       ToolBar.cs, ToolStripItemCollection.cs, TrackBar.cs: Cleanup 
+       compilation warnings.
+
+2008-10-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataGridView.cs, DataGridViewCell.cs, 
+       DataGridViewCellValidatingEventArgs.cs, 
+       DataGridViewComboBoxEditingControl.cs, DataGridViewHeaderCell.cs, 
+       DataGridViewRow.cs, DataGridViewRowHeaderCell.cs, 
+       DataGridViewTextBoxEditingControl.cs: Cleanup compilation warnings.
+
+2008-10-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * HtmlElementEventArgs.cs, HtmlWindowCollection.cs: 
+       Cleanup compilation warnings.
+
+2008-10-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIWin32.cs: Cleanup compilation warnings.
+
+2008-10-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Cleanup compilation warnings.
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Only clear the row background if we
+       are going to paint a new background.
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs, DataGridViewColumnHeaderCell.cs,
+       DataGridViewRowHeaderCell.cs: Remove PaintPartBorder and
+       use PaintBorder instead.        
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When CellBorderStyle is set, update the
+       AdvancedCellBorderStyle to match.
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Add helper methods to convert Alignment
+       to TextFormatFlags and align rectangles.
+       * DataGridViewTextBoxCell.cs: Use Alignment when painting text.
+       * DataGridViewImageCell.cs: Use Alignment when painting the image.
+
+2008-10-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ToolTip.cs: Display tooltips only for controls on the active form.
+       [Fixes bug #428115]
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Make OnCellValueNeeded internal.
+       * DataGridViewCell.cs: Raise the CellValueNeeded event so the
+       user can supply their own value if they choose.
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnHeaderCell.cs: Create a new style object
+       so the DefaultCellStyle doesn't get changed.
+
+2008-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Check to make sure the owner is actually
+       changing in InternalOwner before doing any work.  Fixes some
+       failing tests.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnHeaderCell.cs: Correctly calculate style.
+       * DataGridView.cs: Use a column header's inherited style instead
+       of just using the default.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitContainer.cs: Raise SplitterMoved when the splitter is
+       moved through code.
+
+2008-10-01  Mario Carrion <mcarrion@novell.com>
+
+       * ScrollBar.cs: Internal property added: UIAThumbPosition.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripOverflowButton.cs: Use InternalOwner instead of Owner.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: When the user sets Owner, we need to remove
+       it from its previous owner and then add it to the new owner's
+       item collection.  Also, create InternalOwner, so we can set the owner
+       that doesn't do this new stuff.
+       * ToolStripItemCollection.cs: Use InternalOwner instead of Owner.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: When our parent changes, recalculate our text
+       size, since we may be getting our Font from our parent.  When our
+       owner's Font changes, recalculate ourselves as we may be using
+       that font.
+
+2008-10-01  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Select the first option of a popup when opening the popup via
+       return key. [Fixes bug #413792].
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Make Font, BackColor, and ForeColor be
+       ambient properties.  (Get their value from their parents if
+       values haven't been set.)
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSystemRenderer.cs: Call overridden methods' bases
+       after our logic, so users can do painting by handling the events.
+       Currently, we draw over any user painting.
+
+2008-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripProfessionalRenderer.cs: Call overridden methods' bases
+       after our logic, so users can do painting by handling the events.
+       Currently, we draw over any user painting.
+
+2008-09-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Prevent NRE when deactivate menu. Fixes #413636.
+
+2008-09-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs, TreeView.cs: Move logic that determines the node
+       image to draw to TreeNode.  Give Index/Keys put on the node
+       precedence over the global one for the TreeView.
+
+2008-09-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Setting ImageIndex or ImageKey should reset the other.
+
+2008-09-29  Mario Carrion <mcarrion@novell.com>
+
+       * ListBox.cs: Index fixed.
+
+2008-09-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When expanding the tab -because it's selected now-,
+       using Right alignment, instead of adding some selected delta value to
+       the X origin, substract it, so it gets a location adjacent to the panel, 
+       instead of be more separated.
+       Fixes #409170.
+
+2008-09-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MessageBox.cs: Use SystemIcons for graphics instead of keeping our
+       own copies of them.
+
+2008-09-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: source and related fields should be set to IntPtr.Zero,
+       as well as the other static fields, to avoid using their previous
+       values my mistake when handling the dnd events. This should avoid
+       handling any status event after the drop has been finalized/cancelled.
+
+2008-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: We have to send a dnd enter event as soon as we start the
+       operation, instead of waiting until we get any movement - this will
+       help us to have the data available in case no movement was detected
+       and _still_ we have to fire DragEnter and DragLeave/DragDrop events.
+       Finally add a windows.forms-only fallback to fire the mentioned events
+       if no movement at all was detected, just like .net does.
+       Fixes #381876.
+
+2008-09-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: When drawing a status bar panel, don't
+       return early if the text is empty because the icon doesn't get
+       drawn then.  [Fixes bug #428113]
+
+2008-09-25  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * FileDialog.cs: Implement basic support for sorting by columns in
+       Details view. Patch by Eric Petit.
+       Fixes #428006.
+
+2008-09-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classis.cs: When drawing gridlines take into account the
+       case where ListView.ItemSize hasn't been computed, and provide a
+       fallback as well. This prevents a division by 0.
+
+2008-09-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeVisualStyles.cs: Use ClientRectangle instead of Bounds to
+       correctly draw tooltip backgrounds.
+
+2008-09-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ImageList.cs: Change CopyTo implementation to ensure clones are
+       created of our images.
+       [Fixes bug #409169]
+
+2008-09-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: When setting fonts, we need to ensure we change our
+       reference to the new font object, even if it represents the same
+       font as before.  If we don't, the original font can get disposed
+       and we will still try to use it.
+       [Fixes bug #386450]
+
+2008-09-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FileDialog.cs: Take into account Tile view when selecting the view
+       (2.0 profile).
+
+2008-09-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: When drawing gridlines for ListView don't use
+       the item bounds, since we can't iterate over them in virtual mode.
+       Also fix wrong calculation of the gridlines when using scrolling.
+       Fixes #400390.
+
+2008-09-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When handling EnterNotify events, take into account
+       both the public and implicit controls when trying to detect the
+       grab/ungrab process. This should fix ListView selection in Details
+       view.
+
+2008-09-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Redraw the whole node area when the selected node changes.
+       Things like state images were not getting redrawn because the invalid
+       rectangle was too small.
+       [Fixes bug #428211]
+
+2008-09-23  Mario Carrion  <mcarrion@novell.com>
+
+       * ListBox.cs: UIA Selection Pattern fully supported in ListBox control.
+       [Fixes bug #428993]
+
+2008-09-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Do not set the Form's icon in the backend if showicon = false.
+       [Fixes bug #428114]
+
+2008-09-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Allow tooltips to be multiline.
+       [Fixes bug #427884]
+
+2008-09-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusBar.cs: Add tooltip support.
+       [Fixes bug #428113]
+
+2008-09-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: Use StringAlignment.Center for the vertical
+       alignments of sub items in Details view. Patch by John Mortlock (johnm at 
+       hlaustralia.com.au).
+       Fixes #425360.
+
+2008-09-23  Neville Gao  <nevillegao@gmail.com>
+
+       * StatusBar.cs: Add UIA event in AddInternal () to support accessibility.
+       [Fixes bug #419079]
+
+2008-09-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Set Text to "" instead of null in Clear().
+       [Fixes bug #428107]
+
+2008-09-22  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: Don't do anything when EnsureVisible is called inside a
+       BeginUpdate/EndUpdate block.
+       Fixes #425049.
+
+2008-09-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: The semantics for the public .ctor of
+       ListViewSubItemCollection need us to already have a Text value for the
+       item, which in our implementation have as available *after* adding the
+       first sub item. So create an internal .ctor that satisfies our needs
+       and let the public .ctor have the same semantics as .net.
+       Fixes #427561.
+
+2008-09-19  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListControl.cs: Changes in Formatting related values should call
+       RefreshItems, as .net does.
+       * ComboBox.cs:
+       * ListBox.cs: In the respective overrides of RefreshItems calculate
+       layout as well as refreshing - again, this is what .net does.
+       Fixes #426168.
+
+2008-09-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: In UpdateTopItem, don' call to XplatUI.ScrollWindow,
+       since we are already doing that when we change the value of the
+       scrollbar or force the call to ScrollWindow in the same method. This
+       way we don't cause a Invalidate call for all the listbox bounds for
+       methods calling UpdateTopItem with an already updated top item. This
+       was happening specially calling EnsureVisible with already visible
+       items.
+
+2008-09-18  Mike Gorse <mgorse@novell.com>
+
+       * Application.cs, IKeyFilter.cs, X11Keyboard.cs, XplatUI.cs,
+         XplatUIStructs.cs: Added KeyFilter
+       [Fixes bug #427039]
+
+2008-09-18  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * RelatedPropertyManager.cs: The properties returned by
+       GetItemProperties should be that ones of the *actual* object returned
+       by the property, not the property type - this is very special when the
+       property exposes a type, but the returned object actually is a child
+       class and implements more functionality and properties.
+
+2008-09-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Don't look for the property in the data source if the
+       passed string is empty.
+
+2008-09-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Comment out _NET_WM_WINDOW_TYPE_DIALOG in order to 
+       fix unused variable warnings.
+
+2008-09-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Send WM_HELP when F1 is pressed.
+       [Fixes bug #427073]
+
+2008-09-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: 
+        - Do not set _NET_WM_WINDOW_TYPE_DIALOG for modal forms, because this 
+        leads to the window manager overriding our border style and zorder. 
+        - Allow the activation of non-modal forms, which are children of a 
+        modal form.
+       [Fixes bug #423417]
+
+2008-09-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs, X11Structs.cs: For mapped windows SetTopMost should 
+       ask the window manager to do the work instead of changing the property 
+       directly.
+       [Fixes bug #423417]
+
+2008-09-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * CurrencyManager.cs: Check for positon before call ChangeRecordState in
+       AddNew to fix some navigation for empty datasets. [Fixes #323053]
+
+2008-09-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * FileDialog.cs: Remove OnPaint method on PopupButtonPanel and set 
+       InternalBorderStyle to BorderStyle.Fixed3D. It is the best way to get 3d
+       border and fixes some drawing issues when resize form.
+
+2008-09-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * FileDialog.cs: Lots of layout fixes to mimic Win32. [Fixes #408752]
+       
+       * ThemeWin32Classic.cs: We don't need to reduce button size when it is
+       AcceptButton.
+
+2008-09-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TextBoxBase.cs: For standard textbox the scrollbars are always 
+       visible if Multiline is true.
+       [Fixes bug #426896]
+
+2008-05-12  Everaldo Canuto  <ecanuto@novell.com>
+
+       * DataGridTextBoxColumn.cs: Uncomment code accidentally commited in last
+       patch.
+       
+2008-05-12  Everaldo Canuto  <ecanuto@novell.com>
+
+       [Fixes most od DBNull and HeadersVisible problems]
+       
+       * DataGrid.cs:
+       - ShowingColumnHeaders removed because we dont need it, ColumnHeadersVisible
+       returns the value that we need.
+       - Fixed FromPixelToColumn method that return zero for first     column and for
+       row header cell, now it returns -1 for row header cell.
+       - Fixed HitTest to check row header cell in column header area, it now
+       returns HitTestType.None. [Fixes #322864]
+       - Fixed the calculation of visible columns in UpdateVisibleColumn, now it
+       checks for RowHeadersVisible and other things.
+       - If an exception occurs when setting CurrentCell and user type 'yes' in
+       message dialog, invalidade current and new cell and set setting_current_cell
+       to false to prevent future errors. [Partially fixes #323050]
+
+       * DataGridColumnStyle.cs: Don't call EndEdit after set property_descriptor
+       value (SetColumnValueAtRow), it must be done by grid to properly show 
+       messages. [Fixes #323050]
+
+       * ThemeWin32Classic.cs: Lots of fixes in DataGridPaintColumnHeaders to
+       better draw column and row header. Also dont draw anything when column
+       headers is not visible.
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Hook ListViewItems into the ShowFocusCues
+       logic.
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Don't start editing a node on right click, only
+       left click.
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NativeWindow.cs: Reenable the ThreadExceptionDialog I accidentally
+       disabled over a year ago.
+       * Form.cs: Wrap calling Load in a try/catch because it can happen
+       before the catch-all one in NativeWindow.
+       [Fixes bug #425414]
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownMenu.cs: Calculate the connected area better
+       to take into account when the drop down is not directly under the
+       owner item.
+       * ToolStripProfessionalRenderer.cs: Draw the whole unconnected area.
+
+2008-09-16  Mario Carrion <mcarrion@novell.com>
+
+       * ScrollBar.cs: New event added: UIAValueChanged, generated when
+         LargeChange, SmallChange, Maximum or Minimum values are changed.
+       [Fixes bug #426464]
+
+2008-09-16  Mario Carrion <mcarrion@novell.com>
+
+       * ErrorProvider.cs: Component enabled to support accessibility.
+       * Application.cs: Updated to Initialize UIA in ErrorProvider.
+       [Fixes bug #426459]
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Flag has_been_focused when SelectionStart is set
+       so we don't highlight on first focus.
+       [Fixes bug #360869]
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Correctly calculate the height of the area we 
+       need to invalidate when we have started scrolling and viewport_y
+       is used.  [Fixes bug #387608]
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: When getting the SelectedText, don't add in
+       NewLine characters, as they are already contained in the lines.
+       [Fixes bug #388115]
+
+2008-09-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Replace the buggy Lines setter with one that
+       simply concats the lines and send it to the Text setter.
+       [Fixes issue #2 and #3 of 388115]
+
+2008-09-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: The default value of DataSourceNullValue should be
+       Convert.DBNull actually. Also, the NullValue should only be used *if*
+       itself is not null, and use the null/Convert.DBNull value instead.
+
+2008-09-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Add a method to convert a string newline to the
+       newline enum.
+       * TextBoxBase.cs: When the user hits enter, insert a native newline.
+       [Fixes part 1 of bug #388115]
+
+2008-09-15  Mario Carrion <mcarrion@novell.com>
+
+       * ToolTip.cs: UnPopup event set to internal to match public API.
+
+2008-09-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: If the user is using Ctrl-Tab to move focus, we
+       have to remove the Ctrl in order for the focus moving code to kick in.
+       [Fixes bug #426170]
+
+2008-09-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckedListBox.cs: Return the real item index from Add.  It may not be
+       the last item if the list is sorted.  The user can change the NewValue in
+       the ItemCheck event, we need to use that value if so.
+       * ListBox.cs: Return the real item index from a sorted Add.
+       [Fixes bug #426166]
+
+2008-09-15  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * MimeIcon.cs: Add null checks in the GnomeHandler, because it might 
+       happen that the icons from the theme is missing or the particular size 
+       unavailable.
+       [Fixes bug #424981]
+
+2008-09-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When assigning null or DBNull depending on value/ref type,
+       use IsValueType instead to get the precise desired value.
+       Fixes #424276.
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNodeCollection.cs: When adding a new node to an opened node,
+       we have to invalidate everything below the parent node because
+       every node scoots down and we have to repaint them.
+       [Fixes bug #411386]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Take CheckBox and RadioButton's CheckAlign
+       property into account when drawing.
+       [Fixes bug #416064]
+
+2008-09-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When calling Items.Clear(), call
+       SelectedIndexCollection.ClearCore instead of normal Clear method, to
+       not fire any Selected*Changed event - this is done to match .net and
+       don't have invalid values when changing the DataSourceProperty.
+       Fixes #424273.
+
+2008-09-12  Mario Carrion  <mcarrion@novell.com>
+
+       * HelpProvider.cs: Control enabled to support accessibility.
+       * Application.cs: Updated to Initialize UIA in HelpProvider.
+       [Fixes bug #425988]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: When we are showing a dialog box, if its owner is TopMost,
+       make the dialog TopMost as well.
+       [Fixes bug #425984]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Win32DnD.cs, XplatUIWin32.cs: Applied patch from Andy Hume that handles
+       clipboard data better.
+       [Fixes bug #414446]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Applied patch from John Mortlock that ensures
+       TextChanged and SelectionChanged events fire in the same order as .Net.
+       [Fixes bug #425725]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When sorting a column, if it only contains numbers,
+       do a numeric sort instead of a string sort.
+       [Fixes bug #425849]
+
+2008-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutSettings.cs, TableLayoutStyleCollection.cs: Guard
+       against NRE's when the settings have a null panel.
+       * TableLayoutPanel.cs: When setting the TableLayoutSettings, ensure
+       the panel gets set.
+       [Fixes bug #425647]
+
+2008-09-11  Mario Carrion  <mcarrion@novell.com>
+
+       * ToolTip.cs: Control enabled to support accessibility.
+       * Application.cs: Updated to Initialize UIA in ToolTip.
+       [Fixes bug #425277]
+
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make the custom Enumerator internal to fix build.
+
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCheckBoxCell.cs: If our content is clicked and we aren't
+       already in edit mode, begin edit mode.  Generally edit mode isn't
+       started until the second click, but CheckBoxes are special.
+
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs: Never try to add our icons to ContainerControl,
+       since that can be set to anything.  Always add them to the Control's
+       parent.  [Fixes bug #416058]
+
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView.cs: Use a custom enumerator for ListViewItemCollection
+       so items can be deleted in a foreach.
+       [Fixes bug #425342]
+
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Better implementation of GetPreferredHeight.
+       Store the user set explicit height so that the row can be AutoSized
+       and then when AutoSize is turned off, it can get its original size back.
+       * DataGridView.cs: Use the Row's GetPreferredHeight instead of 
+       duplicating the logic.  When setting AutoSizeRowsMode to None, reset
+       rows' heights back to their explicit values.
+       [Fixes bug #415780]
+
+2008-09-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: When getting focus, select the checkbox if we are
+       already showing it. Also, don't change its value when pressing space
+       if the checkbox is not visible (ShowCheckBox as false). Finally, the
+       checkbox should remain selected as long as Checked is false, and the
+       other parts are disabled.
+       Fixes #424267.
+       
+2008-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MessageBox.cs: Handle shortcut keys to dialog buttons.
+       [Fixes bug #425425]
+
+2008-09-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When the value retrieved from the control property is
+       null, don't return Convert.DBNull for Nullable instances, since they
+       can *actually* get a null value.
+       Fixes #424265.
+
+2008-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Add an internal field to force doublebuffering regardless
+       of what the public mechanisms are set to.  This is because MS's native
+       controls are doublebuffered even though their .Net bits are set to false.
+       * ProgressBar.cs: Set force_double_buffer to true.
+       [Fixes bug #406595]
+
+2008-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCheckBoxColumn.cs: Use the threestate constructor for
+       the cell template.
+       * DataGridViewCheckBoxCell.cs: Add proper support for threestate.
+       * DataGridViewCell.cs: Implement GetEditedFormattedValue for types
+       without EditingControls, paint background selection for types without
+       EditingControls, reset the EditingCellValueChanged flag when the
+       cell's value is committed.
+       * DataGridView.cs: Make BeginEdit and EndEdit work with cells that don't
+       have EditingControls, remove a double call to a cell's OnContentClickInternal,
+       don't do cell changing logic in OnMouseDown if the cell didn't change.
+       [Fixes bug #420351]
+
+2008-09-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: Fix the edition of am/pm specifier.
+
+2008-09-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Add "&" to the list of valid characters in a URL.
+
+2008-09-09  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * DateTimePicker.cs: Before incrementing or decrementing any part in
+       the textbox, end any current edit. Also when ending the current edit
+       use the editing_part_index field instead of the current selected
+       value, since they can be out of synch, and we really need to work on
+       the *real* current edit part. Finally when PartData.Selected changes,
+       always try to end any ongoing edit.
+       This should fix some small errors handling mouse navigation and
+       increase/decrease operations.
+
+2008-09-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: 'hh' and 'HH' formats (12 and 24 hour formats
+       respectively) should handled different, since the 12 hours format
+       needs the value typed by the user to be adjusted depending on the
+       a.m/p.m value, so it is preserved, and only changed when the value
+       reaches the 12 value (when it changes from a.m to p.m).
+       Fixes part of #416555.
+
+2008-09-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Ensure MouseDown gets called for MenuStrip items.
+       * ToolStripDropDownItem.cs: Don't fire events and such again if
+       ShowDropDown is called on an already dropped down item.
+       * ToolStripMenuItem.cs: Call ShowDropDown even if there aren't any
+       subitems, the user may add some in the DropDownOpening event.
+       [Fixes bug #417877]
+
+2008-09-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Fix IOORE when setting SelectedItem to null.
+       [Fixes bug #424270]
+
+2008-09-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: When looking for menustrips on a child form to merge,
+       look inside ToolStripContainers.
+       [Fixes bug #424264]
+
+2008-09-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ErrorProvider.cs: Unbreak my previous commit.
+
+2008-09-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ErrorProvider.cs: Icon should always be 16x16.
+       [Fixes bug #424380]
+
+2008-09-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Invalidate the child items cache when the property 
+       value changes.
+
+2008-09-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs, PropertyGridView.cs: 
+          - Update the ReadOnly detection and rendering to finally hopefully 
+          match the one of MSFT.
+          - Niceify and move the debug CWLS.
+       [Fixes bug #409028]
+
+2008-09-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Don't call Invalidate at all from SetItemLocation,
+       since we are already calling Invalidate for the entire control when
+       needed - and call Redraw() when size changes, since we need to paint
+       there by ourselved and not anymore from the mentioned method. 
+       This should improve the layout process. Also clean some not needed calls 
+       here and there.
+
+2008-09-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuAPI.cs: Add a null check to the Alt-F4 code.
+       [Fixes bug #420309]
+
+2008-09-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThreadExceptionDialog.cs: Disable AutoScaling for this dialog.
+       [Fixes bug #423040]
+
+2008-09-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs, CategoryGridEntry.cs, RootGridEntry.cs, PropertyGrid.cs, 
+       PropertyGridView.sc: Implement lazy/delayed propertygrid population 
+       on item expansion. Improves performance and fixes bug #417955.
+       [Fixes bug #417955]
+
+2008-09-05  Stephane Delcroix  <sdelcroix@novell.com>
+
+       * Control.cs: only check for OptimizedDoubleBuffer in NET_2_0.
+       fix the build.
+
+2008-09-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Add "_" to the list of valid characters in a URL.
+       [Fixes bug #423408]
+
+2008-09-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If using OptimizedDoubleBuffer, ensure the clip 
+       region gets set.
+       [Fixes bug #414166]
+
+2008-09-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: When storing our font size from the starting font,
+       use SizeInPoints instead of Size in case Size is a different unit
+       from Points.
+       [Fixes bug #416489]
+
+2008-09-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: When enter is pressed on a SaveFileDialog and we
+       don't use it for anything else, check if a directory is highlighted.
+       If it is, navigate into it.
+       [Fixes bug #422087]
+
+2008-09-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When acquiring a BindingManagerBase for the first time,
+       check that the specified property actually exists in the data source,
+       and throw an ArgumentException if that's not the case - this is only
+       done for this scenario, since for later cases (such Position changes)
+       we throw different exceptions (match .Net).
+
+2008-09-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ButtonBase.cs CheckBox.cs, Control.cs, FlowLayoutPanel.cs, 
+         FlowLayoutSettings.cs, GroupBox.cs, Label.cs, ListBox.cs, 
+         PropertyGrid.cs, RadioButton.cs, TableLayoutPanel.cs, 
+         TableLayoutSettings.cs, ToolStrip.cs, ToolStripDropDownButton.cs, 
+         ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripSplitButton.cs, 
+         ToolStripStatusLabel.cs: Add missing PerformLayout calls to various 
+         properties.
+         [Fixes bug #418684]
+
+2008-09-03  Neville Gao  <nevillegao@gmail.com>
+
+       * StatusBar.cs: Control enabled to support accessibility.
+       [Fixes bug #419079]
+
+2008-09-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When connecting the event handler for the "Changed"
+       event for the property, only do it for PropertyManager, and not for
+       CurrencyManager - this is exactly what does .Net, totally ignoring any
+       change in the property of the elements of a list.
+       Fixes the tests.
+
+2008-09-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Ensure we never send the WS_EX_MDICHILD flag
+       to Windows when creating a window, as we fake MDI stuffs.
+       [Fixes bug #421858]
+
+2008-09-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TextBox.cs: Invalidate after UseSystemPasswordChar, so that the 
+       change takes effect.
+
+2008-08-24  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Provide MouseButtons/State information to the XPlatUI.
+       [Fixes bug #419001]
+
+2008-08-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Raise CellContentClick event.
+       [Fixes part of bug #420351]
+
+2008-08-27  Mario Carrion  <mcarrion@novell.com>
+
+       * ScrollBar.cs: Control enabled to support accessibility.
+       [Fixes bug #416759]
+
+2008-08-27  Mario Carrion  <mcarrion@novell.com>
+
+       * ComboBox.cs: Control enabled to support accessibility.
+       [Fixes bug #416663]
+
+2008-08-27  Mario Carrion  <mcarrion@novell.com>
+
+       * ListBox.cs: Control enabled to support accessibility.
+       [Fixes bug #416640]
+
+2008-08-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Don't suppress the TextChanged event when changing
+       the SelectedIndex.
+       * ToolStripComboBox.cs: Listen to the ComboBox's TextChanged event
+       and re-raise it.
+       [Fixes bug #420673]
+
+2008-08-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs: Fix a regression NRE when setting properties
+       for a control before it has a parent.
+       [Fixes bug #420305]
+
+2008-08-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Use the BindingManagerBase.Current value to obtain
+       connect the property "Changed" event, instead of using the data
+       sources - this is useful when the property specifies actually a
+       multiple objects path.
+       Fixes part of #417973.
+
+2008-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * RelatedPropertyManager.cs: PropertyManager instances associated to a
+       nested properties should return not the properties of the data source
+       itself, but the properties of the type of a specific property in the
+       data source - match .net.
+
+2008-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListBox.cs (IntegerCollection): To avoid duplication, moved code for
+       AddRange overloads into AddItems method, and added missing NULL check.
+       Added extra argument check to RemoveAt for compatibility with MS. 
+       Modified IList implementation of Add, Contains, IndexOf and Remove to
+       throw an ArgumentException if item is not an int. Modified IList.Insert
+       to throw a NotSupportException instead of an Exception. Implemented
+       ICollection.
+       (ObjectCollection): To avoid duplication, use AddItems method from
+       AddRange overloads. On 1.0 profile, first perform NULL check on items
+       in AddItems.
+
+2008-08-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Control.cs: Do not modify bounds directly in .ctor's. Fixes bug
+        #419087.
+
+2008-08-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : comment out some Console.WriteLine().
+
+2008-08-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : fixed wrong call to XOpenIM() which happened
+         even if premises are not filled. Also XLookupString() was not
+         receiving correct input, which blocked precise input handling
+         on non-XIM mode.
+
+2008-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * ListView.cs: When calling OnCacheVirtualItems, cast to the right
+       type of delegate, instead of EventHandler - this was causing a type
+       cast exception in all apps handling this event.
+       Fixes #417876.
+
+2008-08-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Always raise DropDownOpening in
+       ShowDropDown to give the user a chance to dynamically add
+       drop down items.  [Step 1 of fixing bug #417877]
+
+2008-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Don't fire pseudo motion DragOver events if we haven't
+       had any mouse motion since the call to StartDrag, to match the dnd
+       behaviour of .net.
+       Fixes part of #381876.
+
+2008-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Only do the children control bounds check for EnterNotify
+       if mode is NotifyUngrab, and let it flow if mode is NotifyNormal.
+       Also, if we are actually moving into a different window after
+       grabbing, generate a LeaveNotify event for the previous window, since
+       we need to fire the leave events until the grab ends, not when
+       actually moving outside of the control.
+
+2008-08-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: The check inside EnterNotify case to fire MouseEnter
+       events only for client windows was wrong - we need to compare the
+       client window against the window receiving the EnterNotify event, not
+       against zero (since client window is never Zero, btw).
+       This prevents having unnecessary handling of EnterNotify events for
+       non-client windows when a gran begins.
+
+2008-08-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Handling X ButtonPress events, we must *not* generate
+       MouseMove/MotionNotify events at all (which should only happen after
+       MouseUp/ButtonRelease, as .Net does).
+       This avoids firing an extra and unnecessary MouseMove event just after
+       every MouseDown event.
+
+2008-08-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LinkLabel.cs: Always clear any previous links when LinkArea
+       is set.  [Fixes bug #410709]
+
+2008-08-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripProfessionalRenderer.cs: Revert last change.
+       * ProfessionalColorTable.cs: For Classic, use SystemColors.Window
+       for ToolStripDropDownBackground.
+
+2008-08-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripProfessionalRenderer.cs: Use Window color for the 
+       background of dropdowns to match .Net when the user is not
+       using the default white.  [Fixes bug #418108]
+
+2008-08-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIWin32.cs : SetTimer() used to set wrong window handle and
+         it caused timer registration twice. Fixed bug #418107.
+
+2008-08-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       [Correction: This is the actual change to X11Dnd issue, not the
+       previous one, which was actually a different issue.]
+
+       * X11Dnd.cs: Increase the interval for the Timer, to not fire our
+       pseudo motion HandleMouseOver method so aggresive. Also, don't call it
+       when the pointer is actually in motion, but only when the pointer
+       seems to stop (as .net does).
+       Fixes part of #381876.
+
+
+2008-08-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Fix CopyTo implementation.
+       [Fixes bug #409169]
+
+2008-08-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Use ClientRectangle instead of Bounds when
+       drawing a ComboBox's background.  Fixes bad disabled rendering when
+       the control is not at 0,0.
+       [Fixes bug #416063]
+
+2008-08-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Leave the ICustomTypeDescriptor handling up to the 
+       ComponentModel layer, which will properly prioritize the attributes.
+       Avoids wrong prioritization of duplicate attributes when retrieving 
+       the converter and editor.
+       [Fixes bug #417729]
+
+2008-08-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Increase the interval for the Timer, to not fire our
+       pseudo motion HandleMouseOver method so aggresive. Also, don't call it
+       when the pointer is actually in motion, but only when the pointer
+       seems to stop (as .net does).
+       Fixes part of #381876.
+
+2008-08-15  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Perform stricter check for the ParentEntry's 
+       PropertyDescriptor/PropertyOwner for the ICustomTypeDescriptor 
+       implementation.
+       [Fixes bug #417567]
+
+2008-08-14  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Properly implement PeekMessage and DoEvents.
+       Fixes #396983.  Properly fix ActiveWindow trackin and do not
+       prematurely show POPUP windows.
+
+2008-08-12  Carlos Alberto Cortez <calberto.cortez@gmail.com> 
+
+       * XplatUIX11.cs: Handle the obscured regions while scrolling using
+       GraphicsExpose event, processing it just after we copy the scrolled
+       area. This ensures that the next calls to ScrollWindow will copy
+       regions already updated, and the scrolling will be smooth. Also remove
+       the code that was trying to detect the obscured regions, since we are
+       not using it anymore (too slow).
+
+2008-08-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Fix the -temporary- broken selection in ListBox for
+       MultiExtended mode, by separating some logic between the ctrl/shift
+       handling. Also ignore any MouseMove events generated together with
+       MouseDown events - we are only interested in the real motion event.
+       Fixes part of #414963.
+
+2008-08-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Guard against an AOORE when checking if a cell
+       is selected.  [Fixes bug #414143]
+
+2008-08-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Check if current property is a ICustomTypeDescriptor 
+       and not the parent one (the propertyowner). Fixes the behavior of 
+       GetConverter/GetEditor.
+       [Fixes bug #415452]
+
+2008-08-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Refresh should also repopulate the PropertyGrid.
+       [Fixes part of bug #415452]
+
+2008-08-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: ITypeDescriptorContext should be relative to the parent 
+       GridEntry, not the current.
+       [Fixes bug #413896]
+
+2008-08-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TextBoxBase.cs: De-internalize max_length field.
+       * RichTextBox.cs: Use base.MaxLength - both TextBoxBase and RichTextBox 
+       share the same logic.
+       [Fixes bug #414454]
+
+2008-08-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Selection changes made in the MouseDown handler should
+       use the *Core versions of selection in SelectedIndices collection,
+       since the SelectedIndexChanged/SelectedValueChanged events are fired
+       until we get a MouseUp event, and thus we need to separate the logic
+       from the events, as done in the keyboard navigation. Also, fire those
+       selection events from keyboard navigation in SelectionMode.None, even
+       if we don't have a selection, as .Net does.
+
+2008-08-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripButton.cs, ToolStripMenuItem.cs: Guard against a NRE my
+       last change introduced when an item is clicked but isn't on a toolstrip.
+
+2008-07-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: When looking for an object's properties, check
+       if it implements ICustomTypeDescriptor, in which case we should
+       resolve the propertu based on its GetProperties method, not in its
+       actual properties. This is what .Net seems to do.
+       Fixes a UsingWebBrowser problem during initialization.
+
+2008-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Fix an NRE caused by clicking on a ToolStripButton
+       sitting on a MenuStrip.
+
+2008-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripButton.cs: If we "click" a top button on a menustrip that has
+       no children with the keyboard, we need to release the keyboard capture.
+       [Fixes bug #413567]
+
+2008-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: If we "click" a top level menu item that has
+       no children with the keyboard, we need to release the keyboard capture.
+       [Fixes bug #413567]
+
+2008-07-31  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Made ScrollBar rendering less strict so it supports
+       the GTK+-based implementation of VisualStyles.
+       * ThemeWin32Classic.cs: Exposed various layout values for use in the
+       GTK+-based implementation of VisualStyles: ListViewGetHeaderHeight(Font),
+       ListViewGetHeaderHeight(), ProgressBarChunkSpacing, ProgressBarGetChunkSize(),
+       ProgressBarGetChunkSize(int), ProgressBarDefaultHeight,
+       TrackBarGetThumbSize(), TrackBarVerticalTrackWidth,
+       TrackBarHorizontalTrackHeight.
+
+2008-07-31  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * TabControl.cs: Added hot style handling for the scroll buttons.
+       right_slider_state, left_slider_state are now of type PushButtonState to
+       allow for a hot state. Added tracking of the mouse button being held down
+       on a tab page. Extracted HasHotElementStyles, RightScrollButtonArea,
+       LeftScrollButtonArea.
+       * Theme.cs, ThemeWin32Classic.cs: Removed TabControlGetLeftScrollRect,
+       TabControlGetRightScrollRect.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Check for null GrabControl on ProcessMnemonic to prevent 
+       runtime errors.
+
+2008-07-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Ensure that we reset the shown_raised flag after 
+       the form is closed, so that we raise the show events the next 
+       time the form is shown.
+       [Fixes bug #413141]
+
+2008-07-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Ensure closing events are raised only once.
+       [Fixes bug #413143]
+
+2008-07-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * X11Keyboard.cs: Refactor SendKeyboardInput to accept the keycode, 
+       so that we can successfully generate the LParam in-place instead of 
+       in KeyEvent, which isn't called for e.g. MainMenu. Fixes keyboard 
+       navigation for menus.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: When montion don't set the keyboard navigation state to 
+       'navigating'. Fixes bug #411356.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       [Fixed remaining issues of #406773 (#1)]
+       * MenuItem.cs: UpdateMenuItem added to track the shotcut changes.
+
+       * MenuAPI.cs: Don't create tracker on TrackPopupMenu, it will be created in
+       MainMenu (already done) and ContextMenu creation.
+
+       * ContextMenu.cs: Create tracker on construction. 
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: For ContextMenu set GrabControl on TrackPopupMenu, it make
+       possible to instantiate MenuTracker without GrabControl.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: On constructor dont set the GrabControl for non ContextMenu.
+
+       * MainMenu.cs: Set GrabControl on SetForm using current form.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Chage grab_control to GrabControl and make it public.
+
+2008-07-30  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Check if menu is activated before deactivate it in 
+       ProcessShortcut.
+
+2008-07-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutStyleCollection, TableLayoutStyle.cs, RowStyle.cs, 
+       ColumnStyle.cs: 
+       Make the TableLayoutStyle owned by the the TableLayoutPanel, so that:
+        - One style instance can only participate in a single style collection.
+        - Styles can request their owner to layout whenever their properties 
+        change.
+        [Fixes bugs #412583 and #412582]
+
+2008-07-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * X11Keyboard.cs: Implement the generation of the LParam for 
+       all keyboard messages.
+       [Fixes bug #378728]
+
+2008-07-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Don't let the user set TopIndex so high that it
+       scrolls up far enough to show empty items.
+       [Fixes bug #412728]
+
+2008-07-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: Actually commit the changes to fix #410880
+       (I'm an idiot and forgot to commit the actual changes, as well as
+       specify the right file, which is this one, not ListView.cs).
+
+2008-07-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Don't draw ListViewSubItem instances from
+       DrawListViewItem - we need to reuse the main item's drawing for the
+       first sub item in case owner draw is true, but wants the system to
+       do the default draw for the first sub item, without incurring in a
+       recursion problem.
+       Fixes #410880.
+
+2008-07-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripButton.cs: Update Checked for CheckOnClick before
+       raising the Click event.  [Fixes bug #412505]
+
+2008-07-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Remove some seems leftover code for non-TopLevel's 
+       CreateParams, which is breaking ClientSize sizing, because it 
+       removes the border window styles.
+
+2008-07-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Invalidate the View when the PropertyTab 
+       changes.
+
+2008-07-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * WebBrowser.cs: Removed debug output.
+
+2008-07-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Apply patch from Ernesto to clean up some
+       dialog messages.
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutPanel.cs: Perform layout on GrowStyle change, so 
+       that the change has an immediate effect.
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ScrollableControl.cs: Update PerformLayout calls to include 
+       provide the name of the property that changed.
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutPanel.cs: Draw relative to the DisplayRectangle 
+       location. Fixes drawing of border and cell borders if scrollable.
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ScrollableControl.cs: Perform layouting after the AutoScroll 
+       properties have changed, so that the changes have immediate 
+       effect.
+       [Fixes bug #409090]
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Non Client area is actually Client such in the 
+       case of NotifyIcon, so double check WholeWindow == ClientWindow 
+       when adding an expose.
+       [Fixes bugs #324237 and #357022]
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutPanel.cs: Invalidate after layouting, so that we 
+       repaint the cell borders.
+
+2008-07-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs: Stop filtering messages prior to our 
+       disposal to avoid unexpected ObjectDisposedExceptions.
+
+2008-07-24  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * TableLayoutPanel.cs: Layout on Row/Column count change.
+
+2008-07-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListViewItem.cs: Changed binary serialization to match MS. Fixes
+       bug #409351.
+       * PictureBox.cs: When ImageLocation is set to null or an empty string,
+       only set image to null if it was previously initialized from an url
+       (or using ImageLocation). In ImageLocation, load specified image
+       asynchronously if WaitOnLoad is false. Added support for local file
+       paths to LoadAsync, and added missing argument check.
+
+2008-07-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: 
+       * ThemeWin32Classic.cs: Add a editing capability to DateTimePicker, in
+       order to set the value as required (which means: when selection
+       changes for a part being edited, and not before that if not needed).
+       Also use an enum to describe which part are we using, and use the
+       selection as a property in PartData, in order to notify the
+       DateTimePicker owner that we need to end the current edit.
+       Fixes #383462.
+
+2008-07-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs: Validation should be performed only if we 
+       are focused. We can lose focus for example if the Return key is used 
+       to set the entry and there is an error. When the message box is 
+       displayed we would have validate on click in the message box.
+
+2008-07-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Checking for DesignerSerializaitonVisibility.Content 
+       in order to determine that we are expandable is wrong. There was a bug, 
+       now fixed, in TypeDescriptor that was causing the wrong converter to be 
+       returned which caused GetPropertiesSupported == false in most cases.
+       [Fixes bug #409027]
+
+2008-07-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ImageList.cs: Fix ICollection.CopyTo implementation for
+       ImageListCollection.  [Fixes bug #409169]
+
+2008-07-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuAPI.cs, ToolStripDropDown.cs: Use VirtualScreen instead of
+       WorkingArea so that menus can appear on the second monitor
+       when one has dual monitors.
+
+2008-07-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Auto complete stuff in WndProc should be 2.0 only.
+       Fixes build.
+
+2008-07-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Implement navigation support for auto complete in
+       TextBox, as well as refactor the code to show the auto complete window
+       when receiving a WM_CHAR message, instead of TextChanged, since
+       autocomplete itself should be able to set the Text a lot of times and
+       finally only typing should show it, not changes from code.
+
+2008-07-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When expanding the selected tab, don't adjust the
+       width if alignment is Right, since it has a different offset than 0,
+       as opposed to the other alignments.
+       Fixes the selected tab not being painted at all with alignment = Right
+       and using FillToRight size mode.
+
+2008-07-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Fix ToString to match MS.  [Fixes bug #409029]
+
+2008-07-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NumericUpDown.cs: Apply patch from Andy Hume to clamp out of range
+       values from the textbox to the boundary values.  [Fixes bug #409026]
+
+2008-07-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNodeCollection.cs: We were copying one too many elements when
+       doing our array copy.  Fixes a crash when RemoveAt is called.
+       [Fixes bug #408999]
+
+2008-07-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When doing the layout and need to call FillRow -using
+       FillToRight size mode-, use the overload receiving a bool param
+       indicating whether we need to do a vertical or horizontal calculation.
+       Fixes part of #399583.
+
+2008-07-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: When painting, use the value returned by
+       GetLastVisibleItem instead of using the cached last_item field, since
+       there could be a desynchronization between the layout and the
+       painting. Fixes a AOOR exception in auto complete mode.
+
+2008-07-12  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Disabled when Application.VisualStyleState is
+       NonClientAreaEnabled until our VisualStyles is modified to allow it.
+
+2008-07-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBox.cs: Fixed NRE in LostFocus. Avoid unnecessary initialization.
+
+2008-07-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: When focus is lost, if the auto complete listbox is
+       visible, hide it.
+
+2008-07-11  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: HandleSizing: Implemented a better minimum
+       tracking size for tool windows.
+       * Theme.cs, ThemeWin32Classic.cs : Extracted
+       ManagedWindowSpacingAfterLastTitleButton.
+
+2008-07-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeEngine.cs: Remove the clearlooks, nice, and old gtk themes.
+       They are bit-rotted and have always been listed as "unsupported".
+
+2008-07-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PictureBox.cs: Don't crash if ImageLocation is set to "" or null.
+
+2008-07-11  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Fixed minimized window height adjustment.
+
+2008-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Make sure last_item_visible gets reset before we try
+       to do a layout due to scrollbars appearing or disappearing.
+       [Fixes bug #408139]
+
+2008-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XPlatUIWin32.cs: Change GetMenuOrigin to calculate borders better
+       for different window themes.  [Fixes bug #339140]
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Implemented minimized window border width properly,
+       in ManagedWindowBorderWidth.
+
+2008-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * InternalWindowManager.cs: Change MouseMove to take a point, so
+       we can use the same point later on.
+       * MdiWindowManager.cs: Store point sent to MouseMove so we can
+       later reset to it.  On Windows, the Cursor.Position had already
+       changed by the time we were resetting to it.
+       [Fixes bug #363239]
+
+2008-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * InternalWindowManager.cs: Ignore mouse actions on TitleButtons that
+       are inactive.
+       * ThemeWin32Classic.cs: Disable or hide MinimizeBox/MaximizeBox if
+       user requested it.
+       [Fixes bug #398686]
+
+2008-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiWindowManager.cs: Double-clicking on the title bar should not
+       maximize a MDI form if MaximizeBox = false.
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Fixed a warning.
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Fixed warnings and formatted.
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Removed ManagedWindowGetMenuButtonSize. The base
+       implementation produces a better result.
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Adjusted height and border rendering for minimized
+       windows.
+
+2008-07-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Application.cs: Added VisualStylesEnabled because XplatUI.ThemesEnabled
+       cannot be used from the ThemeEngine constructor.
+       * ThemeEngine.cs: Changed the XplatUI.ThemesEnabled check to
+       Application.VisualStylesEnabled because it does not work on X11.
+
+2008-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusBar.cs: Apply patch from Andy Hume to remove lazy instantiation
+       that we did not always check for, as well as fixes to the IList
+       implementations.  [Fixes bug #402703]
+
+2008-07-09  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * IDeviceContext.cs: Added Dispose.
+
+2008-07-09  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Control.cs: Added OnSizeInitializedOrChanged.
+       * Form.cs: OnLoadInternal: Added a call to
+       Control.OnSizeInitializedOrChanged.
+       * InternalWindowManager.cs:
+        * HandleTitleBarMouseMove: No longer invalidates the parent window.
+        * DrawTitleButton: Extracted Theme.ManagedWindowDrawMenuButton.
+        * TitleButton: Added Entered.
+        * TitleButtons.MouseMove: Added handling of TitleButton.Entered.
+       * MdiWindowManager.cs:
+        * HandleTitleBarMouseMove: Now invalidates the parent window when a mouse
+        move over the maximized title buttons causes a change.
+        * IsActive: Can now be called before the window is added to a MDI parent.
+       * Theme.cs: Added ManagedWindowTitleButtonHasHotElementStyle,
+       ManagedWindowDrawMenuButton, ManagedWindowOnSizeInitializedOrChanged.
+       * ThemeVisualStyles.cs: Implemented proper managed window rendering.
+       * ThemeWin32Classic.cs:
+        * Extracted ManagedWindowDrawTitleBarAndBorders, ManagedWindowDrawTitleButton.
+        * DrawTitleButton takes a new form parameter.
+        * Added ManagedWindowTitleButtonHasHotElementStyle,
+        ManagedWindowDrawMenuButton, ManagedWindowOnSizeInitializedOrChanged.
+
+2008-07-09  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeEngine.cs: ThemeVisualStyles is now selected if
+       Application.EnableVisualStyles has been called, even if the current system
+       configuration does not support rendering with Visual Styles.
+       * ThemeVisualStyles.cs: Now falls back to ThemeWin32Classic when Visual
+       Styles should not be used.
+
+2008-07-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: PreferredHeight is not tied to ItemHeight.  Fixes 3rd
+       ComboBox in FormsTest.
+
+2008-07-08  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ThemeWin32Classic.cs: (ManagedWindowBorderWidth): width 3 is only 
+       for fixed toolwindows.
+
+2008-07-08  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Form.cs: SetBoundsCore: Added minimum size for minimized windows.
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: CreateControl just returns if the Control is diposed 
+       and doesn't throw ObjectDisposedException.
+       [Fixes bug #406566]
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: Do not create the control if the parent isn't created 
+       yet, e.g in the case of a parented form on which .Show is called.
+       It will be created when the parent is made visible/created.
+       Improves #402446.
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Avoid recursively calling OnSizeChanged due to recursive 
+       WM_WINDOWPOSCHANGED caused by the layouting code on win32.
+       [Fixes bug #406786]
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: When disposed set owner to null. Improves #402446.
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs, FlowLayoutPanel.cs: When calculating the PreferredSize 
+       use children's PreferredSize if in AutoSize mode and ExplicitBounds 
+       if not.
+       * Form.cs: Take the Padding into account for the PreferredSize.
+       [Fixes bug #402849]
+
+2008-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Since we don't support more than one direction in
+       TabControl rows alignment (this is, the row becomes the
+       bottom row when selected), make Direction return always 1. This way
+       the layout doesn't get confused about a bad calculation.
+       Fixes #399582.
+
+2008-07-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Implement NC hit-testing for mouse down/up messages, 
+       so that the wparam is properly set.
+       Fixes form moving in the test case in bug 402446.
+
+2008-07-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FolderBrowserDialog.cs: If we can't find the SelectedPath, display
+       the full tree instead of nothing.  [Improves bug #406584]
+
+2008-07-07  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Adjusted minimized window painting.
+
+2008-07-07  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: No longer draws decorations for maximized MDI
+       children.
+
+2008-07-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Add a null check when using CollapseAll on an
+       empty tree.  [Fixes bug #406449]
+
+2008-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Make OnMenuComplete internal so we can call it.
+       * MenuAPI.cs: Raise Form.MenuComplete when a menu item is clicked.
+       [Fixes bug #399321]
+
+2008-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TabControl.cs: Handle Up and Down keys when TabControl is in
+       vertical alignment.
+       [Fixes bug #399585]
+
+2008-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TabControl.cs: Invalidate when we remove a tab.  Guard against
+       an AOORE when trying to remove a tabpage that is not owned by the
+       parent control.
+       [Fixes bug #399927]
+
+2008-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: Change the LargeChange calculation to be correct.
+       Ensure we are using LargeChange instead of large_change so we our
+       calculations are correct.
+       [Fixes bug #403122]
+
+2008-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: When we change to a serialized TableLayoutSettings,
+       we need to ensure the ColumnCount/RowCount gets set.
+       [Fixes bug #404851]
+
+2008-07-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When handling item navigation, if selection mode is
+       None, call EnsureVisible, since scrolling is normally handled by
+       selection, that we are not calling in this case.
+       Fixes #398345.
+
+2008-07-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Apply a patch from Ernesto Carrea that adds
+       a null check to our focus walking code.  [Fixes bug #394332]
+
+2008-07-02  Andy Hume <andyhume32 at yahoo dot co dot uk>
+
+        * ComboBox.cs: Case missed in bug 379596 "Support item
+        navigation by entering text": On _close_ drop-down select
+        the first item matching the text in the textbox.  [Fixes bug #397265]
+
+2008-07-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Fix a crash when sorting by column headers, 
+       mentioned in bug #404841.  Remove some dead switch cases.
+
+2008-07-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs:
+       * TextBox.cs: Implement AutoComplete support for ComboBox, which just
+       uses the AutoComplete support in the internal TextBox. Also TextBox
+       can store a reference to ComboBox, in case AutoCompleteSource is set
+       to ListItems (this is, ComboBox's items, and we don't want to pass an
+       additional collection).
+
+2008-07-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Restore the initial value of bounds rect to
+       Rectangle.Empty, and is this value for Layout detection in virtual
+       mode. Fixes the tests.
+
+2008-06-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XPlatUI.cs: Remove references to "new" X11 backend.
+
+2008-06-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: Add an internal virtual OnDragDropEnd method 
+       to allow controls such as ListBox, which depend on a sequence 
+       of MouseDown+Move+End events, to handle the lack of a MouseUp 
+       when a DnD operation is started in MouseDown.
+       * ListBox.cs: If a DnD operation is started in MouseDown we won't 
+       get a MouseUp, so reset our state whenever a DnD operation ends.
+
+2008-06-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Clear the root griditem first thing when 
+       new object/s is/are selected. Fixes some rare cases where 
+       the View will get a paint request and won't know that the 
+       grid is in the process of repopulating.
+
+2008-06-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs, InternalWindowManager.cs: 
+       If WS_EX_TOOLWINDOW is set in the CreateParams for a form MS 
+       doesn't automagically update the FormBorderStyle, so we must 
+       double check the CreateParams explicitly to determine if the 
+       window is a toolwindow.
+       * ThemeWin32Classic.cs: Use InternalWindowManager.IsToolWindow 
+       instead of doing custom checks.
+
+       Fixes toolwindows for the test case in bug #402446
+
+2008-06-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: Visibility of the control should be false 
+       when the handle is destroyed in WmDestroy and not immediately 
+       in Dispose(). This is effectively where the disposing process 
+       ends even though the control is marked as Disposed immediately 
+       after calling Dispose().
+       [Fixes bug #402446]
+
+2008-06-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs: Start monitoring the mouse clicks 
+       when the textbox gets focus.
+       [Fixes bug #402704]
+
+2008-06-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs, PropertyGridView.cs: 
+        - Alt + Down should show the drop down editor.
+        - Focus the editor when showing it
+       [Fixes bug #402710]
+
+2008-06-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Fix from Andy for panel text for panels
+       that are not the first panel.
+       * StatusBar.cs: Ensure that the X coordinate of panels is always
+       stored.  Fix IList implementation of StatusBarPanelCollection to
+       call the regular methods.
+       [Fixes bug #403599, #402165]
+
+2008-06-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Fix position calculation for centered
+       text on status bar panels.  [Fixes bug #402165]
+
+2008-06-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Splitter.cs: Fix Splitter to:
+        - Work for arbitrary splitter size
+        - Handle MinSize and MinExtra properly
+        - Get rid of absolute positioning during drag and use relative
+        - Multiple other fixes 
+        [Fixes bug #338966]
+
+2008-06-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Cursor.cs: Show shouldn't hide the cursor.
+
+2008-06-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: When invalidating, add some extra space to bounds,
+       since focus rectangle and selection can add some space and need to
+       take into account those small offsets - specially in Details view.
+       * ListView.cs: Instead of invalidate using item Bounds directly, call
+       item.Invalidate, to have the code centralized.
+       Fixes focused/selection garbage when selecting and deselecting items
+       that are close.
+
+2008-06-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Set bounds initially to -1 values - thus in virtual
+       mode we can check whether we have to force a Layout or not, and can
+       cache based on this, instead of avoiding caching all the the time. Do
+       this check in GetBounds and TextBounds.
+       Fixes selection in Details view.
+
+2008-06-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Make HeaderControl internal, thus the theme engine can
+       get its *real* height instead of trying to infere it.
+       * ThemeWin32Classic.cs: When drawing gridlines, don't iterate over the items to
+       get the position of them, since it's in general a bad idea in general,
+       and because we can't do that in virtual mode. Instead get the first
+       visible item as well as item height, and draw them.
+       Fixes #400390.
+
+2008-06-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitButton.cs: We can't add in extra width if
+       the button is not AutoSize.  [Fixes bug #401279]
+
+2008-06-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PaddingConverter.cs: 
+        - Implement conversion to InstanceDescriptor
+        - Handle "All" in CreateInstance by using the supplied 
+        ITypeDescriptorContext.
+        [Fixes bugs #396076 and #396078]
+
+        Patch by Andy Hume  <andyhume32@yahoo.co.uk>
+         Code contributed under MIT/X11 license.
+
+2008-06-19  Andy Hume <andyhume32 at yahoo dot co dot uk>
+
+        * ComboBox.cs, ListControl.cs, Control.cs, Button.cs, 
+       ButtonBase.cs:
+       Add Category attributes.
+       Code is contributed under the MIT/X11 license.
+
+2008-06-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: 
+        - Fix a NRE when unparenting a form.
+        - Do not recreate or destroy a parented form when 
+       unparenting. 
+
+2008-06-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TextBox.cs: Implement basic support for AutComplete with custom
+       sources.
+
+2008-06-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitButton.cs: Left and Top of ButtonBounds, SplitterBounds,
+       DropDownButtonBounds should be from the origin of the button, not the
+       ToolStrip.  [Fixes bug #401279]
+
+2008-06-16  Sandy Armstrong <sanfordarmstrong@gmail.com> 
+
+       * X11DesktopColors.cs: Clear GTK_MODULES environment variable before
+         running gtk_init_check.  This prevents GAIL from loading
+         unnecessarily, which was breaking UIA support.  Initial fix for bug
+         #375987.
+       * Application.cs: Add UIA support to Winforms.  New static constructor
+         uses reflection to initialize UIAutomationWinforms assembly.  Added
+         PreRun event so UIA can initialize before the mainloop starts, and
+         FormAdded event so UIA can provide a11y support for new Forms in an
+         Application.
+
+2008-06-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When binding to a dataset, subscribe to table
+       and column change events.  Unsubscribe to these when we clear bindings.
+       [Fixes bug #399601]
+
+2008-06-14  Everaldo Canuto  <ecanuto@novell.com>
+
+       [DataGrid drawing refactory]
+
+       * DataGrid.cs: Fix the caption size, we need one pixel more for divider.
+
+       * DataGridColumnStyle.cs: Removing PaintHeader code, the draw operations
+       must be handle by Theme, now it call DataGridPaintColumnHeader.
+
+       * DataGridTextBoxColumn.cs: Fix the textbox size. It must be one pixel less,
+       test cases must be also fixed because it checks for wrong size.
+
+       * ThemeWin32Classic.cs: 
+               - Draw the bottom line of grid caption.
+               - Prevent to draw caption text when it is empty.
+               - Use CPDrawBorder3D for 3D efects to simplify code.
+               - Uses 3D (when not flat) to paint corner shared between row and column
+               header.
+               - Fix header drawing issues on win32, now borders are drawing.
+               - Fix column header paint issues to mimic win32.
+               - Adjust header drawing for last column, like first one it must be draw
+               different.
+               - Added DataGridPaintRowHeaderStar to draw star like .net does, it is
+               not an character.
+               - DataGridPaintColumnHeader created to draw column headers, it also
+               paint stuff right on Win32.
+               - Use DataGridPaintColumnHeader method instead of DataGridColumnStyle 
+               class.
+
+       * Theme.cs: 
+               - DataGridPaintRowHeaderStar method added.
+               - DataGridPaintColumnHeader method added.
+
+2008-06-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Don't reset to Dock style layout if DockStyle is
+       set to none.  [Fixes bug #399316]
+
+2008-06-12  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Win32DnD.cs: Fix the check for control not equal null.
+       Fixes bug #341420 and #381886. 
+
+2008-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: Update the indexes of rows after
+       one has been removed.
+       * DataGridViewSelectedRowCollection.cs: Add internal clear method.
+       * DataGridViewSelectedColumnCollection.cs: Add internal clear method.
+       * DataGridView.cs: Add support for deleting rows via Delete key, deleting
+       rows for the Rows collection, or deleting rows from the bound DataSet.
+
+2008-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Listen to a DataSet's changed event even
+       when autogeneratecolumns is false.  Refactor the changed event's
+       add row code to use the same as the existing add row code.
+       [Fixes bug #399601]
+
+2008-06-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: We need to call RaiseSelectionChanged pretty
+       much any time the caret moves and there is text, not just when
+       the selection changes as one would think.
+       * RichTextBox.cs: Override RaiseSelectionChanged and fire
+       SelectionChanged.
+       [Fixes bug #397271]
+
+2008-06-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Forward ListBox keyboard events to the ListBox
+       instead of trying to duplicate the code.
+       * ListBox.cs: Make method internal so we can send keyboard events.
+       [Fixes bug #398344]
+       
+2008-06-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: When pasting and checking the max length,
+       subtract the selected text length (the text we will be replacing) from
+       the document length.
+       * TextControl.cs: Ensure every character insertion is reflected in
+       charcount, so max length will work properly.
+       [Fixes bug #398605]
+
+2008-06-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Ensure scrollbars are updated when a single
+       column listbox with an already set top-index is created.
+       [Fixes bug #398342]
+
+2008-06-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Typing in the font/style textboxes should search
+       the list boxes case-insensitively.  [Fixes bug #398343]
+
+2008-06-11  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Managed window title bar layout now uses actual
+       widths of icon and buttons instead of hard coded values.
+
+2008-06-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When SelectionMode is None, clicking an item should move focus
+       as well as generating a SelectedIndexChanged event, just like .Net does
+       -surprise-.
+       Fixes #398345.
+
+2008-06-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When navigating items visually, use FocusedItem as the
+       reference point instead of SelectedIndex, since even in
+       SelectionMode.None we need to support navigation, and in that case we
+       just can't use SelectedIndex.
+       Fixes part of #398345.
+
+2008-06-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make a SetBoundsInternal that avoids the new
+       SetBounds code.
+       * ComboBox.cs, Form.cs, ListBox.cs, ScrollableControl.cs: Use
+       SetBoundsInternal instead of SetBoundsCoreInternal.
+
+2008-06-10  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ScrollableControl.cs: Use SetBoundsCoreInternal instead of 
+       SetBounds for the scrollbars.
+
+2008-06-10  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlDocument.cs: Implement RightToLeft, ContextMenuShowing,
+         FocusingEvent, LosingFocusEvent, OnMouseDown, OnMouseLeave,
+         OnMouseMove, OnMouseOver, OnMouseUp
+       * HtmlElement.cs: Optimize InsertBefore. Implement RemoveFocus,
+         ScrollIntoView, Focusing, GotFocus, LosingFocus, LostFocus.
+       * HtmlElementCollection.cs, HtmlWindowCollection.cs: Keep a reference
+         to the WebControl object to pass to new collection objects
+       * HtmlHistory.cs: Implement support for individual window histories.
+       * HtmlWindow.cs: Implement History, Position, Size, WindowFrameElement,
+         AttachEventHandler, DetachEventHandler, RemoveFocus, Error,
+         GotFocus, LostFocus, OnLoad, OnUnload
+       * WebBrowser.cs: Implement EncryptionLevel, ScrollBarsEnabled,
+         ContextMenu
+       * WebBrowserBase.cs: Implement Cursor, Enabled, UseWaitCursor, Add
+         security level changes and context menu event support.
+
+2008-06-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Pressing Enter should close the dropdown listbox, just
+       as happens with Esc, patch my Andy Hume.
+       Fixes #396294.
+
+2008-06-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * MdiWindowManager.cs: DrawMaximizedButtons now uses
+       ManagedWindowGetMenuButtonSize instead of ManagedWindowButtonSize.
+       * Theme.cs: Made MenuButtonSize platform dependent. Added
+       ManagedWindowButtonSize.
+       * ThemeWin32Classic.cs: Added ManagedWindowGetMenuButtonSize.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added MenuButtonSize.
+
+2008-06-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * DateTimePicker.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs:
+       Added support for rendering with VisualStyles.
+
+2008-06-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ComboBox.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added
+       support for rendering the border with VisualStyles.
+
+2008-06-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: Added ShowIcon. Fixed IconRectangleContains when
+       the icon is not shown.
+       * ThemeWin32Classic.cs: Now uses InternalWindowManager.ShowIcon instead of
+       its own logic.
+
+2008-06-10  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: Draw minimized windows even if they don't have
+       borders.
+
+2008-06-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs, ListBox.cs: Use SetBoundsInternalCore instead of SetBounds.
+
+2008-06-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Fill in the defaults for unspecified bounds in SetBounds.
+       [Fixes bug #397943]
+
+2008-06-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When snaping height -because of IntegralHeight set to
+       true- with ComboBoxStyle.Simple, set the height to PreferredHeight
+       if the requested height leaves the listbox area with *less* than the
+       required are to see one item. We were setting it to PreferredHeight
+       even for values matching the height for a single item.
+       Fixes #396297.
+
+2008-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Simplify GetInheritedStyle by using ApplyStyle.
+
+2008-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Use property instead of field.
+
+2008-06-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs, ThemeWin32Classic.cs: Removed useless Form.Icon
+       null checks.
+
+2008-06-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs: Added #region around the managed window code. Made the managed
+       window methods abstract.
+       * ThemeWin32Classic.cs: Added #region around the managed window code.
+
+2008-06-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: Now only calls Theme.DrawManagedWindowDecorations
+       if it has borders.
+       * ThemeWin32Classic.cs: Removed HasBorders checks in
+       DrawManagedWindowDecorations.
+
+2008-06-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs, Theme.cs, ThemeWin32Classic.cs: Refactored:
+       Extracted ManagedWindowGetTitleBarIconArea.
+
+2008-06-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCellStyle.cs: Don't clone the font.
+
+2008-06-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Ensure we don't pass null to GetConverter.
+
+2008-06-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX1..cs: Use IntPtr size instead of int, as wee need to work
+       also on 64 bit machinges. Fixes the BadWindow errors while scrolling
+       in 64 bit machines.
+
+2008-06-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Correctly get converters for FormattedValue.
+       Use Format/FormatProvider before trying converters.
+       * DataGridViewCellStyle.cs: ApplyStyle should only apply things that
+       are 'set'.  Change constructor to not use ApplyStyle since it wants
+       everything applied.  Clone the Font.
+       * DataGridViewRowHeaderCell.cs: Start with DefaultCellStyle and
+       ApplyStyle the rest.
+
+2008-06-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: We need to calculate the scrollbars even if the handle
+       hasn't been created - this is needed when methods using scrollbars
+       info, such EnsureVisible, are called before control has been created.
+       Fixes #397272.
+
+2008-06-05  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: ScrollBar is now rendered with the VisualStyles API
+       only if the elements are defined. 
+
+2008-06-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: I'm an idiiot - forgot to commit the last ComboBox
+       section. Also, when setting bounds, snap height as well as save the
+       requested height if Dock has any value affecting the height: Left,
+       Right and Bottom - important if using IntegralHeight as true.
+
+2008-06-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When calling UpdateComboBoxBounds, adjust the height
+       passed to SetBounds to reflect the new adjusted height (Integral-wise), 
+       instead of doing that only in our SetBoundsCore override, since the 
+       bounds cached can be the same as saved one and we could not get the
+       new height applied.
+       Fixes #396297.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs: Made ToolWindowCaptionButtonSize platform dependent.
+       * XplatUI.cs: Added ToolWindowCaptionButtonSize.
+       * XplatUIDriver.cs: Changed SmallCaptionButtonSize to 15,15. Added
+       ToolWindowCaptionButtonSize.
+       * XplatUIWin32.cs: Added ToolWindowCaptionButtonSize.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * MdiWindowManager.cs: Now uses SystemInformation.DoubleClickTime instead of
+       hard coded values.
+       * Theme.cs: Made DoubleClickTime plaform dependent.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs: Made ToolWindowCaptionHeight platform dependent.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added
+       ToolWindowCaptionHeight.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: The adjustment to ensure positive client area
+       sizes is now platform dependent (disabled on Windows).
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added
+       RequiresPositiveClientAreaSize.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Form.cs: Fixed null handling in Icon (see SettingIconToNull in the tests).
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * InternalWindowManager.cs: Changed IconicSize to use
+       SystemInformation.MinimizedWindowSize.
+       * XplatUICarbon.cs, XplatUIX11.cs: Removed MinimizedWindowSize.
+       * XplatUIDriver.cs: Changed MinimizedWindowSize to provide a default value.
+
+2008-06-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: If the combobox is anchored both on top and bottom,
+       adjust height if IntegralHeight is true when calling SetBoundsCore (as
+       likely the height was modified even if Height wasn't specified in
+       BoundsSpecified parameter).
+       Fixes part of #396297.
+
+2008-06-04  George Giolfan  <georgegiolfan@yahoo.com> 
+
+       * InternalWindowsManager.cs: Changed minimum window size while resizing to
+       SystemInformation.MinWindowTrackSize.
+       * XplatUICarbon.cs, XplatUIX11.cs: Removed MinWindowTrackSize.
+       * XplatUIDriver.cs: Changed MinWindowTrackSize to provide a default value.
+
+2008-06-03  George Giolfan <georgegiolfan@yahoo.com> 
+
+       * MenuItem.cs: Fixed Dispose.
+
+2008-06-03  George Giolfan <georgegiolfan@yahoo.com> 
+
+       * ColumnHeader.cs: CalcColumnHeader now uses the theme to get the height.
+       * DataGridView.cs: * EnableHeadersVisualStyles: Fixed default value.
+       EnteredHeaderCell, PressedHeaderCell: Added.
+       * DataGridViewCell.cs: Refactored: Extracted GetBorderPen.
+       * DataGridViewColumnHeaderCell.cs, DataGridViewRowHeaderCell.cs: Gave the
+       theme a chance to override default painting.
+       * ListView.cs: Added EnteredColumnHeader. Refactored: Extracted
+       GetColumnHeaderInvalidateArea, Invalidate(ColumnHeader).
+       * Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added members for
+       ListView and DataGridView header rendering.
+       
+2008-06-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * RichTextBox.cs: GetPositionFromCharIndex should return the 
+       visual position of the character relative to the viewport.
+       [Fixes part of bug #396664]
+
+2008-06-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Make HasCustomEditor check for EditStyle != None 
+       and not just for the existance of an UITypeEditor. In some cases 
+       there is an editor associated just to do PaintValue, but which 
+       doesn't actually support editing.
+       [Fixes bug #396632]
+
+2008-05-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: page_size as well as vscrollbar.LargeChange should be 1
+       if needed, instead of 0 - this should help us in the corner case where
+       we have more than one item but we are only partially showing 1 item.
+       Fixes part of #374713.
+
+2008-05-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUiX11.cs: When scrolling and detecting the obscured areas in a
+       control, return immediately if the any parent control's handle hasn't
+       been created or isn't visible, as well as avoiding creating the parent
+       Form if the handle hasn't been previously created.
+       Fixes tests.
+
+2008-06-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Use border sizes when calculating the
+       panel's preferred size.  [Fixes part of bug #396433]
+
+2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * SplitContainer.cs:
+        - Fix SplitterDistance to update only if needed. 
+        - Make it force min and max validation.
+        - Handle properly mouse moves outside the resizeable area.
+        [Fixes bug #396232]
+
+2008-06-02  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs: Implement support for ScriptErrorsSuppressed
+         (which also suppresses all popup dialogs). Throw NotSupported
+         exceptions for activex getters/setters.
+       * WebBrowser.cs: Implement DocumentStream, DocumentType, IsBusy,
+         IsOffline, ReadyState, ScriptErrorsSuppressed, ScrollbarsEnabled,
+         StatusText, Version, GoSearch
+       * HtmlDocument.cs: Add DocType support
+
+2008-06-02  Andy Hume  <andyhume32@yahoo.co.uk>
+
+       * TextBox.cs: Implement TextBoxAutoCompleteSourceConverter.
+       [Fixes bug 396124]
+
+2008-06-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Pass the ITypeDescriptorContext everywhere.
+
+2008-06-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: When calculating preferred size, use the
+       actual number of columns and rows, not what the user set them to.
+       [Fixes bug #396141]
+
+2008-06-02  George Giolfan <georgegiolfan@yahoo.com> 
+
+       * Form.cs: Enabled managed handling of tool window MDI children. Fixes bug
+       394311.
+
+2008-06-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: When detecting areas obscured in a control by other
+       toplevel windows while scrolling, return if the control hasn't a 
+       container form.
+       Fixes some tests.
+
+2008-05-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * XplatUIX11.cs: Properly detect the visible area of a control being
+       scrolled (obscured by other winforms controls and any X toplevel
+       windows), to mark as invalid the requested area to be scrolled that
+       isn't visible and thus can't be copied.
+       Fixes #324513.
+
+2008-05-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Compute the precise amount to vertically scroll when
+       using DrawMode.OwnerDrawVariable.
+       Patch by jkeymer (j.keymer@gmx.net).
+
+2008-05-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Use ListBox-like scrollbar values In ComboListBox 
+       to avoid setting an invalid value for the verticall scrollbar 
+       when navigating items. And, duh, also remove my silly debug messages
+       from previous commits.
+       Fixes #374713.
+
+2008-05-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * FlatButtonAppearance.cs: Make FlatButtonAppearanceConverter exandable and 
+       make it MS compatible.
+
+2008-05-30  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs: 
+        - Allow the editing of entries even if their parent is read-only.
+        - Do not render expandable properties read-only.
+        - Refactor expansion checks form PropertyGrid into PropertyGrid.
+
+2008-05-30  George Giolfan <georgegiolfan@yahoo.com> 
+
+       * ScrollBar.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added
+       support for the hover style.
+
+2008-05-29  Andreia Gaita <avidigal@novell.com> 
+
+       * ContainerControl.cs: Check for null dead-end when traversing the tree
+         of parent controls.
+       
+         [Fixes #394332, patch by Ernesto Carrea]
+
+2008-05-29  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Fix a culture-dependent conversion to be the
+       constant that it is.  Fixes #393981
+
+2008-05-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Add a MonoTODO to the AutoScaleBaseSize setter explaining
+       that the user probably doesn't want to set this.
+
+2008-05-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Don't let the text size be bigger than
+       the control size for CheckBox/RadioBox.
+       [Fixes part of bug #394645]
+
+2008-05-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Update the state of the sorting buttons in 
+       the toolbar if PropertySort is set programatically.
+
+2008-05-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridItemCollection.cs: Add multiple items with conflicting names 
+       support and also preserve name ordering.
+       [Fixes #395345]
+
+2008-05-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridItemCollection.cs: Revert my multiple items with same 
+       name patch.
+
+2008-05-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ScrollBar.cs: Scrollbars should only react to left-clicks, not right
+       or middle ones.
+       Fixes part of #393908.
+
+2008-05-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDrowDown.cs: When using the Show () methods that have a
+       Control parameter, set the menu owner to that Control.
+       [Fixes bug #394345]
+
+2008-05-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs, PropertyGridView.cs: Implement validation.
+       [Fixes bug #362756]
+
+2008-05-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridItemCollection.cs: Refactor to support multiple items with the 
+       same name.
+       [Fixes bug #394314]
+
+2008-05-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: The 2.0 check for illegal cross thread calls in 
+       Control.Handle were throwing an exception when we were getting
+       the Handle in order to invoke correctly.  Created a private
+       version that does not contain this check.
+       [Fixes bug #394531]
+
+2008-05-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Respect DefaultTabType.
+
+2008-05-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ListView.cs: SPACE selects an item.
+       [Fixes bug #393023]
+
+2008-05-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ListView.cs: Reset the search string whenever the items are 
+       modified.
+       [Fixes bug #393020]
+
+2008-05-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: For the first added item PositionChanged is fired
+       _before_ ItemChanged, which leave us in a temporary invalid state - so
+       we need to set the selected index from ItemChanged handler *if* we
+       know that the first item has just been added *and* the items have been
+       actually added to the ListControl.
+       Fixes #369048.
+
+2008-05-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Only clicks with the left button should be
+       handled.
+       Fixes #393908.
+
+2008-05-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: 
+       * FIleDialog.cs:
+       * TextBox.cs: Expose an internal method in TextBox to restore the
+       original context menu, and call it from ComboBox to re-use it in the
+       combobox containing the file name in FileDialog.cs.
+       Fixes part of #393775.
+
+2008-05-24  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for the hot ComboBox drop down button
+       style.
+
+2008-05-24  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ComboBox.cs, Theme.cs, ThemeWin32Classic.cs: Added support for the hot drop
+       down button style.
+
+2008-05-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Minor correction to previous patch: PageDown should
+       also *try* to move by one item if the computed offset is negative,
+       just like the PageUp case.
+
+2008-05-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When navigating using PageDown/PageUp the navigation
+       should be done for at least 1 item, and not stay at the same item.
+       Fixes part of #374713.
+
+2008-05-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Add a FSEntryComparer, and use it to sort the
+       directories.  [Fixes bug #393931]
+
+2008-05-22  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowser.cs: Implement DocumentText. Implement AllowNavigation.
+         Don't fire events until the initial about:blank page has finished
+         loading. Clean up events.
+
+2008-05-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIX11.cs : when we call WM_SETFOCUS, call X11Keyboard
+         FocusIn() too. This should fix the issue on switching
+         scim keyboards.
+
+2008-05-22  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : set XIM font size to somewhat reasonable
+         number (ideally the input textbox size, but that could be
+         too messy).
+
+2008-05-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripTextBox.cs: List for the TextBox's TextChanged and fire
+       the ToolStripItem's TextChanged.  [Fixes bug #393597]
+
+2008-05-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: When invalidating in SelectedIndex and we need to
+       inflate to take into account the border of the tabs, make sure that
+       the invalidated rect doesn't overflow the control bounds, since that
+       would avoid updating at all.
+
+2008-05-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Don't substract scroller width from the row width,
+       since we need to take into account the total width of the control when
+       calculating the position of the tabs. This avoids showing scroller
+       when it is actually not needed.
+       Fixes part of #322325.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for TextBoxBase.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * RichTextBox.cs, TextBoxBase.cs, Theme.cs, ThemeWin32Classic.cs: Refactored:
+       Extracted TextBoxBase.Draw and Theme.TextBoxBase*.
+
+2008-05-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Only paint the top left header cell if there
+       are columns.
+
+2008-05-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When binding to a BindingSource, get the underlying
+       list to bind to.  [Fixes bug #345483]
+
+2008-05-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Do not bind to collection properties.
+       [Fixes bug #337470]
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for the hot TrackBar thumb style.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, TrackBar.cs: Added support for the hot
+       thumb style.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ToolTip transparent background.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, ToolTip.cs: Added support for transparent
+       background.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ToolBar hot and hot checked styles.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs: Added support for hot and hot
+       checked styles.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * TabControl.cs: Extended to handle the hot style.
+
+2008-05-21  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs, UpDownBase.cs:
+       Extended UpDownBase code to handle hot and disabled styles.
+
+2008-05-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Handle databinding to generic list type things.
+       [Fixes bug #325239]
+
+2008-05-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCellCollection.cs: Add a method to find the cell
+       with the given DataPropertyName.
+       * DataGridViewColumn.cs: Track if the column was autogenerated or not.
+       * DataGridViewColumnCollection.cs: Add a method to clear all
+       autogenerated columns.
+       * DataGridView.cs: If AutoGenerateColumns is false, don't autogenerate
+       columns.
+       [Fixes bug #348082]
+
+2008-05-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Don't try to update the RowTemplate with
+       a null CellTemplate.
+
+2008-05-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumn.cs: Allow IsDataBound to be set internally.
+       * DataGridViewColumnCollection.cs: Ensure OnColumnAdded is called.
+       * DataGridView.cs: Lots of fixes/enhancements to databinding to
+       a DataSet.
+
+2008-05-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Remove invalidating implicit child controls when
+       control is invalidated.  It was causing too many redraws on
+       controls with implicit scrollbars.
+       * ListView.cs: Listen to the Invalidated event and invalidate
+       child controls.
+
+2008-05-20  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs, WebBrowser.cs: Hook up page loading events
+       * HtmlDocument.cs: Check for nulls
+
+2008-05-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: In ControlCollection.RemoveInternal, remove the
+       internal control before calling PerformLayout and OnControlRemoved,
+       which was leaving us in an invalid state and causing a X error (bad
+       match). Observe that Remove () call has the same order.
+       Fixes an X error changing ComboBoxStyle.DropDownStyle.
+
+2008-05-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TabControl.cs: Don't paint by ourselved and instead let OnPaint
+       being fired if ControlStyles.UserPaint style is activated.
+       Fixes #371905.
+
+2008-05-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Don't be so strict when setting the value - 
+       do not check if what we set is what we get.
+       [Fixes bug #389245]
+
+2008-05-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: If there are no timers timeout should be 0
+       [Fixes bug #363522]
+
+2008-05-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: As a followup to invalidating implicit children when
+       a control is invalidated, only invalidate them if they are in the
+       clip rectangle.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Implemented partial support for ToolTip.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Refactored: Extracted ToolTipDrawBackground.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * GroupBoxRenderer.cs: Fixed text area clipping in the Visual Styles case.
+       * XplatUIWin32.cs: Made Win32DeleteObject public.
+
+2008-05-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Determine HasDefaultValue more strictly by using 
+       PropertyDescriptor.ShouldSerializeValue.
+       [Fixes bug #391924]
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Enabled support for ScrollBar element styles not present
+       in the classic theme.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ScrollBar.cs: Added FirstButtonEntered, SecondButtonEntered, ThumbEntered,
+       ThumbPressed.
+       * Theme.cs, ThemeWin32Classic.cs: Added ScrollBarHasHotElementStyles,
+       ScrollBarHasPressedThumbStyle.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * TextRenderer.cs: Included some methods in the 1.1 profile.
+
+2008-05-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: When we make a control visible, it may have been
+       previously visible and while it wasn't visible, the z-order of
+       things may have been shuffled, so the control needs to have its
+       z-order updated just in case.  [Fixes bug #391518]
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for GroupBox.
+
+2008-05-19  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * GroupBoxRenderer.cs: Included in the 1.1 profile.
+
+2008-05-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIX11.cs, X11Keyboard.cs : redoing r103060 with fix for
+         bug #389996; XSelectInput() behaved as mouse handler robber,
+         so remove extra call to it.
+
+2008-05-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Simplify ControlCollection.Contains method.
+
+2008-05-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Implement GetPreferredSize.
+
+2008-05-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewComboBoxCell.cs: Don't declare text twice.  Fixes build.
+
+2008-05-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewComboBoxCell.cs: Implement some NIEX stuffs, better
+       painting and edit control fixes.
+
+2008-05-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs, DataGridViewCell.cs: Work around some external
+       checks to make sure we are in an actual row/col for top left header cell.
+       * DataGridViewTopLeftHeaderCell.cs: Implement some NIEX's.
+
+2008-05-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Use long instead of int when handling WParam from
+       mousewheel scrolling.  Int was overflowing on Win64.
+
+2008-05-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FlowLayoutPanel.cs, ScrollableControl.cs: We need to layout the
+       flow panel without scrolling first, and then calculate the 
+       scrolling based on the new layout.  [Fixes bug #390149]
+
+2008-05-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Invalidate after scrolling up when selected index
+       changes.  [Fixes bug #390151]
+
+2008-05-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When setting mode to Simple *and* height hasn't been
+       set, default height to 150. I tried first with DefaultSize, but this
+       is not generating a SetBoundsCore call before handle creation time, so
+       we can take it into account. This is just what .net does.
+
+2008-05-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIX11.cs, X11Keyboard.cs: Had to revert eno's r103060,
+       as it broke some stuff.  Calberto is filing a bug for eno to
+       work with.
+
+2008-05-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When handling PageDown pressed event, set SelectedIndex
+       to 0 is the current value is -1, and if style is not Simple, just
+       return, like .net does.
+       Fixes part of #374713.
+
+2008-05-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs, ThemeVisualStyles.cs: When calculating
+       progress bar stuffs, use doubles instead of ints to prevent
+       overflow.  [Fixes bug #389798]
+
+2008-05-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIX11.cs, X11Keyboard.cs :
+         Significant refactoring on XIM support. Now IM engine UI
+         should show up, at mostly-correct preedit position.
+         - Eliminated use of FocusWindow, as it is never mapped
+           and hence blocks correct preedit position. XIC is now
+           created per window, and it must be destroyed too when
+           the window is destroyed.
+         - WM_QUIT messages should not be filtered even when hwnd
+           is zombie. Filtering it could cause endless loop.
+         - Preedit position must move only when the window is alive.
+         - Make it IDisposable and make sure to release XIM/XICs.
+
+2008-05-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Timer.cs, Control.cs, Form.cs, ApplicationContext.cs,
+         XplatUIX11.cs, XplatUIWin32.cs :
+         fix for bug #325033 and #387693;
+         - WM_QUIT should not be sent when no running application
+           exists.
+         - SetTimer/KillTimer (especially on win32) should be
+           invoked for the window that the timer is/will_be attached.
+         - There could be unattached timers to a window when it's
+           started. For those timers, hold pending timers and when
+           a window is mapped, attach them to it.
+         - WaitForHwndMessage() could run into loop when
+           WM_SHOWWINDOW is handled before this method is called.
+           So, strictly check wm_showwindow state.
+         - Tick handler should not be invoked while one Tick handler
+           call is still running (introduced Busy state).
+
+2008-05-13  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs: Override Internal alternative methods for
+         SetBoundsCore and OnResize instead of the protected ones.
+       * Control.cs: Move SetBoundsCore and OnResize implementations to
+         SetBoundsCoreInternal and OnResizeInternal, so they can be
+         overriden internally (WebBrowserBase needs to catch them but can't
+         override the protected methods without api compat problems)
+
+2008-05-13  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs: Hiding away non-public overrides for api compat
+
+2009-05-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs:
+       * ListView.cs: Remove debug messages.
+
+2008-05-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Don't do any calculation for simple mode if the listbox
+       area is empty. Also calculate scrollbars in Simple mode based in area
+       height and total number of items, not in MaxDropDownItems.
+       Fixes part of #371991.
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PictureBox.cs: Always invalidate on resize.  Fixes an app for jhill.
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * BindingSource.cs: GetListSortDescription is not public.
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * WebBrowser.cs, WebBrowserBase.cs, WebBrowserSiteBase.cs: corcompare.
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * HtmlElement.cs: Fix parameter names to match MS.
+       * HtmlWindowCollection.cs: Should not be sealed.
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Always draw the scrollbar area under the thumb
+       button, because the thumb button will not get drawn if the scrollbar
+       is disabled.  [Fixes bug #389262]
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Handle End key for multi-column listboxen.
+       [Fixes bug #389266]
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Fix algorithm to determine which column our item is in.
+       [Fixes bug #389265]
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Invalidate when the listbox is resized.
+       [Fixes bug #389256]
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: There is always at least one row in the ListBox (if
+       we are doing these calculations.)  [Fixes bug #389253]
+
+2008-05-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: There is always at least one column in the ListBox.
+       [Fixes bug #389250]
+
+2008-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When handle is created call UpdateComboBoxBounds to
+       ensure in Simple mode that the height is exactly the requested one.
+       Also add the ComboBoxListControl to the controls collection in Simple
+       mode even if handle hasn't been created.
+       Fixes part of #371991.
+
+2008-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: For ComboListBox control -specially in Simple mode-, give focus to
+       our ComboBox owner instead of giving it back to the previous control (
+       as done in other controls). Also remove the empty override of Select
+       method, since we want to be selected *and* give focus to our owner.
+       This should let the user do keys-navigation in Simple mode. 
+
+2008-05-10  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Dont use HIViewScrollRect as it's causing painting
+       problems with rapid scrolling of treeviews. Fixes #381084
+
+2008-05-10  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Deactivate the active window before
+       activating the desired window.  Completes fixing #386504
+
+2008-05-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calculating scrollbars, set horizontal scroll bar
+       SmallChange to the item size width plus the padding, to match .net.
+
+2008-05-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FileDialog.cs: Apply the custom filter typed by the user in the file
+       name combobox as much as possible while navigating in the file dialog.
+       Fixes #385261.
+
+2008-05-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Actually use NullValue if the retrieved value of
+       data source is null or DBNull. Makes a test pass.
+
+2008-05-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs, Form.cs: Get icons from ResourceImageLoader.
+       * MimeIcon.cs: Provide a way to get icons from resources.
+
+2008-05-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When the value retrieved from the control to be assigned
+       to the data source is null, actually use the 2.0 DataSourceNullValue
+       value. Make pass a data binding test.
+
+2008-05-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: We need to invalidate implicit children even when
+       invalidate is called with invalidatechildren = false.  (Implicit
+       children are really part of the parent.)
+       * ListView.cs: Double-buffer internal child controls for less
+       flicker.
+       * ThemeWin32Classic.cs: Remove an extra nested loop in drawing
+       owner ListView subitems for greatly increased performance.
+       [Fixes bug #388477]
+
+2008-05-08  Carlos Alberto Cortez <calebrto.cortez@gmail.com>
+
+       * FileDialog.cs: When the user types a wildcard character in the
+       filename combobox, update the contents of the folder using the text as
+       a filter.
+       Fixes part of #385261.
+
+2008-05-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Various fixes for MultiColumn listboxen.
+       [Fixes bug #388114]
+
+2008-05-08  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs: Implement Style property
+
+2008-05-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Respect checkboxes when measuring item size.
+       * ThemeWin32Classis.cs: When drawing list items, don't draw
+       text outside of the item's bounds to prevent overlapping.
+       (.Net actually overlaps, but that's just silly.)
+       [Fixes bug #388117]
+
+2008-05-08  Everaldo Canuto  <ecanuto@novell.com>
+
+       * NotifyIcon.cs: Call SetForegroundWindow before show context menu. Thanks
+       Gert Driesen. Fixes bug #324830. 
+
+2008-05-07  Everaldo Canuto  <ecanuto@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: SetForegroundWindow
+       method implemented.
+
+2008-05-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: When calling IsSynchronized, return the value of
+       the related IList list.
+
+2008-05-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Fix some bits in GetListItemProperties, to
+       make a test pass.
+
+2008-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Implement PageUp/PageDown keys.  Extend keyboard
+       navigation to scroll the grid if the current cell is not visible.
+
+2008-05-07  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs: Implement TabIndex
+
+2008-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Respect ScrollAlwaysVisible and HorizontalScrollbar
+       properties, even when there are no items.
+       [Fixes bug #387611]
+
+2008-05-07  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * NativeWindow.cs: Add support for multiple handles per window.
+       * NativeWindows.cs, LibSupport.cs, Control.cs, XplatUIX11GTK.cs, 
+       XplatUIX11.cs, X11Display.cs: Do not access NativeWindow.windows_collection 
+       directly - use FromHandle instead.
+       [Fixes bug #374660]
+
+2008-05-07  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs: Implement InnerHTML setter
+
+2008-05-07  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlDocument.cs: Implement Focused
+
+2006-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Minor fixes to the the ApplySort and Remove sort
+       methods, as well as add messages to the exceptions.
+
+2006-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Setting DataSource should only reset DataMember if
+       the previous value was null (make pass a not working test).
+
+2006-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: When EndInit call is postponed and is called until
+       DataSource.EndInit is called, remove the handler for data source.
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: Don't use IsAlive, race condition, etc. etc.
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: Store references to toolstrips as
+       weak references so they do not prevent forms from getting collected.
+       [Fixes bug #386483]
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TrackBar.cs: We can't set ResizeRedraw because it isn't set
+       on .Net.  So do the same thing in WndProc.
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TrackBar.cs: Commit patch from Andy Hume that corrects
+       the clickable areas to better match .Net.
+       [Fixes bug #387074]
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TrackBar.cs: Commit patch from Andy Hume that adds the
+       ResizeRedraw control flag so the track bar repaints itself
+       when it is resized.  [Fixes bug #387072]
+
+2008-05-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TrackBar.cs: Commit patch from Andy Hume that adds better
+       support for keyboard navigation when the TrackBar is vertical.
+       [Fixes bug #387071]
+
+2008-05-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement ISupportInitializeNotification support.
+
+2008-05-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ToolBar.
+
+2008-05-06  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ToolBar.cs: Made the Vertical property internal.
+
+2008-05-05  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for TrackBar.
+
+2008-05-05  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Refactored: Extracted TrackBarGetThumbSize,
+       TrackBarDrawVerticalTrack, TrackBarDrawVerticalThumbRight,
+       TrackBarDrawVerticalThumbLeft, TrackBarDrawVerticalThumb,
+       TrackBarGetVerticalTickPainter, TrackBarDrawHorizontalTrack,
+       TrackBarDrawHorizontalThumbBottom, TrackBarDrawHorizontalThumbTop,
+       TrackBarDrawHorizontalThumb, TrackBarGetHorizontalTickPainter.
+
+2008-05-05  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for UpDownBase.
+
+2008-05-05  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, UpDownBase.cs: Refactored:
+       Extracted Theme.UpDownBaseDrawButton.
+
+2008-05-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripDropDownItem.cs: Make sure toolstrips are
+       removed from the static toolstrips collection in ToolStripManager
+       when they are disposed.  Provides a workaround for bug #386483.
+
+2008-05-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Read-only properties with Editor with 
+       UITypeEditorEditStyle.Modal shouldn't be read-only in the PropertyGrid.
+       [Fixes bug #384184]
+
+2008-05-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuStrip.cs, ToolStrip.cs: Guard against an NRE when pressing
+       the menu key and there are no items on the menu.
+       [Fixes bug #386644]
+
+2008-05-05  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Control.cs: Avoid calling ToString on a string.
+       * Form.cs: Avoid calling ToString on a string. Found using Gendarme.
+       * GroupBox.cs: In FlatStyle property throw, not just create, the 
+       exception. Avoid calling ToString on a string.
+       * ProgressBar.cs: Avoid calling ToString on a string. 
+       * ScrollBar.cs: Avoid calling ToString on a string. 
+       [All issues were found using Gendarme]
+
+2008-05-05  Everaldo Canuto  <ecanuto@novell.com>
+
+       * NotifyIcon.cs: Prevent click events to be trigger after double click 
+       events. Fixes remaining issues of bug #324832.
+
+2008-05-05  Everaldo Canuto  <ecanuto@novell.com>
+
+       * NotifyIcon.cs: Trigger click and mouseclick events after mouseup event
+       to mimic win32 behavior. Partially fixes bug #324832.
+
+2008-05-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement Find methods.
+
+2008-05-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement Sort, ApplySort overloads, and
+       RemoveSort methods.
+
+2008-05-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: When calling GetListItemProperties and the
+       passed object is ITypedList, return the result of
+       ITypedList.GetItemProperties instead.
+
+2008-05-04  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Set default value of name on constructor of Link class
+       only for 2.0 profile.
+
+2008-05-04  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Fix implementation of LinkCollection.LinksAdded property.
+       Fixes remaining issues of bug #346154.
+
+2008-05-04  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Set a default value for name on internal contructor of
+       Link class. It fixes assert B5 of LinkCollectionTest.Constructor1.
+
+2008-05-04  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Move links collection from LinkCollection to LinkLabel
+       and refer all instances to owner.links. Partially fixes #346154.
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Fix linkarea values for empty text, must have start and 
+       length equal zero. Also called CreateLinkPieces in constructor. It fixes
+       the LinkLabel test 'TestLinkArea'.
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Remove menu before close form to prevent form to be not gaced.
+       [Fixes #386460]
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Dispose popup window after hide. Thanks to Jesse Jones.
+       [Fixes #386463]
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Implemented keyboard navigation for ContextMenu.
+       [Fixed bug #357004]
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Remove unused ProcessCmdKey method.
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Prevent NRE in menu deactivation when shortcut is used. 
+       [Fixes bug #375398]
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Enable implicit mnemonics for menus. Fixes remaining issues
+       of bug #367492.
+
+2008-05-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Check if mouse down comes from menu, we need it because
+       sometimes we open a conext menu on mouse down of some controls and the mouse
+       up is dispatched to menu and dont need to. It fix remaining issues of 
+       #363711 and other problems related to menu mouse click events.
+
+2008-05-02  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MonthCalendar.cs: Implemented "Go to today" context menu, also changed
+       some var names to better fit changes, now we have month_menu and today_menu
+       vars. Fixes bug #363711.
+
+2008-05-02  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MonthCalendar.cs: Handle every right mouse click to open context menu,
+       right now the default month menu but it will be change to have "Go to today"
+       menu.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs, MaskedTextBox.cs, OpenFileDialog.cs: corcompare.
+
+2008-05-02  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Fix MonthCalendar arrows drawing.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for TreeView.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, TreeView.cs: Refactored:
+       Moved TreeView.DrawNodePlusMinus to Theme.TreeViewDrawNodePlusMinus.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * OpenFileDialog.cs: Implement 2.0 SP1 stuffs.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialogCustomPlace.cs, FileDialogCustomPlacesCollection.cs:
+       Implement 2.0 SP1 stuffs.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Implement 2.0 SP1 stuffs.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, ContainerControl.cs, DataGridView.cs, TextBoxBase.cs:
+       Implement CanEnableIme property. (2.0 SP1)
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * BindingManagerBase.cs, PropertyManager.cs: Hide GetItemProperties
+       from the 2.0 API.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Provide an internal way for a control to override
+       the setting of Height.
+       * DateTimePicker.cs: Remove SetBoundsCore from 2.0 profile,
+       set height using new method.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawMixedCheckBox.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ControlPaint.cs, Theme.cs, ThemeWin32Classic.cs: Refactored:
+       ControlPaint.DrawMixedCheckBox now calls Theme.CPDrawMixedCheckBox.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for StatusBar.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataObject.cs: Add the other IDataObject interface.
+
+2008-05-02  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Refactored: extracted DrawStatusBarBackground,
+       DrawStatusBarSizingGrip, DrawStatusBarPanelBackground.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCheckBoxCell.cs, DataGridViewImageCell.cs: Fix parameter names.
+       * ListView.cs: Hide non-public API.
+       * MaskedTextBox.cs: Remove extra attribute.
+
+2008-05-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewImageCell.cs: Use formatted value instead of value
+       to calculate preferred size.
+
+2008-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Move some initialization around so that selected_indices
+       is not accessed before it is created.
+
+2008-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * InputLanguageCollection.cs: Implement the collection better.
+       [Fixes bug #385506]
+
+2008-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Get the correct event object for
+       DropDownItemClicked.
+       * ToolStripMenuItem.cs: Raise DropDownItemClicked on our owner.
+       [Fixes bug #385475]
+
+2008-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: We don't currently support shared 
+       rows.  Should fix test failures caused by previous commit.
+
+2008-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Fixes for cloning the row, ensure header cell's
+       datagridview gets set.  Only paint cells in visible columns.
+       * DataGridViewCell.cs: Draw border after cell content.
+       * DataGridView.cs: Invalidate after setting some properties.  Only
+       use visible columns.  Fit hit test bug with areas in the col/row header
+       area but not in a row or col.  Implement UpdateCell/Row methods.
+
+2008-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewElement.cs: Don't throw NIEX.
+       * DataGridViewColumnHeaderCell.cs: Draw error icons for top left header cells.
+       * DataGridViewColumnDesignTimeVisibleAttribute.cs: Don't throw NIEX.
+       * DataGridViewCheckBoxColumn.cs: Implement ToString.
+       * DataGridViewCheckBoxCell.cs: Allow DBNull as a value.
+       * DataGridViewCell.cs: Don't raise CellFormatting for RowHeader cells,
+       if the user filled in the formatting Value, use it.
+
+2008-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewTextBoxCell.cs: Fix for objects that cannot be cast
+       to a string.
+
+2008-04-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Some corrections to Filter property, as well as
+       setting it for our list when resetting it.
+
+2008-04-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: Don't let dragging the thumb grip set the value greater
+       than the maximum.  Fixes reopened bug #384182.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ToolStripDropDown.cs: Fix offscreen position for DropDown itens.
+       Fixes remaining issues of #367490.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ToolStripDropDown.cs: Screen.Bound dont return right value then use 
+       SystemInformation.WorkingArea to get max_screen value.
+
+2008-04-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement Filter and RemoveFilter.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Prevent sub-menu positon to be less than zero.
+
+2008-04-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When trying to convert data and we know we started the
+       dnd loop, don't try to use the cached data if the loop is not running,
+       which means that the data has been resetted.
+       Fixes #378191.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Force first menu subitem to show from left to right to mimic
+       win32 behavior.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Check the screen limits before show sub-menus and prevent
+       it to drawn off screen edge. Fixes bug #367490.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: In PopupWindow.RefreshItems uses a temp point var to store
+       menu position to have only one assignment of Location var.
+
+2008-04-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Implement the right key for sub-menus. Thanks Ernesto Carrea
+       for this patch. Fixes bug #384115.
+
+2008-04-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: If SmallChange is larger than LargeChange, make them
+       the same.  If LargeChange is zero, set a minimum size for the scroll
+       thumb grip.  [Fixes bug #384182]
+
+2008-04-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxTextRenderer.cs: Don't turn &A into a prefix for textboxen.
+       [Fixes bug #384181]
+
+2008-04-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Math.Min should be Math.Max.  [Fixes bug #384183]
+
+2008-04-28  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added partial support for ScrollBar (based on the
+       patch from Ernesto).
+
+2008-04-28  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawComboButton.
+
+2008-04-28  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawButton.
+
+2008-04-28  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawRadioButton.
+
+2008-04-28  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawScrollButton.
+
+2008-04-27  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ButtonBase.UseVisualStyleBackColor.
+
+2008-04-27  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlWindow.cs, HtmlHistory.cs: Throw on DomHistory getter (it's
+         supposed to return a reference to an mshtml interface, which we
+         don't support).
+       * HtmlElement.cs: Throw on DomElement getter (it's supposed to return a
+         reference to an mshtml interface, which we don't support). Code
+         formatting cleanup.
+       * HtmlDocument.cs: Add DefaultEncoding getter implementation. Throw on
+         DomDocument getter (it's supposed to return a reference to an
+         mshtml interface, which we don't support). Code formatting cleanup.
+
+2008-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Ouch, forgot to commit.
+
+2008-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: 
+       * ThemeWin32Classic.cs: Fire the -until now- forgotten CacheVirtualItems event.
+
+2008-04-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calculating box selection for virtual mode, don't
+       look for intersection with item's text, but item bounds, since that
+       would mean read ListViewItem's text for _every_ item, and that's
+       something we just can't do in virtual mode (items are only requested
+       when drawn).
+
+2008-04-26  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawCaptionButton and
+       partial support for managed windows (based on the patch from Ernesto).
+
+2008-04-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When doing a key search use FindItemWithText method
+       instead of doing the search by ourselves, this way we avoid
+       duplicating the code and also we handle the special case for virtual
+       mode. To achieve that make our private overload of FindItemWithText
+       internal and also have a 'roundtrip' parameter.
+
+2008-04-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When doing the layout don't request the
+       ListViewItem instance if we are in virtual mode (since we can't request it
+       until the item is actully drawn).
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ProgressBar (based on the patch 
+       from Ernesto).
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeVisualStyles.cs: Added support for ControlPaint.DrawCheckBox (based on 
+       the patch from Ernesto).
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeEngine.cs: Added code to select ThemeVisualStyles.
+       * ThemeVisualStyles.cs: Added.
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * IDeviceContext.cs: Added a missing using.
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ButtonBase.cs: Made IsDefault protected internal.
+       * ButtonRenderer.cs: Made GetPushButtonRenderer(PushButtonState) internal.
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * Application.cs: Included VisualStyles-related members in the 1.1 profile.
+       * ButtonRenderer.cs, CheckBoxRenderer.cs, Padding.cs, PaddingConverter.cs,
+       RadioButtonRenderer.cs: Included in the 1.1 profile.
+       * IDeviceContext.cs: Added.
+       * TextRenderer.cs: Included a member in the 1.1 profile.
+
+2008-04-25  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ThemeWin32Classic.cs: Added ShouldPaintFocusRectangle(ButtonBase).
+
+2008-04-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs: Make the error icons come after the control
+       they refer to.  It isn't the way the MS does it, but its better
+       than what we were doing.  See bug #368587.
+
+2008-04-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * InputLanguage.cs, InputLanguageCollection.cs: Apply patch
+       from Eric Albright that lazy loads the input language as ensures
+       everything gets properly initialized.  Fixes bug #373871.
+
+2008-04-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't use ToolStripControlHosts when figuring up
+       implicit mnemonics.  [Fixes bug #383000]
+
+2008-04-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When canceling the operation, automatically restore the
+       default cursor - normally the default cursor is restored when the
+       mouse buttons are released, but we should be able to restore it even
+       if the buttons are still pressed (for example, when pressing ESC to
+       cancel).
+       Fixes #381894.
+
+2008-04-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When starting a new drad and drop operation, set control
+       field to null, just as the other fields, to avoid calling any
+       operation on a previous control. Also, when calling DndLeave on a
+       control, set it to null, thus we don't fire that event multiple times
+       for that control.
+       Fixes #209264.
+
+2008-04-23  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Ensure that we have a valid hwnd before accessing
+       the whole_window object.  Fixes #377084.
+
+2008-04-23  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs: Implement RaiseEvent (event injection into the
+         embedded browser)
+
+2008-04-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnHeaderCell.cs: Implement some NIEX stuffs.
+
+2008-04-23  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs, HtmlDocument.cs: Implement javscript method
+         invocation
+
+2008-04-23  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlElement.cs, HtmlDocument.cs: Implement custom event handler
+         attaching/detaching
+
+2008-04-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When the drop was cancelled, or could just not be
+       performed, return DragDropEffect.None always (match .net).
+
+2008-04-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowHeaderCell.cs: Fill in some NIEX stuff.
+
+2008-04-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: Revert something I didn't mean to commit.
+
+2008-04-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Add support for error icon tool tips.
+       * DataGridViewCell.cs: ErrorIconBounds needs to call GetErrorIconBounds.
+       * DataGridViewRowHeaderCell.cs: Need internal way to get ErrorIconBounds.
+
+2008-04-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * X11Structs.cs: Add mouse button masks enum.
+       * XplatUIX11.cs, Hwnd.cs: Send WM_ENTERSIZEMOVE and 
+        WM_EXITSIZEMOVE only once at the beginning and at the end of the 
+       form resize/move operation instead of for each step of it.
+       [Fixes bug #346529 for the x11 backend]
+
+2008-04-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView*: Implement support for drawing error icons.
+
+2008-04-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Make vbar and hbar internal.
+       * TreeNode.cs: If collapsing the node removes one of the TreeView's
+       scrollbars, invalidate the whole thing.
+       [Fixes bug #382001]
+
+2008-04-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Calling Sort() sets Sorted = true.
+       * TreeNodeCollection.cs: Try to find the owner TreeView to determine
+       if the nodes need to be sorted.
+       [Fixes bug #382028]
+
+2008-04-21  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Fire SizeChanged for both when the form is minimized and 
+       restored.
+       * XplatUIX11.cs: Instead of tracking minimization on UnmapNotify track it 
+       on PropertyNotify of _NET_WM_STATE. Much much cleaner.
+
+2008-04-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: If the combobox is disabled, draw a disabled
+       background before painting anything else.
+       [Fixes bug #381729]
+
+2008-04-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Wehn the drag and drop operation is cancelled don't
+       forget to send a Leave event to the target window - just as .net does
+       when cancelling dnd operations.
+
+2008-04-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Stop tracking messages as part of the dnd operation as
+       soon as possible - this happens when we send the drop message to the
+       target window. This way we avoid firing any DragOver _after_ drop finished.
+       Fixes #378179.
+
+2008-04-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Send WM_WINDOWPOSCHANGED when a toplevel is minimized.
+       * Form.cs: Handle form minimization as a special state, where size doesn't 
+       change, but we have to fire SizeChanged.
+       [Fixes bug #325122 for the win32 and x11 backends]
+
+2008-04-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Win32 doesn't send WM_(KILL|SET)FOCUS 
+       if the handle is disabled.
+       [Fixes bug #371751]
+
+2008-04-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Enable Maximize/Minimize/Close ability (not decorations) 
+       for forms with FormBorderStyle.None.
+       [Fixes bug #349571]
+
+2008-04-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Implement support for WM_ENTERSIZEMOVE and 
+       WM_EXITSIZEMOVE.
+       [Fixes bug #346529 for the X11 backend]
+
+2008-04-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: 
+         - Send a mouse Enter message after say dragging the mouse with a 
+         button down and then release it in another client.
+         - Reset the cursor to prevent X11 from remembering it and setting it 
+         before the control gets WM_SETCURSOR.
+         - Qeueue a mouse move after a mouse enter like win32.
+         [Fixes bug #323234]
+
+2008-04-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * XplatUIX11.cs: Implement limited support for WM_SYSCOMMAND. 
+       It's sent when the form gets moved, resized, closed.
+       * XplatUIStructs.cs: Add SystemCommands enum for WM_SYSCOMMAND.
+       [Fixes bug #359193 for X11]
+
+2008-04-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Form.cs: Add a ValidateChildren for the 1.1 profile. Fixes 
+       the build.
+
+2008-04-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * ListView.cs: Move CalculateDetailsGroupItemsCount to the NET_2_0 
+       group. Fixes the 1.1 build.
+
+2008-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Use display indexes for selection in Details view, as
+       well as do the proper layout based on display indexes for that view
+       too.
+
+2008-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Focused item information is now stored as a display
+       index, and display indexes are used all over the place for selection,
+       instead of ListViewItem.Index values, which doesn't give us enough
+       information to modify the selection in groups mode, and was broken.
+
+2008-04-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: Do not fire MouseDown if validation of the control has 
+       failed.
+       * Form.cs: Validate the form before closing.
+       [Fixes bugs #330501 and #353310]
+
+2008-04-18  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs: Added WndProc, DrawToBitmap,
+         CreateWebBrowserSiteBase implementations
+       * HtmlElement.cs: Add missing OuterHTML, OuterText setters, stubbed
+         Style and TabIndex setters
+
+2008-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroup.cs: When returning the actual item count, return the
+       proper count for default group.
+       Fix the tests.
+
+2008-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewGroup.cs: When calculating groups layout, get the actual
+       number of items per group, since groups added to the group BUT not
+       added to the ListView are just ignored, and can cause some nasty
+       exceptions because of the lack of synchronization. Also for
+       ListViewGroup don't use lazy initialization for items, since we 
+       the common scenario is to use it always - and it helps us to  refactor
+       and clean the .ctor overloads.
+
+2008-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When adding an item to a ListViewItemCollection
+       belonging to a group (ListViewGroup.Items), don't generate a redraw if
+       the added item hasn't beeen previously added to the ListView instance
+       refered by the group, since it will be ignored. This should avoid some 
+       really nasty flickering.
+
+2008-04-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When accessing an item in a specific display
+       position, use the helper method GetItemAtDisplayIndex, instead of
+       direct access to the reordered_items_indices array. When doing layout
+       for groups set the correct Items index for the display position (since
+       in groups mode items don't have the same position as in Items
+       collection).
+       * ListViewGroup.cs: Add a field to store the starting item number,
+       which is later used when calculating the layout.
+
+       Fixes #360805.
+
+2008-04-17  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Application.cs: Fixed ProductVersion to fallback to the assembly
+       version. Fixes regression for bug #325413.
+
+2008-04-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: New helper method to retrieve an item in a _specific
+       display_ position (the items can be displayed in a different order
+       than one of Items collection).
+       * ThemeWin32Classic.cs: When drawing, instead of iterating over Items
+       collection, use ListView.GetItemAtDisplayIndex, to get an item in a
+       specific display position (again remember that items can be sorted
+       different than Items).
+
+2008-04-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnCollection.cs: Create a cached copy of our sorted
+       list and update it when the collection changes.  We were recreating
+       this several times per row paint and for every pixel the mouse moved
+       across the grid.
+       * DataGridViewColumn.cs: Regenerate cached sorted list when DisplayIndex
+       changes.
+
+2008-04-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewColumnCollection.cs: Convert our internal sorted columns
+       list to use generics.
+       * DataGridView.cs, DataGridViewRow.cs: Use generic sorted column list
+       and remove unneccessay casts.
+
+2008-04-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewBand.cs: Add internal way to set displayed variable.
+       * DataGridViewRow.cs: Don't paint cells in non-displayed columns.
+       * DataGridView.cs: Make sure we always keep track of Displayed
+       rows and columns, and only draw things that are displayed.
+
+2008-04-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs, XplatUIX11.cs : manage key state regardless of
+         whether the key events are filtered or not. Introduced
+         PreFilter() process for this purpose. This fixes atokx3/iiimx
+         shift state issue.
+
+2008-04-16  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlHistory.cs: Implement Length property
+
+2008-04-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Call EndEdit when a sort is performed so we take
+       away the edit textbox.  Refactor to reuse column sort code.
+
+2008-04-12  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Remove the code that save and restore capture status of 
+       grab_control, this fixes some Menu and Context menu bugs but maybe it can
+       cause some others, I cant figure the possible problems of this patch but
+       right now remove the code looks to be better than keep it. This patch fixes
+       bugs #357638, #378721 and #379570.
+
+2008-04-12  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlDocument.cs, HtmlElement.cs, HtmlHistory.cs, WebBrowser.cs:
+       Implement OuterHtml, OuterText, Enabled, Scroll*, *Rectangle properties,
+       add missing properties and event handlers.
+       
+2008-04-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Make sure the LargeChange we are setting is at least
+       zero, to prevent an IOORE.  [Fixes bug #379531]
+
+2008-04-13  Andy Hume <andyhume32@yahoo.co.uk>
+
+       * ComboBox.cs: Support item navigation by entering text.  Firstly, 
+       in DropDownList mode, for each key-press select the next item 
+       starting with that letter.
+       For other modes, when no item selected, on arrow-up/-down and open 
+       drop-down select the first item matching the text in the textbox.
+
+2008-04-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : Control.FromHandle() could return null
+         in MoveCurrentCaretPos().
+
+2008-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When changing the size in VirtualMode, also Reset the
+       selection.
+       * ListViewItem.cs: Don't call SelectedIndexCollection.Reset when
+       changing selection info for VirtualMode.
+       Fixes #372618.
+
+2008-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: When drawing ListViewItem instancesin Details
+       view, don't use LineLimit for the first item - use NoWrap *always*
+       instead, since ListView.LabelWrap is not used for this view.
+       Fixes #378054.
+
+2008-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Call UpdateIsBinding when setting control - probably
+       Binding is already usable and we don't need to wait to check the
+       IsBinding state. Also for 1.1 profile use IsHandleCreated instead of
+       Created, just like 2.0 does.
+       * CurrencyManager.cs: I'm so lame - the previous check was wrong.
+
+2008-04-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Just realized we don't need to have a handler for
+       BindingContextChanged, since this info should be now consumed directly
+       in the BindingManagerBase. And also, the manager.IsBindingSuspended
+       state info is checked directly, instead of caching it.
+
+       * CurrencyManager.cs: IsSuspended should return always false if Count
+       == 0.
+
+2008-04-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: When calling PushData, return if manager.Count == 0,
+       since we just don't have data to be read. Also, when setting the
+       Control for binding, hook up some events to refresh the IsBinding
+       state when BindingContext change or control gets created; use
+       Control.IsHandleCreated instead of Control.Created check to set
+       IsBinding state - we *actually* need to modify IsBinding when control
+       is created, but we don't have any Created event, only HandleCreated.
+       Fixes part of #349364.
+
+2008-04-11  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Expose Caret to the Carbon layer.  Guard against
+       warping a null Caret.
+
+2008-04-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Implement row/column autosizing methods. Implement
+       autosorting.
+       * DataGridViewColumnHeaderCell.cs: Add painting of the sort glyph.
+       * DataGridViewRowCollection.cs: Add an internal sorting method.
+
+2008-04-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Apply patch from Ernesto to cache an expensive
+       value in ListView drawing code.
+
+2008-04-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Only call FileOk when Ok is clicked, not when Cancel
+       is clicked.  Respect the user setting Cancel in FileOk.
+
+2008-04-11  Geoff Norton  <gnorton@novell.com>
+
+       * ListView.cs: Avoid setting and resetting control Width/Heights and
+       calculate the final value and set it once.  Prevents a feedback loop
+       on the mac.
+
+2008-04-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Clamp setting the scrollbar value using SafeValueSet.
+       [Fixes bug #378869]
+
+2008-04-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs, X11Structs.cs : make over-the-spot mode default.
+         Add some on-the-spot code, but it seems we don't need it.
+
+2008-04-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Add method for DataGridView to trigger focus cues
+       even when it handles the tab keypress.
+
+2008-04-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: More keyboard handling, tab, esc.
+       * DataGridViewTextBoxEditingControl.cs: Don't request arrow keys
+       when at the beginning or end of the text in the text box.
+
+2008-04-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Guard against an NRE causing a test to fail.
+
+2008-04-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Some fixups for showing and adding the edit control.
+       * DataGridViewButtonColumn.cs: Implement ToString.
+       * DataGridViewCell.cs: Size and position the control simultaneously.
+       * DataGridViewTextBoxCell.cs: Use base to position control.
+
+2008-04-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Fix up some formatting and painting code.
+       * DataGridViewImageCell.cs: Implement some NIEX methods.
+
+2008-04-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItemCollection.cs: What moving an item from one owner
+       to another, remove from source owner before adding to destination.
+       [Fixes bug #378109]
+
+2008-04-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PictureBox.cs: Call Load when ImageLocation is set.
+       [Fixes bug #378308]
+
+2008-04-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs, XplatUIX11.cs :
+         Implement over-the-spot mode (with some odd offsets).
+         - set preedit position when caret is set.
+         - Wrap XMoveResizeWindow() to move preedit position.
+
+2008-04-08  Everaldo Canuto  <ecanuto@novell.com>
+
+       * X11keyboard.cs: Fix last patch, maxval must be less not greater than
+       array lenght.
+
+2008-04-08  Everaldo Canuto  <ecanuto@novell.com>
+
+       * KeyboardLayouts.cs: Uses GENERATING_RESOURCES to make VKeyTableIndex
+       and ScanTableIndex public, it fix compilations errors when compiling
+       WinForms to generate keyboard layout resources.
+
+2008-04-08  Everaldo Canuto  <ecanuto@novell.com>
+
+       * X11keyboard.cs: Prevent keyboard errors when vitual table theres 
+       different element count than scan table. It prevents some errors in non
+       standard keyboards.
+
+2008-04-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewHeaderCell.cs: Implement some NIEX methods.
+
+2008-04-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Call OnContentClick.
+       * DataGridViewCell.cs: Do a null check on ValueType instead
+       of valueType.
+       * DataGridViewCheckBoxCell.cs: Implement.
+
+2008-04-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : Do not cast IntPtr to int. Use long.
+
+2008-04-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : Check XGetIMValues() return value in
+         case it does not return input styles in some environment.
+
+2008-04-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs : sizeof(IntPtr) != 4 on amd64.
+
+2008-04-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingContext.cs: Stub UpdateBinding method.
+
+2008-04-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+        * X11Structs.cs : added couple of structs for XIM support.
+        * X11Keyboard.cs :
+          Release XIM in case it failed to create XIC. 
+          Use consts for XNblah string.
+          Add support for IM style customization and XIC creation
+          for preedit-position and preedit-callback.
+          Right now use MONO_WINFORMS_XIM_STYLE environment variable
+          (list of: over-the-spot | on-the-spot | root). Only root
+          mode works so far.
+
+         (redoing r99172 with fix.)
+
+2008-04-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Center the checkbox a little better.
+
+2008-04-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeClearlooks.cs, ThemeGtk.cs, ThemeNice.cs, ThemeWin32Classic.cs:
+       Apply very nice patch from Ernesto Carrea that simplifies our
+       scrollbar drawing.  [From bug #376146]
+
+2008-04-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Correct the location of the root node checkbox when
+       ShowRootLines = false.  Don't draw the root lines for the root node
+       when ShowRootLines = false.  [Fixes bug #377535]
+
+2008-04-06  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * WebBrowserBase.cs: Added missing attributes and fixed attributes.
+       Fixed line endings.
+       * WebBrowser.cs: Added missing attributes and fixed attributes. Fixed
+       line endings.
+       * MaskedTextBox.cs: Added missing attribute. Code formatting.
+       * PageSetupDialog.cs: Added missing attribute. Code formatting.
+       * HtmlWindowCollection.cs: Code formatting. Fixed line endings.
+       * ImeMode.cs: Added missing field.
+       * HtmlWindow.cs: Code formatting. Fixed line endings.
+       * HtmlElement.cs: Code formatting. Fixed line endings. Fixed compiler
+       warnings.
+       * HtmlHistory.cs: Code formatting. Fixed line endings.
+       * HtmlDocument.cs: Code formatting. Fixed line endings.
+       * ToolStripPanel.cs: Added missing IList implementation.
+       * HtmlElementCollection.cs: Code formatting. Fixed line endings.
+
+2008-04-06  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * BindingContext.cs: Changed argument names to fix corcompare errors.
+       * DataGridView.cs: Removed extra explicit interface implementation
+       of IDropTarget. Code formatting.
+       * FlowLayoutPanel.cs: Changed argument names to fix corcompare errors.
+       * ComboBox.cs: Changed argument names to fix corcompare errors.
+       * DataGridTextBoxColumn.cs: Changed argument names to fix corcompare
+       errors.
+       * GridColumnStylesCollection.cs: Changed argument names to fix
+       corcompare errors. Removed extra tabs.
+       * GridTableStylesCollection.cs: Changed argument names to fix corcompare
+       errors.
+       * Control.cs: Changed argument names to fix corcompare errors. Code
+       formatting. Removed extra explicit IList implementation.
+       * TextBox.cs: Changed argument names to fix corcompare errors. Code
+       formatting. Use string.Empty instead of "".
+       * GridItemCollection.cs: Changed argument names to fix corcompare
+       errors. Code formatting.
+       * DataGridViewTopLeftHeaderCell.cs: Changed argument names to fix
+       corcompare errors. Code formatting.
+       * ImageList.cs: Changed argument names to fix corcompare errors.
+       * ToolStripItem.cs: Changed argument names to fix corcompare errors.
+       * DataGridViewRowCollection.cs: Changed argument names to fix
+       corcompare errors. Code formatting.
+       * TableLayoutPanel.cs: Changed argument names to fix corcompare errors.
+       * DataGridViewSelectedCellCollection.cs: Changed argument names to
+       fix corcompare errors. Code formatting.
+       * DataGridViewComboBoxCell.cs: Changed argument names to fix
+       corcompare errors. Code formatting.
+       * LinkLabel.cs: Changed argument names to fix corcompare errors.
+       * TreeNode.cs: Changed argument names to fix corcompare errors. Code
+       formatting.
+       * PropertyGrid.cs: Changed argument names to fix corcompare errors.
+       Code formatting.
+       * BindingSource.cs: Changed argument names to fix corcompare errors.
+       Removed extra explicit interface implementations.
+       * DataGridViewSelectedRowCollection.cs: Changed argument names to
+       fix corcompare errors. Code formatting.
+       * ToolStripItemCollection.cs: Removed extra explicit interface
+       implementation of IList.ReadOnly.
+       * DataGridViewColumnCollection.cs: Changed argument names to fix
+       corcompare errors. Code formatting.
+       * DataGridViewRow.cs: Rename converter to match MS. Code formatting.
+       * ListView.cs:  Changed argument names to fix corcompare errors.
+       * DataGridViewHeaderCell.cs: Changed argument names to fix corcompare
+       errors.
+       * DataGridBoolColumn.cs: Changed argument names to fix corcompare
+       errors.
+       * ListBindingHelper.cs: Changed argument names to fix corcompare
+       errors.
+       * DataGridViewSelectedColumnCollection.cs: Changed argument names to
+       fix corcompare errors. Code formatting.
+       * ToolStripPanel.cs: Removed extra explicit implementation of
+       IDropTarget interface.
+       * ListBox.cs: Changed argument names to fix corcompare errors. Code
+       formatting. Removed extra tabs and spaces.
+       * DataGridViewCellCollection.cs: Changed argument names to fix
+       corcompare errors.
+       * Help.cs: Changed argument names to fix corcompare errors. Code
+       formatting.
+       * TabControl.cs: Changed argument names to fix corcompare errors.
+       * DataGridColumnStyle.cs: Changed argument names to fix corcompare
+       errors.
+       * TableLayoutSettings.cs: Changed argument names to fix corcompare
+       errors.
+
+2008-04-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: When returning properties, only return those
+       that are browsable. Also, don't do a linear search of the properties,
+       but use the indexer of the PropertyDescriptorCollection class.
+
+2008-04-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement GetRelatedCurrencyManager by adding a
+       Dictionary containing the related (child) currency managers. Also,
+       when setting DataSource, add datasource to our List if it is not a list.
+
+2008-04-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridTextBox.cs: Fix background color of the buttons.
+       * PropertyGridView.cs: Make the entry less jumpy.
+
+2008-04-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Fix unused variable warnings.
+
+2008-04-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Fix expansion via [+] misbehavior on 
+       double-click. It expanded it once in the mouse down and then 
+       again in the double-click handler.
+
+2008-04-04  Ivan N. Zlatev  <contact@i-nz.net>
+       
+       * GridEntry.cs: ICustomTypeDescriptor support for PropertyOwner, 
+       TypeConverter and UITypeEditors.
+
+2008-04-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: Visibility should be set synchronously, 
+       so we must also redraw once it is and not rely on layouting or 
+       other code to repaint.
+       [Fixes bug #339898]
+
+2008-04-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Respect DataGridView.GridColor.
+
+2008-04-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Invalidate when the alpha channel is less than 255,
+       not only when control is transparent.
+
+2008-04-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowPrePaintEventArgs.cs, DataGridViewRowPostPaintEventArgs.cs:
+       Implement some painting convenience methods that threw NIEX.
+
+2008-04-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Call CellMouse[Enter|Move|Leave] properly.
+       * DataGridViewLinkCell.cs: Implement.
+
+2008-04-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Report the conversion exception error description.
+       [Fixes bug #375792]
+
+2008-04-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Do not scroll to item on resize.
+       [Fixes bug #375789]
+
+2008-04-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingContext.cs: When retrieving a BindingManagerBase, if the
+       dataSource parameter is ICurrencyManagerProvider, then return
+       ICurrencyManagerProvider.CurrencyManager/GetRelatedCurrencyManager
+       instead of creating a new one.
+
+2008-04-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Implement support for Type instances as
+       DataSource.
+
+2008-04-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Minor cleanups and call CellMouseUp.
+       * DataGridViewCell.cs: Make some painting routines internally virtual.
+       * DataGridViewButtonCell.cs: Implement.
+
+2008-04-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: We always need to invalidate our children with
+       transparent backgrounds when we are invalidated.
+       [Fixes bug #376081]
+
+2008-04-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: EndEdit and CancelEdit should call EndCurrentEdit
+       and CancelCurrentEdit on CurrencyManager respectively. Implement
+       support for ICancelAddNew too.
+
+2008-04-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * CurrencyManager.cs: When calling EndCurrentEdit/CancelCurrentEdit,
+       call EndNew/CancelNew if list is ICancelAddNew.
+
+2008-04-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Guard against an exception while painting
+       if there are no rows.
+
+2008-04-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Implement a bunch of keyboard commands.
+
+2008-03-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs: Don't do our painting if UserPaint is set.  If UserPaint
+       isn't set, don't call OnPaint.  [Fixes bug #375300]
+
+2008-03-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: IsBindingSuspended, ResumeBinding and
+       SuspendBinding depend on CurrencyManager. Implement RemoveCurrent,
+       hookup the remaining events related to CurrencyManager, and fire
+       OnListChanged also for the Clear () method.
+
+2008-03-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Use Current and Position implementations in
+       CurrencyManager instead of using our own routines, since we need 
+       to be in synch with it. Count should NEVER return a -1 value, and 
+       also report ListChanged events for both simple IList data 
+       sources (manually) as well for IBindingList ones (by hooking up an
+       event handler for it).
+
+2008-03-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Make one .ctor call the another, to avoid
+       duplicate code. Add the CurrencyManager property, and also for AddNew
+       throw the proper exceptions and show better error messages.
+
+2008-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Only adjust selectedindex if Handle has been
+       created.  Fixes failing test.
+
+2008-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Adjust selectedindex if we insert a new item
+       above the current selectedindex in a sorted ComboBox.
+       [Fixes bug #374654]
+
+2008-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Support PageUp/PageDown when dropdown is closed.
+       [Fixes bug #374712]
+
+2008-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewTextBoxCell.cs: Implement stuffs.
+
+2008-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Create the scrollbars even earlier to be
+       double dog certain they are created before they are accessed.
+
+2008-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIX11.cs: Remove a no-op line that csc was choking on.
+
+2008-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: Create an internal safe Value setter so we
+       won't crash if we try to set a value outside the min and max.
+       * TextBoxBase.cs: Use safe value setter to guard against a
+       potential NRE that is being reported by Reflector.
+
+2008-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Create the scrollbars earlier in the constructor
+       to attempt to guard against an NRE in SetTop in Reflector.
+
+2008-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs, DataGridViewCell.cs, DataGridViewCell.cs,
+       DataGridViewRowCollection.cs: Do not scroll column and row headers,
+       show messagebox on data format error, use column display index
+       correctly, make sure HitTest supports new layout stuff,
+       make sure scrollbars support new layout stuff.
+
+2008-03-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIX11.cs : Patch by Doug Rintoul.
+         For some IM engines, keypress events need to delay call
+         to XPending() and XNextEvent() in the loop so that it
+         does not mess the orders in XIM commit callback.
+         Some KeyRelease events such as shift keys need to be
+         processed both in the IM engine and winforms driver
+         itself since winforms holds its own state check.
+
+         For details, see: http://lists.ximian.com/pipermail/mono-winforms-list/2008-March/003279.html
+
+2008-03-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * X11Keyboard.cs, XplatUIX11.cs :
+         add primitive support for XIM input support (preedit-
+         nothing and status-nothing). It requires precise event
+         capturing (XSelectInput/"filterEvents") and different
+         call to XFilterEvent against root window.
+         Get composed string and send dummy WM_IME_COMPOSITION.
+         Free XIM and XIC instances in finalizer.
+
+         (This first patch does not include suggested changes
+          by Doug Rintoul. It will follow.)
+
+2008-03-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When binding to a property, if the property
+       doesn't have a setter, set the column to readonly.
+       [Fixes bug #343965]
+
+2008-03-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Guard against NRE if an arrow key is hit while
+       we aren't dropped down.  Support Home/End in DropDownList mode.
+       [Fixes bug #371990]
+
+2008-03-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNodeCollection.cs: Don't increment count until we've
+       saved our index to return.
+       [Fixes bug #373603]
+
+2008-03-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: Add padding to the label's AutoSize calculation.
+       [Fixes bug #373792]
+
+2008-03-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Actually implement GetListName method.
+
+2008-03-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: Throw the propert expceptions for some methods, as
+       well as detect the list item type for Add method if DataSource is null.
+
+2008-03-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: I don't know why I commented this out,
+       putting it back for now.
+
+2008-03-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Remove storage for owning column, just
+       use column index.
+       * DataGridViewColumn.cs: Make getter for HeaderTextSet.
+       * DataGridViewColumnHeaderCell.cs: If the header text has been
+       explicitly set, return it.
+       [Fixes bug #325979]
+
+2008-03-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: Disable row sharing when
+       using data binding.  Its a great feature, but lets work on
+       getting DGV usable first before we worry about optimizations.
+
+2008-03-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: When resetting our internal list, compute list
+       item type information to be used for indirect list access. Also
+       implement/tune some properties and methods related to the list access
+       too.
+       * ListBindingHelper.cs: Add a stub for GetListName method, used from
+       BindingSource.
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: If RowCount is increased while ColumnCount
+       is zero, add a column.  [Fixes bug #331649]
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRowCollection.cs: When adding new rows for
+       databinding, make sure they are place before the add row.
+       [Fixes bug #343961]
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Draw cells in column DisplayIndex order
+       instead of Index order.
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: If columns are added by increasing ColumnCount,
+       they need to be DataGridViewTextBoxColumns, not DataGridViewColumn.
+       [Fixes bug #325588]
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Turn off and on the "new row" when 
+       AllowUserToAddRows is toggled.  When the handle is created,
+       set current cell and selected cell/row/col.
+
+2008-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: When navigating the drop down by keyboard, we
+       need to scroll the list box if our selection moves out of the
+       currently shown items.  [Fixes bug #371990]
+
+2008-03-24  Luke Page <luke.a.page@gmail.com>
+
+       * RichTextBox.cs: Handles visible rtf tag and no longer shows the text
+       on the control. Also now handles unicode compatibility characters and
+       stores the unicode compatibility length on the stack. Fixes Bugs
+       #355198 and #366436.
+
+2008-03-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource..cs: Take into account DataMember when re-creating the
+       List property, and also create a specific kind of list as needed.
+
+2008-03-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Add a new case for GetList () method - when we
+       get an empty IEnumerable, try to detect whether the datamember is
+       valid or not for that type, if true, return null, and throw exception
+       otherwise.
+
+2008-03-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Alt-Down should drop down the list, Esc should
+       retract it.  [Fixes bug #371989]
+
+2008-03-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Initialize the sorting button as pushed.
+
+2008-03-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: 
+        - Visually select the PropertyTab.
+        - Filter Properties by Attributes properly.
+
+2008-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuItem.cs: Remove menu item from parent when disposed.
+       [Fixes bug #372845]
+
+2008-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs: Don't reset layout_type if Dock = None.
+
+2008-03-21  Andreia Gaita <avidigal@novell.com> 
+
+       * UserControl.cs: Select the first available control when we get focus.
+         Fixes #372616
+
+2008-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs, DataGridViewTextBoxCell.cs: Don't paint
+       the content if we are in edit mode.  [Fixes bug #343964]
+
+2008-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Fix border painting for column headers.
+
+2008-03-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingSource.cs: When setting or resetting data source,
+       use ListBindingHelper.GetList () method, since it will get the list in
+       case datasource is IListSource.
+
+2008-03-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Implement lots more stuffs.
+
+2008-03-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs, GridEntry.cs: Implement support for 
+       UITypeEditor.IsDropDownResizable.
+
+2008-03-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewCell.cs: Remove unused variables, improve how
+       several of the property getters work.
+       * DataGridViewRow.cs: Don't call setSize on a cell, cell should
+       get its size from the parent row/col.
+
+2008-03-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Ensure PropertiesTab is visible even if the 
+       user alters manually the PropertyTabs collection via the 
+       PropertyTabs property.
+
+2008-03-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Implement -previously- ignored cases. We have
+       new tests for them to be sure to be compatible with .net.
+
+2008-03-20  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowserBase.cs: Fix attributes, add events
+       * WebBrowser.cs: Fix Padding signature
+
+2008-03-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs, PropertyGridView.cs: Implement PropertyTab support.
+
+2008-03-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs, DataGridViewCell.cs, DataGridViewCellStyle.cs,
+       DataGridViewLinkCell.cs, DataGridViewRow.cs, DataGridViewRowHeaderCell.cs,
+       DataGridViewTextBoxCell.cs: Changes so that DataGridViewCell
+       passes the new suite of tests for it.
+
+2008-03-18  Andreia Gaita <avidigal@novell.com> 
+
+       * WebBrowser.cs: Add missing attributes, missing Padding and
+         DefaultSize properties, remove extraneous getters
+
+2008-03-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Implement a pair of GetListItemProperties
+       method overloads.
+
+2008-03-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Move resetting the selected index to keypress
+       instead of textchanged.  Changing the text programmatically
+       should not trigger resetting the selected index.  Fixes test.
+
+2008-03-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: When the user types into the textbox, reset
+       the selected index to -1.  [Fixes bug #371672]
+
+2008-03-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Support Control-A for selecting everything
+       in an OpenFileDialog.  [Fixes bug #371564]
+
+2008-03-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: When row/column visible/height properties
+       change, invalidate.  Take the NIEX out of InvalidateRow/Column
+       etc.  We don't support them yet, but we can just invalidate
+       everything until we do support them.  (Added MonoTODO).  Set
+       proper control styles.
+       * DataGridViewRow.cs: Don't call PaintHeader if row headers
+       are turned off. 
+
+2008-03-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Implement 2.0 GetListItemType methods.
+
+2008-03-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridViewRow.cs: Only paint the white background in
+       cell bounds, the row bounds extends past the cells if the 
+       grid width isn't as wide as the DGV.
+
+2008-03-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView*: Completely revamp the drawing to match the
+       public API.  Our grids now look better, and call all the
+       appropriate methods and event to allow users to override
+       the painting and do their own.
+
+2008-03-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBindingHelper.cs: Implement 2.0 GetList methods.
+
+2008-03-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Implement BorderStyle.
+
+2008-03-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FileDialog.cs: Apply patch from Andy Hume: Any time we
+       are comparing attributes, make sure we only look at the
+       one we are interested.  These calls were failing if there
+       were more than one attribute.
+       [Fixes bug #370385]
+
+2008-03-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridColumnStyle.cs: Hide ctor from 1.1 profile.
+
+2008-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PageSetupDialog.cs: Stub EnableMetric.
+       * PrintControllerWithStatusDialog.cs: Implement IsPreview.
+       * PrintPreviewDialog.cs: Add ProcessDialogKey,
+       ProcessTabKey.
+
+2008-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MonthCalendar.cs: Remove unused variable.
+
+2008-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView*.cs: corcompare stuffs.
+
+2008-03-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MonthCalendar.cs: Remove an incorrect invalidate optimization.
+       The savings aren't worth the extra code to fix the optimization.
+       [Fixes bug #368585]
+
+2008-03-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs: Always call base.Dock in the Dock override so that
+       Control's layout_type gets reset correctly.
+       [Fixes bug #368882]
+
+2008-03-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * X11Dnd.cs: End DnD operation also for the middle mouse button.
+
+2008-03-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: We can't do MenuStrip implicit mnemonics
+       at the same time we do explicit ones, because we have to give all
+       other controls on the container a chance to handle explicit ones
+       first.  If no one has an explicit mnemonic, then we can let the
+       MenuStrip have a shot at implicit mnemonics.
+       * MenuStrip.cs: Create an implicit mnemonic function.
+       * ToolStrip.cs: When processing explicit mnemonics, don't do implicit
+       mnemonics for MenuStrips.
+       [Fixes bug #368493]
+
+2008-03-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * AxHost.cs, Binding.cs, DataGridView.cs, DataGridViewCell.cs,
+       DataGridColumnStyle.cs: corcompare stuffs.
+
+2008-03-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FileDialog.cs: Don't add any ColumnHeader to Columns if view is not
+       Details - This is needed after we added the bits to use any available
+       column also for List and SmallIcon view. 
+
+2008-03-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Fire SelectedIndexChanged and SelectedValueChanged events
+       at the proper place, not only when changing SelectedIndex and changing
+       the selection using keys/mouse, as .net does.
+
+2008-03-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ControlBindingsCollection.cs: Implement last 2.0
+       DefaultDataSourceUpdateMode property. Also fix a wrong instruction
+       in the new 2.0 Add methods.
+
+2008-03-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When calling SelectedIndexCollection.Clear,
+       return if no items are previously selected - this is done to avoid 
+       firing OnSelectedIndexChanged without need to do so. Also,
+       when creating handle ensure that the focused item is visible (as
+       .net does).
+
+2008-03-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Rewrote/refactored most of selection code. We require
+       the following things in selection: a) keep selection sorted (both
+       indices and items), b) SelectedIndices automatically detect the
+       selection mode, c) SelectedIndex should be the first selected item
+       index, d) Need to Focus/adjust scroll bar when selecting a new item,
+       not only for SelectedIndex, which is specially important in Multi*
+       selection modes. To achieve this we are moving the selection core to
+       SelectedIndexCollection and make depend all selection modifications on
+       it.
+       Fixes #366438.
+
+2008-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Enable implicit mnemonics for drop down
+       menu strips.  [Fixes part of bug #367692]
+
+2008-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix parameter names [stragglers].
+       Binding.cs, BindingsCollection.cs, GridColumnStylesCollection.cs,
+       HelpEventHandler.cs, Label.cs, ListView.cs, Message.cs,
+       TabControl.cs.
+
+2008-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       Control.cs: Don't call ProcessMenuKey on WM_SYSKEYUP if there
+       was a mnemonic pressed as well as Alt.  Also, if nothing handles a
+       mnemonic, let the ToolStripManager have it even if it doesn't
+       have a matching mnemonic.
+       [Fixes bug #367499]
+
+2008-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix warning about implicit implementation
+       * ToolStrip.cs: Add IToolStripData interface.
+       * IToolStripData.cs: Add.
+
+2008-03-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix warning about implicit implementation
+       * Control.cs, ToolStripPanelRow.cs: Add IBounds interface.
+       * IBounds.cs: Add.
+
+2008-03-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix parameter names [N-Z].
+       LinkArea.cs, NativeWindow.cs, NotifyIcon.cs, PageSetupDialog.cs,
+       Panel.cs, PrintDialog.cs, PrintPreviewControl.cs, PropertyGrid.cs,
+       PropertyManager.cs, RichTextBox.cs,
+       ScrollBar.cs, SelectionRange.cs, SplitContainer.cs, StatusBar.cs,
+       StatusBarDrawItemEventArgs.cs, StatusBarPanelClickEventArgs.cs,
+       StatusStrip.cs, TabControl.cs, TableLayoutColumnStyleCollection.cs,
+       TableLayoutRowStyleCollection.cs, TableLayoutStyleCollection.cs,
+       TextBoxBase.cs, ThreadExceptionDialog.cs, ToolStrip.cs,
+       ToolStripContentPanel.cs, ToolStripDropDown.cs,
+       ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripMenuItem.cs,
+       ToolStripPanel.cs, ToolStripSeparator.cs,
+       TreeNode.cs, TreeView.cs, TreeViewHitTestInfo.cs,
+       UICuesEventHandler.cs, UpDownBase.cs.
+
+2008-03-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix parameter names [G-M].
+       GridColumnStylesCollection.cs, GridItemCollection.cs,
+       GridTableStylesCollection.cs, GroupBox.cs, Help.cs,
+       HelpProvider.cs, ImageListStreamer.cs, InputLanguageCollection.cs,
+       Label.cs, LayoutEngine.cs, LinkClickedEventArgs.cs,
+       LinkLabel.cs, ListBox.cs, ListView.cs, ListViewGroupCollection.cs,
+       ListViewItem.cs, Menu.cs, MenuItem.cs, MenuStrip.cs, MouseEventArgs.cs.
+
+2008-03-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       corcompare - fix parameter names [A-F].
+       Control.cs, DataGridBoolColumn.cs, DataGridColumnStyle.cs,
+       DataGridTextBoxColumn.cs, DataGridViewButtonCell.cs,
+       DataGridViewCellCollection.cs, DataGridViewCellParsingEventArgs.cs,
+       DataGridViewCheckBoxCell.cs, DataGridViewColumnDesignTimeVisibleAttribute.cs,
+       DataGridViewComboBoxCell.cs, DataGridViewHeaderCell.cs,
+       DataGridViewImageCell.cs, DataObject.cs, DomainUpDown.cs,
+       DrawItemEventArgs.cs, FolderBrowserDialog.cs, FontDialog.cs, Form.cs.
+
+2008-03-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Do not convert not only if the types match, 
+       but also if the property type is assigneable from the value's
+       type.
+       [Fixes bug #366566]
+
+2008-03-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: 
+        - Subscribe to the listbox only once and not everytime.
+        - Update the textbox even if SetValue fails.
+        - Close the listbox before calling TrySetValue just in case.
+        [Fixes bug #366569]
+
+2008-03-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Hide ICollection.CopyTo from the 1.1 profile.
+
+2008-03-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement support for custom column width based on
+       Columns collection (we were previously using this collection only
+       with Details view).
+       Fixes #364484.
+
+2008-03-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: For Tile view, always set bounds for the first
+       subitem (which is the main one), and also don't let Width be larger
+       than ListView.TileSize.Width. Improve code readibility also.
+       * ThemeWin32Classic.cs: When painting the ListViewItem instances
+       in Tile view, _always_ use the NoWrap flag.
+       Fixes #360798.
+
+2008-02-29  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Check for null PropertyDescriptor.Name just 
+       in case.
+       * GridEntry.cs: For MS compitability make all child properties 
+       readonly if the parent is readonly. Ugh.
+       [Fixes bug #365945 and #365944]
+
+2008-02-29  Andreia Gaita <avidigal@novell.com> 
+
+       * HtmlHistory.cs: Fix sigs for Forward and Back to navigate by index
+         relative to the history
+
+2008-02-29  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlElement.cs: More handlers for mouse and key events
+
+2008-02-28  Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs: MouseClick sig changed.
+       * HtmlHistory.cs: Implement history navigation
+       * HtmlElement.cs: Add event handlers, and connect them.
+
+2008-02-28  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: 
+        - Use PropertyDescriptor.DisplayName instead of .Name for Label,
+          so that DisplayNameAttribute doesn't get ignored.
+        - Check for ParenthesizeNameAttribute and parenthesize the Label.
+        - Add support for PasswordPropertyTextAttribute
+       * PropertyGridView.cs: Check if an entry is a password.
+       [Fixes bugs #365589, #365586, #365588]
+
+2008-02-28  Andreia Gaita <avidigal@novell.com>
+
+       * PropertyGridView.cs: Revert the message filtering change, as we
+       need it to block after all. Remove block parameter, unnecessary.
+
+2008-02-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UserControl.cs: Better implementation of GetPreferredSize.
+       First step to fixing bug #361441.
+
+2008-02-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Actually implement data binding support for 
+       classes implementing IBindableComponent.
+       * ControlBindingsCollection.cs: Likewise.
+
+2008-02-26  Andreia Gaita  <avidigal@novell.com>
+
+       * PropertyGridView.cs: Use a message filter to check when to 
+       close the dropdown
+
+2008-02-26  Andreia Gaita  <avidigal@novell.com>
+
+       * Application.cs: Change the message_filters loop so a filter 
+       can be removed while looping.
+
+2008-02-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Optimization in ToggleValue so that it caches
+       the current value.
+       * PropertyGridView.cs: An optimization so that the property isn't 
+       re-read twice for each StandardValue added to the drop-down menu.
+       Patch by Andy Hume <andyhume32@yahoo.co.uk> under the MIT/X11
+       license.
+       [Fixes bug #362755]
+
+2008-02-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Apply patch from Justin Cherniak to match
+       MS better for ProductName, ProductVersion, and CompanyName.
+       [Fixes bug #361709]
+
+2008-02-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Actually implement 2.0 NullValue property. Also
+       when changing the formatting related properties, only update the state
+       if formatting_enabled is true (we don't mind otherwise).
+
+2008-02-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't raise ItemClicked for disabled items.
+       [Fixes bug #364486]
+
+2008-02-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Use the PropertyDescriptor.PropertyType instead 
+       of GetType on the current value as it uses reflection to 
+       determine the type. This fixes the case where the new value is 
+       null. 
+
+2008-02-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Limit mousewheel scrolling to not scroll
+       past the view.
+
+2008-02-24  Luke Page  <luke.a.page@gmail.com>
+
+       * Line.cs, TextControl.cs: Implement offset x and y so that a
+       document doesn't have to begin  at (0,0) on the viewpoint.
+       * TextBox.cs, TextBoxBase.cs: RightToLeft switches the scroll
+       bars and switches the text alignment (and therefore is now
+       implemented for textbox). Fixes #321383.
+
+2008-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Actually implement 2.0 FormatString and FormatInfo
+       properties. Also when changing FormattingEnabled update the control
+       property -as .Net does-.
+
+2008-02-22  Carlos Alberto Cortez <calberto.cortez@Å‹mail.com>
+
+       * ControlBindingsCollection.cs: Add the missing 2.0 Add overloads.
+       * Binding.cs: Add stubs for the overloads of the Add method in
+       CBCollection.
+
+2008-02-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: PullData () returns a false value if we got an exception.
+       Also when validating the control and we get an error, instead of
+       setting the value of the previous one, cancel the event (tested in 1.1
+       and 2.0).
+
+2008-02-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Make selected_node and highlighted_node internal.
+       * TreeNodeCollection.cs: Reset selected_node and highlighted_node
+       to null when Nodes.Clear is called.
+       [Fixes bug #363884]
+
+2008-02-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Ensure that when the Font is set in code,
+       all the gui pieces are updated accordingly.
+       [Fixes bug #361020]
+
+2008-02-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Respect proposed size for MeasureString.
+       * ThemeWin32Classics.cs: If our CheckBox/RadioButton isn't
+       autosize, use a proposed width to force wrapping for long text.
+       [Fixes bug #360981]
+
+2008-02-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Factor in checkboxes = false and state images in
+       to HitTest.  [Fixes bug #363360]
+
+2008-02-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Only look at the Date part of a DateTime
+       when drawing the selected range.
+       [Fixes bug #363648]
+
+2008-02-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripContainer.cs: Add SupportsTransparentBackColor and
+       ResizeRedraw control styles.
+       [Fixes bug #363555]
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: StateImages are basically custom checkboxes, so
+       factor their size the same as real checkboxes when determining
+       what got clicked.
+       [Fixes bug #363367]
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MessageBox.cs: Make the message box wider if the form caption
+       is longer than the text in the form.
+       [Fixes bug #361137]
+
+2008-02-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Fix a NRE when closing the drop down form.
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Guard against an NRE when the parent's
+       StateImageList hasn't been set.
+       [Fixes bug #363353]
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitContainer.cs: Add SupportsTransparentBackColor and
+       OptimizedDoubleBuffering control styles.
+       [Fixes bug #363303]
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: For the app data paths and the registry key paths,
+       ensure they are created before returning them to the user.
+       [Fixes bug #361709]
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Guard against an NRE in CompanyName and
+       ProductName.
+
+2008-02-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: For CompanyName, ProductName, and ProductVersion,
+       make sure we handle all three cases correctly: attribute is present,
+       attribute is present but is an empty string, and attribute is not
+       present.
+
+2008-02-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: 
+        - Fix a NRE that caused a test failure
+        - Another performance improvement - cache the standard values
+        listbox.
+
+2008-02-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Fix previous change to affect both 1.1 and 2.0
+       code paths.
+
+2008-02-19  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Fix a big performance bug.
+
+2008-02-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SelectionRange.cs: Apply patch from Andy Hume to make
+       constructor behavior more accurate.  [Fixes bug #362117]
+
+2008-02-19  Andreia Gaita <avidigal@novell.com> 
+
+       * Control.cs: Added a new flag is_disposing to track if the
+       window is currently in the process of being disposed of.
+       This is used so that, when firing visibility changes triggered
+       by unparenting controls during Dispose, the control doesn't
+       get created again.      
+
+2008-02-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Set height to preferred height when the handle
+       is created.  [Fixes bug #360862]
+
+2008-02-18  Andreia Gaita <avidigal@novell.com>
+
+       * XplatUIX11.cs: Create FosterParent with border width at 0.
+       With the previous value of 4, everytime a control got reparented
+       from parent = null, it's location would be shifted right and 
+       down by 4, since these coordinates would be offset by the 
+       FosterParent's border width.
+
+2008-02-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs: During diposing firstly remove ourselfes from
+       the parent and *then* destroy our handle, because removing
+       ourselfes from the parent controls collection causes 
+       VisibilityChange, etc events, which require a handle and end
+       up recreating the control.
+
+2008-02-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Set expanded state before notifying that the
+       expansion has taken place.
+       * PropertyGridView.cs:
+        - Set the propertygridtextbox text to the selected 
+        StandardValue before proceeding to setting it.
+        - Scrolling bugfixes.
+
+2008-02-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs:
+        - Fix ValueText to not return null.
+        - Fix conversion error reporting to actually happen.
+       * PropertyGridView.cs: Set entry only if the text has changed.
+       [Fixes bug #362116]
+
+2008-02-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: 
+        - Fix handling of a null current value.
+        - Swallow editor exceptions.
+       [Fixes bug #362114]
+
+2008-02-16  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Clear current items first thing before 
+       repopulating subitems.
+       * GridEntry.cs: 
+        - Handle null StandardValuesCollection.
+        - Mark as not editable if there is no PropertyDescriptor and
+        if the Converter cannot convert from string.
+       [Part of fix for bugs #360666 and #358332]
+
+2008-02-15  Luke Page  <luke.a.page@gmail.com>
+       * MaskedTextBox.cs: Now skips non editable characters after a
+       character has been entered and we are progressing to the next
+       position in the MaskedTextBox.
+
+2008-02-15  Luke Page  <luke.a.page@gmail.com>
+       * TextBoxBase.cs: Handles MouseDown when shift key is clicked so
+       that it changes the selection rather than just repositioning the
+       cursor. Fixes Bug #360873.
+
+2008-02-15  Luke Page  <luke.a.page@gmail.com>
+       * TextBoxBase.cs, TextControl.cs, RichTextBox.cs: TextChanged fires
+       when Undo/Redo changes the text. Undo/Redo/Undo/Redo now works
+       correctly. See #359330
+
+2008-02-15  Andreia Gaita <avidigal@novell.com>
+
+       * XplatUIX11.cs: If the handle is null when posting a message, use the
+       current thread queue to post instead. Fixes #332409
+
+       * SendKeys.cs: Slight optimization
+
+2008-02-14  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs, PropertyGridView.cs:
+       Fix multiple scrolling and sizing issues.
+       [Fixes bug #359199]
+
+2008-02-12  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Ensure that drop down editors are shown
+       in the WorkingArea of the screen.
+       [Fixes bug #359807]
+
+2008-02-12  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Fail silently when UITypeEditor is missing.
+       [Fixes bug #360666]
+
+2008-02-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Implement 2.0 DataSourceNullValue property.
+
+2008-02-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs:
+        - Clear the controls in the drop down form after it is hidden.
+        - Fix Width sizing of the dropdown editors to match MSFT.
+
+2008-02-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: 
+        - Fix height for drawing the grid entry
+        text value, so that it clips multiline text properly.
+        - Fix unfocusing to match MSFT.
+
+2008-02-11  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGrid.cs: Do not populate subgriditems unless expandable.
+       Fixes a bug where on repopulation after value changed items become
+       expandable.
+
+2008-02-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: For the 2.0 profile, look for a 
+       'PropertyChanged' event in the target control, and add checks for
+       DataSourceUpdateMode property to change -or not- the data source
+       from validation/control property change.
+
+2008-02-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Binding.cs : build fix (operator == is not overriden in 1.x. Do
+         not compare struct with null in 2.0).
+
+2008-02-10  Luke Page <luke.a.page@gmail.com>
+
+       * MaskedTextBox.cs: UseSystemPasswordChar updates PasswordChar, PasswordChar
+       updates the provider and if not using a provider, uses the internal document
+       class implementation of password char. Also when showing text, uses display string
+       from the provider, instead of the actual text.
+
+2008-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Ooooops, forgot to take into account the data_source
+       and binding_member_info null case (it was breaking the Binding tests).
+
+2008-02-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Implement support for data source changes exposed by
+       'PropertyNameChanged' events, and update the control property as
+       needed.
+
+2008-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Implement 2.0 WriteValue method.
+
+2008-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       Commit patch from James Purcell for better AutoScale implementation:
+
+       * ScaleControl should call GetScaledBounds with the control's total size rather
+       than client size.  GetScaledBounds should handle ignoring the borders in its
+       calculations.  Cleaned up ScaleControl/GetScaledBounds overrides in controls
+       (for the most part they just call the base code now since that is fixed).
+       * Added ScaleChildrenInternal to allow controls to disable scaling of children
+       without having to override ScaleChildren (since none of .NET's controls do). 
+       This is required for most controls in Mono that have scrollbars to prevent the
+       scrollbars from being moved/resized.
+       * Nested ContainerControls can have a different scale mode than their parent. 
+       This is briefly mentioned in MSDN but is buggy in MS.NET (the runtime and
+       designer produce different results both of which look incorrect).
+       * Default AutoScaleMode for ContainerControl should be Inherit.
+       * Simplified workaround for ComboBox scaling issue.
+       * 1.0 style auto-scaling now uses its own methods instead of sharing 2.0's. 
+       1.0 style auto scaling should scale the whole control's size instead of
+       ignoring the borders (except for Form) and the rounding is done differently to
+       preserve control alignment.
+       * ApplyAutoScaling (used for 1.0 style) should use the rounded result of
+       GetAutoScaleSize.
+       * Cleaned up fix for "Bug 355703 - Setting AutoScale = true doesn't stick".
+       * CurrentAutoScaleDimensions should round the estimated character width instead
+       of truncating.
+       * ListBox's GetScaledBounds should always use the height it was set to instead
+       of the height that was passed in.  This prevents rounding errors from
+       accumulating quickly with IntegralHeight.
+       [Bug #359098]
+
+2008-02-08  Andreia Gaita <avidigal@novell.com>
+
+       * Form.cs: Add a null check (darn it). 
+
+2008-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: Make sure the requesting form actually owns the
+       control menu items before removing them.  Also, use
+       Suspend/ResumeLayout when adding or removing items so we only
+       layout once.
+       [Fixes bug #359887]
+
+2008-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Guard against an NRE in ShowFocusCues.
+       [Fixes bug #359830]
+
+2008-02-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Implement 2.0 ReadValue method and ControlUpdateMode
+       property, as well as stubbing DataSourceUpdateMode.
+
+2008-02-08  Andreia Gaita <avidigal@novell.com>
+
+       * Form.cs: When closing forms, get focus back to the active control of the
+       active form. [Fixes #341314, corner case]
+       
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: After we move the scrollbars, invalidate the NC
+       area, so any old scrollbar artifacts are cleaned up.
+       [Fixes bug #336305]
+
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiWindowManager.cs: If we are maximized and using MainMenuStrip
+       for our menus, display that control box menu instead of the 1.1
+       menu one.
+
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiControlStrip.cs: Add property to access the mdi form tied to
+       each toolstripitem.
+       * MdiClient.cs: Be smarter about removing and adding toolstripitems
+       to the implicitly merged menu.  Every time we clicked the form, items
+       were getting removed and the re-added, causing the form to jump around
+       as the menu resized.
+
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: Make sure the NormalBounds always gets set.  It
+       was being reset by the implicit menu merge for menustrips.
+       [Fixes bug #336296]
+
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't do the previous change when WindowState = Normal,
+       or it messes up where the window is placed.  Fixes test failure.
+
+2008-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: When becoming visible, if we are an MDI child, call
+       SetWindowState with a dummy old_state so that changes will actually
+       be made.
+       [Fixes the 2nd part of bug #325473]
+
+2008-02-07  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: Reset properties to their pre parent-change values in case
+       the new parent == null (in which case we're basically removing the control, 
+       and don't want any events fired due to fake property changes)
+       [Fixes #355850]
+
+2008-02-06  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: 
+        - Refactor SetValue to allow setting the value
+       when a custom editor is used, but the entry is not editable.
+        - Remove the custom editor control on CloseDropDown.
+       [Fixes #359196]
+
+2008-02-06  Andreia Gaita <avidigal@novell.com>
+
+       * PrintControllerWithStatusDialog.cs: Set PrintFileName value through
+       reflection only on 1.1, this property is public on system.drawing on 2.0.
+       Fixed #359247
+
+2008-02-06  Andreia Gaita  <avidigal@novell.com>
+       
+       * WebBrowser.cs: Do a normal page refresh by default.
+
+2008-02-05  Andreia Gaita  <avidigal@novell.com>
+
+       * XplatUIWin32.cs, XplatUICarbon.cs: set the hwnd.Mapped flag when we create 
+       the window so that the check on Control.UpdateZOrderOfChild passes on non-X
+       platforms. Fixes #359036
+       
+       Note: Control.UpdateZOrderOfChild needs to be rewritten to not rely on 
+       platform-specific flags.
+
+2008-02-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Add 2.0 BindableComponent property - just return control
+       by now.
+
+2008-02-05  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Check if control is disposable when track popup menu. Thanks
+       Jonathan for this patch. Fixes #358442.
+
+2008-02-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: If we change the active MDI child form, let the others
+       know they need to repaint their title bar so it will appear inactive.
+       [Fixes part 1 of bug #325473]
+
+2008-02-05  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Do not trucate custom editors' width
+        and align them to the left.
+        [Fixes #358353 and #358349]
+
+2008-02-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingsCollection.cs: Implement 2.0 CollectionChanging event.
+       Also fix the arguments passed to CollectionChangeEventArgs in the
+       related methods.
+
+2008-02-04  Geoff Norton  <gnorton@novell.com>
+
+       * Hwnd.cs: The conversion to Quartz coordinates happens in
+       System.Drawing.  Removing this translation from here.
+
+2008-02-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs,
+        CategoryGridEntry.cs, RootGridEntry.cs, GridItem.cs,
+        GridItemCollection.cs:
+        PropertyGrid rewrite part 2. Tons of bugfixes and new features.
+
+2008-02-04  Geoff Norton  <gnorton@novell.com>
+
+       * X11Keyboard.cs: VK_MENU should send a KEYUP instead of 
+       SYSKEYUP if any other key has been pressed in the mean time.
+       Fixes #324404
+
+2008-02-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.ItemsMouseMove, only fire ItemDrag event
+       when the item in current position is different than 0. Also, save the
+       item index in the beginning of the operation, instead of getting the
+       index of the item when the event is actually performed. Lastly clean
+       the related fields in ItemsMouseUp if the ItemDrag operation wasn't
+       triggered.
+       [Fixes #357873]
+
+2008-02-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Alt-Minus for MDI children system menu should work
+       with both the minus keys on the keyboard.
+       [Fixes bug #336295]
+
+2008-02-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Don't invalidate on region change.  The WM should
+       take care of this automagically.  Keeps us out of an infinite
+       paint loop if someone changes the Region in the OnPaint.
+       [Fixes bug #358327]
+
+2008-02-04  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * ImageIndexConverter.cs: ConvertFrom must handle "(none)".
+
+2008-02-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DateTimePicker.cs: Apply patch from Srikanth Madikeri so we drop
+       down the MonthCalendar only on F4, not Alt+F4.
+       * MonthCalendar.cs: If we are a popup, close ourselves on Alt+F4.
+       [Fixes bug #358340]
+
+2008-02-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: For MonthCalendar, draw a dark border
+       if its part of a DateTimePicker, else, use the back color.
+       [Fixes bug #358339]
+
+2008-02-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Hwnd.cs: Use GraphicContext instead of the uninitialized bmp_g.
+       [Fixes bug #358342]
+
+2008-02-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * CurrencyManager.cs: When we get a ListChanged event from our source,
+       always fire our own ListChanged event, as .Net does.
+
+2008-02-03  Luke Page  <luke.a.page@gmail.com>
+
+       * RichTextBox.cs: AutoSize now defaults to false. Fixes Bug
+       #358379.
+
+2008-02-03  Luke Page  <luke.a.page@gmail.com>
+
+       * TextBoxBase.cs, RichTextBox.cs, TextControl.cs: Sets richtext
+       property. Removed if for richtext property that was always true.
+       PgUp/PgDn at top/bottom fixed for RTB. Fixes bug #358237.
+
+2008-02-03  Luke Page  <luke.a.page@gmail.com>
+
+       * TextBoxBase.cs - commited patch from James Purcell that
+       correctly sets the FixedHeight control style when the MultiLine
+       property is changed on a TextBox control. Fixes bug 358229.
+
+2008-02-02  Luke Page  <luke.a.page@gmail.com>
+
+       * Line.cs, LineTag.cs, RichTextBox.cs, TextControl.cs
+       Fixes bug 351938 - caret is positioned correctly when drawn
+       and when calculating textual position of caret, no longer
+       has a NRE in certain situations.
+       
+2008-02-01  Geoff Norton  <gnorton@novell.com>
+
+       * Hwnd.cs: Ensure that windows moved into -'ve coordinate space
+       get that region removed from the paint event.
+       * XplatUICarbon.cs: Remove the window mapping after disposing of 
+       window.  Prevents a crash with handle reuse.  Optimize exposes
+       only onto visible windows (rare; but possible).
+
+2008-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UpDownBase.cs: Make sure the internal textbox calls the base's
+       OnMouseDown and OnMouseUp so the textbox will function correctly.
+       There were notes saying it doesn't chain up, but its an internal
+       class, so our implementation may differ.
+       [Fixes bug #357482]
+
+2008-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Fix a logic error and don't process MouseDown
+       for mouse buttons other than Left.
+
+2008-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Remove HeightInternal.
+       * ListBox.cs: Commit patch from James Purcell that correctly
+       calculates heights for ListBoxen.
+       [Fixes bug #357152]
+
+2008-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: Apply patch from James Purcell that corrects the 
+       signature of the AutoSize property.
+       [Fixes bug #357605]
+
+2008-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Don't throw [Mouse]Click events for buttons
+       other than the left mouse button.
+
+2008-01-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Remove my awesome optimization as it caused some
+       regressions with control ordering.  :(
+       [Fixes bug #357467]
+
+2008-01-31  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Fix a NRE on double click when there is no
+        selected object.
+
+2008-01-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * BindingManagerBase.cs: Implement IsBindingSuspended 2.0 property.
+
+2008-01-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Call MouseClick and MouseDoubleClick.
+       [Fixes bug #357146]
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Hwnd.cs: Make bmp, bmp_g variables threadstatic and private.
+       * Control.cs, DataGridViewCell.cs, LineTag.cs: Use Hwnd.GraphicsContext
+       instead of Hwnd.bmp_g.
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Don't maintain private bitmap/graphics contexts.
+       Use the Hwnd one instead.
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Remove duplicated copy of GetAutoScaleSize.
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: corcompare for RestoreBounds.
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Add MarshalAs attribute to Font getter for corcompare.
+
+2008-01-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Handle Alt-Minus for MDI children forms.
+       * MdiWindowManager.cs: Make ShowPopup internal so Form can call it.
+       Add mnemonics to the control menu.
+       [Fixes bug #336295]
+
+2008-01-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Initial implementation bits of FormattingEnabled
+       property and BindingComplete event (2.0). 
+       * BindingCompleteEventArgs.cs: Internal methods for setting error text
+       and exception.
+
+2008-01-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Draw the table border at 0,0 instead of
+       table.Location.  [Fixes bug #354672]
+
+2008-01-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Handle WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE to raise
+       ResizeBegin and ResizeEnd.  [Fixes bug #346529 for win32]
+
+2008-01-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When OnDisplayMemberChanged method is reached, instead
+       of doing all the re-bound work, just invalidate and call SetControlText 
+       to set the updated text of selected item to our textbox.
+       Fixes #333750.
+
+2008-01-28  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlWindow.cs: Add event handler support. Add Document, Frames, 
+       IsClosed, Opener, StatusBarText, Url properties, stub out the remaining
+       missing properties and methods. Add Load, Unload, Error, GotFocus, 
+       LostFocus, Resize, Scroll events (only load and unload are connected)
+
+2008-01-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * AccessibleObject.cs: Modified argument names to match MS.
+       * Button.cs: Modified argument names to match MS.
+       * BindingContext.cs: Modified argument names to match MS.
+       * BindingMemberInfo.cs: Modified argument names to match MS.
+       * ButtonBase.cs: Modified argument names to match MS.
+       * ComboBox.cs: Modified argument names to match MS.
+       * Control.cs: Modified argument names to match MS.
+       * CheckedListBox.cs: Modified argument names to match MS.
+       * CommonDialog.cs: Modified argument names to match MS.
+       * DataGrid.cs: Modified argument names to match MS.
+       * CursorConverter.cs: Modified argument names to match MS.
+       * ControlPaint.cs: Modified argument names to match MS.
+       * CheckBox.cs: Modified argument names to match MS.
+       * ControlBindingsCollection.cs: Modified argument names to match MS.
+       * BindingSource.cs: Modified argument names to match MS.
+       * DataFormats.cs: Modified argument names to match MS.
+       * ContainerControl.cs: Modified argument names to match MS.
+       * CurrencyManager.cs: Modified argument names to match MS.
+       * Application.cs: Modified argument names to match MS.
+       * ContextMenuStrip.cs: Modified argument names to match MS.
+       * ContextMenu.cs: Modified argument names to match MS.
+       * BindingManagerBase.cs: Modified argument names to match MS.
+       * WindowsFormsSection.cs: Fixed line ending.    
+
+2008-01-27  Andreia Gaita <avidigal@novell.com>
+
+       * PropertyGridView.cs: Rearrange the dropdown loop so that it exits when
+       detecting that the dropdown toolwindow is hidden. EndLoop outside the
+       while.
+
+2008-01-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertiesTab.cs: Fixed argument name of GetDefaultProperty to match
+       MS. Code formatting.
+
+2008-01-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Binding.cs: Don't avoid the Format event if the control 
+       property type is object. Also, if the value retrieved by 
+       the data source is null _and_ the control proeprty type 
+       is object, return Convert.DBNull (match .Net).
+       Fixes part of #324286.
+
+2008-01-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: Since we are getting two BinginContextChanged events
+       for the same binding context instance (when the control is added to
+       form, and when the form is actually shown), take it into account only the
+       first time for a given binding context instance.
+       Fixes part of #324286.
+
+2008-01-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertryGridView.cs: Ops.
+
+2008-01-26  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Close dropdown form if the owner form is
+        moved or minimized.
+        [Fixes bug #322446]
+
+2008-01-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs, GridItem.cs, 
+        RootGridEntry.cs, CategoryGridEntry.cs:
+        PropertyGrid rewrite.
+        - Rewrite all of the control logic in PropertyGrid.
+        - Rewrite all of the ComponentModel logic in GridEntry.
+        - Rewrite all UI work in PropertyGridView.
+        - Many bugfixes, etc.
+
+2008-01-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Enhance GetPreferredSize to take into account
+       when all contained controls are autosize or dock-fill.  Also take into
+       account when the total percentage of column/row sizes is not 100%.
+       [Fixes bug #354672]
+
+2008-01-24  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlDocument.cs:
+       - Save a reference to the IDocument in the instance and
+         use that one instead of going to WebHost.Document; the document that the 
+         WebHost returns might not be the right one (in case of frames).
+       - Use the hashcode returned from the IDocument interface.
+       - Implemented: ActiveElement, ActiveLinkColor, All, BackColor, Cookie, 
+         Domain (setter is not supported), Encoding, ForeColor, Forms, Images, 
+         LinkColor, Url, VisitedColor, Window
+
+       * HtmlElement.cs: 
+       - Implemented: CanHaveChildren, Children, Document, GetAttribute, 
+         set_Attribute, NextSibling, Parent, TagName, AppendChild, 
+         GetElementsByTagName, GetHashCode, HasAttribute, InsertAdjacentElement,
+         SetAttribute, Equals, equality operators.
+       - Added stubs for: AttachEventHandler, DetachEventHandler, Focus, 
+         InvokeMember, RaiseEvent, RemoveFocus, ScrollIntoView, 
+       
+       * HtmlElementCollection.cs: Change implementation to use a generic
+       collection. Implemented Enumerator and CopyTo
+
+       * HtmlHistory.cs: Add constructor, no implementation yet.
+
+       * HtmlWindow.cs: Initial implementation with: Name, Parent, Alert,
+       Confirm, Prompt, Navigation, ScrollTo, Open, OpenNew, GetHashCode, 
+       Equals, equality operators.
+
+       * HtmlWindowCollection.cs: Implemented. 
+
+       * WebBrowser.cs: Use the Navigation object to navigate (WebHost.Navigate
+       has been deprecated).
+
+       * WebBrowserBase.cs: Use Completed event to track document loading
+       (Navigated has been deprecated)
+
+2008-01-24  Jonatham Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Add tab stops and NoWrap to dropdown MenuItems.  Top
+       level MenuItems do not respect tabs.
+       [Fixes bug #355196]
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Ensure that windows are created in their initial 
+       FormWindowState.  Finished fixing Fullscreen windows on Carbon
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: When FindForm fails uses FindRootParent to find the control to
+       be used as grab_control. Also save status of capture before show ContextMenu
+       and restore it after close.
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: Internal FindRootParent method added to return high control
+       in parent tree.
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+
+       * Hwnd.cs: Refactor Whole/Client pointer to 1 element for Cursors.
+       * XplatUICarbon.cs: Refactor some dead code out to Cursor.cs and make
+       it work again.  Handle HITTEST events.
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Ensure that we always have a host window.  Prevents
+       a crash in certain cases.  Support for fullscreen windows in certain cases.
+
+2008-01-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't set AutoScaleMode in AutoScale if we don't have to.
+       [Fixes bug #355703]
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+       
+       * XplatUICarbon.cs: Remove some dead code that was causing warnings.
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Re-enabled Carets in QuickDraw as a overlay window.
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * SplitContainer.cs: Remove unused declarations.
+       * Binding.cs: Remove unused declarations.
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Remove unused declaration of 'active' in Activate method.
+       * Control.cs: Move declaration of nested_layout inside '#if NET_2_0" to 
+       prevent compilation warnings.
+       * TextControl.cs: Remove unused declaration of selection_pos_on_line.
+       * Hwnd.cs: Remove unused declaration of clip in GetClippingRectangles.
+       * Bindings.cs: Remove unused formatting_enabled declaration.
+       * ToolTip.cs: Put some methods inside '#if NET_2_0" to prevent compilation 
+       warnings.
+       * TreeView.cs: Put some methods inside '#if NET_2_0" to prevent compilation 
+       warnings.
+       * PropertyGridView.cs: Remove usused 'ex' declaration.
+       * DataGridView.cs: Remove unused declarations.
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       [Fixes bugs #343966, #338511 and other non reported (context)menu bugs]
+       
+       * Form.cs: Remove all active_tracker (used by menu) stuff, it is now moved 
+       to Control class, it makes possible to grab menu to controls that can't 
+       reach Form using parent tree. Handle for WmButtonUp, WmButtonDown and
+       WmMouseMove removed since it was used only to track menu events.
+
+       * Control.cs:
+       - Moved all active_tracker stuff from Form.
+       - ProcessActiveTracker added to prevent code duplicity, now mouse events 
+       can call this method instead of reimplement all necessary code handle for
+       menu tracker.
+       - Call to ProcessActiveTracker for mouse events (WmButtonUp, WmButtonDown
+       and WmMouseMove).
+       
+       * MenuAPI.cs: 
+       - Remove special handle to ToolStripOverflow, now we can grab menu to 
+       controls that can't reach Form using parent tree.
+       - Change type of grab_control from Form to Control.
+
+2008-01-22  Geoff Norton  <gnorton@novell.com>
+
+       * TextBoxBase.cs: Split up the sizing of controls and placing of 
+       controls.  Fixes a bug where scrollbars in Reflector could be sized
+       wrong and have non-working thumbers.
+
+2008-01-23  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUI.cs: Refactor environment variables to default support to the
+       Carbon driver on the Mac.
+
+2008-01-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Label.cs: Uses new LabelPainter for drawing operations.
+       * ThemeWin32Classic.cs: DrawLabel and LabelDefaultSize removed.
+       * Theme.cs: DrawLabel and LabelDefaultSize removed.
+
+2008-01-22  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Enable packing scroll delta into the mouse wParam
+
+2008-01-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Run Flat, Button appearance, 2.0 CheckBoxes
+       through the normal flat button code and don't draw the checkbox glyph.
+       * Theme.cs: Button->ButtonBase signature change.
+       [Fixes bug #324755]
+
+2008-01-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Uses new class LinkLabelPainter.
+
+2008-01-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: Adjust right border space, we don't need to add 
+       "space_border*2" two times.
+
+2008-01-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollableControl.cs: With the advent of 2.0's Padding, DockPadding
+       becomes a wrapper around Padding.
+       [Fixes a part of bug #354676]
+
+2008-01-22 Geoff Norton  <gnorton@novell.com>
+
+       * Mime.cs:  Avoid a needles exception on OSX if we dont have a buffer
+       acquired.  Also ensure the buffer is large enough to grab the header
+       we need on linux boxes.
+
+2008-01-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement a custom enumerator so people can delete
+       from the Controls collection while in a foreach.
+       [Fixes bug #355074]
+
+2008-01-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Fix focusing behavior:
+        - Tab should focus the grid text box.
+        - Clicking on the labels shouldn't focus the grid text box.
+
+2008-01-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: IsValueTypeGridItem should return true 
+        for Arrays as well.
+
+2008-01-22  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGrid.cs, GridEntry.cs, PropertyGridView.cs:
+         - Renamed GridEntry.SelectedObjects to TargetObjects to better
+         reflect the property name role.
+         - PropertyGrid.GetTarget is not required as the target is known
+         (TargetObjects).
+         - Setting values will handle value types as a special case now and
+         populate them up in the chain.
+         [Fixes #354990]
+
+2008-01-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Hwnd.cs: Create a public property for the Graphics we keep around.
+
+2008-01-21  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Just hide the grid textbox and do nothing more 
+        when the current object selection changes. 
+        Fixes failing test SelectedObject_Null2.B5.
+
+2008-01-21  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGrid.cs: Process Browsable properties with 
+        DesignerSerializationVisibilityAttribute.Content as being expandable.
+        This seems also what MS does. Without this e.g SplitContainer.Panel1/2
+        will not be expandable. We should be nested components-friendly now.
+
+2008-01-21  Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs: Check if control was loaded properly, 
+       don't bind if it wasn't.
+
+       * HtmlDocument.cs: Implement CreateElement, Equals, Focus, 
+       GetElementFromPoint, equality operators, OpenNew, Write.
+       Remove extra set_Body
+
+2008-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs, Control.cs: Apply patch from James Purcell
+       that makes our AutoScale* stuff more tolerant to different orders
+       of being set.  [Fixes bug #354669]
+
+2008-01-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs, PropertyGridTextBox.cs: 
+        Drop WM_LBUTTONDOWN msg sending and use focusing instead.
+        [Fixes #339005 and #348209]
+
+2008-01-18  Ivan N. Zlatev  <contact@i-nz.net>
+
+        * PropertyGridView.cs: Hide the grid text box before adjusting it
+        for the newly selected GridItem.
+        [Fixes #338999]
+
+2008-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Give MDI children the opportunity to cancel the parent form
+       attempting to close.  Ensure that all [Form]Clos[ing,ed] events get called
+       properly for both the parent and child.
+       * Application.cs: Signature of internal method changed, pass the previous
+       default of false.
+       [Fixes bug #354286]
+
+2008-01-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Set the property value only if it has changed.
+       [Fixes bug #338997]
+
+2008-01-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuAPI.cs: Windows sends us MOUSEMOVE messages when any key is pressed.
+       If the mouse hasn't actually moved, ignore these messages so the currently
+       highlighted menuitem isn't reset to the one under the mouse.
+       [Fixes bug #333668]
+
+2008-01-17  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: When the property changes Invalidate the GridItem
+       in order for the properties with UITypeEditor.GetPaintValueSupported == true
+       to reflect the change visually.
+       [Fixes bug #338998]
+
+2008-01-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: Add LineLimit to 1.1 button drawing, and TextBoxControl
+       to 2.0 button drawing.
+       * ThemeWin32Classic.cs: Ensure that the rectangle we are using to draw 
+       the button text is tall enough for one line.  LineLimit says it will
+       always draw at least one line, but it is a lie.
+       [Fixes bug #324941]
+
+2008-01-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIStructs.cs, X11Keyboard.cs :
+         added some more VK_* keys to be handled.
+
+2008-01-16  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: Check if there is a container before setting or getting
+       the validation flag.
+
+2008-01-16  Andreia Gaita <avidigal@novell.com>
+
+       * ContainerControl.cs: Add flag to track if a control cancels validation, 
+       so we don't fire click events.
+
+       * Control.cs: 
+       - (HandleClick) Check if validation was cancelled before  firing the click
+       events (doubleclicks are fired, but not clicks)
+       - (WmLButtonDown) Reset validation flag. The flag is normally reset on 
+       ContainerControl.set_ActiveControl, but in the case of non-selectable
+       controls, like a Label, activecontrol is not set. 
+
+       * ButtonBase.cs: Only fire clicks if validation passes.
+       
+       Fixes #353310
+
+2008-01-16  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Implement GetAutoScaleSize to fix Reflector on
+       trunk
+
+2008-01-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FolderBrowserDialog.cs: If we cannot interpret the user's requested
+       SelectedPath, just display the default dialog instead of crashing.
+       [Fixes bug #348989]
+
+2008-01-16  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Flicker be gone!  Generate our messages in
+       AddExpose instead of trusting apples compositing manager which doesn't
+       work for our use case.  Remove some dead code causing warnings and 
+       redecorate some other code to prevent warnings.
+
+2008-01-16  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Avoid some unecessary invalidation calls when
+       carbon signals us to redraw.  Fixes another portion of the flickering bug
+
+2008-01-16  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Prevent the MdiParent property to be set when value is the same
+       as value already set. Fixes bug #328019.
+
+2008-01-16  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Don't set mdi_parent as null when mdi window close is prevented, 
+       it prevents NRE when closing mdi child windows. Fixes bug #325211.
+
+2008-01-16  Everaldo Canuto  <ecanuto@novell.com>
+
+       * InternalWindowManager.cs: Invalidade close button after mouse up when 
+       mdi form is prevented to close.
+
+2008-01-16  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MdiClient.cs: Fix the minimum bounds on child window sizes when cascade,
+       thanks to Andy Hume. Fixes bug #325433.
+
+2008-01-16  Andreia Gaita <avidigal@novell.com>
+
+       * LinkLabel.cs: Reset focused_index when resellecting the control.
+       Fixes #323190
+
+2008-01-15  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Rework Grab/Ungrab handling to send some needed 
+       messages.
+
+2008-01-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Change 2 more AutoScaleBaseSize calculation to round instead
+       of truncate.
+
+2008-01-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Setting AutoScaleMode to anything should set
+       Form.AutoScale to false.
+       * Form.cs: Setting AutoScale to true should set AutoScaleMode to None.
+       AutoScaleBaseSize should be changed on Font change unless it has been
+       explicitly set.
+       [Fixes bug #353827]
+
+2008-01-15  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: On instance of MenuTracker check if source control is
+       ToolStripOverflow and use properly method to find form.
+       [Fixes bug #338511]
+
+2008-01-15  Everaldo Canuto  <ecanuto@novell.com>
+
+       [Fixes bug #323241 Transparent toolbar support]
+
+       * ToolBar.cs: Define ToolBarStyles.TBSTYLE_FLAT in CreateParams when toolbar
+       is flat.
+
+       * Control.cs: Paint background as transparent in case of TBSTYLE_FLAT is
+       defined in control style to mimic win32 behavior.
+
+       * ThemeWin32Classic.cs: Don't paint background for flat apparence toolbar, 
+       it will be transparent.
+
+2008-01-14  Everaldo Canuto  <ecanuto@novell.com>
+
+       * XplatUIStructs.cs: Implement ToolBarStyles to use in Style property of
+       CreateParams for ToolBar controls.
+
+2008-01-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs: Forms with
+       FixedToolWindow, SizeableToolWindow, or None for border styles have
+       different minimum sizes than regular forms.  Implemented to fix
+       regression in PDN with toolbox being too wide.
+
+2008-01-14  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlElementCollection.cs: Implemented
+
+       * HtmlElement.cs: Implemented:
+         - All
+         - InnerHtml
+         - InnerText
+         - Id
+         - Name
+         - FirstChild
+
+       * HtmlDocument.cs: Implemented GetElementsByTagName.
+
+2008-01-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Screen.cs: Stub BitsPerPixel to always return 32.
+
+2008-01-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Implement RestoreBounds.
+
+2008-01-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs, ToolStrip.cs: Fix some typos pointed out by
+       Sebastien and his fabulous magical problem-finding machine:
+       Gendarme.  Also put a MonoTodo on AutoWordSelect since we don't
+       respect the value set.
+
+2008-01-14  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: In WmWindowPosChanged call base.WndProc including when state is
+       minimized. Fixes bug #325122 for Win32. Thanks  Srikanth Madikeri.
+
+2008-01-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: Since we don't propagate the WM_LBUTTONUP/WM_RBUTTONUP
+       messages (to match .Net), we need to remove the capture ourselves.
+
+2008-01-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuAPI.cs: If we get an Alt-F4, release our capture so Windows
+       will process the message and close our window.
+       [Fixes bug #324328]
+
+2008-01-10  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Clip the Graphics context to the invalid area
+       tracked in the Hwnd.  Only invalidate the dirty region to the Carbon
+       window manager.
+
+2008-01-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Enforce the Form minimum size in SetBoundsCore.  Fixed
+       failing test.
+
+2008-01-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIX11.cs: Set a minimum window size and enforce it.  Even though
+       Linux doesn't care, having a minimum matches MS and keeps the window
+       from becoming too small to use window decorations.
+       [Fixes bug #338996]
+
+2008-01-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Tie CheckBox/RadioButton focus rectangles to
+       ShowFocusCues.  Make focus rectangles fit the text instead of the whole
+       control.  [Fixes bug #325419]
+
+2008-01-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Guard against an NRE if the user open a new form from a
+       SelectedIndexChanged event.  This closes the combobox dropdown, and we
+       were trying to dispose it.  [Fixes bug #352830]
+
+2008-01-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, Form.cs: Implement the necessary semantics for
+       ShowFocusCues.  All paint code will need to check Control.ShowFocusCues
+       to determine if a focus rectangle should be drawn.
+       * PropertyGrid.cs: Fix property visibility to match override.
+       * ThemeWin32Classic.cs: Use ShowFocusCues for Button.
+
+2008-01-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Use GetCommandLineArgs to calculate ExecutablePath.
+       [Fixes bug #323552]
+
+2008-01-09  Geoff Norton  <gnorton@novell.com>
+       
+       * XplatUICarbon.cs: Scroll windows in the correct direction.
+
+2008-01-09  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs: Track all created utility windows so we can hide them
+       when the app is deactivated or spaces is enabled.
+
+2008-01-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Cosmetic fix - When calculating layout for item, don't add an
+       extra separation pixel for the label rect origin if SmallImageList is
+       null, and thus we don't need that separation between icon and label
+       rects.
+       Patch by Ernesto Carrea.
+       Fixes # 340195.
+
+2008-01-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Invalidate after completing a layout.  The base
+       OnLayout does this, but we don't call the base.
+       * ToolStripItem.cs: Revert the previous change to invalidate after
+       the item moves.
+       [Fixes bug #351341 better.]
+
+2008-01-07  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  WM_DESTROY is a teardown of a single window
+       not a notification to exit the application.  Listen for WM_QUIT
+       instead.
+
+2008-01-07  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlDocument.cs: Fix case on GetElementById (interface changed)
+
+2008-01-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: If the bounds of an item changes, invalidate it
+       so it can repaint at the correct location.
+       [Fixes bug #351341]
+
+2008-01-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: SelectedValue should return a null value if
+       SelectedIndex is -1. Also, when setting it, it should throw an
+       ArgumentNullException if the value is null, as well as taking
+       into account the String.Empty value, instead of ignoring it (we have
+       tests for that now).
+       Fixes part of #324286.
+
+2008-01-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs, TextControl.cs: Patch from Luke Page to ensure
+       SelectionStart is updated after pressing enter.  Fixes bug #351918.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Revert a piece r92316 that prevented the fix
+       from working when there were multiple tags in the text box.
+       Fixes bug #351881.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Apply patch from Luke Page that prevents an
+       NRE when determining the beginning of a paragraph.
+       Fixes bug #351886.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Apply patch from Luke Page that ensures the
+       caret gets moved with clicking away from a selected block of
+       text.  Fixes bug #351885.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Apply patch from Luke Page that takes line
+       alignment into account for mouse selection, so that center and
+       right aligned text can be selected.
+       Fixes bug #351881.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs: Apply patch from Luke Page that fixes some caret
+       issues after loading an RTF file by using the correct line feeds.
+       Fixes bug #351841.
+
+2008-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: When deleting multiple line selections, we need
+       to invalidate every line beginning at the first line of the selection.
+       Patch from Luke Page fixes bug #351791.
+
+2008-01-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: When getting a CurrencyManager.PositionChanged
+       event, don't set SelectedIndex if the number of items is 1. This is
+       because, for the first item, PositionChanged is fired _before_
+       ItemChanged (the place where we actually populate the items), and
+       leave us in a temporary invalid state (since items collection is
+       empty).
+       Fixes #349655.
+
+2008-01-04  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Create native toolwindows instead of
+       the managed drawing ones.
+
+2008-01-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs: If the line doesn't have any characters, return
+       0 for GetCharIndex.  Fixes an AOORE exception after certain
+       caret movements.  Fixes bug #351683.  Patch by Luke Page.
+
+2008-01-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Apply patch from Luke Page so when backspace
+       is hit when there is selected text, only the selected text gets
+       deleted, not the character in front of the selection as well.
+       Fixes bug #351578.
+
+2008-01-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: When the values are displayed, calculate the
+       ComboListBox scrollbar's LargeChange based on the visible area's
+       height and  the actuall ItemHeight, instead of calculating it
+       based on MaxDropItems value, since it's not used by our _current_ 
+       2.0 profile.
+       Fixes #332366.
+
+2008-01-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs:
+       Patch from Luke Page that fixes issues with font colors and styles
+       not showing up in a readonly RichTextBox.  Fixes bug #324354.
+
+2008-01-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs, RichTextBox.cs, TextControl.cs: Another awesome patch
+       from Luke Page.  This one fixes bug #349926.
+
+2007-12-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * CurrencyManager.cs: Actually fire the 2.0 ListChanged event when
+       an item in the IBindingList source changes with
+       ListChangedType.ItemAdded. Ignore for now firing the event for other
+       changes, since we want to have tests for those cases as well.
+
+2007-12-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Don't store a 1x1 Bitmap for every TextBox
+       created.
+
+2007-12-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxTextRenderer.cs: Implement a cache for measuring each
+       character.  This is effective because the typical usage of a
+       TextBox is with a limited amount of fonts and characters, and
+       the current implementation of TextBox measures everything one
+       character at a time.  Another second or two speedup for bug #347238.
+
+2007-12-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Rewrite the Font getter to only query the parent's
+       Font property once instead of twice.  Since this operation is
+       recursive, the queries were growing exponentially as the control
+       tree got deeper.  Another second or two speedup for bug #347238.
+
+2007-12-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Avoid setting a parent (and more importantly, updating
+       the zorder of all its children) if the parent is already correct in
+       WmShowWindow.  Decreases the startup time of the test case on bug
+       #347238 from 35 seconds to 11 seconds.
+
+2007-12-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When the dnd operation has started and we are 
+       in the dnd loop, don't dispatch either WM_LBUTTONUP nor WM_RBUTTONUP.
+       This is done to match .Net, which doesn't send those messages after
+       dnd operation was completed/cancelled.
+       Fixes #349922.
+
+2007-12-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Previous change should be != null, not == null.
+       Thanks Gert!
+
+2007-12-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Guard against an NRE after ItemClicked is called, the
+       user may have moved the mouse off the current item during the event.
+
+2007-12-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.ItemsMouseMove, try to avoid
+       calling GetItemAt for every MouseMove event by also taking into
+       account whether any mouse button is pressed (probably dragging); 
+       if so, we can call GetItemAt, and if not, try to not call it 
+       (GetItemAt can be quite expensive when used with a large number of items).
+
+2007-12-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement -finally- support for dnd, by calling
+       OnItemDrag as needed. Also, remove the dnd TODO, and add myself to the
+       authors list ;-).
+       * ListViewInsertionMark.cs: Implement NearestIndex method, by doing a
+       simple calculation of distances for all the items in the owner
+       listview.
+
+2007-12-21  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Ensure that we create WindowMapping handles
+       for windows that are originally created as invisible.  Fixes missing
+       main window in paint-mono.
+
+2007-12-21  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUICarbon.cs:  Register our D&D handler.  Register our custom
+       subclass handler for com.novell.mwfview subclassing HIView.  Implement
+       Pasteboard and Dnd methods.
+
+2007-12-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When we got focus, give focus to first item if there
+       wasn't any pervious focused item. Also update navigation to depend on
+       SelectedIndex rather than FocusedItem, just as .Net does.
+       Fixes #349174.
+
+2007-12-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Both FindString and FindStringExact methods must do an
+       case insensitive search, should allow the last valid index to be
+       passed in the overload taking an initial index, and should also
+       continue searching from the top back to the specified index when it
+       reaches the bottom.
+
+2007-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Apply patch from Luke Page that fixes a scrolling
+       redraw issue, and allows RichTextBox to draw colored text even while
+       disabled or readonly.
+
+2007-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs, TextBoxBase.cs: Apply patch from Luke Page that
+       disallows cut/paste in a readonly textbox, adds support for Shift-Insert,
+       and doesn't grey text in a disabled RichTextBox.
+
+2007-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs: Apply patch from Luke Page that adds better support
+       for many RTF commands: quad alignment, separate formatting for blocks
+       inside groups, and ParDef support.  Makes the test case from bug #324589
+       look much better.
+
+2007-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs: Fix an error in the new Draw method that caused
+       a crash when rendering the document on bug #324589.
+
+2007-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs,
+       TextControl.cs: Apply patch from Luke Page that adds support
+       for URL links in RichTextBox.
+       [Fixes enhancement #342516]
+
+2007-12-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuItem.cs: When cloning menuitem clone also name and tag properties for
+       2.0 profile. Thanks Ernesto Carrea and Luke Page. Fixes bug #340289.
+
+2007-12-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When a key gets pressed, try to find a string
+       if the key is a character or a digit.
+       Fixes #343971.
+
+2007-12-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Remove some unused variables.
+
+2007-12-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DateTimePicker.cs: Commit patch from Luke Page that ensures
+       we don't end up at an invalid date when we click the up/down
+       spinner to change the month or year.  Fixes bug #348682.
+
+2007-12-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Calling Exit in 2.0 should chain to the
+       Exit (CancelEventArgs) version so it can be cancelled.
+       * Form.cs: Create a flag to allow raising the Closing
+       events to be skipped.  We raise them once in Application.Exit
+       and don't want to raise them again when the Form is actually
+       closed.  [Fixes bug #349073]
+
+2007-12-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDown.cs: Guard against an NRE when there
+       hasn't been a mainform set in the application context.
+       [Fixes bug #349108]
+
+2007-12-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When SetBoundsCore gets called, besides
+       calling UpdateScrollBars, update the value of
+       last_visible_index, since we could need to show more items
+       than before, and we need to let the paint routines know that.
+       Fixes #344445.
+
+2007-12-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add DesignerSerializationVisibility attribute to
+       InsertionMark property.
+       * ListViewItem.cs: Add same attribute to Position property.
+
+2007-12-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: .ctor (SerializationInfo, StreamingContext)
+       is 2.0 only.
+
+2007-12-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Don't draw the background on a
+       flat button if there is a background image.
+       [Fixes bug #348649]
+
+2007-12-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: If we remove the item currently selected,
+       remove it not only from SelectedItems, but also
+       resetting selected_index. Moreover, set focused_item to Items.Count - 1 if 
+       the items count decreased and focused_item has bigger value than that.
+
+2007-12-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Perform our layout after we resize ourselves
+       if we had to adjust our AutoSize.  Missed commit for bug
+       #346246.
+
+2007-12-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Override GetPreferredSizeCore so
+       we can provide an implementation of AutoSize.
+       [Fixes bug #346246]
+
+2007-12-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Add the internal overload Sort (bool paint),
+       to indicate whether we actually need a paint or we will
+       call Refresh ourselves. This way we don't request a paint
+       _before_ having an updated and valid layout.
+       Fixes #347233.
+
+2007-12-12  Andreia Gaita <avidigal@novell.com>
+
+       * XPlatUIX11.cs: Send paint messages when updating a systray icon
+       * NotifyIcon.cs: Invalidate the window before doing a systray change so it is
+       properly invalidated. 
+       Fixes #324237
+
+2007-12-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: When using a .ctor taking a ListViewGroup,
+       don't simply assign it to our internal group field, but instead 
+       use our Group property, which should do all the neccessary work
+       required to support groups. Fixes an issue reported to me (mail) by a 
+       guy using this new feature.
+
+2007-12-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Use Scale instead of ScaleControl to ensure the
+       whole hierarchy gets scaled.
+       [Fixes bug #347282]
+
+2007-12-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DateTimePicker.cs: Don't set the internal MonthCalendar's
+       Parent property.  Doing this causes the control to be hosted by
+       the Form instead of being a popup window.
+       [Fixes bug #347665]
+
+2007-12-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItemCollection.cs: If we try to insert a ToolStripItem
+       at an index higher than Count, just use Add instead of Insert.
+       [Fixes bug #347669]
+
+2007-12-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Don't draw a PictureBox's background in
+       DrawPictureBox, this is handled by Control.PaintBackground.
+       [Fixes bug #347276]
+
+2007-12-10  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: When process menu keys return true by default only if menu is
+       active. Fixes bug #342892.
+
+2007-12-09  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: check if windows are actually mapped before
+       trying to zorder. Fixes #342509, #346955
+
+2007-12-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewInsertionMark.cs:
+       * ThemeWin32Classic.cs: Implement the drawing side of the
+       new 2.0 ListView.InsertionMark property.
+
+2007-12-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CurrencyManager.cs: Silence some debug spew.
+
+2007-12-07  Geoff Norton  <gnorton@novell.com>
+       
+       * Hwnd.cs: Refactor GetClippingRectangles to suppose returning the
+       masks for our children as well as siblings to avoid having to query
+       Quartz for this information.
+       * XplatUICarbon.cs: Implement a delegate based system to pass
+       information to System.Drawing.  Implement Async methods.  Remove
+       the hack for the resize thumb and imlpement a transparent Grow Box.
+       Rework the messaging system to proplery create window's and messages,
+       fixes TabControl.
+
+2007-12-06  Andreia Gaita <avidigal@novell.com>
+
+       * X11Keyboard.cs: Use Xutf8LookupString to support international 
+       characters under alternate codepages. Patch from #340878
+
+2007-12-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When doing layout computations, set position in the
+       ListView instances (we cache the position just as .Net does).
+       * ListViewItem.cs: New internal setter method for Position. Also set
+       position field as also available in 1.1, since we are going to use it
+       now in the common case.
+
+2007-12-06  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: When removing controls, get the actual container
+       to notify about active control changes. Fixes 341314.
+
+2007-12-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Forgot to add Font to our serialization stuff.
+
+2007-12-05  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: When updating the zorder, ignore windows that are not
+       mapped. Fixes #342509
+
+2007-12-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Actually implement serialization on this class.
+
+2007-12-05  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * LinkLabel.cs: Fixed paramname of ArgumentNullException in ctor of
+       LinkCollection. Spaces to tabs, and removed extra tabs.
+
+2007-12-04  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Make toolwindows' decorations show up without causing any
+         tests to fail (hopefully).
+
+2007-12-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownMenu.cs: Fill in AffectedBounds when drawing
+       the image margin so custom renderers can correctly place it.
+
+2007-12-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Fill in AffectedBounds when drawing the grip
+       so custom renderers can correctly place it.
+
+2007-12-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Let WM_CHAR messages flow through to controls
+       hosted in Strips.  [Fixes bug #343972]
+
+2007-12-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: Guard against an NRE I ran into.
+
+2007-12-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LinkLabel.cs: Apply patch from George to fix bug 344012.  If
+       a Link is manually added to the Links collection, we need to set
+       its owner, so it can invalidate properly.
+       [Fixes bug #344012]
+
+2007-11-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When changing ListViewItem.Position (which calls
+       ListView.ChangeItemLocation), invalidate not only the area
+       corresponding to the main item, but also to the area occupied
+       by the items being moved.
+
+2007-11-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When changing the position of a given item,
+       don't use item bounds, but item areas (which includes the item spacing
+       between them). Also, use first/last position if the requested
+       position is outside bounds (as .Net does). Invalidate the previous and
+       new bounds. Finally, in ItemControl.ItemsMouseDown use the actual item
+       in a specific position, instead of directly accessing Items collection
+       (this is done to get the right item - remember an Item can have a
+       different position in the grid than in the Items collection).
+
+2007-11-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: Calculate text area instead of just top left, this rect 
+       area will be used in DrawString. Fixes bug #343364.
+
+2007-11-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: Calculate max amount for text area width, it must be 60% of
+       screen width. Partially fixes bug #343364.
+
+2007-11-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * NotifyIcon.cs: Remove duplicated code before call realculate and put this
+       code inside recalculate, it makes code more simple.
+
+2007-11-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * NotifyIcon.cs: When recalculate icon verify if icon is active to decide
+       between update or add icon. Fixes bug #324344.
+
+2007-11-21  Andreia Gaita <avidigal@novell.com>
+
+       * XPlatUIX11.cs: Do not treat tool windows as if they have no 
+       window manager, since that stretches the drawing area to include
+       the window decorations, and they get hidden. Reverts r84444 and fixes
+       #335849 and #342790 (mdi and pdn3 regression)
+
+2007-11-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When setting focused item, try to give focus to the
+       previous one _only_ if the previous one remains valid. 
+       Fixes #342504.
+
+2007-11-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Revert r89650, as it broke a common case to fix
+       an obscure case.  Fixes bug #342606.
+
+2007-11-20  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Fix extra space on end of tooltip.
+
+2007-11-20  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Fix tooltip text align removing horizontal 
+       alignment. [Fixes #324228]
+
+2007-11-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Handle flow layout in GetPreferredSize to fix PDN3.
+       [Fixes bug #342123]
+
+2007-11-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Check for empty Text before assign to cp.Caption in CreateParams
+       it prevent problems when empty captions. [Fixes #342141]
+
+2007-11-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: Use Size instead of None.  Fixes bug #342077.
+
+2007-11-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Implement 2.0 FindNearestItem method.
+
+2007-11-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuStrip.cs: Guard against a NRE when a MdiWindowItem is set
+       but there isn't a MdiContainer.
+       [Fixes bug #342358]
+
+2007-11-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Don't recalculate document if the recalc_start and
+       recalc_end hasn't changed.
+       [Fixes bug #342505]
+
+2007-11-17  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridViewTextBoxCell.cs: Removed CWL.
+
+2007-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 SearchForVirtualItem event support.
+
+2007-11-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Missed some code for bug 341534 to trigger a
+       recalculation when the font changes.
+
+2007-11-16  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: When updating the zorder, check if the child to update is
+       the same control that is set to always be on top (i.e., scrollbars), and 
+       just put it on top directly. Fixes BadMatch error on pdn3
+
+2007-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Throw the needed exceptions for FindNearestItem.
+
+2007-11-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Don't perform a new layout when a label changes its text,
+       cause label handles its own autosizing.
+       [Fixes bug #342077]
+
+2007-11-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 FindNearestItem methods.
+
+2007-11-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripPanel.cs: Make Join at least add the control to the panel,
+       even if the rest of what Join does isn't supported.  Add some more
+       support for vertical toolbars.
+       * ToolStripPanelRow.cs: Add some more support for vertical toolbars.
+       [Fixes the application breaking parts of bug #341998]
+
+2007-11-15  Jonathan Pobst <monkey@jpobst.com>
+
+       * ToolStripItem.cs: When determining if we have a check/image margin,
+       we need to look at ShowCheckMargin as well as ShowImageMargin.
+
+2007-11-15  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Rename to...
+       * XplatUICarbon.cs: and refactor all event handling out to the new event handling
+       system in System.Windows.Forms.CarbonInternal.  Lots of code cleanup as well.
+
+2007-11-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * KeysConverter.cs: The default values should be an array of Keys, not
+       strings.  Also, the array has more values for 2.0.
+       [Fixes bug #341851]
+
+2007-11-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Change ExecutablePath to use 
+       Process.GetCurrentProcess ().MainModule.FileName instead of Assembly.GetEntryAssembly.
+       [Fixes bug #323552]
+
+2007-11-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs: Don't attempt to draw '\r', treat it like it doesn't exist.
+       When measureing CR or LF, use /u000D instead of /u0013. (Hex, not decimal.)
+       * TextControl.cs: Fix a case in GetLineEnding where a \n before a \r would
+       be ignored.  Create a new GetLineEnding that can specify which types of
+       line endings to look for.  On Insert, only create new lines for \n and \r\n.
+       [Fixes bug #324274]
+
+2007-11-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: As we loop through each line changing the font, tell
+       the document that the line needs to be recalculated.  Fixes bug #341534.
+
+2007-11-13  Jonathan Pobst  <monkey@jpobst.com>
+       [Another round of refactoring]
+       * Line.cs: Add DeleteCharacters.
+       * LineTag.cs: Add Delete.
+       * TextBoxBase.cs: Update to use new methods.
+       * TextControl.cs: Refactor the Delete* methods.
+
+2007-11-13  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Win32DnD.cs: Implement Win32 Drop files, thank you Srikanth Madikeri for
+       the patch. [Fixes #324856]
+
+2007-11-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs: Add an initial implementation of
+       2.0 ListViewItem.Position getter.
+
+2007-11-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add a reordered_items_indices array, to allow us
+       to have a different sorting than that of Items (the sorting in Items
+       could not match the actual sorting in screen). This is needed to
+       implement a pair of 2.0 features.
+       * ListViewItem.cs: Add a DisplayIndex property to keep track of the
+       actual position in the ListView grid, since it could have a position
+       different than its Index (position in ListViewItemCollection). 
+
+2007-11-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: Add StringFormatFlags.LineLimit.  This tells DrawString to
+       not draw partial lines.
+       * LinkLabel.cs: Change FormatFlags setter from = to |= so that the
+       LineLimit flag from the base is preserved.
+       Fixes the windows part of bug #338965.
+
+2007-11-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Move handling of the enter key from KEYDOWN to CHAR
+       so that it can be canceled in KeyPress.
+       Fixes bug #340078.
+
+2007-11-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl, reset mouse-handling related
+       fields even if we dont' have items (we still should reset them when
+       we had items but then called Items.Clear). Partially based in a patch
+       by George Giolfan.
+       Fixes #338399.
+
+2007-11-08  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Application.cs: In ProductVersion first try AssemblyFileVersion
+       before falling back to assembly version. Fixes bug #339787.
+
+2007-11-08  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlElement.cs: Implement InnerText setter.
+       * WebBrowserBase.cs: Implement Navigated event support.
+       Add flag to track when the browser "document" is ready to be retrieved.
+       * WebBrowser.cs: Implement CanGoBack, CanGoForward, Title, Url.
+       Make sure browser document is ready before retrieving it.
+       Clean up cached objects (document) when moving to a new page through
+       any of the navigation methods.
+       Use the new Mono.WebBrowser.INavigation interface to control navigation.
+       Implement OnNavigated event.
+
+2007-11-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Don't draw the background in DrawLabel or
+       DrawLinkLabel, this is handled by OnPaintBackground.
+       Fixes bug #339565, part II.
+
+2007-11-07  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: Revert r88915. Selecting text on a textbox depends on
+       getting a Select call on click, so this call needs to be here for now.
+       Unfixes #325809
+
+2007-11-07  Geoff Norton  <gnorton@novell.com>
+
+       * OSXStructs.cs: Add the kEventClassApplication constants.
+       * XplatUIOSX.cs: Send a WM_LBUTTONDOWN to the Grab window when the 
+       application is deactivated otherwise Menu overlays linger on top of
+       other application windows.
+
+2007-11-07  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Dont throw an exception on OverrideCursor as we
+       dont support cursors yet anyways.  This allows Reflector to run.
+
+2007-11-07  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Implement DragSize.
+
+2007-11-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When we receive a WM_LBUTTONDOWN message in
+       ItemControl, request the focus, as .Net does. This is needed after 
+       Control does not request focus anymore when it receives a
+       WM_LBUTTONDOWN.
+
+2007-11-06  Jonathan Pobst  <monkey@Jpobst.com>
+
+       * Label.cs: Make DrawImage internal so it can be called from Theme code.
+       Remove the DrawImage call from OnPaint.
+       * LinkLabel.cs: Remove the DrawImage call from OnPaint.
+       * ThemeWin32Classic.cs: Call DrawImage after we paint the background,
+       but before we draw the text for DrawLabel and DrawLinkLabel.
+       Fixes bug #339565.
+
+2007-11-05  Andreia Gaita <avidigal@novell.com>
+
+       * Control.cs: Remove select call on click. Fixes #325809
+
+2007-11-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Add 2.0 Position property getter.
+
+2007-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add 2.0 BackgroundImageTiled property.
+       Also, to make it work properly, change item's BackColor and
+       BackgroundImageLayout as needed.
+       * ThemeWin32Classic.cs: Don't fill any background rectangle 
+       in ListView.ItemControl when drawing items; just let the Control
+       base implementation fill it.
+
+2007-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroup.cs: Adda TypeConverter attribute for this class,
+       as well as adding a custom 'dummy' Converter, as .net does.
+
+2007-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: When clicking drop-down button,
+       select an index in the listbox only if our standard values collection 
+       has one or more items.
+
+2007-11-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Add a DefaultValue attribute to 2.0 IndentCount
+       property.
+
+2007-11-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertyGrid.cs: In PropertySort, update the toolbar buttons even if
+       the value is not changed. This ensure a pushed button remains in that
+       state when clicked again. When switching the value of PropertySort
+       between Categorized and CategorizedAlphabetical, do not update the
+       grid items and do not fire a PropertyChangedEvent. When clicking the
+       sorting buttons, do not modify the PropertySort value when switching
+       between Categorized and CategorizedAlphabetical but only update the
+       button state.
+
+2007-11-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Label.cs: Make AutoEllipsis internal on 1.0 profile. Code
+       formatting.
+       * PropertyGrid.cs: Also put Categorized button in pushed state when
+       PropertySort is CategorizedAlphabetical. Set AutoEllipsis to true
+       for help description label.
+
+2007-11-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calculating the biggest item for a given column,
+       take into account 2.0 LIstViewItem.IndentCount, since it directly affects
+       the item's width.
+
+2007-11-03  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertyGrid.cs: Fixed default value for PropertySort. Allow invalid
+       value for PropertySort on 1.0 profile. PropertySortChanged event
+       should only be fired on 2.0 profile. Fixed NullReferenceException
+       in UpdateSortLayout when PropertyGrid contains no items.
+
+2007-11-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MessageBox.cs: Patch from George to implement MessageBoxDefaultButton.
+       [Fixes bug #338554]
+
+2007-11-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Implement 2.0 IndentCount property.
+
+2007-11-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When sending status in a dnd operation, compare current
+       effect with the 'allowed' field instead of 'drag_data.Allowed', since
+       the later is only created when a Winforms application is both the
+       source and the target, but not when we are the target only.
+       Fixes part of #324251.
+
+2007-11-01  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUI*.cs: Add GetPreviousWindow utility method to return windows in
+       order of Z-Order.
+       * Hwnd.cs: Add initial implementation of GetClippingRectangles to clip sibling 
+       children out of the drawing view on mac.
+       * XplatUIOSX.cs: Code cleanup.  Handle more window grab cases.  Fix SetParent
+       to handle the orphan and invisible case (1/2 fixes TabStrip drawing in FormsTest)
+       
+2007-11-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't process MouseUp for a ToolStripControlHost, clicking
+       on the non-hosted-control part of it shouldn't do anything.
+       Fixes part of bug #327498.
+
+2007-11-01  Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs: revert previous change, resize can be called anytime
+
+2007-11-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: When a toolstrip has the keyboard input loop, let messages
+       it does not use flow through to controls that are hosted in menus.
+       Same with mouse clicks.
+       * Form.cs: Don't close all menus on click if the click is on a
+       control hosted in a menu.
+       Fixes part of bug #327498, and part of bug #325969.
+
+2007-10-31  Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs: Only call resize on gluezilla when it is active
+
+2007-10-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Use int.MaxValue for MaxLength instead of magic number.
+       Addresses an issue raised in bug #336218.
+
+2007-10-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Patch from George that moves the conversion of ClientSize->Size
+       for PreferredSize from OnLayout to PreferredSize.  Fixes bug #325242.
+
+2007-10-30  Andreia Gaita <avidigal@novell.com>
+
+       * ContainerControl.cs: Check if the active control is a
+       child of a removed control and update active_control accordingly.
+       Fixes #329718
+
+2007-10-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DateTimePicker.cs: Throw ArgEx if the Value is set outside the MinDate
+       or the MaxDate.  Fixed bug #337693.
+
+2007-10-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Always call SetWindowPos with SWP_FRAMECHANGED flag
+       after calling SetWindowLong for a form, to force an immediate NC refresh.
+       Fixes first part of bug #325150.
+
+2007-10-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Don't try to resize the listbox when we are DropDownStyle
+       simple.  Fixes the last part of bug #322668.
+
+2007-10-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MessageBox.cs: If the owner is TopMost, then the MessageBox form
+       needs to be TopMost as well, or else the MessageBox is under the form.
+       Patch by George fixes bug #325300.
+
+2007-10-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When starting a new drag operation, reset the static
+       'dropped' field to false (previously the implementation didn't reset
+       it and got confused after the first drag).
+       Fixes #325071.
+
+2007-10-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGrid.cs: When PropertySort changes, re-organize the grid
+       items instead of re-creating them all. For this purpose we now cache
+       both CategoryGridEntry items and the GridEntries for the main object's
+       properties.
+       * GridItem.cs: Make SetParent method abstract.
+       * GridEntry.cs: Override the SetParent method (already there, but now
+       we override it).
+       Fixes #324866.
+
+2007-10-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: Set the plus/minus bounds of a grid item
+       depending on its depth (as .Net does). Update the needed values in
+       MouseDown handler. Also draw the plus/minus rect after the label,
+       so we don't draw on top of it.
+
+2007-10-24  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Return true as default in ProcessKeys to prevent keys to be
+       processed by forms or controls when menu is active. [Fixes #333548]
+
+2007-10-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Don't focus a ToolStripControlHost on Select of the
+       parent doesn't have focus.  This was causing ToolStripTextBoxes to take
+       focus on mouse over.
+
+2007-10-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Code cleaning, simplifying.
+
+2007-10-24  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Route mouse events to the grab hwnd on mouse down as well.
+       * XplatUIStructs.cs: Fix the ToString method of POINT and MSG.
+
+2007-10-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: If the user sets maxlength to 0, it should mean
+       the cap is maxvalue, not actually 0.  [Fixes bug #336218]
+
+2007-10-24  Andreia Gaita <avidigal@novell.com>
+
+       * SendKeys.cs: apply jpobst's patch to bug #332409
+
+2007-10-23  Andreia Gaita <avidigal@novell.com>
+
+       * TextBoxTextRenderer.cs: Lower bounds max size to Int16.MaxValue, the 
+       Windows 2000 gdi DrawText call doesn't draw if it's higher than that
+       for some reason
+
+2007-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: If a property has an UIEditor available,
+       make the drop-down/editor button available only if the property
+       is _not_ read only.
+
+2007-10-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: Don't make the grid item textbox 
+       editable when a drop-down control is available, but 
+       CanConvertFrom (typeof (string)) is false or GetStandardValuesExclusive () is
+       true. The same bur the color of the grid item value's label.
+
+2007-10-22  Geoff Norton  <gnorton@novell.com>
+
+       * OSXStructs.cs: Add the needed constants for keyboard modifiers.
+       * OSXKeyboard.cs: Initial support for keyboard and limited modifiers.
+       * XplatUIOSX.cs: New reversible frame support.  Wire in the new keyboard
+       driver.  Padd the bottom of all real windows so the resize thumb doesn't
+       obscure scroll/status bars.
+
+2007-10-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * WindowsFormsSection.cs: Implement.
+
+2007-10-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MdiClient.cs: Maximize new active mdi child when a maximized child is 
+       closed see #325434 patch.
+
+2007-10-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MdiClient.cs: Fix remaining issues from layout vertical and horizontal,
+       see #325434 patch.
+
+2007-10-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: When showing the textbox for a grid item,
+       have two local variables to store the read-only and non-editable
+       status of a grid item (we were previously using just one variable
+       to do this, when actually they are slightly different).
+       Fixes part of #325023.
+
+2007-10-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: When showing a drop-down list, try to get the
+       values using TypeConverter.ConvertTo (to convert to a string). Fixes
+       part of #325023.
+
+2007-10-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGrid.cs: When updating a property and populating sub grid
+       items, remove the previous ones, and invalidate the specific area.
+       * PropertyGridView.cs: A new InvalidateBelowGridItem to invalidate the
+       area behind a grid item.
+       * GridItemCollection.cs: Add an internal Clear method, to allow us to
+       clean the items if needed (specially for controls implementing 
+       ICustomTypeDescriptor and returning a variable number of properties).
+       Fixes #324865.
+
+2007-10-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Clean up and document the Insert function.
+
+2007-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Make sure we know our start point for updating the view
+       in ReplaceSelection.  Fixes an issue where pasting multiline text wouldn't
+       update the view.
+
+2007-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView: Couple of corcompare fixes.
+
+2007-10-17  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Implement support for window icons in the dock.  Set
+       the title caption of real window.
+
+2007-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs: Add the error provider's internal window to a 
+       containercontrol when the parent changes.  [Fixes bug #329714]
+
+2007-10-17  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Implement ScrollWindow.  Properly create TOOLWINDOWs.
+       When we make a new window; restore the old active window - fixes dialogs.
+
+2007-10-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PropertyGridView.cs: Look for RefreshPropertiesAttribute
+       when modifying a property, and if found then invalidate as
+       requested.
+       Fixes part of #324865.
+
+2007-10-17  Geoff Norton  <gnorton@novell.com>
+
+       * XplatUIOSX.cs: Re-enable the native driver on the Mac.  This is still
+       highly experimental.  Fixed coordinate translation.  Fixed window locations.
+       Initial support for clipping. Implemented NC areas and menus.  Support for
+       launching from command line from Will Johansson (wjohansson@atacomm.com).
+       * OSXStructs.cs: Add ProcessSerialNumer (Patch from Will Johansson
+       wjohansson@atacomm.com)
+       * Hwnd.cs: Add some internal structures for tracking Mac cursors.
+       Hwnds now track the existence of all of their children for Mac clipping.
+    * XplatUI.cs: Re-enabled the native driver on the Mac.
+
+2007-10-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs: Move the InsertString function to here.
+       * TextControl.cs: Cleanup some duplicate code, move some InsertString
+       functionality to Line.
+
+2007-10-17  Geoff Norton  <gnorton@novell.com>
+
+       * ComboBox.cs: Destroy the popup after hiding it.  Fixes #322582
+
+2007-10-16  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ButtonBase.cs: Fixed IsDefault to use assigned value instead of
+       always setting value to true.
+       * Form.cs: When changing AcceptButton, notify new and original button.
+
+2007-10-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Guard against an NRE when the user sets the AcceptButton to
+       a custom control that implements IButtonControl instead of an actual
+       button.  [Fixes bug #334244]
+
+2007-10-15  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Change SelectActiveControl to internal, we need to call it in
+       MdiWindowManager.
+       
+       * MdiWindowManager.cs: In RaiseActivated call SelectActiveControl to select
+       active control when activate a new mdi window.
+       
+       [Fixes bug #330495]
+
+2007-10-15  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ComboBox.cs: Dont implicit add listbox_ctrl on OnHandleCreated because it
+       is already added.
+       [Fixes bug #333617]
+
+2007-10-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: When SuspendRecalc is first called, reset the recalc_start
+       to MaxValue and recalc_end to MinValue.  Currently, recalc_start is always 1,
+       so we always recalculate the whole document instead of just the new part.
+       [Fixes bug #325082]
+
+2007-10-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs: Fix a case where the GetCharIndex would not return 0
+       when the mouse was to the left of the first character in the line.
+
+2007-10-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBox.cs, TextBoxBase.cs: When setting the document's password
+       character, use the property instead of the variable so that the
+       UseSystemPasswordChar property is taken into account.
+       [Fixes bug #333748]
+
+2007-10-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FolderBrowserDialog.cs: When a node is right clicked and the "New
+       folder" contex menu appears, actually add the new folder to it, even
+       if the node is not currently selected. Still use SelectedNode in case 
+       there wasn't found a node under the pointer.
+       Fixes #325452.
+
+2007-10-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: When retrieving the focused state, the index check
+       should be done only when ListView is in virtualmode, as it is an
+       expensive check for normal mode.
+
+2007-10-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Make the focus state information be stored
+       in the ListView, not in the items. This is done to match the MS
+       behaviour for items that are not yet part of a ListView control;
+       besides that, since just one item can be focused at the same time,
+       we save a little space in our items.
+       Fixes part of #331643.
+
+2007-10-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: When focus is lost, deselect the text. When setting
+       text of control, select all text. Do not hide selection when control
+       does not have focus. Fixes bug #333663.
+
+2007-10-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBoxBase.cs: On 2.0 profile, throw ArgumentOutOFRangeException
+       instead of ArgumentException when SelectionLength is set to negative
+       value. Added same check to SelectionStart. Code formatting.
+
+2007-10-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBoxBase.cs: Invalidate selection before changing SelectionLength
+       or SelectionStart. Code formatting.
+
+2007-10-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: drag_begin_x and drag_begin_y are now set to -1,
+       indicating that there was not a previous drag-and-drop operation going
+       on.
+       Fixes part of #325071.
+
+2007-10-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * X11Dnd.cs: When DragEventArgs.Effect is set to a value not part of
+       AllowedEffect, don't let the drop operation happen. 
+       Fixes #32580.
+
+2007-10-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Use GDI on Windows in both the 1.1 and 2.0 profiles.
+
+2007-10-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs, LineTag.cs: Guard against an exception when Document.Clear
+       is called.
+
+2007-10-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs: Add a method that finds the tag that contains an x-coord.
+       * LineTag.cs: Add a method that finds the character at an x-coord using
+       a binary search, the old way was a linear search.
+       * TextControl.cs: Change FindCursor to use the above new methods.
+
+2007-10-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DragEventArgs.cs: Allow Effect to have a non allowed value (a
+       value different than AllowedEffect). This should be possible to
+       indicate that dragging is not possible in some control/area.
+
+2007-10-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs: Encapsulate all variables with properties.  Calculate ascent/
+       descent internally when font changes instead of outside code being responsible
+       for setting it.
+       * Line.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: Use Tag properties
+       instead of accessing internal variables.
+
+2007-10-09  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MdiClient.cs: Always call ArrangeIconicWindows before any arrangement and
+       remove special treatment for ArrangeIcons since it is already arranged.
+
+2007-10-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxTextRenderer.cs: Draw takes a Color now instead of a Brush, as
+       the Win32 backend uses Color.
+       * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs:
+       Refactor to store a Color instead of a Brush for Color.
+
+2007-10-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Line.cs, LineTag.cs: Override GetHashCode to make a compiler warning go
+       away.  I didn't realize I needed this when I refactored these earlier.
+
+2007-10-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: Refactor to
+       store a Color structure and use the ResPool for back color instead of
+       holding onto brushes.
+
+2007-10-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Fix how we calculate the end of the tag we are drawing.
+       [Fixes bug #325592]
+
+2007-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MonthCalendar.cs: When ShowWeekNumbers is changed, force the calendar
+       to recalculate its size.  Fixes a part of bug #331052.
+
+2007-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NotifyIcon.cs: Set the correct mouse button when handling right mouse
+       button.  Fixes a part of bug #331052.
+
+2007-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Trim NewLine before setting XPlatUI.SetText, and when setting
+       the CreateParams.
+       * ThemeWin32Classic.cs: Trim NewLine before drawing MDI children window
+       decorations.
+       [Fixes bug #330986]
+
+2007-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxTextRenderer.cs: Don't make this a static class, as static
+       doesn't exist in 1.1.  (Thanks jb!)
+
+2007-10-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxTextRenderer.cs: Abstract text measuring and drawing to this
+       class to allow us to use different backends on different platforms.
+       Linux uses the current [Draw|Measure]String backend.  Windows uses
+       the TextRenderer.[Draw|Measure]Text backend, which uses GDI instead
+       of GDI+.  This leads to better looking text and more accurate measurements
+       on Windows, fixing many of the reported issues.
+       * Line.cs, LineTag.cs: Update to use TextBoxTextRenderer.
+
+2007-10-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FolderBrowserDialog.cs: When running on Windows,
+       try to detect paths such "C:" and add Path.DirectorySeparatorChar,
+       since we must match both "C:" and "C:\" forms. A little hackish, but
+       works.
+       Fixes #325247.
+
+2007-10-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When calling EndEdit (after editing an item),
+       create a new instance of LabelEditEventArgs to keep clean the fields
+       in case we get a new call to BeginEdit; also do Application.DoEvents
+       to have focus in synch. This is a fix similar to TreeView's #325244.
+
+2007-10-07  Andreia Gaita <avidigal@novell.com>
+
+       * HtmlDocument.cs, HtmlElement.cs, WebBrowser.cs: Added dom support
+       * WebBrowserBase.cs: Added dialog support, calling the
+         WebBrowserDialogs classes for each specific dialog type.
+
+2007-10-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When the last item is focused and is removed,
+       move the focus to the previous item (in Items order). This is what MS
+       does.
+       Fixes #330415.
+
+2007-10-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ListViewItemCollection, make Remove call RemoveAt,
+       instead of the opposite (RemoveAt call Remove). This is a better
+       approach since we don't need to to a pair of traversals when using
+       RemoveAt.
+
+2006-10-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When Keys.Left is pressed, before trying to Collapse
+       check that the node actually has nodes, and if not, move to the
+       parent node instead. 
+       Fixes #325265.
+
+2006-10-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: Move the previous change to the general case (to
+       call Application.DoEvents in cases where the method was called by
+       different places).
+
+2007_10-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When calling EndEdit and we need to hide the textbox,
+       call Application.DoEvents. This is neccessary when we get a call to
+       BeginEdit from an AfterLabelEdit handler, because the focus always
+       goes to the TreeView, even if we try to give it to our
+       LabelEditTextBox. The call do Application.DoEvents seems to
+       synchronize the focus, basically.
+       Fixes #325244.
+
+2007-10-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When AfterLabelEdit event is fired, TreeNode.IsEditing
+       should be false. This also removes some nasty recursive paths. Fixes
+       part of #325244.
+
+2007-10-04  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MdiClient.cs: When cascade (layout) mdi window that is maximized, set the
+       state to normal. Also resize window when cascading. Fixes #325433. 
+
+2007-10-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs: When SelectionColor is set to Color.Empty, use
+       DefaultForeColor, as drawing empty colored lines isn't very useful.
+       [Fixes the not drawn lines part of bug #324358]
+
+2007-10-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Move Line and LineTag classes into separate files to
+       make things easier to find.
+       * Line.cs, LineTag.cs: Bring coding standards up to Mono's guidelines.
+       * RichTextBox.cs: Capitalize LineTag.Length property access.
+       - This is purely an organizational/formatting change, no logic changed. -
+
+2007-10-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Do not show focus rectangle in radio buttons when
+       text is empty.
+
+2007-10-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Do not show focus rectangle in checkboxes when
+       text is empty.
+
+2007-10-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ComboBox.cs: On contructor use backgound_color instead of BackColor to
+       prevent calling of OnBackColorChanged. Fixes #325321.
+
+2007-10-03  Everaldo Canuto  <ecanuto@novell.com>
+
+       * TextBox.cs: When check enabled uses Enabled property instead of is_enabled
+       because control can be disabled because owner is disabled.
+
+2007-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: For the 1.1 profile, the default SelectedText is
+       string.Empty, test failed from previous change.
+
+2007-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: For the 1.1 profile, the default SelectedText
+       is null, not String.Empty.  See bug #323038.
+
+2007-10-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Change the margins to match MS a little better.
+       Still not perfect for X11 due to some DrawString differences, but
+       is still an improvement over the old stuff.
+       Partially fixes #324467.
+
+2007-09-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FolderBrowserDialog.cs: When using MyComputer as 
+       RootFolder, let absolute paths be considered as valid ones. Also, use
+       Path.DirectorySeparatorChar instead of Path.AltDirectorySeparatorChar,
+       for Windows compatibility.
+       Partially fixes #325247.
+
+2007-09-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * FolderBrowserDialog.cs: Fix the recursive FindPathInNodes method.
+       Also remove the stack.Count > 0 check in FBTreeView.SetSelectedNode
+       method, since it causes the dialog to not select folders directly
+       under the root path (when setting SelectedPath property).
+
+2007-09-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: When calling Expand/Collapse and need to call 
+       ExpandBelow/CollapseBelow respectively, take into account
+       partially visible nodes (previously Expanding/Collapsing
+       a partially visible node in the bottom was not updating its +- sign).
+
+2007-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When calling Expand on a TreeNode, and we need to
+       expand nodes below (ExpandBelow), scroll the entire Viewport
+       area if the node is above it and not visible (instead of scrolling
+       the area from node's Bottom, which applies only when the node is
+       visible).
+       Fixes #325266.
+
+2007-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When calling ExpandAll, set SelectedNode to the top
+       node in the bottom area (as .Net does). This is done to preserve the
+       scroll position when ExpandAll is called before handle is created for
+       the 1.1 profile (bottom area, as opposed to top area in 2.0).
+       Fixes #324103.
+
+2007-09-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When calling ExpandAll, don't move the scroll to the 
+       bottom area if we are in fact not using the vertical scroll bar.
+       Fixes #324824.
+
+2007-09-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Comment out a double buffering optimization that doesn't
+       take into account invalidates created in OnPaint, causing the control
+       to never be redrawn.  It would take quite a bit of work to work around
+       this, but I left it commented with an explanation for later possible
+       optimization.
+       [Fixes bug #328681]
+
+2007-09-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Ask parent to perform a layout if control is AutoSize and
+       the text changes.
+       * RadioButton.cs: Implement GetPreferredSizeCore.
+       [Fixes bug #328672]
+
+2007-09-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RichTextBox.cs, TextBoxBase.cs, WindowsFormsSynchronizationContext.cs:
+       corcompare stuffs.
+
+2007-09-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Move the sync context stuff to Run instead of RunLoop
+       so that it doesn't get uninstalled on modal forms.
+       * Control.cs: Install a sync context when a control is created.
+       * WindowsFormsSyncronizationContext.cs: Create a private static control
+       to invoke on.  This is easier than trying to find a created control we
+       can use.
+       [Fixes bug #327608]
+
+2007-09-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Install a WindowsFormsSynchronizationContext in the
+       run loop, and uninstall it when done.
+       * WindowsFormsSynchronizationContext.cs: Implement.
+       [Fixes the common case in bug #327608]
+
+2007-09-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridViewCellCollection.cs: Added argument checks for indexers.
+       Use case-insensitive lookup of column name in indexer. Code
+       formatting.
+
+2007-09-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: When collapsing or expanding a node, check whether its
+       change will affect the visible area (we were previously doing a
+       IsVisible check, but that check is not enough since children nodes
+       could be still visible). Fixes part of #325266.
+
+2007-09-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Always select the first node when the TreeView gets
+       focus if there is no currently selected node.
+       [Fixes bug #324279]
+
+2007-09-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Do not raise BeforeSelect or AfterSelect when the
+       node being selected is null.
+       [Patch from Yves Bastide fixes bug #326858]
+
+2007-09-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeNode.cs: Add an internal ArePreviousNodesExpanded, to know
+       whether all the parent nodes are expanded.
+       * TreeNodeCollection.cs: When adding a new node an calling SetupNode,
+       call RecalculateVisibleOrder if all previous nodes are expanded.
+       Before that we were doing a IsVisible check, but sometimes the node
+       is not in the visible area, but _should_already be ready, because of
+       all previous nodes are expanded. Fixes #325259.
+
+2007-09-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitButton.cs: Call the ButtonClick event if the button
+       portion of the item is clicked.
+
+2007-09-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextControl.cs: Do not tell the system to move the cursor if the
+       textbox isn't focused.  Fixes part of bug #322668.
+
+2007-09-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: When there are no items, do not show the dropdown if
+       the down arrow is clicked.  Fixes part of bug #322668.
+
+2007-09-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripComboBox.cs: Manually set the size of this control in the
+       constructor, as it doesn't seem to be the same as DefaultSize.
+       Fixes a failing monobuild test.
+
+2007-09-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DateTimePicker.cs: If the user sets MinDate to DateTime.MinValue,
+       change it to DateTimePicker.MinDateTime.  [Fixes bug #326609]
+
+2007-09-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Theme.cs: FileDialogs should be using DesktopDirectory instead of
+       Desktop.  This lets it work for people who have moved their desktops
+       from the default location on windows.  For people who have not, both
+       values are the same, so it shouldn't hurt anything.  [Fixes bug #325270]
+
+2007-09-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripControlHostTest.cs: DefaultSize is based off hosted control,
+       but when the base constructor sets this, the control is null.  Set it
+       again in the constructor.  Fixes a failing monobuild test.
+
+2007-09-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Make sure Click and DropDownOpened events
+       get called.
+       * ToolStripSplitButton.cs: Make sure MouseDown and MouseUp events get
+       called.
+
+2007-09-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't show tooltips for ToolStripTextBoxes, they
+       will handle it themselves.
+       * ToolStripItem.cs: When deciding what the text of a tooltip should
+       be, use the Text property instead of the text field.
+       * ToolStripTextBox.cs: Handle tooltips.
+       [Fixes bugs #325417 and #325973]
+
+2007-09-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownButton.cs: Only drop down overflow menu with a
+       left click.  Fixes the easy part of bug #325969.
+
+2007-09-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Set AutoSizeMode back to GrowAndShrink to refix
+       bug #325406, but set a minimum for StatusStrip to 22 to keep
+       bug #325390 fixed.  I think this minimum would have been figured
+       up automatically if the grip was actually a ToolStripItem, but it
+       currently is not.
+
+2007-09-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: max_label_wrapping is now 30 pixels instead of 38,
+       as this is apparently the actual value used by .Net. Also apply
+       ItemPadding in Details view only, and decrease the general width padding,
+       to have only the needed. This should fix #324340 in Windows too.
+
+2007-09-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Don't Invalidate item if parent is inside
+       a BeginUpdate/EndUpdate block. This prevents to have differences
+       between the ListView and items state, as well as avoid some exceptions
+       there.
+       * ListView.cs: Make 'updating' field internal.
+
+2007-09-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripControlHost.cs: Realign control when ControlAlign changes.
+       * ToolStripItem.cs: Use ImageScalingSize when calculating preferred
+       size if appropriate.
+       Fixes reopened bug #325414.
+
+2007-09-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Set AutoSizeMode back to GrowOnly.
+       * ToolStripItem.cs: Invalidate before and after our new autosize when
+       text changes.
+       Fixes reopened bug #325390.
+
+2007-09-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Make sure we invalidate when clicked so
+       mnemonics can be drawn or undrawn correctly.  Fixes reopened bug 
+       #325044.
+
+2007-09-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Do WM_CONTEXTMENU before OnMouseUp.  [Fixes bug #325535]
+
+2007-09-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: When drawing column text, use EllipsisCharacter
+       instead of EllipsisWord (by equistango at gmail.com). Fixes part of
+       #82734.
+
+2007-09-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Make ToolStrip selectable when TabStop = true.  Find an
+       item to select when the ToolStrip is selected.
+       * ToolStripControlHost: Realign the control when the bounds or visibility
+       change.
+       * ToolStripItem.cs: When selected, if it's a control host, focus the control.
+       * ToolStripOverflow.cs: When laying out the drop down, respect the item's
+       preferred height.
+       * ToolStripTextBox.cs: OnPaintInternal should call base.OnPaintInternal, not
+       base.OnPaint.  Was causing text not to be drawn.
+
+2007-09-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitterPanel.cs: Ignore attempts to set AutoSizeMode.
+
+2007-09-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When creating the label edit text box,
+       set is initially to Visible = false. This is done to
+       prevent a confusion in the layout which makes it to lose
+       focus when shown the first time. Fixes part of #82592.
+
+2007-09-13 Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs: add FocusOption enumeration for finer focus control
+
+2007-09-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Take Margin into account when calculating preferred
+       size.  Also, allow preferred size to get smaller than the explicit
+       size.
+       * ToolStripTextBox.cs: Don't change the GetPreferredSize implementation.
+       First step towards fixing bug #82747.
+
+2007-09-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Applied patch from latency@gmx.de to not paint the
+       full row select background over the plus/minus glyph.  Also, turn
+       off the focus rectangle for full row select since MS doesn't seem
+       to ever paint it.  [Fixes bug #81839]
+
+2007-09-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't FocusInternal if there is no selected item.
+       This was causing keyboard opened dropdowns to lose focus.
+       [Fixes bug #82803]
+
+2007-09-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If Rectangle.Empty is passed to Invalidate, use
+       ClientRectangle instead.  [Fixes bug #82838]
+
+2007-09-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitContainer.cs: We can't reset Visible on every layout because
+       someone may have set Visible = false explicitly on a SplitterPanel.
+       Make sure when we switch orientation the SplitterDistance does not
+       change.  Fixes two failing tests.
+
+2007-09-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: Use MeasureTextInternal instead of MeasureText in
+       TextRenderer, since the latter is only available in 2.0.
+
+2007-09-13  Ivan N. Zlatev <contact@i-nz.net>
+
+       * Cursor.cs: Fix Cursor.Current to apply Cursor.Default.
+       * SplitContainer.cs: Implement FixedPanel layouting.
+
+2007-09-12  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowserBase.cs: setup shutdown routine
+
+2007-09-12  Andreia Gaita  <avidigal@novell.com>
+
+       * Application.cs: Let keyboard events that are targetted 
+               to non-mwf windows hosted inside mwf (as in, webbrowser),
+               propagate properly. Fixes keyboard handling on the webbrowser.
+
+2007-09-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When handling MouseUp event and we are 
+       highligting a node with the mouse right button, don't trigger
+       Before/AfterSelecting event, since we are not actually selecting
+       the node.
+
+2007-09-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * TreeView.cs: When editing a node, modify the edit text box
+       depending on the text length (as you are typing), like MS does.
+
+2007-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Fixup preferred size calculations for vertical toolbars. 
+       Override GetPreferredSizeCore to perform calculations.  Remove custom
+       autosize logic.  [Fixes bug #82739]
+
+2007-09-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Modified should default to false.
+
+2007-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Update the anchoring distances even when layout is supspended.
+       Patch provided by George fixes bug #82805.
+
+2007-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Provide a setter for ExplicitHeight.
+       * TextBoxBase.cs: Now that we have the implementation for explicit heights,
+       remove the hacks in here for requested_height.
+       [Fixes bug #82749]
+
+2007-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: Fix an issue reported on the lists where setting a scrollbar's
+       Maximum to lower that its current Value caused an ArgumentException by setting
+       the Value to the new Maximum.
+
+2007-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Math is hard!  Fix some math so that the TrackBar
+       handle moves to the closest tick when it is being dragged.
+       [Fixes bug #82751]
+
+2007-09-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: When we have added MDI buttons onto a MenuStrip, we
+       can't let them count as real items when calculating where to merge in the
+       user's items.  [Fixed bug #82786]
+
+2007-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Add a parent type check so we don't crash on people
+       who want to add a menu item directly onto a toolstrip.
+       [Fixes bug #82775, part II]
+
+2007-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Synchronize SetDisplayedItems with the ToolStrip version.
+       * ToolStrip.cs: If a ToolStripItem set to not visible is added to a ToolStrip,
+       don't set it to available.
+       * ToolStripItem.cs: When Visible is changed, tell the owner to perform a layout.
+       [Fixes bug #82727, part II]
+
+2007-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Change item placement to None if not visible.
+       * ToolStripItem.cs: Invalidate when InternalVisible changes.
+       These should have been committed to fix 82723, but I missed them.
+
+2007-09-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Make sure ItemClicked is raised before the ToolStripItem's
+       Click, and that it is only called once.
+       * ToolStripMenuItem.cs: Call OnClick even when there are dropdown items.
+       * ToolStripDropDownItem.cs: Override HandleItemClick so dropdowns stay
+       dropped down.
+       [Fixes bug #82775]
+
+2007-09-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeaderSample.cs: Use 5 pixels as extra height instead of 8
+       to match .Net.
+       * ThemeWin32Classic.cs: For the columns text, use 5 pixels as left padding
+       instead of 8, just like above. Partially fixes #82734.
+
+2007-09-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       Patch by Ernesto Carrea <equistango at gmail.com>. Partially 
+       fixes #82734.
+
+       * ListView.cs: Remove extra space between rows in Details view (match
+       .Net). 
+       * ThemeWin32Classic.cs: Header text should use ListView.Font, not
+       the DefaultFont.
+
+2007-09-08  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Application.cs: Modified ProductVersion to return value of
+       AssemblyInformationVersion if available, and fallback to assembly
+       version. Fixes bug #82746. Code formatting.
+       * BindingSource.cs: Remove NIE from Dispose, and mark it MonoTODO
+       instead.
+
+2007-09-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: When updating ZOrder for a child control,
+       take into account the implicit ones (we need it in our controls
+       using them). Fixes #82642.
+
+2007-09-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Add support for animated images.
+       [Fixes bug #82726]
+
+2007-09-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Make sure we aren't drawing anything that isn't 
+       visible.  [Fixes bug #82727]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: If AutoSize changes the size of our item, invalidate
+       so we repaint using the new size.  [Fixes bug #82723]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: If ShowLines is true, we should ignore the FullRowSelect
+       option.  [Fixes bug #81779]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Override HandleClick because the StandardClick style is
+       set to false.  According to MSDN (and testing), the click events should
+       only be raised when the click occurs on a TreeNode.  [Fixes bug #81739]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripTextBox.cs: Invalidate our textbox when it loses focus, so
+       the border will disappear.  Fixes reopened #82653.
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If the control is autosize, and its preferred size changes
+       when it lays out its children, tell its parent so it can be re-layed out.
+       Fixing some of the fallout from r85433.
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Fix a NRE caused by r85427 because RadioButton
+       and CheckBox share some code.
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TrackBar.cs: Only call OnScroll if we actually changed the Value of
+       the TrackBar, not every mouse move.  [Fixed bug #82718]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Allow a CheckBox to be rendered like a Button
+       under 2.0 rendering.  [Fixes bug #82657]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: If we found a TreeNode to display a context menu, but
+       it doesn't have one to show, let the TreeView display its menu
+       instead.  [Fixes bug #82680]
+
+2007-09-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripTextBox.cs: TextBox no longer call OnPaint, we need to use
+       OnPaintInternal instead.  Give the internal TextBox a Border property
+       so it can draw itself more correctly.  [Fixes bug #82653]
+
+2007-09-06  Zoltan Varga  <vargaz@gmail.com>
+
+       * HtmlHistory.cs HtmlWindow.cs HtmlWindowCollection.cs ListBindingHelper.cs WindowsFormsSection.cs WindowsFormsSynchronizationContext.cs: Stubs for missing 2.0 classes.
+
+2007-09-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * ComboBox.cs: Adjust combobox button state to reflect current state when
+       back to enabled = true. Fixes first issue of #82654.
+
+2007-09-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: Fix last patch regression, prevent forms to update zorder when
+       setting visible property.
+
+2007-09-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: Update zorder after control creation in SetVisibleCore, it 
+       fix zorder for controls initially created as non visible. Fixes #82667.
+
+2007-09-04  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Adjust checkbox light color to ControlLightLight to
+       mimic win32 look. Fixes #82656.
+
+2007-09-01  Zoltan Varga  <vargaz@gmail.com>
+
+       * FileDialogCustomPlace.cs FileDialogCustomPlacesCollection.cs: 
+       Stubs for new net 3.5 classes.
+
+2007-08-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: In ListViewItemCollection operations calculate
+       Layout for owner as well as invalidate it. Fixes part of #82642.
+
+2007-08-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Take Parent/Owner's Enabled state in to account
+       when returning Enabled.  [Fixes bug #82651]
+
+2007-08-30  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fix button size for non flat toolbars. Fixes #82368.
+
+2007-08-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Put item padding info in a single place
+       (Theme.ListViewItemPaddingWidth) to have working AutoResize on
+       columns again.
+       * ThemeWin32Classic.cs:
+       * Theme.cs: Likewise.
+
+2007-08-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When a ListViewSubItem instance is invalidated,
+       invoke Invalidate on parent ListViewItem, not parent ListView.
+       Fixes #81570.
+
+2007-08-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView.cs, ListViewItem.cs: corcompare stuffs.
+
+2007-08-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * BindingMemberInfo.cs: Implement == and != operators.
+
+2007-08-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * HtmlElementEventArgs.cs: Implement properties.
+
+2007-08-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * HtmlElementErrorEventArgs.cs, HtmlElementErrorEventHandler.cs: Added.
+
+2007-08-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TabControl.cs: I was looking into the MonoTODO on TabPageCollection.
+       Add (string,string,string) to implement the imagekey.  It turns out, we
+       use the requested imagekey whereas .Net does not.  So I broke ours to match
+       theirs.  :(
+
+2007-08-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs, UserControl.cs: Override ValidateChildren, AutoValidate.
+
+2007-08-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Implement ValidateChildren and new Validate overload.
+
+2007-08-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FolderBrowserDialog.cs: Set Tag of newly created node, and keep it
+       up-to-date. Fixes bug #82618.
+
+2007-08-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * TextBoxBase.cs: Call CalculateDocument after changes Lines property to
+       reflect document changes. Fixes #82367.
+
+2007-08-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add/fix some override differences between 1.1 and 2.0,
+       as well as add new ones. This should make work the BackgroundImage
+       property for ListView again.
+
+2007-08-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGrid.cs, DataGridViewButtonColumn.cs, DataGridViewCheckBoxColumn.cs,
+       DataGridViewComboBoxColumn.cs, DataGridViewImageColumn.cs, DataGridViewLinkColumn.cs,
+       DataGridViewTextBoxColumn.cs, ToolTip.cs: corcompare stuffs.
+
+2007-08-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, XPlatUI.cs, XPlatUIDriver.cs, XPlatUIWin32.cs: Implement
+       IsKeyLocked.
+
+2007-08-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Cursor.cs: Add HotSpot, hook into XPlatUI.GetCursorInfo.
+       * XPlatUIWin32.cs: Implement hotspot lookup in GetCursorInfo.
+
+2007-08-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RadioButton.cs: Use 2.0 rendering.  Use base implementation of TextAlign.
+       * Theme.cs, ThemeWin32Classic.cs: Implement 2.0 rendering for RadioButton.
+
+2007-08-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CursorConverter.cs: Implement conversion to InstanceDescriptor.
+
+2007-08-27  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * GridEntry.cs: Implement GetService.
+
+2007-08-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LabelEditTextBox.cs, TreeView.cs: After hiding the textbox used
+       for label editting, make sure we focus back on the TreeView.
+       [Fixes bug #82590]
+
+2007-08-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add some 2.0 overrides.
+
+2007-08-27  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Uses opacity var instead of Opacity property in CreateHandle
+       because getter dont returns right value before handle creation. Thanks 
+       to George. Fixes #82569.  
+
+2007-08-27  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Theme.cs: Revert last patch, it causes error under win32. 
+
+2007-08-27  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Theme.cs: Uses Environment.SpecialFolder.DesktopDirectory instead of 
+       Environment.SpecialFolder.Desktop in Places method, Desktop returns the 
+       logical Desktop rather than the physical file system location. Fixes #82603. 
+
+2007-08-26  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: Add clipboard copy (ctrl+c) to messagebox. Thanks Andy Hume
+       for the patch. Fixes #82568.
+
+2007-08-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add a pair of missing 2.0 ListViewItemCollection.Insert
+       methods.
+
+2007-08-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewInsertionMark.cs: New stubbed class.
+
+2007-08-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FolderBrowserDialog.cs: When adding folder, immediately create the
+       directory with temporary name and rename the directory when editing
+       finishes. This matches MS. Ensure the node for the new folder is 
+       selected and LabelEdit is disabled, when editing is either finished
+       or cancelled.
+
+2007-08-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeView.cs: When editing label of node, ensure node is visible.
+
+2007-08-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * PropertyGridView.cs: Set the value only if it has changed.
+
+2007-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Some more code refactoring to add support sorting
+       with groups (now for Details view). Remove unused code also.
+
+2007-08-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NodeLabelEditEventArgs.cs: EndEdit immediately when CancelEdit is called.
+       Not a big fan of reacting immediately to a field in an EventArg, but that's
+       the way it's done.  (This is part of the previous commit that got left out.)
+
+2007-08-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FolderBrowserDialog.cs: Removed need for separate description field.
+       Replaced "" with string.Empty. Fixed tabindex. Ensure OK button
+       has focus when dialog box is displayed again, regardless of what
+       button was pressed the previous time. Set RootFolder and SelectedPath
+       each time dialog box is displayed. This ensures the treeview is
+       refreshed, and fixes bug #82579. Do no hide selected node in TreeView
+       when it does not have focus. Added support for more special folders.
+
+2007-08-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Create a CancelEdit method.  Clone the edit_args in EndEdit
+       before calling AfterLabelEdit.  If the user calls BeginEdit in that event,
+       it resets the edit_args.
+       * TreeNode.cs: Call CancelEdit if the user passes cancel = true to EndEdit.
+       [Fixes bug #82577]
+
+2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FolderBrowserDialog.cs: Modifies form caption and text of new folder
+       button to match MS. Provide more meaningful exception message for
+       invalid RootFolder value. Use zero-length string when SelectedPath
+       is set to null. Allow non-rooted paths in SelectedPath, but ignore
+       them in FolderBrowserTreeView. Allow folders to be created in
+       RootFolder. Fixes bug #82576.
+
+2007-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Correctly compute the layout_ht (height) when using groups,
+       since we need to take into account the group headers and the margin
+       between them.
+       * ListViewGroup.cs: Add a rows field to store the number of rows per
+       group.
+
+2007-08-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: The MS' MTB has a really stupid year formatting.
+         Anyways, let's just follow the lead.
+
+2007-08-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs: Set the AutoSizeMode to GrowAndShrink.
+       * Form.cs, GroupBox.cs: Don't skip Right or Bottom anchored 
+       controls in GetPreferredSizeCore.
+       * ThemeWin32Classic.cs: Tweak text drawing of CheckBoxes.
+       [Fixes bug #82488]
+
+2007-08-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PrintDialog.cs: Need to instantiate the form variable here too.
+
+2007-08-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Do some reorganization to support sorting in groups,
+       by doing the layout sequentially in ListView.Items. Also add support
+       for the Default Group, which should be available for items with no
+       group assigned.
+       * ListViewGroup.cs: Add support for DefaultGroup. Include new members
+       for storing layout info also.
+       * ListViewGroupCollection.cs: Add a DefaultGroup as part of the
+       collection, as well as providing internal members to do a traversal
+       including the default group (needed when doing layout/drawing).
+       * ThemeWin32Classic.cs: When drawing group headers use internal
+       ListViewGroupCollection members to take into account the default
+       group.
+
+2007-08-23  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * FlowLayoutPanel.cs: Add GetPreferredSizeCore.  [Fixes bug #82537]
+
+2007-08-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: IsInputKey: don't ask for any keys if the handle hasn't
+       been created.  If handle is created, we want arror keys.  If we are editing
+       a node, we want things like enter, esc, home, end, page up, page down.
+       Allows Esc to work for FolderBrowserDialog.
+
+2007-08-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ColorDialog.cs, FontDialog.cs: Set the form's CancelButton so that
+       they close when ESC is pressed.  Thanks Andy!
+
+2007-08-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CommonDialog.cs: Do not instantiate form, leave that for derived classes.
+       This way we can tell if this is a CommonDialog provided with mono, or one
+       that is being implemented outside by a developer.  If it is an external one,
+       the developer is responsible for showing their own form.  We were showing
+       our blank form after the developer showed his.
+       * ColorDialog.cs, FileDialog.cs, FolderBrowserDialog.cs, FontDialog.cs,
+       PageSetupDialog.cs: Instantiate form variable in our constructor.
+       [Fixes bug #82531]
+
+2007-08-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs, ListView.cs, TreeView.cs: Override IsInputCharInternal
+       and always return true.  [Fixes bug #81616]
+
+2007-08-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Allow 2.0 AutoSize to change the height of the
+       TextBox.  [Fixes bug #82549]
+
+2007-08-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: When Save/Open is clicked and no filename is selected
+       or entered then do not close the dialog. Fixes bug #82539. Removed
+       CWLs.
+
+2007-08-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * FileDialog.cs: Create UpdateRecentFiles and move the recent files refresh
+       code to this method. It is calling every time filter changes. This method
+       will help to fix the bug #80887.
+
+2007-08-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs: Implement AutoSize calculation.
+
+2007-08-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs: Use new 2.0 rendering for 2.0.
+       * Theme.cs: Method declarations for 2.0 rendering path.
+       * ThemeWin32Classic.cs: 2.0 rendering implementation for CheckBox.
+
+2007-08-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroupCollection.cs: Fix a typo of the previous patch.
+
+2007-08-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroupCollection.cs: Implement AddRange the right way, to
+       only call Redraw on the parent one time.
+
+2007-08-21  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewRowHeaderCell.cs, DataGridViewColumnHeaderCell.cs: Implemented
+         GetClipboardContent.
+       * DataGridViewCell.cs: Implemented GetClipboardContent,
+         GetEditedFormattedValue, GetFormattedValue.
+       * DataGridView.cs: Implemented GetClipboardContent, TopLeftHeaderCell.
+
+2007-08-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutStyleCollection.cs: corcompare fix.
+
+2007-08-21  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataObject.cs: Implemented retrieval of convertible / not convertible
+         objects.
+
+2007-08-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: When changing the item's text, invalidate before we resize
+       ourselves.  This ensures the entire old bounds are repainted, in case our new
+       size is smaller.  [Fixes bug #82518]
+
+2007-08-20  Everaldo Canuto  <ecanuto@novell.com>
+
+       * XplatUIX11.cs: Apply patch from #81588, it makes use of PointerMotionHintMask
+       flag to make fast handle of mouse events, without this the mouse move is
+       handled in some manner, whether it is a mouse move or not. Fixes #81588.
+
+2007-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When doing layout calculations don't use a ref
+       param to keep the current item; instead use its Index value (this 
+       is specially important when doing the layout with Groups
+       and Items being sparse). Also don't take into account items added to
+       the Group but not yet added to the main ListView.Items collection.
+
+2007-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroupCollection.cs: Forgot to mimic an issue
+       in the indexer (don't assign the ListView owner for new values).
+
+2007-08-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroupCollection.cs: Make the string indexer use
+       the int based indexer to re-use code, instead of duplicate the code.
+       Also Redraw as needed and take into account null values.
+
+2007-08-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Make sure the item's parent gets set in SetDisplayedItems.
+       [Fixes bug #82481]
+
+2007-08-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Add some logic to un-focus controls in ToolStripControlHosts
+       when other buttons are clicked or navigated to.
+
+2007-08-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Treat toolwindows as if they had no window manager, since
+         it's XplatUIX11 that attaches them.
+
+2007-08-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: If a column has been added, recreate the editing row.
+         Fixes #82226.
+
+2007-08-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * TextControl.cs: Use Math.Max instead of Math.Min when deciding the length
+         of the tag to draw. Makes disappearing text show up again.
+
+2007-08-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * StatusBar.cs: Take into account any icons when a panel has AutoSize =
+         Contents. Fixes #82487.
+
+2007-08-19  Andreia Gaita  <avidigal@novell.com>
+
+       * Added HtmlElement.cs, HtmlElementCollection.cs, 
+         HtmlElementEventArgs.cs, HtmlElementEventHandler.cs
+         
+2007-08-19  Andreia Gaita  <avidigal@novell.com>
+
+       * BindingSource.cs: Implement this, dispose and getenumerator.
+       * DataGridViewRowCollection.cs: Move the InvalidOperationException
+       out of AddInternal, throw it only on public Add calls. The 
+       UsingWebBrowser sample was blowing up with this when setting the
+       DataSource after adding DataBindings, so it's likely that .net
+       only throws this exception when Add is called directly. 
+       
+       * ToolStripControlHost.cs: Return the hosted control's text
+       property, and not the ToolStripItem one (it would always return
+       the initial value).
+       
+       * HtmlDocument.cs: Implement GetElementById and All
+       * WebBrowser.cs: Remove exception on set_DocumentStream.        
+
+2007-08-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Fix the max and min value for opacity (0~1).
+
+2007-08-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       [Fixes #80118]
+       * DataGridTableStyle.cs: Default header font is now null, on getter it 
+       returns datagrid font when is null. On setter permits null.
+
+       * DataGrid.cs:
+       - When ResetHeaderFont set header font to null.
+       - On EndInit set grid_style.DataGrid.
+
+2007-08-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       * TabControl.cs: Fix regression in default padding x.
+
+2007-08-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       * TabControl.cs: Fix tab page text area removing padding. Fixes #82471.
+
+2007-08-19  Everaldo Canuto  <ecanuto@novell.com>
+
+       * TabControl.cs: Fix first tab drawing, when selected it must have x = 0
+       not 2. Fixes #82229.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * TabControl.cs: Fix tab size when image height is less than text height.
+       Partially fixes #81837.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: Add WS_EX_CONTROLPARENT to forms to make it selectable using 
+       "alt + tab". It works only for Win32, for X11 theres no way to remove window
+       from taskbar and keep it on "alt_tab". Fixes #81722.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * XplatUIX11.cs: Apply patch from Jurek Bartuszek to fix DrawReversibleFrame
+       and DrawReversibleLine, also apply same behavior to FillReversibleRectangle. 
+       Fixes #80877 and #79418.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Fix popup menu position when the size is larger than distance 
+       between position and one of the screen borders. Fixes #82349.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: When there is no form that invoked the MessageBox, shows
+       the MessageBox in the taskbar. Fixes #82457.
+
+2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MessageBox.cs: Fix form size when icon is set and text height is bigger
+       than icon. Fixes #82468.
+
+2007-08-18  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: A FixedToolWindow has border size 3.
+       * InternalWindowManager.cs: Change HandleCalcSize to return a boolean value
+         if handled or not. Implement WM_NCCALCSIZE for WParam == 0 as well.
+         Refactored HandleNCCalcSize somewhat to avoid code duplication.
+       * Form.cs: Add is_clientsize_set, set in set_ClientSize, used by
+         FormBorderStyle to decide if we're calculating a new size from the
+         client size or not. CreateParams: Don't fake tool windows, only the X11
+         backend manages toolwindows manually.
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Only reset is_visible if !IsDisposed to prevent an
+       ObjectDisposedException.
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Reset is_visible back to true after OnLoad.  Setting this
+       in OnLoad should not have any effect.  [Fixes bug #82470]
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Add a hack to ToolTipWindow so it will still size and
+       paint for controls that create their own ToolTipWindow instead of
+       going through ToolTip.
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Make Hide internal instead of public to match MS API.
+
+2007-08-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewGroupCollection.cs: Use generic List instead of an
+       ArrayList, since this collection is 2.0 only.
+
+2007-08-17  Jeffrey Stedfast  <fejj@novell.com>
+
+       * ToolTip.cs (Hide): Made public to make the build work (should
+       this not be public?).
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs, ToolStrip.cs, TreeView.cs: Use a ToolTip instead of a
+       ToolTipWindow.
+       * ToolTip.cs: Add an internal Visible property to facilitate transition.
+
+2007-08-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DrawToolTipEventArgs.cs, DrawToolTipEventHandler.cs, PopupEventArgs.cs,
+       PopupEventHandler.cs: Make these internal for 1.1.
+       * ThemeClearlooks.cs, ThemeWin32Classic.cs: Use TextRenderer, and modify to not
+       use ToolTipWindow internals.
+       * ToolTip.cs: Add 2.0 modal Show methods.  Had to move a lot of stuff around to
+       support this.  A lot of stuff in the ToolTipWindow got moved to the ToolTip.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * X11Dnd.cs: Add a null check.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * X11Dnd.cs: MwfWindow: Try to load the control directly from the handle if
+         nothing else succeeds. Fixes #82453.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIWin32.cs: PaintEventStart: validate the entire source client
+         rectangle if we're painting to another window than the one the paint
+         message was generated on. Simplify the code somewhat, which makes
+         PaintEventEnd also simpler.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: When changing parent of a form, let the form decide whether
+         XplatUI.SetParent should be called or not.
+       * Form.cs: ChangingParent: only call XplatUI.SetParent if we're not
+         recreating the handle. If the new parent's handle isn't created, don't
+         recreate our handle, just destroy it. CreateParams: Check if the
+         parent's handle is created before fetching it.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs, Form.cs, InternalWindowManager.cs, MainMenu.cs, MdiClient.cs:
+         Update calls to PaintEventStart/End to take a Message argument.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Update PaintEventStart/End to
+         take a Message argument.
+       * XplatUIWin32.cs, XplatUIX11.cs: Update PaintEventStart/End to take a
+         Message argument, and handle the case where we don't paint to the window
+         for which the paint message was generated.
+
+2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIWin32.cs: Don't call Win32GetLastError directly, use
+         Marshal.GetLastWin32Error. Plug nasty memory leak in
+         PaintEventStart/End, we were creating a DC we weren't releasing.
+
+2007-08-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add Groups support in Details view. Also have a small
+       method to do the layout of the group header. Don't use a separate
+       method to do the groups calculation in Icons view, since our methods
+       are now a little simpler.
+       * ListViewGroup.cs: Use the more accurate `HeaderBounds' name than
+       `Bounds'.
+       * ThemeWin32Classic.cs: Likewise.
+
+2007-08-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Add FilterMessage method and rework our message loop
+       logic to use it.
+
+2007-08-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Add some methods and stub a few methods that are
+       pretty much never used.
+
+2007-08-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Add some serialization methods.
+
+2007-08-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ListViewItemCollection have a 
+       'is_main_collection' field to not modify ListViewItem.ListView
+       when using it as ListViewGroup.Items (and not ListView.Items)
+       and also don't modify selection state (.Net behaviour). 
+       Instead, set group for items contained in a ListViewGroup.Items collection.
+       * ListViewItem.cs: Simplify some code in Group setter.
+       * ListViewGroup.cs: use the new .ctor to pass the current instance
+       to the ItemsCollection.
+       * ListViewGroup.cs: Set the ListView property for ListViewGroup
+       instances when adding/removing. Also make Remove use RemoveAt, which
+       should perform better.
+
+2007-08-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Message.cs, TabControl.cs, TextBox.cs, TextBoxBase.cs: Hide some 2.0 API
+       that crept into the 1.1 profile.
+
+2007-08-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBarButton.cs: Implement ImageKey.
+
+2007-08-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs: Implement ScaleControl/ScaleCore.
+
+2007-08-13  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PictureBox.cs: OnAnimateImage/UpdateAnimateImage: Check if handle is still
+         created, it might have gotten destroyed since we last checked. Fixes
+         #82405.
+
+2007-08-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Remove mouse in control check from mouseleave handler so
+       tooltip will hide when mouse is moved off the control.
+       [Fixes bug #82407]
+
+2007-08-11 Andreia Gaita <avidigal@novell.com>
+
+       * WebBrowserBase.cs, WebBrowser.cs: add implementation
+       using Mono.Mozilla for loading and navigating webcontrol
+       with xulrunner.
+       The initial implementation was done on 
+       /trunk/mozembed/tests/browser , and copied here.
+
+2007-08-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ThemeWin32Classic.cs: On 2.0 profile, use ForeColor and BackColor of
+       ToolTipWindow for drawing the tooltip. Fixes bug #82408.
+
+2007-08-10  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: Add support for an editing row. Fixes #82226.
+         RowTemplateFull: throw an exception if a column doesn't have a template.
+       * DataGridViewRowCollection.cs: AddInternal: if there are any editing rows,
+         add the row just before it.
+       * DataGridViewTextBoxCell.cs: Don't paint cells which are in edit mode as
+         selected.
+       * DataGridViewSelectedRowCollection.cs: Don't return the editing row. Add a
+         DataGridView field to be able to reach the grid's editing row.
+
+2007-08-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: If the control's handle hasn't been created when it has a
+       tooltip set on it, don't check to see if we need to show the tooltip.  This
+       check was causing the control's handle to be created.
+       [Fixes bug #82399]
+
+2007-08-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Fix SelectionLength when no text selected to match MS:
+                                       1.1             2.0
+       Handle Not Created      -1              0
+       Handle Created          0               0
+       [Fixes bug #82371]
+
+2007-08-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Hide the tooltip if the control is clicked to match MS behavior.
+       [Fixes bug #82348]
+
+2007-08-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DrawToolTipEventArgs.cs: Don't dispose a brush we got from the respool.
+       * ToolTip.cs: Implement some properties and owner draw.
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: OnPaint: don't set scrollbar visibility to false then
+         show them again, since setting visibility causes a paint, causing an
+         endless loop (instead use a temporary and set it all when it's known if
+         they should be shown or not). Fixes #79265.
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: Only do a full column/row selection if a header was
+         clicked and we're in Column/RowHeader selection mode. If shift and ctrl
+         isn't pressed, deselect everything before selecting something.
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: Fix SelectedRows and SelectedColumns to match MS
+         behaviour according to bug #81075 - they are returned in the order they
+         are selected. Fix HitTest to check if the point is within any of the
+         headers. Allow for row/column selection when in ColumnHeader or
+         RowHeader selection mode. Add SetSelected[Column|Row]CoreInternal for
+         the row and column to call when their selected state changes, and
+         updated selected_[rows|columns] whenever SetSelected* is called.
+       * DataGridViewBand.cs: Initialize isRow correctly. Call
+         SetSelected[Row|Column]CoreInternal when the selected state changes, and
+         add a SelectedInternal to avoid StackOverflows.
+       * DataGridViewColumn.cs, DataGridViewRow.cs: If DGV is ReadOnly, we're also
+         ReadOnly no matter what.
+       * DataGridViewSelectedColumnCollection.cs,
+         DataGridViewSelectedRowCollection.cs: Add an InternalAddRange that adds
+         the items in reverse order (just as MS does...)
+
+2007-08-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Only release menustrips if Alt (MenuKey) is pressed by
+       itself, not part of a mnemonic.  [Fixes bug #82378]
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: BeginEdit: don't allow editing of readonly cells.
+       * DataGridViewCell.cs: Implement ReadOnly better: the cell is ReadOnly if
+         the DGV, the column, the row, or the cell itself is readonly.
+
+2007-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ThemeNice.cs: Use XplatUI.RunningOnUnix instead of checking
+       OSVersion.Platform.
+       * FileDialog.cs: Same.
+       * TextRendered.cs: Same.
+       * FolderBrowserDialog.cs: Same.
+       * TextBoxBase.cs: Same.
+       * Application.cs: Same.
+       * Cursors.cs: Same.
+       * ThemeClearLooks.cs: Same.
+
+2007-08-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * XplatUI.cs: Added RunningOnUnix property to be used by controls
+       instead of duplicating these checks everywhere.
+       * FileDialog.cs: Use case-insensitive comparison for populating the
+       DirComboBox when not running on unix. Fixes bug #82385.
+       * OpenFileDialog.cs: to match MS, change label of DirComboBox to 
+       "Look in".
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: SelectedRows: we need to check if selectionMode is
+         FullRowSelect (not FullColumnSelect). Fixes #81075. Implemented
+         BeginEdit, EndEdit, SetSelected<Cell|Row|Column>Core. Implemented row,
+         cell and column selection with ctrl and shift pressed. Call the correct
+         BeginEdit/EndEdit whenever we start/end editing. Move painting code to
+         the corresponding virtual method (PaintBackground to paint background,
+         etc).
+       * DataGridViewCell.cs: Implement Selected correctly, we're selected if
+         either the column, row or the cell itself is selected.
+       * DataGridViewRowCollection.cs: Use DGV.OnRowsAddedInternal instead of
+         OnRowsAdded.
+       * DataGridViewRow.cs: Moved some of the painting code from DataGridView
+         here. When the row is selected, don't select all cells. Each cell now
+         queries the row to see if the row is selected.
+
+2007-08-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewColumn.cs: Throw if the SortMode conflicts with DataGridView's
+         SelectionMode.
+
+2007-08-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ListViewItemsCollection check that owner is
+       not null before trying to access it (this happens quite often
+       using Groups). Also don't duplicate calls by calling CollectionChanged
+       method.
+
+2007-08-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Record if we were activated by mouse or keyboard.  Redraw
+       when we are dismissed to clear keyboard mnemonics.
+       * MenuStrip.cs, ToolStripDropDown.cs, ToolStripItem.cs, 
+       ToolStripMenuItem.cs: Record if we were activated by mouse or keyboard.
+       * ToolStripItemTextRenderEventArgs.cs: Draw mnemonic underlines if menu
+       was activated by keyboard or the OS tells us to always draw them.
+       * ToolStripManager.cs: Setup storage for activated by mouse or keyboard.
+       [Fixes bugs #82376, #82377]
+
+2007-08-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If no one accepts a mnemonic, let the MenuStrip have a 
+       shot at having it because Alt was pressed.
+       * MenuStrip.cs: When handling Alt, don't select a SystemMenuItem, select
+       the first real menu item.
+       * ToolStrip.cs: Don't crash when looking for a ToolStripItem to handle
+       a mnemonic if Text is null.
+       [Fixes bug #82374]
+
+2007-08-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ListViewItemCollection.AddItem, don't do a linear
+       search do check whether the item is already contained in the
+       collection or not; instead check if the owner of the item is the same
+       as ours. Also, remove a redundant check in the same method. 
+
+2007-08-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Allow the clip region to be set back to null.
+       * XplatUIWin32.cs: If we are sent a null clip region, use IntPtr.Zero.
+       [Fixes button still showing up in bug #82370 when Show Through is turned off]
+
+2007-08-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * GridEntry.cs: Add a null check.
+       * PropertyGrid.cs: When checking for existing grid entries, ignore category
+         entries. Fixes #82297.
+
+2007-08-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * OwnerDrawPropertyBag.cs: Make the serialization constructor protected
+       for 2.0.
+
+2007-08-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Implement ScaleControl.
+
+2007-08-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Add a few ActiveMenu null checks. ActiveMenu might be null if we
+         have a menu strip.
+       * MdiWindowManager.cs: Don't create a maximized menu if the child or it's
+         parent has a menu strip. Fixes #81689.
+
+2007-08-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ToolTip.cs: We don't get mouse events on all platforms in the exact same
+         moments, so apply some fuzzy logic to determine if the mouse is still
+         inside a control or not. Fixes #82288 (for the third time).
+
+2007-08-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: CreateControl: create implicit children as well. Fixes #82344.
+         Don't create the child if it has been disposed already (may happen if
+         the user closes the form the Load event).
+
+2007-08-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ToolTip.cs: If ReshowDelay is 0, show the tooltip immediately. Fixes
+         #82288.
+
+2007-08-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Add a null check in OnParentBindingContextChanged. The parent
+         might call us after we've been destroyed, in which case our own private
+         parent field is null. Fixes #82326.
+
+2007-08-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDown.cs: Fix a failing test on X11 by adding a null
+       check for setting the dropdown's owner.
+
+2007-08-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: Fix some failing tests on X11 by adding a null check
+       before removing system menu items.
+
+2007-08-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs, MdiWindowManager.cs: Support 2.0 Mdi MenuStrip
+       folding.
+       * MdiControlStrip.cs: Added.  These are the menu items used in mdi
+       folding.
+       * ToolStrip.cs: Add a null check to mnemonics.
+       * ToolStripDropDownMenu.cs: When using a SystemMenuItem, there is
+       no ConnectedArea.
+       [Fixes most of bug #81689]
+
+2007-08-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGrid.cs: Add a null-check. Fixes #82289/SVGPad.
+
+2007-08-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       Use InitialDelay if ReshowDelay is zero. Fixes #82288.
+
+2007-08-01  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewCell.cs: EditType: returns
+         DataGridViewTextBoxEditingControl always.
+
+2007-08-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Remove the LineLimit string format flag from the
+       DrawString fallback method so that things like buttons that aren't
+       tall enough to draw a full line will still draw part of the text.
+       [Fixes part of bug #82272]
+
+2007-08-01  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: Implemented AutoResizeColumn(s).
+       * DataGridViewCellStyle.cs: Added SetAlignment, fills in a StringFormat
+         according to the Alignment.
+       * DataGridViewColumnHeaderCell.cs, DataGridViewTextBoxCell.cs:
+         Implement alignment and padding when painting.
+       * DataGridViewRow.cs: SetValues: Don't create a cell if it already
+         exists.
+       * DataGridViewCell.cs: Implement BorderWidths in the most primitive
+         way.
+       * DataGridViewColumnCollection.cs: Raise OnColumnAdded on the DGV when
+         a column is added.
+
+2007-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: Use Control.ExplicitBounds instead of explicit_bounds,
+       which is internal.
+
+2007-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Stub out drag and drop methods, fix some corcompare stuff,
+       hide GetPreferredSize from public API.
+       * ToolStripDropDown.cs: Override AllowItemReorder, fix AccessibleObject.
+       * ToolStripItem.cs: Stub out drag and drop methods and events.
+       * ToolStripManager.cs: Stub out Save/LoadSettings.
+       * ToolStripOverflow.cs: Use renamed ToolStrip.GetPreferredSize.
+       * ToolStripPanel.cs: Fix corcompare error.
+       * ToolStripPanelRow.cs: Use renamed ToolStrip.GetPreferredSize.
+       * ToolStripSplitButton.cs: Fix AccessibleObject stuff.
+       * ToolStripSplitStackLayout.cs: Use renamed ToolStrip.GetPreferredSize.
+
+2007-07-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: In our new GetPreferredSizeCore, return the explicit
+       bounds height instead of PreferredHeight.  Puts things back the way 
+       they were for height while still fixing the width.  Fixes broken unit
+       tests.
+
+2007-07-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Binding.cs: Implement 2.0 constructors and add a null check.
+
+2007-07-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewRowCollection.cs: Allow a null DGV in the constructor,
+         and fix row index (off by one).
+
+2007-07-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGridView.cs: Remove debug output.
+
+2007-07-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: We need to reset the is_created flags when the handle is
+         destroyed. Fixes #82187.
+       * XplatUIWin32.cs: In GetWindowRect don't offset screen coordinates to
+         client coordinates if the window doesn't have a parent.
+         Win32GetParent returns the parent or the owner, and for top-level
+         windows with no parent (but with an owner) we were calculating the
+         location from the location of the owner.
+       * Form.cs: Remove incorrect fix for #82187. Don't raise OnLoad if the
+         form has been disposed.
+       * MdiClient.cs: Add a null-check.
+
+2007-07-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextBoxBase.cs: TextBoxBase reports itself at AutoSize, but doesn't
+       actually do auto-sizing.  Override the internal GetPreferredSizeCore 
+       so we can provide an implementation that returns the current width
+       and preferred height.  Allows anchor = right to work with TextBox 2.0.
+       [Fixes bug #82233]
+
+2007-07-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add support for navigating items in Groups mode, by
+       creating a big matrix containing all rows and cols of all groups. When
+       are in other mode than Details, pressing Up should have a similar
+       behaviour as that one of Down (moving to the next available column if
+       current one doesn't have an item in the requested row). Also, don't
+       proceed to use groups if ShowGroups is false.
+       * ListViewGroup.cs: Add an internal int field to store the starting
+       row of the group (used by the big matrix used for navigating the
+       ListView).
+       * ThemeWin32Classic.cs: Don't draw headers if ListView.ShowGroups is
+       false.
+
+2007-07-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDown.cs: When we do Show, start with the 
+       DefaultDropDownDirection, but if our popup menu is going to off-screen,
+       modify the direction to keep it on screen.  [Fixes bug #82210]
+
+2007-07-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Accept any FilterIndex value, and store it
+       unmodified. When FilterIndex is less than 1, or greater than number
+       of filters, then default to first filter. Only add filter extension to
+       file if user did not specifiy an extension. When type of dialog is
+       OpenFileDialog and DefaultExt is set, then only use filter extension
+       if: CheckFileExists is true and no file wih the default extension
+       exists, or CheckFileExists is false, and user specified file does not
+       exist. When CheckFileExists is true, then add first extension of 
+       selected filter that matches existing file. Perform checks for
+       existing file, overwrite and create after extension has been added to
+       file name. When CheckFileExists is true and type is SaveFileDialog,
+       then only consider first filter extension if DefaultExt is set.
+       When CheckFileExists is true, then ignore DefaultExt if file with that
+       extension does not exist. Also perform check for existing file when
+       type is SaveFileDialog. Changed some field to constants.
+
+2007-07-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Take into account the region used by header
+       control when doing the vertical scroll (this way we invalidate
+       the precise area, and don't get any dirty one).
+
+2007-07-27  Everaldo Canuto  <ecanuto@novell.com>
+
+       * FileDialog.cs: Check for valid filterIndex on button open/save. 
+       Fixes #82184.
+
+2007-07-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Update some layout calculations in details view
+       and clean the code in a pair of assignations.
+
+2007-07-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs, ContainerControl.cs, DataGrid.cs, FontDialog.cs, Label.cs,
+       LinkLabel.cs, ListBox.cs, ListView.cs, ListViewItem.cs, MessageBox.cs,
+       MonthCalender.cs, StatusBar.cs, ThemeClearlooks.cs, ThemeWin32Class.cs,
+       ToolBar.cs, TreeView.cs: First pass at using thread-safe string measuring.
+
+2007-07-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Use [ThreadStatic] instead of locks to improve
+       performance of thread-safe Graphic methods.  (Thanks rolf!)
+
+2007-07-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When doing the layout calculations, don't calculate
+       scroll bars before handle is created. This is unnecessary and also
+       calculating them before handle creation item causes a number of random
+       bugs (which begin to appear after Chris' big patch for handle creation
+       fixes). 
+
+2007-07-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Create thread-safe versions of Graphics.MeasureString
+       for things that don't have a Graphics object.  Currently, things just use
+       the static Hwnd.bmp_g which is not thread safe.
+
+2007-07-26  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: ShowDialog: don't destroy handles if the dialog is a common
+         dialog. Fixes #82187.
+
+2007-07-26  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewElement.cs: Initialize state.
+       * DataGridView.cs: Forward a few Mouse events to cells. Add
+         GetRowInternal and GetCellInternal that doesn't unshare rows.
+         Implement GetCellDisplayRectangle. HitTest: if the row is shared,
+         don't use the index, but look it up. Add
+         DataGridViewControlCollection.RemoveInternal to remove controls
+         that Remove won't remove (scrollbars, edit control).
+       * DataGridViewColumn.cs: Initialize State correctly.
+       * DataGridViewColumnHeaderCell.cs, DataGridViewComboBoxCell.cs,
+         DataGridViewHeaderCell.cs, DataGridViewRowHeaderCell.cs: Started
+         implementing this.
+       * DataGridViewRowCollection.cs: Implemented shared rows.
+       * DataGridViewRow.cs: Throw exceptions as MS do.
+       * DataGridViewCell.cs: A few properties are implemented by a
+         Get<Property> method, so move implementation there and remove the
+         NIEX in the method. Add a bunch of OnXInternal that DataGridView
+         calls when necessary.
+       * DataGridViewComboBoxEditingControl.cs: Remove a few NIEX'es that just
+         complicates matters.
+       * DataGridViewCellCollection.cs: Add a GetCellInternal that doesn't
+         unshare any rows.
+
+2007-07-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UpDownBase.cs: We cannot override SetBoundsCore for 2.0, which was relayout-ing
+       the children controls.  Instead, we will just set up the proper docking for the
+       children controls so we don't have to worry about it.  [Fixes bug #82188]
+
+2007-07-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs, NodeLabelEditEventArgs.cs, LabelEditTextBox.cs: Support edit
+       canceling and correct Before/AfterLabelEdit properties as layed out in bug
+       81847.  [Fixes bug #81847]
+
+2007-07-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: If AutoSize = true and a width or height is set, ignore it and
+       redo the autosize.  VS2005 defaults to setting the AutoSize, and then setting
+       an explicit size based on the design-time size of the text.  Since our fonts
+       may not match this explicit size, we tend to cut off the ends of people's labels.
+
+2007-07-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Menu.cs: Add some missing methods to MenuItemCollection.
+
+2007-07-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs: Added RowTemplateFull, creates a row from the templates in the columns.
+       * DataGridViewBand.cs: DefaultHeaderCellType: initialize correctly. Resizable: if not set, check DGV.
+       * DataGridViewColumn.cs: InheritedAutoSizeMode: if not set, check DGV. Resizable: delegate to base class. ToolTipText: Never return null. Initialize a few other properties correctly.
+       * DataGridViewColumnCollection.cs: Add: Default column is a TextBoxColumn.
+       * DataGridViewComboBoxCell.cs: Started implementing this, lots left still.
+       * DataGridViewElement.cs: State defaults to Visible.
+       * DataGridViewRowCollection.cs: Add: creates the new row based on a template.
+       * DataGridViewTextBoxColumn.cs: SortMode: delegate to base class, but initialize to Automatic. ToString: implement correctly.
+
+2007-07-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Minor 1.1 corcompare fix.
+
+2007-07-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LinkLabel.cs, PrintPreviewDialog.cs, TabPage.cs, TextBox.cs,
+       TextBoxBase.cs, ToolBar.cs: 2.0 corcompare work.
+
+2007-07-23  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewLinkColumn.cs, DataGridViewRowCollection.cs,
+         DataGridViewImageColumn.cs, DataGridViewSelectedCellCollection.cs,
+         DataGridViewComboBoxCell.cs, DataGridViewLinkCell.cs,
+         DataGridViewSelectedColumnCollection.cs,
+         DataGridViewSelectedRowCollection.cs: Corcompare work.
+
+2007-07-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PrintDialog.cs: Stub UseEXDialog.  I chose to stub this because
+       it is autoset by VS2005 designer and the effect is barely noticeable.
+
+2007-07-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Implement HitTest.
+
+2007-07-23  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridViewTextBoxCell.cs: Use DGV.EditControlInternal instead of
+         manually adding and removing the control from the Controls
+         collecftion.
+       * DataGridView.cs: Implement DataGridViewControlCollection. Add an
+         EditingControlInternal property that tracks the editing control.
+         Always keeping the scrollbars in the Controls collection, as MS
+         testing confirms is the right behaviour.
+
+2007-07-23  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ScrollableControl.cs: Fix implementation of AutoScrollPosition
+         according to MSDN and new test.
+
+2007-07-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Implement ToolTipText.
+       * TreeView.cs: Implement tooltips, NodeMouse* events.
+
+2007-07-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeView.cs: Implement OnNodeMouseClick and OnNodeMouseDoubleClick.
+
+2007-07-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Implement ContextMenu, ContextMenuStrip, and Level.
+       * TreeView.cs: Use the node's contextmenu[strip] if applicable.
+
+2007-07-20  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * Control.cs, Form.cs, ContainerControl.cs,
+       ScrollableControl.cs, ButtonBase.cs:  Added ShouldSerialize
+       for misc properties.
+
+2007-07-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Implement StateImageIndex and StateImageKey.
+       * TreeView.cs: Implement StateImageList.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Don't check if the current form is the active form before
+         activating it. Fixes #81904.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Don't check if the current form is the active form before
+         activating it. Fixes #81904.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * TreeView.cs: Apply patch from Tyron (tmm@aon.at). Fixes #81847.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Don't try to position the form after loading if the form was
+         disposed. Fixes #81969.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGrid.cs, PropertyGridView.cs: Implemented 2.0 methods and
+         properties. Had to change ToolBar into ToolStrip, which required a
+         few #ifs.
+
+2007-07-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGrid.cs: PropertyToolBar: Redraw the entire toolbar when it's
+         resized, fixes part of #79829 (vertical lines in toolbar).
+         PropertyGrid: Refactored Populate* to something that's easier to
+         follow at least for me, as well as splitting it up into several new
+         methods, required to update only subitems when something has
+         changed by a popup editor or listbox. Don't use events to check
+         when any values are changed, since the events are unreliable (we're
+         changing the objects the events are registered with, and if the
+         event handling requires the objects to be immutable (objects stored
+         in hashtables for instance), the events will never be raised).
+       * PropertyGridView.cs: Call PropertyGrid.PropertyValueChangedInternal
+         everytime we change a value, since events are unreliable.
+         DropDownButtonClicked: For the same reason don't compare objects to
+         check if it has changed or not, it would require all objects to
+         derive Equals. Fix dialog location on windows, MS is doing weird
+         things when creating parented forms.
+       * GridEntry.cs: Add a SelectedObject setter.
+
+2007-07-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Add some corcompare attributes.
+       * TreeNodeCollection.cs: Implement 2.0 stuffs.
+       * TreeView.cs: Implement some 2.0 stuffs.
+
+2007-07-18  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs, WebBrowserBase.cs: add some more MonoTODOs now
+       for moma.
+
+2007-07-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Implement custom tab offsets.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripContentPanel.cs: Support System renderer.
+       * ToolStripControlHost.cs: Set RightToLeft to default to No.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollableControl.cs: Don't mess up the user's explicit bounds.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs: Chain TextAlign to base implementation instead of
+       maintaining another one.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: Fix an incorrect string constant.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Use the static Graphics context in Hwnd instead
+       of creating one for measuring strings.
+
+2007-07-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripDropDown.cs, ToolStripDropDownMenu.cs: 
+       Implement MaxItemSize.
+
+2007-07-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Remove per-control 1x1 Bitmap and Graphics context used
+       for DeviceContext.  Instead, use the static one available in Hwnd.
+       Informal tests show this saves about 500k on formtest.exe.
+
+2007-07-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Implement 2.0 AutoScaling.
+
+2007-07-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: Work around bug #82120 (bug in mcs).
+
+2007-07-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Allow a Flat button to be Focused and Entered.
+       Darken the focus color.
+
+2007-07-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: When measuring items, if it's a CheckedListBox, add room
+       for the checkbox.
+       * ThemeWin32Classic.cs: Make the checkbox bigger in a CheckedListBox and use
+       X, Y instead of a rect for drawing text.
+       - For ControlPaint.DrawCheckBox, center the check a little better when the
+       checkbox is odd width.  When drawing a flat checkbox, use a white background
+       when state != inactive.
+       [Fixes bugs #82097, 82100]
+
+2007-07-16  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListControl.cs: When changing CurrencyManager, disconnect event
+       handlers from previous one. Fixes bug #81771. Code formatting.
+
+2007-07-15  Andreia Gaita <avidigal@novell.com>
+
+       * PrintPreviewControl.cs: Remove extraneous Invalidate calls. Separate
+       full preview invalidation from layout invalidation, and only invalidate
+       the layout when setting zoom or other properties. Invalidation should
+       always be done even when resetting properties with the same values as
+       what is there. Fixes #81744 and #79830.
+
+2007-07-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement initial support for Groups. Split some of the
+       LayoutIcons code to render a partial list of the items (needed by
+       items contained in ListViewGroup instances). Let the
+       ListViewItemsCollection.ListView property be modifiable (needed when
+       using Groups, too).
+       * ListViewGroup.cs: Use a Bounds property rather than a Location
+       one. Also invalidate the bounds when they get changed.
+       * ThemeWin32Classic.cs: When drawing items, also draw the group header
+       if ListView.Groups.Count is bigger than 0. Add a DrawListViewGroupHeader
+       method as well.
+
+2007-07-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When space gets pressed and CheckBoxes is true, 
+       don't invoke the Begin and EndUpdate methods. We are generating 
+       a redraw of the entire control without need to do so.
+
+2007-07-13  William Holmes <billholmes54@gmail.com> 
+
+       * Control.cs: Changing logic in FindFlatForward and 
+         FindFlatBackward to handle multiple Controls with 
+         the same TabIndex.  
+         This fixes bug 81687.
+
+2007-07-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * OSFeature.cs: Enable IsPresent.
+
+2007-07-13  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Don't do anything in WmShowWindow if the control has been
+         disposed. We can get WM_SHOWWINDOW after a control is disposed: a
+         control is created, put on a form, the control is disposed (the
+         form is never shown), and then we get a MapNotify, triggering a
+         WM_SHOWWINDOW.
+       * Form.cs: Exclude the current form when sending Deactivate to all
+         MdiChildren.
+       * NativeWindow.cs: Set WindowCreating to null as soon as possible,
+         there was a race condition because assigning the handle raises
+         events, we can get more messages, therefore trying to assign the
+         handle again, which would fail if any of those event handlers
+         closed/disposed the control.
+
+2007-07-13  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Make the fix for #80775 windows-only (fixes #81957).
+
+2007-07-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SystemInformation.cs, Theme.cs, XplatUI.cs, XplatUIDriver.cs,
+       XplatUIWin32.cs: Implement SystemInformation 2.0 properties.
+
+2007-07-12  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: If there's no part format specifier, return an
+         empty string.
+
+2007-07-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FlatButtonAppearance.cs: Throw NotSupportedException for a
+       Transparent BorderColor.
+
+2007-07-12  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DataGridView.cs, TextControl.cs, ProgressBar.cs, PrintDialog.cs,
+         MessageBox.cs, ButtonBase.cs, PageSetupDialog.cs, NumericUpDown.cs,
+         X11Dnd.cs, Binding.cs, DataGrid.cs, AxHost.cs,
+         LinkLabelLinkClickedEventArgs.cs, TextRenderer.cs, Label.cs,
+         LinkLabel.cs, TreeNode.cs, BindingSource.cs, TabPage.cs,
+         TextBoxBase.cs, BindingNavigator.cs, Application.cs,
+         ToolStripPanel.cs, TabControl.cs, ThemeClearlooks.cs, TreeView.cs:
+         Remove warnings.
+       * X11Structs.cs: Remove warnings, add ToString implementations.
+
+2007-07-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Translate min/max size according to the actual min/max
+         size, and not the current size. Fixes #81798.
+
+2007-07-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Fix #80822 again (DefWndProc can be reached before
+         XplatUI.CreateWindow returns, in which case the hwnd isn't assigned
+         to the control yet).
+
+2007-07-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGridTextBox.cs: Add a method that sends any forwarded
+         mousedowns to the contained textbox.
+       * X11Structs.cs: More ToString implementation.
+       * PropertyGridView.cs: Forward any mousedowns to the textbox, fixes
+         #81791.
+
+2007-07-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGridView.cs: Add a null-check, fixes a few tests.
+
+2007-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanelCellPosition.cs: TypeConverter.
+
+2007-07-10  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       [ Fixes #79761]
+       
+       * PropertyGridTextBox.cs: Propagate any color changes to all contained
+         controls.
+       * PropertyGridView.cs: A few color fixes.
+
+2007-07-10  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Remove some old unused text formatting stuff.
+
+2007-07-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Update full row select invalidation to match the
+       newer DrawSelection... method.
+       - Make sure to invalidate the entire width when selecting a new
+       node, if we have full row selection enabled.
+
+2007-07-10  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGridView.cs: Fix for #81800, makes text show up on initial
+         display of properties again.
+
+2007-07-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: Add IntegerCollection and Add, Clear, Remove
+       to existing collections.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * AccessibleObject.cs, RadioButton.cs: Fix some base classes
+       that changed between 1.1 and 2.0.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PowerStatus.cs: Added.  This is just a data class, it is filled
+       in by SystemInformation.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Message.cs: Add op_Equality and op_Inequality.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuStrip.cs: Finish corcompare work.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LinkArea.cs: Add op_Equality and op_Inequality.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Add MessageLoopCallback delegate.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListBox.cs: First set of 2.0 stuffs.
+
+2007-07-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make an internal Height property we can override
+       without messing up the public API.
+       * ListBox.cs: Override HeightInternal to always return the size
+       the user set.  [Fixes bug #80466]
+
+2007-07-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Add a null check so we don't NRE trying to
+       paint cell borders if we haven't calculated where they go yet.
+       [Fixes bugs #82040 and #82041]
+
+2007-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In Details view, set the location of item_control
+       in the (0,0) position (and the header_control is thus on the
+       item_control). This way the Bounds of the Items are relative to the
+       ListView control (before this, they had a Bounds value without the
+       header_control offset, which wasn't matching .Net). Fixes #82004.
+
+2007-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: When DataSource is set to null, pass an empty
+       array of object to SetItemsCore. This is done to clean the items
+       in the ListContol children. Fixes #81788.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListControl.cs: Add 2.0 stuffs.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: Finish up 2.0 stuffs.  Replace calls to Refresh with Invalidate,
+       Refresh is overkill for just about every repaint request.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: TextDirection getter handles looking up Inherit for us,
+       so remove my custom Get method and fix the property getter.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Label.cs: DefaultMargin for 2.0.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Override IsInputCharInternal and return true.  Fixes 
+       reported issue where other controls with mnemonics would steal strokes
+       from a selected ComboBox.
+
+2007-07-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollOrientation.cs: Make internal for 1.1.
+       * ScrollEventArgs.cs: Add 2.0 stuffs.
+
+2007-07-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripControlHost.cs, ToolStripDropDown.cs,
+       ToolStripItem.cs, ToolStripItem.cs, ToolStripItemTextRenderEventArgs.cs,
+       ToolStripRenderer.cs, ToolStripSeparator.cs: Implement TextDirection.
+
+2007-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Implement the small 2.0 GetSubItemAt method.
+
+2007-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement the so-incredibly broken 2.0 
+       VirtualItemsSelectionRangeChanged event.
+
+2007-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When enter is pressed and selection is non empty,
+       an OnItemActivate event must be fired.
+
+2007-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Store the FocusedItem information as an
+       int instead of a ListViewItem (needed by VirtualMode).
+       Update the calls to SetFocusedItem to pass an index instead of
+       an item.
+       * ListViewItem.cs: Likewise. Also, in VirtualMode retrieve
+       the Focused state from the owner ListView. 
+
+2007-07-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Set ListView.focused_item from ListViewItem.Focused
+       property. Also, invalidate previous focused item in the mentioned
+       property (match .Net).
+
+2007-07-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 FocusedItem property setter.
+
+2007-07-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 TopItem property setter.
+
+2007-07-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: The default renderer is System.
+       * ToolStrip.cs, ToolStripManager: Now that we have System renderer, use it 
+       if the user specifies it.
+       * ToolStripDropDown.cs: Don't reset our Renderer on changing OwnerItem
+       if we are ManagerRenderMode.
+       * ToolStripMenuItem.cs: Calculate our text color better.
+       * ToolStripRenderer.cs, ToolStripProfessionalRenderer.cs: Move some stuff
+       from Professional to the base class based off working with the System renderer.
+       * ToolStripSystemRenderer.cs: Added.
+
+2007-07-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: I'm so lame - the real name is HitTest, not HitInfo.
+
+2007-07-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Implement 2.0 Tag property.
+
+2007-06-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 HitTest methods.
+
+2007-06-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Add a 2.0 bool Hot property, to tell whether the
+       item is under the pointer or not (sugar). Also remove the TODO
+       regarding to the cursor changes in OneClick activation.
+       * ThemeWin32Classic.cs: When HotTracking is true and we are drawing
+       the subitems use the parent's HotFont if UseItemStyleForSubItems is
+       true; otherwise don't show the underline style.
+
+2007-06-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.ItemsMouseMove, refactor
+       the code to retrieve the item at position only one time. Also
+       change cursor when Activation is ItemActivation.OneClick as well
+       as invalidate the item if HotTracking is true (to show/hide the
+       underline style). Add an internal HotItemIndex property to retrieve
+       the current hot item's index.
+       * ListViewItem.cs: Add an internal HotFont property to cache the
+       font used when HotTracking is true and the pointer moves within the
+       item's borders.
+       * ThemeWin32Classic.cs: When drawing the item's text, use Font or
+       HotFont depending on the hot state of the item.
+
+2007-06-22  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 HotTracking property.
+
+2007-06-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripControlHost.cs: If our hosted control never got created,
+       don't try to dispose it.  [Fixes bug #81909]
+
+2007-06-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Implement ScaleCore, ScaleControl.
+
+2007-06-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TableLayoutPanel.cs: Implement CellBorderStyle.  [Fixes bug #81884]
+
+2007-06-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: In OwnerDraw mode draw subitems only for 
+       Details view.
+       * DrawListViewColumnHeaderEventArgs.cs:
+       * DrawListViewSubItemEventArgs.cs: Add padding to the bounds when drawing text
+       using the DrawText () methods.
+
+2007-06-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripProfessionalRenderer.cs: Put back clearing a ToolStripDropDown's
+       background which got erased in my changes yesterday.
+
+2007-06-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Actually set bounds for subitems in Details view
+       (2.0 feature).
+       * ThemeWin32Classic.cs: Refactor the drawing code for subitems, so we
+       can invoke from the owner draw routines if we need it. Also, add
+       support for Owner draw in Details view.
+
+2007-06-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripLabel.cs,
+       ToolStripMenuItem.cs, ToolStripProfessionalRenderer.cs: Respect the
+       ShowImageMargin setting, properly align text in a ToolStripLabel
+       hosted on a ToolStripDropDown.
+
+2007-06-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripContentPanel.cs, ToolStripDropDownMenu.cs,
+       ToolStripProfessionalRenderer.cs: Refactor and clean up some rendering code.
+
+2007-06-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DrawListViewSubItemEventArgs.cs: Actually implement its methods.
+
+2007-06-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripLabel.cs: If the label is on a dropdown, adjust the text
+       location to match ToolStripMenuItems.
+
+2007-06-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DrawListViewColumnHeaderEventArgs.cs:
+       * ThemeWin32Classic.cs: Implement 2.0 OwnerDraw support for
+       column headers in ListView. 
+
+2007-06-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UserControl.cs: Implement AutoSize.
+
+2007-06-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DrawListViewItemEventArgs.cs:
+       * ListView.cs:
+       * ThemeWin32Classic.cs: Implement basic support for 2.0 OwnerDraw in
+       ListView.
+
+2007-06-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItemAccessibleObject.cs: Added.
+       * ToolStripDropDownItem.cs, ToolStripItem.cs, ToolStripMenuItem.cs,
+       ToolStripOverflow.cs, ToolStripOverflowButton.cs, ToolStripPanel.cs,
+       ToolStripProgressBar.cs, ToolStripSeparator.cs, ToolStripSplitButton.cs,
+       ToolStripTextBox.cs: corcompare work.
+
+2007-06-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * OSFeature.cs, StatusStrip.cs, TabControl.cs, TableLayoutSettings.cs,
+       TableLayoutStyle.cs, TableLayoutCollection.cs, ToolStripContentPanel.cs,
+       ToolStripControlHost.cs, ToolStripDropDown.cs, ToolStripDropDownButton.cs:
+               corcompare.
+
+2007-06-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * OSFeature.cs: Add IsPresent.
+       * PrintPreviewControl.cs: Add RightToLeft.
+       * SplitContainer.cs: Add AutoScrollOffset, ScaleControl.
+       * SplitterPanel.cs: Add AutoSizeMode.
+
+2007-06-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * LayoutEventArgs.cs: Add 2.0 AffectedComponent.
+       * MdiClient.cs: Add 2.0 ScaleControl.
+       * NativeWindow.cs: Implement 2.0 interface IWin32Window.
+       * NumericUpDownAccelerationCollection.cs: Add [ListBinding].
+
+2007-06-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Implement some scaling methods, stub some RTL methods,
+       corcompare work.
+
+2007-06-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: corcompare work.
+       * FlatButtonAppearance.cs, FolderBrowserDialog.cs: Add TypeConverters.
+
+2007-06-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ControlPaint.cs, Theme.cs, ThemeWin32Classic.cs: Implement
+       ControlPaint 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThreadExceptionDialog.cs: Add 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UpDownBase.cs: Add 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NumericUpDown.cs: Add 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NotfiyIcon.cs: Add MouseDoubleClick event, hook up MouseClick event.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ErrorProvider.cs: Implement 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DomainUpDown.cs: Implement 2.0 stuffs.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckedListBox.cs: Fix RefreshItems signature.
+
+2007-06-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PictureBox.cs: Implement 2.0 stuffs.
+
+2007-06-12  Andreia Gaita  <avidigal@novell.com>
+       
+       * TabControl.cs: Check if there are tabpages before checking
+       the selected index - fix #81802 (font changes raise a ResizeTabs
+       call on controls.add, which blew up nicely with no tabpages)
+
+2007-06-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs: Implement 2.0 ItemSelectionChanged event.
+
+2007-06-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs: In VirtualMode the selection information
+       resides in the ListView, rather than in the Items. Also, throw
+       InvalidOperationExceptions when VirtualMode is being used and
+       CheckedItemCollection is accessed.
+
+2007-06-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Add ScaleControl.
+
+2007-06-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: ButtonBaseAccessibleObject.State should not be visible to 1.1.
+
+2007-06-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * GroupBox.cs: Add 2.0 stuffs.
+
+2007-06-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Panel.cs: Add autosize properties/event.
+
+2007-06-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs:
+       - When we remove a control, remove it from the collection before performing the layout.
+       - Setup an internal property for explicit_bounds.
+       - Don't let the UpdateBounds in CreateHandle overwrite our explicit bounds.
+       - Perform a layout when we set a new AutoSizeMode.
+
+2007-06-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollableControl.cs: Add 2.0 stuffs.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollBar.cs: Add 2.0 stuffs.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Splitter.cs: Add 2.0 stuffs.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitContainer.cs: Apply patch from Neil Cawse <neilcawse@geotab.com>
+       to have BindingContext simply use base implementation.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ColumnHeader.cs: corcompare fix.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Button.cs: corcompare fixes.
+       * ButtonBase.cs: corcompare fixes, add ButtonBaseAccessibleObject.State.
+
+2007-06-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Button.cs: Override GetPreferredSizeCore.
+       * ButtonBase.cs: PerformLayout after changing properties that can affect
+       AutoSize.  Simplify some mouse/keyboard code.
+       * Control.cs: PerformLayout after changing Padding if AutoSize = true.
+       * MouseEventArgs.cs: Make Location internal for 1.1.
+       * TextRenderer.cs: Make MeasureTextInternal (string, Font, bool) internal for 1.1.
+       * Theme.cs: Add CalculateButtonAutoSize.
+       * ThemeWin32Classic.cs: Implement CalculateButtonAutoSize.
+
+2007-06-05  Miguel de Icaza  <miguel@novell.com>
+
+       * TreeNodeCollection.cs: Applied patch from Neil Cawse <neilcawse@geotab.com>
+
+2007-06-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: We can't cache Bounds in VirtualMode 
+       since we can get different item instances every time we retrieve it.
+
+2007-06-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Work around for #81602, since an unkown an pretty
+       infrequent condition appears only in some systems (old linux boxes, it
+       seems).
+
+2007-06-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Button.cs: Completely reformat and a little refactor to bring
+       this closer to Mono circa 2007.
+
+2007-06-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs, Form.cs, RadioButton.cs: Change call to ButtonBase.Redraw
+       to be ButtonBase.Invalidate.
+
+2007-06-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: GetPreferredSize is 2.0 only.  Fixes build.
+
+2007-06-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: Completely reformat and a little refactor to bring
+       this closer to Mono circa 2007.
+
+2007-06-01  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Label.cs: Fixes preferred sizes for 2.0 profile, also adjust some
+       values for autosize. Fixes #80137.
+
+2007-06-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Don't perform layout when AutoSize changes.
+       * Form.cs: Perform layout in AutoSize override.  Don't set ClientSize
+       directly when autosizing, use SetBounds with BoundsSpecified.None.
+       Fixes unit tests my last commit broke.
+
+2007-06-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Perform layout when AutoSize changes.
+       * Form.cs: Implement AutoSizing.
+
+2007-06-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: remove the XXX'ed check at the top of
+       ProcessGridKey.  fixes #80464.
+
+2007-06-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: TextBox.TextChanged event handler
+       adding idempotent (add/remove in Edit()), and also make sure we
+       don't add it until after we set the text, so it's not tripped in
+       Edit().  Fixes unit test regression.
+
+2007-06-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: In UpdateBounds, only recalculate anchor distances if the
+       change is user explicit, not when the layout engine moves stuff.  Fixes
+       anchoring to bottom and right.  [Fixes bug #81790]
+
+2007-06-01  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintDialog.cs: Add collation preview thumbnails. Fixes #80726.
+
+2007-06-01  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: 
+       Fire enter event for common ancestor if it is not a ContainerControl.
+       Send focus to the active_control and not the 'value', the active 
+       control might have been changed in one of the events fired.     
+       Definitely fixes #80159.
+
+2007-06-01  Andreia Gaita  <avidigal@novell.com>
+
+       * DataGrid.cs: Finish editing when focus leave the datagrid. Fixes #80159.
+
+2007-06-01  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * PropertyGrid.cs: Anchor the help description to the bottom of the
+         help panel and refactor SelectGridItem into a
+         SelectGridItemInternal that can be set to null (and update it to
+         clear the help texts when it is set to null). Set root item to null
+         when there's no SelectedObject. Fixes #80438.
+       * ScrollableControl.cs: In Recalculate we need to ResumeLayout(true)
+         when we're recalculating after a resize (only).
+
+2007-05-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 RedrawItems method.
+
+2007-05-31  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: Disconnect PositionChanged and ItemChanged
+       handlers from previous data manager when DataSource is set to
+       null. Fixes #81771.
+
+2007-05-31  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: These seem to be the correct values.
+
+2007-05-31  Everaldo Canuto  <ecanuto@novell.com>
+
+       * FileDialog.cs: When close dialog with ok set filterindex using combobox
+       value. Fixes #81784.
+
+2007-05-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement 2.0 scaling methods.
+
+2007-05-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ProgressBar.cs, WebBrowserBase.cs, Control.cs, MaskedTextBox.cs,
+         MessageBox.cs, PropertyGrid.cs, RichTextBox.cs: Fix warnings and
+         corcompare issues.
+
+2007-05-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ProgressBar.cs: Implemented missing 2.0 members.
+
+2007-05-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Corcompare issues.
+       * MessageBox.cs: Implemented missing 2.0 functions.
+
+2007-05-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * CheckedListBox.cs, ListBox.cs, ListControl.cs, ComboBox.cs:
+         Implemented more 2.0 members.
+
+2007-05-31  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Application.cs: Try to avoid NRE when Assembly.GetEntryAssembly is
+         null (strange, but it seems to happen when running unit tests).
+
+2007-05-30  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Set active_control even earlier, before 
+       firing any events, and undo it if validation returns false.
+
+2007-05-30  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Raise Validation and Enter/Leave events
+       even if there is no Form and set active_control earlier, just
+       before firing Enter events (toshok's patches). Fixes #80647.
+
+2007-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Redid the pageup/pagedown a little to simplify
+       things and fix bug #81311.
+
+2007-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Now that we have our own event loop, we need to
+       cancel when we get a mouseup but it won't be accepted.
+
+2007-05-30  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_CurrentCell): guard against negative
+       column/row.
+
+       * DataGridColumnStyle.cs (CheckValidDataSource): just use the
+       array index syntax instead of looping over the property names.
+
+       * DataGridTextBoxColumn.cs: add a changed handler on the textbox,
+       and set IsInEditOrNavigateMode to false there.
+
+2007-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make sure we don't get a bad visible order when
+       setting to the top node.  Fixes some misc crashing in
+       ControlInspector.
+
+2007-05-30  Andreia Gaita  <avidigal@novell.com>
+
+       * UserControl.cs: Add 2.0 AutoSizeMode
+
+2007-05-29  Everaldo Canuto  <ecanuto@novell.com>
+
+       * DataGridTextBoxColumn.cs: Fix textbox horizontal offset.
+
+2007-05-29  Everaldo Canuto  <ecanuto@novell.com>
+
+       * DataGridTextBoxColumn.cs: Fix textbox position to prevent override grid
+       lines. Fixes #80285. 
+
+2007-05-29  Everaldo Canuto  <ecanuto@novell.com>
+
+       * DataGridColumnStyle.cs: Add char trimming column header text format. 
+
+2007-05-29  Everaldo Canuto  <ecanuto@novell.com>
+
+       * DataGridColumnStyle.cs: Fix grid header arrow drawing over column name. 
+       Fixes #80147.
+
+2007-05-29  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Fix off by one on calculating whether or not a node
+       is visible.
+
+2007-05-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: ResumeLayout(false) should recalculate anchor distances.
+       * ScrollableControl.cs: Force an UpdateDistances when we move the
+       scrollbars.
+       [Fixes bug #80605]
+
+2007-05-29  Andreia Gaita  <avidigal@novell.com>
+
+       * PageSetupDialog.cs: Fix #80728 - Changing the printer doesn't
+       update the page setup screen.
+
+2007-05-29  Andreia Gaita  <avidigal@novell.com>
+
+       * PageSetupDialog.cs: Fix landscape mode.
+
+2007-05-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * SystemInformation.cs: Add 2.0 IconSizeVerticalSpacing and
+       IconSizeHorizontalSpacing.
+
+2007-05-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: The declaration of prev_tooltip_item should be inside
+       a NET_2_0 conditional (avoid a warning).
+
+2007-05-28  Andreia Gaita  <avidigal@novell.com>
+
+       * PageSetupDialog.cs: Implement PrintPreview control to display
+       the preview thumbnail. Change unit conversion to use 
+       PrinterUnitConvert methods.
+       
+       Note: there is a huge bug in ms.net where the default margins are 
+       interpreted as centimeters (?), when in fact they are set in inches. When 
+       loading the page setup dialog initially (ms.net), the default margins 
+       are set to 1 inch, and the dialog shows them with value 10, when in fact 
+       it should be 25 (properly converted). Our dialog doesn't have this bug.
+       
+       * Theme.cs, ThemeWin32Classic.cs: Add a CPDrawBorder override for 
+       RectangleF.
+       * ControlPaint.cs: Add a DrawBorder internal method for RectangleF.
+
+2007-05-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs: Implement 2.0 ToolTipText support for listview
+       items.
+
+2007-05-28  Andreia Gaita  <avidigal@novell.com>
+
+       * X11Dnd.cs: A direct cast to VirtualKeys is not allowed from
+       an IntPtr on csc (it builds fine on mcs, could it be a compiler
+       bug?), convert the ptr to Int32 first.
+
+2007-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Add a timer, so after drop, if a finish is not
+       recieved, we will exit the dnd tracking loop.
+
+2007-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Keep tracking until the xdnd finished event is
+       recieved. TODO: I should probably stick a timer on the dropped
+       event, and finish the drag if the XDND Finished event never shows
+       (because some apps don't seem to send it).
+
+2007-05-28  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ToolBar.cs: Fix toolbar default width for button with image. Fixes
+       #81733.
+
+2007-05-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MonthCalendar.cs: Only mark the keypresses we actually handle as
+         handled.
+
+2007-05-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MonthCalendar.cs: Set the size after initializing all the relevant
+         variables. Fixes #81742.
+
+2007-05-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * KeyEventArgs.cs: Fix typo.
+
+2007-05-28  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DateTimePicker.cs: Changed exceptions thrown by MinDate and MaxDate
+       to match MS. Fixed MinDate to only accept value less than or equal
+       to MaxDate on 2.0 profile and less than MaxDate on 1.0 profile.
+       Removed TODO's that are now verified by unit tests.
+
+2007-05-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeNodeCollection.cs: Minor corrections to exceptions to match
+       MS.
+
+2007-05-25  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Rework to make StartDrag a blocking call that runs
+       it's own message loop.
+       * XplatUIX11.cs: Remove some of the dnd hooks
+
+2007-05-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * XplatUIX11.cs: Change MinimumWindowSize to {Width=0,Height=0}
+       instead of MinimizedWindowSize.
+
+2007-05-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Raise textchanged when cutting and pasting text.
+
+2007-05-25  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * KeyEventArgs.cs: Added SuppressKeyPress.
+       * Control.cs: Added support for SuppressKeyPress.
+
+2007-05-24  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Refactor code to fix regressions on #79950 and
+       problems with PieChart. suppress_validation should not be a counter,
+       if there are several BeginInit calls, the first EndInit will 
+       activate validation. Fix exceptions thrown by set_Value.
+       * UpDownBase.cs: ValidateText only if it's the user editing it.
+
+2007-05-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: FilterItemOnProperty should return the filtered
+       item proeprty even if DataSource is null. The same applies for
+       GetItemText. Fixes #80427.
+
+2007-05-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If a control doesn't have a parent when it's Dock is
+       set, but it has children, it needs to do a layout.  Fixes some nested
+       controls issues.  [Fixes bug #81199]
+
+2007-05-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: If there are few items in the drop down list, make it
+         the exact size the items need, no bigger. Fixes #81612.
+
+2007-05-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: When we have captured the keyboard for a menu,
+       check for mouse down events in case we need to close the menu.
+       * Control.cs, Form.cs: Remove mouse down checks for menus.
+
+2007-05-24  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Handle tabs in non multiline mode a little
+       differently.
+
+2007-05-24  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We need to manually break apart tabbed text and
+       move the tabs, since the system.drawing tabbing mechanism relies
+       on tab stops.
+       * TextBoxBase.cs: Move the caret properly when the user enters a
+       tab.
+
+2007-05-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Don't check CanSelect before calling
+       ProcessMnemonic.
+       * ToolStrip.cs: Only do implicit mnemonics on MenuStrips.  Don't
+       release a KeyboardActive on click if it's not ours.
+
+2007-05-23  Andreia Gaita  <avidigal@novell.com>
+
+       * ColumnHeader.cs: Add TypeConverter
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Implement LinkCollection.Add with Link parameter (2.0).
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabelLinkClickedEventArgs.cs, LinkLabel.cs: Implement Button property.
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Implement public Padding property.
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * LinkLabel.cs: Implement public FlatStyle.
+
+2007-05-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Apply patch from George to call parent.PerformLayout
+       when Visible is changed.  [Fixes bugs #81118, 81718]
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MainMenu.cs, MenuAPI.cs: Implement Collapse event for MainMenu (2.0).
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ContextMenu.cs: Implement ProcessCmdKey with control parameter.
+
+2007-05-23  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ContextMenu.cs: Implement Collapse.
+
+2007-05-23  Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+       * ToolBarButton.cs: Implement Name.
+
+2007-05-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ToolBar.cs: Fix OnButtonDropDown to save item used in dropdown instead of
+       use current_item, it prevents some NRE. Fixes #81675.  
+
+2007-05-22  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Fix PieChart by not returning from UpdateEditText
+       without updating the text.
+
+2007-05-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Plug a GDI leak caused by calling Font.ToHfont ()
+       without calling DeleteObject.  [Should fix bug #81709]
+
+2007-05-22  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Set the line endings correctly, when flushing
+       RTF text.
+
+2007-05-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * XplatUIX11.cs: MinimumWindowSize on X11 is actually
+        {Width=0,Height=0}.
+
+2007-05-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Setting top with a null node should set to the very
+       top.
+
+2007-05-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: ShowDialog: destroy the handle when message loop is
+         finished, matches MS behaviour. Refactor parts of WmClose into
+         RaiseCloseEvents, that only raises events if they haven't already
+         been raised. Fixes #81688 and #81521.
+       * Application.cs: Don't call close on the form when exiting a modal
+         loop, it will raise all the (Form)Closed/Closing events again if
+         WM_CLOSE has been sent earlier on, instead call RaiseCloseEvent,
+         which doesn'r raise any events it they have been raised before.
+
+2007-05-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Add OnPrint.
+       * ToolStrip.cs: Add GetChildAtPoint.
+       * ToolStripContainer.cs: Add OnRightToLeftChanged.
+       * ToolStripRenderer.cs: Make CreateMirrorImage internal.
+
+2007-05-22  Everaldo Canuto  <ecanuto@novell.com>
+
+       * MenuAPI.cs: Prevent context menu to be typed as MainMenu. Fixes #81509.  
+
+2007-05-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * InternalWindowManager.cs: ToolTipShow: Don't show tooltip if the form
+         isn't visible anymore. Fixes #81651.
+
+2007-05-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: WmShowWindow: Update children's z-order after setting
+         their parent. SetParent may show the window, thereby corrupting
+         z-order, since the window will be shown on top.
+       * XplatUIWin32.cs: SetParent: don't call SetVisible on forms. Prevents
+         multiple (and redundant) WM_SHOWWINDOW messages.
+       * MdiWindowManager.cs: RaiseDeactivate: only raise after an Activate
+         event has already been raised.
+       * Form.cs: Change is_changing_visible_state to a counter, since
+         SetVisibleCore can be called recursively. CreateHandle: when
+         creating mdi children, send (De)Activated events.
+       * MdiClient.cs: Update use of is_changing_visible_state.
+       * Application.cs: OnThreadException: Surround exception handling with
+         try/finally to ensure we always reset the error-handling state
+         before leaving.
+
+2007-05-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: DrawProgressBar: Avoid a DivideByZero exception
+         (#81704).
+
+2007-05-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Use Theme.ListViewHorizontalSpacing for List and
+       SmallIcon views, now that we have a standarized horizontal spacing.
+
+       * ThemeWin32Classic.cs: ListViewHorizontalSpacing now has a value of
+       4, just like the other views (Match .Net).
+
+2007-05-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Delay calculating anchor distances until we actually layout.
+       Always query the WM for the actual size and location it put us at instead of
+       only when we send negative values.
+       [Fixes bugs #81694, 81695]
+
+2007-05-21  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Application.cs: Avoid a possible stack overflow when trying to exit
+         the application.
+
+2007-05-19  Marek Safar  <marek.safar@gmail.com>
+
+       * Theme.cs (GetHatchBrush): A key uses internal value instead of formated
+       enum value.
+
+2007-05-19  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Added 2.0 methods (spin acceleration)
+       * NumericUpDownAcceleration.cs, 
+         NumericUpDownAccelerationCollection.cs: Added 2.0
+         implementation.
+
+2007-05-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * RichTextBox.cs: Recalculate the document after the ScrollBars
+       property is changed. Fixes bug #81681.
+
+2007-05-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataObject.cs: Implement 2.0 methods.
+
+2007-05-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: Draw the check marks in ListViewItems
+       in the center of the checkbox, not in the left-top corner. 
+       Fixes #80037.
+
+2007-05-18  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Recalculate the document after the scrollbars
+       property is changed.
+       * TextBoxBase.cs: ScrollBars is not a flags enum...This fixes
+       81486.
+
+2007-05-18  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * CreateParams.cs: Make HasWindowManager marginally faster.
+       * XplatUIX11.cs, Hwnd.cs: CreateWindow: Move the default location code
+         into Hwnd so that other drivers can use it as well.
+       * XplatUIWin32.cs: CreateWindow: If the window has a window manager get
+         the default location from Hwnd. Fixes MDI client windows always
+         showing up at (0,0) in Windows (Win32 won't set the default
+         location since the window styles aren't correct).
+
+2007-05-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeView.cs: Modified DoubleBuffered to just use the base
+       implementation.
+
+2007-05-18  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Set the top node to the last child node when
+       expanding all
+       - When we get focus, if there is no selected node, use the top
+       node.
+
+2007-05-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * KeysConverter.cs: Add CanConvertTo.
+       * LinkLabel.cs: Add some 2.0 constructors and properties to LinkLabel.Link.
+       * LinkConverter.cs: Added.
+
+2007-05-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Cursor.cs: Apply Sebastien patch from #81669 to open file in read mode,
+       it prevents error when file dont have write access. Fixes #81669 and #81667.  
+
+2007-05-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Check for ShowKeyboardCues true when draw toolbar 
+       button text. Fixes #79640.  
+
+2007-05-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: According to MSDN controls created in the designer theres 
+       keyboard accelerators visible by default. So included check for design
+       in ShowKeyboardCuesInternal.  
+
+2007-05-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * ThemeWin32Classic.cs: Check for ShowKeyboardCues true when draw combobox 
+       text. Fixes #81621.  
+
+2007-05-18  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: ShowKeyboardCuesInternal add to expose ShowKeyboardCues
+       for 1.0, becuse ShowKeyboardCues is protected on 1.0.  
+
+2007-05-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: Finish implementation of UI State using WmChangeUIState
+       to send WM_UPDATEUISTATE to all child controls. Some hack will be needed
+       in some controls to check for show_keyboard_cues to draw accell keys "_".  
+
+2007-05-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When calculating the horizontal scrollbar
+       in single column mode, don't use values less than 0 for
+       Maximum. Fixes #81474.
+
+2007-05-17  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Throw the some missing exceptions in
+       ListBox.ObjectCollection methods.
+
+2007-05-17  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Recalculate the document when the word wrap
+       value has changed. This fixes 81488.
+
+2007-05-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Clipboard.cs: Implement missing GetText overload.
+
+2007-05-17  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (CheckDataBindings): remove the binding_context arg
+       to binding.Check.
+
+       * CurrencyManager.cs (OnItemChanged): fix this now that
+       BindingManagerBase is fixed. also remove the comment telling where
+       the fix should go.  We set transfering_data to true/false around
+       the call to PushData to keep UpdateIsBinding from being called.
+       (ListChangedHandler): remove the extra OnMetaDataChanged call for
+       PropertyDescriptorAdded in the 1.1 case.  The extra call is
+       actually generated by System.Data generating 2 metadata changed
+       events of its own per column add.  The fix should go there.  Add a
+       comment to that affect in our test's Assert.Ignore.
+
+       * BindingManagerBase.cs: Rework PullData and PushData slightly.
+       we keep a boolean flag (transfering_data) that keeps us from
+       calling UpdateIsBinding multiple times if we re-enter either of
+       them.
+
+       * ControlBindingsCollection.cs (AddCore): remove the
+       binding_context arg to binding.Check.
+
+       * Binding.cs (IsBinding): don't check if we're binding here, just
+       return our cached value.  we update it in UpdateIsBinding.
+       (Check): don't take the binding_context arg, we'll just use our
+       control's.  Also, for some reason MS doesn't use the data member
+       field when getting the bindingmanager for this binding.  it just
+       uses the datasource.  Make this method callable multiple times,
+       and only do the is_null_desc stuff if manager.Position != -1 (so
+       we don't get an exception accessing manager.Current).
+       (UpdateIsBinding): move the code from IsBinding here.
+       (PositionChangedHandler): call Check here to we can initialize
+       things that require a non- -1 position.
+
+2007-05-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Form.cs: When alt keys is pressed send WM_CHANGEUISTATE to top level
+       control.
+
+2007-05-17  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Add 2.0 methods and events, including
+       OnEnter / OnLeave and raises it for tabpages (fixes #79869)
+       * TabPage.cs: Add 2.0 methods
+
+2007-05-17  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: Implement WmUpdateUIState, show_focus_cues and
+       keyboard_cues is properly handled by message method.  
+
+2007-05-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeViewImageIndexConverter.cs: Add 2.0 methods.
+
+2007-05-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripTextBox.cs: Wire up new 2.0 Textbox methods/properties.
+
+2007-05-16  Everaldo Canuto  <ecanuto@novell.com>
+
+       * Control.cs: 
+       - WmUpdateUIState added to handle state changes, it make call to
+       OnChangeUICues event.
+       - Fixed ShowKeyboardCues to check for MenuAccessKeysUnderlined in
+       SystemInformation.
+
+2007-05-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ImageKeyConverter.cs: Added.
+       * TreeViewImageKeyConverter.cs: Added.
+
+2007-05-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+       
+       * ToolTips.cs: Update Text if SetToolTip is called for a control
+       already showing the tooltip, as well as restarting its timer; show
+       tooltip if we are inside the control bounds by the time of calling
+       SetToolTip. Inside ShowTooltip remove the check to not show the 
+       tooltip again for the active control (it is allowed by .Net to 
+       show the tooltip on the same control multiple times).
+
+2007-05-16  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MaskedTextBox.cs: Small fix for Text that fixes a broken test.
+
+2007-05-16  Andreia Gaita <avidigal@novell.com> 
+
+       * ContainerControl.cs: only process tab key if there are no 
+       modifier keys present, otherwise the control does the 
+       tab processing, if it needs to. Fixes #81622
+       * TabControl.cs: Fixes calculation for which tab to select on
+       shift+ctrl+tab.
+
+2007-05-16  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MaskedTextBox.cs: Small fix for Text that fixes a broken test.
+
+2007-05-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make IsInputCharInternal to allow controls to
+       override it and still match MS API.
+       * TextBoxBase.cs: Override IsInputCharInternal and always
+       return true.
+       [Fixes bug #81616]
+
+2007-05-15  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Disable some of the menu options when using a
+       readonly textbox.
+
+2007-05-15  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs:
+       * TextBoxBase.cs:
+       * RichTextBox.cs: Some new 2.0 methods
+
+2007-05-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: On 1.0 profile, do not support multidotted 
+       extensions.
+
+2007-05-14  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Implement some of the new 2.0 methods.
+       * RichTextBox.cs: We need to override these methods on 2.0.
+       * MaskedTextBox.cs: These are implemented now
+       * TextControl.cs: This was off by one.
+
+2007-05-14  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Because the line endings are including in the
+       text, we don't need to add them in anymore.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fix autosize and get it working only after hadle is created,
+       also prevent redraw in set_autosize if handle is not created. Fixes #81523.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Adjust size to default size when button theres no text and
+       image, it fixes remaining issues from #81524.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: 
+       - When not flat call redraw to recalculate sizes on creare handle to match
+       win32 behavior.
+       - Revert 77220 because it causes some regressions in toobar
+       button.
+
+2007-05-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MaskedTextBox.cs: Update the base text whenever the text changes. MTB
+         now actually enters a usable state.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Check for handle created in redraw to prevent unneeded size
+       calculations, it reduces the size cauculation from 7 to 3 on a toolbar with
+       3 buttons.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Save default_size on create handle to use later for buttons
+       without text, needed to mimic win32 behavior.
+
+2007-05-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fix button layour to best fit width or height according to
+       vertical or not. Fixes #81524.
+
+2007-05-10  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBarButton.cs: When change style call ToolBar.Redraw to update
+       toolbar size info because different styles theres different sizes.
+       Fixes #81522.
+
+2007-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWinClassic.cs: For .Net 2.0 don't draw any image
+       if we are using checkboxes, checked is true, and we have less
+       than two images in StateImageList; for the 1.1 in the same scenario
+       draw the first image if we have at least one image in StateImageList.
+       Fixes part of #81191.
+
+2007-05-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripManager.cs: We need to remove items from
+       the owner's Items collection on merge.
+
+2007-05-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Use new internal ToolStripItemCollection constructor.
+       * ToolStripItemCollection.cs: Lots of fixes to when events get called
+       and parent/owner gets changed based on gert's unit tests.
+
+2007-05-10  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MaskedTextBox.cs: Started implementing parts of it.
+
+2007-05-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When clicking the checkbox on the items
+       take into account the double clicks even if we have only
+       one image in StateImageList (only for 1.0/1.1). Also 
+       generate an extra change of checked state when we receive
+       the second click on checkbox (match .Net behaviour). 
+       Fixes part of #81191.
+
+2007-05-10  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Fix text rectangles in Tooltips.
+
+2007-05-10  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Move some of OnLoad to OnLoadInternal so it gets called
+       even if OnLoad is overriden and base.OnLoad is not called.
+       [Fixes bug #81582]
+
+2007-05-10  Andreia Gaita  <avidigal@novell.com>
+
+       * TableLayoutSettings.cs: A big doh! fix and bowing down of head in 
+       shame. (I blame my ever-persisting and annoying cold)
+
+2007-05-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView.cs: Don't eat navigation keys.  Let them flow through to
+       KeyDown/KeyPress routines.  [Fixes bug #81569]
+
+2007-05-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView.cs: When handling keys for selecting the item based off
+       keyboard input, do not consider keys pressed with Alt or Control.  Also,
+       correctly handle keys when the Shift key is down. [Fixes bug #81578]
+
+2007-05-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: When using UseWaitCursor, we have to store the requested
+       Cursor to use when UseWaitCursor is turned off.
+
+2007-05-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement PreProcessControlMessage.  Default IsInputChar
+       to false.
+       * Application.cs: Use PreProcessControlMessage instead of
+       PreProcessMessage.
+       * PreProcessControlMessage.cs: Make internal for 1.1.
+
+2007-05-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: Add InternalContains focus property, which hast the same
+       functionality of ContainsFocus, but also including implicit controls.
+       * ListViewItem.cs: Use InternalContainsFocus instead of ContainsFocus,
+       since we need to know if the focus is contained in our implicit
+       ItemControl when calculating Layout. Fixes part of #80888.
+
+2007-05-08  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolTip.cs: Remove center form string alignment as it must be align to
+       left.
+
+2007-05-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItemCollection.cs: Set the new item's parent and owner
+       in Insert like we do in Add.  [Fixes bug #81568]
+
+2007-05-08  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: GotFocus differences between 1.1 and 2.0.
+       - Off by one error in SetTop
+       - Disable DoubeBuffering
+       
+2007-05-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ScrollableControl.cs: ScrollIControlntoView: we now only move the
+         control as much as necessary in order to make it entirely visible,
+         instead of centering the control in the container (matches MS
+         behaviour). CalculateCanvasSize: we need to take the current scroll
+         position into account when calculating the maximum canvas,
+         otherwise the following scenario will fail: resize so that the
+         scrollbars appear, use the scrollbars to scroll, resize again
+         smaller, and now the canvas size is too small. Recalculate: when
+         showing scrollbars make sure they start off at 0, and try to scroll
+         the active control into view. Fixes #79540. HandleScrollBar: don't
+         scroll anywhere if the scrollbar isn't visible.
+
+2007-05-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: When focus changed, call Layout/Invalidate
+       in the focused item to update the selected state (should show
+       entire label when ListView is focused, and a part of it if is not).
+       * ListViewItem.cs: When doing layout for LargeIcon, take into account
+       for displaying the entire label not only the Focused state of the
+       item, but also the Focused state of the ListView (match .Net
+       behaviour).
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Stub CanRaiseEvents, IsMirrored, and NotifyClients.
+       Implement UseWaitCursor. 
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+       Applying contributed patch from Sergey Volk.
+
+       * Clipboard.cs: Implement SetDataObject retry logic and new overload
+       of SetDataObject.
+       * XplatUIWin32.cs: Throw an ExternalException if the clipboard set fails.
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement DrawToBitmap.
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+       Applying contributed patch from Stefan Noack.
+       
+       * Control.cs: Add [Get|Set]AutoSizeMode.
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MdiClient.cs: Unmerge menus when the last child is closed.
+
+2007-05-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Do not call BeginMerge on DropDowns.
+       * ToolStripManager.cs: Call Merge on DropDowns.
+       [Fixes bug #81477]
+
+2007-05-07  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIWin32.cs: Changed Win32CreateWindow to take enums instead of
+         uints.
+       * Form.cs: CreateParams: don't set WS_VISIBLE if we're changing
+         visibility. We can't create forms visible, since we have to set the
+         owner before making the form visible (otherwise Win32 will do
+         strange things with task bar icons). The problem is that we set the
+         internal is_visible to true before creating the control, so
+         is_changing_visible_state is the only way of determining if we're
+         in the process of creating the form due to setting Visible=true -
+         this works because SetVisibleCore explicitly makes the form
+         visibile afterwards anyways. Fixes #80775.
+
+2007-05-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: When drawing ListViewItems,
+       use StringTrimming.EllipsisCharacter if the view is Tile, Details,
+       or LargeIcon _and_ item is not focused (match .Net behaviour).
+
+2007-05-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, Form.cs: Fix some obsolete method warnings.
+
+2007-05-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement GetChildAtPoint and OnParentCursorChanged.
+       * GetChildAtPointSkip.cs: Make internal for 1.1 profile.
+
+2007-05-04  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Fix active_control attribution when going
+       up the parent chain so that the first parent container gets the control
+       and the rest of the parent containers get the child containers (skips
+       non-containers). Fixes #80729
+
+2007-05-04  Randolph Chung  <tausq@debian.org>
+
+       * FileDialog.cs: Implement the SupportMultiDottedExtensions property.
+       [Fixes bug #81499]
+
+2007-05-04  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Add a TranslateWindowSizeToXWindowSize overload that
+         takes a size parameter, since the CreateParam's size isn't true for
+         minimized forms. Fixes #81518,
+
+2007-05-04  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Add OnDeactivateInternal.
+       * MdiClient.cs: Raise Deactivate event. Fixes #81409.
+
+2007-05-04  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: CalculateDropDownLocation: do a null check before
+         accessing the parent. Fixes #81508.
+
+2007-05-03  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs (CurrencyManager.ListChangeHandler): in the
+       2.0 block, pass listposition + 1 to ChangeRecordState when a row
+       was added before the current listposition.  Fixes the
+       TestInsertRowBeforeCurrent unit test.
+
+2007-05-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Add RaiseIdle.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
+       XplatUIX11.cs: Implement RaiseIdle.
+
+2007-05-02  Jonathan Pobst  <monkey@jpobst.com>
+       corcompare work: N - Z
+       * NotifyIcon.cs
+       * ProgressBar.cs
+       * RadionButton.cs
+       * ScrollableControl.cs
+       * SplitContainer.cs
+       * SplitterPanel.cs
+       * StatusBar.cs
+       * SystemInformation.cs
+       * TabControl.cs
+       * TableLayoutControlCollection.cs
+       * TableLayoutPanel.cs
+       * TabPage.cs
+       * ToolBar.cs
+       * ToolBarButton.cs
+       * ToolStrip.cs
+       * ToolStripComboBox.cs
+       * ToolStripContainer.cs
+       * ToolStripContentPanel.cs
+       * ToolStripDropDown.cs
+       * ToolStripDropDownItem.cs
+       * ToolStripDropDownMenu.cs
+       * ToolStripItem.cs
+       * ToolStripItemCollection.cs
+       * ToolStripMenuItem.cs
+       * ToolStripPanel.cs
+       * ToolStripSplitButton.cs
+       * ToolTip.cs
        * TreeNode.cs
        * TreeNodeCollection.cs
-       * win32enums.cs
-       * win32functions.cs : more implementation added
-
-2003-08-03 Alexandre Pigolkine <pigolkine@gmx.de>
-       * CheckBox.cs                   12x12 checkmark dimensions for a moment
-       * ControlPaint.cs               DrawRadioButton implemented
-       * RadioButton.cs                painting is in OnPaint
-
-2003-08-02 Alexandre Pigolkine <pigolkine@gmx.de>
-       * CheckBox.cs                   painting in OnPaint implemented
-       * CheckedListBox.cs             changes to painting code
-       * Button.cs                             code cleanup
-       * Control.cs                    call to subclassed control can be controlled by mask
-       * Message.cs                    helper properties
-       * win32Enums.cs                 new values
-
-2003-08-01 Alexandre Pigolkine <pigolkine@gmx.de>
-       * ControlPaint.cs               DrawStringDisabled changed
-       * Label.cs                              painting moved inside OnPaint function
-       * Button.cs                             disposing Graphics in OnPaint
-       * win32functions.cs             StringFormat2DrawTextFormat added
-
-2003-07-31 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Control.cs : do not keep oldBounds if LAYOUT_SUSPENDED is true, 
-                                       call OnMouseDown/Up functions
+       * TreeNodeMouseHoverEventArgs.cs
+       * TreeView.cs
+
+2007-05-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * ContextMenu.cs: Add public method Show with alignment property to 2.0
+       stuff. Thanks aatdark for the patch. 
+
+2007-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * GridItem.cs: Implement 2.0 Tag property.
+
+2007-05-01  Frederik Carlier <frederik.carlier@carlier-online.be> 
+
+       * TreeNodeCollection.cs: Fix ContainsKey and IndexOfKey methods to use
+       count instead of Nodes.Length.  [Fixes bug #81448]
+
+2007-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Fix paramName sent to ArgumentOutOfRangeException's.
+       [Fixes bug #81506]
+
+2007-05-01  Jonathan Pobst  <monkey@jpobst.com>
+       corcompare work: A - M
+       * BindingNavigator.cs
        * Button.cs
-       * ButtonBase.cs         painting moved inside OnPaint function
-       * NativeWindow.cs       (commented) debug output added
+       * ButtonBase.cs
+       * CheckBox.cs
+       * Control.cs
+       * FlowLayoutPanel.cs
+       * Form.cs
+       * Label.cs
+       * LinkLabel.cs
+       * ListView.cs
+
+2007-05-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Give toolstrips a chance to process mnemonics.
+       * ToolStrip.cs, ToolStripDropDownButton.cs, ToolStripItem.cs,
+       ToolStripItemTextRenderEventArgs.cs, ToolStripLabel.cs,
+       ToolStripMenuItem.cs, ToolStripSplitButton.cs: Implement keyboard mnemonics.
+
+2007-05-01  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Better preferred height, FixedSingle gets the
+       wider area too.
+       - Don't set the BoundsSpecified
+
+2007-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: When using the toolstrip shortcut mechanism, allow the
+       message to pass through to a regular control if it hosted by a toolstrip.
+       * ToolStrip.cs, ToolStripControlHost.cs, ToolStripDropDown.cs,
+       ToolStripManager.cs: Enable keyboard navigation for ToolStrips.
+
+2007-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Use the flags argument when using the MeasureString
+       fallback algorithm.
+
+2007-04-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuStrip.cs: Don't let multiple ToolStripSeparators get added to
+       the MDI menu item.  [Fixes bug #81483]
+
+2007-04-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridViewColumn.cs: Initialize value of headercell to zero-length
+       string. When setting Name to null, use zero-length string instead.
+
+2007-04-29  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Implement missing 2.0 methods (SelectTab, 
+       DeselectTab). Implement missing 2.0 TabPageCollection methods
+       (Add, ContainsKey, RemoveByKey, IndexOfKey)
+
+2007-04-29  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridViewColumn.cs: Make HeaderText take preference over Name.
+
+2007-04-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * RichTextBox.cs: In LoadFile, use StreamReader to read plain text.
+       Fixes bug #81479. Include details of exception when LoadFile fails.
+
+2007-04-28  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * DrawListViewSubItemEventArgs.cs: Added missing setter
+
+2007-04-27  Andreia Gaita  <avidigal@novell.com>
+
+       * ToolTip.cs: Add missing 2.0 properties. Implement 2.0 Show and 
+       Hide methods (not complete). Implement missing 2.0 OnPopup event.
+
+2007-04-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.OnMouseDown restore a pair of braces I
+       removed in ly last commit (it was breaking the Label edit feature).
+
+       * ThemeWin32Classic.cs: When drawing a ListViewItem use
+       StringAlignment.Near for LineAlignment (match .Net).
+
+2007-04-27  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Change SetTab so it adds the tabpage to the list
+       of controls if it isn't already there - was blowing up when doing
+       tabcontrol.TabPages[i]=new TabPage(). 
+       SetTab now does a replace by removing the page at the index. 
+       Add a new InsertTab method that inserts a page in a given index 
+       instead of replacing. 
+       Implements TabPageCollection.Insert(int, TabPage).
+
+2007-04-27  Chris Toshok  <toshok@ximian.com>
+
+       * BindingManagerBase.cs: fill in CurrentItemChanged (and have an
+       internal handler that can be invoked from our subclasses.)  Also,
+       add a comment to PushData about how we need to fix it.
+
+       * CurrencyManager.cs: tons of changes here.  trying to get things
+       matching the behavior of .net wrt event orders (ItemChanged,
+       CurrentChanged, PositionChanged.)  I've implemented a private .net
+       symbol (ChangeRecordState) that appears in stack traces because
+       it's actually easier to do this than to effective inline all its
+       various behaviors at every call site.
+
+       * RelatedPropertyManager.cs: guard against an exception here by
+       not using parent.Current if the position is set to -1 (if the
+       parent datasource is cleared, for instance).
+
+       * Binding.cs: don't parse data in PushData (this might be wrong,
+       but it jives with MS's behavior.)  Also, don't call PushData when
+       we get a CurrentChanged event.
+
+2007-04-27  Andreia Gaita  <avidigal@novell.com>
+
+       * WebBrowser.cs,
+         WebBrowserBase.cs,
+         WebBrowserSiteBase.cs,
+         HtmlDocument.cs: Added stubbed out classes, no real implementations 
+         yet.
+
+2007-04-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * MainMenu.cs: In draw method without parameters call draw method with 
+       PaintEvent, another one (just rect) adjust rectangle and we dont need it
+       as Rect property is already adjusted. Fixes #80694.
+
+2007-04-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Need to handle keyboard menu deselection here.
+       * Control.cs: Use WM_SYSKEYUP instead of WM_SYSCOMMAND to start menu keyboard
+       navigation, allowing keyboard to work on X11.
+       * ToolStrip.cs: Don't worry about handling the Menu key here anymore.
+
+2007-04-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: When deactivate menu verify if hotkey (_) is active and redraw
+       menu bar. It fixes some drawing issues in menu bar.
+
+2007-04-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Remove unneeded "keynav_state = KeyNavState.Idle" before 
+       Deactivate calls, Deactivate method already do it. Also ser ActiveTracker
+       when <alt> key is pressed.
+
+2007-04-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs: Simplify SystrayRemove to be like other libraries,     Gtk as 
+       example just set visible to false and make this prevent from other problems.
+       In SystrayAdd always remove pending expose. Fixes #81072.
+
+2007-04-26  Marek Safar  <marek.safar@gmail.com>
+
+       * TextBoxBase.cs (CaretMoved): Consider scroll maximum when scroll
+       value is set.
+
+2007-04-26  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * ListView.cs: Added three missing 2.0 events and corresponding
+       EventHandlers. Added the OwnerDraw property.
+       * DrawListViewColumnHeaderEventHandler.cs: fixed typo
+
+2007-04-26  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * DrawListViewItemEventArgs.cs
+       * DrawListViewSubItemEventArgs.cs: Brought classes up to 2.0 status.
+
+2007-04-26  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * TextControl.cs: Fixed typo in constructor
+
+2007-04-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Application.cs: Create a shortcut path so that currently selected
+       MenuStrips can intercept keyboard events without having focus.
+       * Control.cs: Handle WM_SYSCOMMAND message to activate MenuStrips.
+       * MenuStrip.cs, ToolStrip.cs, ToolStripDropDown.cs, ToolStripDropDownItem.cs,
+       ToolStripItem.cs, ToolStripManager.cs, ToolStripMenuItem.cs: Support
+       keyboard navigation (arrows, tab, enter, esc) on Windows.  Still need to
+       generate WM_SYSCOMMAND message in X11 for other platforms.
+       * ToolStripProfessionalRenderer.cs: ToolStripMenuItems need to be painted
+       in OnRenderMenuItemBackground instead of OnRenderButtonBackground.
+       * ToolStripSplitButton.cs: Add DefaultItem property.
+       
+2007-04-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * MainMenu.cs: In OnMenuChanged pass PaintEventArgs to Draw method, it
+       fixes some menu draw problem on Windows with border diferent from default
+       it also fixes #81403.
+
+2007-04-26  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Refactor WndProc into separate methods, just like Control is
+         doing it.
+
+2007-04-26  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: set_Text: move the call to the driver into a seperate
+         virtual method so that Form can override it.
+       * MaskedTextBox.cs: Corcompare fixes.
+       * Form.cs: Override UpdateWindowText and only update the styles if the
+         form has been shown (fixes #81405).
+
+2007-04-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, Form.cs: Use the better supported WM_?BUTTONDOWN and
+       WM_ACTIVATE messages instead of WM_MOUSEACTIVATE and
+       WM_ACTIVATEAPP.  This fixes menus not disappearing on X11 when
+       the form lost focus or another control was clicked.
+
+2007-04-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGrid.cs: Uncomment MakeTransparent calls since bug #80151 is
+       fixed.
+
+2007-04-25  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DrawListViewColumnHeaderEventHandler.cs, DrawToolTipEventArgs.cs,
+         DrawListViewItemEventHandler.cs,
+         DrawListViewSubItemEventHandler.cs, DrawToolTipEventHandler.cs:
+         Added.
+       * X11Structs.cs: More ToString implementation.
+
+2007-04-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Don't lazy create a DropDown in Dispose.
+       * ToolStripOverflowButton.cs: Don't lazy create a DropDown in HasDropDownItems.
+
+2007-04-25  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Only raise OnVisibleChanged if we're not recreating the
+         handle.
+       * FormCollection.cs: Don't add a form if it's already in the
+         collection.
+       * Form.cs: Change ShowDialog () to call ShowDialog (owner) with a null
+         according to behaviour and MSDN. The ownerWin32 is the active
+         window at the moment when we call ShowDialog, not the context's
+         main form (the context's main form may open another form that opens
+         a form with ShowDialog, the win32 owner is the second form). Add
+         and remove forms to the Application.OpenForms in other places to
+         better match MS behaviour. Add an IsActive property that raises
+         On(de)Activated only if the active state has changed (we were
+         raising OnDeactivated before OnActivated while creating forms).
+       * Application.cs: Refactor Enabling/Disabling of windows for modal
+         dialog loops out to separate methods, and restore the thread
+         context when we quit the method. Fixes #81407.
+
+2007-04-25  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.HandleClicks, also fire 
+       2.0 MouseClick or MouseDoubleClick events on the parent,
+       not only the Click/DoubleClick events.
+
+2007-04-24  Andreia Gaita  <avidigal@novell.com>
+
+       * TableLayoutSettings.cs: 
+       - Added a GetControls method and a support structure to help the 
+       TypeConverter to enumerate the controls for     serialization. 
+       - Added a new serialization constructor. 
+       - Added a isSerialized flag initialized to true on the 
+       serialization constructor so that the TableLayoutPanel.LayoutSettings 
+       setter does not throw the designed NotSupportedOperation exception
+       when the object is built through deserialization.
+       - Implemented GetObjectData
+       
+       * TableLayoutPanel.cs: Added check on LayoutSettings.
+
+2007-04-24  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Report Click and DoubleClick events to the parent
+       from ItemsMouseUp, instead of ItemsMouseDown. This prevents us
+       from breaking the click count state when using dialog forms (Control
+       reports the clicks in a similar fashion). In the previous behaviour
+       the last WM_LBUTTONUP message in a  double click was sent to the
+       ListView's form, instead of the ListView, which was breaking the click
+       count for it. Fixes #80387.
+
+2007-04-24  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * BindingNavigator.cs : fixed bugs revealed by new nunit tests
+
+2007-04-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Lazy initialize the DropDown.  This prevents
+       us from created dropdowns for menu items that do not have subitems.
+       * ToolStripItem.cs, ToolStripProfessionalRenderer.cs, ToolStripSplitButton.cs:
+       Check HasDropDownItems before calling DropDown so a dropdown will not be
+       created if it isn't needed.
+
+2007-04-24  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Set the first node to the selected node when we get
+       focus if there is no selected node.
+
+2007-04-24  Andreia Gaita  <avidigal@novell.com>
+
+       * MimeIcon.cs: remove using blocks so that image streams are
+       not disposed of. Fixes #80151
+
+2007-04-24  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Fixup the height of textboxes when the control
+       is created.
+
+2007-04-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Fully implement GetNextItem.  Call OnParentRightToLeftChanged
+       for each ToolStripItem when the parent's RightToLeftChanged is called.
+
+2007-04-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: Forward ContextMenu to the underlying textbox, if any.
+         Fixes #80163.
+       * Control.cs: Replace GetContextMenuInternal() with ContextMenuInternal
+         property, so that the setter can be overriden too.
+       * TextBox.cs: Change GetContextMenuInternal() to use
+         ContextMenuInternal.
+
+2007-04-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: Use a black pen to draw checkboxes, fixes
+         #81406.
+
+2007-04-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: Use a black pen to draw checkboxes, fixes
+         #81406.
+
+2007-04-24  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MaskedTextBox.cs: Commit this so nobody else starts working on it and
+         avoid duplicate work. Mostily skeleton code, it's not working at
+         all yet.
+
+2007-04-20  Leszek Ciesielski <skolima@gmail.com>
+
+       * NotifyIcon.cs : stub for MouseClick event
+       * Application.cs: stub for SetUnhandledExceptionMode
+
+2007-04-24  Alan McGovern <alan.mcgovern@gmail.com>
+
+       * BindingNavigator.cs : Initial (partial) implementation
+
+2007-04-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Do not create the treeview's handle when setting
+       the scroll position.
+       - ExpandAll needs to compute the scrollbars so it knows which
+       position to set the bar too.
+       * TreeNode.cs: 
+       * TreeNodeCollection.cs: Pass new flag to UpdateScrollBars
+
+2007-04-23  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Non multiline textboxes shouldn't take the enter
+       key. Fixes #81408.
+
+2007-04-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Make GetImageSize internal.
+       * ToolStripMenuItem.cs: Use GetImageSize to determine the size we
+       need to draw an item.  Fixes a reported issue where images on menus
+       that were not 16x16 were drawing incorrectly.
+
+2007-04-21  Miguel de Icaza  <miguel@novell.com>
+
+       * Padding.cs: Use the converter, fixes the resgen2 issue with
+       XMLNotePad. 
+
+2007-04-21  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Dont try to unhighlight the selected node if there
+       isn't a selected node.
+
+2007-04-21  Jackson Harper  <jackson@ximian.com>
+
+       * UpDownBase.cs:
+       * TextBoxBase.cs:
+       * ListView.cs:
+       * ListBox.cs:
+       * TreeView.cs: Use the InternalBorderStyle property to set the
+       initial border style, this forces the client rectangle to be sized
+       correctly.
+
+2007-04-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Simplify scrolling to the last node after expanding
+       all.
+       - Fix some off by ones with setting the bottom.
+
+2007-04-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Use DefaultSize for Size, calculate ClientSize from
+       that.  We were incorrectly doing it the other way around.  Also,
+       update ClientSize if we change the BorderStyle before the control
+       is created.
+
+2007-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * XplatUI.cs: Added Border3DSize, BorderSize, CaptionButtonSize,
+       DoubleClickSize, DoubleClickTime and FixedFrameBorderSize. Renamed
+       XplatUIDriver.Caption to CaptionHeight. Spaces to tabs.
+       * XplatUIDriver.cs: Added Border3DSize, BorderSize, CaptionButtonSize,
+       DoubleClickSize, DoubleClickTime and FixedFrameBorderSize. Renamed
+       Caption to CaptionHeight.
+       * XplatUIX11.cs: Renamed Caption to CaptionHeight.
+       * Theme.cs: Modified Border3DSize, BorderSize, CaptionButtonSize
+       and FixedFrameBorderSize to return value from current XplatUI driver.
+       * XplatUIWin32.cs: Implemented Border3DSize, BorderSize,
+       CaptionButtonSize, DragFullWindows, DoubleClickSize, DoubleClickTime
+       and FixedFrameBorderSize using win32 API. Renamed Caption to
+       CaptionHeight.
+       * XplatUIOSX.cs: Renamed Caption to CaptionHeight.
+       * SystemInformation.cs: Fixed typo in BorderSize.
+
+2007-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * XplatUI.cs: Added MenuAccessKeysUnderlined.
+       * XplatUIDriver.cs: Added MenuAccessKeysUnderlined.
+       * XplatUIX11.cs: Implemented MenuAccessKeysUnderlined by always
+       returning false.
+       * Theme.cs: Modified MenuAccessKeysUnderlined to return corresponding
+       value from XplatUI driver.
+       * XplatUIWin32.cs: Implemented MenuAccessKeysUnderlined using
+       SystemParametersInfo.
+       * ThemeWin32Classic.cs: Remove obsolete MenuAccessKeysUnderlined
+       override.
+       * XplatUIOSX.cs: Implemented MenuAccessKeysUnderlind by always
+       returning false.
+
+2007-04-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs, Hwnd.cs: Remove warnings.
+
+2007-04-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MessageBox.cs, XplatUIX11.cs, Hwnd.cs: Remove warnings.
+
+2007-04-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: Fix a reported InvalidCastException when unmerging
+       MenuStrips that contain ToolStripSeparators.
+
+2007-04-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Add
+         DefineStdCursorBitmap.
+       * Cursor.cs: Add an internal constructor so that the Cursor knows if it
+         has been created off a standard cursor. This is used to get a
+         bitmap of the standard cursor when Draw or DrawStretched is called
+         in order to draw the cursor.
+       * X11Structs.cs: Added XcursorImage and XcursorImages.
+       * XplatUIX11.cs, XplatUIWin32.cs: Add and implement
+         DefineStdCursorBitmap.
+       * Cursors.cs: Update all relevant creations of Cursor to use the new
+         internal constructor.
+
+2007-04-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Move the has_been_focused into the base control, so
+       some of the text adding methods can manipulate it (probably time
+       for a better name for this flag too).
+       - Call a new version of selectall that doesn't scroll
+       * TextBoxBase.cs: When we append text, if the document is empty,
+       don't scroll.  If the document has text already, we scroll to the
+       end of the appended text.
+       - When the text is changed, we reset the has_been_focused, so the
+       next time the control gets focused, all the text is selected.
+
+2007-04-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Move the margins to the document, add a method
+       so the margin sizes can be updated.
+       * TextBoxBase.cs: When the border style is changed, update the
+       border sizes.
+
+2007-04-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Respect DefaultPadding.
+       * GroupBox.cs: Implement DefaultPadding, DisplayRectangle takes
+       padding into account.
+       * ToolStrip.cs: Remove setting padding to DefaultPadding in constructor.        
+
+2007-04-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Oops, we need to use the ClientRect not the
+       bounds here.
+
+2007-04-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.ItemsMouseDown, take into
+       account the double clicks when CheckBoxes are used and
+       the pointer is inside the checkbox. Fixes part of #81191.
+
+2007-04-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Pressing the end key shouldn't move the caret
+       past the line ending.
+       * TextBoxBase.cs: We can still delete if we are in the line
+       ending and the combine will just kill the existing line ending.
+
+2007-04-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We can't move lines, then invalidate their
+       bounds, we need to get the old bounds and combine that with the
+       new bounds.
+       * TextBoxBase.cs: Before combining two lines for a delete, we need
+       to invalidate the area of the old line, since that will be moved
+       in the combine operation.
+
+2007-04-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * LinkLabel.cs: In OnPaint invoke draw background to fix problems
+       with transparent background. Fixes #80482.
+
+2007-04-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PictureBox.cs: Refresh on resize when SizeMode = Zoom.
+       * ThemeWin32Classic.cs: Implement PictureBox.SizeMode = Zoom.
+       [Fixes bug #81391]
+
+2007-04-18  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * CreateParams.cs: Add a couple of helper methods and do a less string
+         concatenation in ToString.
+       * XplatUIX11.cs: Add an TranslateClientRectangleToXClientRectangle
+         overload that takes a Control parameter, since this method may be
+         called before a control is assigned to the hwnd (from
+         CreateWindow), and update CreateWindow to use the new overload. In
+         GetMenuOrigin subtract the title bar from the y position if the
+         form has a window manager (since we're painting it and not X).
+       * XplatUIWin32.cs: If we can get a form in GetMenuOrigin use the form's
+         CreateParams to calculate the origin (since border sizes may vary).
+         In ScreenToMenu only subtract the title height if we actually have
+         a title.
+       * MdiWindowManager.cs: Override MenuHeight to always return 0, since
+         mdi children never have menus of themselves.
+       * InternalWindowManager.cs: Implement menu handling like form does.
+         Added GetMenuOrigin to calculate the menu origin, can't use the
+         CreateParams from the form like normally since it's lying.
+       * Hwnd.cs: Implement GetBorderSize better (in the sense more
+         windows-like) and add Inflate and comparison operators to the
+         Borders type. When calculating MenuOrigin and it's a form with a
+         window manager, use the window manager to calculate it.
+
+2007-04-17  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (CreateControl): turns out in 2.0 we don't need this
+       OnBindingContextChanged thing here.  It's only generated from
+       ContainerControl.OnCreateControl.  Fixes a newly written unit test
+       - BindingTest.BindingContextChangedTest4.
+       
+2007-04-17  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: When setting values, make sure the current
+       position stays within the new values range.
+
+2007-04-17  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (CreateControl): talk about a bizarre corner case.
+       Don't emit OnBindingContextChanged here if we're a parentless
+       control (i.e. if we're a form.).  Fixes
+       BindingTest.BindingContextChangedTest2.
+
+2007-04-17  Everaldo Canuto  <everaldo@simios.org>
+
+       * ButtonBase.cs: Remove TextFormatFlags.WordBreak to mimic same behavior 
+       from win32. Fixes #81255.
+
+2007-04-17  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Remove text offset from DrawButtonText as it is
+       already present in CalculateButtonTextAndImageLayout.
+
+2007-04-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: When setting min/max size for a window we need to
+         translate the coordinates to x coordinates. Create an overload of
+         SetWindowMinMax that takes a CreateParams handling this, and change
+         SetWMStyles to call this function (can't use Control.FromHandle in
+         the SetWindowMinMax to get the control/CreateParams from the handle
+         because the handle might not have been assigned to the control
+         yet). Fixes #81371.
+
+2007-04-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: In ItemControl.ItemMouseDown, don't change check state
+       if StateImageList is non-null and it has less than two items (match MS
+       behaviour). Also, in HandleNavKeys handle the Space key, calling
+       the new ToggleItemsCheckState method, which tries to change the
+       checked state of the selected items. Fixes part of #81191.
+
+2007-04-16  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: namespace cleanup.
+
+2007-04-16  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIWin32.cs: Back last parameter to true in SetClipRegion.
+
+2007-04-16  Everaldo Canuto  <everaldo@simios.org>
+
+       [Fixes #79447]
+       * Control.cs: Call invalidate in set_Region.
+
+       * XplatUIX11.cs, XplatUIWin32.cs: Remove invalidate from SetClipRegion as
+       it dont works here.
+
+2007-04-16  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When enter is pressed, we need to update all
+       lines below the current.
+
+2007-04-16  Jonathan Pobst  <jpobst@monkey.com>
+
+       * MdiClient.cs: Implement implicit menu merging for MDI
+       children.  When a child form is active, if it has a menustrip
+       and the parent form has a MainMenuStrip, automatically merge
+       the menus.
+
+2007-04-15  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Refactored sizing methods to not repeat
+       code all over the place. Tab bounds are now calculated
+       as if alignment is top and single line, and only when 
+       setting the bounds are the positions adjusted according
+       to alignment. Replaced hardcoded positions, spacings and
+       paddings by getting the values the ThemeEngine. 
+       Fixes #79619.
+       
+       * Theme.cs: Change TabControl properties and methods so
+       that all start with TabControl*. Added more properties
+       to help remove hardcoded values on tabcontrol.
+       Add CPDrawBorder3D declaration so the Theming classes
+       can access it.
+       
+       * ThemeClearlooks.cs, ThemeNice.cs: Method signature changes from Theme.
+
+       * ThemeWin32Classic.cs: Rector TabControl out to the TabControlPainter
+       on the Theming namespace, and call the appropriate methods here.
+       Change CPDrawBorder3D to public.
+
+2007-04-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Control.cs: In WmRButtonUp, send the WM_CONTEXTMENU message to
+       the control after firing the OnMouseUp event, instead of sending
+       the message before the mentioned event. This is so we can match the
+       MS behaviour. Fixes part of #80385.
+
+2007-04-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Call the RightToLeftChanged event when setting the
+       RightToLeft property.
+
+2007-04-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Add properties and internal methods to support merging.
+       * ToolStripItem.cs: Add MergeAction and MergeIndex.
+       * ToolStripItemCollection.cs: Add Insert and Remove methods that do
+       not trigger reparenting or layouts.
+       * ToolStripManager.cs: Add Merge and RevertMerge methods.
+       * ToolStripOverflow.cs: Add a convenience method to find the ToolStrip that
+       is hosting the overflow menu.
+
+2007-04-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Set the line ending correctly for the first
+       inserted line.
+
+2007-04-13  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Theme.cs: Update GetMethod to get the new definition for 
+       KnownColors.Update (and fix theme color updates).
+
+2007-04-12  Everaldo Canuto  <everaldo@simios.org>
+
+       * MessageBox.cs: Fix some test and button position.
+
+2007-04-12  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Form.cs: Consider the implicit controls in
+       GetRealChildAtPoint. We need it since this method
+       is called on Form when handling the some messages in
+       WndProc, and need to consider those implicit ones too.
+       Fixes #80385.
+
+2007-04-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Display the ShortcutKeyDisplayString even
+       if there are no ShortcutKeys set.
+       * ToolStripProfessionalRenderer.cs: If an item has had its BackColor
+       set, use it when painting.
+
+2007-04-12  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Fix some off-by-one issues in line duplication
+       and insertion in the undo manager. Also, overwrite the first tag
+       of a line on insert, if it is just a zero lengthed tag. This
+       prevents us from getting an extra stranded tag at the beginning of
+       the first line.
+
+2007-04-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * Label.cs: Remove check for handle created in CalcAutoSize, we need 
+       to calculated proper size including when handle was not created yet.
+
+2007-04-11  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MdiWindowManager.cs: When moving a form, allow the form to be moved
+         when the mouse is outside of it's parent's client rectangle. Fixes
+         #79982 (take 3, part 2).
+
+2007-04-10  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * X11Structs.cs: Add a few ToString() overrides.
+       * XplatUIX11.cs: Added GetTopLevelWindowLocation to try to calculate
+         the window location in a window-manager independent way. Reworked
+         FrameExtents, it now actually works. Reworked AddConfigureNotify
+         and ReparentNotify handling to use GetTopLevelWindowLocation
+         instead of the earlier, more hacky solution. Reworked SetWMStyles,
+         hopefully for the better: we now set _NET_WM_WINDOW_TYPE* for all
+         windows, DIALOG for modal windows, UTILITY for toolboxes and NORMAL
+         for all other windows (fixes #81281 part 1), a toolwindow is hidden
+         from the taskbar if it has a parent (fixes #81281 part 2 for kwin),
+         and generally refactored to do as few calculations as possible
+         inside the lock.
+
+2007-04-09  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Theme.cs: Change "reflective-contract" between MWF and SD to 
+       minimize # of calls, avoid Color serialization and avoid updating 
+       every "known colors" each time a single one is updated.
+
+2007-04-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridTextBoxColumn.cs: Only set IsInEditOrNavigateMode to false
+       when not readonly and the text is explicitly set. Code style updates.
+       * DataGridTableStyle.cs: Removed extra line.
+       * DataGrid.cs: Code style updates. Removed extra whitespace.
+       * DataGridColumnStyle.cs: Code style updates. Removed extra 
+       whitespace.
+
+2007-04-09  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Added comment that "fixes" #80021.
+
+2007-04-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We don't need this -1 on the line count anymore.
+
+2007-04-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridTextBoxColumn.cs: In Commit, use TypeConverter to convert
+       entered value to underlying type, and convert it back to a string to
+       apply formatting. Modified GetFormattedValue to use TypeConverter
+       if available.
+
+2007-04-08  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListViewItem.cs: Added null checks. Avoid duplicating code in ctors.
+       Use SubItems property when we want to ensure there's at least one
+       subitem. Modified SubItems property to ensure there's always at least
+       one subitem. Avoid using ListViewSubItemCollection.AddRange to match
+       the NRE's reported by MS.
+
+2007-04-07  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ProgressBar.cs: On 2.0 profile, default forecolor is Highlight. Added
+       ResetForeColor override on 2.0. Fixed a few API compatibility issues.
+       Spaces to tabs. Removed extra tabs.
+
+2007-04-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitStackLayout.cs: If we run out of things to hide, don't
+       infinite loop.  (Forgot to copy to the horizontal toolstrip case.)
+
+2007-04-06  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When a delete removes a line, recalculate all
+       lines below that line (they need to get offsets setup correctly)
+       and invalidate.
+
+2007-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We need to invalidate across the width of the
+       document when we are invalidating multiple lines.
+       * TextBoxBase.cs: Don't delete into the line ending.
+
+2007-04-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Restore the check for the MouseHover event
+       in ListView. It looks like the ListView fires more than one MouseHover
+       event when HoverSelection is true  _only_ in weird-corner scenarios, but
+       in most of the cases it only fires one. Also, add the 2.0 ItemMouseHover
+       event.
+
+2007-04-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : raise MouseDown before updating selection.
+       [Fixes #80373 tab 1&3]
+
+2007-04-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripRenderer.cs: Add static method to mirror image.
+       * ToolStripProfessionalRenderer.cs: Support ImageTransparentColor
+       and RightToLeftAutoMirrorImage.
+       * ToolStripItem.cs: Remove MonoTODO from ImageTransparentColor.
+
+2007-04-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripSplitStackLayout.cs: Support Alignment property.
+       * ToolStripItem.cs: Remove MonoTODO from the Alignment property.
+
+2007-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Move around the line endings when crossing line
+       boundaries.
+       - When combining lines, strip the ending text off the first line.
+
+2007-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs:
+       * TextBoxBase.cs: Try to never move the cursor into the line
+       ending.
+       
+2007-04-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Make sure we aren't firing mouse events when
+       the item is disabled.  Also add a few missing methods.
+
+2007-04-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: We don't need the MouseEnter/MouseLeave check
+       to fire just one MouseHover event when HoverSelection is true, since
+       .Net does fire more than one MouseHover event in that scenario. Also,
+       fix the selection in HoverSelection, by invoking UpdateMultiSelect
+       if MultiSelect is true, instead of only setting ListViewItem.Selected.
+       Finally, we need to reset the Hover logic in MouseMove, even when we
+       don't have a selected item.
+
+2007-04-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Add several missing methods, properties, and events.
+
+2007-04-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: set the bounds of the text box to
+       (0,0,0,0) in Commit, as MS does.
+
+       * DataGrid.cs: call EndEdit() from Select() as microsoft does, and
+       make sure we set CurrentRow on a row header click *before* calling
+       Select.  This moves the current cell (and the textbox) to the new
+       row.  The call to Select then hides the textbox, giving us the
+       correct behavior.  Fixes #80362.
+
+       * CurrencyManager.cs (UpdateIsBinding): raise ItemChanged (-1).
+       (ListChangedHandler): reorder the position/current changed events,
+       and call UpdateIsBinding in the ItemAdded case.
+
+       * GridColumnStylesCollection.cs: add some columns events, one of
+       which raises the CollectionChanged event.
+
+2007-04-04  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When we delete multiple selection lines
+       invalidate the selection area, don't need to do that for single
+       lines because the final update view will handle it.
+
+2007-04-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: When we CreateControl, we need to also create all of the
+       control's children.  The child's OnLoad must also fire before the parent's
+       OnLoad.  Fixes the toolbox size in PDN.
+
+2007-04-04  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When the user presses enter, insert a line
+       ending into the text. (Maybe this would be a good spot for
+       Environment.NewLine).
+       * TextControl.cs: Remove undo manager hack, line endings get
+       inserted properly now.
+       
+2007-04-04  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: 
+       - Remove unneeded parameters in UpdateCursor.
+       - Fix UpdateCursor to check if menu is active.
+       - Call UpdateCursor when menu deactivate my click.
+       [Fixes remaining issues from #80410]
+
+2007-04-04  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: GetRealChildAtPoint method added, it make an
+       recursive child control search for the point. 
+
+       * Form.cs: Makes use of GetRealChildAtPoint in mouse event after closes
+       menu.
+
+       * MenuAPI.cs: Makes use of GetRealChildAtPoint in UpdateCursor.
+
+2007-04-03  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: Fix mouse position when send back mouse event after closes
+       menu.
+
+2007-04-03  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: Simplify the BUTTONDOWN for active tracker.
+
+2007-04-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Fix an issue where if a user resized a control inside
+       a sizing method like OnResize, we would overwrite their explicit
+       value.  Also, only call DefaultSize once in the constructor instead
+       of 4 times.  Also, do not call SetBoundsCore from SetBounds if 
+       nothing actually changed.
+
+2007-04-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Don't attempt to copy text for lines with no
+       text in them (technically this shouldn't happen, but we aren't
+       always inserting line endings when we should be).
+
+2007-04-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Calculate the scrollbars before calculating the
+       document, because this sets some of the document size properties
+       that are needed.
+
+2007-04-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: We need to calculate maximums even if this is
+       not a multiline control, because the maxs are used for scrolling.
+       - Display the caret after doing a page up/down, we need to
+       manually display it because a proper CaretMoved event isn't
+       triggered (this is because of the way the math is done to
+       determine how far to scroll).
+
+2007-04-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolBar.cs: Fix some breakage caused by the SetBoundsCore change.
+       (ToolBar was relying on SetBoundsCore to default the values sent 
+       base off of BoundsSpecified.)
+
+2007-04-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: Change Text so that when a null value or empty
+         string is assigned to the test we always raise ValueChanged and
+         TextChanged (earlier implementation would only raise ValueChanged
+         if the current date value was different from DateTime.Now).
+
+2007-04-03  Andreia Gaita <avidigal@novell.com> 
+
+       * ButtonBase: Call update after invalidation, fixes #80194
+
+2007-04-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: Draw StatusBar using double buffering. Fixes
+         #79335.
+
+2007-04-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: SetWMStyles: If the control is a form with
+         FormBorderStyle = None, don't give the window any decorations.
+         Fixes #81276.
+
+2007-04-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs: Updated CalculateWindowRect parameters.
+       * CreateParams.cs: Fix IsSet, wasn't working correctly when the style
+         to check for is a mix of several styles (such as WS_CAPTION for
+         instance).
+       * Control.cs: Don't paint an area bigger than the client area when
+         painting the background colour. Add an internal GetCreateParams.
+         Update calls to XplatUI.CalculateWindowRect due to API change.
+       * XplatUIX11.cs: In PerformNCCalc set the initial size to the whole
+         window's size, and handle WM_NCCALCSIZE in DefWndProc to calculate
+         the size if it hasn't been handled by any windows. When creating
+         and moving windows, X wants the location of the entire window, but
+         the size of the client window, so add
+         TranslateClientRectangleToXClientRectangle,
+         TranslateWindowSizeToXWindowSIze and
+         TranslatedXWindowSizeToWindowSize to cope with this, and call them
+         before every window creation and move. Update CalculateWIndowRect
+         to use Hwnd.GetWindowRect (one step towards removing DeriveStyles).
+         In AddConfigureNotify don't do anything if the hwnd is a zombie
+         (fixes the BadWindow we were getting while running the tests),
+         always calculate the offsets when it's a parentless window, not
+         only when reparented, and translate the window size, since we're
+         getting the client size of the whole window, excluding entire
+         window.
+       * Theme.cs: Added BorderSizableSize.
+       * XplatUIWin32.cs: Fix RECT Height and Width. Don't fake styles here
+         anymore. Update calls to XplatUI.CalculateWindowRect due to API
+         chang
+       * Form.cs: Update calls to XplatUI.CalculateWindowRect due to API
+         change. Fake the window styles here instead of in XplatUIWin32 so
+         that all back-ends get the same window styles (and it's Form that's
+         deciding when to use wm, not the Win32 backend anyways)
+       * Hwnd.cs: Completely reworked GetWindowRectangle and
+         GetClientRectangle - they are now passed a CreateParams and they
+         only use Style and ExStyle to determine the rectangles (they should
+         now work just like Win32AdjustWindowRectEx - though quite a few
+         special cases are probably missing). They should also be 100%
+         complimentary (i.e. GetWindowRectangle (GetClientRectangle (rect))
+         == rect), and all numbers (borders, menu sizes) are taken from the
+         current theme. Added a GetBorders helper function that will return
+         the borders for any given CreateParams (including captions and
+         menus), and GetBorderSize that returns the given border size only.
+       * XplatUIOSX.cs: Update calls to CalculateWindowRect and
+         Hwnd.GetClientRectangle.
+
+2007-04-02  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridBoolColumn.cs: rewrite things a bit, and fix up the
+       logic between the values we present to the user and the values
+       which are stored in the column's property.  Also, don't call
+       GetPreferredSize - it's virtual. Along the way, fix bug #80965.
+
+2007-04-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Scroll faster!
+
+2007-04-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Layout fixes for PDN.
+       * ToolStrip.cs: Set item's available to true, and placement to main when
+       added.
+       * ToolStripItem.cs: Fix an Available issue, check that Parent is really
+       changing in setter before doing any work, add InternalVisible.
+       * ToolStripPanel.cs: Remove unused variable to fix compiler warning.
+       * ToolStripSplitStackLayout.cs: If we run out of things to hide, don't
+       infinite loop.
+
+2007-04-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: LBUTTON does not make the textbox select all of it's
+       text on focus.
+
+2007-04-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIWin32.cs: Use the previous change in SetParent for forms only.
+         Makes ToolStripComboBoxes show up again.
+
+2007-04-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add a hover_pending field in ListView
+       to fire just one OnMouseHover event for each MouseEnter/MouseLeave
+       cycle (we are resetting the MouseHover logic in XplatUI
+       to handle HoverSelection). Fixes #80429.
+
+2007-04-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Make sure the attributes get set on the last
+       tag.
+       - Still have to do the end tag if we have stepped all the ways to
+       the end.
+
+2007-04-02  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * XplatUIOSX.cs, XplatUIX11.cs, XplatUIX11GTK.cs: Remove dependency
+       on an internal libgdiplus call when the information is already 
+       available via the public API.
+
+2007-04-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Call ContainerControl.ChildControlRemoved whenever a
+         control is removed from a control collecftion.
+       * XplatUIX11.cs: The first location for toplevel form is (22, 22).
+         Fixes FormPropertyTest (failed on rare occasions).
+       * XplatUIWin32.cs: Add a workaround in SetParent for strange behaviour
+         of Win32SetParent (when changing from no parent to a parent it
+         might add the new parent's location in screen coordinates to this
+         window's location).
+       * Form.cs: Rework ChangingParent once again, now the handle is
+         recreated whenever a FormWindowManager is added or removed (that is
+         whenever a normal form is parented or abandoned). Also change
+         CreateParams so that all non-toplevel windows always get the
+         specified sice (StartupPosition is never considered for
+         non-TopLevel forms).
+       * ContainerControl.cs: Add ChildControlRemoved, the container control
+         needs to be notified when a control is removed from it's
+         collection, in the case the removed control is the active control.
+
+2007-04-02  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Use the new methods for setting the font and
+       color, these methods set the specified attribute without
+       overriding the other attributes.
+
+2007-04-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripPanel.cs: Fixes for better layouts in PDN.
+
+2007-03-31  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBox.cs: Added internal ChangeBackColor method to special-case
+       Color.Empty. Added check for invalid ScrollBars value.
+       * TextBoxBase.cs: Added internal ChangeBackColor method.
+       * RichTextBox.cs: Only set backcolor_set on 2.0 profile. Added
+       internal ChangeBackColor method to special-case Color.Empty. Added
+       check for invalid ScrollBars value.
+
+2007-03-30  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuItem.cs: On invalidate prevent form to create handle. [Fixes #81272]
+
+2007-03-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScollableControl.cs: Add HorizontalScroll and VerticalScroll properties.
+       * ScrollProperties.cs, HScrollProperties.cs, VScrollProperties.cs: Added.
+       [Based on submitted patch from Olivier Duff.]
+
+2007-03-30  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Only select all on initial focus if the user has not
+       specified a selection area.
+
+2007-03-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * UserControl.cs: Override CreateParams.
+
+2007-03-30  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       [ Fixes #80995 ]
+
+       * XplatUI.cs, XplatUIDriver.cs: Updated CalculateWindowRect parameters.
+       * CreateParams.cs: Fix IsSet, wasn't working correctly when the style to
+         check for is a mix of several styles (such as WS_CAPTION for instance).
+       * Control.cs: Don't paint an area bigger than the client area when painting
+         the background colour. Add an internal GetCreateParams. Update calls to
+         XplatUI.CalculateWindowRect due to API change.
+       * XplatUIX11.cs: In PerformNCCalc set the initial size to the whole window's
+         size, and handle WM_NCCALCSIZE in DefWndProc to calculate the size if it
+         hasn't been handled by any windows. When creating and moving windows, X
+         wants the location of the entire window, but the size of the client
+         window, so add TranslateClientRectangleToXClientRectangle,
+         TranslateWindowSizeToXWindowSIze and TranslatedXWindowSizeToWindowSize
+         to cope with this, and call them before every window creation and move.
+         Update CalculateWIndowRect to use Hwnd.GetWindowRect (one step towards
+         removing DeriveStyles). In AddConfigureNotify don't do anything if the
+         hwnd is a zombie (fixes the BadWindow we were getting while running the
+         tests), always calculate the offsets when it's a parentless window, not
+         only when reparented, and translate the window size, since we're getting
+         the client size of the whole window, excluding entire window.
+       * Theme.cs: Added BorderSizableSize.
+       * XplatUIWin32.cs: Fix RECT Height and Width. Don't fake styles here
+         anymore. Update calls to XplatUI.CalculateWindowRect due to API change.
+       * Form.cs: Update calls to XplatUI.CalculateWindowRect due to API change.
+         Fake the window styles here instead of in XplatUIWin32 so that all
+         back-ends get the same window styles (and it's Form that's deciding when
+         to use wm, not the Win32 backend anyways)
+       * Hwnd.cs: Completely reworked GetWindowRectangle and GetClientRectangle -
+         they are now passed a CreateParams and they only use Style and ExStyle
+         to determine the rectangles (they should now work just like
+         Win32AdjustWindowRectEx - though quite a few special cases are probably
+         missing). They should also be 100% complimentary (i.e. GetWindowRectangle
+         (GetClientRectangle (rect)) == rect), and all numbers (borders, menu
+         sizes) are taken from the current theme. Added a GetBorders helper
+         function that will return the borders for any given CreateParams
+         (including captions and menus), and GetBorderSize that returns the given
+         border size only.
+       * XplatUIOSX.cs: Update calls to CalculateWindowRect and
+         Hwnd.GetClientRectangle.
+
+2007-03-30  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Don't layout mdi children on MdiParent creation, the initial
+         layout of the mdi children is handled by CreateParams. Fixes
+         #79964,
+
+2007-03-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Make OnMouseDown returns a boolean to identify if event is
+       processed.
+
+       * Form.cs: When active tracker mouse down is not processed, send event 
+       back to control inside mouse position. [Fixes #81227]
+
+2007-03-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: Override the ComboListBox's ActivateOnShow property and
+       remove WS_VISIBLE from CreateParams to prevent combobox dropdowns from
+       stealing focus from the active form on Windows.  (Control will be made
+       visible in ShowWindow.)
+
+2007-03-29  Mike Kestner  <mkestner@novell.com>
+
+       * ImageList.cs : add internal Changed event.
+       * ListView.cs : hook up to StateImageList.Changed to perform
+       invalidations when the the state icon list changes. [Fixes #81191]
+
+2007-03-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolTip.cs: Override the ToolTipWindow's ActivateOnShow property
+       to prevent tooltips from stealing focus from the active form on Windows.
+
+2007-03-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Small stetic fixes in notifyicon balloon. 
+
+       * ThemeClearlooks.cs: Implement notifyicon balloon for clearlooks theme.
+
+2007-03-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs, ThemeWin32Classic.cs: Icon support added to notifyicon
+       balloons.
+
+2007-03-29  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When deleting text from non multiline textboxes,
+       we need to update the entire document, because line offsets will
+       be shifting.
+
+2007-03-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs, ThemeWin32Classic.cs, Theme.cs: ShowBalloonWindow method
+       added to theme, now we can create themes that uses diferent notify engines
+       like notification-daemon from galago project or growl for Mac OS.
+
+2007-03-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs: Prevent Balloon to show in task bar.
+
+2007-03-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs: Prevent system to open more than one balloon.
+
+       * NotifyIcon.cs: Prevent system to open more than one balloon and remove
+       some compiler warning messages.
+
+2007-03-28  Everaldo Canuto  <everaldo@simios.org>
+
+       [Fixes #79149]
+
+       * XplatUIX11.cs: Implement SystrayBalloon for X11 systems.
+
+       * ThemeWin32Classic.cs, Theme.cs: DrawBalloonWindow and BalloonWindowRect 
+       implemented, this methods is used by NotifyIcon.BalloonWindow class.
+
+       * NotifyIcon.cs: BalloonWindow class added to support Balloon in X11 
+       systems.
+
+2007-03-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Forgot to make Invalidate internal.
+
+2007-03-28  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add a InvalidateSelection method to
+       invalidate methods which are currently selected, and call
+       it when setting FullRowSelect and HideSelection, instead of
+       calling Redraw.
+
+2007-03-28  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (UnmapWindow): reindent this block.
+
+       * DataGrid.cs (UpdateSelectionAfterCursorMove): we need to update
+       the selection_start if we're moving the selection (that is, not
+       extending it). Fixes bug #80461.
+
+2007-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ProgressBar.cs: Make the default MarqueeAnimationSpeed = 100.
+       * ToolStripPanel.cs: Fix RowMargin, Renderer, RenderMode, and
+       create private ControlCollection.
+
+2007-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: We need to call OnVisibleChanged for our implicit
+       children as well as our normal children.  Fixes scrollbars in
+       comboboxes not showing up.
+
+2007-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs, Form.cs: Anywhere we call CreateHandle, we need to do
+       the check for IsHandleCreated first.  The check in CreateHandle is not
+       good enough because CreateHandle can be overriden, and the override 
+       should not be called if the handle is already created.
+
+2007-03-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Remove MonoTODO for tooltips.
+       * ToolStripComboBox.cs: Fix MonoTODO for DropDownHeight and events.
+       * ToolStripContainer.cs: Add custom ControlCollection class.
+       * ToolStripContentPanel.cs: Fix Renderer setting to match MS behavior.
+       * ToolStripDropDown.cs: Add some missing properties/methods.
+       * ToolStripDropDownMenu.cs: Override OnLayout and SetDisplayedItems.
+       * ToolStripItem.cs: Remove MonoTODO for tooltips.
+       * ToolStripManager.cs: Add IsShortcutDefined.
+       * ToolStripOverflow.cs: Override LayoutEngine.
+       * ToolStripProgressBar.cs: Add MarqueeAnimationSpeed.
+       * ToolStripSeparator.cs: Add ImageKey.
+
+2007-03-28  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: If a char delete removes a line ending, we need
+       to update the ending style.
+       - Make sure the line ending calcs get called.
+
+2007-03-28  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: CreateWindow: Remove old default form location code,
+         it was making the new code not work. Fixed a typo in the new code
+         as well. Fixes #79826.
+
+2007-03-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIWin32.cs:
+       - NIF_STATE and NIF_INFO added to NotifyIconFlags.
+       - NOTIFYICONDATA properties sizes fixed, szTip is 128, not 64.
+       - SystrayBalloon method implemented.
+       [Add support for notifyicon balloon on win32, #79149]
+
+2007-03-27  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs : update StateImageList selection to mirror
+       the ms behavior when only one image is added to the list.
+       [Fixes #81191]
+
+2007-03-27  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Improvements to non multiline line ending
+       drawing/measuing.
+
+2007-03-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs: Fix the time which tooltip is opened for NotifyIcon. 
+
+2007-03-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs: 
+       - Balloon message handling added.
+       - Call XplatUI.SystrayBalloon in ShowBalloonTip. 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, 
+       XplatUIOSX.cs, XplatUIX11-new.cs: ShowBalloonTip method renamed 
+       to SystrayBalloon to me like other Systray method, also a
+       handle parameter added.
+
+2007-03-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Show scrollbars even when items.Count == 0
+       but the columns Width is bigger than the ListView.Width.
+       Also, when columns.Count == 0 set layout_wd and layout_ht
+       to the ClientRectangle values, so we don't show any scrollbar
+       in that case.
+
+2007-03-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIStructs.cs: Balloon (NIN_BALLOON*) constants added.
+
+2007-03-27  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: The RTF library decodes the text properly for us
+       now.
+
+2007-03-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Display HeaderControl even when columns.Count == 0.
+       * ThemeWin32Classic.cs: Use SystemBrushes.Control to draw the
+       ListView header (HeaderControl), instead of Control.BackColor.
+
+2007-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Call OnVisibleChanged in SetVisibleCore for non-forms.
+       Fixes tab control issues where controls would not show up because they
+       never received their OnVisibleChanged call.
+
+2007-03-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs: Balloon events added (BalloonTipClicked, BalloonTipClosed,
+       BalloonTipShown).
+
+2007-03-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: We won't get a WM_SHOWWINDOW when we create a window that
+       is maximized or minimized, so move CreateControl to Control.OnVisibleChanged.
+       * Form.cs: After we set the form visible, send a fake WM_SHOWWINDOW if we
+       are max or min.  Remove WS_VISIBLE from CreateParams unless we are recreating
+       the handle.  Fix WindowState by using the internal variable until we are 
+       sure that we've been shown.
+       * XplatUIX11.cs: Do not generate a WM_SHOWWINDOW message if new form is
+       max or min.
+       [Fixes bug #81198]
+
+2007-03-27  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Windows without WS_CAPTION can still get decorations
+         (at least borders). Fixes #79386 on Linux (with a small difference
+         in behaviour: when trying to resize a caption-less window metacity
+         shows the sysmenu. Resizing is still possible though).
+       * XplatUIWin32.cs: When setting window styles send request an extra
+         WM_NCCALCSIZE when it's a form without title (due to no text and no
+         caption), since Win32 seems to calculate it wrong the first time we
+         get the message, though the second time things work as they should.
+       * Form.cs: Reorder a few statements in ChangingParent, otherwise the
+         newly reparented window might show up unparented. Update
+         CreateParams to exclude WS_DLGFRAME if ControlBox is false and
+         there's no title text. Fixes #79386.
+
+2007-03-27  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs : don't perform invalidations if the handle hasn't been
+       created.  [Fixes #80753]
+
+2007-03-27  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs : don't adjust top item when SelectedIndex is set to -1.
+       [Fixes #80428]
+
+2007-03-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIWin32.cs: Complete NOTIFYICONDATA structure, additional fields 
+       needed to implement Balloon.
+
+2007-03-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: In the constructors that take
+       an array of strings, don't use ListViewSubItemCollection.AddRange
+       method to add items, since we need to have a different behaviour (in
+       the constructors we add an item for each null string, opposed to
+       the behaviour of AddRange, which adds nothing).
+
+2007-03-26  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Fix broken 1.1 api for ParseEditText
+
+2007-03-26  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Draw and measure line endings when in non
+       multiline mode.
+       - When searching the text, count the end of the last line as a
+       word boundary.
+
+2007-03-26  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: The selection_start and selection_end don't
+       really track the correct tags for the selection. So we'll manually
+       compute the correct tag here.
+
+2007-03-26  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ProgressBar.cs, ThemeWin32Classic.cs: Implemented drawing of Marquee
+         and Continuous styles. Fixes #79469.
+
+2007-03-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Implement Tooltips.
+       * ToolStripItem.cs: Create internal method for determining tooltip.
+
+2007-03-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PropertyGrid.cs: Hide a EditorBrowsable attribute from 1.1 API.
+
+2007-03-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs: On disposing verify if icon is visible and hide it,
+       it prevents a problem thak keeps icon visible after application 
+       closes on win32.
+
+2007-03-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * NotifyIcon.cs: Balloon properties and methods created.
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, 
+       XplatUIOSX.cs, XplatUIX11-new.cs: Implement ShowBalloonTip method.
+
+2007-03-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripComboBox.cs: Default the ComboBox's FlatStyle to Popup.
+
+2007-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make SetBoundsCore match MS better.  The BoundsSpecified
+       parameter indicates which aspects were explicit/user-set.
+       * ComboBox.cs, ListBox.cs: Call SetBoundsCore correctly. (no 0 parameters).
+
+2007-03-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ProgressBar.cs: Throw AOORE instead of AE for property Value (2.0).
+       * ScrollBar.cs: Throw AOORE instead of AE for properties LargeChange,
+       SmallChange, and Value (2.0).
+       * Timer.cs: Throw AOORE instead of AE for property Interval (2.0).
+
+2007-03-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Always set item_control.Width in LayoutDetails
+       if View is Details. Setting it later in CalculateScrollBars
+       in a not-so-corner scenario (the sum of columns width is
+       not bigger than the ListView width when handle is created, and then
+       that sum gets bigger by increasing the width of the columns)
+       causes a very weird recursion path (which shouldn't be happening,
+       since header_control sets it in CalculateScrollBars too). This bug
+       appeared after Chris' fixes for handle created issues, so probably
+       it's related to some handle-creation time.
+
+2007-03-23  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (GetVisibleRowCount): increase the row count in the
+       case where there's an add row, just so we don't end up in a case
+       where it's not displayed (this happens when the row is partially
+       obscured).  Fixes bug #79574.
+
+2007-03-23  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs:
+       * TextBoxBase.cs:
+       * RichTextBox.cs: Preserve line endings in the lines text buffer,
+       also added an enum that represents the line ending type. 
+
+2007-03-23  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Fix logic so Text and Value properties are not
+       messed with in every method call, but only from DownButton, 
+       UpButton, UpdateEditText() and ValidateText. Fixes #80346
+
+2007-03-23  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs (GetFormattedValue): don't try to
+       format objects if the format spec is "".  Fixes bug #80889.
+
+2007-03-22  Miguel de Icaza  <miguel@novell.com>
+
+       * ToolStripPanel.cs (Join): added stubs to build PDN3
+
+       * Control.cs (AutoScrollOffset): Add.
+
+       * SystemInformation.cs (MouseWheelScrollDelta): Expose this
+       property, its only implemented for Win32, on X11 it defaults to
+       some hardcoded value.
+
+       * ToolStripItem.cs (AllowDrop): Add property
+
+2007-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : in FullRowSelect Details mode, only enable box
+       selection if the user clicks over the "item" column outside of the
+       text area.  Mmmmm, compatibility.  [Fixes #80374 subpart 7]
+
+2007-03-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: ChangeParent: Call Form's ChangingParent even if the
+         handle is not created yet.
+       * Form.cs: Select: Don't call CreateHandle if the handle is already
+         created, avoids a stack overflow on Windows when we are recreating
+         controls.
+       * ScrollableControl.cs: Set the correct z-order for the scrollbars when
+         they are made visible, and override AfterTopMostControl to keep
+         them on top when other controls are brought to front.
+         CalculateCanvas: Scrollbars are only visible if auto_scroll is true
+         or force_*scroll_visible is true (old implementation always shows
+         scrollbars when needed, no matter what auto_scroll was set to).
+       * InternalWindowManager.cs: UpdateWindowDecorations: Add a
+         IsHandleCreated check.
+
+2007-03-22  Andreia Gaita  <avidigal@novell.com>
+
+       * DataGrid.cs: Implement Column and Row auto sizing when double-clicking on
+       row or col separator.
+       * DataGridTextBoxColumn.cs: Implement GetPreferredHeight and GetPreferredSize
+
+2007-03-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Remove unneeded check for grab_control in UpdateCursor.
+
+2007-03-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: UpdateCursor method added, it is calling in OnMotion to update
+       cursor for child controls. In ShowWindow and HideWindow now call SetCursor 
+       every time. Fixes #80410.
+
+2007-03-22  Chris Toshok  <toshok@ximian.com>
+
+       * BindingSource.cs (AddNew): partially implement.
+
+       remove a couple of NotImplementedException's
+       to get bug #81148 closed.
+
+2007-03-22  Everaldo Canuto  <everaldo@simios.org>
+
+       [Fixes #80380]
+       
+       * Control.cs:
+       - UpdateCursor method added to update the screen cursor.
+       - GetAvailableCursor method added to return cursor for enabled tree,
+       it searches for cursor on control and it's parent's for enabled control.
+       - Call UpdateCursor method on setter of Cursor property.
+       - On setter of Enabled call UpdateCursor when it is false, we need to
+       change cursor to normal (or to this parent cursor) because cursor 
+       setting theres no effect to disabled controls.
+       - Some minor source changes to follow the coding style guidelines.
+
+       * XplatUIX11.cs: In MotionNotify only dispatch SET_CURSOR event for enabled 
+       controls.
+
+2007-03-22  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: ignore the BadPicture errors cairo+render
+       generates.
+
+2007-03-22  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Implement default locations for forms.
+       * Form.cs: Completely rework startup location for forms. Fixes #79964.
+       * Hwnd.cs: Add previous_child_startup_location (to track the current
+         startup location for any child forms of the current form) and
+         previous_main_startup_location (to track the startup location for
+         the current toplevel form).
+
+2007-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Don't trigger a layout if an implicit control is added
+       that isn't visible.  Also, don't notify the owner when an implicit control
+       is added.  (Owners shouldn't even know about their implicit controls.)
+
+2007-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ScrollableControl.cs: Add implicit controls with AddRangeImplicit
+       to save some re-layouts.
+
+2007-03-21  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: In ProcessKeys returns false when key is not processed.
+       [Fixes #81203]
+
+2007-03-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FlowLayoutSettings.cs, ToolStrip.cs, ToolStripPanel.cs,
+       ToolStripPanelRow.cs: Lazy instantiate the LayoutEngine.
+
+2007-03-21  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : disable selection update for non-left button clicks
+       with mods and over selected items.  [Fixes #80524]
+
+2007-03-20  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs:
+       * TextBoxBase.cs: Allow different types of line endings. \r, \r\n,
+       \r\r\n, \n.
+
+2007-03-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: PreferredHeight seems to be ItemHeight + 6, but there is
+         very probably a more complicated calculation there. Update the
+         textbox' ForeColor and BackColor when the ComboBox' colors are
+         changed. Change the border change in LayoutComboBox to only affect
+         the textbox, not all the calculations there. Seems to fix most of
+         #79436.
+
+2007-03-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: Handle Home and End keys as well as all combinations of
+         modifiers + navigation keys as input keys, enables advanced text
+         selection in the combobox (like Shift+Left Arrow for instance).
+         ComboTextBox now overrides Focused and returns whatever
+         ComboBox.Focused returns, since it really should be focused
+         whenever the ComboBox is. Fixes #80795. Also make the border around
+         the text box one pixel bigger, as mentioned in #79436.
+
+2007-03-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Don't offset the images, this was causing some
+       artifacts when expanding/collapsing with images that were the
+       exact height of the treenode.
+
+2007-03-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * TrackBar.cs: Query the theme for the correct value when the mouse
+         moves and the thumb is pressed. 
+       * Theme.cs: Added TrackBarValueFromMousePosition
+       * ThemeWin32Classic.cs: Reworked TrackBar drawing. Earlier
+         implementation was updating the trackbar value when drawing, now
+         the drawing methods only draw. Fixes #80900. Refactored the
+         calculations out to TrackBarValueFromMousePosition and
+         GetTrackBarDrawingInfo, so that TrackBar can get the correct value
+         according to the mouse position whenever it wants to. Changed the
+         light coloured pen when drawing the thumb from ControlLight to
+         ControlLightLight, because the ControlLight is the same colour as
+         the background so the 3D effect is lost. 
+
+2007-03-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: In ShowDialog uses MainForm as transient form when no form is
+       defined. Fixes #80784.
+
+2007-03-20  Marek Habersack  <mhabersack@novell.com>
+
+       * ContextMenuStrip.cs: align with the change introduced in
+       revision 74664.
+
+2007-03-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs, 
+       XplatUI.cs, Form.cs, ToolTip.cs: Remove unneeded parameter owner 
+       in SetTopmost.
+
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (WmPaint): don't make use of the Handle property
+       after an event is emitted, as the user could have closed the
+       form/destroyed the control.  Store the Handle in a local variable
+       and make use of that.  Fixes bug #80768.
+
+2007-03-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs: Set _NET_WM_STATE_ABOVE on SetTopmost, it fixes Topmost
+       behavior in X11 environments.
+
+2007-03-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: Call SetTopmost in CreateHandle when window is topmost, its
+       because on setter of topmost we dont call SetTopmost when handle is not
+       created.
+
+2007-03-20  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Need to use SelectionLength () not
+       selection_length, since that var is reset to -1.
+       - Draw the caret when we don't have focus.
+       * TextBox.cs: The selectall actually doesn't occur until the first
+       focus.
+       * TextBoxBase.cs: Need to update the caret position after a
+       selectall.
+       
+2007-03-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Enable scrolling when using Tile view.
+
+2007-03-20  Everaldo Canuto  <everaldo@simios.org>
+
+       [Fixes #80902]
+
+       * XplatUIDriver.cs: Abstract SetOwner method created.
+
+       * XplatUIOSX.cs: Override SetOwner to prevent compilation errors method 
+       must be implemented and was masked as todo.
+
+       * XplatUIWin32.cs: SetOwner implemented using SetWindowLong with 
+       GWL_HWNDPARENT.
+
+       * XplatUIX11.cs: SetOwner implemented using same code from SetTopmost but 
+       cheking for null owner to remove transient. The SetTopmost will be change
+       on a decond step.
+
+       * Form.cs: In set_Owner and CreateHandle uses new SetOwner instead of
+       SetTopmost. Now owned forms will work properly in win32 and X11.
+
+2007-03-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MdiWindowManager.cs: Update function name.
+       * Form.cs: After closing a form MdiParent is always null.
+       * MdiClient.cs: Rename CloseChildForm to ChildFormClosed to explain
+         better what it should do: necessary book-keeping when the form is
+         closed, it should not close the form itself.
+
+2007-03-19  Andreia Gaita  <avidigal@novell.com>
+
+       * ListViewItem.cs: Fix back and fore color. The subitems only
+       use their own colors if they are set, otherwise use the listview's
+       colors. Don't set default colors on constructor for subitem.
+       Fixes #79315.
+
+2007-03-19  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : make box selection for Details views with 
+       FullRowSelect conform to MS behavior when clicking in the "item" 
+       column and clicking outside the defined columns.
+       [Fixes case 5-6 of #80374]
+
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs: create the controls from within the ctor,
+       but don't actually add them until our handle is created.  this
+       fixes a NRE possibility jpobst found (if you override OnLayout in
+       a subclass, it's called before your ctor).  Also, add a
+       IsHandleCreated guard to UpdateSizeGripVisibility as well.
+
+2007-03-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Reduce the amount of invalidation we do.
+       * TextBoxBase.cs: Make shortcuts enabled true by default, at least
+       some of them are true by default on MS.
+       - Add some functions to reduce the amount of invalidates we do.
+       * TextControl.cs: Less invalidation.
+
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes #81773, and *seems* to fix #81553 as well ]
+
+       * XplatUIX11.cs: remove the assignment of hwnd.zombie = true from
+       AccumulateDestroyedHandles.  We need to do it *after* we send
+       WM_DESTROY, as the user's code can access Control.Handle in
+       OnHandleDestroyed, and this shouldn't cause a recreation.  Also,
+       move the WM_DESTROY/zombie handling to before the call to
+       XDestroyWindow.  For some reason without this ordering
+       FormTest.RecreateHandle hangs.  This ordering is semantically
+       equivalent, however, as XDestroyWindow is async anyway.
+
+2007-03-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * RichTextBox.cs: Reset backcolor_set after setting default.
+
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs: the scroll position should not effect the
+       canvas size.  commit patch from georgegiolfan@yahoo.com, which
+       fixes some really bizarre behavior on resizing.  Fixes bug #80778.
+       
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs: clean this up a bit.  create the
+       scrollbars in the ctor and just show/hide them as needed.  Also,
+       make hscroll_visible/vscroll_visible internal to Recalculate, and
+       just use hscrollbar.VisibleInternal/vscrollbar.VisibleInternal
+       everywhere else.  This seems to fix the scrollbars appearing
+       beneath the content for me (i have *no* idea why that is,
+       however.)
+
+2007-03-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Don't call DoAutoSize when we change Dock.  Also, remove
+       some redundacy for stuff in Anchor and Dock that base will take care of.
+       [Fixes #80762]
+
+2007-03-19  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : make box selection for Details views without 
+       FullRowSelect dependent on the text bounds, not item bounds.
+       * ListViewItem.cs : add an internal property to obtain the TextBounds
+       in Details view.  [Fixes case 1-4 of #80374]
+
+2007-03-19  Andreia Gaita  <avidigal@novell.com>
+
+       * PaintEventArgs.cs (Dispose): Only dispose of graphics object if
+       we're < 2.0. #78448 && #80316
+
+2007-03-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FontDialog.cs: Don't crash when we switch to a new font that doesn't
+       have the same style available as the previously selected one.  Also,
+       support FixedPitchOnly property.  [Fixes bugs #80918, #80947]
+
+2007-03-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Add an alignment property that all new lines
+       will be given.
+       - Make sure to use the align shift when calculating the line's X
+       position.
+       * TextBox.cs: Set the alignment on the document as well as on all
+       the document lines.
+
+2007-03-19  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: ControlCollection.Add: Remove a couple of duplicated casts and
+         throw if setting the parent of an mdichild that already has an
+         mdiparent. Update signature for 2.0 profile. ProductName: If there's no
+         AssemblyProductAttribute in the assembly, use the type's namespace (as
+         MS seems to do). CreateControl: don't create the handle if the control
+         is not visible (according to MS behaviour and spec).  SetTopLevel: Only
+         create handle if the control is not a form. Change FocusInternal to
+         virtual so that it can be overriden by Form.
+       * TextBox.cs: Update call to FocusInternal.
+       * Form.cs: Always create the handle when calling Focus on a MdiChild. The
+         form is not a toplevel form when it's a mdi child, so update is_toplevel
+         accordingly. ShowIcon/TransparencyKey: avoid creating the handle if it
+         hasn't been created. Show (IWin32Window): Don't allow this overload for
+         toplevel windows. CenterToParent/CenterToScreen/Select: create the
+         handle as MS does. SetVisibleCore: if called on a MdiChild and the
+         parent isn't visible yet, save the visibility and restore it when the
+         parent is made visible.
+       * ScrollableControl.cs: Refactor out scrollbar visibility code to separate
+         methods, since the visibility of the scrollbars can be changed from
+         several places, not only from AutoScroll.
+         [Fixes #81179]
+
+2007-03-19  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Enable shortcuts by default.
+       * TextBoxBase.cs: Add conditional shortcuts.  
+
+2007-03-19  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuItem.cs: Dont call OnDrawItem when OwnerDraw is false (#81182).  
+
+2007-03-19  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes bug #80604]
+       
+       * XplatUIX11.cs (WaitForHwndMessage): change this to actually
+       swallow the message we're waiting on, instead of delivering it, as
+       this is only used for the WM_SHOWWINDOW raised from
+       MapWindow/UnmapWindow, and the message needs to be generated
+       (MapWindow, UnmapWindow): generate the WM_SHOWWINDOW message
+       before doing the Map/Unmap.  Also make sure that the Hwnd is still
+       alive after the message has been handled.
+
+       *before* the window is shown.
+
+       * Control.cs (CreateControl): guard a few more things inside the
+       if (!is_created) block, as we might end up being called again -
+       yay .net.
+       (WmShowWindow): call CreateControl if we're showing the control.
+
+2007-03-19  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Fix 2.0 signature for Invoke. Support invoking on
+         controls without a handle if they have any parent with a handle. In
+         Dispose add a check whether the handle is created or not before
+         calling BeginInvoke, this removes the need of the extra disposing
+         parameter (which was bogus anyway since it didn't prevent the
+         invoke from happening, it only skipped the check for an existing
+         handle, meaning that the invoke would call on an inexistent
+         handle).
+
+2007-03-19  Everaldo Canuto  <everaldo@simios.org>
+
+       * MessageBox.cs: Remove WS_POPUP from CreateParams style, with it form
+       appears in taskbar.
+
+2007-03-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MessageBox.cs:
+       - Fixed a problem that dont show help button for messages with 3 buttons.
+       - Refactory button size and position calculations, now dont use fixed 
+       values, also fixed button sizes (#80043) and form's border space.
+       - AddButton method created, now all other AddButton methods call this one.
+       - Some other source code cosmetic changes.
+
+2007-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Don't do this all fonts must match check if
+       there is only one char selected.
+
+2007-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: ScrollWindow works properly now, so we don't need
+       to screw around with the scroll area.  This fixes some artifacts
+       when expanding and collapsing.
+
+2007-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Allow updating the selection position when the
+       cursor is outside the textarea, but we have a capture.
+       * TextControl.cs: A special case for when the cursor is outside
+       the bounds of the TB.
+       
+2007-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Remove image pasting code for now.  There is no
+       way to get an image on the clipboard right now anyways.
+       * TextControl.cs:
+       * RichTextBox.cs: Use the new RTF Picture class for pictures.
+
+2007-03-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MessageBox.cs:
+       - Set window properties in constructor intead of on CreateParams.
+       - Remove topmost from Window ExStyle.
+       - Set ShowInTaskbar to false.
+       - Set form border to FixedDialog.
+       - Some cosmetic changes and remove unneeded comments.
+       - It fixes itens 2,3 and 4 of bug #80043.
+
+2007-03-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBoxBase.cs: In setter for ReadOnly, only chance BackColor if
+       none was explicitly set. Fixes part of bug #79949.
+
+2007-03-16  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ToolStripComboBox.cs: Add AutoComplete*.
+
+2007-03-16  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ToolStripComboBox.cs: Add FlatStyle.
+
+2007-03-16  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripProfessionalRenderer.cs,
+       ToolStripSplitStackLayout.cs: Implement some basic vertical toolbar support.
+
+2007-03-16  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ButtonBase.cs, ToolStrip.cs, SendKeys.cs, TextRenderer.cs,
+         CheckBox.cs, RadioButton.cs, BindingSource.cs,
+         DataGridColumnStyle.cs: Remove warnings.
+
+2007-03-16  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Menu.cs: MergeMenu: Check menu argument for null before looping over
+         it.
+       * MdiWindowManager.cs: Add IsVisiblePending to track the pending
+         visibility of mdi child forms. FormSizeChangedHandler: update the
+         maximized size if size has changed while maximized.
+       * MdiClient.cs: SizeScrollbars/ArrangeWindows/ActivateChild: Avoid
+         creating the handle.
+       * InternalWindowManager.cs: UpdateBorderStyle/FormSizeChangedHandler:
+         avoid creating the handle if not created.
+       * XplatUI.cs: Update debug output.
+       * XplatUIStructs.cs: Added ToString's for a couple of structs.
+
+2007-03-16  Jonathan Pobst <monkey@jpobst.com>
+
+       * ContainerControl.cs: Give ToolStripManager the opportunity to handle
+       ProcessCmdKey().
+       * ToolStripDownItem.cs, ToolStripItem.cs, ToolStripItemCollection.cs, 
+       ToolStripItemEventType.cs, ToolStripManager.cs, ToolStripMenuItem.cs:
+       Implement keyboard shortcuts.
+
+2007-03-15  Everaldo Canuto  <everaldo@simios.org>
+
+       * CommonDialog.cs: Set StartPosition to CenterScreen on form's constructor.
+       Fixes #79560 and #80200, it also fix problem in FileDialog, SaveDialog, 
+       ColorDialog and all derived classes.
+
+2007-03-15  Everaldo Canuto  <everaldo@simios.org>
+
+       [ Fixes bug #79828 ]
+
+       * ToolBar.cs:
+       - Rename ToolBarButtonInfor to ToolBarItem.
+       - Add all layout and calculation stuff gtom ToolBarButton to ToolBarItem.
+       - Maintain an array of ToolBarItem, used instead of ToolBarButton
+       collection to be able add same button more than one time on a toolbar.
+       - Refactory all properties and methods to use ToolBarItem. 
+
+       * ToolBarButton.cs: 
+       - Remove all propeties and methods that is now in ToolBarItem.
+       - Rectangle propery now gets the rectangle from first ToolBarItem to
+       mimic win32 behavior.
+       - Size calculation and layout methods also removed.
+
+       * ThemeWin32Classic.cs: Change all ToolBar drawing methods to receive
+       ToolBarItem instead of ToolBarButton to right drawing buttons when
+       same button/separator was added more than one time to ToolBar.
+
+       * ThemeNice.cs: Same as above. 
+
+2007-03-15  Andreia Gaita  <avidigal@novell.com>
+
+       * XplatUIX11.cs: Fire extra MouseMove events right after
+       MouseDown and MouseUp, emulating win32's <censored> behaviour
+       for apps that rely on it.
+
+2007-03-15  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs:
+       * TextBoxBase.cs: On MS, a fixed single border is not in NC area,
+       it is drawn on the controls client window and there is no NC
+       area.
+       - Set the background color to gray on 2.0 when we are readonly.
+
+2007-03-15  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes bug #81144 ]
+       
+       * XplatUIX11.cs: implement VirtualScreen independently of
+       WorkingArea, by querying the _NET_DESKTOP_GEOMETRY root window
+       property.
+
+2007-03-15  Chris Toshok  <toshok@ximian.com>
+
+       * Hwnd.cs: add an internal field for the cached_window_state.
+
+       * XplatUIX11.cs: cache the window state, invalidating the cache
+       (and thus re-querying the X server) only when we see an update to
+       the _NET_WM_STATE property.
+
+2007-03-15  Chris Toshok  <toshok@ximian.com>
+
+       * BindingSource.cs: get a lot of the unit tests working.
+
+2007-03-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Modify UpdateStyles to store distances when bounds >=
+       0 instead of just bounds > 0.  [Fixes bug #80912]
+
+2007-03-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripItem.cs: Implement several new properties
+       and methods.
+
+2007-03-15  Ivan N. Zlatev <contact@i-nz.net>
+       
+       * ComboBox.cs, Control.cs, XplatUIStructs.cs, XplatUIX11GTK.cs,
+       XplatUIX11.cs, XplatUIWin32.cs, InternalWindowManager.cs,
+       XplatUIOSX.cs, TextControl.cs: Replaces all uses of the custom
+       WM_MOUSE_LEAVE with the system WM_MOUSELEAVE message.
+
+2007-03-15  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes #81101 ]
+       
+       * Control.cs: add Ivan's fix for 81101, with a slight modification
+       - you can set control.Target to null.
+
+2007-03-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: If our OwnerItem is null, we can't use 
+       HideDropDown, use Hide instead to prevent an NRE.
+       [Fixes bug #81147]
+
+2007-03-14  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Mess with the creation stuff a little. We need
+       to calculate the document before the handle is created, in some
+       cases. (Actually just one case).
+
+2007-03-14  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Need to display the caret after letting the base
+       wndproc handle the focus methods, because the caret display
+       methods check the focus state.
+       - Try to display the caret after updating it's position with SelectWord.
+       - Don't need to do an immediate update on this recalc, since there
+       will be an invalidate anyways.
+
+2007-03-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Some workarounds so that we can match event order a
+       little better.
+
+2007-03-14  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ErrorProvider.cs: Invoke default ctor from 2.0-only ctor. Fixes bug
+       #80803. Avoid NullReferenceException when Control does not have
+       parent. Fixed different blinkstyle issues. Only subscribe to Tick
+       event a single time. Only draw error icon when control is created and
+       visible. Fixes failing unit tests.
+
+2007-03-14  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Add support for 2.0 Deselecting, Deselected and
+       Selecting events. Fire Leave and Enter events when changing tabs.
+
+2007-03-14  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * TreeView.cs: Add TreeViewNodeSorter.
+       * TreeNodeCollection.cs: Add sorter parameter to Sort method.
+
+2007-03-14  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: go ahead and remove the RecreateHandles that jpobst
+       removed earlier and I had him add back it.  It turns out metacity
+       *does* in fact handle the MOTIF_WM_HINTS property changing, it
+       just doesn't redraw the window titlebar until you resize the
+       window.  This also means we aren't recreating the entire window
+       hierarchy on X when you change this property.  And it looks better
+       on windows, too.
+
+2007-03-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs:
+       * ListView.cs: Collecting selection information
+       is now done in SelectedIndexCollection rather than in
+       SelectedListViewItemCollection. This is done so we can
+       have the selection information code in one single place
+       (virtual mode selection information entirely depends on
+       SelectedIndexCollection).
+
+2007-03-13  Miguel de Icaza  <miguel@novell.com>
+
+       * ErrorProvider.cs: Add stubs for ISupportInitialize
+
+2007-03-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Trigger the ItemCheck and ItemChecked events
+       in the right order with the right values, from the Checked property, 
+       just as MS does (instead of triggering them from ListView).
+
+       * ListView.cs: Make OnItemCheck and OnItemChecked internal.
+
+2007-03-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement ItemChecked 2.0 event. Also cast to 
+       the correct handler in OnItemCheck method (ItemCheckEventHandler 
+       instead of EventHandler). This used to throw an InvalidCastException.
+
+2007-03-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Calculate the document before the handle is
+       created, so there isn't an extra invalidate called.
+
+2007-03-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't set owner in ShowDialog until we are sure
+       that we aren't going to throw an exception.  [Fixes bug #80773]
+
+2007-03-12  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * TreeView.cs: Make it compile.
+
+2007-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Another place we don't call SizeFromClientSize.
+       * Form.cs: Another place we don't call SizeFromClientSize.
+       [Fixes bug #81125]
+
+2007-03-12  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Basically emulating some strangness here with
+       exanding nodes and setting node positions when windows aren't
+       created.
+       - Also attempting to walk the node tree less than previously, and
+       just use visible order calculations for determining offsets.
+       - oops made scrolling backwards.
+       * TreeNode.cs: We need to start nodes with a zero visible order,
+       because the order calcs are based on the first nodes order.
+
+2007-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't exit the program if RecreateHandle is called on
+       the main form.
+
+2007-03-12  Chris Toshok  <toshok@ximian.com>
+
+       * XEventQueue.cs: remove the use of PostQuitState.
+
+       * XplatUIX11.cs: remove the use of PostQuitState.  If we get a
+       WM_QUIT message in GetMessage, return false (and if we're in the
+       nested WaitForHwndMessage, repost the WM_QUIT message).
+
+2007-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Don't call RecreateHandle when we change the MinimizeBox
+       or the MaximizeBox properties.  [Part of bug #80640]
+
+2007-03-12  Everaldo Canuto  <everaldo@simios.org>
+
+       * LinkLabel.cs: When calculate pieces make LinkArea empty if theres
+       no links.
+
+2007-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Fix some tests I broke by checking Visible
+       instead of visible.
+
+2007-03-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Use text of File name combobox to determine what
+       files the user selected. Added tokenizer to parse the file names.
+       Fixes bug #81123.
+
+2007-03-12  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: We can't call SizeFromClientSize in the constructor,
+       but we still need to do the same work, so make an internal version.
+       [Fixes bug #80621]
+
+2007-03-12  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs:
+       * TreeNode.cs:
+       * OpenTreeNodeEnumerator: Match MS better for IsVisible and
+       IsExpanded.
+
+2007-03-12  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Now that the handles are being created a little
+       later, we need to make sure that the document is recalculated when
+       the handle is created.
+
+2007-03-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * Theme.cs: GetLinkFont abstract method added.
+       
+       * LinkLabel.cs: 
+       - Remove CalcTrimRectangle, no longer needed.
+       - Factor also remove, position issues must be fixed in libgdiplus.
+       - Move GetPieceColor to ThemeWin32Classic.cs as it is theme related.
+       - GetPieceFont, CreateLinkFont and link_font removed, theme must be 
+       care about font used to draw links.
+       - Set TabStop to true when control is "Selectable", control is selectable
+       when have one or more links. Fixes #80501 (test case is also added).
+       - Set the LinkArea values after links change, LinkArea values must be
+       based in first link position and size, a test case was created.
+       - Fix ControlStyles.Selectable value, now is based on LinkArea value, 
+       the attribute must be true LinkArea.Length > 0. The same was applied to
+       TabStop.
+       
+       * ThemeWin32Classic.cs: 
+       - LinkLabelGetPieceColor and LinkLabelGetPieceFont created and used 
+       in draw method.
+       - Use CPDrawStringDisabled to draw disabled text instead of hard code 
+       color change.
+       - Draw focus rectangle for every parts focused, including parts that 
+       is on another line, its because regions returns various rectangles
+       and not only one. Needed to mimic W32 look.
+       - Uses Graphics.Clip to delimite region painted, it mean that now 
+       complete text is passed to DrawString, with this we solve layout
+       issues without create another text renderer.
+       - Uses Region.Intersect to fix some flickers problems, now only needed
+       parts will redrawed.
+       - This changes fixes #79614 and some other unreported issues, on Linux 
+       some layout problems still remain, the problem is under 
+       MeasureCharacterRanges but it is an libgdiplus bug.
+
+2007-03-10  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TextBox.cs: Set for foreground color.
+       * TextBoxBase.cs: Remove Invalidate when setting BackColor, since
+       this is already done in Control.
+
+2007-03-10  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Set the background color, but reset the
+       backcolor_set flag which is just for the user setting the
+       background color.
+
+2007-03-09  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: really remove the call to XplatUI.SetVisible from
+       CreateHandle(), like I said I did when I merged the branch.
+
+       * BindingSource.cs: implement some more of this stuff.
+
+2007-03-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs: Don't explicitly set our background colors.
+       * TextControl.cs:
+       * TextBoxBase.cs: Draw readonly text.
+       - Need to invalidate when backcolor or readonly are changed.
+       
+2007-03-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Don't set the forecolor until the handle is
+       created.
+       - Do not raise OnPaint, and removed some old debug code.
+
+2007-03-09  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * ScrollableControl.cs: Fix mouse wheel scrolling.
+
+2007-03-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Wire up MouseDoubleClick event.
+
+2007-03-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Rework AutoSize to adjust height when docked to the
+       top or bottom.
+       * ToolStripItem.cs: Make Image drawing take ImageScaling into account.
+       * ToolStripItemCollection.cs: Don't call owner.PerformLayout when a new
+       item is added.  This logic was moved to ToolStrip.OnItemAdded.
+       [Fixes bug #81090]
+
+2007-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListVieItem.cs: SetIndex is only valid for 2.0 profile by now.
+
+2007-03-08  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Show the correct image for selected node (this used
+       to work, not sure how the code got deleted). Also implemented 2.0 feature
+       SelectedImageKey.
+
+2007-03-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs: Cache index in items when retrieving them
+       in VirtualMode.
+
+2007-03-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Don't return the explicit_size if we are using 
+       AutoSize.  Fixes invalidation issue when user has explicitly set a
+       size and has AutoSize = true.
+
+2007-03-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIX11.cs: Hardcode FrameBorderSize value temporarily to fix MWF.
+
+2007-03-07  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridView.cs: Remove event handler from DataView when a
+       DataTable is used as DataSource.
+
+2007-03-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Create internal setter for client_size to allow it to be
+       set without triggering resizing code.
+       * Form.cs: Calculate client_size in constructor, only change client_size
+       in FormBorderStyle property if Handle has been created.
+       [Fixes #80574, #80791]
+
+2007-03-08  George Giolfan  <georgegiolfan@yahoo.com>
+
+       * SystemInformation.cs: Add TerminalServerSession.
+
+2007-03-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeViewDrawMode.cs: Make internal for 1.1 to allow for consolidated
+       TreeView code.
+
+2007-03-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: The no_activate stuff was forcing us to create a
+       Handle before we were supposed to.  Now checks ActivateOnShow property
+       in Control.
+       * Control.cs: Add internal ActivateOnShow property.
+       * ComboBox.cs, Form.cs, MenuAPI.cs, ToolStripDropDown.cs: Return false
+       for ActivateOnShow.
+       * Hwnd.cs Remove no longer needed no_activate field.
+
+2007-03-07  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Implement owner draw tree nodes.  And a couple more
+       2.0 properties
+       * DrawTreeNodeEventHandler.cs: Add
+       * DrawTreeNodeEventArgs.cs: Correct default value.
+       
+2007-03-07  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIWin32.cs: create InternalWndProc so that we're guaranteed
+       to be called before NativeWindow.WndProc.  Put the HwndCreating
+       magic there to hook up our Hwnd's to handles.
+
+2007-03-07  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridView.cs: Comment out debug code.
+
+2007-03-07  Chris Toshok  <toshok@ximian.com>
+
+       [merge -r72718:73765 from mwf-handle-branch, and include 2 changes
+       to make the rest of the world happy]
+
+       * Control.cs (CreateHandle): there's no need to call
+       XplatUI.SetVisible here, it's effectively done by
+       XplatUI.CreateWindow on X now, and always was on windows.
+
+       * XplatUIX11.cs (WaitForHwndMessage): only use the PostQuitState
+       shortcircuit out of the loop if we have a message loop running on
+       this thread.
+
+       [Changelog from merge]
+
+       2007-03-05  Chris Toshok  <toshok@ximian.com>
+
+               * Control.cs (AccessibilityNotifyClients): turns out in 1.1 this
+               causes handle creation.
+
+       2007-02-28  Chris Toshok  <toshok@ximian.com>
+
+               * ApplicationContext.cs: Add a flag to make sure we only raise the
+               ThreadExit event once (ExitThreadCore can be indirectly called
+               from a few places.)  I don't like the additional flag, but it
+               makes the event ordering/count correct.
+
+               * Application.cs (MWFThread.LoopCount): don't use an enumerator
+               without locking the collection.  An enumerator doesn't give us any
+               protection from modification anyway.  Lock the thread hash and
+               replace the complicated enumerator loop with a foreach.
+               (Application.CloseForms): make internal so it can be called from
+               ApplicationContext.  This should probably be moved to MWFThread.
+               (Application.ExitThread): don't call MWFThread.Current.Exit()
+               here.  just call XplatUI.PostQuitMessage.  We'll exit the thread
+               when the runloop exits (in response to WM_QUIT.)
+               (Application.RunLoop): add a comment (and check) for
+               context.MainForm being null after setting context.MainForm.Visible
+               = true.  This is because you're perfectly free to dispose of a
+               form in VisibilityChanged.  Chalk this up to another case where we
+               need to synchronously generate WM_ACTIVATE from Control.Show.
+               Also, add handling for WM_QUIT here so we'll exit the loop.
+               
+               * XplatUIX11.cs: clean up MapWindow and UnmapWindow a bit.  The
+               fact that we don't wait if we're only unmapping the whole_window
+               makes me a bit nervous, but it doesn't seem to cause any problems
+               yet.
+
+               also, add a comment about the stupid, broken and wrong resetting
+               of PostQuitState to false in GetMessage().
+
+               In PostQuitMessage, we need to add a WM_QUIT message to the
+               thread's queue.  We use the FosterParent to get the right
+               handle/hwnd/queue.
+
+               Lastly, in SetVisible, we need to unmap both windows, since the
+               waiting only happens when we're unmapping the client window.  So
+               now, the *only* time we unmap just the whole_window is in the hack
+               for resizing a control to 0,0.
+               
+       2007-02-21  Chris Toshok  <toshok@ximian.com>
+
+               * Application.cs (CloseForms): rewrite this so that we don't
+               modify the list while we're traversing it.
+
+       2007-02-20  Chris Toshok  <toshok@ximian.com>
+
+               * ListBox.cs (.ctor): move the Control.AddImplicits here instead
+               of OnHandleCreated.
+               (HorizontalScrollEvent): only call XplatUI.ScrollWindow if the
+               handle is created.  otherwise we'll create it here.
+               (VerticalScrollEvent): same here.
+
+               * Application.cs (CloseForms): call Form.Dispose, don't post
+               WM_CLOSE_INTERNAL.
+
+               * Form.cs (WndProc): we don't need to use CLOSE_INTERNAL
+               here. Application should Dispose() of the Form's.
+
+               * XplatUIX11.cs (WaitForHwndMessage): break out of the loop on
+               WM_DESTROY as well.
+               (MapWindow,UnmapWindow): only actually do the waiting for
+               SHOWWINDOW if the control we're dealing with is a Form.
+               (CreateWindow): if the control isn't a form, SendMessage
+               WM_SHOWWINDOW here (if the WS_VISIBLE style is set).
+
+               * Control.cs (SetVisibleCore): always use is_visible here, not
+               value.  If we use value, we can end up re-setting something
+               visible if, for instance, you do Control.Hide() in a delegate
+               attached to VisibleChanged as we do in FormTest.ShowDialogTest.
+
+       2007-02-20  Chris Toshok  <toshok@ximian.com>
+
+               * XplatUIX11.cs (WaitForHwndMessage): we need to loop until we get
+               the message we need.  PeekMessage returning false should not be a
+               condition under which we exit the loop.
+
+       2007-02-15  Chris Toshok  <toshok@ximian.com>
+
+               * Control.cs (Refresh): only refresh if we've got a handle and are
+               visible.
+               (CreateAccessibilityInstance): CreateControl() here.
+               (UpdateChildrenZOrder): complicate the code loop even more by
+               taking into account controls that haven't had their handle
+               created, and those that aren't visible.  But on the flip side,
+               simplify the code by splitting it into two loops.  one which
+               builds up the list of child controls we're interested in, and the
+               other that sets the z order of those children.
+
+       2007-02-14  Chris Toshok  <toshok@ximian.com>
+
+               * Control.cs: Control.AccessibilityObject causes the control to be
+               created, not just the handle.
+
+       2007-02-14  Chris Toshok  <toshok@ximian.com>
+
+               * Control.cs: rework UpdateChildrenZOrder to correctly handle the
+               problem on X where a window might have its handle created (and be
+               visible) while the window is unmapped.  calling XConfigureWindow
+               on an unmapped window is bad, and generates X errors.
+
+       2007-02-13  Chris Toshok  <toshok@ximian.com>
+
+               * Control.cs (CreateHandle): don't loop over our children setting
+               their parent here.  do it when in WndProc when we're shown.
+               (UpdateChildrenZOrder): make this internal so we can call it from
+               ScrollableControl.
+               (WndProc): for WM_SHOWWINDOW, reparent the child control after
+               creating its handle.  Also, remove the calls to PerformLayout from
+               here.  they're done in ScrollableControl.OnVisibleChanged.  Also,
+               OnVisibleChanged only seems to be called directly here for the
+               toplevel control.  It's propagated down the window hierarchy by
+               calls to child.OnParentVisibleChanged.
+               (OnVisibleChanged): don't do layout here - it's done (oddly
+               enough, according to a glance at stack traces on ms.net..) in
+               ScrollableControl.
+               
+               * ScrollableControl.cs (OnVisibleChanged): make sure we update the
+               z order of our children before calling PerformLayout.
+
+       2007-02-12  Chris Toshok  <toshok@ximian.com>
+
+               [big change, fixes #80020]
+               
+               * AccessibleObject.cs: we need to make owner internal again to fix
+               some of ControlAccessibleObject.
+
+               * Control.cs: lots of changes here.  add support for WM_CREATE,
+               for which we generate OnHandleCreated.  Remove the OnHandleCreated
+               call from CreateHandle.  Also add support for WM_SHOWWINDOW where
+               we create child controls.  leave the MonoTODO's for the
+               accessibility calls, but fix the exceptions so the tests pass.
+
+               Add the InvalidOperationExceptions to Invoke methods, and remove a
+               couple of InvokeInternal methods we aren't using.
+               
+               Also, add a couple of CreateHandle calls in places where we know
+               the handles are being created but our code doesn't reference
+               .Handle.
+
+               Make SetVisibleCore call OnVisibleChange if the handle isn't
+               created.  If the handle is created, we rely on XplatUI.SetVisible
+               generating the event synchronously.
+               
+               Lastly, make sure we don't use this.Handle inside CreateHandle,
+               because we can call back into client (and that code can dispose of
+               the control).
+
+               * XplatUIStructs.cs: misc/cleanup.
+
+               * XplatUIX11.cs: Map/Unmap X events correspond to WM_SHOWWINDOW,
+               although we don't populate the wParam properly.
+               (CreateWindow): generate WM_CREATE.
+               (MapWindow,UnmapWindow): make these calls synchronous, at great
+               performance expense (particularly in the unmap case), to match
+               win32 behavior.
+
+               * Form.cs (.ctor): remove the call to UpdateBounds. we don't need
+               to call it.
+               (set_MdiParent): don't recreate the handle unless it's been
+               created already.
+               
+               * MdiClient.cs (OnResize): don't InvalidateNC Parent.Handle unless
+               it's created.
+
+               * NativeWindow.cs: this is probably the weirdest part of the
+               patch.  We need a way to link up the window being created to the
+               WM_CREATE message.  Since we can only be creating one window at a
+               time on a given thread, we keep track of a per-thread reference so
+               we can dispatch it properly.  We also need to keep track of the
+               Hwnd currently being created so that the win32 backend doesn't
+               have problems.
+               
+               * XplatUIWin32.cs: a similar change to the one we made in
+               NativeWindow.cs.
+
+2007-03-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Make CalculatePreferredSize virtual.
+       * ToolStripMenuItem.cs: Modify CalculatePreferredSize and OnPaint
+       to draw the menu shortcut string.
+
+2007-03-07  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Add the 2.0 collapse method.
+
+2007-03-07  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridViewColumn.cs: Fix HeaderText behaviour (Bug #80746).
+
+2007-03-07  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridView.cs: Change DataSource will clear column and row
+       lists. Call Invalidate() to reflect DataSource change.
+
+2007-03-07  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridView.cs: Add rows when DataSource is System.Data.DataView
+       and a new row is added to it.
+
+2007-03-07  Pedro Martínez Juliá  <pedromj@gmail.com>
+
+       * DataGridView.cs: Add columns when DataSource is en empty list but
+       is a System.Data.DataView (from a System.Data.DataTable).
+
+2007-03-06  Andreia Gaita  <avidigal@novell.com>
+
+       * Label.cs: Implement AutoEllipsis (2.0)
+
+2007-03-06  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Implement 2.0 TopNode setter property.
+       - Use a local var instead of the skipped_nodes field for computing
+       how many nodes to skip.  Otherwise we won't scroll because the
+       valuechanged handler checks if skipped_nodes is equal to the new
+       value.
+       - Implement 2.0 Sort method.
+       - Add useless 2.0 DoubleBuffer property
+       - Implement 2.0 LineColors property.  Lets you change the color of
+       the lines in the tree. Terribly useful for creating non cohesive
+       desktops.
+       - Implement 2.0 image key feature.
+
+2007-03-06  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We can't get the bounds of the nodes before raising
+       the AfterSelect event, because that event could change the node's
+       bounds (scrolling, font change, etc).
+
+2007-03-06  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIWin32.cs: When faking styles don't remove the WS_VISIBLE flag.
+       * Form.cs: Don't recreate handle when creating FormWindowManager, just
+         update window styles. In CreateParams us VisibleInternal instead of
+         VIsible to get the actual visible flag set for this form.
+       * FormWindowManager.cs: Activate the form whenever the mouse clicks on
+         the nc area. Fixes #81042. Also fix HandleTitleBarDoubleClick to
+         handle the case when the form is already maximized, in which case
+         it should be restored. Fixes #81043.
+
+2007-03-06  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Tool windows still get wm styles. Fixes toolwindows showing up with double decorations.
+
+2007-03-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeViewHitTestInfo.cs: implement.
+
+2007-03-05  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: class status fix.
+
+2007-03-05  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * InternalWindowManager.cs: All windows that have a parent
+       are confined to their parent when they're being moved.
+       Fixes #80822.
+
+2007-03-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SystemInformation.cs: Marked KeyboardDelay and KeyboardSpeed public
+       on 2.0 profile. Fixes bug #81018. Small code formatting fixes.
+
+2007-03-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ThemeWin32Classic.cs: ManagedWindowSetButtonLocations: Make all
+         buttons invisible before deciding which ones should be visible
+         (fixes minimize/maximize buttons showing up in toolwindows). Remove
+         an unused variable.
+       * InternalWindowManager.cs: Remove warning.
+
+2007-03-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add a check in ListViewItemCollection.RemoveAt
+       to throw an InvalidOperationException is virtual mode is being used.
+
+2007-03-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * SplitContainer.cs, SplitterPanel.cs, StatusStrip.cs, TableLayoutPanel.cs,
+       ToolStrip.cs, ToolStripContainer.cs, ToolStripContentPanel.cs,
+       ToolStripControlHost.cs, ToolStripDropDownItems.cs, ToolStripItem.cs,
+       ToolStripMenuItem.cs, ToolStripOverflowButton.cs, ToolStripPanel.cs,
+       ToolStripPanelRow.cs, ToolStripProfessionalRenderer.cs, ToolStripSplitButton.cs,
+       ToolStripStatusLabel.cs, ToolStripTextBox.cs: Corcompare work.
+
+2007-03-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUI.cs: Fixed returning driver.KeyboardSpeed instead of
+         driver.KeyboardDelay from XplatUI.KeyboardDelay 
+       * XplatUIW      in32.cs: Implemented KeyboardSpeed/KeyboardDelay properties
+         (patch by Sergey Volk)
+
+2007-03-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ToolWindowManager.cs: Added, contains logic for
+         tool windows.
+       * CreateParams.cs: Add a few helper methods and an
+         internal variable to know which control the CreateParams belongs
+         to.
+       * Control.cs: Call Form.ChangingParent when the
+         parent is about to be changed.
+       * XplatUIX11.cs: DeriveStyles (): Set
+         caption_height for all windows that have captions and are children.
+         Update to use ToolWindowManager instead of InternalWindowManager
+         for ToolWindows.
+       * XplatUIWin32.cs: Set fake window styles for all
+         windows that have window managers.
+       * MdiWindowManager.cs: Added MaximizedTitleButtons (buttons are
+         now duplicated for mdi windows when they are
+         maximized, first for the buttons the window itself has, then for
+         the buttons that appear in the menu bar. Makes things a little
+         easier). Updated UpdateWindowDecorations, SetWindowState and the
+         mouse eventhandlers accordingly.
+       * Form.cs: Add ChangingParent (), contains the
+         logic of what should happen when the parent changes. In MdiParent
+         don't set things that ChangingParent () is doing. When handling
+         WM_CLOSE, we can close the form if there are any other modal forms
+         and the current form is a descendent of the modal form.
+       * InternalWindowManager.cs: A lot of refactoring,
+         the title buttons are now extracted to a separate container class
+         that takes care of all button code (clicks, tooltips, etc). Moved
+         Iconic|Maximized|Normal Bounds properties to this class from
+         MdiWindowManager, so that the window state logic can succeed for
+         other than mdi wm's. Implemented general window state change logic.
+         Moved CreateButtons to ThemeWin32Classic, since the theme might
+         override which buttons are available when as well as the exact
+         location.
+       * FormWindowManager.cs: Added, contains logic for
+         normal forms.
+       * ThemeWin32Classic.cs: ManagedWindowSetButtonLocations now decides
+         which buttons go where (and if they are at all visible). 
+         Removed special handling of maximized windows, since they aren't special. 
+         In DrawManagedWindowDecorations don't try to draw the text if it is
+         empty.
+       * MdiClient.cs: ArrangeIconicWindows: Don't  calculate any sizes, 
+         use whatever the wm gives us.
+
+2007-03-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ButtonBase.cs: Add 2.0 properties.
+       * Button.cs: Override Draw for 2.0.
+       * Control.cs: Add Entered and Selected properties.
+       * FlatButtonAppearance.cs, TextFormatFlags.cs, TextImageRelation.cs,
+       TextRenderer.cs: Make internal for 1.1 to unify drawing code.
+       * Theme.cs: New abstract functions for drawing Standard, Flat, Popup
+       buttons.
+       * ThemeWin32Classic.cs: Implement layout calculations for 2.0 buttons.
+
+2007-03-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Don't use 2.0 methods in 1.1 code.  :/
+
+2007-03-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Register a new class with Windows each time we get
+       a new ClassStyle.  [Fixes bugs #79432, #80817]
+       * Controls.cs: Set the correct ClassStyle in CreateParams.
+       * ToolStripDropDown.cs: Don't request an invalid ClassStyle.
+
+2007-03-01  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Add fireEvent argument to ReorderColumn since the
+       ColumnReordered event must not be signaled when modifying DisplayIndex
+       of a ColumnHeader. Added internal ReorderColumns method which takes
+       care of drawing, and updating the internal DisplayIndex of the
+       ColumnHeader. Added AddColumn method which is invoked from
+       ColumnHeaderCollection when adding or inserting columns, and which
+       ensures that reorder_columns_indices is kept in sync. Avoid redrawing
+       after adding each ColumnHeader in ColumnHeaderCollection.AddRange.
+       Recalculated dispay indices after removing a ColumnHeader.
+       * ColumnHeader.cs: Save DisplayIndex separately from ListView to
+       match MS. Allows last display index to be returned after ListView
+       is disposed. Update actual location of ColumnHeader when DisplayIndex
+       is modified.
+
+2007-03-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * LinkLabel.cs: Improve CalcTrimRectangle.
+       
+       * ThemeWin32Classic.cs: Fix some compilation problem under VS 2003.
+
+2007-02-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * LinkLabel.cs: Rename CalcMeasurementFactor as CalcTrimRectangle and
+       get rectangle as a result value.
+
+2007-02-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * LinkLabel.cs: Theres some diferences between rectangle return from 
+       MeasureCharacterRanges and the area used for DrawString to fix this 
+       CalcMeasurementFactor method was created, it calcules the diferences
+       to be use later to adjust rectangle in draw operations. Fixes #80473.
+       
+       * ThemeWin32Classic.cs: Use factor calculated by CalcMeasurementFactor
+       to adjust draw rectangle.
+
+2007-02-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: In DrawLinkLabel draw focus rectangle before draw
+       text and some other changes to reduce and optimize source code.
+
+2007-02-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * RadioButton.cs: Implement 2.0 event.
+       * RelatedImageListAttribute.cs: Implement new class.
+
+2007-02-27  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Change keynav_state before call SelectItem. Fixes #80901.
+
+2007-02-27  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CheckBox.cs: Implement 2.0 functionality.
+
+2007-02-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Refactor Add and AddRange methods of
+       ListViewItemCollection, to not update the ListView
+       everytime an item is added in AddRange. Also move the update
+       code to a new CollectionChanged method, and call it
+       from other methods that need it as well (this should also fix some
+       bugs when Sorting is used).
+
+2007-02-27  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Try to never let the caret stay in a non-text
+       tag.
+       * TextBoxBase.cs: Update the caret.
+
+2007-02-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIStructs.cs: Add some convenience methods for POINT structure.
+       * XplatUIWin32.cs: Add some convenience methods for RECT structure,
+       delete POINT structure, duplicate of one in XplatUIStructs.
+       * TextRenderer.cs: Use XplatUIWin32.RECT instead of UXTheme.RECT.
+
+2007-02-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Initialize LabelEditEventArgs after setting Text of
+       edit box since otherwise the Label would immediately be set (even if
+       the user did not modify the label). In OnKeyDown set Handled to true
+       if Return or Escape was pressed. In ColumnHeaderCollection unlink
+       columns that are to be removed. In ListViewItemCollection unlink items
+       that are to be removed.
+
+2007-02-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: If we set a GDI clip region, we need to clear
+       it when we are done.  [Fixes bug #80949]
+
+2007-02-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Wrap checking ShowWithoutActivation in a NET_2_0 block.
+
+2007-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: I forgot to commit the changes for ListView 
+       in my previous patch.
+
+2007-02-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Clipboard.cs: Partially implement an overload of SetDataObject.
+       * Form.cs: Implement ShowWithoutActivation.
+       * XPlatUIWin32.cs: Fix for WM_SHOWNOACTIVATE for forms.
+
+2007-02-23  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       This is a first set of changes to make the Virtual mode works,
+       by avoiding the retrieval of ListViewItem instances until
+       draw time.
+
+       * ListView.cs: Store item position in the ListView instead of the
+       ListViewItem, this way we don't request the Bounds property of
+       ListViewItem inside the ListView calculations, as well as cache the item
+       size in item_size field. Store indexes instead of ListViewItem
+       instances in the matrix used by icon view. Add a ItemMatrixLocation
+       struct to hold the row and col info of the matrix info.
+
+       * ListViewItem.cs: Don't store the location anymore, and only cache
+       the rectangles for GetBounds. Use the ListView.GetItemLocation
+       method to retrieve the actual location.
+
+2007-02-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Add clipping support, thanks to George.
+       [Fixes bug #80949]
+
+2007-02-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListViewItem.cs: Cancel label edit when item is removed from 
+       ListView.
+       * ListView.cs: Move setting of focus to EndEdit. Fire BeforeLabelEdit
+       event before the edit textbox is displayed.  Added CancelEdit method
+       which is used end to editing while ignoring the value set by the
+       user. In EndEdit, set focus to ListView to avoid losing focus to
+       other controls. In ListViewItemCollection.Clear, cancel editing of
+       any of the items.  In Remove, cancel editing of item being removed.
+       Avoid udplicate code by modifing RemoveAt to invoke Remove.
+
+2007-02-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Update FSEntry when move is successful. Fixes
+       bug #80948.  
+
+2007-02-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * MainMenu.cs: Change Draw method to take care about MenuOrigin to be 
+       compatible with non X11 systems. Fixes #80901.
+
+2007-02-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Added bool argument to UpdateMultiSelection to specify
+       whether the item should be unselected and reselect. We do no want this
+       when we're starting to edit the label. Do not fire the 
+       SelectedIndexChanged event from ListView when its already been fired
+       by modifying ListViewItem.Selected. Fixes bug #80943.
+
+2007-02-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Previos commit logic was backwards.
+
+2007-02-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Don't add padding on MeasureText if we were
+       sent the NoPadding flag.
+
+2007-02-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Invert order of drawing operation with DrawImage
+       after DrawButton. To prevent image overlaps button borders SetClip and 
+       ResetClip added before and after draw image. Fixes #79129.
+
+2007-02-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * FolderBrowserDialog.cs: Use ClientSize instead of Size to specify 
+       window size, it fix problem when you run under win32 that theres
+       Size diferent than ClientSize. Also fix controls size and positions
+       to mimic Win32. Fixes #80837.
+
+2007-02-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: Handle WM_NCHITTEST and return HTMENU when point is on 
+       menu area to fix some problems for non X11 systems. Fixes #80613.
+
+2007-02-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: When a node is expanded, set its is_expanded flag
+       even if it doesn't have any children.
+
+2007-02-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Calculate the top node 'on the fly', this
+       eliminates issues where you need to click on the tree before
+       scrolling it to get the top node computed correctly.
+       * TreeNodeCollection.cs: We don't need to mess with the top node
+       anymore.
+
+2007-02-22  Jackson Harper  <jackson@ximian.com>
+
+       * DataGridViewRow.cs: Fix typo so height can actually be set.
+       Patch by Peter Grimm.
+
+2007-02-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Fixed support for renaming files and directories.
+       * ListView.cs: Do not lose focus when edit is canceled. Process
+       Escape as regular key (to prevent closing of dialogs).
+
+2007-02-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Removed TODO for LabelEdit. Removed extra tabs and
+       spaces. Changed spaces to tabs. Removed unnecessary init of bools.
+
+2007-02-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: LabelEditEventArgs.Label now returns null when user
+       did not modify label.
+       * ListView.cs: Only set LabelEditEventArgs.Label if user actually
+       modified the text. Reset Label when user presses Escape in edit mode.
+       Move focus to ListView after having cancelled or finished editing the
+       label.
+
+2007-02-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: Removed unnecessary initializations. Marked items field
+       private. Clear textbox when Text is set to null and SelectedIndex is
+       already -1.
+       * FileDialog.cs: Removed unnecessary initializations. Removed 
+       workarounds for ComboBox bugs that are now fixed. Modified
+       DefaultExt, InitialDirectory and Title property to change null to
+       zero-length string in getters. Avoid directly accessing fields.
+
+2007-02-20  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Remove RecalAlignments call, that was some
+       debugging leftovers.
+       - Don't use the line indent when we shouldn't.
+       * RichTextBox.cs: Add support for paragraph left indents.
+
+2007-02-20  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Fix BeginInvoke signature for 2.0 profile.
+       Seems like the class status pages doesn't catch params differences.
+
+2007-02-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: Removed extra tabs. Changes spaces to tabs.
+
+2007-02-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: Setting Text should have no effect if item text of
+       selected item exactly matches value. First lookup text using
+       case-sensitive comparison, and fallback to case-insensitive comparison.
+       FindString(Exact) returns -1 if search string is null. On 2.0 profile, 
+       allow startIndex to be last index. Changed ArgumentOutOfRangeException
+       paramname to match MS. Restart from first item if string is not found
+       after startIndex. Fixed paramname of ArgumentNullException that is
+       thrown for null value in ObjectCollection.Contains.
+
+2007-02-19  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIStructs.cs: WM_XXX UISTATE elements uncommented.
+
+2007-02-19  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ListControl.cs: In SelectedValue use value.Equals to compare for
+       equality instead of ==, otherwise it will fail for strings.
+       Fixes #80794.
+
+2007-02-19  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+       
+       * ComboBox.cs: Switch the order to ShowSelection and ActivateCaret,
+       since the caret won't show up unless ShowSelection is true. 
+       Fixes #80795.
+
+2007-02-19  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Application.cs: When disabling all forms but the main form, do not
+         disable any descendants of the main form (such as mdi children or
+         other parented forms). Fixes #80822 on Windows.
+       * Form.cs: If we have a parent, set the WS_CHILD style.
+       * Control.cs: Update the window styles if the control whose parent has
+         changed is a form (the WS_CHILD style has to be switched).
+
+2007-02-19  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIStructs.cs: MsgUIState structure added.
+
+2007-02-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Removed need for separate fileName field. On 2.0
+       profile, do not check filename(s) for illegal character if filename(s)
+       were set non-interactively but always check on 1.0 profile. Fixed NRE
+        in DefaultExt and only strip off first leading dot. Improve exception
+       message when invalid Filter is set. Do not ignore InitialDirectory if
+       it does no exist. Store specified Title, and if empty use default
+       title (depending on type of dialog). Added an internal DialogTitle 
+       property for retrieving dialog title. Fixed logic of displayed dir to
+       more closely match MS. Avoid setting ComboBox.Text to a zero-length 
+       string as its buggy.
+       * OpenFileDialog.cs: In OpenFile, throw ArgumentNullException if
+       FileName is a zero-length string (it can never be null). Override 
+       DialogTitle property to set default title of dialog box.
+       * SaveFileDialog.cs: Override DialogTitle property to set default
+       title of dialog box.
+
+2007-02-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * FileDialog.cs: Modify default text of filename and filetype labels
+       to match that of MS. Reset do_not_call_OnSelectedIndexChanged...
+       after we've updated the SelectedIndex. Fixes part of bug #80887.
+       * SaveFileDialog.cs: Set text of filetype label.
+
+2007-02-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * LabelEditEventArgs.cs: New internal SetLabel method, to set the
+       label field. Needed by latest Jackson's fixes for ListView.
+
+2007-02-16  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintPreviewControl/PrintPreviewDialog: Properly dispose of 
+       print preview images.
+
+2007-02-16  Jackson Harper  <jackson@ximian.com>
+
+       * ListView.cs: Make AfterLabelEdit work correctly.
+       * FileDialog.cs: After changing the name of the folder, we have to
+       make sure that it is created, or that we pop up an error because
+       it already exists.
+
+2007-02-16  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Implement aliases on mime handlers, so things like
+       System.String are mapped to text.
+       - Handle dataobjects, getting all the possible formats out of them
+       - We dont need the drag event args before we give feedback. This
+       allows feedback cursors to be immediate before selections have
+       been converted.
+
+2007-02-16  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Modified the method for inserting images to
+       taking a line and position instead of tag and position.
+       * RichTextBox.cs: Handle PngBlip data by inserting the png image
+       into the RTF file.
+       * TextControl.cs: Allow images to be inserted as the first tag of
+       a line.
+       - Fix some off by one issues when we assume the first tag is a
+       text tag, not an image tag.
+
+2007-02-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Set focus to ListView when ItemControl gets a
+       WM_RBUTTONDOWN message, to mimic .Net behaviour. 
+       Fixes part of #80467.
+
+2007-02-15  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: Call RecreateHandle if the Format changes and
+         validate Text input (if null or empty string reset Value to default
+         value). Fixes #80830.
+
+2007-02-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Set owner as null for columns and items when
+       Dispose is invoked. Fixes #80607.
+
+2007-02-14  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs: Allow LayoutStyle.Flow, make sure to call OnOpening when
+       showing DropDowns, don't show a Grip when doing Flow layout.
+       [This fixes the toolbox in PDN 2.72.]
+       * ToolStripItem.cs: Add Anchor property and some internal properties to
+       reduces needed changes to FlowLayout.
+       * ToolStripOverflow.cs: Remove unused variable.
+       * ToolStripSplitStackLayout.cs: If a ToolStripItem isn't visible, don't
+       use it in the layout calculations.
+
+2007-02-13  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolTip.cs: Add HotkeyPrefix.Hide to MeasureString format, it fix an issue
+       reported in #79640.
+       
+       * ThemeWin32Classic.cs: Uses format for MeasureString in ToolTipSize to fiz
+       size calculation.
+
+2007-02-13  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs, ToolBarButton.cs: Revert and remove HotkeyPrefix from 
+       MeasureString format, it can make button very large in some cases, it is
+       strange but is what win32 do.
+
+2007-02-13  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs, ToolBarButton.cs: Uses format in MeasureString to fix string 
+       size calculation.
+
+       * ThemeWin32Classic.cs: Set HotkeyPrefix in toolbar text format to fix text
+       rendering, the value is based on MenuAccessKeysUnderlined.
+
+2007-02-13  Everaldo Canuto  <everaldo@simios.org>
+
+       * Theme.cs: Change MenuAccessKeysUnderlined to "true" that is value used
+       for most themes.
+       
+       * ThemeWin32Classic.cs: Override MenuAccessKeysUnderlined as false.
+       
+       * ThemeNice.cs, ThemeGtk.cs, ThemeClearlooks.cs: Remove always_draw_hotkeys
+       and use MenuAccessKeysUnderlined instead.
+
+2007-02-13  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Focus fix for nunit treeview selection bug.
+       A selected control would not get a Focus call if:
+               - the default active control of the container is the same as
+                 the one that was selected
+               - we are switching from one container to another
+       Under these conditions, the container being selected already has
+       an active_control, which is the same as the one being activated, 
+       so set_ActiveControl would always return and not send the Focus
+       call. Fix to check if the currently active control of the container
+       is actually focused.
+
+2007-02-13  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Implement the spring layout.
+       * ToolStripControlHost.cs: Make sure the hosted control's visibility
+       always matches the host.
+       * ToolStripItem.cs: Write a more accurate layout for TextBeforeImage
+       and TextAfterImage.
+
+2007-02-13  Andreia Gaita  <avidigal@novell.com>
+
+       * Control.cs: Code reorganization only.
+         - Reorganize the WndProc cases so that each case has it's own handling method, 
+         to help with the no-line-numbering stack traces.
+         - Formatting changes (it's vstudio's fault, really :p)
+
+2007-02-13  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * MonthCalendar.cs: Switch to using Thread.CurrentCulture instead of
+         Thread.CurrentUICulture to match DateTimePicker's (and MS)
+         behaviour.
+
+2007-02-12  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs:
+       * TextBox.cs: By default we have a non multiline document
+       - use the multiline property instead of the internal variable
+       * TextBoxBase.cs: Treat multiline and non multiline the same in
+       most places.
+       - Use the documents multiline flag instead of tracking it ourself
+       * TextControl.cs: Attempt at getting multiline to match MS
+       behavior.  Lines now track an offset, which is either their X or Y
+       offset depending on whether or not we are in multiline mode.
+       - Update all the methods to understand that lines have an X value.
+       - Fix crash in Undo::Duplicate when empty lines are deleted.
+
+2007-02-12  Everaldo Canuto  <everaldo@simios.org>
+
+       * Label.cs: CalcPreferredHeight and CalcPreferredWidth methods removed and 
+       code moved to properties PreferredHeight and PreferredWidth. It solve the
+       all problems when preferred sizes must be recalculated. Fixes #80801.
+
+2007-02-12  Everaldo Canuto  <everaldo@simios.org>
+
+       * Label.cs: Fix CalcPreferredHeight for 2.0 that must return only
+       font height when compatible_text_rendering is false. Partially fix #80801.
+
+2007-02-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Form.cs: Fixed typo in exception message. Fixes bug #80779.
+
+2007-02-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Form.cs: Improved exception messages in ShowDialog.
+
+2007-02-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PrintDialog.cs: On 1.0 profile, throw ArgumentException in RunDialog if
+       PrinterSettins has not been set. On 2.0 profile, initialize PrinterSettings
+       if not set. Fixes bug #80764. Avoid accessing current_settings field
+       directly.
+
+2007-02-08  Everaldo Canuto  <everaldo@simios.org>
+
+       * Theme.cs: An new property MenuAccessKeysUnderlined added with default value
+       false.
+
+       * SystemInformation.cs: An new property MenuAccessKeysUnderlined added, it is
+       public in 2.0 and for easy maintenance and dont break compatibility it is 
+       internal in 1.1.
+       
+2007-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripItem.cs: Implement using images from ImageList.
+
+2007-02-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: Change default date-formatting culture from
+         CurrentThread.CurrentUICulture to CurrentThread.CurrentCulture,
+         seems to be the way MS does it.
+
+2007-02-08  Andreia Gaita  <avidigal@novell.com>
+
+       * PrintPreviewControl.cs: rewrite toolbar code to fix #80725. Correct 6-up image 
+       (the 6 was cut off on the right side)
+
+2007-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Tell MenuStrips to close when the form is clicked.
+       * MenuStrip.cs, ToolStrip.cs, ToolStripControlHost.cs, 
+       ToolStripDropDown.cs, ToolStripDropDownItem.cs, ToolStripItem.cs,
+       ToolStripItemCollection.cs, ToolStripMenuItem.cs, ToolStripProfessionalRenderer.cs,
+       ToolStripSplitButton.cs, ToolStripSplitStackLayout.cs: Add 
+       support for Overflow, where items that do not fit are automatically
+       reparented to a drop down menu.
+       * ToolStripOverflow.cs, ToolStripOverflowButton.cs: Added.
+       Also: fixes bug #80747.
+
+2007-02-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * ComboBox.cs: Remove warning (unused code).
+       * ScrollableControl.cs: Remove warning for 1.1 profile.
+
+2007-02-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Form.cs: Remove a warning.
+
+2007-02-08  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * DateTimePicker.cs: Fixed a NRE if CustomFormat was null. Handles the
+         'g' specifier, not documented anywhere, but seems to always show up
+         as a single space (might have something to do with the DateTime 'g'
+         specifier, which is the era format, but since DateTimePicker can't
+         go earlier than 1753 it wouldn't matter) . Fixed quote handling,
+         won't crash if the format has an unmatched quote. Now shows
+         single-character formats correctly. Fixes #80744.
+
+2007-02-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Stretch property needs to call base.Stretch,
+       not this.Stretch to fix stack overflow. [Fixes bug #80760]
+
+2007-02-07  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs (DrawButtonBase): don't clear to the
+       background color.  it overwrites the background image we've
+       already painted.  Fixes #80599.
+
+2007-02-07  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: return immediately from Edit() when there are no
+       columns.  Fixes #80662.
+
+2007-02-07  Chris Toshok  <toshok@ximian.com>
+
+       * MessageBox.cs: fix #80625.  don't always show the Help button in
+       2.0.  use the displayHelpButton parameter to determine if we
+       should show it. Also, make the internal show_help field private.
+
+2007-02-07  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (SetVisibleCore): check in the proposed patch for
+       80604, and set is_visible before calling CreateControl.
+
+2007-02-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ListView.cs: UseCompatibleStateImageBehavior setter changed from NIEX to 
+       MonoInternalNote.  This is added automagically by VS2005, so let's not crash
+       on it.
+
+2007-02-06  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: hotkey_active internal field added, it is required because
+       we need to know when hotkeys must be draw, before this change a keystate
+       Navigating was used but we can have menu in navigating state without
+       hotkeys. Fixes #80694.
+       
+       * ThemeWin32Classic.cs: Only draw hot keys when hotkey_active is true.
+
+2007-02-06  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Control.cs: Handle WM_CAPTURECHANGED in 1.1 code as well, and change
+         corresponding events and methods to be internal for 1.1 profile and
+         public for 2.0 profile (required by SizeGrip).
+       * Form.cs: Use SizeGrip as a virtual SizeGrip (and don't add it to the
+         implicit control list). Don't set the size nor the location of the
+         SizeGrip anymore as it's not needed.
+       * SizeGrip.cs: Rewrote large parts, it now supports a virtual mode to
+         draw directly on the captured control (fixes #80656). Removed
+         ShowGrip (it wasn't used anywhere), redraw (always true), added
+         GetDefaultSize and GetDefaultRectangle to calculate defaults.
+       * ScrollableControl.cs: Make UpdateSIzeGripVisible internal so it can
+         be called from SizeGrip.
+
+2007-02-06  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * Timer.cs: Throw ArgumentException if Interval <= 0.
+
+2007-02-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We need to check scrollbar visibility when window
+       visibility is updated, because non visible trees don't ever add
+       scrollbars.
+       * Cursor.cs: We want the override cursor to be reset to NULL when
+       we set current cursor to the default cursor.
+
+2007-02-05  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Don't have crlfs when we are non multiline.
+       - Consolidate the line position.
+
+2007-02-05  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: BACK+CTRL gets a special char code.
+
+2007-02-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: Implemented WM_CAPTURECHANGED support, we're now
+         handling LeaveNotify->NotifyUngrab in order to send
+         WM_CAPTURECHANGED. However sometimes the NotifyUngrab arrives late
+         after calling XUngrabPointer, so we call WindowUngrabbed directly
+         from UngrabWindow in order to send WM_CAPTURECHANGED immediately.
+       * Control.cs: Handle WM_CAPTURECHANGED in order to raise
+         MouseCaptureChanged correctly. Also create handles if changing
+         Capture (matches MS behaviour).
+
+2007-02-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * SizeGrip.cs: Make the last change 2.0 only.
+
+2007-02-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * SizeGrip.cs: If resizing and the capture is lost, revert any size
+         changes to initial size (fixes #80597).
+
+2007-02-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * SizeGrip.cs: Use the normal icon for SizeGrip if it is disabled.
+
+2007-02-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * SizeGrip.cs: Only draw sizegrip if enabled (but always draw
+         background) and only allow dragging if enabled. This way the
+         sizegrip can be used to fill the open square that otherwise would
+         have been shown in the bottom right corner of ScrollableControl
+         when ScrollableControl is not suppose to support sizing.
+       * ScrollableControl.cs: Create UpdateSizeGripVisible to decide when the
+         sizegrip is shown and enabled, and hook up with necessary events.
+
+2007-02-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: clean up the
+       GetFormattedString/GetColumnValueAtRow combination of functions.
+       Also fix UpdateUI, and the initial state of
+       IsInEditOrNavigateMode.
+
+       * DataGridTextBox.cs: don't chain up to base.OnMouseWheel - we
+       aren't supposed to scroll the textbox here, we're supposed to
+       scroll the datagrid.
+
+2007-02-01  Chris Toshok  <toshok@ximian.com>
+
+       * ComboBox.cs: use vscrollbar_ctrl.Dock instead of explicitly
+       setting the position.
+
+2007-02-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (OnLeave): we can now do the CancelCurrentEdit thing
+       here, since the most recent focus fixes keep us from generating
+       the Leave event when our textbox gets focus.
+       (Edit): we should be passing null for the column style's
+       instantText parameter.
+       
+2007-02-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDownItem.cs: Make sure DropDownOpening event is 
+       raised.  Fixes menu text/icons not showing up in PDN.
+
+2007-02-01  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Remove code in constructor that makes every
+       control with WS_CHILD set have initial location -1, -1.
+
+2007-01-31  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Take the keyboard on init to reduce coupling with
+       XplatUIX11.
+       * XplatUIX11.cs: Give teh keyboard to teh dnd.
+
+2007-01-31  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Use IDataObject instead of the DataObject class.
+       - Remove some debug code.
+
+2007-01-31  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: If you set the override cursor during a grab, it
+       should actually override the grab cursor.  This comes into play
+       when you are setting custom cursors in a DND feedback method.
+
+2007-01-31  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Add support for handling the QueryContinue and
+       GiveFeedback events.
+       - Cancel drag and drop actions when the escape key is clicked.
+       * XplatUIX11.cs: Let the dnd subsystem get key events, so that it
+       can handle the ESCAPE key.
+       - Allow dnd to swallow BUTTONUP messages if it needs to.  This is
+       done when dnd events are continued after the button is released.
+       - Add a new helper method so that dnd can translate key events.
+
+2007-01-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Rewrite of Jacksons OnClickCancelButton patch to
+       make it more obvious what is happening.
+
+2007-01-30  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Don't break when handling button release in drag
+       and drop operations. We need that BUTTONUP message to get through
+       so capture is released.
+       * X11Dnd.cs: We don't need to manually grab the pointer anymore,
+       this is handled automatically when the mouse is down.
+
+2007-01-30  Jackson Harper  <jackson@ximian.com>
+
+       * FileDialog.cs: OnClickCancelButton gets called whenever the dialog
+       is closed, so we need to make sure that we aren't changing the
+       dialog result when the OK (Open or Save) button has been clicked
+       and we are closing the window ourselves.  Note we don't need to
+       worry about the cache being written in this case, because it was
+       already done in the previous FilOk call.
+
+2007-01-30  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * DateTimePicker.cs: Remove a warning.
+       * ComboBox.cs: Remove a couple of warnings.
+
+2007-01-29  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: don't crash, and remove the icon if the user has
+       set one, if SetIcon is passed a null icon.
+
+2007-01-29  Andreia Gaita  <avidigal@novell.com>
+
+       * TextBox.cs: Redraw when the password characters changes
+       * TextControl.cs: Check if textbox has a password char and draw 
+       a line of password chars instead of the text in the line. LineTag gets 
+       an extra Draw() method which allows document.Draw to override the text 
+       that will be drawn. Removes 1024 char limitation on length of passworded 
+       lines.
+
+2007-01-29  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Deleting sections of text is undoable.  Deleting
+       single chars is not.
+
+2007-01-28  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Fix cutting off the bottom of letters like "j" by
+       one pixel.  Fix a StackOverflowException caused by an overload wrongly
+       calling itself.
+
+2007-01-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Fixed kerboard grab problem when "enter"key is pressed,
+       also remove ProcessArrowKey and put the code inside ProcessKeys.
+
+2007-01-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PaddingConverter.cs: Added.
+
+2007-01-26  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * ThemeWin32Classic.cs: Only draw the text of a StatusBar if
+       ShowPanels is false (fixes #80600). Only draw up to 127 characters
+       of text (fixes #80601). For panels clip the text to draw to the
+       panel (fixes #80603).
+
+2007-01-26  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * ComboBox.cs: Fixed implementation of ResetText.
+
+2007-01-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: For the last char of a line we need to use the
+       line size, not that chars width, since it won't actually be
+       computed since the right side of a char is based on the start of
+       the left side of the next char, and the next char does not exist.
+
+2007-01-25  Chris Toshok  <toshok@ximian.com>
+
+       * Splitter.cs: fix the new unit tests, and reindent some switch
+       statements.
+
+2007-01-25  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * ComboBox.cs: Implemented 2.0 methods and events.
+       * TextBoxBase.cs: Added OnTextUpdate, so that
+       ComboBox.ComboTextBox can inform ComboBox of it.
+
+2007-01-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Respect ShowSelection when deciding whether or
+       not to display the caret, this allows comboboxes to have carets
+       when the combotextbox does not have focus.
+
+2007-01-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Add a Suspend/Resume for updating, basically the
+       same as the Suspend/Resume for recalc, except this will do actual
+       Invalidates.
+       - New Undo manager, works much like the MS version.
+       - Implemented Redo
+       * TextBoxBase.cs: The Cut operation is undoable.
+
+2007-01-25  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * TextBoxBase.cs: Don't antialias text. Makes it look way better
+       on Windows (no difference on Linux).    
+
+2007-01-25  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatUIWin32.cs: Set SWP_NOACTIVATE in RequestNCRecalc as well,
+       we don't want to activate any windows. Fixes #79433.
+
+2007-01-25  Jonathan Pobst  <monkey@jpobst.com>
+
+       - ButtonBase.cs: Fix capitalization of parameter: disposing.
+       [Fixes bug #80609]
+
+2007-01-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs:
+       - Move to using System.ComponentModel.EventHandlerList
+       - Replace Refresh with Invalidate
+       - Clear the mime filecache on closing
+       - Some other memory reducing work. After beeing closed FD now uses
+         only about 300 KB for the fdo mime stuff plus the memory of the
+         cached icons.
+       * Mime.cs: Changed coding style and removed unnecessary commented
+       code. Some more memory memory reducing work.
+
+2007-01-25  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * ComboBox.cs: Implemented FlatStyle and DropDownHeight, and added
+       a few other missing 2.0 properties.
+       * Theme.cs: Added DrawFlatStyleComboBox.
+       * ThemeWin32Classic.cs: Implemented DrawFlatStyleComboBox.
+
+2007-01-24  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: fix the wake_waiting logic - we always clear the
+       wake_waiting flag, not just when there's data to be read.  if we
+       don't, then future wakeup's won't reach us and we'll be doomed to
+       wait for the entire 1 second timeout forever (unless there are X
+       events to be had).
+
+2007-01-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ComboBox.cs: FindStringExactMaxException doesn't throw AOORE on 2.0
+       until you pass Items.Count, not Items.Count - 1 like 1.1.
+
+2007-01-24  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ColumnHeader.cs: Fixed ParamName in ArgumentOutOfRangeException.
+
+2007-01-24  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripContainer.cs: The recent Dock fix exposed that I was
+       adding the panels in the wrong order.
+
+2007-01-24  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When we move the caret we also need to move the
+       selection, this fixes some random crashing after doing select
+       text, unselect, delete a char, paste.
+
+2007-01-24  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Form.cs: Update SizeGrip's location even if it's not visible (fixes #80592).
+
+2007-01-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: In OnParentBackgroundImageChanged remove conditions to call
+       OnBackgroundImageChanged, it mimics win32 behavior. Fixes #80553. 
+       * ToolBar.cs: Force redraw in BackgroundImageChanged.
+
+2007-01-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs:
+       - Implement support for vertical toolbars. Fixes #80539;
+       - Call LayoutToolBar when resize, it fix some other problems in layout.
+       - Rename requested_height to requested_size, as we can have width on it
+       when toolbar is vertical.
+       - Create a private property "Vertical" that uses Dock to verify when 
+       toolbar is vertical or not.
+       - Set ControlStyles when change Dock property.
+       - Refactory in LayoutToolBar to have better variables names and to support
+       vertical toolbars.
+       - Fixes default value for ButtonSize when button count is equal zero, size
+       must be (39, 36) test case writed.
+
+2007-01-23  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: fix the checks so that they work correctly for mdi
+       parents/children.
+
+2007-01-23  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: ControlCollection seems to have super-secret
+       abstraction breaking knowledge of Mdi containers.  allow MdiClient
+       to add toplevel controls.
+
+2007-01-23  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: throw an ArgumentException if a toplevel control is
+       added to our control collection from ControlCollection.Add, as
+       well as from ControlCollection.IList.Add.  This fixes the
+       ControlSetTopLevelTest.TestTopLevelAdd unit test.
+
+       Also, in ControlCollection.IList.Add, don't through an
+       ArgumentNullException, throw an ArgumentException, when value ==
+       null.  This matches MS.
+
+2007-01-23  Chris Toshok  <toshok@ximian.com>
+
+       * BindingSource.cs: initial, incomplete, implementation of
+       BindingSource.
+
+2007-01-23  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs:
+       * TextBoxBase.cs: Checking in some pieces of the undo stuff so
+       that I can fix a broken unit test (TextBoxTest::ClearUndo)
+       
+2007-01-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Add status fields to ToolBarButtonInfo.
+
+2007-01-23  Andreia Gaita  <avidigal@novell.com>
+
+       * TreeNode.cs: Add new 2.0 ImageKey and SelectedImageKey properties.
+       * TreeNodeCollection.cs: New Add() methods, ContainsKey and
+       IndexOfKey() for 2.0
+
+2007-01-23  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatWin32.cs: In RequestNCRecalc call SetWindowPos with SWP_NOZORDER
+       to prevent it from changing z-order.
+       * MdiWindowManager.cs: Refactor part of SetWindowState to MdiClient, only
+       leave UI updates in MdiWindowManager.
+       * InternalWindowManager.cs: Check for 0 sized nc areas and make them
+       1 sized (NC handling goes weird on Linux otherwise).
+       * MdiClient.cs: Add missing ExStyle (WS_EX_CLIENTEDGE), so it's no longer
+       necessary to handle WM_NCCALCSIZE anymore. This also made it possible to
+       remove a few NCRequestRecalcs. Changed calculations in IconicBounds
+       to use ClientSize of MdiClient instead of entire size. Refactored ActivateChild
+       and SetWindowState(s) to allow for changing the size of an activated child
+       before activating it (reduces a lot of flicker).
+
+2007-01-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Changing FormBorderStyle has different semantics based
+       on whether the Form is visible or not.  If not visible, don't change
+       the Size.  But InvalidateNC needs to be called to force the window
+       to pick up the changes and redraw itself.  [Fixes bug #80574]
+
+2007-01-22  Jonathan Pobst  <monkey@jpobst.com>
+
+       [Moma work]
+       * ContainerControl.cs: ProcessCmdKey.
+       * ErrorProvider.cs: new constructor.
+       * Form.cs: fix AutoValidateEvent compiler warning.
+       * Label.cs: fix OnAutoSizeChanged compiler warning.
+       * MenuStrip.cs: fix CanOverflow compiler warning.
+       * TabControl.cs: SelectTab, OnSelected methods, Selected event.
+       * TextBox.cs: Dispose.
+       * ToolStrip.cs: CanOverflow, re-enable double buffering.
+       * ToolStripControlHost.cs: fix CausesValidation compiler warning.
+       * ToolStripDropDown.cs: fix ContextStripMenu compiler warning.
+       * ToolStripItem.cs: Overflow, RightToLeft properties.
+
+2007-01-22  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Form.cs: Move the layout of the main form to MdiWindowManager.
+       * MdiWindowManager.cs: If WindowState changes from or to Maximized,
+       do a layout of the main window to update MdiClient's client area to
+       the right area. Fixes #80533. Remove the calculation of nc size, 
+       it was just wrong and the correct one is the same as for 
+       InternalWindowManager. 
+
+2007-01-20  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Setting Anchor or Dock needs to reset the other
+       to its default.  [Fixes bug #80556]
+
+2007-01-20  Chris Toshok  <toshok@ximian.com>
+
+       * CheckedListBox.cs: class status changes.
+
+       * ScrollableControl.cs: same.
+
+       * RichTextBox.cs: same.
+
+       * ContainerControl.cs: same.
+
+       * ListView.cs: same.
+
+       * NotifyIcon.cs: same.
+
+       * MenuStrip.cs: same.
+
+       * RadioButton.cs: same.
+
+       * CheckBox.cs: same.
+
+       * PrintPreviewDialog.cs: same.
+
+       * Form.cs: same.
+
+2007-01-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TreeNode.cs: Apply Alan's patch for Name property.
+
+2007-01-19  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * Form.cs: Implemented SizeGripStyle.
+       * SizeGrip.cs: Check for minimum and maximum size for the
+       control being resized and only resize if size has actually
+       changed.
+
+2007-01-19  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs: stop setting _readonly in the
+       PropertyDescriptor setter.  fixes a unit test failure.
+
+       also, rename ParentReadOnly to TableStyleReadOnly, and have it
+       just consult our table style (if we have one).  We don't need to
+       consult the datagrid readonly attribute because that's passed in
+       as the _ro arg to Edit.  this simplifies things a little.
+       
+       * DataGrid.cs: use CurrentColumn instead of
+       current_cell.ColumnNumber just to simplify some of the code.
+
+       switch the order of some things in the CurrentCell setter to keep
+       the previous cell from getting a textbox again -
+       EnsureCellVisibility causes scrolling to happen, which calls Edit.
+       So we need to set the new cell before calling it.
+       
+       call Edit in OnEnter, as does Microsoft.
+       
+       also, make sure the current table style isn't the one we create
+       initially when checking to see if it's different than the one
+       we're setting it to in BindColumns (this fixes #80421).
+
+       * GridTableStylesCollection.cs: table styles can have "" for a
+       mapping name.  part of the fix for #80421.
+
+       * DataGridTextBoxColumn.cs: simplify the readonly calculation in
+       Edit significantly.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * TextRenderer.cs: Rewrote to be complete-er, more MS-matching-er,
+       and less GDI object leaky-er.
+
+2007-01-18  Andreia Gaita  <avidigal@novell.com>
+
+       * LinkLabel.cs: Add opaque control style
+
+2007-01-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Calculate width properly.
+       - Don't store the tag's X offset, this can be figured out very
+       easily.
+       - When getting the caret tag make sure to get the last empty tag.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Recalculate our size after setting a new FormBorderStyle.
+       [Fixes bug #79959]
+
+       * Control.cs: Color.Empty shouldn't count for previous transparent
+       redraw changes.
+
+2007-01-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextBox.cs:
+       * RichTextBox.cs:
+       * TextControl.cs: Starting to merge in some pieces of my older
+       undo work.  Basically just some slight cleanup of the undo API.
+
+2007-01-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * TrackBar.cs: Fix signature of RightToLeftLayout.
+       * StatusBar.cs: Implemented missing 2.0 methods and attributes.
+       * StatusBarPanel.cs: Implemented missing 2.0 methods and attributes.
+       * Application.cs: Implemented UseWaitCursor.
+
+2007-01-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We can't skip tags if any part of the tag is
+       visible.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContainerControl.cs: Override OnLayout.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * NotifyIcon.cs: Add ContextMenuStrip and Tag properties.
+
+       * ContextMenuStrip.cs: Make sure context menu is shown on top of 
+       everything else.
+
+2007-01-18  Chris Toshok  <toshok@ximian.com>
+
+       * ContainerControl.cs: remove the partial handling of LBUTTONDOWN
+       (leftover from the container_selected days, I'd wager).  fixes bug
+       #80546.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Apply patch from George to fix the new testcase on
+       bug #80451.  We can't just check for Color.Transparent, we need 
+       to check if the back color's alpha channel is < 255.
+
+2007-01-18  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Move setting show_icon = true to before the constructor
+       so that the base constructor has that information when it calculates
+       the form's size.  Was causing forms to be (6, 6) bigger than they
+       were supposed to be.  Thanks for catching this Rolf!
+
+2007-01-18  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When replacing a selection we need to invalidate
+       from the initial selection start, because selection start is moved
+       to the end of the replacement.
+
+2007-01-18  Andreia Gaita  <avidigal@novell.com>
+
+       * LinkLabel.cs: Missing ControlStyles. Fixes #80482
+
+2007-01-18  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: fix most of the NotWorking unit tests
+       I just added.
+
+2007-01-17  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Add layout methods to ToolBarButtonInfo class, every 
+       layout methods and properties from ToolBarButton must be available
+       into ToolBarButtonInfo.
+
+2007-01-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: If the control has a transparent background, we
+       need to refresh it when it moves and when it's parent's background
+       image changes.  [Fixes bug #80451]
+
+2007-01-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Don't use 2.0 methods in 1.1 code!  Doh!
+
+2007-01-17  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUIWin32.cs: Implement proper double buffering for Windows.
+       [Fixes bug #80447, and probably speeds up things as well]
+
+2007-01-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatUIX11.cs: Caption height for MDI children is 19, not 26.
+       * XplatUIWin32.cs: We need to recalculate NC size after changing 
+       window style to toolwindow (otherwise the client rectangle will be
+       3 pixels to small for some reason).
+       * MdiWindowManager.cs: Revert NC size calculations to match how
+       they are calculated only based on window styles (to match
+       Win32AdjustWindowRectEx, since otherwise when setting size or 
+       location, Control will call Win32AdjustWindowRectEx to update client 
+       size, which would provoke a paint, then we'd get a NCCALCSIZE and 
+       calculate a different value of client size causing another paint 
+       (and flickering))
+       * InternalWindowManager.cs: When moving or resizing a window only
+       update size or location if they actually changed.
+       * ThemeWin32Classic.cs: ManagedWindowsBorderWidth is now 4 instead of 3
+       (seems to match Windows behaviour better). Cleaned up 
+       ManagedWindowDecorations to draw what's needed and nothing else
+       (was drawing borders and lines where they shouldn't be)
+       * Hwnd.cs: GetWindowRectangle now knows about MDI border sizes
+       (style = 0xFFFF) and takes into account caption height when 
+       calculating window rectangle.   
+
+2007-01-16  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Internal ToolBarButtonInfo class added, Because same button 
+       can be added to toolbar multiple times, we need to maintain a list of 
+       button information for each positions.
+
+2007-01-16  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Some small stetic changes.
+
+2007-01-16  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Use the new SuspendRecalc/ResumeRecalc methods
+       that allow us to have nested recalc = false blocks.
+       - Add paste support for images in the RichTextBox
+       * RichTextBox.cs: flush the text after the color is changed, so
+       the change takes effect.
+       - Use SuspendRecalc
+       - Some extra debugging info
+       * TextControl.cs: Tags no longer track their length, it is just
+       computed from the next tags length, this makes things a little
+       simpler and reduces places that we have to track length changes.
+       - Refactored the linetag class a little so we could make it
+       a base class for different kinds of tags
+       - Created a image tag, a tag that can have a single image inserted
+       into it
+       - Replace the norecalc flag with a Suspend/Resume Recalc pair, so
+       that we can call suspend multiple times.
+       - Add some debugging methods
+
+2007-01-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Add ActivatePreviousChild for 
+       mdi child window navigation.
+       * Form.cs: Use MdiClient.ActivateNextChild/
+       ActivatePreviousChild instead of Form.SelectNextControl
+       to select the next/previous child since 
+       SelectNextControl doesn't do it in the same order
+       as mdi children should do it.
+
+2007-01-16  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: remove container_selected field.
+
+2007-01-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Update main form's ActiveChild when
+       updating keyboard focus for the mdi child.
+
+2007-01-16  Jonathan Pobst  <jpobst@novell.com>
+
+       * Control.cs: PreferredSize fix.
+
+       * Form.cs: Add several 2.0 events, properties, and methods.
+
+2007-01-16  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Form.cs: Provide meaningful message when MdiParent is assigned a
+       Form that is not an MdiContainer.
+
+2007-01-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Update main form's ActiveChild when
+       activating a mdi child.
+
+2007-01-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiWindowManager.cs: Fix NRE when merging menus and main form
+       doesn't have a menu.
+
+       * Form.cs: Request NCRecalc after creating a mdi child window.
+       Implement mdi key handling (Ctrl+F4, Ctrl+Shift+F4, Ctrl+Tab, 
+       Ctrl+Shift+Tab, Ctrl+F6 and Ctrl+Shift+F6).
+       
+       * MdiClient.cs: Add new method SendFocusToActiveChild that either
+       sends keyboard focus to the active child, or to the MdiClient
+       if there are no child forms.
+       
+2007-01-15  Chris Toshok  <toshok@ximian.com>
+
+       * ListView.cs: drop the *Internal overrides, just do our work in
+       ItemControl's WndProc instead.
+
+       * UpDownBase.cs: a few large changes.  Fix up the Selectable state
+       of the various controls, and forward the events properly (in the
+       same manner as MS) from the textbox to the UpDown.  Also the
+       ActiveControl of the UpDownBase gets set properly now.  Finally,
+       we don't call UpdateEditText from the ctor.  Fixes bug #79957.
+
+       * NumericUpDown.cs: set Text in the ctor.
+
+       * DomainUpDown.cs: call UpdateEditText in the ctor.
+       
+       * TextBox.cs: on ms.net, WM_LBUTTONDOWN sets focus on the textbox,
+       so even a Selectable = false textbox can be focused if you click
+       in it.  Go figure.
+
+       * Control.cs: remove On{Got,Lost}FocusInternal.  Subclasses can
+       just add their handling in their respective WndProc's.  Also add
+       an explicit FocusInternal method that doesn't consult CanFocus
+       before calling Select(this).
+
+       * TextBoxBase.cs: deal with removal of the FocusInternal calls -
+       do our work in WndProc instead.
+
+       * TabControl.cs: same.
+
+       * ComboBox.cs: same.
+
+2007-01-15  Everaldo Canuto  <everaldo@simios.org>
+
+       * Menu.cs: implement MergeItems and Replace for MenuMerge method.
+       Fixes #80006.
+
+2007-01-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs:
+       * ThemeWin32Classic.cs: Don't draw the item text outside
+       item bounds in Details view, as well as use trimming.
+       Fixes bug #80376.
+
+2007-01-15  Jonathan Pobst  <jpobst@novell.com>
+
+       * Form.cs: Implement Form.ShowIcon.
+       
+       * XplatUIWin32.cs: Allow the SetIcon win32 call to set the icon to
+       null, which when combined with the DlgModalFrame window style removes
+       the icon from the title bar.
+
+2007-01-15  Jonathan Pobst  <jpobst@novell.com>
+
+       * Control.cs: Call OnMouseClick after OnClick. (2.0)
+
+2007-01-15  Everaldo Canuto  <everaldo@simios.org>
+
+       * MdiWindowManager.cs: In CreateMaximizedMenu fix a position of icon
+       menu when mdi child windows theres a menu, uses insert to get icon
+       at first position. Partially fix #80006.
+
+2007-01-15  Jonathan Pobst  <jpobst@novell.com>
+
+       * Clipboard.cs: Implement 2.0 methods.
+
+2007-01-15  Everaldo Canuto  <everaldo@simios.org>
+
+       * Menu.cs: Implement Insert method of MenuItemCollection class
+       to fix MenuMerge.
+
+2007-01-14  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Implement 2.0 FindItemWithText method.
+
+2007-01-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * Form.cs: When process WM_NCCALCSIZE message use ClienSize.Width
+       to calculate menu bar size. Fixes #80290.
+
+2007-01-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Fix position of menuitem check mark.
+
+2007-01-11  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: don't send duplicate WM_ACTIVATE messages to the
+       initial form.
+
+2007-01-11  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: make sure to call base.Select in our Select method
+       if it turns out we're going to be selected (i.e. if we have a link
+       that is going to receive focus).  That way our container's
+       ActiveControl is updated properly.
+
+2007-01-11  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: turns out that LinkLabels are only Selectable if
+       they have 1 or more links.  this fixes the crash gert reported.
+
+2007-01-11  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Remove ContainerSelected flag, not needed
+       anymore.
+
+       * Control.cs (Controls.Add): Check if control to be added to the collection
+       is a top level control, and throw an ArgumentException if it is.
+       Remove ContainerSelectedFlag, not needed anymore.
+
+       * XplaUIWin32.cs (SetTopMost): Add flag SWP_NOACTIVATE so that setting the
+       top most control doesn't activate the form. This fixes a problem in the
+       MessageBox, where the default button wouldn't get focus because the form
+       was activated before being Loaded - when the Owner is set, SetTopMost is
+       called, and it would activate it.
+
+2007-01-11  Jonathan Pobst  <jpobst@novell.com>
+
+       * Button.cs: When clicked and setting the parent form's DialogResult,
+       use FindForm instead of Parent, since parent could be a container
+       control and not the Form.  Fixes bug #80495.
+
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: move the call to SendControlFocus into the same
+       is_loaded check.
+
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * UpDownBase.cs (.ctor): remove the ActiveControl assignment here.
+       It breaks in the face of the new ActiveControl stuff, and should
+       be unnecessary.
+
+       * Form.cs (WndProc): in the WM_ACTIVATE case, we need to set the
+       activecontrol's focus if it's not already set, after we set
+       ActiveControl, but before we call OnActivated.  Re-fixes #79667
+       after the previous focus/active control fixes regressed it.
+
+       * Control.cs: reindent some code.
+       
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * Splitter.cs: clearing some outstanding changes from my tree.
+       Replace all accesses (not writes) to the internal dock_style field
+       with the Dock property.
+
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make FireEnter, FireLeave, FireValidating, and
+       FireValidated virtual.
+
+       * Form.cs: override and don't chain up calls to FireEnter and
+       FireLeave.
+
+2007-01-10  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add more text padding space when using
+       auto resize for columns (the previous value didn't work fine).
+
+       * ThemeWin32Classic.cs: Update text position inside columns,
+       to match the appeareance of .Net.
+
+       * ColumnHeader.cs: When using auto resize, only the Width should
+       depend on the sub items, not the Height. Also, set width after
+       auto resizing (the value of Width should never remain as -1 or -2).
+
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: fix compilation errors when debug is enabled.
+
+2007-01-10  Chris Toshok  <toshok@ximian.com>
+
+       * ContainerControl.cs (set_ActiveControl): rework this a bit (and
+       add some nice ascii art pictures and explanation of the process).
+       (GetMostDeeplyNestedActiveControl): new utility function we need
+       because our ActiveControl can refer to a child container with its
+       own ActiveControl.
+
+       * Form.cs (OnActivated): remove the call to SelectActiveControl
+       from here, since you can override this method and not chain up,
+       and winforms still sets the active control.
+       (OnCreateControl): also remove the unnecessary SelectActiveControl
+       call from here.
+       (WndProc): it's actually called from the WM_ACTIVATE block, just
+       before calling OnActivated.
+
+       * Control.cs (Select (Control)): move the call to XplatUI.SetFocus
+       inside the else.  the ActiveControl setter will end up setting
+       focus on @control.  This keeps us from setting it again (and
+       generating an extra LostFocus/GotFocus pair).
+       (Select (bool, bool)): reindent.
+
+2007-01-10  Jonathan Pobst  <jpobst@novell.com>
+
+       * FlowLayoutPanel.cs, MenuStrip.cs, SplitContainer.cs, SplitterPanel.cs,
+       StatusStrip.cs, TableLayoutPanel.cs, TableLayoutStyleCollection.cs,
+       ToolStrip.cs, ToolStripComboBox.cs, ToolStripContainer.cs,
+       ToolStripContentPanel.cs, ToolStripControlHost.cs, ToolStripDropDown.cs,
+       ToolStripDropDownButton.cs, ToolStripDropDownItem.cs, ToolStripDropDownMenu.cs,
+       ToolStripItem.cs, ToolStripMenuItem.cs, ToolStripPanel.cs, ToolStripPanelRow.cs,
+       ToolStripSeparator.cs, ToolStripSplitButton.cs, ToolStripStatusLabel.cs
+       ToolStripTextBox.cs: Another wave of corcompare work.
+
+2007-01-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: Implement 2.0 AutoResize method using
+       the Width property.
+
+       * ListView.cs: Implement 2.0 AutoResizeColumn and AutoResizeColumns
+       methods by callling Column.AutoResize method on columns.
+
+2007-01-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Provide proper implementations of PreferredSize
+       and GetPreferredSize (2.0).
+
+2007-01-09  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Remove one character (!) to make my previous OnClosing
+       stuff work for modal windows like MessageBox.
+
+2007-01-09  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ThemeWin32Classic.cs: Use ListView.GetReorderedColumn instead of
+       ListView.Columns to get the last displayed column. Fixes #80452.
+
+2007-01-09  Everaldo Canuto  <everaldo@simios.org>
+
+       * Label.cs, LinkLabel.cs: Source code identation fixes.
+
+2007-01-08  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBarButton.cs: Remove InvalidateBorder and use Invalidate instead,
+       we dont need to invalidate only borders because when we invalidate four
+       border lines the invalidate's generates a complete redraw of button, 
+       because it now invalidate a complete rect some other redraws operations
+       are fixed. Fixes #80196.
+       
+       * Theme.cs, ThemeNice.cs, ThemeClearLooks.cs, ThemeWin32Classic.cs:
+       Remove ToolBarInvalidateEntireButton as it is not used.
+
+2007-01-08  Jonathan Pobst  <monkey@jpobst.com>
+       
+       * Form.cs: Make sure that both OnClosing and OnFormClosing are
+       called for 2.0 profile.
+       * CloseReason.cs: Make class internal for 1.1.
+
+2007-01-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripManager.cs: Implement FindToolStrip functionality.
+       * ToolStrip.cs: Register and unregister with ToolStripManager.
+
+2007-01-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: This was messy.  2.0 moves much of ControlCollection
+       to ArrangedElementCollection.  Implemented this with as few #if's as 
+       possible (which is still too many).
+
+2007-01-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement SizeFromClientSize() [2.0].
+
+2007-01-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * Hwnd.cs: On GetClientRectangle add a new parameter border_static,
+       use Theme.BorderSize to calculate area instead of static value 1, 
+       by the way use new BorderStaticSize instead     Border3DSize when 
+       border_static is true. Fixes #79537.
+       
+       * XplatUIOSX.cs: Fix call to GetClientRectangle. 
+       
+       * ThemeWin32Classic.cs: On CPDrawBorder3D dont draw inner border when
+       it is not needed.
+
+2007-01-06  Everaldo Canuto  <everaldo@simios.org>
+
+       * Hwnd.cs: Gives more code legibility to GetWindowRectangle.
+
+2007-01-06  Everaldo Canuto  <everaldo@simios.org>
+
+       * Label.cs: Override CreateParams to use WS_EX_STATICEDGE instead of
+       WS_EX_CLIENTEDGE in ExStyles when BorderStyle is Fixed3D, it is
+       
+       * Hwnd.cs: 
+       - border_static field added, it will used to define when a control 
+       theres 3D border but it must be static (thin).
+       - In GetWindowRectangle use Theme.BorderSize to calculate area 
+       instead of static value 1, by the way use new BorderStaticSize instead
+       Border3DSize when border_static is true.
+
+       * XplatUIX11.cs, XplatUIOSX.cs: 
+       - When WS_EX_STATICEDGE ExStyle is set define border_static as true.
+       
+       * Theme.cs: BorderStaticSize field added.
+
+2007-01-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs: Removed unused hwnd var in SetBorderStyle.
+
+2007-01-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: Under InternalBorderStyle call RecreateHangle to 
+       mimic same behavior than win32 that set border only in CreateParams,
+       it fix problems under CreateParams overrides. Fix #79442 and partial
+       fix #79537.
+       
+       * XplatUIX11.cs: Dont set hwnd.border_style in SetBorderStyle instead
+       of thi control you must call recreate handle. 
+       
+       * XplatUIWin32.cs: Remove all SetBorderStyle code, for win32 we dont
+       need to do anything as RecreateHangle will take care about borders.
+
+2007-01-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: hack to eliminate Lost/Got focus notifications on
+       cycles between the ItemControl and parent.  Fixes #80388.
+
+2007-01-05  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Control.cs: Lazy init layout engine. Do not directly use 
+       layout_engine since LayoutEngine may be overridden (on 2.0 profile).
+
+2007-01-05  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: don't forceably rebind columns in SetDataSource
+       unless our list manager has changed (i.e. unless we have reason to
+       believe our columns have changed).  Fixes #80422.
+       
+       also, disable the call do BindColumns in
+       OnListManagerMetaDataChanged.  this breaks this test in 2.0 (in
+       1.1 the event isn't raised in response to a column addition on a
+       table.)
+
+2007-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Move LayoutEngine.Layout to the OnLayout method, so
+       that inheritors can not call it if they choose.  Fixes bug #80456.
+
+2007-01-05  Andreia Gaita  <avidigal@novell.com>
+
+       * XplatUIWin32.cs: Initialize MSG.refobject at 0 so it 
+       doesn't blow up with a null exception on marshalling.
+       
+2007-01-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Implement several 2.0 protected properties and methods.
+       Ensure that all necessary events are being called when properties
+       are set.
+
+2007-01-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: implement PgUp/PgDn for Details view.  Also
+       fixes First/LastVisibleIndex to use the item_control.ClientRect 
+       instead of the parent control.  Fixes #80378.
+
+2006-01-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * PageSetupDialog.cs : cosmetic refactoring; use RegionInfo to
+         determine whether to use yard-pound or not (bug #78399).
+
+2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Sebastien fixed the libgdiplus png alpha
+       problems. So it is time to bring back the old popupbutton colors.
+
+2006-01-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs:
+       * ListView.cs: Implement 2.0 ColumnHeader.DisplayIndex
+       property by using the internal information of the
+       columns order in ListView.
+
+2007-01-04  Jonathan Pobst  <monkey@jpobst.com>
+
+       * CommonDialog.cs, Cursor.cs, ErrorProvider.cs, HelpProvider.cs:
+       Add 2.0 Tag properties.
+
+       * LinkArea.cs: Add 2.0 ToString method.
+
+2007-01-03  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: the Alt+0 handling was wrong, it should have been
+       Ctrl+0.  Fixes bug #80367.  Also, don't eat the Delete keypress
+       when we're editing, which fixes #80047.
+
+2007-01-03  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: apply patch contributed by Dominik Seichter.  fixes
+       #80404.
+
+2007-01-03  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MenuStrip.cs, ToolStripMenuItem.cs: Add MdiWindowListItem
+       property and implementation.
+
+       * Form.cs, MdiClient.cs, MdiWindowManager.cs: Add needed hooks
+       for MdiWindowListItem property.
+
+       * ToolStripDropDown.cs: Don't consider hidden menu items while
+       laying out the menu.
+
+2007-01-03  Andreia Gaita  <avidigal@novell.com>
+
+       * SendKeys.cs: window handle is not needed in win32, so just
+       get the active window for X after parsing keys and don't use
+       it when building the message; it is passed by parameter to the 
+       Xplat method and used there to build the message instead. Also,
+       wait for events to be processed on SendWait, as opposed to Send,
+       which doesn't wait :) Playing with threads and Send() completely 
+       hangs on ms.net, only SendWait() works.
+       
+       XplatUIX11.cs
+       X11Display.cs: Check for valid window handle.
+
+2007-01-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Need to prevent wrap calculations when replacing
+       text (this was there before i removed it accidently).
+       - Don't update the cursor during the positioning, just set it to
+       selection_start at the end of the operaion.
+
+2007-01-03  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs:
+       * NotifyIcon.cs: corcompare work, no more X's in 1.1 class status.
+       
+2007-01-03  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MonthCalendar.cs: Added Click and DoubleClick events again,
+       but this time they only hide Control's Click and DoubleClick.
+       
+2007-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Theme.cs: Re-enabled DefaultFont change. Use const to refer to
+       System.Drawing assembly. Spaces to tabs. Removed extra tabs.
+
+2007-01-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: We move the caret with the split now, so we
+       don't need to explicitly move the caret after splitting.  This
+       fixes the caret bumping down an extra line on Enter.
+
+2007-01-02  Miguel de Icaza  <miguel@novell.com>
+
+       * ContainerControl.cs: Add AutoValidateChanged event (for PDN
+       2.72). 
+
+       * ScrollableControl.cs: Add Scroll event.
+
+2007-01-02  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: one more try with help from georgegiolfan@yahoo.com 
+       to fix all hdr height padding codepaths.  Fixes #80207.
+
+2007-01-02  Chris Toshok  <toshok@ximian.com>
+
+       * StatusBar.cs (.ctor): remove the Anchor setting, as it's just
+       setting it to the Control defaults anyway, and it being after the
+       Dock set was screwing up layout.
+       (set_Dock): don't short circuit out of setting base.Dock.  Also,
+       no need to call UpdateStatusBar here, as it'll be re-layed out if
+       it needs to be.
+
+2007-01-02  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: patch from georgegiolfan@yahoo.com to add padding
+       to header height for width == -1. Fixes the rest of #80207.
+
+2007-01-02  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: rework the mouse event forwarding everaldo added
+       to translate the coordinates to the parent control not
+       raise the parent events until after we've done our work. Hover
+       needs more work, in the case where HoverSelection is on, because
+       the item control receives more than one MouseHover per Enter
+       event, so we need to ensure only the "first" hover gets forwarded.
+       Opening a minor bug for that.
+
+2007-01-02  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * CheckedListBox.cs: Fixed SelectionMode to match MS.
+       * ListControl.cs: Implemented AllowSelection property. Removed extra
+       tabs.
+       * ListBox.cs: Implemented AllowSelection property.
+
+2007-01-02  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuItem.cs: In MdiWindowClickHandler uses sender instead of
+       SelectedItem, it prevent for errors when you must disable item
+       before perform click. Fixes #80409.
+
+2007-01-02  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Prevent second level and beyond submenus to close
+       until first level when move out side of popup.
+       
+2007-01-02  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs:
+       - Down submenu positin in three pixels.
+       - Closes sub menu when mouse leaves from menu. Fixes #80402.
+
+2007-01-02  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs:
+       - Fix popup menu size adding one pixel on the top.
+       - Down menu item border from two to one to mimic Win32.
+       - Some source identation fixes. 
+
+2007-01-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Use float numbers to calculate size and
+       position of menu arrows, it fix wrong arrow size.
+
+2007-01-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Uses CPDrawBorder3D to draw menu borders
+       instead of line, it simplify draw operation and fix it using 3D
+       borders to mimic Win32.
+
+2007-01-01  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs: Add implementation of the sizing grip.
+
+       * ToolStripRenderer.cs, ToolStripProfessionalRenderer.cs: Add
+       StatusStrip rendering.
+
+2006-12-31  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBar.cs: don't assign to dock_style in the .ctor.  it doesn't
+       override the layout style (anchor/dock) of the control.  assign to
+       Dock instead.  Fixes bug #80416.
+
+       * ToolStrip.cs: same.
+
+2006-12-31  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: Use ContainerSelected flag to check if 
+       a Container is directly selected, or if Select is called on a 
+       non-container. If a container is directly selected, focus events 
+       should not be raised.
+       Apply #80411 patch to throw exception on set_ActiveControl if 
+       control is the same as the current one.
+       
+       * Control.cs: Use ContainerSelected flag (see above).
+       Add invalidation check to raise event but not invalidate if 
+       dimensions are 0.       
+       Apply #80411 patch.
+       
+
+2006-12-31  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: After click, dont close popup menu when menu is
+       ContextMenu. Fixes #80399.
+
+2006-12-30  Chris Toshok  <toshok@ximian.com>
+
+       * ContainerControl.cs: make sure we throw the exception if the
+       container control doesn't contain the control we're setting
+       ActiveControl to.
+
+2006-12-30  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (SetTopLevel): fix the exception raised by
+       SetTopLevel for child controls.
+       (set_Anchor): call UpdateDistances when setting the anchor type.
+       This fixes bug #80336.
+
+2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Theme.cs: For now, revert back to 8pt font.
+
+2006-12-29  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Set popup as active when open a ContextMenu. 
+       Fixes #80395.
+
+2006-12-29  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: reorder the code in OnResize to give the same event
+       ordering as MS.
+
+2006-12-29  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Implemented MdiLayout for ArrangeIcons,
+       TileHorizontally and TileVertically.
+       
+2006-12-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs, FileDialog.cs, FolderBrowserDialog.cs,
+       FontDialog.cs, Mime.cs, MimeIcon.cs, OpenFileDialog.cs,
+       SaveFileDialog.cs, ThemeClearlooks.cs, ThemeNics.cs:
+       Corrected copyright and email adress.
+
+2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeNode.cs: On 2.0 profile, throw InvalidOperationException instead
+       of Exception in FullPath property if no TreeView is associated with
+       the TreeNode.
+
+2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Theme.cs: Marked default_font as private, and initialize it in ctor
+       with MS Sans Sarif 8.25 on 1.0 profile, and SystemFonts.DefaultFont
+       on 2.0 profile.
+       * ThemeGtk.cs: Removed default_font intialization.
+       * ThemeWin32Classic.cs: Removed default_font initialization.
+
+2006-12-28  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: fix a couple of place where we were creating handles
+       more aggressively than we should be.  Fixes ControlRefresh unit
+       tests.
+
+2006-12-28  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: contrary to what the comment said, Control.Dock does
+       not supercede Control.Anchor - the last one you assign to decides
+       the layout behavior.  so we need to keep track of which was the
+       last set.  Also, fix some of the affected property arguments in
+       PerformLayout calls, and remove an redundant parent.PerformLayout
+       call in OnResized.
+
+       Add a VisibleInternal property, which returns is_visible.  We
+       can/should get rid of all the usage of this field elsewhere.
+
+2006-12-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * Control.cs: DoubleBuffered property reflects the OptimizedDoubleBuffer
+       control style, not DoubleBuffer. Added UseDoubleBuffering property
+       that indicates whether doublebuffering is enabled and supported.
+       (comment from and code based on Gert Driesen's patch in #80324).
+       Fixes #80324.
+
+2006-12-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * Control.cs: Fixed a NRE.
+
+2006-12-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * TrackBar.cs: Fix SmallChange and LargeChange exceptions
+       for 2.0.
+
+2006-12-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Rewrote double buffering, now a seperate
+       class handles all the buffering, no Graphics is disposed of
+       until the painting is finished (earlier implementation 
+       would crash if the control was resized in the OnPaint, 
+       since it would cause the double buffer to be recreated
+       and the old one disposed), a separate Graphics is 
+       created for every paint (MS behaviour and anyways the state
+       of the Graphics would have to be saved and restored otherwise)
+       
+       * XplatUIDriver.cs: 
+       * XplatUIX11.cs:
+       * XplatUI.cs: Added and implemented GetOffscreenGraphics 
+       so that we can get the graphics for the back buffer without
+       having to create a new one and remove the offscreen_dc parameter
+       from CreateOffscreenDrawable and DestroyOffscreenDrawable.
+       
+2006-12-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add key-related 2.0 methods for CheckedItemCollection.
+       Also make virtual all the key-related methods.
+
+       * ListViewItem.cs: Make virtual the key related methods for
+       ListViewSubItemCollection.
+
+2006-12-27  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs:
+       * ListViewItem.cs:
+       * ThemeWin32Classic.cs:
+       * Theme.cs: Initial support for Tile view in ListView,
+       as well as the implementation of the required bits for it (Item
+       and Subitem).
+
+2006-12-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * MonthCalendar.cs: On 2.0, throw ArgumentOutOfRangeException instead
+       of ArgumentException in MaxSelectionCount, MaxDate and MinDate.
+       Provide useful exception messages.
+
+2006-12-27  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * TrackBar.cs: Remove a warning.
+       * MonthCalendar.cs: Moved back to using Capture to hide the calendar
+       when used by DateTimePicker, fixes #80287. This also requires that 
+       MonthCalendar implements it's own drawing for the yearly updown control,
+       otherwise the Capture tracking would be too complicated. Removed the Click 
+       and DoubleClick events (according to comments they were hiding the base class
+       event to prevent them from beeing fired - MSDN only says MonthCalendar doesn't
+       raise these events, not that they cannot be raised. It is possible to raise 
+       them by calling OnClick and OnDoubleClick). Added two internal fields in 
+       HitTestInfo in order to track give more tracking info needed by MonthCalendar.
+       * ThemeWin32Classic.cs: Implement drawing of MonthCalendar's updown part.
+       * DateTimePicker.cs: Removed handling of MonthCalendar's LostFocus
+       event, no longer needed.
+       
+2006-12-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ScrollableControl.cs: In AutoScrollMinSize, only set AutoScroll to
+       true if new value differs from current value.
+
+2006-12-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Control.cs: ControlCollection.Count must be public. Fixed build of
+       unit tests.
+
+2006-12-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Redraw when FullRowSelect is changed. Fixes bug #80379.
+
+2006-12-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: Mergable=>MergableProperty. Fixes build.
+
+2006-12-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * Control.cs: Invalidates control including when Width and Height is 
+       equal zero or is not visible, only Paint event must be care about 
+       this. Fixes #79913.
+
+2006-12-26  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs, PropertyManager.cs, BindingManagerBase.cs:
+       more corcompare work.
+
+       * DataGridView.cs: fix compiler warning.
+
+       * ColumnHeader.cs: some corcompare work, and also take the
+       opportunity to make the internal fields private.
+
+       * ListView.cs: fix the fallout from the above field change.
+
+2006-12-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripButton.cs, ToolStripComboBox.cs, ToolStripControlHost.cs,
+       ToolStripItem.cs, ToolStripProgressBar.cs, ToolStripSplitButton.cs,
+       ToolStripTextBox.cs: Fixes to events and corcompare.
+
+2006-12-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * ListView.cs: Call owner.OnMousexx event to propagate events from
+       item to ListView. Fixes #80367.
+
+2006-12-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ComboBox.cs: On 2.0, DropDownWidth throws ArgumentOutOfRangeException
+       if value is less than one. ItemHeight should not be set to a value
+       less than 1, and throw ArgumentOutOfRangeException on 2.0 profile. 
+       Removed extra tabs.
+
+2006-12-26  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripMenuItem.cs: Add ShortcutDisplayString for Moma.
+       * ToolStripStatusLabel.cs: Add Spring for Moma.
+
+2006-12-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridView.cs: Fixed several NullReferenceException in On* methods.
+       Fixed code formatting. Removed debug code.
+       * DataGridViewTextBoxEditingControl.cs: Removed debug code.
+
+2006-12-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridView.cs: Fixed GridColor, DefaultSize, DefaultCellStyle,
+       RowHeadersDefaultStyle, RowHeadersWidth to match MS. Throw
+       ArgumentOutOfRangeException if ColumnCount is negative. In 
+       ColumnHeadersHeight, throw ArgumentOutOfRangeException if height is
+       less than 4 or higher than 32768.
+       * DataGridViewCellStyle.cs: Fixed default value for NullValue.
+       Fixed FormatProvider to return CurrentCulture unless explicitly set.
+       Fixed IsFormatProviderDefault to return true if FormatProvider has
+       not been explicitly set.
+
+2006-12-25  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: add a couple of 2.0 events.
+
+2006-12-25  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: fix compiler warning.
+
+       * AxHost.cs: corcompare fixes.
+
+       * ApplicationContext.cs: corcompare fixes.
+
+2006-12-25  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: only update dist_right/dist_bottom if the
+       width/height is > 0.  this fixes anchored controls being resized
+       smaller until they disappear and then resized larger again.
+
+2006-12-25  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: a couple of changes.  Remove dist_left and dist_top,
+       since they're nothing more than X/Left and Y/Top, respectively.
+
+       Also, move back to a per-control Bitmap/Graphics for
+       DeviceContext, since using the static Hwnd.bmp/bmp_g is bad in the
+       MT case.  Go with a tiny bitmap though, 1x1, instead of Width x
+       Height.
+
+2006-12-25  Miguel de Icaza  <miguel@novell.com>
+
+       * MessageBox.cs: Implemented overload that takes a new "bool
+       displayHelpButton" by adding a new internal field "show_help".
+       When clicked this will raise the HelpRequested on the owner or the
+       main form. 
+
+       From: 007dbe3ff0ca4729a4f5fcd1d8ab2a2e.txt
+       From: c935e12b95fe4dc1ae670e7f4dc5fd68.txt
+
+       * ListView.cs: Add support ColumnWidthChanged and
+       ColumnWidthChanging. 
+
+       Add support for ColumnReordered event.
+       (ReorderColumn): Add NET_2_0 specific support for cancelling the
+       reorder.
+
+       Very nice codebase!
+
+       * TextBoxBase.cs (GetLineFromCharIndex): Implement this method.
+
+       This is used by report f4ae0a88a0a244558aaadf017c9b9efe.
+
+2006-12-24  Chris Toshok  <toshok@ximian.com>
+
+       * GridTablesFactory.cs: 2.0 corcompare work.
+
+       * ToolStripContainer.cs: add "override" to
+       ContextMenuStripChanged, and remove the local event object.
+
+       * ToolStripDropDown.cs: same with a couple properties.
+
+       * ToolStripPanel.cs: same with AutoSizeChanged event.
+
+       * TextBoxBase.cs: add "override" to AutoSizeChanged.
+
+       * Form.cs: add the remaining 2.0 events, and do some corcompare
+       attribute work.
+
+       * DateTimePicker.cs: add "new" to padding.
+
+       * ButtonBase.cs: use Control's use_compatible_text_rendering.
+
+       * ToolStripContentPanel.cs: use base.AutoSizeChanged.
+
+       * DataGridView.cs: PaddingChanged is overridden.
+
+2006-12-24  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: corecompare work here too.
+
+       * DataGridViewElement.cs, DataGridView.cs,
+       DataGridViewButtonCell.cs, DataGridViewRowCollection.cs,
+       DataGridViewImageColumn.cs, DataGridViewComboBoxColumn.cs,
+       DataGridViewImageCell.cs, DataGridViewCheckBoxCell.cs,
+       DataGridViewHeaderCell.cs, DataGridViewCell.cs: more corcompare
+       work.
+
+2006-12-24  Miguel de Icaza  <miguel@novell.com>
+
+       * Control.cs: Switched the error message on the console for a
+       todo.  A review of the code will have to cope with this anyways
+       (since its a large feature, it is in our radar) and it was
+       producing too much output when running PDN.
+
+       * ToolStripComboBox.cs: Set the text when the SelectedIndex
+       changes.  Applications depend on this (PDN 2.72)
+
+2006-12-23  Chris Toshok  <toshok@ximian.com>
+
+       * TableLayoutSettings.cs: finish up the corcompare work for this
+       class.
+
+2006-12-23  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make SetImplicitBounds internal, do some futzing
+       with LayoutEngine so that it's available in 1.1, and remove the
+       entire duplicated code mess from PerformLayout.  Use
+       System.Windows.Forms.Layout.DefaultLayout instead.
+
+       * LayoutEngine.cs: make this class internal in 1.1, public in 2.0.
+
+2006-12-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Add MainMenuStrip property.
+
+2006-12-23  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Add ContextMenuStrip property and implementation.
+       Fix ContextMenu implementation to show menu centered on control when
+       activated using the keyboard instead of showing at screen (0,0).
+
+       * ToolStripDropDown.cs: Fix needed overload of Show ().
+
+2006-12-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * Menu.cs: Name property added for 2.0 profile.
+       
+2006-12-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * Menu.cs: Update information about FindMenuItem, method to be
+       implemented soon.
+
+2006-12-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: When deselect items deselect also selected subitems.
+       
+2006-12-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: When hides menu set Wnd to null, it prevents
+       FindSubItemByCoord to found itens that is not active, also an
+       cheking added to FindSubItemByCoord to search for items only 
+       in visible popup windows. Fixes #80274.
+
+2006-12-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * UserControl.cs: Remove MonoTodo and use InternalBorderStyle,
+       internal property, it be care about change ExStyle. 
+
+2006-12-22  Andreia Gaita  <avidigal@novell.com>
+
+       * ContainerControl.cs: set activeControl for parent forms up the 
+       tree when the new activecontrol is a container.
+       When validating the active control, if it is a container, also
+       raise up the validation for it's active control. Fixes #80280
+       
+       * Control.cs: Add internal property flag and check to prevent
+       Focus events from getting raised when Select() is called for
+       a ContainerControl. There are still too many focus events being
+       raised at the moment though.
+       Cleaned up the code a bit.
+
+2006-12-22  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Added all missing 2.0 events.and
+       fixed a couple of corcompare issues.
+       * TrackBar.cs: Implemented missing 2.0 bits.
+       * MonthCalendar.cs, 
+       * DateTimePicker.cs, 
+       * MdiClient.cs: Fixed some corcompare issues.
+
+2006-12-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ContextMenuStrip.cs, FlowLayoutPanel.cs, SplitContainer.cs,
+       SplitterPanel.cs: corecompare work.
+
+2006-12-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripContainer.cs, ToolStripDropDown.cs, StatusStrip.cs:
+       Clean up warnings for BackgroundImageChanged and PaddingChanged
+       events now that they are implemented in Control.cs.
+
+2006-12-21  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Make sure layout_engine isn't null before using it (2.0).
+       
+       * TableLayoutControlCollection.cs, TableLayoutPanel.cs, TableLayoutCellPosition.cs,
+       TableLayoutSettings.cs, TableLayoutStyleCollection.cs: Initial implementation
+       of TableLayoutPanel and supporting cast.
+
+2006-12-21  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatUIWin32.cs: 
+       - GrabWindow now confines the mouse pointer to the confine window.
+       - Added Win32ClipCursor and Win32GetClipCursor.
+
+       * Control.cs: 
+       - Added CaptureWithConfine to be able to capture and confine 
+       mouse pointer.
+       
+       * InternalWindowManager.cs: 
+       - Call CaptureWithConfine instead of Capture if we're an
+       MdiChild (fixes #79982).
+
+2006-12-21  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: guard against the initial state of selection, where
+       selection_start == -1.  make sure we only select from index >= 0.
+       Fixes bug #80291.
+
+2006-12-21  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: we don't need to be so draconian with
+       UpdateDistances, and we thusly don't need to call it before
+       calling PerformLayout in ResumeLayout.  Fixes bug #80289.
+
+2006-12-21  Daniel Nauck  <dna@mono-project.de>
+
+       * ComboBox.cs,
+       TextBox.cs: Implemented AutoComplete properties.
+
+2006-12-20  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridView*.cs: some corecompare work.
+
+2006-12-20  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: We need to hide the caret when deleting it,
+       otherwise you get carets left lying around everywhere.
+       * TextBoxBase.cs: Kill then redraw the caret when scrolling.  This
+       prevents getting some weird half drawn caret tracers when
+       scrolling.
+       * TextControl.cs: Attempt to reduce the number of times we need to
+       recreate the caret.
+
+2006-12-20  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * MonthCalendar.cs: Fixed previous month button. Removed extra tabs.
+
+2006-12-19  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * DateTimePicker.cs:
+       - Implemented missing 2.0 bits.
+       - Changed some default values to match MS.
+       
+2006-12-20  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When changing the font across the document we
+       can't recalculate after changing each line, since that will cahnge
+       the line count.
+       - PreferredHeight is a little different than i thought.
+       - When backspacing, move the caret before we do the actual char
+       delete, because when that delete crosses a wrap boundary the
+       positional information will change.
+
+2006-12-19  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Added some missing 2.0 bits: 
+       BackgroundImageLayout, BackgroundImageLayoutChanged, 
+       OnPaddingChanged, MouseClick, MouseDoubleClick, PaddingChanged and 
+       add IBindableComponent and IDropTarget implementation.
+       
+       * MonthCalendar.cs: 
+       - Added all missing 2.0 features:
+       BackgroundImageLayout, RightToLeftLayout, 
+       OnHandleDestroyed, RightToLeftLayoutChanged, 
+       BackgroundImageLayoutChanged, MouseClick, MouseDoubleClick,
+       PaddingChanged.
+       - Rewrote all the BoldDate code, it was completely broken.
+       - Fixed all the tests (the tests can now be re-enabled, the
+       problems were not with the tests, but with the control, it was
+       mostly broken).
+       
+       * DateTimePicker.cs: Changed the location where the 
+       MonthCalendar is shown.
+       
+2006-12-19  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridView.cs: add IDropTarget implementation.
+
+       * ToolStripPanel.cs: add IDropTarget implementation.
+
+2006-12-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: soft now means something different than what it
+       used to mean, we want to move the caret regardless of whether or
+       not this break was soft (would we really have wanted the caret
+       to not move with the break in the old context?)
+       * TreeView.cs: Make sure we factor in the vert scrollbar when
+       calculating the horizontal scrollbar's maximum.
+
+2006-12-19  Andreia Gaita  <avidigal@novell.org>
+
+       * SendKeys.cs: Fix Send() behaviour, clear keys after sending,
+       check for keywords in alternate casing, close bug #80049.
+
+2006-12-19  Chris Toshok  <toshok@ximian.com>
+
+       * ToolStripItem.cs: add the implementation of the 4 IDropTarget
+       methods (which all do nothing).
+
+       * IDropTarget.cs: add the 4 missing methods.
+
+2006-12-19  Chris Toshok  <toshok@ximian.com>
+
+       * TableLayoutRowStyleCollection.cs: corcompare work.
+       
+       * TableLayoutSettings.cs: same.
+
+       * TableLayoutStyle.cs: same.
+
+       * TableLayoutColumnStyleCollection.cs: same.
+
+2006-12-19  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ColumnStyle.cs, RowStyle.cs, TableLayoutStyle.cs: Plumbing for
+       TableLayoutPanel I've had in my local tree for way too long.
+
+2006-12-19  Miguel de Icaza  <miguel@novell.com>
+
+       * TableLayoutSettings.cs: Finish the public API (still needs all
+       the logic to update on changes). 
+
+       * TableLayoutPanelCellPosition.cs: new file.
+       
+       * TableLayoutRowStyleCollection.cs,
+       TableLayoutColumnStyleCollection, TableLayoutStyle.cs,
+       TableLayoutSettings.cs: Track the final 2.0 table api.
+
+2006-12-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ColumnHeader.cs: Add Tag, Name, ImageKey, ImageIndex,
+       and Image List 2.0 members for ColummnHeader.
+       * ListView.cs: Add key-related 2.0 methods for
+       ColumnHeaderCollection.
+
+2006-12-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListViewItem.cs: Changed AddRange overloads to match MS: throw
+       ArgumentNullException if items argument is null. Ignore null item in
+       arrays. Removed extra tabs.
+
+2006-12-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * MonthCalendar.cs: Fixed InvalidCastException.
+
+2006-12-19  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Don't increment the position here.
+       - When calculating char positions only add in the line break size
+       for hard line breaks.
+
+2006-12-19  Andreia Gaita  <avidigal@novell.org>
+
+       * SendKeys.cs: Changed some things to match ms.net behaviour
+       when parsing shifted capital letters.
+       
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32, XplatUIOSX: 
+       Add window handle as parameter to SendInput. X11 needs the 
+       window handle, and the handle being passed      to it in the keys 
+       queue is the active control handle (which windows needs), not 
+       the window handle.
+       
+       XplatUIX11.cs, XplaUIX11-new.cs, X11Display: Implement SendInput 
+       to support SendKeys on X.       
+       
+       * X11Keyboard: Implement helper method to lookup a linux keycode
+       given the virtual keycode. Added table of keycode-2-virtualkey
+       values to support this.
+
+2006-12-19  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add support for SelectedIndexCollection
+       and SelectedItemCollection 2.0 methods. Implement support
+       for ImageKey too.
+       * ListViewItem.cs: Add support for ListViewSubItemCollection
+       2.0 methods. Also, fix an incorrect behavior of AddRange method
+       (it shouldn't call Clear).
+       * ThemeWin32Classic.cs: Support for ListView.ImageKey 2.0 property.
+
+2006-12-19  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: 
+       * TextBoxBase.cs: New args for FormatText
+       * TextControl.cs: Rewrote the main drawing method, this version
+       feels a little easier to understand and debug to me.  Hopefully it
+       does to others also
+       - Fix FormatText to OR in the new formating values.  Added
+       FormatSpecified param, basically this works in the same way as
+       BoundsSpecified in Control.
+       - Set the caret properties when the caret is positioned.
+       - When wrapping text make sure that we calculate the width of the
+       last character
+       - when calculating alignments we might have wrapped down to the
+       next line, so don't search for an individual tag, search for the
+       end of the line
+       - We need to invalidate the selection area when we replace the
+       selection.
+       
+2006-12-19  Daniel Nauck  <dna@mono-project.de>
+
+       * Application.cs: add Restart () 2.0 support
+
+2006-12-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuItem.cs: Invalidate menu item rectangle after change Enable
+       property. Fixes #80268.
+       
+2006-12-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Dont trigger select event when closes top menu
+       item. Fixes #80270.
+
+2006-12-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: When you click on menuitem only trigger onselect
+       event for top menu itens. Fixes #80271.
+       
+2006-12-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiWindowManager.cs: Make IconicBounds depend on
+       the bottom of MdiClient, not the top (fixes #80267)
+       
+2006-12-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Added missing 2.0 attribute
+
+2006-12-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Add Name and Tag 2.0 properties, as well
+       as IndexOfKey, ContainsKey, RemoveByKey and indexer 2.0.
+
+2006-12-18  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Fix click when menuitem is not popup,
+       this regression was caused by last commit (#80272).
+
+2006-12-17  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: When a non-toplevel menuitem is clicked dont
+       fire click event or close menu. Fixes #80272.
+
+2006-12-17  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewHitTestInfo.cs: add
+
+2006-12-17  Daniel Nauck  <dna@mono-project.de>
+
+       * ButtonBase.cs: Added FlatButtonAppearance 2.0 support.
+       * FlatButtonAppearance.cs: add
+       * DockingAttribute.cs: add
+
+2006-12-17  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: hook up MetaDataChanged event on the list manager,
+       and rebind our columns when it does - this way, if you make
+       changes to the DataTable (or set the Table attribute on a DataView
+       after setting it as the DataGrid's DataSource, the changes are
+       made visible.)  Fixes bug #80107.
+
+2006-12-17  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewGroup.cs: add internal Location property for layouting.
+       * Theme.cs: add abstract ListViewGroupHeight function.
+       * ThemeWin32Classic.cs: implement ListViewGroupHeight function.
+
+2006-12-16  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Fixed checks for NET_2_0-specific exceptions.
+       Added reset of selected index to 0 when adding first tab page.
+       Fixes #80264
+       
+       * NumericUpDown.cs: Fix NET_2_0 check
+
+2006-12-16  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewGroup.cs: fixed DefaultValueAttribute value
+
+2006-12-16  Daniel Nauck  <dna@mono-project.de>
+
+       * AutoCompleteStringCollection.cs: add new AutoCompleteStringCollection 2.0 class
+
+2006-12-15  Miguel de Icaza  <miguel@novell.com>
+
+       * Button.cs, ComboBox.cs, ScrollBar.cs, UserControl.cs,
+       TextBoxBase.cs, ListView.cs, ContainerControl.cs,
+       ScrollableControl.cs: Add a handful of methods that are
+       overwritten in 2.0 
+
+2006-12-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIWin32.cs: initial implementation of the Reversible
+       drawing functions.  there are some problems.  DrawReversibleFrame
+       doesn't seem to work at all for Dashed FrameStyle, and in the
+       Thick case there are drawing errors at the corners (we probably
+       need to bind Rectangle instead of doing moveto/lineto's.)
+
+2006-12-16  Andreia Gaita  <avidigal@novell.com>
+       
+       * SendKeys.cs: Implemented. SendKeys uses a new method in XPlatUI, SendInput, 
+       to send blocks of key messages. Send accumulates keys to send with Flush, 
+       while SendWait sends all keys immediately.
+               
+       * XplaUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, 
+       XplatUIX11.cs,  XplatUIX11-new.cs:
+       - Define SendInput and stubs for OSX and X11, implements Win32 with a call
+       to Win32 SendInput.
+       - Added INPUT support structures to XplatUIWin32 for Win32SendInput
+       
+       Tests:  It seems ms.net is hooking the keyboard to implement this, so doing unit
+       testing for ms.net on this class is very tricky, as the tests run too fast 
+       to allow the hook to release, essentially freezing the keyboard and the 
+       test. So, barring a win32 miracle, they'll be commited in the ms-notworking     
+       category :p
+
+2006-12-16  Daniel Nauck  <dna@mono-project.de>
+
+       * Padding.cs: fixed serialization compability to MS ("_var" field names),
+                       added missing attributes.
+2006-12-15  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewGroup.cs: Added missing attributes.
+       * ListViewGroupCollection.cs: Added missing attributes.
+
+2006-12-15  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewItem.cs: fixed ListViewSubItem text property.
+
+2006-12-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * Control.cs: Added missing 2.0 attributes
+       
+2006-12-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * MdiClient.cs: Added missing 2.0 attribute.
+       * MonthCalendar.cs: Added some missing 2.0 attributes 
+       and properties.
+       
+2006-12-15  Daniel Nauck  <dna@mono-project.de>
+
+       * ListView.cs: implemented ListViewItemCollection Add 2.0 support.
+
+2006-12-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * MainMenu.cs: Add the new 2.0 constructor to help out people
+       using the MainMenu in VS2005.
+
+2006-12-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * MdiChildContext.cs: Removed it, no longer used.
+       * MdiClient.cs: Added missing 2.0 attributes.
+       
+2006-12-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * InternalWindowManager.cs: Fix a NullRef with previous 
+       changes for toolwindows.
+       
+2006-12-15  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: 
+       - Added AfterTopMostControl to allow for certain controls 
+       to always stay on top when normal controls are brought to 
+       front.
+       
+       * XplatUIWin32.cs: 
+       - (DrawInversibleRectangle): Get window rectangle from Win32 
+       in stead of from control, since Win32 doesn't calculate
+       screen coords correctly from control's Location if it 
+       have docked siblings.
+       
+       * MdiWindowManager.cs:
+       - Correct the control menu popup location when clicked on
+       the maximized form icon. (fixes #80223.1)
+       - Don't show moving rectangle if mouse hasn't moved from
+       the original clicked point.
+       - Removed FormGotFocus handler (not used).
+       - Calculate the control buttons location from the main
+       window's size and not client size (fixes #79770).
+       - Form is now closed when the form icon is double-clicked
+       (fixes #79775). 
+       - Correct NCCalcSize numbers a little bit (fixes #80223.2)
+       
+       * InternalWindowManager.cs:
+       - Moved some MDI-only methods to MdiWindowManager.
+       - Removed unused properties and methods.
+       - Unified method naming for methods handling wm messages.
+       - Moved all message handling to seperate methods for
+       each message.
+       
+       * ThemeWin32Classic.cs:
+       - DrawManagedWindowDecorations now draws the title bar 
+       with a gradient brush.
+       - Add a CPDrawButtonInternal that allows us to specify
+       light, normal and dark colors for the buttons (control 
+       buttons for MDI children were drawn with the same light
+       color as the background, therefore loosing the 3D effect).
+       
+       * SizeGrip.cs:
+       - Add a CapturedControl property that is used to 
+       determine the control to resize (defaults to parent). 
+       Needed for MdiClient, since its SizeGrip's parent is
+       MdiClient, but the control to resize is the main form.
+       
+       * MdiClient.cs:
+       - Set SizeGrip's CapturedControl to the main form in order
+       to resize the main form and not the MdiClient.
+       - Override AfterTopMostControl to leave the scrollbars 
+       always on top.
+
+2006-12-15  Daniel Nauck  <dna@mono-project.de>
+
+       * ListView.cs: fixed ListViewItemCollection AddRange and
+                       implemented ListViewItemCollection AddRange 2.0 support.
+
+2006-12-15  Daniel Nauck  <dna@mono-project.de>
+
+       * ListViewGroup.cs: Add.
+       * ListViewGroupCollection.cs: Add
+       * ListView.cs: Add ListViewGroup (Group) and ShowGroups 2.0 support.
+       * ListViewItem.cs: Add ListViewgroup (Group), ListViewGroups constructors and
+                               stub for ImageKey 2.0 support.
+
+2006-12-14  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: add text padding to the autocalculation for columns
+       of width -2.  Fixes #80207.
+2006-12-14  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: add some index guarding for partial row navigation 
+       logic.  Fixes #80250.
+
+2006-12-14  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: throw ArgumentExceptions when parented ListViewItems
+       are added or inserted to the collection.  Fixes #81099.
+
+2006-12-13  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Closes menu when right click out side of popup
+       it fix problem in ContextMenu and MainMenu. Fixes #80252.
+
+2006-12-13  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListViewItem.cs: Fix dumb error.
+
+       * ListView.cs: Add Find and ContainsKey methods in 
+       ListViewItemCollection, and also return true for IsReadOnly
+       and IsFixedSize (changes for 2.0). 
+
+2006-12-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Control.cs: Allow Region to be set to null.
+
+2006-12-13  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiWindowManager.cs: Remove unused (commented out) code.
+       * Form.cs: When the MdiChild is maximized, the form needs 
+       WM_NCMOUSELEAVE, so request it.
+       * InternalWindowManager.cs: 
+       - Added tooltips to control buttons.
+       - Removed duplicated control button handling code.
+       - Removed unused (commented out) code.
+       
+2006-12-12  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Set cursor to default in popup menus, a XplatUI.SetCursor 
+       was used because we must set cursor without trigger ChangeCursor event
+       and without change Cursor control property. Fixes #79963.
+
+2006-12-12  Andreia Gaita  <avidigal@novell.com>
+       
+       * Control.cs: Check if Region setter value is null, and ignore
+
+2006-12-12  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We were almost always drawing one more line then
+       needed, since the GetLineByPixel will return the last line found
+       at that pixel. In most cases though, we were invalidating up to
+       the junction between two lines.
+       - Improve debug code.
+
+2006-12-12  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUI.cs: add static DrawReversibleFrame, DrawReversibleLine,
+       and FillReversibleRectangle.
+
+       * XplatUIDriver.cs: add abstract DrawReversibleFrame, DrawReversibleLine,
+       and FillReversibleRectangle.
+
+       * XplatUIWin32.cs: add stubs which do nothing for
+       DrawReversibleFrame, DrawReversibleLine, and
+       FillReversibleRectangle.
+
+       * XplatUIOSX.cs: add stubs which raise NIE for
+       DrawReversibleFrame, DrawReversibleLine, and
+       FillReversibleRectangle.
+
+       * XplatUIX11.cs: add working implementation for
+       DrawReversibleFrame, DrawReversibleLine, and
+       FillReversibleRectangle.
+       
+       * ControlPaint.cs: implement DrawReversibleFrame,
+       DrawReversibleLine, and FillReversibleRectangle, by calling into
+       the appropriate XplatUI method.
+
+2006-12-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Form.cs: Make MdiClient have the focus even if it's
+       not selectable, since it should receive WM_KEY* and WM_MOUSE 
+       messages. Fixes #79907.
+       
+2006-12-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Hwnd.cs: Save the CreateParams.ExStyle so that it can be
+       queried after the window is created.
+       
+       * XplatUIX11.cs: Added SendParentNotify to implement 
+       WM_PARENTNOTIFY logic. Fixes #79965.
+       
+       * Control.cs: Added MakeParam.
+       
+2006-12-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: Resume Layout before setting window
+       states (fixes #80201).
+
+2006-12-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MenuAPI.cs: Deselect a menu item after performing
+       the click (fixes #80197).
+
+2006-12-11  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: We need to cap this value, since Maximum -
+       ViewPortHeight can be less than zero.
+       - Only do selection with the left mouse button.
+       * TextBox.cs: Don't tell the world that we have a context menu.
+       * Control.cs: New method so that we can control whether or not the
+       context menu is visible outside MWF.
+
+2006-12-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBarButton.cs: Fix text positon. 
+
+2006-12-11  Miguel de Icaza  <miguel@novell.com>
+
+       * ProgressBar.cs (MarqueeAnimationSpeed): Add stub.
+
+       * Control.cs (DoubleBuffered): Add implementation.
+
+       * Application.cs (OpenForms): Add.
+
+2006-12-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Use opacity instead of Opactiy to determine if we need
+       to set the WS_EX_LAYERED bit.  [Fixes bug #80185]
+
+2006-12-11  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Fix NRE if Control.Site was set to null.
+
+2006-12-11  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: ControlCollection.Remove should return if the arg is
+       null, and ControlCollection.SetChildIndex should raise a ANE.
+
+2006-12-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Control.cs: Verify value set for Dock property. Code formatting
+       updates.
+
+2006-12-11  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Draw the caret and the selection when a flag is
+       set on the owner.
+       * TextBoxBase.cs: We want to draw the caret and the selection for
+       TextBox but not for TextBoxBase.
+       - If the window is resized and scrolling is no longer needed (the
+       whole doc is visible) set the scroll position to zero.
+       - The default SelectWord (the one TextBox uses) should move the
+       caret to the end of the word.
+       - SelectAll moves the caret to the end of the selection.
+       * TextBox.cs: We don't selectall on focus, we just do it when the
+       control is created.
+       
+2006-12-11  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: stub in a 2.0 override for ProcessKeyEventArgs.
+
+2006-12-11  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListView.cs: Add Insert, IndexOfKey, RemoveByKey and indexer 
+       2.0 support.
+       * ListViewItem.cs: Add Name 2.0 property.
+
+2006-12-11  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Set visibility on selected or default tab 
+       when tabcontrol handle is created, so that it's contents
+       actually show up (duh). Fixes #80193
+       Don't redraw the control if there is no handle created, as
+       the selected index might be completely invalid. Added some tests
+       to check for this.
+
+2006-12-11  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Uses maximun width and height of all buttons as 
+       button rectangle when ButtonSize specified, it looks strange but
+       is what happens in Win32. Fixes #80189.
+
+2006-12-11  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Need to track undo levels ourself, since
+       compound actions will mess them up.
+
+2006-12-10  Andreia Gaita  <avidigal@novell.com>
+
+       * TabControl.cs: Raise SelectedIndexChanged for 1.1 if the
+       SelectedIndex value is changed (even if it's not valid).
+       Reset SelectedIndex to 0 when the handle is created and if
+       the current index is invalid.
+       Fixes SelectdeIndex unit tests and #80128
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_CurrentCell): because EnsureCellVisibility
+       calls EndEdit, it needs to be called before we set current_cell to
+       its new value.  Otherwise, we end up committing the value in the
+       textbox to the new cell as well.  Fixes bug #80160.
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (set_CancelButton): if the button's DialogResult is
+       None, set it to Cancel.  Fixes bug 80180.
+
+2006-12-08  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Ugh, ClientSize can be 0,0 sometimes, so we need
+       to watch ourselves when setting the canvas size and setting the
+       scrollbar values.
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: comment out the two MakeTransparent calls for the
+       time being so people using trunk (and not 1.2.2) on windows can
+       actually use the datagrid.  This deals with bug #80151.
+
+2006-12-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ThemeWin32Classic.cs: Change ButtonBase_DrawImage to use the
+       Graphics.DrawImage (image, int, int, int, int) overload instead
+       of Graphics.DrawImage (image, int, int).  GDI+ can't figure out
+       the dpi difference and was blurring images it drew.
+       [Fixes bug #79960]
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs (DataGridPaintRows): handle case where
+       rowcnt is 0 (such as with an empty datasource), and make sure we
+       initialize not_usedarea.Y to cells.Y, so we don't draw over the
+       other areas (caption, parent row, etc, etc).  Fixes bug #80095.
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs (SetDataGrid): don't try to access a null
+       grid.
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes bug #80167 ]
+       
+       * ThemeWin32Classic.cs: don't draw the image if the button's flat
+       style is FlatStyle.System.
+
+       * ButtonBase, ThemeClearlooks.cs, ThemeGtk.cs, ThemeNice.cs: make
+       ButtonBase.flat_style private, and switch uses of it to the public
+       property.
+       
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       [ Fixes bug #80121 ]
+       
+       * ThemeWin32Classic.cs: center the caption text in the datagrid
+       when we draw it.
+
+       * DataGrid.cs: lessen the amount we add to the caption height from
+       6 to 2.  6 was making it huge.
+
+2006-12-08  Andreia Gaita  <avidigal@novell.com>
+
+       * UpDownBase: Handle MouseWheel call directly instead of capturing
+       the inner textbox's OnMouseWheel. Fixes #80166
+
+2006-12-08  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We need to invalidate the textbox when we empty
+       it (how had this not been discovered before?)
+
+2006-12-08  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Reworked the mouse down code so I could get it
+       to behave like MS, we now ignore the eventargs.Click and just
+       track state ourself, which we were already doing anyways.
+       - Constrain the double click handler to the double click size.
+       
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: the mousewheel code shouldn't try to scroll in a
+       direction if that scrollbar isn't shown.  fixes bug #80158.
+
+2006-12-08  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown.cs: Update value on getter. Fixes #79950
+
+2006-12-08  Chris Toshok  <toshok@ximian.com>
+
+       * MenuItem.cs: add back in the event cloning code.  I didn't know
+       how to do it in the face of the EventHandlerList work i'd done
+       last week.  Fixes bug #80183.
+
+2006-12-08  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Add an invalidate to the BackgroundImage setter.
+       [Fixes 80184]
+
+2006-12-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip*: Add some small properties reported by MoMA, fix event
+       firing and default properties based off of unit tests, and add some
+       attributes based off of the class status page.
+
+2006-12-07  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Take HideSelection into account when determining
+       whether or not to show the selection.
+       * RichTextBox.cs: After inserting the RTF into the document move
+       the cursor to the beginning of the document.
+
+2006-12-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Remove static ArrayList "controls" which maintained
+       a reference to every control created.
+       * Application.cs: Create a static FormCollection to maintain a reference
+       to every form created.  Use it in places that formerly enumerated through
+       the controls one looking for forms.
+       * Form.cs: Add and remove self from above FormCollection.
+
+2006-12-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: gdk_pixbuf_save_to_buffer is part of libgdk-pixbuf,
+         not libgdk (though it makes me wonder why I didn't have any
+         problems)
+
+2006-12-07  Chris Toshok  <toshok@ximian.com>
+
+       [ you had to know this was coming after that last commit...]
+       
+       * XplatUIX11.cs: implement the 3 Offscreen functions in terms of
+       XPixmaps (CreateOffscreenDrawable maps to XCreatePixmap,
+       DestroyOffscreenDrawable to FreePixmap, and BlitFromOffscreen to
+       XCopyArea).
+
+2006-12-07  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUI.cs: add 3 calls (CreateOffscreenDrawable,
+       DestroyOffscreenDrawable, and BlitFromOffscreen) that encompass
+       all the behavior we need for double buffering.
+
+       * XplatUIDriver.cs: implement the 3 double buffer methods using a
+       client side Bitmap, just like the old Control-based double buffer
+       code did.  The methods are virtual, so each XplatUI driver
+       subclass can replace the implementation to use a faster, platform
+       specific approach.
+
+       * Control.cs: make use of the 3 Offscreen XplatUI calls in the
+       double buffer code, and clean things up a bit in the process.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: reindent WndProc.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       [ I wanna be like BenM when I grow up ]
+       
+       * Hwnd.cs: create a single static Graphics object on the static
+       Bitmap we create.  use this for our text measurements.
+
+       * Control.cs (DeviceContext): stop using the backbuffer's dc_mem.
+       This was causing us to allocate a backbuffer for every control,
+       even when it wasn't flagged as double buffered.  Instead use the
+       single graphics instance.  This might have implications for
+       multithreaded applications.  If we run into problems we can switch
+       to creating 1 Graphics per control, on the static Hwnd bitmap.
+
+       this change nets us a 7M savings in private dirty mappings when
+       running FormsTest.exe.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * ListView.cs: the BackgroundImage override is just to set
+       attributes.  chain up to base.BackgroundImage.
+
+       * RichTextBox.cs: same.
+
+       * ToolBar.cs: same, but we need to also redraw the toolbar when it
+       changes, so instead a handler for BackgroundImageChanged.
+       
+       * Control.cs: make background_image private.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollBar.cs: change the assignment of cursor to Cursor.  not
+       sure we even need this assignment, but roll with it for now.
+
+       * Control.cs: make the cursor field private.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: we don't need to explicitly set ImeMode to
+       ImeMode.NoControl - that's a natural fallout of Control.ImeMode's
+       behavior in the face of ImeMode.Inherit.
+
+       * ButtonBase.cs: change DefaultImeMode to ImeMode.Disable, and
+       change the ctor's assignment to use ImeMode instead of ime_mode.
+
+       * Control.cs (get_ImeMode): don't assume DefaultImeMode ==
+       ImeModeInherit.  Only check for the parent's imemode (and return
+       NoControl if there is no parent) if ime_Mode == ImeMode.Inherit.
+       This fixes the button unit test, which sets both ImeMode and
+       DefaultImeMode to ImeMode.Disable.
+
+       also make the ime_mode field private.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make control_style private.
+
+       * TextBoxBase.cs: fix the HandleClick override.  it was explicitly
+       setting the styles to true, then setting them to false instead of
+       reverting to their previous values.
+
+       also, call SetStyle on the scrollbars instead of using
+       control_style directly.
+
+2006-12-06  Jonathan Pobst  <monkey@jpobst.com>
+
+       * FormCollection.cs: Implement. [2.0]
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make tab_stop private.
+
+       * Label.cs: set TabStop, not tab_stop.  reformat some event
+       add/remove methods to make them more compact.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * RadioButton.cs: fix TabStop handling.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * TextBox.cs: remove the explicit assignments to has_focus.
+       Control does that.
+
+       * ButtonBase.cs: remove the assignment to has_focus.  Control will
+       manage that.
+       
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * ButtonBase.cs: remove all uses of is_enabled from this code.
+       it's always true when any of the code containing the checks is
+       executed.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * ImageList.cs: reinstate the ShouldSerialize*/Reset* methods,
+       with different semantics (some are present in both 1.1 and 2.0
+       profiles) so that we match MS's behavior in our unit tests.
+
+2006-12-06  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Make this operation undoable.
+       * TextBoxBase.cs: Factor the border width into the preferred
+       height.
+       - implement Modified as per the spec.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Timer.cs, Control.cs, Menu.cs: make control_tag private.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make right_to_left and context_menu fields private.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * AccessibleObject.cs, Control.cs, XplatUIX11GTK.cs,
+       XplatUIX11.cs, Form.cs, RadioButton.cs, ScrollableControl.cs: make
+       Control.child_controls private.  switch all uses over to
+       Control.Controls.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * System.Windows.Forms/GroupBox.cs,
+       System.Windows.Forms/AccessibleObject.cs,
+       System.Windows.Forms/ErrorProvider.cs,
+       System.Windows.Forms/Control.cs,
+       System.Windows.Forms/UpDownBase.cs,
+       System.Windows.Forms/ScrollBar.cs,
+       System.Windows.Forms/DateTimePicker.cs,
+       System.Windows.Forms/Form.cs, System.Windows.Forms/Label.cs,
+       System.Windows.Forms/ToolTip.cs,
+       System.Windows.Forms/RadioButton.cs,
+       System.Windows.Forms/LinkLabel.cs,
+       System.Windows.Forms/Splitter.cs,
+       System.Windows.Forms/TextBoxBase.cs,
+       System.Windows.Forms/ToolStripTextBox.cs,
+       System.Windows.Forms/ContainerControl.cs,
+       System.Windows.Forms/ThemeWin32Classic.cs,
+       System.Windows.Forms/SizeGrip.cs,
+       System.Windows.Forms/ToolStripDropDown.cs,
+       System.Windows.Forms/ScrollableControl.cs: Make Control.parent
+       private.  switch all uses over to Control.Parent.
+
+2006-12-06  Chris Toshok  <toshok@ximian.com>
+
+       * RichTextBox.cs: don't assign to has_focus in GotFocus/LostFocus.
+       Control does this before calling emitting these events.
+
+       * TabControl.cs: same.
+
+       * ThemeWin32Classic.cs: use Control.ClientRectangle instead of
+       Control.client_rect.
+
+       * ButtonBase.cs: use the ClientSize property instead of the
+       client_size field.
+
+       * ScrollableControl.cs: same.
+
+       * Control.cs: another pass at making properties private.  also,
+       move the initialization of tab_stop to the ctor.
+
+2006-12-05  Andreia Gaita <avidigal@novell.com>
+
+       * TabControl.cs: Let the selected index be set freely if the 
+       control handle is not yet created.
+
+2006-12-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Revert dist_top, dist_right, and dist_bottom to 
+       internal until I can rewrite DefaultLayout.
+       * ToolStrip.cs: Fix build error and some general cleaning.
+       * ToolStripControlHost.cs, SplitterPanel.cs, DataGridView.cs:
+       Fix build errors caused by making some of Control's fields private.
+
+2006-12-05  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Redo Insert a little so that it use IndexOf
+       instead of Split, this prevents it from messing up on things like
+       \n\n\n. Also more effecient since the split array doesn't need to
+       be created.
+       * TextBoxBase.cs: AppendText doesnt handle multiline and non
+       multiline text differently, this is the first of many fixes that
+       will make multiline/non-multiline the same thing as far as the
+       TextBoxBase is concerned.
+       - Don't split the text and insert lines, this can lose some line
+       endings (like is the last line a soft or hard break). Instead use
+       the new Insert.
+       - Fix an off by one when combining all the lines in the Text
+       getter.
+       - Remove separate multiline handling from the Text getter/setter.
+
+2006-12-05  Chris Toshok  <toshok@ximian.com>
+
+       * ButtonBase.cs: a few changes:
+
+       - don't reinitialize internal Control fields in the ctor when they
+       have the same values as Control sets them.
+
+       - don't set has_focus in OnGotFocus/OnLostFocus.  Control does
+       this before calling those methods.
+
+       - we don't need to call Refresh for anything.  use Invalidate
+       instead.
+
+       - OnEnabledChanged doesn't need to redraw at all - Control.cs
+       calls Refresh in its OnEnabledChanged.
+       
+       - several of the events we were registered for in the ctor to
+       redraw ourselves already include calls to Invalidate in the
+       property setters that raise the events.  remove the extra
+       invalidation.
+
+       - reformat a switch statement that was 83274658 columns wide.
+       
+2006-12-05  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: fix a unit test regression from a TextBox
+       SelectionLength return of -1 when there's no selection.  
+
+2006-12-05  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs, Button.cs, ThemeGtk.cs, Form.cs, ListView.cs,
+       ThemeWin32Classic.cs, SizeGrip.cs, ToolBar.cs: first pass at
+       cleaning up some of the internal Control fields being used by
+       subclasses.
+
+2006-12-05  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: fix some Simple mode regressions.  Set Visible on the
+       listbox after AddImplicit calls since it defaults to hidden. Add a 
+       hack to preserve requested heights across DropDownStyle changes.
+
+2006-12-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * PropertyGrid.cs: Hide FindFirstItem method from public API.
+
+2006-12-05  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridView.cs: fix compiler warnings.
+
+       * PrintControllerWithStatusDialog.cs: same.
+
+       * ToolBar.cs: same.
+
+       * FolderBrowserDialog.cs: same.
+
+       * Splitter.cs: same.
+
+       * DataGridViewComboBoxCell.cs: same.
+
+       * XplatUIWin32.cs: same.
+
+       * PictureBox.cs: same.
+
+       * Win32DnD.cs: same.
+
+       * PageSetupDialog.cs: same.
+
+       * FileDialog.cs: same.
+
+       * PrintDialog.cs: same.
+
+       * DataGridTextBoxColumn.cs: same.
+
+       * DrawTreeNodeEventArgs.cs: same (and fix corcompare)
+
+2006-12-05  Chris Toshok  <toshok@ximian.com>
+
+       * TextBox.cs, CheckedListBox.cs, MonthCalendar.cs, Menu.cs,
+       MainMenu.cs, ListView.cs, LabelEditTextBox.cs, ToolBar.cs: more
+       System.ComponentModel.EventHandlerList work.
+
+2006-12-05  Jonathan Chambers  <joncham@gmail.com>
+
+       * DrawTreeNodeEventArgs.cs: Added.
+
+2006-12-05  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * InternalWindowManager.cs: Remove an unused field.
+       
+2006-12-05  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * InternalWindowManager.cs:
+       - Save the point where the title bar is clicked.
+       
+       * MdiWindowManager.cs:
+       - Only allow moving of the window as long as the 
+       clicked point on the title bar does not get out of
+       MdiClient's rectangle. Fixes #79982.
+       
+       * MdiClient.cs:
+       - Added Horizontal/VerticalScrollbarVisible.
+       - Simplified the scrollbar sizing algorithm.
+       - Cache the difference in scrolled value in
+       H/VBarValueChanged and move the calculation out
+       of the for loop.
+
+2006-12-05  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: Make the Console.WriteLine in WndProc 
+       write more info.
+
+2006-12-05  Chris Toshok  <toshok@ximian.com>
+
+       * ToolStripManager.cs, ToolStripButton.cs,
+       ToolStripContentPanel.cs, ToolStripComboBox.cs, ToolStrip.cs,
+       ToolStripMenuItem.cs, ToolStripItem.cs, ToolStripControlHost.cs,
+       ToolStripSplitButton.cs, ToolStripSeparator.cs,
+       ToolStripRenderer.cs, ToolStripDropDownItem.cs,
+       ToolStripProgressBar.cs, ToolStripContainer.cs,
+       ToolStripTextBox.cs, ToolStripPanel.cs, ToolStripDropDown.cs: move
+       to using System.ComponentModel.EventHandlerList.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: fix up compiler warnings.
+
+       * TableLayoutSettings.cs: same.
+
+       * TreeView.cs: same.
+
+       * ToolBar.cs: same.
+
+       * TabControl.cs: same.
+
+       * RichTextBox.cs: same.
+
+       * ListViewItem.cs: same.
+
+       * PropertyGrid.cs: same.
+
+       * DataGridViewRowPostPaintEventArgs.cs: corcompare fix.
+
+       * ToolTip.cs same.
+
+       * TextRenderer.cs: fix up compiler warnings.
+
+       * Label.cs: same.
+
+       * Form.cs: corcompare fixes.
+
+       * PictureBox.cs: fix up compiler warnings.
+
+       * ImageListStreamer.cs: same.
+
+       * TrackBar.cs: corcompare fix.
+
+       * Control.cs: fix up compiler warnings.
+
+       * SplitterPanel.cs: same.
+
+       * NumericTextBox.cs: same.
+
+       * ImageList.cs: same.
+
+       * StatusStrip.cs: same.
+
+       * ProgressBar.cs: corcompare fix.
+
+       * ToolStripButton.cs: fix up compiler warnings.
+
+       * ToolStripStatusLabel.cs: same.
+
+       * ToolStripSplitButton.cs: same.
+
+       * ToolStripSeparator.cs: same.
+
+       * ToolStripProgressBar.cs: same.
+
+       * ToolStripDropDownMenu.cs: same
+
+       * ToolStripDropDown.cs: same.
+
+       * ToolStripDropDownButton.cs: same.
+
+       * ToolStrip.cs: same.
+
+       * ToolStripControlHost.cs: same.
+
+       * ToolStripContentPanel.cs: same.
+
+       * ToolStripDropDown.cs: same.
+
+       * ToolStripContainer.cs: same.
+
+       * ToolStripPanel.cs: same, and add "new" where we need it to work
+       with the new ArrangedElementCollection.
+
+       * ToolStripItemCollection.cs: add "new" where we need it to work
+       with the new ArrangedElementCollection.
+
+2006-12-04  Andreia Gaita <avidigal@novell.com>
+
+       * TabControl.cs: Fix default tab selection to after TabControl
+       gets focus and not before. Fixes #80128
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTableStyle.cs: remove the gross calling of
+       datagrid.Refresh from here.  It's a broken idea and it doesn't
+       work anyway.
+
+       * DataGrid.cs: instead, just register/unregister from the
+       DataGridTableStyle events in CurrentTableStyle.  we play it
+       conservatively and EndEdit + CalcAreasAndInvalidate on any event,
+       even though some would most likely not require it.  Fixes bug
+       #80115 (and one portion of #80117 as a side effect).
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_CaptionVisible): EndEdit before doing the work
+       so the textbox (if any) goes away.  Fixes bug #80117.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs: set the column's readonly property
+       initially based on the property descriptor's IsReadOnly.  Fixes
+       bug #80044.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * ComboBox.cs: wrap the dropdown style changing work in
+       SuspendLayout/ResumeLayout.  Fixes bug #79968.
+
+2006-12-04  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Fix off by one, since these are one-based.
+       * TextBox.cs: Select all the text when we get focus.  The TextBox
+       does this but the RTB does not.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: remove some spew.
+
+       * DataGridColumnStyle.cs (SetColumnValueAtRow): this seems right
+       but some part of me is saying "it shouldn't be here.."  At any
+       rate, it fixes bug #80046.  Call IEditableObject.EndEdit after
+       setting the value.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs (SetDataGrid): call CheckValidDataSource
+       to reassign the propertydescriptor.
+
+2006-12-04  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs:
+       * TextControl.cs: Remove some unused variables.  Maybe this will
+       patch things up between mike and I.
+       - don't split lines less then one char wide, if the viewport is
+       that small text won't be visible anyways.
+       
+2006-12-04  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Default selection length is -1, need to do some
+       more testing on windows to see when this is used for the property.
+       - Redid the Lines [] property to that we properly remove soft line
+       breaks
+       - added support for preserving carriage returns
+       -  CanUndo is not a variable like 'is undo enabled' it just returns
+       true if there is undo operations available.
+       - AppendText doesn't need to grab the last tag itself anymore,
+       this happens automatically when we move the cursor.
+       * TextControl.cs: Add CompoundActions to the undo class. This
+       allows combining the other operations into one big option.  ie a
+       paste will combine { delete old, insert new, move cursor }
+       - Add InsertString undo operation
+       - New method for deleting multiline text
+       - Add carriage returns to lines. So we can preserve carriage
+       returns when text is 'roundtripped'
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (CalcCellsArea): cells_area.Width/Height are at a
+       minimum 0.  Fixes the scrollbar exception in bug #80136.
+
+2006-12-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiClient.cs: 
+       * MdiWindowManager: Removed unused fields and methods.
+       
+2006-12-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * StatusBar.cs: Update all panels when a AutoSize=Contents
+       panel needs updating.
+       
+       * StatusBarPanel.cs: Remove twidth and only use initialize.
+       Fixes #80031.
+               
+2006-12-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Form.cs: When a form's MdiParent is set add it directly
+       on top of the z-order in stead of relying on MdiClient's
+       ActivateChild to do it. Fixes #80135.
+       
+       * MdiClient.cs: 
+       - Remove original_order, mdi_child_list is already doing
+       the same thing.
+       - Create mdi_child_list on construction in
+       stead of first use (avoids a few null checks).
+
+       * MenuItem.cs: Use an already existing list of mdi children
+       to get the correct order of children and remove the other
+       redundant list.
+
+2006-12-04  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: cached_splitter_location is only used in
+       !DOUBLEBUFFER code.
+
+       * PropertyGrid.cs: implement the ComComponentNameChanged event
+       using Events, hoping that would fix the warning.  Looks like a
+       compiler bug instead (#80144).
+
+       * PropertyManager.cs: remove unused method.
+
+2006-11-04  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Dont draw arrow when menuitem on menubar, 
+       include parentesis to fix expression evaluation. Fixes #79634.
+
+2006-11-02  Everaldo Canuto  <everaldo@simios.org>
+       
+       * MenuAPI.cs:
+       - Changes to fix behavior in Menu control, some reported in #80097
+       and other detected during behavior refactory like a select event
+       problems.
+       - Remove unneded "if's" conditions.
+       - Created an internal to flag when popup is active in control, we need 
+       it because in .NET you can have menu active but without popup active
+       when you active menu using popup without visible items.
+       - Mimic win32 behavior for Select and Popup events.  
+       - Dont open popup menu when you dont have visible subitems.
+       - Do nothing when click on disabled menu item.
+       - Some small changes to follow the coding style guidelines.
+       - Unselect menu only when another control gives focus. Fixes #80097.
+       - Remove unused code.
+       
+       * MenuItem.cs: internal VisibleItems method to check if menu
+       theres visible subitems, it will be usefull to fix some 
+       behavior in Menu control.
+       
+2006-11-01  Everaldo Canuto  <everaldo@simios.org>
+       
+       * Timer.cs: Tag property for 2.0 profile.
+       
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       [ after removing all warning suppressions, this cleans up over 100 warnings. ]
+       
+       * Win32DnD.cs: comment out some unused fields.
+
+       * XplatUIWin32.cs: comment out some unused pinvokes, and remove
+       some unused properties/methods.
+
+       * XplatUIX11.cs: fix MousePosition so we override the base class's
+       property instead of conflicting with it.
+
+       * PictureBox.cs: comment out some unused fields
+
+       * OSXStructs.cs: make some struct fields public.
+
+       * XplatUIOSX.cs: comment out some unused pinvokes, and fix
+       MousePosition so we override the base class's property instead of
+       conflicting with it.
+
+       * X11Dnd.cs: comment out some unused fields
+
+       * X11DesktopColors.cs: fix some struct field visibility to quiet
+       the compiler.
+
+       * X11Dnd.cs: remove some debug code.
+
+       * ThemeClearlooks.cs: comment out unused field.
+
+       * ThemeNice.cs: mark some methods as overriding ThemeWin32Classic as needed.
+
+       * ThemeGtk.cs: comment out some unused pinvokes.
+
+       * Timer.cs: remove some unused fields.
+
+       * ThemeClearlooks.cs: comment out unused field.
+
+       * UpDownBase.cs: comment out unused field.
+
+       * DataObject.cs: comment out unused field.
+
+       * DataGridBoolColumn.cs: reomve unused field.
+
+       * DataGrid.cs: remove unused field.
+
+       * Cursor.cs: remove old ToBitmap code.
+
+       * ControlPaint.cs: remove unused method.
+
+       * ScrollBar.cs: remove unused fields.
+
+       * ComboBox.cs: remove unused field, and chain up to
+       AccessibleObject ctor.
+
+       * ListBox.cs: remove unused field.
+
+       * ButtonBase.cs: wrap a couple fields in NET_2_0.
+
+       * GridEntry.cs: remove unused fields.
+
+       * Binding.cs: remove unused fields.
+
+       * AxHost.cs: remove unused method.
+
+       * ContainerControl.cs: remove unused field.
+
+       * ScrollableControl.cs: remove unused fields.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUI.cs, XplatUIWin32.cs, XplatUIGTK.cs: nuke
+       the Where/WhereString stuff.  it's easy enough to CWL
+       Environment.StackTrace.
+
+       * XplatUIX11.cs: same, but also fix up a lot of mcs warnings about
+       unused private fields.
+
+2006-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Do not update the view while inserting multiline
+       text. If we update the view we might wrap lines, before entering
+       the new lines, which causes the new line insertion calculations to
+       be totally fubared.
+       - Remove an old TODO
+       - Make debug output a little nicer
+       
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBar.cs: revert the ImeMode fix here and add an XXX comment.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       [ fix the majority of the CS0108 warnings we've been suppressing ]
+       
+       * TreeView.cs: mark BackgroundImageChanged as 'new'.
+
+       * ToolBar.cs: ImeMode just passes stuff to Control.  Rename Layout
+       to "LayoutToolBar" to quiet mcs.
+       
+       * TabControl.cs: mark our ControlCollection class as 'new'.
+
+       * TextBoxBase.cs: mark some events as 'new'.
+
+       * Splitter.cs: TabStop is 'new'.
+
+       * ControlBindingsCollection.cs: mark a few methods as new since
+       they change the visibility from protected to public.
+
+       * RadioButton.cs: DoubleClick -> base class, and remove unused
+       HaveDoubleClick.
+
+       * MonthCalendar.cs: ImeMode property -> base class, and mark many
+       events as new.
+
+       * NumericUpDown.cs: TextChanged -> base class.
+
+       * CheckedListBox.cs: mark our ObjectCollection class as new to
+       quiet mcs.
+
+       * FolderBrowserDialog.cs: make HelpRequest event new and have it
+       muck with the base class.
+
+       * StatusBar.cs: fix some mcs warnings about Update being the same
+       name as a base class method.
+
+       * RichTextBox.cs: mark some events as new, and make them do things
+       to the base class impl.
+
+       * UserControl.cs: mark TextChanged as new, and have it manipulate
+       base.TextChanged.
+
+       * UpDownBase.cs: mark some things new.
+
+       * CheckBox.cs: mark DoubleClick "new", and add some text about
+       what we need to look at.
+
+       * Panel.cs: make the events "new", and manipulate the base
+       version.  these are just here for attributes.
+
+       * AccessibleObject.cs: make owner private.
+
+       * Control.cs: deal with AccessibleObject.owner being private.
+       cache our own copy if we need it.
+
+       * Button.cs: add "new" to the DoubleClickEvent.
+
+       * ListBox.cs: no need to track our own has_focus here.  let
+       Control.has_focus do it for us.  Also some other work to clear up
+       warnings about not overriding base class methods of the same name.
+       
+       * ComboBox.cs: clear up some warnings about not override base
+       class methods of the same name.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: flag a few things as "new" to quiet some of the mcs
+       warnings.
+
+       * AxHost.cs: same.
+
+       * PrintPreviewDialog.cs: same.
+
+       * DataGridView.cs: fix a ton of corcompare warnings.  not all, but
+       now DGV isn't so horrible on the class status page.  also, move
+       all events to using System.ComponentModel.EventHandlerList.  my
+       wrists hurt.
+
+2006-12-01  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiWindowManager.cs:
+       - Set form to active mdi child if shown,
+       and update the active mdi child to the next 
+       remaining child in the z-order if the form is hidden.
+
+       * Form.cs: 
+       - Track if the form has been visible and if its 
+       visibility is beeing changed, so that the MdiClient
+       can properly decide the ActiveMdiChild. The MdiClient 
+       cannot track this since the form can change visibility 
+       before MdiClient is created.
+
+       * MdiClient.cs:
+       - Don't activate anything of the parent form is changing
+       its visibility.
+       - Rework ActiveMdiChild to only return visible mdi 
+       children and take into account several other corner 
+       cases.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * IBindableComponent.cs: new 2.0 interface.
+
+2006-12-01  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGrid.cs: Font for caption area is bold by default.
+
+2006-12-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * Menu.cs: Tag property for 2.0.
+       
+2006-11-01  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Adjust menu separator drawing. 
+       
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * TreeView.cs: doh, the Begin* events should be
+       TreeViewCancelEventHandler.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: Form.ControlCollection already stores off the
+       form_owner field.  don't access the base class's internal "owner"
+       field.
+
+       * Control.cs: make all the fields in Control.ControlCollection
+       private.  there's no need for any internal fields here.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: call SetDataSource instead of CalcGridAreas in
+       OnHandleCreated.  Fixes bug #80109.
+
+2006-12-01  Chris Toshok  <toshok@ximian.com>
+
+       * Button.cs, PropertyGridTextBox.cs, ComboBox.cs,
+       SplitContainer.cs, Control.cs, StatusStrip.cs,
+       DataGridTableStyle.cs, MenuItem.cs, DomainUpDown.cs, ImageList.cs,
+       NumericTextBox.cs, NumericUpDown.cs, Panel.cs, CommonDialog.cs,
+       DataGrid.cs, ScrollBar.cs, TrackBar.cs, PictureBox.cs,
+       DateTimePicker.cs, StatusBar.cs, Form.cs, PrintPreviewDialog.cs,
+       Label.cs, UserControl.cs, CheckBox.cs, RadioButton.cs,
+       LinkLabel.cs, ListControl.cs, PropertyGrid.cs, Splitter.cs,
+       MenuStrip.cs, FolderBrowserDialog.cs, NotifyIcon.cs,
+       TextBoxBase.cs, ListView.cs, DataGridBoolColumn.cs,
+       PrintPreviewControl.cs, RichTextBox.cs, ListBox.cs, TabControl.cs,
+       DataGridColumnStyle.cs, ContextMenu.cs, TreeView.cs:
+
+       do most of the work to convert our code over to use
+       System.ComponentModel.Component.Events for
+       adding/removing/dispatching events.
+
+
+2006-11-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * DataGridView.cs: Fix an ArgumentNullException reported 
+       twice today in IRC.
+
+2006-11-30  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: fix the scrollbar mouse event forwarding in the 
+       grabbed listbox.  Fixes #80036 and #80101.
+
+2006-11-30  Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+       * Message.cs: Changed ToString() to match MS.
+       
+2006-11-30  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: You can still change the selected text on a read
+       only textbox.
+       * TextControl.cs: Lower magic number for wrap calculations. This
+       lets text get closer to the right (far) edge.
+
+2006-11-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Control.cs: Tweak 2.0 layout properties.
+       * Form.cs: Switch ToolStripMenuTracker hooks to ToolStripManager.
+       * TextRenderer.cs: Add a new overload.
+       * ToolStrip*: Huge amount of changes and new features.
+
+2006-11-30  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: fixes for LargeChange and Maximum to get the 
+       scroll range correct.  Fixes #79994.
+
+2006-11-30  Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+       * MdiWindowManager.cs: Update main form's text when
+       a form is closed. (fixes #80038)
+       
+2006-11-30  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs:
+       - Fix an regression in ButtonSize.
+       - Get ImeMode default value change to "Disable".
+       - Get ShowTooltips default value change to true, default value is 
+       "false" but after make a test in .NET we get "true" result as default.
+       
+2006-11-29  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripDropDown.cs: Fix for SupportsTransparency change.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIWin32.cs (GetWindowTransparency): check return value of
+       GetLayeredWindowAttributes.  if it's 0, return 1.0, as
+       SetWindowTransparency hasn't been called.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (set_TransparencyKey): only call SetWindowTransparency
+       if it's supported.
+       (set_AllowTransparency): reorder things a little so that the
+       WS_EX_LAYERED style is removed properly.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       [ totally cosmetic eye-candy feature, fixes bug #80089 ]
+       
+       * Form.cs: only call the XplatUI transparency method (get/set) if
+       SupportsTransparency says it's supported. Otherwise fallback to
+       doing nothing (in the set case) or returning the instance field we
+       cache (in the get case).
+
+       * XplatUIStructs.cs: add TransparencySupport flag enum.
+       
+       * XplatUIDriver.cs: add abstract GetWindowTransparency, and track
+       change to SupportsTransparency.
+
+       * XplatUIOSX.cs: stub out GetWindowTransparency, and return
+       TransparencySupport.None from SupportsTransparency.
+
+       * XplatUIX11.cs: Stub out GetWindowTransparency, and return
+       TransparencySupport.Set from SupportsTransparency.
+
+       * XplatUIWin32.cs: implement GetWindowTransparency calling
+       GetLayeredWindowAttributes, and implement SupportsTransparency by
+       checking whether or not both
+       GetWindowTransparency/SetWindowTransparency are available
+       entrypoints.  We need to do this since SetWindowTransparency is
+       available as of win2k, but GetWindowTransparency requires winxp.
+       yay win32 api.
+
+       * XplatUI.cs: Add GetWindowTransparency, and change
+       SupportsTransparency to allow for either/both Get/Set.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: keep from going into an infinite loop redrawing a
+       datagrid that has no datasource.  Fixes bug #80033.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * MenuItem.cs: fix the NRE when we assign text (and therefore call
+       Invalidate) before the mainmenu has been assigned to a control.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: detect when we should be double the double click
+       row/column autosize stuff, although that codepath has yet to be
+       written.  part of the work for bug #79891.
+
+2006-11-29  Chris Toshok  <toshok@ximian.com>
+
+       * Binding.cs (SetControl): fix unit test.
+
+2006-11-29  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PageSetupDialog.cs: Validate the margins and set them in
+       PageSettings. 
+       * NumericTextBox.cs: New class to mimic the behavior of the
+       textboxes used in the printing dialogs.
+
+2006-11-29  Andreia Gaita  <avidigal@novell.com>
+       
+       * Form.cs: Revert previous change (remove call UpdateBounds
+       from form constructor), because it messes with the handle creation
+       order, and that one needs lots and lots of love.
+       * PrintPreviewDialog.cs: Revert change to CreateHandle (add check
+       for valid printer and throw InvalidPrinterException if document
+       is set but printer not valid), adding a MonoTODO. Once 
+       handle creation is done properly, we can put this back in.
+
+2006-11-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuItem.cs: Create a invalidate method for menu item, to be
+       calling from set text, it make text changes to imadiate update
+       on screen. Fixes #80013. 
+       
+2006-11-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fixes and simplify toolbar button layout, it 
+       fixes bug #80070 and some other problem on toolbar buttons
+       layout.
+
+2006-11-28  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Paint toolbar toggle button background 
+       with dotted brush.      Fixes #79564
+       
+2006-11-28  Andreia Gaita  <avidigal@novell.com>
+
+       * Form.cs: Removed call to UpdateBounds on Form
+       constructor, it was causing a call to CreateHandle
+       before it was supposed to.
+       * PrintControllerWithStatusDialog: Applied patch
+       by Chris Toshok to hide controller when there are
+       no printers available.
+       PrintDialog.cs: initialize printer settings to 
+       null - correct DefaultValues test #5
+       * PrintPreviewControl.cs: Move PrintController
+       initialization to GeneratePreview
+       * PrintPreviewDialog.cs: 
+       - Remove Preview generation     from Document_set(). It is 
+       called on OnPaint
+       - Throw InvalidPrinterException on CreateHandle if
+       a Document is set but there are no printers or 
+       printer is not valid.
+       * ThemeWin32Classic: don't paint PrintPreviewControl
+       if there is nothing to paint    
+
+2006-11-28  Miguel de Icaza  <miguel@novell.com>
+
+       * Form.cs: Add another popular method.
+
+       * TabPage.cs: ditto.
+
+2006-11-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MenuItem.cs: Fixed a warning.
+       * InternalWindowManager: Fixed a warning.
+
+2006-11-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MenuItem.cs:
+       - When cloning a menu also clone MdiList and clone the 
+         window menu items properly (as the forms and menuitems
+         are kept in an internal hashtable, these need updating 
+         as well)
+       - Rewrote the window menu code, menu items are added in the
+         order the forms were added to their parent, and they are
+         updated every time the window menu is shown (before the
+         list was only generated once, in the current order of the
+         forms, and would never be updated). A checkmark is shown
+         next to the item corresponding to the active mdi child.
+
+2006-11-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatUIStructs.cs: 
+       - Added WM_NCMOUSEHOVER and WM_NCMOUSELEAVE.
+       
+       * XplatUIWin32.cs: 
+       - Added TME_NONCLIENT to TMEFlags.
+       - Handles WM_NCMOUSEMOVE in GetMessage to 
+         generate WM_NCMOUSEHOVER and WM_NCMOUSELEAVE messages.
+
+       * MdiWindowManager:
+       - Now merges mdi child menu to parent menu when maximized.
+       - Recalculate NC areas of both mdi child and mdi parent. 
+         Fixes #79757 (4).
+         on window state and size changes.Fixes #79844 (3).
+       - Handle WM_NCCALCSIZE to properly calculate borders.
+
+       * Form.cs:
+       - Add/remove to the mdi containers list of mdi children 
+         in the order they are added.
+       - Pass on WM_NCLBUTTONUP, WM_NCMOUSEMOVE and WM_NCMOUSELEAVE 
+         to the maximized mdi child.
+       
+       * InternalWindowManager.cs:
+       - Only execute a click on the control buttons on the mouse up,
+         not on the mouse down. Show the state of the button 
+         (was only showing Normal state, never Pressed state). The
+         pressed button now follows the mouse (if you click the Close 
+         button and move the mouse over the Maximize button, the 
+         Maximize button will be shown as pressed). Since Win32 does
+         not generate WM_NCLBUTTONUP if you release the button outside
+         of the nc area, we need to handle WM_NCMOUSELEAVE and treat
+         it as a mouse up.
+       
+       * ThemeWin32Classic.cs:
+       - Draw a missing border around mdi child forms. Fixes #79844 (2).
+
+       * MdiClient.cs:
+       - Added a list of forms which contains the order the forms are
+         added to the mdi parent.
+       - Handle WM_NCPAINT to properly draw a 3D border. Fixes #79844 (2).
+       - Handle WM_NCCALCSIZE to properly calculate the 3D border.
+       - If the active form changes set the scrollbars to the top
+         of the Z order, otherwise the form could hide them.
+       - Scrollbars are now sized according to ClientSize, not 
+         to Size, and they take into account the other scrollbar
+         to determine maximum.
+       
+2006-11-28  Rolf Bjarne Kvinge <RKvinge@novell.com>
+       
+       * XplatUI.cs:
+       * XplatUIDriver.cs:
+       * XplatUIX11.cs:
+       * XplatUIWin32.cs:
+       * XplatUIOSX.cs:
+       - Added RequestAdditionalWM_NCMessages for windows to 
+         opt in for WM_NCMOUSELEAVE and WM_NCMOUSEHOVER.
+         Currently only implemented in XplatUIWin32.
+
+2006-11-27  Chris Toshok  <toshok@ximian.com>
+
+       * Hwnd.cs: only add the hwnd to the windows hash in
+       set_WholeWindow and set_ClientWindow if whole_window/client_window
+       are not IntPtr.Zero.  also, remove the unused SetObjectWindow.
+
+2006-11-27  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: remove redundant OnDropDown call.  It is called
+       from the ComboListBox.ShowWindow code. Fixes #79969.
+
+2006-11-27  Chris Toshok  <toshok@ximian.com>
+
+       * Hwnd.cs: remove the setters for ExposePending and
+       NCExposePending - noone uses them.
+
+2006-11-27  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: new param for ReplaceSelection which determines
+       whether we select the new selection, or set the cursor to the end
+       of the new selection.
+       * TextBoxBase.cs: Use new param for ReplaceSelection.  When
+       pasting, select the new text.
+       * RichTextBox.cs: Use new param for ReplaceSelection.
+
+2006-11-27  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Set the selection to the caret after the caret
+       is moved, otherwise they get out of sync.
+
+2006-11-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fixe size of ToolBar when AutoSize is false,
+       it fixes #80015
+
+2006-11-26  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: 
+       - Fix toolbar drop down arrow position.
+       - Fix drop down appearance when ToolBar.Appearance is normal,
+       it fixes #80018.
+       
+2006-11-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ProgressBar.cs: GetStyle fixes for 2.0 profile.
+       * Control.cs: Same.
+       * UpDownBase.cs: Same.
+       * ButtonBase.cs: Same.
+       * ScrollBar.cs: Same.
+       * TrackBar.cs: Same.
+       * PictureBox.cs: Same.
+       * UserControl.cs: Same.
+       * Label.cs: Same.
+       * ListControl.cs: Same.
+       * TextBoxBase.cs: Same.
+       * ListView.cs: Same.
+       * RichTextBox.cs: Same.
+       * TreeView.cs: Same.
+
+2006-11-25  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PrintDialog.cs:
+       - Text label for where 
+       - Text label comment was not shown
+
+2006-11-23  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Fix toolbar drop down arrow size.
+
+2006-11-23  Rolf Bjarne Kvinge  <RKvinge@novell.com> 
+
+       * InternalWindowManager.cs: 
+       - Handle WM_PARENTNOTIFY to activate the form
+       if any child control is clicked.
+       - The form is only sizable if not minimized.
+
+       * MdiWindowManager.cs:
+       - Save the IconicBounds if the form is moved.
+       - Rework SetWindowState, now the window bounds 
+       are stored only if the old window state is Normal.
+       
+       * MdiClient.cs:
+       - In SetWindowStates store the old window state if 
+       the window is maximized and restore window state if
+       the window looses focus.
+       - Don't handle any scrollbar value changes if 
+       initializing the scroll bars. Fixes #79771.
+       - Reworked ArrangeIconicWindows. Current algorithm
+       tests bounds agains all other minimized windows, if
+       any intersections create new bounds (going left to 
+       right, bottom to top) and then test again. When 
+       successful the bounds are saved and never computed
+       again. Fixes #79774.
+
+2006-11-23  Rolf Bjarne Kvinge  <RKvinge@novell.com> 
+
+       * InternalWindowManager.cs: Added HandleTitleBarUp.
+
+2006-11-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * NumericUpDown.cs: In .NET 1.1, user entered text is still
+        hexadecimal in ParseUserEdit.
+
+       
+2006-11-23  Rolf Bjarne Kvinge  <RKvinge@novell.com> 
+
+       * MdiWindowManager.cs: 
+       - Handle a click on the form's icon to show the 
+       system menu (when maximized). Fixes #79775.
+       - Change the existing click handler for the form's
+       icon when not maximized to show on MouseUp.
+       Fixes #79776.
+
+       * Form.cs: In OnResize only layout the mdi child's
+       parent if it actually has a parent. Might not if
+       the window is closing.
+
+
+2006-11-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * MdiClient.cs: Ignore active MDI client for text of parent, if
+       child has no text set.
+
+2006-11-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ToolBar.cs: Fixed ToString to match MS.
+
+2006-11-22  Andreia Gaita  <avidigal@novell.com>
+
+       * NumericUpDown: 
+       - Fix DecimalPlaces, Hexadecimal and ThousandsSeparator to 
+       update inner values on set. Fixes #79966.
+       - Override OnLostFocus to update value on NET 2. Fixes #79950.
+       - Fix hexadecimal parsing.
+       
+       * UpDownBase: Override OnGotFocus and OnLostFocus to notify 
+       parent. Fixes #79957
+
+2006-11-22  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Control.cs: After calling SetWindowsPos in SetBoundsCore 
+       the actual size has to be queried, since if height /
+       width is negative Win32 changes it to 0. 
+       Fixes #79999 on Windows.
+       
+       * XplatUIX11.cs: Set height / width to 0 if negative
+       in SetWindowPos. Fixes #79999 on Linux.
+       
+2006-11-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Fix text redenring when button is
+       pressed.
+
+2006-11-22  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Fixes behavior when menu is opened by kerboard
+       and later navigate by mouse. Fixes #79528.
+
+2006-11-21  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Set default value for TabStop to false in
+       constructor, it fixes remaining behavior of bug #79863.
+
+2006-11-21  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * MdiWindowManager.cs:
+       * InternalWindowManager.cs:
+       - Moved a few methods specific to Mdi from 
+       InternalWindowManager to MdiWindowManager.
+       Fixes #79996.
+       
+2006-11-21  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIOSX.cs: stub out InvalidateNC.
+
+       * XplatUIWin32.cs: implement InvalidateNC using the call I found
+       at http://www.dotnet247.com/247reference/msgs/58/292037.aspx.
+
+       * XplatUIX11.cs: rename InvalidateWholeWindow to InvalidateNC.
+
+       * XplatUIDriver.cs: add InvalidateNC abstract method.
+
+       * XplatUI.cs: add InvalidateNC.
+
+2006-11-21  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Invalidate complete button area when pressed status 
+       was changed.
+       * ToolButton.cs: Fix InvalidateBorder for DropDown buttons.
+       * ThemeWin32Classic.cs: Increase vertical and horizontal position 
+       by 1 when button is pressed.
+
+2006-11-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolButton.cs: Invalidate middle of DropDown button when
+       ToolBar theres DropDownArrows.
+       * ThemeWin32Classic.cs: Change position of DropDown arrow and
+       fix DropDown drawing operations.
+
+2006-11-20  Chris Toshok  <toshok@ximian.com>
+
+       * NativeWindow.cs: fix the formatting of functions ('{' on the
+       following line), and enable the thread exception dialog.
+
+       * Application.cs: remove the duplicate exception catching from
+       here.
+
+2006-11-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Triggers button click event when click on icon
+       of dropdown ToolBarButton. Fixes #79912.
+       
+2006-11-20  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Theme.cs:
+       * ThemeWin32Classic.cs:
+       - Added a property WindowBorderFont to enable themeing
+         of mdi child windows' Text.
+         
+2006-11-20  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * InternalWindowManager.cs:
+       * Form.cs:
+       * MdiClient.cs:
+       * MdiWindowManager.cs: 
+       - If mdi child is maximized, set mdi parent's
+         text to "Parent - [Child]". Fixes #79770.
+       - If there is any maximized mdi child windows, only the active 
+         window (and any new windows) is maximized, the rest are normal.
+       - On a WindowState change only save mdi child's window bounds 
+         if the old window state was normal. Fixes #79774.
+       - The scroll bars are now calculated on hopefully all
+         necessary events. Fixed #79771 / #79844->6 / #79906.
+       - MdiClient.SizeScrollBars() now takes into account docked 
+         controls in the parent when calculating available space.
+       - InternalWindowManager now always repaints the entire title
+         area. Fixes #79844->1/4/5.
+       - Added RequestNCRecalc on mdi child windowstate changes.
+         Fixes #79772.
+
+2006-11-20  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: setup LargeChange on the scrollbar. Invoke FireMouseUp
+       in the MouseUp handler of the listbox and move the return handling
+       code to FireMouseUp to avoid scrolling on ups.  Fixes #79952.
+
+2006-11-20  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Ignore right mouse clicks in toolbar. Fixes #79855. 
+
+2006-11-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Seems that DllImports that were fine in 1.2 are not
+         working in 1.2.x anymore. So, updated.
+
+2006-11-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * NumericUpDown.cs: Use NegativeSign, NumberDecimalSeparator and
+       NumberGroupSeparator of current culture instead of assuming en-US.
+       Fixed bug #79967.
+
+2006-11-17  Mike Kestner  <mkestner@novell.com>
+
+       * Control.cs: Add the concept of implicit bounds setting so that
+       dock/undock round trips preserve explicitly set size/locations.
+       Fixes #79313.
+
+2006-11-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Trim all filters, otherwise DirInfo.GetFiles
+         can't handle those filters. (Fixes bug #79961)
+
+2006-11-17  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes the exit/crashes associated with #79835.  it's clearly
+       suboptimal though, we need to figure out a better way to solve
+       this. ]
+       
+       * PrintPreviewControl.cs: deal with the new invalid printer
+       exceptions.
+
+       * PageSetupDialog.cs: if the printer is invalid, pop up a dialog
+       and return false (so CommonDialog.ShowDialog doesn't actually show
+       the form.)
+
+       * PrintDialog.cs: enable/disable the Ok button depending on
+       whether or not the printer is valid.
+
+       * CommonDialog.cs (ShowDialog): only actually show the form if
+       RunDialog returns true.
+
+2006-11-17  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When soft splitting a line, mark it as a soft
+       split line. Also carry over the current line break to the next
+       line.
+
+2006-11-17  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: when scrolling a window with an invalid area, we
+       only want to shift the part of the invalid area that overlaps the
+       area we're scrolling.  we also don't want to clear the invalid
+       area unless the invalid area was entirely contained within the
+       scrolling area.
+
+2006-11-16  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: remove the handling of the TimerEvent stuff, and
+       also make sure to free the memory returned by XGetWindowProperty
+       in GetText().
+
+       * X11Structs.cs: remove the TimerEvent stuff, it's unused.
+
+2006-11-16  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUI.cs: add a new super secret way to get at the totally
+       unsupported X11 backend.
+
+2006-11-16  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * NumericUpDown.cs: Allow lowercase letters when in hex-mode.
+
+2006-11-16  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Allow more explicit setting of top node position
+       for scrollbars. Slower algo, but more accurate.
+       - CollapseAll should maintain the current top node.
+       * TextBoxBase.cs: When positioning the caret, use the line, pos
+       method, since the x, y method does not grab the correct tag, and
+       the caret height never gets set correctly. (Maybe I should just do
+       away with the caret having its own height, and always use the
+       carets current tag for height).
+
+2006-11-16  Jonathan Pobst  <monkey@jpobst.com
+
+       [Fixes 79778, 79923]
+
+       * XplatUIWin32.cs: Don't allow a parent to be set to IntPtr.Zero.
+       Parent to the FosterParent instead.
+
+2006-11-16  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Need to recalc the topnode when we expand or
+       collapse. The scrolling methods can't handle this on their own,
+       since they use differences between the last scroll position, and
+       those difference get completely messed up since we are expanding
+       nodes.  This problem should probably be fixed in the scrolling
+       methods, so they can figure out exactly where they are, but this
+       will slow things down a little.
+       * ThemeWin32Classic.cs: Special case for groupboxes with empty
+       strings, makes nunit-gui look a lot nicer.
+
+2006-11-16  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: nasty, nasty, nasty changes required because of
+       the broken multithreaded event handling we have in here.  File
+       this entry under "Why we should move to the new X11 backend".
+
+       Any thread can make it into UpdateMessageQueue, which gets events
+       from the X socket - some of which could belong to hwnds being
+       managed by a different thread.  We can also have multiple threads
+       in UpdateMessageQueue at the same time, with each one reading from
+       the X socket.  This leads to many problems, with the following
+       solutions:
+
+       We can't use hwnd.Queue.Enqueue anywhere in here and must use
+       EnqueueLocked.
+
+       The MotionNotify compression we do can't work across threads
+       (without locking the entire queue, perhaps) since we call
+       hwnd.Queue.Peek, so we just punt and don't compress motion events
+       unless the owning thread is the one which got the X event.
+
+       ConfigureNotify is another fun one, since it modifies the hwnd's
+       bounds and then enqueues the event.  We add a lock to Hwnd which
+       is held when setting configure_pending to true (and enqueuing the
+       event).
+
+       There is a race wrt the wake socket.  we need to make sure that
+       only 1 thread is waiting on that socket, or else a thread could
+       sleep waiting for data that never comes.  It's difficult (but not
+       impossible) to make happen, because it seems to require something
+       like the following:
+
+           1. Thread 1 polls on wake_receive
+       
+           2. poll returns saying there's data to be read on
+              wake_receive.
+       
+           3. Thread 2 polls on wake_receive and immediately returns
+              saying there's data to be read.
+
+           4. Thread 2 reads the wakeup byte from wake_receive
+
+           5. Thread 1 attempts to read the wakeup byte from
+              wake_receive.
+
+           6. Thread 2 exits (due to a form closing, perhaps).
+
+           7. Thread 1 blocks forever.
+       
+       Fun, eh?
+
+       Fixing the Expose handling isn't done yet, and the races inherent
+       in that piece of code are responsible for the drawing mistakes you
+       see when generating expose events in a MT app (like NPlot).  This
+       one is the likely to be the hardest to bandaid, and it doesn't
+       appear to cause anything but drawing problems.  The other issues
+       caused apps to exit or hang.
+
+       * XEventQueue.cs: output some spew when Dequeue/Enqueue/Peek are
+       called from a different thread than the one that should be calling
+       these functions.
+
+       * Hwnd.cs: add some locks to be used by the XplatUIX11 code.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: null out the context's MainForm when we exit
+       RunLoop.  Fixes a newly checked in unit test as well as the last
+       ODE from bug #79933.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (set_Owner): allow a null value so we can clear the
+       form's owner.
+       (Dispose): set all our owned_form's Owner properties to null, and
+       clear the owned_forms collection.
+       (WM_CLOSE): clean up this a little bit.. still not right though.
+
+       * ApplicationContext.cs: OnMainFormClosed should only call
+       ExitThreadCore if the main form isn't recreating.  Fixes unit
+       test.
+
+2006-11-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       [Fixes 78346]
+
+       * ComboBox.cs: Set the Hwnd.no_activate flag for the ComboListBox.
+
+2006-11-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       [Fixes 79433]
+
+       * Hwnd.cs: Add a flag to show a window, but not activate it, to 
+       keep popup window types from stealing focus from the main form
+       on Windows.
+
+       * XPlatUIWin32.cs: Use SW_SHOWNOACTIVATE if above field is true.
+
+       * MenuAPI.cs: Set above flag to true.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: mimic win32 behavior on BUTTONUP events, where
+       the button being released is not in wParam.
+
+2006-11-15  Jonathan Pobst  <monkey@jpobst.com>
+
+       * Form.cs: Add the released button to MouseEventArgs.Button
+       for the OnMouseUp call to the MenuTracker.  Fixes menu clicking
+       on Win32.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: add (untested) a _NET_WM_NAME implementation of
+       GetText().  untested because it's unused in our implementation.
+       Control.Text always caches the text, even if
+       ControlStyles.CacheText is not set.
+
+       fixes bug #79939.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes #79933 ]
+       
+       * Form.cs: in Close() don't do anything after we send the WM_CLOSE
+       message.  no hiding, no disposing.
+
+       in the WM_CLOSE handler, hide the form if it's modal.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: use AddExpose instead of sending a message.
+       fixes textbox border drawing.
+
+2006-11-15  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: keep from crashing on mouse move/down when
+       the property grid is empty.
+
+2006-11-14  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Make PageUp and PageDown more like the MS
+       versions.
+       * TextBoxBase.cs: When we set the text property position the
+       cursor at the beginning of the document.
+
+2006-11-14  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Form.cs: if a mdi child's WindowState has changed
+       before it's creation, it would display wrong control
+       buttons.
+       
+2006-11-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * TreeView.cs: De-uglify TreeView checkbox checkmarks.
+         (Fixes bug #79927)
+
+2006-11-14  Rolf Bjarne Kvinge <RKvinge@novell.com> 
+
+       * XplatUIX11.cs: send a WM_NCPAINT on WM_NCCALCSIZE so that 
+       the window gets to paint its borders even if the window is
+       getting smaller.
+       
+       * Form.cs: on a WM_NCPAINT invalidate the entire menu, 
+       otherwise the old control buttons would still be painted 
+       if the window gets bigger.
+       
+       * PaintEventArgs.cs: add an internal method so that the clip 
+       rectangle can be changed.
+       
+2006-11-13  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes bug #79745 ]
+       
+       * NotifyIcon.cs: lots of cleanup.
+
+       * X11Structs.cs: add an enum for XEMBED messages.
+
+       * XplatUIX11.cs: reindent one of the giant switch statements, it
+       was taking up an additional tab stop, and this file is already way
+       too wide for my laptop's screen.
+
+       Also, add handling for the XEmbed EMBEDDED_NOTIFY message.  When
+       we get it, resize the hwnd to the WMNormalHints max_width/height.
+
+2006-11-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Compute the value changes for the mouse wheel
+       teh simple way.
+
+2006-11-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs, XplatUIStructs.cs: kind of a gross fix for
+       #79898.  force a reference to the Region to stick around so the
+       unmanaged object isn't collected (rendering our handle in the MSG
+       stale).
+
+2006-11-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: fix #79917 for window managers which support
+
+       using XStoreName on the raw utf8, and we need to convert to
+       COMPOUND_TEXT if it's non-latin1.
+
+2006-11-13  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (set_DialogResult): we need to set closing to false if
+       we're setting our result to None.  fixes bug #79908.
+
+2006-11-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When formatting text, compute the adjusted tag
+       lengths correctly, using FindTag for the end tag instead of trying
+       to figure it out outselves.
+       * TreeNode.cs: Use ActualItemHeight, which is the actual height of
+       the item, ItemHeight doesn't work, because trees with large
+       imagelists use those for their height
+       * TreeView.cs: ActualItemHeight factors in the image height
+       - compute left edge of checkboxes correctly
+       - when expanding/collapsing move the bottom down one pixel, so we
+       aren't moving part of the node
+
+2006-11-13  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * XplatUIX11.cs: The PaintEventArgs is also added to the drawing
+       stack in PaintEventStart so that it won't get disposed by the gc
+       before reaching PaintEventEnd.
+
+2006-11-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Don't select the word if we are on a line with
+       no text.
+       - We don't need to position the caret on mouse up, since the mouse
+       move handler should be doing this
+       - When double clicking a blank line, the caret is advanced to the
+       next line.
+
+2006-11-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeNodeCollection.cs: Avoid duplicating indexer code.
+
+2006-11-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ColorDialog.cs: Reset size of dialog between calls to ShowDialog.
+       Fixes part of bug #79910.
+
+2006-11-11  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: Fix a NRE when adding a color to custom colors
+         (bug #79903). Some minor string updates to match ms.
+
+2006-11-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't add an extension if the filename
+         already ends with that extension.
+
+2006-11-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Use the currently highlighted node for the
+       BeforeSelect event.
+       * TextBoxBase.cs: There is no need to expand selection on
+       MouseMove.
+       - CanUndo means 'is there any undo operations', not 'is undo
+       allowed on this textcontrol. Fixed ClearUndo unit test.
+
+2006-11-10  Andreia Gaita  <shana.ufie@gmail.com>
+
+       * Button.cs: only perform click when button is Selectable (so as 
+       not to activate default buttons when they're disabled)
+       
+       * Control.cs: Rewrite of the SelectNextControl and related 
+       methods. HandleClick now selects next control if the current one
+       is being disabled.
+       
+       * Form.cs: OnActivated selects next active control only if Load 
+       has already occurred. If Load hasn't run, there's no point in 
+       selecting here, Load might change the state of controls.
+       
+       * FocusTest.cs: Tests marked as working again for these fixes
+
+2006-11-10  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: a couple of fixes.
+
+       - use XInternAtoms with almost all the atoms we need to register,
+       instead of many, many calls to XInternAtom.  should help a bit on
+       startup time, at the expense of making the code look a little
+       worse.
+
+       - fall back to setting TransientFor on TOOLWINDOW's if their hwnd
+       isn't reparented (which seems to be a clue that we're running fon
+       compiz) and they have an Owner form.  This fixes the tool windows
+       in paint.net when running under compiz.
+
+       - when setting the opacity of a window, support both the case
+       where the window has been reparented and also when it hasn't been.
+       Since compiz/beryl doesn't seem to reparent windows, and these are
+       the only window managers which support translucency, I'm not sure
+       why we need the hwnd.reparented case at all.. but leave it in.
+       now we get translucent windows in paint.net under compiz/beryl.
+
+2006-11-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Always return the value for FilterIndex that
+         was set. Internally convert it to values that make sense.
+
+2006-11-10  Everaldo Canuto  <everaldo@simios.org>
+       
+       * ThemeWin32Classic.cs: Fix drowp down arrow borders.
+
+2006-11-10  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Change default value of DropDownArrows to true, the 
+       signature still using false to make it compatible with MS but the 
+       initial value is true. Fixes #79855.
+
+2006-11-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Don't throw an exception on windows. Mime stuff is
+         only available on Linux.
+
+2006-11-09  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs, ToolBarButton.cs: Fix wrong separator size and
+       reduce number of calls to redraw method during toolbar creation.
+
+2006-11-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : raise SelectedIndexChanged when an item is selected
+       programmatically via the Item.Selected property.  Gert's nice 
+       ListViewSelectedIndexChanged test fixture now runs clean.
+
+2006-11-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : raise SelectedIndexChanged when a selected item is
+       removed from the item collection using Remove or RemoveAt.
+
+2006-11-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : raise SelectedIndexChanged once per selected item
+       for compat with MS.  Fixes #79849+.
+
+2006-11-09  Chris Toshok  <toshok@ximian.com>
+
+       * TabControl.cs: initialize row_count to 0, and set it to 1 when
+       we need to (if we have any tab pages).  Fixes unit test.
+
+2006-11-09  Chris Toshok  <toshok@ximian.com>
+
+       * Label.cs (CalcPreferredWidth): if Text == "", our preferred
+       width is 0, not 3.  Fixes a unit test.
+
+2006-11-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : use Implicit scrollbars so that focus isn't 
+       stolen from the listview when they are clicked. Fixes #79850.
+
+2006-11-09  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs (OnPaint): only call DrawGridItems if we
+       have a root item.  Fixes #79879.
+
+2006-11-09  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs:
+         - Fix ToString ()
+         - An ArgumentException is now thrown if a wrong filter
+           is applied (matches ms). The previous filter doesn't change
+           anymore if an exception is thrown.
+         - Changing the FileName property also affects FileNames
+       * ColorDialog.cs: The length of the CustomColors array is always
+         16. It doesn't matter if we use a smaller array or null to update
+         or change the custom colors property.
+       * FolderBrowserDialog.cs: Throw an InvalidEnumArgumentException if
+         for RootFolder if we get a undefined value.
+
+2006-11-09  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * StatusBarPanel.cs: 
+       - Width is set to MinWidth if Width is smaller than
+       MinWidth. Fixes #79842.
+       - MinWidth now always overrides Width (MSDN says MinWidth
+       is set to Width when AutoSize = None, but they do not 
+       behave like that).
+       - Style has now the the correct default value.
+       
+2006-11-09  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       * TrackBar.cs: 
+       - The control is completely invalidated on 
+       Got/LostFocus to draw the focus rectangle correctly.
+       - When AutoSize then height is always 45 (width for 
+       vertical controls).
+       
+       * ThemeWin32Classic.cs: The TrackBar thumb is now centered
+       on the mouse when moved and it doesn't move when grabbed
+       until the mouse moves as well. Also fixed some wrong 
+       calculations when clicking on the thumb (control thought
+       click was outside of thumb and didn't grab it).
+       Fixes some of the issues in #79718.
+
+2006-11-08  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Prevent disabled button to highlight. Fixes #79868.
+
+2006-11-08  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: only call ToggleValue if the item is not
+       readonly.
+
+2006-11-08  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: The RichTextBox and textbox have very different
+       word selection methods.  Implement the textbox's simple word
+       selection here, and let the RichTextBox override and provide it's
+       own.
+       - Don't do extra selection on mouseup
+       * RichTextBox.cs: Use the documents word selection algorithm, I
+       think ideally, this function will be pulled into the
+       RichTextBox.cs code someday.
+
+2006-11-08  Chris Toshok  <toshok@ximian.com>
+
+       * RootGridEntry.cs: new class to represent GridItemType.Root.
+
+       * CategoryGridEntry.cs: reformat, and add boilerplate.
+       
+       * GridEntry.cs: remove the UIParent stuff - turns out .Parent
+       returns the UI parent anyway, and we need special handling to
+       implement the GetTarget method in the face of it.  Also, implement
+       Select().
+
+       * PropertyGrid.cs, PropertyGridView.cs: a number of fixes.  create
+       a root grid item, and use that instead of PropertyGrid.grid_items.
+       Also, make use of TypeConverters (and add limitted support for
+       ICustomTypeDescriptors) when initially populating the grid.
+       Arrays now show up more or less properly.
+
+2006-11-08  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: set the modal dialog to non modal after we close
+       it.  Fixes bug #79866.
+
+2006-11-08  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When combining lines carry over the line end
+       style from the end line.
+       - Invalidate the selected area when setting it, if it is visible.
+       * TextBoxBase.cs: Only rich text box can do full line selects.
+       - Make sure to set the cursor position when there is a click,
+       otherwise two clicks in separate areas could cause a large chunk
+       to be selected.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Release flat button borders when Toolbar lost focus. 
+       Fixes #79863.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * Toolbar.cs: Prevent toolbar to open more than one tooltip at same
+       time. Remove tooltips when ToolButton click events.  Fixes #79856.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Ignore right click for menu actions and fixes
+       menu border when clicked.  Fixes #79846.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * XplatUIX11.cs, XplatUIX11.cs: Fix MouseRelease to only release
+       MouseState after create wParam for message, this fixes mouse button 
+       equal none in mouse up events.
+       
+2006-11-07  Andreia Gaita  <shana.ufie@gmail.com>
+
+       * Control.cs : Focus() now calls Select to set the Container's
+       Active Control and to give it focus. To avoid infinite recursion
+       (because ActiveControl also calls Focus at one point), a check 
+       is made in Focus with the help of a new internal variable
+       is_focusing.
+
+2006-11-07  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : raise OnSelectedIndexChanged in CreateHandle
+       if there's a selection.  Fixes #79849.
+
+2006-11-07  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertyGrid.cs: Avoid fixed height of help description label.
+       Fixes part of bug #79829.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: fix #79790 again, by using the
+       _NET_WM_STATE_SKIP_TASKBAR atom to implement Form.ShowInTaskbar.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Fix left click checking.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       * ProgressBar.cs: fix a typo in ToString().  fixes a unit test.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       * RelatedPropertyManager.cs: set property_name in our ctor.  fixes
+       PropertyManager unit tests.
+
+       * PropertyManager.cs: make property_name internal.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       * ButtonBase.cs: initialize base.ime_mode to ImeMode.Disable to
+       pass a unit test.  Also, don't set image_index to anything in
+       response to setting the ImageList property.
+
+2006-11-07  Everaldo Canuto  <everaldo@simios.org>
+
+       * ToolBar.cs: Ignore click events when mouse button is not a
+       left button, only accepts other button for dropdown menus.  
+       Fixes #79854.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: make the back and parent row buttons a little less
+       ugly.
+
+2006-11-07  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When converting to Text don't put line breaks in
+       for soft line breaks.
+       * TextControl.cs: There is an initial "fake" line in the document,
+       this is now a soft break line, so that an extra line feed doesn't
+       get added to the end of documents.
+
+2006-11-07  Chris Toshok  <toshok@ximian.com>
+
+       [ fix bug #79778 ]
+       
+       * CurrencyManager.cs: if the list is readonly, don't bother
+       checking if IBindingList.AllowNew is true.
+
+       * ThemeWin32Classic.cs (DataGridPaintParentRow): make this work
+       for non-DataRowView datasources..  or rather, make it not crash.
+       (DataGridPaintRelationRow): make sure we limit the row painting to
+       the area not covered by the row header, and make our cell width at
+       least large enough to cover the relation area.  This allows grids
+       that have relations but no rows to render correctly.
+       (DataGridPaintRowContents): same type of changes here.
+       (SetDataSource): move back to always calling
+       CalcAreasAndInvalidate.  this fixes a crash/drawing problem when
+       navigating back through relations.
+       (HitTest): handle the case where we have no cells but have
+       relations.  Right now we generate a hit in cell 0 of whatever the
+       row is, not sure if this is strictly correct, but it works for our
+       purposes.
+       
+       * DataGrid.cs (EndEdit, CancelEdit): if we have no columns, don't
+       bother doing anything.
+
+2006-11-07  Jonathan Pobst  <monkey@jpobst.com>
+
+       * StatusStrip.cs, ToolStripStatusLabel.cs: By request, an
+       early version of StatusStrip.  Not responsible for eaten
+       application or firstborn children.
+
+2006-11-06  Chris Toshok  <toshok@ximian.com>
+
+       * TabControl.cs: in OnGotFocusInternal/OnLostFocusInternal don't
+       call GetTabRect with a -1 index.  Fixes #79847.
+
+2006-11-06  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Update scrollbars after clearing.
+
+2006-11-06  Chris Toshok  <toshok@ximian.com>
+
+       * NumericUpDown.cs: fix the ToString method for some unit test
+       love.
+
+2006-11-06  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGrid.cs:
+       - set the initial SelectedGridItem if we can.
+
+       - Exclude non-mergable properties only if we're merging > 1
+       object.  Merging 1 object isn't really merging, obviously.
+
+       - Handle PropertySort.NoSort just like Alphabetical, which is
+       wrong of course, but at least gets things on the screen.
+       
+       * PropertyGridView.cs:
+       - Add method "FindFirstItem" which finds the first property grid
+       item, so we can select it by default.
+
+       - make use of GridEntry.CanResetValue.
+
+       - Don't call RedrawBelowItemOnExpansion here anymore, the
+       individual GridEntry's will do that.
+
+       - Remove the ITypeDescriptorContextImpl internal class.
+       
+       * GridEntry.cs:
+       - this class needs to implement ITypeDescriptorContext, as it's
+       what MS's PropertyDescriptorGridEntry does, which means we can
+       remove the ITypeDescriptorContextImpl internal class from
+       PropertyGrid.cs.  This fixes the crashing portion of bug #79829.
+
+       - keep a reference to our PropertyGridView, and move the call to
+       RedrawBelowItemOnExpansion here from PGV.  This means
+       programmaticly setting Expanded actually does something visible.
+
+       - add a CanResetValue() function which takes into account our
+       possibly multiple "selected_objects" in the merged case.  Shifting
+       PropertyGridView to use this method fixes another unreported
+       crasher found running the test for #79829.
+
+       - when Top or Bounds is updated, make sure the PropertyGridTextBox
+       is updated to reflect this.
+
+       * CategoryGridEntry.cs: the ctor takes the PGV now.
+       
+2006-11-06  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: These are 1 based.
+       * TextBoxBase.cs: When setting the selected text, don't change the
+       selected text tags, this is done by ReplaceText, just position the
+       cursor at the end of the new text.
+
+2006-11-06  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ListView.cs: Allow label edit only when, when LabelEdit is
+         set to true.
+
+2006-11-06  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: If a suitable wrapping position isn't found,
+       just wrap right in the middle of a word.
+
+2006-11-06  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ListView.cs, ListViewItem.cs: Implement LabelEdit. Fixes
+         bug #79820.
+
+2006-11-06  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Can't use the VisibleCount property when setting
+       scrollbar heights, because this doesn't take into account whether
+       or not the horz scrollbar just came visible.
+
+2006-11-05  Everaldo Canuto  <everaldo@simios.org>
+
+       * MenuAPI.cs: Deactivate menu on mouse up when menus it is already
+       activated.  Fixes #79369, #79832.
+
+2006-11-05  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: *sigh* Because of recent runtime changes (r67043) I
+         had to remove support for links that point to a directory. FileInfo
+         returns no usefull information (means, the directory they point to)
+         for such links. Replaced some empty string ("") with String.Empty.
+
+2006-11-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TreeNodeCollection.cs: To match MS, in 1.0 profile throw 
+       NullReferenceException when attempting to remove node that is not in
+       collection. Throw NullReferenceException when null is passed to 
+       Remove. Allow first element of the collection to be removed. Fixes
+       bug #79831.  In GetEnumerator ().Current return null if positioned 
+       before the first element of the collection. In GetEnumerator ().Reset,
+       position before first element of the collection.
+
+2006-11-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertyGrid.cs: To match MS, remove default title and description
+       for panel. Fixed tooltips for Categorized and Alphabetic toolbar
+       buttons.
+
+2006-11-04  Chris Toshok  <toshok@ximian.com>
+
+       * Theme.cs: add a Clamp method, just for kicks.
+
+       * ThemeWin32Classic.cs: clamp all color components to [0..255].
+
+2006-11-04  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: if the form isn't visible, Close() does nothing.
+
+2006-11-03  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (Close): if the form is modal, don't Dispose of it, only
+       Hide it.
+       (WndProc): don't Dispose after handling the WM_CLOSE message.
+
+       * Application.cs (RunLoop): toplevels is a list of Forms, so treat
+       them as such, instead of using casts from Control to Form.  Also,
+       don't Dispose of the modal dialog when we fall out of the loop -
+       Close() it instead.
+
+       fixes bug #79813.
+
+2006-11-03  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (Dispose): only go through the dispose thing if we're
+       @disposing, and we haven't already been disposed.  Fixes bug
+       #79814.
+
+       * Form.cs: no reason to call "base.Dispose()" here instead of
+       "Dispose()".
+
+2006-11-03  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs : use ToString instead of casts in AddItem for
+       sorting functionality.  Fixes #79812.
+
+2006-11-03  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: pave the way for actually using the thread
+       exception dialog.  it's ifdefed out at the moment.
+
+2006-11-03  Chris Toshok  <toshok@ximian.com>
+
+       * ThreadExceptionDialog.cs: until we get a better layout, actually
+       hide the details textbox and label when we shouldn't see them.
+
+2006-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Don't bail from the scrollbar calcs for non
+       multiline textboxes anymore.  This method also determines the
+       width/height of a textboxes canvas area.
+       - Sorta a revert of the last patch.  For multiline just position
+       the controls, then bail.  This way the scrollbar width won't be
+       altered.
+
+2006-11-03  Everaldo Canuto  <everaldo@simios.org>
+
+       * ThemeWin32Classic.cs: Dont paint inner lines of 3D border when
+       it dont need.  Fixes #79537.
+
+2006-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: We always allow copy, since XDND implies Copy.  Also
+       send the status after firing the DndOver event.
+
+2006-11-02  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * TrackBar.cs: Now orientation only switches height / width if
+       the control's handle is created (Win32 does it like this). Also 
+       fixed a typo in ToString() for a test to pass, changed the 
+       exception thrown in set_LargeChange and set_SmallChange to 
+       match Win32 behaviour, and added TrackBar tests to the unit 
+       tests.
+
+2006-11-02  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: the atom we want is _NET_WM_STATE_SKIP_TASKBAR,
+       not _NET_WM_STATE_NO_TASKBAR.
+
+2006-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Increment count by one, since in the update view
+       count - 1 is used.
+
+2006-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Use client rectangle not bounds for checking if
+       the mouse is in the client rectangle (duh).
+
+2006-11-02  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+       
+       * TrackBar.cs: Fixed trackbar jumping around when clicking
+       on it - the trackbar was not detecting correctly at which
+       side of the thumb the click was done. (fixes #79718)
+
+2006-11-02  Everaldo Canuto  <everaldo@simios.org>
+
+       * ListBox.cs: scroll visible area when change SelectedIndex to
+       a non visible area.  Fixes #79481.
+
+2006-11-01  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When replacing the selection move the selection
+       start/end/anchor to the end of the new text.
+
+2006-11-01  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIWin32.cs: When setting the parent change the controls
+       visibility to it's visibility flag, not to it's old parents
+       visibility (.Visible walks the parent chain).
+
+2006-11-01  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: revert the #79790 fix, as the simple.
+       XSetTransientForHint fix breaks paint .net's tool windows.  more
+       work needed for that one.
+
+2006-11-01  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollBar.cs: throw ArgumentException instead of Exception in
+       LargeChange/SmallChange setters.  fixes unit tests.
+
+2006-10-31     Andreia Gaita <shana.ufie@gmail.com>
+
+       * ContainerControl.cs: reverted rev.67183 (which was itself
+       a reversion of rev.66853... eh).
+       
+       * Control.cs: Fixes Reflector hang by changing Focus() call
+       to what it was before rev.66643 (calling Select() here sets 
+       ActiveControl, which in some situations calls back Focus and 
+       eventually does a stack overflow). Temp fix.    
+       Changes to GetNextControl() to not look for children to select when
+       parent cannot be selectable (so it looks for siblings instead)  
+       
+2006-10-31  Mike Kestner  <mkestner@novell.com>
+
+       * CheckedListBox.cs : off by one error in returned index from
+       ObjectCollection.Add.  Fixes #79758.
+
+2006-10-31  Chris Toshok  <toshok@ximian.com>
+
+       * UpDownBase.cs: remove the OnGotFocusInternal/OnLostFocusInternal
+       calls for the textbox/spinner, to keep from recursing to the point
+       where we crash.  Fixes #79760.
+
+2006-10-31  Chris Toshok  <toshok@ximian.com>
+
+       * ListControl.cs (set_SelectedValue): don't throw exceptions on
+       null/"" value, just return.  matches ms's behavior and fixes some
+       failing tests.
+
+2006-10-31  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (set_Capture): make a logic a little easier to
+       follow.
+
+       * XplatUIX11.cs (CleanupCachedWindows): zero out the Grab window
+       if it's being destroyed.  A necessary fix surely, but a bandaid
+       also, to fix the stuck capture problem in bug #78413.
+
+2006-10-31  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: fix a couple of compiler warnings, and follow the
+       convention of clearing hwnd.ClientRect when we set the
+       width/height (so it'll be recalculated by Hwnd).
+
+2006-10-31     Andreia Gaita <shana.ufie@gmail.com>
+
+       * ContainerControl.cs: reversed Contains check from
+       ActiveControl due to hanging problems. This fix
+       partly regresses #79667 (button does not have
+       initial focus), so this might be a symptom for 
+       a larger parenting problem (set_ActiveControl
+       is being called but the child control does
+       not have the parent set yet?)   
+       
+2006-10-31  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs : fix keynav when menu is click activated.
+
+2006-10-31  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip*: Version 0.2.
+
+       * MenuStrip.cs: Version 0.1.
+
+       * Form.cs: Add a 2.0 MenuStrip tracker like the 1.1 Menu one.
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes the oversized notify icon issue in bug #79745 ]
+       
+       * NotifyIcon.cs: scale the icon down to the size we're given by
+       the XplatUI layer (this would be faster if we did it once instead
+       of whenever we paint..)  Also, remove the WM_NCPAINT handling,
+       since it's never invoked.
+
+       * XplatUIX11.cs: the gnome and kde systrays use icons that are 24
+       pixels high by default, so let's hardcode our systray icon to that
+       size.  The SYSTEM_TRAY protocol should really have a way for
+       client apps to query for the correct icon size.. but oh well.  A
+       couple of patches to deal with the screwy client_window ==
+       whole_window notifyicon stuff (we don't want to PerformNCCalc, for
+       instance, and also make sure we don't XSelectInput twice).
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: ugh, the unit test fix (CH11, yesterday) breaks when
+       recreating forms.  Control recreation is the bane of my existence.
+       Fix it in a way that keeps everyone happy.
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: use StructureNotifyMask on all whole_windows, not
+       just non-CHILD ones.  otherwise sometimes scrollbars end up with
+       client_windows not being resized to the proper size (ReportBuilder
+       shows this extremely well).
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): reinstate the XSetTransientForHint
+       for non-WS_EX_APPWINDOW windows.  This is what keeps them from
+       showing up in the gnome taskbar.  Fixes bug #79790.
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       * ApplicationContext.cs: guard against a NRE.
+
+       * Application.cs: null out the old MainForm for the context, so we
+       don't try to use it again once it's disposed.  Fixes bug #79783.
+
+2006-10-30  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_DataSource, set_DataMember): if we have a
+       BindingContext, set the data source directly, otherwise do the
+       lazy approach - the actual ListManager will be created when we get
+       a BindingContext. Fixes bug #79700.
+
+2006-10-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
+         XplatUIX11.cs: Remove old 2 parameter SetVisible.
+
+       * Control.cs: Use the new 3 parameter SetVisible with activate = true.
+
+2006-10-30  Jonathan Pobst  <monkey@jpobst.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Add an overload
+       of SetVisible that allows a window to be shown, but not activated.
+       This is needed on Windows for MenuStrip, and can probably be used
+       with MainMenu and ComboBox to fix the focus stealing issues on
+       Windows.
+
+       * XplatUIOSX.cs, XplatUIX11.cs: Not needed, call existing SetVisible.
+
+2006-10-30  Alexander Olk  <alex.olk@googlemail.com>
+
+       * PictureBox.cs: Fix the output of the ToString method.
+
+2006-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (get_TopLevelControl): fix bug #79781.
+
+2006-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * ListControl.cs (set_DataSource): throw Exception here, not
+       ArgumentException, to match MS behavior.
+
+2006-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: remove the try-catch's around calls to GetWindowState.
+       We can just check the return value.
+
+       * XplatUIX11.cs: don't throw exceptions from GetWindowState.
+       Instead return -1.
+
+       * XplatUI.cs: Add note about additional return value for
+       GetWindowState.
+
+2006-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (CreateHandle): when we create our handle, we also
+       create the handles of our child controls.  Fixes one of the
+       Control unit tests (CH11).
+
+2006-10-28  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: If a gnome icon doesn't exist add a default icon.
+
+2006-10-28  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: A little speedup.
+
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: implement Control.FromChildHandle in a way that
+       matches the docs (and fixes the failed test.)
+
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTableStyle.cs: reproduce buggy MS behavior (with
+       comments).
+
+       * DataGrid.cs: implement ResetForeColor such that the tests
+       succeed.
+       
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs: setting text/tooltiptext to null results in it
+       being set to "".  Fixes bug #79759.
+
+2006-10-27  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: We need to clear the entire selection area when
+       setting the start, otherwise multiline selections are still
+       visible.
+
+2006-10-26  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: 
+
+       - ifdef all the code specific to the double
+       buffer case, and provide some alternatives in the non-doublebuffer
+       code, which makes heavy use of XplatUI.ScrollWindow to move things
+       around without having to invalidate (and cause flicker).  There
+       are still some drawing problems in the non-doublebuffered case, so
+       DOUBLEBUFFER is defined by default.
+
+       - Fix the way dropdowns are handled.  now we explicitly watch for
+       the events which might cause the dropdown to close, and break out
+       of the nested event loop there.  This gets rid of all Capture
+       code, at the expense of the Msg special casing.  Seems to work,
+       though, and fixes bug #79743.
+
+2006-10-27  Rolf Bjarne Kvinge <RKvinge@novell.com>
+       * Control.cs: SetIsRecreating now recreates implicitly added
+       child controls as well. Finally fixes #79629. The flag passed to 
+       SetIsRecreating has also been removed since it wasn't used.
+       
+2006-10-26  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PageSetupDialog.cs: Clean some code, fix some bits, 
+       add some checks, and add a printer sub-dialog.
+
+2006-10-26  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGrid.cs: make set_SelectedObject call
+       set_SelectedObjects, and move the duplicate logic to the
+       SelectedObjects setter.  Also, raise SelectedObjectsChanged.
+
+       * PropertyGridView.cs: hide the textbox when we get a
+       SelectedObjectsChanged event.
+
+       Fixes bug #79748.
+
+2006-10-26  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: deal with the type converter not supporting
+       GetStandardValues() or GetStandardValues() returning null, which
+       is does in the default case.  Fixes #79742.
+
+2006-10-25  Andreia Gaita <shana.ufie@gmail.com>
+
+       * CheckedListBox.cs: nunit no longer crashes when selecting 
+       Project/Edit menu option
+       
+2006-10-25  Andreia Gaita <shana.ufie@gmail.com>
+
+       * MenuAPI.cs: prevent ExecFocusedItem from blowing up if there
+       is no menu selected. fixes #79739
+
+2006-10-25  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: factor out the splitter invalidation code
+       into the SplitterPercent setter, and for kicks implement the
+       Ctrl-Left/Ctrl-Right handling that moves the splitter by a small
+       amount in either direction.
+
+2006-10-25  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: do some cleanup of the brush used to draw
+       text - read only fields should be grayed out.  not sure how to do
+       this with the textbox, though.  but the textbox's should also be
+       readonly now at least.  Also, hide/show the textbox when resizing
+       the control.
+       
+       * CursorConverter.cs: use System.Reflection when getting the
+       properties of Cursors, as TypeDescriptor.GetProperties isn't
+       returning static properties.
+
+2006-10-25  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: factor out the up/down handling, and reuse
+       it for page up/down.  also add End/Home support.
+
+2006-10-25  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs:
+
+       - ensure the selected grid item is visible in the scrolled area,
+       fixes bug #79572.
+
+       - fix Keys.Down handling when you're on the last item in the
+       propertygrid.
+
+2006-10-25  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs : set the ActiveTracker for MainMenu non-popup 
+       clicks too.  Fixes #79725.
+
+2006-10-24  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGrid.cs: use property.Converter instead of
+       TypeDescriptor.GetConverter(property.PropertyType), so we catch
+       TypeConverters declared on the property as well as on the
+       PropertyType.  Fixes bug #79678.
+
+2006-10-24  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs, Mime.cs:
+         Fallback to the default platform handler if no shared mime info
+         stuff exists (fixes #79693).
+
+2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
+       * ContainerControl.cs: Incorrect contains check in ActiveControl 
+       from previous fix (duh).
+
+2006-10-20  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: the dropdown should be MIN(number of items
+       in list, 15).  Fixes #79551.
+
+2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
+       Fixes #79384, #79394, #79652, #79667
+       * Application.cs: 
+       
+       - Modal windows are now destroyed in the proper order for windows
+       
+       * ContainerControl.cs:
+       
+       - ActiveControl setter has more conditions on when to return:
+               - if we're reselecting the active control, but it actually
+               didn't have focus (window hidden or some such), it runs
+               - if the active control being selected doesn't actually 
+               exist in the container, it returns
+       
+       * Form.cs
+       
+       - The ShowDialog now gets the current form as the owner when
+       invoking without parameters, and correctly activates the owner 
+       when returning
+       
+       * MessageBox.cs
+       
+       - MessageBox now catches the Escape key to exit
+
+2006-10-20  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: fix a number of issues (bug #78565, and
+       most of bug #79676):
+
+       - you can navigate around the property grid with the arrow keys.
+
+       - the dropdown is sized properly when the pg has a vertical
+       scrollbar.
+
+       - fix the indentation for subentries, and properly select the
+       entire label rect.
+
+       - fix the gray bar's drawing (only draw it to the last element,
+       not for the height of the control.  Also make sure we draw that
+       last horizontal grid line.
+
+       - use the same mechanism the datagrid uses wrt the editing textbox
+       when scrolling/resizing/etc.  Namely, we hide it first, do the
+       operation, then show it again (if it's still visible).
+       
+       - aggressively remove a lot of unnecessary refreshes (and also
+       calls to Invalidate(). call more limited variants, and only redraw
+       what we need.)
+       
+       * PropertyGrid.cs:
+
+       - when we're populating the merged collection, fill in the UI
+       parent with either the passed in item, or the category item we
+       create.
+
+       - remove the Refresh call from the BorderHelpControl.OnSizeChanged.
+
+       * GridItem.cs: drop some fully qualified names.
+       
+       * GridEntry.cs: add a "UIParent", which is basically the parent
+       treenode.
+
+       * GridItemCollection.cs: add an IndexOf method.
+
+2006-10-20  Mike Kestner  <mkestner@novell.com>
+
+       * MainMenu.cs : go back to Draw in OnMenuChanged.  Until we get
+       a working win32 NC invalidation mechanism, we can't invalidate
+       menus.  [Fixes #79705]
+
+2006-10-20  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs : don't update the VScrollbar if the list is empty,
+       just hide it.  [Fixes #79692]
+
+2006-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * RichTextBox.cs: Handle some special chars better, and don't skip
+       the entire group when we encounter a special char that we don't
+       handle correctly.
+
+2006-10-18  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: address a number of issues from bug #79676,
+       mostly of the cosmetic variety.
+
+       - The highlight rectangle for indented items not extends all the
+       way to the left.
+
+       - Indented items aren't indented so much.
+
+       - the dropdown is properly sized width-wise if the pg has a
+       vertical scrollbar.
+
+2006-10-18  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SystrayAdd): a rather convoluted change, but the
+       systray stuff is rather convoluted to begin with.
+
+       systray icons are a single window for some reason (that I haven't
+       figured out yet), and for them, client_window == whole_window.
+       Given the way the tests are structured elsewhere to determine
+       which paints are pending (client vs. nc), that situation will
+       always yield PAINT, not NCPAINT.  So, if we have a pending
+       nc_expose and no pending expose, remove the hwnd from the paint
+       queue, and also set nc_expose_pending to false, to keep us from
+       blocking further expose's adding the hwnd to the paint queue.
+
+       phew.  like i said, a rather convoluted change.  Fixes the
+       notifyicon repaint issues in bug #79645.
+
+2006-10-18  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: when getting the backcolor of the form, don't get
+       base.BackColor, as this allows parents to influence the background
+       color.  This breaks mdi forms.  Instead, if the background_color
+       is empty, return the default.
+
+2006-10-18  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: change some debug ifdefs, and return XGetParent
+       to being private instead of internal static.
+
+       * Control.cs: remove all the stupid ParentWaitingOnRecreation
+       crap, it wasn't working for more deeply nested controls anyway,
+       and we already have the is_recreating flag - use that instead.
+       Before calling DestroyHandle in RecreateHandle, recurse through
+       the control tree setting it to true.  this returns the recreate
+       code to much of its original simplicity, while now guaranteeing we
+       actually recreate everything we're supposed to.  This change gets
+       fyireporting actually showing mdi children.
+
+2006-10-17  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: remove some debug spew, and collapse some duplicate
+       code at the end of SetClientSizeCore.
+
+       * XplatUIX11.cs: 
+       - add some more debug spew here too wrt Destroy handling.
+       - don't call hwnd.Dispose in DestroyWindow, it's effectively done
+       in Control's handling of WM_DESTROY.
+       - Remove the handling of zombie window DestroyNotifies from the
+       event loop - we don't need it.  Now the only DestroyNotifies we
+       actually handle are ones generated by X.
+       - When sending _NET_ACTIVE_WINDOW, the first param should be 1, to
+       match gtk's (functioning) handling of this. This keep metacity
+       from leaving droppings in the form of wm borders with no window
+       contents all over the place.
+
+       * Control.cs:
+       - add a bunch of debug spew wrt control recreation.
+       - fix a bug where we weren't tracking Visible properly on
+       recreated hwnds.
+       - fixed the WM_PAINT double buffer handling to support re-entrant
+       calls (yes, i know it's gross, but it's happening to us).
+
+2006-10-17  Rolf Bjarne Kvinge  <rolfkvinge@ya.com>
+       * ThemeWin32Classic.cs: changed drawing of selected days
+       to make them look better.
+
+2006-10-16  Chris Toshok  <toshok@ximian.com>
+
+       * Hwnd.cs: replace the user_data/client_dc/non_client_dc with
+       drawing_stack.  Nuke the ClientDC/NonClientDC properties.
+
+       * XplatUIX11.cs: move away from using hwnd.client_dc and
+       hwnd.non_client_dc and on to a stack of dc's (and in window's
+       case, PAINTSTRUCT's), so we can deal with nested Paint calls
+       without puking or not disposing of Graphics objects.
+
+       * XplatUIOSX.cs: same.
+
+       * XplatUIWin32.cs: same.
+
+2006-10-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't call on_directory_changed inside
+         OnSelectedIndexChanged (it changes the SelectedIndex too).
+         Instead move it to OnSelectionChangeCommitted.
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: more Destroy work.  the current code does the
+       following things, in order:
+
+       1. Enumerates all handles of all controls at or below the one
+       being destroyed, in pre-order.  As it is doing this, it marks the
+       handles as zombie and clears all references to them.
+       
+       2. calls XDestroyWindow on the window passed in.
+
+       3. SendMessage's WM_DESTROY to all he handles in the accumulated
+       list.
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: set hwnd.zombie to true before calling
+       SendMessage (WM_DESTROY).  this keeps us from marking the new
+       window a zombie, and also keeps us from calling sendmessage at
+       all.
+
+2006-10-13  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Do not show the caret and selection at the same
+       time.  Reduces ugliness by 35%.
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SendWMDestroyMessages): set the hwnd to be a
+       zombie after we do the recursive call, so we actually do call
+       SendMessage on the children controls.
+       (GetMessage): if we find a pending paint event for a zombie hwnd,
+       remove the hwnd from the paint queue, or else it will always be
+       there (and we'll effectively loop infinitely)
+
+2006-10-13  Mike Kestner  <mkestner@novell.com>
+
+       * MenuItem.cs : add Selected format under keynav too.
+       Fixes #79528.
+
+2006-10-13  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * PropertyGrid.cs: Fixed some NRE's and small difference between our
+       implementation and that of MS.
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (OnInvalidated) only futz with the invalid_region if
+       the control is double buffered.  this fixes the apparent hang in
+       the ListView unit tests.  Someone needs to make the
+       BeginEndUpdateTest not call OnInvalidated 15004 times, though..
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs:
+
+       - do a little refactoring so that only one place calls
+       dropdown_form.Hide, and that is CloseDropDown.  make everywhere
+       else call that.  Also make it Refresh, since there are redraw bugs
+       otherwise (we should take a look at that...)
+
+       - do a little more refactoring work to share the body of code
+       involved with the drop down.  it was duplicated in the code
+       dealing with the listbox handling and in the code dealing with the
+       UITypeEditors.
+
+       - add a Capture to the dropdown form's control once it's
+       displayed, and add a MouseDown handler that checks to make sure
+       the position is inside the control.  If it's not, close the
+       dropdown.  This fixes #78190.
+
+       - in SetPropertyValueFromUITypeEditor, only call SetPropertyValue
+       if the value is different than the initial value.
+       
+2006-10-13  Andreia Gaita  <shana.ufie@gmail.com>
+
+       * Control.cs: see #78650
+       - Fixed GetNextControl for several cases:
+               - Changed FindFlatForward to return 
+               correct sibling control when more than one
+               control has same TabIndex as the currently 
+               focused one.
+               - Changed FindFlatBackward to loop children
+               from last to first and apply same logic as in
+               FindFlatForward
+               - Changed FindControlForward to search for
+               children when control is not a container
+               but has children, or search for siblings if
+               control is a container...
+               - Changed FindControlBackward   to continue
+               searching for child controls when hitting 
+               Panel-like parents
+               
+       - Fixed Focus method to update ActiveControl
+       (FocusTest.FocusSetsActive failure)
+       
+       * TabControl.cs:
+       - Focus rectangle now refreshes when gaining
+       or losing focus
+       - Removed grab for Tab key on IsInputKey that 
+       was keeping tab navigation from working (#78650)
+
+2006-10-13  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs:
+       - Rewrite SetPropertyValue to loop over SelectedGridItem's
+       SelectedObjects.
+
+       - Deal with GridItem.Value == null a few places.
+
+       * PropertyGrid.cs: 
+       - replace the PopulateGridItemCollection with a pair of methods
+       which compute the intersection of all the properties in the
+       SelectedObjects array.  Fixes #79615.
+
+       - Throw ArgumentException from set_SelectedObjects if there's a
+       null in the array.
+
+       - Add GetTarget method which can be used to traverse up the
+       GridItem.Parent chain.  It depends on the assumption that
+       selected_objects for different GridEntries are always in the same
+       order (a safe assumption).  Use this method and loop over all the
+       selected objects in the entry when calling RemoveValueChanged and
+       AddValueChanged.
+       
+       * GridEntry.cs: Make this handle multiple selected objects.
+       .Value returns null if not all the selected objects share the same
+       value.
+
+2006-10-12  Jonathan Pobst  <monkey@jpobst.com>
+       * ToolStrip.cs, ToolStripButton.cs, ToolStripComboBox.cs,
+         ToolStripControlHost.cs, ToolStripItem.cs, ToolStripLabel.cs,
+         ToolStripProfessionalRenderer.cs, ToolStripProgressBar.cs,
+         ToolStripSeparator.cs, ToolStripSplitStackLayout.cs,
+         ToolStripTextBox.cs: Add accessibility, fix attributes/API and
+       add additional functionality.
+
+2006-10-12  Mike Kestner  <mkestner@novell.com>
+
+       * ErrorProvider.cs : new ToolTipWindow ctor sig.
+       * HelpProvider.cs : new ToolTipWindow ctor sig.
+       * ToolTip.cs : remove ToolTip param from Window sig since it is
+       not used.
+       * ToolBar.cs : add tooltip support.  Fixes #79565.
+
+2006-10-12  Rolf Bjarne Kvinge  <rolfkvinge@ya.com>
+
+       * ComboBox.cs: move the events in set_SelectedIndex to 
+       after the call to HighlightIndex in order to avoid 
+       possible recursion and subsequent problems with the call
+       to HighlightIndex and include a range check in 
+       set_HighlightIndex. Fixes #79588
+       
+2006-10-12  Rolf Bjarne Kvinge  <rolfkvinge@ya.com>
+
+       * MonthCalendar.cs: When FirstDayOfWeek is default set firstday 
+       to ui thread's settings instead of sunday. 
+       * ThemeWin32Classic.cs: Localize the day string. Fixes #79563
+
+2006-10-12  Rolf Bjarne Kvinge  <rolfkvinge@ya.com>
+
+       * DateTimePicker.cs
+       * MonthCalendar.cs
+       * ThemeWin32Classic.cs: rewrote DateTimePicker to fix bug #78364
+       and implement missing functionality (selecting different parts 
+       of the date and edit them individually with the keyboard).
+       
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (OnInvalidated): fix NRE relating to last change.
+
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): make sure we include the MAXIMIZED
+       atoms in _NET_WM_STATE here if the window is maximized.  We need
+       to do this because we're *replacing* the existing _NET_WM_STATE
+       property, so those atoms will be lost otherwise, and any further
+       call to GetWindowState will return Normal for a window which is
+       actually maximized.  Fixes #79338.
+
+2006-10-11  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Special case for setting selection end to
+       selection start, we basically kill the anchor.
+       - some todo comments.
+
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: switch to using an "invalid_region" to track which
+       parts of the image buffer need updating.  This is more code than
+       the simple fix from r66532.  That version just attempted to always
+       fill the entire buffer on redraw, which turns out to be
+       inefficient when invalidating small rectangles.  This version
+       simply adds the invalid rectangle to the invalid region.  When we
+       get any WM_PAINT message we see if it can be filled using the
+       image buffer, and if it can't (if the paint event's clip rectangle
+       is visible in the invalid region) we first fill the image buffer.
+       So, the image buffer is still a cache, we just fill it lazily.
+
+       * PaintEventArgs.cs: remove the SetClipRectangle method, we don't
+       need it any longer.
+
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWindowPos): we need to update both position as
+       well as size after calling XMoveResizeWindow.  This keeps us from
+       ignoring future SetWindowPos calls.  Fixes the disappearing
+       DateTimePicker in the ToolBarDockExample from bug #72499.
+
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * TextBoxBase.cs: reorder things a bit when it comes to
+       resizing-causing-recalculation.  we were recalculating the
+       document when our position was changed, which shouldn't happen.
+       We only care about size changes.  Clear up some more redundant
+       recalculation calls while I'm at it.  This makes the toolbar dock
+       example snappy when you're just dragging toolbars around (since it
+       causes a relayout whenever you move one.)
+
+2006-10-11  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs (get_Rectangle): this only returns
+       Rectangle.Empty if Visible == false, or Parent == null.
+       Parent.Visible doesn't matter.
+
+2006-10-10  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs, PaintEventArgs.cs: "internal set { .. }" isn't loved
+       by .net 1.1, so switch to an internal method instead.
+
+2006-10-10  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (WM_PAINT): when a control is double buffered we draw
+       initially to the ImageBuffer and then copy from there.  But when a
+       parent control which has child controls is double buffered, the
+       initial drawing doesn't encompass the entire ClientRectangle of
+       the parent control, so we end up with uninitialized bits (this is
+       easily seen by dragging the top toolbar in
+       wf-apps/ToolBarDockExample to the right, quickly).  The fix is to
+       manually set the ClipRectangle of the paint_event (only the one we
+       use to populate the ImageBuffer) to ClientRectangle.  Fixes more
+       of the nastiness in bug #72499.
+
+       * PaintEventArgs.cs: Add an internal setter for ClipRectangle,
+       which we use in Control.cs's WM_PAINT handling.
+
+2006-10-10  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Finish off the autoscrolling stuff.
+
+2006-10-10  Chris Toshok  <toshok@ximian.com>
+
+       * Cursor.cs: Apply a slightly different patch to the one suggested
+       in #79609.
+
+2006-10-10  Jackson Harper  <jackson@ximian.com>
+
+       * MenuItem.cs: Make sure to put the mdi child in the hashtable,
+       not the parent form.
+       * TextControl.cs: use difference in old line count vs new count to
+       calculate how many lines were added, this takes into account soft
+       line breaks properly.
+
+2006-10-10  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: don't call MeasureCharacterRanges against a
+       rectangle located at 0,0 and the size of the text.  Use
+       ClientRectangle instead.  This fixes rendering of non-left aligned
+       link labels.
+
+2006-10-10  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: When we set the selection start position the
+       caret.
+       * TextControl.cs: Need to update the caret when we decrement it to
+       zero.
+       - Make sure that the selection_visible flag gets reset to false if
+       the selection isn't visible.  Before this you could get it set to
+       visible by changing the selection start, then changing the end to
+       equal the start.
+
+2006-10-09  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Don't update scrollbars when we aren't visible.
+       * TreeNodeCollection.cs: Only need to update scrollbars if being
+       added to an expanded visible node or the root node.
+
+2006-10-09  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SendMessage): fix NRE.
+
+2006-10-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Implement horizontal autoscrolling.
+       * TextControl.cs: Add a movement types that allows moving forward
+       and backwards without wrapping.
+
+2006-10-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListViewItem.cs : layout changes for wrapped LargeIcon labels
+       with focus "expansion" of labels.  Fixes #79532 and then some.
+       * ThemeWin32Classic.cs : add LineLimit to ListView label format
+       when wrapping.
+
+2006-10-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Set the default max values to MaxValue since
+       we use the scrollbar for autoscrolling and the default value is
+       100.  If we don't do this the caret won't keep up with typing
+       after about 18 characters.
+       * TextControl.cs: Make sure the selection is offset by the
+       viewport x.  This fixes selection when using auto scrolling.
+
+2006-10-07  Andreia Gaita <shana.ufie@gmail.com>
+       
+       * Form.cs: The active control should be selected after the 
+       OnLoad so that any child control initialization that affects
+       the selection is done. Fixes #79406
+
+2006-10-06  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: This is perhaps a dangerous change, but it seems
+       to have no evil effects.
+
+       - Stop selecting StructureNotifyMask on non-toplevel windows.
+
+         The only way children should be resized is by using the SWF api,
+         and we already send WM_WINDOWPOSCHANGED messages in those cases.
+         Toplevel windows can be interacted with via the window manager,
+         and so we keep the input mask there.
+
+         The other event StructureNotifyMask gives us (that we care
+         about) is DestroyNotify.  The code is already structured such
+         that it assumes we won't be getting a DestroyNotify event for
+         the window we pass to XDestroyWindow (which is what
+         StructureNotifyMask is supposed to guarantee.)  So, that code
+         shouldn't be affected by this either.
+
+       - Stop selecting VisibilityChangeMask altogether.
+
+         We weren't doing anything with the resulting events anyway.
+       
+       This vastly reduces the number of X requests and events we see
+       when resizing/laying out a large ui.
+
+2006-10-06  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs (DisplayRectangle): we need to take into
+       account the DockPadding regardless of whether or not auto_scroll
+       == true.  rework this slightly to this effect, and fix bug #79606,
+       and part of #72499 (you can now see the drag handles and drag
+       toolbars around).
+
+2006-10-06  Gert Driesen  <drieseng@users.souceforge.net>
+
+       * ListViewItem.cs: Collections of selected and checked items are now
+       dynamically rebuilt. Whenever an item is (un)checked or (de)selected
+       we mark the collection "dirty".
+       * ListView.cs: Marked collections readonly. Modified UpdateSelection
+       to only clear SelectedItems when a new item is selected and MultiSelect
+       is enabled. CheckedItems and SelectedItems now subscribe to Changed
+       event of ListViewItemCollection, and mark its list dirty whenever
+       that event is fire. This allows us to return selected/checked items 
+       in the same order as they are in the Items collection. This matches
+       the MS behavior.
+
+2006-10-06  Chris Toshok  <toshok@ximian.com>
+
+       * NotifyIcon.cs (HandleMouseUp): only show the context menu on
+       right mouse clicks.  Fixes bug #79593.
+
+2006-10-06  Chris Toshok  <toshok@ximian.com>
+
+       * Splitter.cs: doh, fix splitters that don't want to cancel the
+       movement when you drag them.  Also, impose the limits on the
+       values we send to the SplitterMovingEvent.  Fixes #79598.
+
+2006-10-06  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Ignore whether or not the scrollbar is enabled,
+       since we use this for auto scrolling also.
+
+2006-10-05  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridBoolColumn.cs: Nuke the code from ConcedeFocus.  I'm
+       beginning to think that most datagrid column types don't need this
+       method.  Fixes bug #79392.
+
+2006-10-05  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: move back to a more lazy scheme for creating the
+       CurrencyManager, so we aren't updating it every time you set
+       either DataSource or DataMember.  Also, don't call
+       RecreateDataGridRows if the currency manager hasn't changed.
+
+2006-10-05  Chris Toshok  <toshok@ximian.com>
+
+       * ComboBox.cs: by the time the OnSelectionChangeCommitted event is
+       emitted, SelectedIndex should already be updated.  Fixes bug
+       #78929.
+
+2006-10-05  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStripComboBox.cs, ToolStripControlHost.cs, ToolStripProgressBar,
+         ToolStripTextBox.cs: Initial commit.
+       * ToolStripItem.cs: Fixes for OnLayout, BackColor, Parent.
+
+2006-10-05  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: We need to invalidate the tab control area when
+       new ones are added (duh).
+
+2006-10-03  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (ProcessDialogKey): if the focused control is in this
+       form and is a button, call its PerformClick method here.  Fixes
+       #79534.
+
+2006-10-04  Jackson Harper  <jackson@ximian.com>
+
+       * TabPage.cs: Ignore setting of Visible, and add an internal
+       method for setting the controls visibility.  TabPage's Visible
+       property is a little strange on MS, this seems to make us
+       compatible, and fixes cases where people set all the tab pages to
+       visible.
+       * TabControl.cs: Use the new internal setting on tab pages
+       visibility.
+
+2006-10-03  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs : raise Click on ComboTextBox clicks. Fixes #79555.
+
+2006-10-03  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : use is_visible instead of Visible to check if 
+       scrollbars should be placed/sized.  Also some max_wrap_width
+       love for LargeIcon view.  [Fixes #79533]
+
+2006-10-03  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TextControl.cs :
+         Make set_TextAlign() do actually update the align. Fixed #78403.
+
+2006-10-03  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: fix a crash when switching datasources if the
+       vertical scrollbar is at someplace other than Value = 0.  Also,
+       reduce the number of recalculation passes we do in SetDataSource
+       from 2 to 1.
+
+2006-10-03  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Move the if value the same bail check up, we
+       don't want to empty the document if it is already empty, this
+       seems to severly mess up the caret.  TODO: I should probably fix
+       the empty statement to update teh caret somehow.
+
+2006-10-03  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs, DataGrid.cs: some changes so that the
+       incredibly hacky Windows.Forms FAQ autosize rows entry (it uses
+       reflection, an internal row type, properties on said type, etc.)
+       will work with our datagrid.  Fixes #79531.
+
+2006-10-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't crash if a path is not accessible
+         (System.UnauthorizedAccessException). Fixes #79569.
+       * MimeIcon.cs: Workaround for a Uri bug. Unix paths/files can have
+         a ':' too. Return unknown icon for those paths/files.
+
+2006-10-03  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ToolTip.cs: Fix rare, but possible, NRE on MouseEnter when 
+       GetContainerControl returns null.
+
+2006-10-02  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (GetWindowState): use hwnd.client_window in the
+       call to XGetWindowAttributes instead of "handle".  fixes an X
+       error using notifyicon after the NotifyIconWindow to Form base
+       class switch.
+
+2006-10-02  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (QueryPointer): new function, encapsulating the
+       server grab and looping we need to do to get down to the most
+       deeply nested child window.
+       (SetCursorPos): use QueryPointer instead of GetCursorPos, and call
+       QueryPointer again after the WarpPointer so we can generate a
+       proper (fake) MotionNotify event to be enqueued in the destination
+       window's queue.
+       (GetCursorPos): call QueryPointer.
+
+       Fixes #79556.
+
+2006-10-02  Jackson Harper  <jackson@ximian.com>
+
+       * NotifyIcon.cs: Derive the notify icon from a form, so things
+       like FindForm work on it.
+       - Swallow the WM_CONTEXTMENU message, since that is generated on
+       mouse down, and context menu is a mouse up kinda guy.  I believe
+       the correct fix here is probably to make the notify icon entirely
+       NC area, but this seems to work fine for anyone not manipulating
+       WndProc.
+
+2006-10-02  Jonathan Pobst  <monkey@jpobst.com>
+
+       * ToolStrip.cs, ToolStripButton.cs, ToolStripItem.cs,
+         ToolStripItemCollection.cs, ToolStripLabel.cs,
+         ToolStripProfessionalRenderer.cs, ToolStripRenderer.cs,
+         ToolStripSeparator.cs, ToolStripSplitStackLayout.cs:
+         Initial implementation.
+       * TextRenderer.cs: Provide padding to MeasureText.
+
+2006-10-02  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * ButtonBase.cs: Fix CreateAccessibilityInstance to return an instance
+       of ButtonBaseAccessibleObject. Fix bug #79552.
+
+2006-10-02  Jackson Harper  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: When maximizing use the containers client
+       rect, not it's bounds, so nc area is accounted correctly.
+       - Use the parent form's size for the menu position, since the
+       client isn't always the full form size.
+
+2006-10-01  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs: make sure neither right_edge or
+       bottom_edge are < 0, since they're used as LargeChange for the
+       horiz/vert scrollbars respectively.  Fixes #79539.
+
+2006-10-01  Chris Toshok  <toshok@ximian.com>
+
+       * NotifyIcon.cs: add NotifyIconWindow.InternalRecreateHandle, so
+       the xplatuix11 code can cause us to destroy/recreate our handle.
+
+       * XplatUIX11.cs
+       (SystrayAdd):
+       - this code can be invoked many times for the same Hwnd.  Make
+         sure we only destroy the client window once (the first time this
+         method is called).  This fixes bug #79544.
+       - Remove the call to the improperly bound XSync.  why we had two
+         bindings to this, I will never know, but this call resulted in
+         events being discarded from the queue(!).
+       - correct a misunderstanding of _XEMBED_INFO - the second atom is
+         not our current state but the state we wish to be in.  So, 0 if
+         we don't want to be mapped.  Change it to 1.
+       (SystrayRemove): The XEMBED spec makes mention of the fact that
+       gtk doesn't support the reparent of client windows away from the
+       embedder.  Looking at gtksocket-x11.c seems to agree with this.
+       The only avenue we have for removing systray icons is to destroy
+       them.  We don't want the handle to go away for good, though, so
+       call InternalRecreateHandle on the NotifyIconWindow.  Fixes
+       #79545.
+       
+2006-10-01  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs (WndProc): inline the native_enabled variable usage into
+       the cases in which it's used.  Fixes #79536.
+
+2006-09-29  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : toggle the selection state for ctrl clicks in 
+       multiselect mode. [Fixes #79417]
+
+2006-09-29  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : kill CanMultiSelect and refactor the selection
+       code to support multiselection in the absence of mod keys. Steal
+       arrow/home/end keys by overriding InternalPreProcessMessage to
+       restore regressed keynav behavior.
+       [Fixes #79416]
+
+2006-09-29  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Repaint the titlebars when the active window is
+       changed.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: when entering a runloop with a modal, make sure
+       the hwnd is enabled.  Fixes #79480.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (CurrentCell): if we try to navigate to the add row
+       when ListManager.CanAddRows == false, bump us back one.
+
+       * DataGridColumnStyle.cs (ParentReadOnly): remove the
+       listmanager.CanAddRows check.  This makes ArrayLists uneditable
+       using a datagrid, which is not right.
+       (SetColumnValueAtRow): call IEditable.BeginEdit if source[rowNum]
+       is an IEditable, but call property_descriptor.SetValue regardless.
+       fixes #79435.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridBoolColumn.cs: we need to test equality in the face of
+       possible null values (as is the case with the default NullValue).
+       This patch keeps us from crashing in that case.
+
+2006-09-29  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Don't do a recalculate/updatescrollbars
+       here, since it will get called for every node collection in the
+       tree. This is now done in the treeview once the sorting is
+       finished.
+       * TreeView.cs: Recalculate the visible order, and update the
+       scrollbars after sorting, set the top nope to the root so that the
+       recalc actually works.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: more handling of the default link collection in
+       the face of LinkArea manipulation.  The default link collection
+       contains 1 element (start=0,length=-1).  If the user sets LinkArea
+       to anything and the links collection is the default, clear it.
+       Then only add the link if its nonempty.  Fixes #79518.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs (CreatePiecesFromText): calculate the length of a
+       piece correctly when we hit a '\n'.  Fixes #79517.
+
+2006-09-29  Chris Toshok  <toshok@ximian.com>
+
+       * MimeIcon.cs, ThemeGtk.cs, X11DesktopColors.cs, XplatUIX11GTK.cs:
+       change the binding of gdk_init_check to take two IntPtr's, and
+       pass IntPtr.Zero for both of them.  Fixes #79520.
+
+2006-09-29  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs : raise TextChanged on ComboTextBox.TextChanged.
+       [Fixes #78779]
+
+2006-09-28  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: When translating NC messages make sure we go from
+       whole window to screen, not client window to screen.
+       * MdiClient.cs: Remove the calls to PaintWindowDecorations, this
+       method doesn't exist
+       - Skip over controls that aren't forms when arranging.
+
+2006-09-28  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIWin32.cs: Clip the rect to the parent window.
+       * XplatUIStructs.cs: Add clipping modes struct.
+       * InternalWindowManager.cs: New private method that factors title
+       bar heights in when calculating the pos of an NC mouse message.
+       - Use SendMessage to force a paint when the form's size is changed
+       instead of painting the decorations immediately.
+       - Don't let the NC button click messages get to DefWndProc,
+       because they will attempt to handle windowing themself, and this
+       messes up z-order (it will put them in front of the scrollbars).
+       * XplatUIX11.cs: Make sure that we don't reset window managers if
+       we already have one (ie the window is an MDI window).
+
+2006-09-28  Chris Toshok  <toshok@ximian.com>
+
+       * MainMenu.cs: fix #79405 by way of a disgusting hack.  all the
+       menu code really needs going over.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): more metacity wonderment.  turns
+       out metacity ignores the MAXIMIZE_HORZ/VERT messages unless the
+       window is maximizable.  So, we need to make sure that even if we
+       clear the border/wm frame of those functions, they're still
+       available (basically, we remove the decoration without removing
+       the function).  Half the fix for #79338.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (ProcessGridKey): implement Shift-Tab handling.
+       Fixes bug #79515.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * Splitter.cs: reorder things a bit so that we don't actually
+       draw/move the splitter until after calling OnSplitterMoving.  This
+       lets users cancel/disallow the movement by explicitly setting
+       event.SplitX/SplitY.  Fixes #79372.
+
+2006-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Don't hide the caret when it is being destroyed,
+       because it is most likely on a window being destroyed, and that
+       will give us an X11 error.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: half of the fix for #78190.  Clicking on
+       the dropdown button now toggles between showing and hiding the
+       dropdown.  Also, get rid of dropdown_form_showing and just use
+       dropdown_form.Visible.  We still don't do a grab, but I'll leave
+       that part to someone who has handled Capture-fu before.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: return false if alt isn't pressed when '0' is
+       pressed.  this keeps the '0' key from being swallowed, and fixes
+       bug #79350.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * ComboBox.cs: use Invalidate when scrolling the dropdown list.
+       Calling Refresh (in response to a scrollbar event) screws up the
+       scrollbar painting.  Fixes bug #78923.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * Theme.cs (SystemResPool): make the "if hashtable[key] == null
+       then insert into hashtable" blocks threadsafe.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * MessageBox.cs (CreateParams): the styles should be |'ed with our
+       baseclass's, since otherwise the
+       ControlBox/MinimizeBox/MaximizeBox assignments above have no
+       effect.  This gets the close button back in messageboxes.
+
+2006-09-27  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: make StyleSet and ExStyleSet check == with the
+       flag, not just != 0.  this makes flags that are actually multiple
+       bits (like WS_CAPTION) work.  fixes bug #79508.
+
+2006-09-27  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PageSetupDialog.cs: add support for getting and settings the 
+       paper size, source and orientation.
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): turns out when SYSMENU is not set
+       and caption == "", we need to remove the resize handles as well as
+       the title bar.
+
+       * Control.cs (set_Text): turns out that setting Text on a form
+       should change the WM styles on the window, since if ControlBox ==
+       false, the only way to get a window border is to have a non-""
+       Text property.  check winforms/forms/text.cs for an example.  so,
+       call both XplatUI.SetWindowStyle and XplatUI.Text here to properly
+       update both window styles and title.  This fixes a lot of dialogs
+       (including the preferences dialog in MonoCalendar.)
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIWin32.cs (SetParent): if parent == IntPtr.Zero (and the
+       control isn't a Form), call Win32ShowWindow to hide the window,
+       but don't update the control Visible property.  When we reparent
+       back to a parent control, call SetVisible in order for the
+       window's visibility to be reinstated.
+
+       * XplatUIX11.cs (SetParent): if hwnd.parent == null, reparent to
+       the FosterParent.
+
+       * Control.cs (ControlCollection.Remove): remove that value.Hide()
+       call for good, since it breaks MonoCalendar (and other things I'm
+       sure.) Also, set all_controls to null *after* the owner calls,
+       which end up regenerating it.
+       (ChangeParent): allow new_parent to be == null, passing
+       IntPtr.Zero down to XplatUI.
+
+       this fixes #79294 the right way.
+
+2006-09-26  Mike Kestner  <mkestner@novell.com>
+
+       * GridEntry.cs : internal SetParent method.
+       * PropertyGrid.cs : attach to property changed on the proper
+       target if we have a hierarchical grid with subobjects. Setup
+       GridItem.Parent for hierarchical items.
+       * PropertyGridView.cs : Set value on the correct target for
+       hierarchical grids. [Fixes #78903]
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (ChildNeedsRecreating): this should return true if
+       either we're being recreated and the child is in our list, or our
+       parent is waiting for our recreation.
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (ControlCollection.Remove): reinstate the
+       value.Hide() call as suggested in bug #79294.
+
+2006-09-26  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * XplatUIX11.cs: Fixed SetCursorPos to move the cursor to screen
+       coordinates (versus a relative move).
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: rework child recreation a little bit.  It turns out
+       that we race between the DestroyNotify the WM_DESTROY message.  If
+       the parent gets its DestroyNotify before the child gets the
+       WM_DESTROY message, the child ends up not recreating (since the
+       parent finishes its recreation on DestroyNotify, and the child
+       checks ParentIsRecreating.)
+
+       So, instead we store off a list of all the child controls which
+       need to be recreated when the parent control starts to recreate
+       itself.  Then, when child controls get their WM_DESTROY message we
+       check to see if they're in the parent's pending recreation list,
+       and if so, we recreate.  This removes all dependency on ordering
+       from the code and fixes the initial MonoCalendar upgrade dialog.
+       
+2006-09-26  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Use the Line to get the length of the line,
+       since soft line breaks can change the end line.
+
+2006-09-26  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (ControlCollection.AddImplicit): don't add the
+       control again if it's already in one of our lists.  This keeps us
+       from adding controls over and over again for comboboxes when their
+       handle gets recreated (as the combobox adds implicit controls in
+       OnHandleCreated).  Fixes the X11 errors in bug #79480.
+
+2006-09-26  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When deleting characters make sure that any
+       orphaned zero lengthed tags get deleted.
+       - Fix ToString for zero lengthed tags.
+
+2006-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: When getting a tag at the location there can be
+       multiple tags at the same spot, these are 0-lengthed tags that
+       appear when extra formatting has been stuck in a location.  We
+       need to pull out the last of these 0 lengthed tags.
+
+2006-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * TextControl.cs: Fix print out in debug method.
+       * TextBoxBase.cs: When text is set bail if we are setting to the
+       previous value.
+       
+2006-09-24  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FontDialog.cs: Fixed the up/down arrow keys issue from bug #79478.
+         It is now possible to change the selected index in a FontXXXListBox
+         with the up and down arrow keys from the FontXXXTextBoxes.
+         Also, send the FontXXXTextBox mouse wheel event to the corresponding
+         FontXXXListBoxes to match ms.
+
+2006-09-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * SystemInformation.cs: Return a clone of the theme's MenuFont because
+       anyone can dispose it, anytime. All other properties returns enums, 
+       structs or basic types so they don't need such tricks.
+
+2006-09-22  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUI.cs:
+       * XplatUIWin32.cs:
+       * Clipboard.cs:
+       * DataFormats.cs:
+       * XplatUIOSX.cs:
+       * XplatUIDriver.cs: Update interface to add a primary selection
+       flag, so the driver can use the primary selection buffer if
+       needed.
+       * XplatUIX11.cs: Allow the clipboard to retrieve from PRIMARY.
+
+       * RichTextBox.cs: We need to supply the data object to paste now
+       (so we can choose to supply CLIPBOARD or PRIMARY).
+       * TextBoxBase.cs: Supply data object to paste (see above).
+       - Middle click uses the primary selection data object.
+       
+2006-09-21  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: first little cleanup of the StyleSet (...) block
+       of SetWMStyles.  It's still a rat's nest and is largely
+       order-dependent which I dislike immensely.  This also fixes the X
+       button disappearing from toplevel forms.
+
+2006-09-21  Mike Kestner <mkestner@novell.com>
+
+       * ListBox.cs: move Jordi's click/dblclick raising code to the
+       mouse up handler.
+
+2006-09-21  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * ListBox.cs: Fixes 79450
+
+2006-09-21  Mike Kestner <mkestner@novell.com>
+
+       * TreeView.cs: guard against disposed conditions in UpdateScrollbars
+       to deal with people updating the TreeNodeCollection after the tree
+       is disposed.  "Fixes" 79330.
+
+2006-09-20  Jackson Harper <jackson@ximian.com>
+
+       * TextControl.cs: Push the cursor record onto the undo stack
+       before the delete action. This fixes 78651.
+
+2006-09-20  Jonathan Chambers  <joncham@gmail.com>
+
+       * PropertyGridView.cs: Remove WindowStyles.WS_VISIBLE from
+       CreateParams. Fixes 79329.
+
+2006-09-19  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: a couple of blanket code massage passes to clean
+       things up a bit.  First, get rid of the NetAtoms array (and the NA
+       enum), and just embed the atoms as static fields.  Also, add a
+       couple of functions (StyleSet and ExStyleSet) to clean up all the
+       bitmask testing of styles.
+
+       * X11Structs.cs: remove the NA enum, not needed anymore.
+       
+2006-09-19  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: apply Alexander's tool window fix for bug #79245
+       (mapping them to _NET_WM_WINDOW_TYPE_UTILITY).  and add a little
+       added cleanup to get MessageBox titles appearing again, which were
+       broken by my earlier fix for caption-less/ControlBox-less windows.
+
+2006-09-18  Jonathan Pobst <monkey@jpobst.com>
+
+       * ToolStripArrowRenderEventArgs.cs, ToolStripArrowRenderEventHandler.cs,
+         ToolStripContentPanelRenderEventArgs.cs, ToolStripContentPanelRenderEventHandler.cs,
+         ToolStripGripRenderEventArgs.cs, ToolStripGripRenderEventHandler.cs,
+         ToolStripItemClickedEventArgs.cs, ToolStripItemClickedEventHandler.cs,
+         ToolStripItemEventArgs.cs, ToolStripItemEventHandler.cs,
+         ToolStripItemImageRenderEventArgs.cs, ToolStripItemImageRenderEventHandler.cs,
+         ToolStripItemRenderEventArgs.cs, ToolStripItemRenderEventHandler.cs,
+         ToolStripItemTextRenderEventArgs.cs, ToolStripItemTextRenderEventHandler.cs,
+         ToolStripPanelRenderEventArgs.cs, ToolStripPanelRenderEventHandler.cs,
+         ToolStripRenderEventArgs.cs, ToolStripRenderEventHandler.cs,
+         ToolStripSeparatorRenderEventArgs.cs, ToolStripSeparatorRenderEventHandler.cs:
+           Inital import.
+       * ToolStripPanel.cs, ToolStripContentPanel.cs, ToolStripSeparator.cs,
+         ToolStripButton.cs: Stubs needed for above.
+       * ToolStrip.cs, ToolStripItem.cs: Stub a few variables/properties for above.
+
+2006-09-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs:
+       - make the MessageQueues hashtable Synchronized.
+       
+       - SendMessage: if the Hwnd is owned by a different thread, use the
+       AsyncMethod stuff to dispatch the SendMessage on the hwnd's
+       thread.  Fixes bug #79201.
+
+2006-09-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): rework the #79368 fix slightly.  If
+       ControlBox == false, we disallow maximize/minimize/close.  If the
+       form Caption is "" we also disallow move (and get rid of the Title
+       decoration).  Unfortunately, regardless of how things are set,
+       we're stuck with the Title and WM menu.
+
+2006-09-15  Chris Toshok  <toshok@ximian.com>
+
+       * Application.cs: add locking around the static message_filters
+       ArrayList, part of #79196.
+
+2006-09-15  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetWMStyles): if Form.Text == "" and
+       Form.ControlBox == false, the window has no titlebar nor resize
+       handles.  fixes bug #79368.
+
+2006-09-15  Chris Toshok  <toshok@ximian.com>
+
+       * TextBoxBase.cs: in CalculateScrollBars make sure LargeChange is
+       >= 0.  Fixes bug #79370.
+
+2006-09-15  Jonathan Pobst <monkey@jpobst.com>
+       * FlowLayoutPanel.cs, FlowLayoutSettings.cs: Initial commit.
+       * Control.cs:
+           Add properties: LayoutEngine, Margin, DefaultMargin.
+           Add method: GetPreferredSize.
+           Move layout logic from PerformLayout to layout engines. 
+
+2006-09-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: more destroy work.  Jackson pointed out that my
+       fix for #79326 broke #78718, so this change addresses that.
+
+       - in SendWMDestroyMessages remove the call to
+       CleanupCachedWindows, since we might be recreating the control and
+       need to maintain the references to right Hwnd handles.  Also, set
+       the zombie flag to true for each of the children in the hierarchy
+       instead of calling hwnd.Dispose.  This will cause GetMessage to
+       ignore all events for the window except for DestroyNotify.
+
+       - In GetMessage, ignore messages except for DestroyNotify for
+       zombie hwnds.
+       
+       * Control.cs: revert the is_recreating fix from the last
+       ChangeLog.  It's definitely "right", but it breaks switching from
+       an MDI form to a non-MDI form.  Will need to revisit that.
+
+       * Hwnd.cs: add a zombie flag, which means "the
+       client_window/whole_window handles are invalid, but we're waiting
+       for the DestroyNotify event to come in for them".  Set the flag to
+       false explicitly if setting WholeWindow/ClientWindow, and also
+       when Disposing.
+       
+2006-09-13  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: rework window destruction slightly.
+
+       - when destroying the windows associated with a control, we don't
+       need 2 separate XDestroyWindow calls.  Just the one for the
+       whole_window (or for client_window if whole_window is somehow
+       IntPtr.Zero -- can this happen?) is enough.
+
+       - reworked SendWMDestroyMessages slightly, so we always dispose
+       the child control hwnd's after sending the messages.
+       
+       - refactored out the ActiveWindow/FocusWindow/Caret clearing from
+       the two places it was used (one was even using hwnd.Handle and the
+       other hwnd.client_window.  ugh), adding another call in
+       SendWMDestroyMessages.  We need this new call because now the
+       DestroyNotify events in the queue will be ignored for the child
+       controls (as their hwnd's were disposed, and the window id's
+       removed from the hashtable in SendWMDestroyMessages.) fun, eh?
+
+       - this fixes bug #79326.
+
+2006-09-13  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: don't always set is_recreating to false at the end
+       of RecreateHandle, since sometimes we're not done (and won't be
+       until WndProc handles the WM_DESTROY message).  Also, set
+       is_recreating to false in the WM_DESTROY handling code.  Part of
+       the fix for bug #79326.
+
+2006-09-13  Miguel de Icaza  <miguel@novell.com>
+
+       * X11DesktopColors.cs: Start the droppage of debugging messages.
+
+       * FileDialog.cs: Store the configuration file in ~/.mono/mwf_config
+
+2006-09-13  Jonathan Pobst <monkey@jpobst.com>
+
+       * SplitContainer.cs, SplitterPanel.cs: Initial implementation [2.0].
+
+2006-09-12  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (get_ListManager): if the list_manager is null, try
+       to create it using SetDataSource.  Fixes bug #79151.
+
+2006-09-11  Chris Toshok  <toshok@ximian.com>
+
+       * XEventQueue.cs: add a DispatchIdle property.
+
+       * XplatUIX11.cs (UpdateMessageQueue): only emit the Idle event if
+       either the queue is null, or the queue has DispatchIdle set to
+       true.
+       (DoEvents): set queue.DispatchIdle to false around the
+       peek/translate/dispatch message loop in this method.  This keeps
+       Application.Doevents from emitting idle events.  Part of the fix
+       for #78823.
+
+2006-09-11  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_DataSource): make this work for both the
+       winforms/datagrid test and ReportBuilder.  It seems as though when
+       we've created a ListManager (or maybe it's if we have a
+       BindingContext?), when we set the DataSource it clears the
+       DataMember to "".  otherwise we reuse the datamember.  Fixes bug
+       #79333.
+
+2006-09-11  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: deal with queue being null, which happens in all
+       the Clipboard functions.  Fixes one of the two problems mentioned
+       in #78612.
+
+2006-09-11  Chris Toshok  <toshok@ximian.com>
+
+       * MenuAPI.cs: rework OnMouseUp a bit so that releasing the mouse
+       button on various spots (including outside the menu) works closer
+       to MS, and doesn't crash.  Fixes #79343.
+
+2006-09-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ListView.cs: Do not initialize item_sorter in init. To match MS,
+       return null for ListViewItemSorter if View is SmallIcon or LargeIcon
+       and the internal comparer is set. When a new ListViewItemSorter is set,
+       sort the items. Use Enum.IsDefined to verify whether a valid SortOrder
+       was specified. No further processing is necessary if SortOrder is set
+       to it's current value. If Sorting is modified to None, and View is
+       neither SmallIcon nor LargeIcon then: on 2.0 profile set item_sorter
+       (either custom or our internal ItemComparer) to null, on 1.0 profile
+       only set item_sorter to null if its our internal IComparer. If Sorting
+       is modified to Ascending or Descending, then use our internal IComparer
+       if none is set, and if the current IComparer is our internal one then:
+       on 2.0 profile always replace it with one for new Sorting, and on 1.0
+       profile only use new Sorting if view is not SmallIcon or LargeIcon. Use
+       Enum.IsDefined to verify whether a valid View value is specified in
+       its setter. Automatically sort listview items when listview is
+       created. In Sort, do nothing if ListView is not yet created, or if
+       no item_sorter is set (no Sorting was set, Sorting was explicitly set
+       to None or ListViewItemSorter was set to null). Added Sort overload
+       taking a bool to indicate whether the ListView should be redrawn when
+       items are sorted (we use this in ListViewItemCollection to avoid double
+       redraws). Modified our internal IComparer to take the sort order into
+       account. In Add and AddRange methods of ListViewItemCollection, also
+       call Sort if Sorting is None (necessary for SmallIcon and LargeIcon
+       view), but use overload with noredraw option to avoid double redraw.
+       On 2.0 profile, throw NotSupportedException when setting CheckBoxes to
+       true when View is Tile, and do the same when attempting to set View to
+       Tile when CheckBoxes is true. Avoid maintaining separate ArrayLists
+       for selected/checked indices, as it involves overhead when sorting is
+       done while these collections are not used all that often. Instead
+       we'll build the indices on demand. Modified IList implementation of
+       CheckedIndexCollection to use public methods if object is int.
+       Modified CheckedListViewItemCollection to hide checked items if
+       ListView.CheckBoxes is false. Removed LAMESPEC remark in 
+       ListViewItemCollection as the .NET SDK docs have been fixed. Modified
+       IList implementation in SelectedIndexCollection to use public methods
+       if object is int. Modified SelectedListViewItemCollection to hide
+       selected items if listview is not yet created.
+       * ListViewItem.cs: CheckedIndices list no longer needs to be
+       maintained separately (see ListView changes). Also clone font, fixes
+       test failure.
+
+2006-09-11  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: if we are updating the contents of the currently
+       selected index, refresh the control or the textbox selection.
+       [Fixes #79066]
+
+2006-09-11  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs (UpdateBounds): use SetBounds not SetBoundsCore since 
+       the 'specified' logic has been moved there.  This seems like a bug 
+       in Control.cs, since our current SetBoundsCore completely ignores 
+       the specified parameter.  Peter's commit seems to indicate that is 
+       the way the MS control implementation works.  [Fixes #79325]
+
+2006-09-10  Jonathan Chambers  <joncham@gmail.com>
+
+       * XplatUI.cs: Set default_class_name to be composed
+       of current domain id. This allows MWF to be loaded in multiple
+       domains on Win32.
+
+2006-09-09  Miguel de Icaza  <miguel@novell.com>
+
+       * X11Keyboard.cs: If we are unable to obtain the input method, do
+       not call CreateXic to create the input context.   Should fix
+       #78944/79276.
+
+2006-09-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Rewrote major parts. Dropped KDE support for now.
+         Simplified gnome support by adding more pinvokes to get the
+         icon for a file or mime type.
+
+2006-09-08  Jackson Harper  <jackson@ximian.com>
+
+       * MenuAPI.cs: Deslect popup context menu items before closing the
+       window, so that you don't see the previously selected item
+       selected when you reopen the menu.
+       * TextControl.cs: Update the cursor position even if we don't have
+       focus.  This fixes typing in things like the ComboBox.  I'm not
+       totally sure we should always set the visibility if we don't have
+       focus, but couldn't find any corner cases where the cursor showed
+       up when it shouldn't.
+
+2006-09-08  Chris Toshok  <toshok@ximian.com>
+
+       * X11Keyboard.cs: In UpdateKeyState vkey can be any integer, but
+       our arrays are length 256.  & 0xff before indexing.  Fixes the
+       crash in bug #78077.
+       
+2006-09-08  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ThemeWin32Classic.cs: 
+       * DateTimePicker.cs: Draw check box if DateTimePicker.ShowCheckBox
+       is true. Handle that check box too.
+
+2006-09-07  Chris Toshok  <toshok@ximian.com>
+
+       * MenuAPI.cs: move the PerformClick call to OnMouseUp.  Fixes bug
+       79244.
+
+2006-09-07  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: in set_BackColor only do the work if
+       background_color != value.
+
+       * XplatUIX11.cs: move the clearing of invalid areas (both client
+       and nc) to the same block of code where we set (nc_)expose_pending
+       to false.  That is, move it from PaintEventEnd to PaintEventStart,
+       so things that cause invalidates from within OnPaint will trigger
+       another call to OnPaint.  Fixes bug #79262.
+
+2006-09-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Theme.cs: Use correct icon for UIIcon.PlacesPersonal
+       * FileDialog.cs: Fix typo
+
+2006-09-07  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs:  oops, forgot to commit.  Draw the images
+       for tab pages if they have any.
+
+2006-09-06  Mike Kestner  <mkestner@novell.com>
+
+       * Splitter.cs: use the "current" rect when finishing drag handle
+       to avoid an artifact demonstrated by resedit.exe.  [Fixes #79251]
+
+2006-09-06  Mike Kestner  <mkestner@novell.com>
+
+       * Splitter.cs: draw the drag handle at X or Y instead of 0 to deal
+       support offset splitters. [Fixes #79298]
+
+2006-09-06  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Fixed a bug that could override the global mime type
+         result.
+
+2006-09-05  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Better calculation method for setting the slider
+       pos. Prevents crashes on really wide tabs.
+       - Draw Image on tab pages if an image list is used.
+
+2006-09-02  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: When Font changes, the Size should be
+       updated to fit the new font's space requirements.
+
+2006-09-02  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ListBox.cs: If the items are cleared with Items.Clear set
+         top_index to 0.
+
+2006-09-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: Handle arrow keys as input keys. Also
+       fire DateChanged event instead of DateSelected event when
+       the date was changed by keyboard interaction.
+
+2006-09-01  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * DateTimePicker.cs: Handle DateChanged for the associated
+       month_calendar control, and set month_calendar.Font from 
+       OnFontChanged method, as well as resize the height of the
+       control when needed. Make PreferredHeight proportional.
+
+2006-09-01  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: grr, stop overthinking the DataMember/DataSource
+       properties.
+
+       * BindingContext.cs (HashKey.GetHashCode): use ^ instead of +.
+
+2006-09-01  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * FileDialog.cs: Set ClientSize instead of window size, to allow space
+         for decorations (Fixes #79219)
+
+2006-09-01  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: first stab at sorting plus some selection handling
+       fixes to bring us more in line with MS behavior.  Also switches back
+       to index based selection.  Alternative patches for index-based 
+       selection were provided by Jackson Harper, Carlos Alberto Cortez, 
+       and latency@gmx.de on bug 78848.  I assume they were similar to this
+       code I've had simmering in my tree forever.
+       [Fixes #78848]
+
+2006-09-01  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs (ListChangedHandler): in the ItemAdded case,
+       when setting list position guard against ending up with a -1 index
+       (the other part of the fix for #78812).  Should probably make sure
+       we don't need the analogous fix in the ItemDeleted case.
+
+       * DataGrid.cs:
+       - in SetDataSource, work around the fact that the way
+       OnBindingContextChanged is invoked will cause us to re-enter this
+       method.  I'll remove the hack once I investigate
+       OnBindingContextChanged.
+
+       - fix the logic in set_DataSource and set_DataMember (basically
+       what to do if the other of the two is null.)
+       
+       - in OnListManagerItemChanged, we need to take into account the
+       edit row when deciding whether or not to call RecreateDataGridRows
+       (part of the fix for #78812).
+
+2006-09-01  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: Don't do anything if there is no control to affect
+       (prevents us from crashing in weird tet cases).
+       * TreeView.cs: Bounding box for the mouse movement reverting
+       focus/selection back to previously selected node.  This matches
+       MS, and makes the tree a lot more useable.
+       * GroupBox.cs: Instead of drawing over the lines of the groupbox,
+       use clipping so they are not drawn.  This fixes when the control
+       is set to have a transparent background, or if it was over an
+       image.
+
+2006-09-01  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Improved handling for reading default icons when
+         using gnome (2.16 made it necessary). Check and read svg icons
+         first, then 48x48 and then 32x32 icons.
+
+2006-08-31  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: only hide the textbox if it's still
+       visible.
+
+       * DataGridTextBox.cs: Pass Tab's up to the datagrid by calling
+       ProcessKeyPreview.  Fixes part of #77806.
+
+       * DataGrid.cs: big patch.
+
+       - revert the queueing up of DataSource/DataMember if inside
+       BeginInit/EndInit calls.  That's not the way the datagrid achieves
+       its delayed databinding.  Instead, call SetDataSource in
+       OnBindingContextChanged.  This mimic's MS's behavior, and fixes
+       #78811.
+
+       - Also, it wasn't mentioned in #78811, but the test case exhibits
+       behavior that was lacking in our datagrid implementation - Columns
+       that have mapping names that don't exist in the datasource's
+       properties aren't shown.  Yuck.  To fix this I added the bound
+       field to the column style, and basically any calculation to figure
+       out anything about columns uses a loop to find the bound columns.
+       still need to investigate if I can cache an array of the bound
+       columns or if the indices must be the same.
+
+       - When setting CurrentCell, we no longer abort if the cell being
+       edited was in the add row.  This fixes the other part of #77806.
+
+       - The new code also fixes #78807.
+       
+       * ThemeWin32Classic.cs: perpetrate the same disgusting
+       column.bound field hack, and only render bound fields.
+
+2006-08-31  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs: add bound field.  this field is true if
+       the datasource has a property corresponding to the mapping name.
+
+       * DataGridTableStyle.cs: set the bound field on the column styles
+       depending on whether or not we have a column for that property.
+
+2006-08-31  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Splitter.cs (SetBoundsCore): Don't ignore width/height of the 
+         splitter control (fixes #79228)
+
+2006-08-31  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs: we need to delay the assignment of
+       property descriptor until the last possible moment due to the lazy
+       databinding stuff in the datagrid.  Also, fix the exceptions
+       thrown by CheckValidDataSource to match MS.
+
+2006-08-31  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: When activated select the active control, if there is
+       no active control, we select the first control.
+       * XplatUIX11.cs: If there is no focus control when we get a
+       FocusIn event, find the toplevel form and activate it.  This
+       occurs when you popup a window, it becomes the focus window, then
+       you close that window, giving focus back to the main window.
+
+2006-08-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: 
+       * ThemeWin32Classic.cs: Cache Font in bold style, as well
+       as StringFormat with Center alignments in MonthCalendar,
+       instead of creating new ones when drawing the control. 
+       Also, draw the month name in bold style.
+
+2006-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - PerformLayout(): It would seem MS performs the fill even if the 
+           control is not visible (part of #79218 fix)
+         - ResetBackColor(): Use the setter to reset the color, to allow
+           overriders to catch the change.
+       * Form.cs:
+         - .ctor: Call UpdateBounds to adjust client rectangle (part of #79218 fix)
+         - CreateHandle(): dito (part of $79218 fix)
+         - Don't set an icon if we have a dialog
+       * ScrollableControl.cs:
+         - set_AutoScrollMinSize: Setting the property enables AutoScroll (#79218)
+         - ScrollIntoView(): No need to scroll if control is already visible
+           (resolves fixme and fixes #79218)
+
+2006-08-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * MonthCalendar.cs: Change proportions in SingleMonthSize
+       to match the aspect of the original control.
+
+2006-08-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * XplatUIX11.cs: Fix for a metacity/X problem where windows don't
+         get updated when they get maximized.
+
+2006-08-29  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Handle windows with no border (Fixes part of #79160)
+
+2006-08-29  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: when destroying the FocusWindow, send KILLFOCUS.
+
+2006-08-29  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Need to track selected node and highlighted node,
+       they aren't always the same thing, when the mouse is down on a
+       node it is hilighted, but not selected yet.
+       - Do the HideSelection stuff right
+       - Need to focus on rbutton mouse down. And redraw selection when
+       right click is mouse upped.
+
+2006-08-29  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: draw selections for columns in FullRowSelect
+       when SubItems.Count < Columns.Count.  [Fixes #79167]
+
+2006-08-28  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs (FindCursor): Fix math error (Fixes #78402)
+
+2006-08-28  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Preempt the roundtrip for getting the location back
+         from X. Only send based on ConfigureNotify if we don't have the
+         correct location in hwnd (if the window manager moved us)
+
+2006-08-28  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: remove a TODO. 
+       * ThemeWin32Classic.cs: implement HideSelection support for ListView.
+       [Fixes ListView part of #79166]
+
+2006-08-28  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: move wheel handler to parent since it is focused
+       instead of the item_control now.  [Fixes #79177]
+
+2006-08-28  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: only highlight subitems in fullrowselect
+       when the control is focused. [Fixes #79171]
+
+2006-08-28  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: size the item and header controls for empty and
+       unscrollable views.
+       * ThemeWin32Classic.cs: draw disabled backgrounds.
+       [Fixes #79187]
+
+2006-08-28  Chris Toshok  <toshok@ximian.com>
+
+       * Form.cs: remove unused "active_form" static field.
+
+       * Hwnd.cs: lock around accesses to static windows collection.
+
+       * Application.cs: lock threads in Exit ().
+
+2006-08-28  Chris Toshok  <toshok@ximian.com>
+
+       * NativeWindow.cs: lock around accesses to window_collection.
+       
+2006-08-28  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: err, fix this the right way, by locking on controls
+       when using it.  not by making it synchronized.
+
+2006-08-28  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: make the static "controls" field synchronized, as it
+       gets updated from multiple threads.
+
+2006-08-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: PostQuitMessage is thread-specific not app-specific.
+         Prevent other threads from exiting when calling thread sets quit state.
+       * XEventQueue.cs: Added PostQuitState property
+
+2006-08-27  Chris Toshok  <toshok@ximian.com>
+
+       * AsyncMethodData.cs: add a slot for the window handle.
+
+       * XplatUIX11.cs (SendAsyncMethod): send the event to the right
+       window (the destination control's window, not the foster window).
+
+       * Control.cs (BeginInvokeInternal): store the window's handle in
+       the AsyncMethodData.
+       
+
+2006-08-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - PostQuitMessage: Removed resetting S.D display handle, we might have
+           another loop started after calling PostQuitMessage (Fixes #79119)
+         - Created destructor to reset S.D handle
+
+2006-08-27  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (SetCursor): Issue flush after setting the cursor (#79168)
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs (Insert): Update the caret position even if we don't
+         have a handle yet, just don't call the driver in that case.
+       * TextBoxBase.cs (set_SelectedText): Set the Start and End selection
+         to the end of the new selection text (Fixes #79184)
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs (Activate): Only activate if the handle is created)
+       * Control.c:
+         - Mark window as invisible when it's disposed
+         - Check if window handle is created when setting window visible, 
+           instead of relying just on the is_created variable
+         - Check if object is disposed when creating the control (Fixes #79155)
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollableWindow.cs (ScrollWindow): Don't actually perform layouting
+         when allowing layout again. Otherwise we re-generate the anchoring 
+         distance to the border again and actually alter what the user wanted
+         This is ugly, it'd be better if we used DisplayRectangle instead of
+         ClientRectangle for Control.UpdateDistances, but that causes us to
+         have other problems (initial anchoring positons would be wrong)
+         (Fixes #78835)
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - The size and location setters shouldn't go directly to 
+           SetBoundsCore, but to SetBounds, which triggers layout on the
+           parent, then calls SetBoundsCore. (Related to fix for #78835)
+         - SetBounds: Moved actual location update code into this function
+           from SetBoundsCore, to match MS. Added call to PerformLayout if
+           we have a parent (to trigger resizing of anchored parents if the 
+           child size has changed (see testcase for #78835) 
+       * ListBox.cs, Form.cs: Call SetBounds instead of SetBoundsCore to match 
+         new control code
+       * ScrollableControl.cs (CalculateCanvasSize): Use shortcut variable
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Don't reset the DisplayHandle that's stored in
+         System.Drawing when a toplevel window gets closed; there might
+         be other toplevel windows belonging to the same app (Fixes #78052)
+
+2006-08-26  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: After reading FileDialog settings from mwf_config
+         use Desktop prefix only if a real folder doesn't exist anymore.
+       * FontDialog.cs: Added char sets.
+         It is now possible to select the font, size or style with the
+         textboxes.
+
+2006-08-25  Kornél Pál  <kornelpal@gmail.com>
+
+       * PrintPreviewDialog.cs: Use assembly name constants.
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs (ScrollWindow): Use clipping rectangle arg (prevents
+         scrollbar from whacking it's buttons)
+
+2006-08-24  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollableControl.cs: fix #78271.  There's a lot of misc stuff
+       in this patch (aggregating setting Left/Top/Width/Height to
+       setting Bounds on the scrollbars), but the crux of the fix is in
+       Recalculate, where we scroll by the remaining scroll_position if
+       we're hiding a scrollbar.  The 2*$5 reward in the comment is
+       serious.
+
+2006-08-24  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs:
+       * MdiWindowManager.cs: If the form is made a non-mdi window we
+       need to remove the form closed event so that closing forms works
+       correctly.
+
+2006-08-24  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Make IsRecreating internal so that the driver can
+       check it
+       - Temporarily remove the Hide when controls are removed, its
+       making a whole bunch of things not work because visibility isn't
+       getting reset elsewhere correctly
+       * Form.cs: Need to do a full handle recreation when the mdi parent
+       is set.
+       * XplatUIX11.cs: If we are recreating handles don't dispose the
+       HWNDs.  What was happening is the handles were being recreated in
+       SendWMDestroyMessages, but then flow continued on in that method
+       and destroyed the new handles.
+
+2006-08-23  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: MdiClient is always at the back of the bus
+       * Control.cs: When the order of items in the collection is changed
+       we need to reset the all_controls array
+       - do the same sorta setup thats done when adding a control when a
+       control is set on the collection.
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs (get_Text): Return an empty array if our document
+         is empty (fixes #79052)
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: We should call IsInputChar on only on WM_CHAR but not
+         on WM_SYSCHAR messages (fixes #79053)
+
+2006-08-23  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: fix flickering when scrolling vertically.
+
+2006-08-23  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (EndEdit): only invalidate the row header when we
+       need to.
+
+2006-08-23  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: fix the clip munging of the datagrid paint
+       methods.  fixes the flicker when scrolling around.
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * FileDialog.cs: Making sure the control is created before we get a 
+         chance to use it with BeginInvoke (Fixes #79096)
+
+2006-08-23  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs (DataGridPaintRows): calculate the proper
+       width to use when painting the rows.
+
+2006-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs:
+         - Throw ArgumentException if a negative value is passed to SelectionLength
+         - Update the selection end if start is moved. end needs to be always
+           after start. (Fixes #79095)
+         - Track selection length; MS keeps the selection length even if start
+           is changed; reset on all other operations affection selection
+
+2006-08-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make sure both scrollbars get displayed and sized
+       correctly when the other bar is visible.
+       - Use the original clip rectangle for checking if the area between
+       the two scrollbars is visible, not the viewport adjusted clipping
+       rectangle.
+
+2006-08-22  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: We don't use IsBinding because it requires the
+       control to be created, which really shouldn't be necessary just to
+       set a property on the control.
+
+2006-08-21  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Some CB.ObjectCollection methods must throw
+       ArgumentNullReferenceException when the argument is null.
+
+2006-08-21  Jackson Harper  <jackson@ximian.com>
+
+       * Timer.cs: Track the thread that the timer is started in (NOT
+       CREATED), this way messages for it will only be triggered on its
+       queue.
+       * XEventQueue.cs: Track the timers here, this makes timers per
+       thread, like MS.
+       * XplatUIX11.cs: The timers are moved to the XEventQueue.
+
+2006-08-19  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: after further communication with pdb, we get the
+       best of both worlds.  SetZOrder working for un-Mapped windows, and
+       no X errors for un-mapped windows.
+
+2006-08-19  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs (SetZOrder): remove the if (!hwnd.mapped) check,
+       as it was causing pdn toolbars to not have the correct stacking.
+
+2006-08-18  Mike Kestner  <mkestner@novell.com> 
+
+       * ListView.cs : guard against negative ClientArea.Width in scrollbar
+       calculation.  Not sure why control should ever be setting a negative
+       width though.  Fixes #78931.
+
+2006-08-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ComboBox.cs: Throw ArgumentNullException when adding/modifyng
+       null items in ObjectCollection class.
+       * ListBox.cs.: Likewise.
+
+2006-08-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ThemeNice.cs, ThemeClearlooks.cs : remove RadioButton_DrawFocus()
+         as the base method in ThemeWin32Classic should work fine.
+         Fixed bug #78607.
+
+2006-08-18  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: When validating if the value entered doesn't convert
+       properly reset to the old value.
+       * RadioButton.cs: Don't fire click when we get focus.
+
+2006-08-18  Jackson Harper  <jackson@ximian.com>
+
+       * FileDialog.cs: Paint the selection on the directory combobox the
+       same way as on MS. 
+
+2006-08-17  Jackson Harper  <jackson@ximian.com>
+
+       * ErrorProvider.cs: Don't allow the error control to be selected.
+       * Control.cs: Don't send the SetFocus messages, the control
+       activation will do this, and if we do it blindly here validation
+       does not work.
+
+2006-08-17  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs:
+       * ContainerControl.cs: Make validation events fire in the correct
+       order.  TODO: For some reason the first validation event is not
+       getting fired.
+
+2006-08-17  Mike Kestner  <mkestner@novell.com> 
+
+       * ComboBox.cs : some null guarding for ComboListBox.Scroll.
+
+2006-08-17  Mike Kestner  <mkestner@novell.com> 
+
+       * ComboBox.cs : implement scroll wheel support for popped-down
+       state. Fixes #78945. 
+
+2006-08-17  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Specify treeview actions (old patch that didn't get
+       committed for some reason).
+       - Don't let the mouse wheel scroll us too far.  Just want to make
+       the bottom node visible, not scroll it all the ways to the top.
+
+2006-08-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Mouse wheel events go to the focused window.
+
+2006-08-17  Mike Kestner  <mkestner@novell.com> 
+
+       * ComboBox.cs : don't do mouseover selection in simple mode.
+
+2006-08-16  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Fire the closing events for all the mdi child windows
+       when a window is closed.  If the cancel args are set to true, the
+       main window still gets the event fired, but it doesn't not close.
+       * MdiWindowManager.cs: Do this closing cleanup in a Closed
+       handler, instead of when the button is clicked, so cancelling the
+       close works correctly.
+       * ComboBox.cs: Send the mouse down to the scrollbar.
+
+2006-08-16  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: When passing 'null' to SelectedItem,
+       set SelectedIndex to -1, to unselect items. This is the
+       observed behaviour in .Net.
+
+2006-08-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Overriding HandleClick to get clicks in spite of
+         MS flags saying there won't be any. (fixes #78800)
+       * Control.cs (HandleClick): Made virtual
+
+2006-08-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * PageSetupDialog.cs : use Yard-Pound units only in en-GB and en-US
+         cultures. Fixed bug #78399.
+
+2006-08-16  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Use the MdiClients MdiChildren property to access
+       MdiChildren instead of creating the array from the child controls.
+       * MdiClient.cs: Maintain a separate array of the mdi children, so
+       that insertion order is maintained when the Z-order is changed.
+
+2006-08-16  Mike Kestner  <mkestner@novell.com> 
+
+       * ListView.cs : add an ItemComparer and default to it for sorting.
+       Fixes #79076, but sorting needs a complete overhaul to be compat with
+       MS.
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (SetZOrder): Fix debugging leftover (fixes #79080)
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs (Mapped): Properly traverse the tree
+
+2006-08-15  Chris Toshok  <toshok@ximian.com>
+
+       * Binding.cs: fix PullData/SetPropertyValue.  We don't want to
+       pass manager.Current.GetType() to ParseData.  It has to be the
+       property type.  So, hold off doing the ParseData until we're in
+       SetPropertyValue where we know the type.  This fixes the crash in
+       #78821 but the textbox is still empty.
+
+2006-08-15  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs:
+       - when we're scrolling, only call Edit() again if the
+       current cell is still unobscured. Fixes bug #78927.
+       - when handling mousedown on a cell, ensure the cell is visible
+       before calling Edit.
+       - remove the properties from DataGridRow, and remove the
+       DataGridParentRow class altogether.
+       
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs (set_Text): Don't use base.Text, instead just
+         fire OnTextChanged by ourselves. There's no point calling base,
+         we don't set the base value anywhere else. Fixes #78773.
+
+2006-08-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Call CollectionChanged when modifying
+       an item from Items indexer, to update the actual items
+       in the list box.
+
+2006-08-15  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintDialog.cs: Small fixes for focus and a pair of checks,
+       to match .Net behaviour.
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (SetZOrder): Handle raising toplevel windows
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Handle BringToFront for toplevel windows (Fixes #78737)
+
+2006-08-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * MessageBox.cs: Prevent potential NRE exception.
+       * TextBoxBase.cs: AutoSize only applies if MultiLine is false. Fixes #78889
+
+2006-08-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * MessageBox.cs: Calculate the owner of a messagebox, also make
+         it topmost. Fixes #78753
+
+2006-08-14  Chris Toshok  <toshok@ximian.com>
+
+       * XplatUIX11.cs: A couple of fixes so that metacity will let us
+       programmatically move windows.  first, set the PPosition hint as
+       well as the USPosition hint.  Second include some code from pdb
+       that sets the window type to NORMAL when we set the transient for
+       hint.  This is because, in the absence of a window type, metacity
+       thinks any window with TransientFor set is a dialog, and refuses
+       to let us move it programmatically.  fascists.
+
+2006-08-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: When setting normal hints, take into consideration
+         an different hints previously set so we don't delete them (fixes #78866)
+
+2006-08-12  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs: make Layout return a boolean, if something to
+       do with the button's layout changed.
+
+       * ToolBar.cs:
+       - add another parameter to Redraw, @force, which all existing
+         calls set to true.
+       - make the Layout function return a boolean which is true if the
+         layout has actually changed.  Redraw now uses this (and @force)
+         to determine when to invalidate.  At present the only place
+         where @force can be false is the call from OnResize, when
+         background_image == null.  So, resizing a toolbar when the
+         layout doesn't change results in no drawing.
+
+2006-08-12  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: fix the bottom right corner painting.  had
+       the VScrollBar and HScrollbar reversed.  oops.
+
+       * DataGrid.cs: fix the logic that assigns sizes to the implicit
+       scrollbars.  we were assigning them twice (once in
+       Calc{Horiz,Vertical}Scrollbar, and once in CalcGridAreas),
+       therefore causing two scrollbar resizes (and redraws?) to happen
+       per grid resize.
+
+2006-08-12  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs: redraw the entire button if the theme tells us
+       to.
+
+       * Theme.cs: add ToolBarInvalidateEntireButton.
+
+       * ThemeWin32Classic.cs: we don't need to redraw the entire toolbar
+       buttons, just the border.
+
+       * ThemeNice.cs: redraw the entire toolbar button since we need to
+       draw the highlight image.
+
+       * ThemeClearlooks.cs: the rounded corners of toolbar buttons mean
+       we need to redraw the entire button (not just the border).
+
+2006-08-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs (CalculateScrollbars): Set the proper thumb size
+         for vertical bars. Fixes the mismatches shown by #78513
+
+2006-08-11  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: If a saved/remembered path doesn't exist
+         anymore, fall back to "Desktop".
+
+2006-08-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs (CreateParams): Don't use Parent.Handle unless we have a
+         parent. It's apparently legal to not have one
+       * XplatUIX11.cs:
+         - SetZOrder: Don't try to set Z-Order on an unmapped window
+         - CreateWindow: 0,0 are legal coordinates for a window. don't move
+           it unless the coordinates are negative
+
+2006-08-10  Mike Kestner  <mkestner@novell.com>
+
+       * ListControl.cs: allow null for DataSource.  Clear DisplayMember
+       when setting to null per msdn docs.  Fixes #78854.
+
+2006-08-10  Chris Toshok  <toshok@ximian.com>
+
+       * Menu.cs, MainMenu.cs, MenuAPI.cs: get rid of most of the
+       flickering by setting a clip rectangle on the Graphics when we
+       need to redraw just a particular menuitem.  Also, rename "OnClick"
+       to "OnMouseDown" to reflect what it actually is.
+       
+       * Form.cs: track the OnMouseDown change.
+
+2006-08-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * CommonDialog.cs: Properly inherit the CreateParams from the form
+         and only change what we need. Fixes #78865
+
+2006-08-10  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBar.cs, ToolBarButton.cs: fix the redraw-on-highlight
+       flickering in flat mode (and most of the flickering in general) by
+       only invalidating the button border (and not the entire rectangle)
+       when the state changes.  A couple of cases still flicker:
+       ToggleButtons, and the dropdown arrow case when the user mouse
+       ups.
+
+2006-08-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * X11Keyboard.cs: Fixed handling of the Del key on the cursorblock
+         for german keyboards. Numlock state shouldn't affect the behaviour
+         of the Del key. Fixes bug #78291.
+
+2006-08-10  Chris Toshok  <toshok@ximian.com>
+
+       * ListControl.cs: remove the items.Clear line from BindDataItems,
+       as this is the first thing done by both subclasses in their
+       SetItemsCore overrides.  Also, add a ItemChanged handler, and when
+       passed -1, refresh the list.  This gets databinding working when
+       the datasource is set on the list before the datasource is
+       populated (as in wf-apps/ReportBuilder.)
+
+       * ComboBox.cs: remove the argument to BindDataItems.  This call
+       should really go away, and be initiated by the ListControl code.
+
+       * ListBox.cs: same.
+
+2006-08-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs (Document.ctor): Initialize caret so we don't crash
+         if no data is in the document when the control is displayed
+
+2006-08-09  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Don't try moving the caret if we don't have a window
+         yes (fixes #78806)
+       * TextControl.cs: 
+         - PositionCaret: Allow positioning of caret but don't call methods 
+           requiring a handle if the window isn't created yet
+         - CharIndexToLineTag: Fix ending loop early error. Lines is 1 based
+         - owner_HandleCreated: Don't position the caret, just update it's 
+           location. User might have already set a different position
+
+2006-08-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Don't use the desktop as basis for foster-parented
+         windows. Screws up the returned coordinates for child windows. 
+         Fixes #78825. I'm hoping this doesn't break something, since the
+         code was explicitly put in 8 months ago, but no bug was attached.
+         Menus still seem to work properly.
+
+2006-08-08  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: make BeginInit/EndInit actually do what they're
+       supposed to do - delay data binding until the EndInit call.  Also,
+       make the table style collection's CollectionChangeAction.Refresh
+       work properly.
+
+       * GridTableStylesCollection.cs: raise a CollectionChangeEvent
+       (with action = Refresh) when a consituent table's MappingName is
+       changed.
+
+2006-08-08  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs: in set_Text, call Parent.Redraw, not
+       Invalidate, since changing the text can change the size of the all
+       toolbar buttons.
+
+2006-08-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs (AddOwnedForm): Still need to add the form to our listif
+         we don't have it yet
+
+2006-08-08  Chris Toshok  <toshok@ximian.com>
+
+       * PrintControllerWithStatusDialog.cs: don't .Close() the status
+       dialog, as this causes X errors later on, since we actually
+       destroy the window.  Instead, .Hide() it.
+
+2006-08-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ComboBox.cs: Added focus reflection for popup window
+       * XplatUIX11.cs: 
+         - Removed transient setting for non-app windows for now, not sure it
+           was needed
+         - Fixed logic checking if we have captions when deciding 
+           override_redirect, WS_CAPTION is two bits and a 0 check was not
+           sufficient
+         - Removed the WINDOW_TYPE stuff, it was unneeded and making things
+           complicated
+       * Form.cs: 
+         - AddOwnedForm: Don't just add the form to the list, call the property
+           to ensure the driver is informed about the ownership as well
+         - CreateHandle: Set the TopMost status in the driver if we have an owner
+       * XplatUI.cs: Fixed debug statement
+
+2006-08-08  Jonathan Pobst <monkey@jpobst.com>
+       * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs
+         GroupBoxRenderer.cs, ProgressBarRenderer.cs, RadioButtonRenderer.cs,
+         ScrollBarRenderer.cs, TabRenderer.cs, TextBoxRenderer.cs, 
+         TrackBarRenderer.cs: Make constructor private.
+       * ProfessionalColors.cs, ProfessionalColorTable.cs: Fix misnamed properties.
+       * ProfessionalColorTable.cs: Make properties virtual.
+
+2006-08-06  Duncan Mak  <duncan@novell.com>
+
+       * NumericUpDown.cs (Value): Don't call OnValueChanged if the value
+       is not changing.
+
+2006-08-04  Jonathan Pobst <monkey@jpobst.com>
+       * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs
+         GroupBoxRenderer.cs, ProfessionalColors.cs, ProfessionalColorTable.cs,
+         ProgressBarRenderer.cs, RadioButtonRenderer.cs, ScrollBarRenderer.cs,
+         TabRenderer.cs, TextBoxRenderer.cs, TextRenderer.cs, TrackBarRenderer.cs:
+         Initial import of new 2.0 classes.
+
+2006-08-04  Jonathan Pobst <monkey@jpobst.com>
+       * Application.cs: Add 2.0 VisualStyles properties.
+
+2006-08-04  Jonathan Pobst <monkey@jpobst.com>
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: Create property to allow access to existing private
+         variable "themes_enabled"
+
+2006-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: generate the MemoryStreams with the exact BMP
+       file size, as otherwise our class libraries fail using windows. Fixes
+       bug #78759.
+
+2006-08-04  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs:
+       * XplatUIX11.cs: Move the toolwindow window manager creation into
+       the X11 driver, this way on win32 we can let windows create/handle
+       the toolwindows.
+
+2006-08-04  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintDialog.cs: Remove some redundant checks, add some others,
+       clean some code, and move the focus to the text boxes when the
+       values are incorrect.
+
+2006-08-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FontDialog.cs: Remove Form.MinimumSize. It's not needed.
+
+2006-08-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * NumericUpDown.cs: Setting the Minimum and Maximum is now
+         handled correctly. Fixes bug #79001.
+
+2006-08-03  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintDialog.cs: The "Copies" numeric up down must have
+       set the Minimum property to 1; only if the value is bigger
+       than 1, activate "Collate" check box. This is the behaviour of .Net.
+       Also modify the Document elements only if it is not null.
+
+2006-08-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Fix copyto to use the correct nodes
+       length. (We have a larger array then actual node count).
+               
+2006-08-03  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Don't show selection by default.
+       - The SelectAll isn't needed here, since the focus code should do
+       that
+       - DDL style lists to manual selection drawing, so when they
+       get/lose focus they have to invalidate.
+
+2006-08-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Don't always show all selections by default.
+
+2006-08-03  Jonathan Pobst  <monkey@jpobst.com>
+       * ControlUpdateMode.cs, DataSourceUpdateMode.cs,
+         HelpNavigator.cs, WebBrowserEncryptionLevel.cs:
+         Fixed various typos.
+
+2006-08-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Control.cs: Removing the controls in a ControlCollection with
+         Clear now hides the controls as expected. Fixes bug #78804. 
+
+2006-08-03  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Revert previous focus patch, it breaks reflector.
+
+2006-08-03  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Cleanup selection and focus with the combobox.
+       This also eliminates some duplicated keyboard code, since now
+       everything is handled by the main class.
+       - Make list selection work on mouse up instead of down, to match
+       MS.
+
+2006-08-02  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Setting focus needs to go through the whole
+       selection mechanism.
+
+2006-08-02  Chris Toshok  <toshok@ximian.com>
+
+       * PrintPreviewDialog.cs: change MinimumSize to use
+       base.MinimumSize so it works.
+
+2006-08-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - UpdateCaret: Added sanity check in case caret isn't defined yet
+         - Line.Delete: Now updating selection and caret markers if we're
+           transfering a node (Properly fixes #78323)
+         - SetSelectionEnd: Added sanity check
+       * TextBoxBase.cs: Removed broken attempt to fix #78323
+
+2006-08-01  Chris Toshok  <toshok@ximian.com>
+
+       * PrintPreviewDialog.cs: the CancelEventArgs stuff surrounding the
+       Close() call is handled in Form, not here.
+
+2006-08-01  Chris Toshok  <toshok@ximian.com>
+
+       * Theme.cs, ThemeWin32Classic.cs: fix the PrintPreviewControl
+       layout/rendering.
+
+       * PrintPreviewDialog.cs: add scrollbars, and add an image cache
+       for sizes < 100% zoom.  The code now aggressively attempts to keep
+       from calling document.Print (), and tries not to use the scaling
+       g.DrawImage whenever possible (it still does if you scale to >
+       100%, since usually that involves huge images).
+
+       * PrintPreviewControl.cs: hook up the close button.
+
+2006-08-01  Jonathan Pobst  <monkey@jpobst.com>
+       * ColumnClickEventHandler.cs, DrawItemEventHandler.cs,
+         ItemChangedEventHandler.cs, ItemCheckEventHandler.cs,
+         ItemDragEventHandler.cs, LabelEditEventHandler.cs,
+         LinkClickedEventHandler.cs, LinkLabelLinkClickedEventHandler.cs,
+         MeasureItemEventHandler.cs, MethodInvoker.cs, PaintEventHandler.cs,
+         PropertyTabChangedEventHandler.cs, PropertyValueChangedEventHandler.cs,
+         SelectedGridItemChangedEventHandler.cs, ToolBarButtonClickEventHandler.cs:
+         Removed [Serializable] for 2.0 Event Handlers.
+
+2006-07-31  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Make ShowSelection invalidate when changed.
+       * TextControl.cs: Uncomment out the body of this method.
+
+2006-07-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * XplatUIX11.cs: Use the correct cursor shapes for arrow and default
+         standard cursors.
+
+2006-07-31  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Added internal property ShowSelection to allow controls
+         that embed TextBox and need selections visible even if textbox is not
+         focused to enforce that behaviour.
+       * TextControl.cs (Draw): Use ShowSelection instead of has_focus to determine
+         selection drawing
+
+2006-07-31  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - Added new SetSelectionStart/SetSelectionEnd overloads
+         - Fixed viewport width assignment to be accurate
+         - Adjusted alignment line shift calculations to allow cursor on right
+           aligned lines to be always visible at the right border (like MS)
+       * TextBoxBase.cs:
+         - SetBoundsCore: Re-adjust caret location after resize (Fixes #78323)
+         - TextBoxBase_SizeChanged: recalculating canvas on size changes
+         - CalculateScrollBars: Use ViewPort size instead of window size, to
+           properly consider space occupied by the border and scrollbars 
+           (Fixes #78661)
+         - hscroll_ValueChanged, vscroll_ValueChanged: Fixed scroll 
+           calculations; no longer leaves artifacts
+         - CaretMoved: Adjusted window scrolling to match MS and fixed several
+           calculation bugs (Still missing right/center align calculations)
+
+2006-07-31  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XPlatUIWin32.cs: Made ScrollRectEx a bit more flexible, and removed
+         use of both scroll rect and clip rect, as they do the same.
+
+2006-07-31  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (WM_CHAR WndProc): 2.0 profile allows changing the key 
+         in the event handler (fixes #78912)
+
+2006-07-31  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: use grid.RowsCount here instead of
+       grid.ListManager.Count, since grid.ListManager might be null.
+       This of course begs the question "why are we drawing rows for a
+       grid with no list manager (and therefor no rows)?"  Fixes the
+       crash in bug #78929.
+
+2006-07-31  Chris Toshok  <toshok@ximian.com>
+
+       * RelatedPropertyManager.cs: Don't always chain up to the parent
+       ctor.  instead, call SetDataSource if the parent's position is !=
+       -1.  Fixes the crash in #78822.
+
+2006-07-31  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (get_ListManager): use field instead of property
+       accessors for datasource and datamember.
+       (RowsCount): make internal again.
+       (OnMouseDown): end edits before resizing columns/rows.
+       (OnMouseUp): restart edits after resizing columns/rows.
+
+2006-07-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Default cursor cannot be 0 or it will not get set.
+         This fixes the situation where the last set cursor is displayed
+         whenever the mouse is over scrollbars.
+
+2006-07-30  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * PrintDialog.cs: Fix the behaviour of PrinterSettings and
+       Document properties, as well as initial values.
+
+2006-07-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs (SetBorderStyle): Setting both border
+         and ClientEdge results in a 3-pixel border, which is
+         wrong.
+
+2006-07-28  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Fix the clear method.
+       - Fix the Shrink also
+
+2006-07-27  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make sure the visible order is computed when we
+       attempt to size the scrollbars (for trees that mess with the
+       scrolling when they shouldn't.
+       - Make sure to give the scrollbars valid values.
+
+2006-07-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Move motion compression code to where it
+         has less performance impact
+
+2006-07-26  Jackson Harper  <jackson@ximian.com>
+
+       * UpDownBase.cs: When the control is selected make the child
+       controls non selectable, so that a click on them won't do a
+       focus/unfocus cycle.
+       - Don't give focus to the text box when the spinner is selected.
+       * XEventQueue.cs: Peek on both the x11 queue and the lock queue.
+
+2006-07-26  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: add print preview rendering.  I'm not
+       satisfied with this solution.  If the bitmaps are small, we should
+       just cache them in the PrintPreviewDialog and draw them here.
+       Also, the layout is broken for the 2-up and 3-up cases.
+
+       * Theme.cs: add PrintPReviewControlPaint.
+
+       * PrintPreviewDialog.cs: first pass implementation.
+
+       * PrintPreviewControl.cs: first pass implementation.  No
+       scrollbars yet.
+
+       * PrintDialog.cs: only validate fields if that particular portion
+       of the UI is enabled.  Also, set the document's controller to a
+       PrintControllerWithStatusDialog wrapping the document's print
+       controller.
+
+       * PrintControllerWithStatusDialog.cs: if we're printing to a file,
+       bring up a SaveFileDialog (i hope we don't want to match the
+       behavior of the crappy windows file entry) and set the
+       PrinterSettings.PrintFileName accordingly.
+
+2006-07-26  Jackson Harper  <jackson@ximian.com>
+
+       * ContainerControl.cs: Add a field that disables auto selecting
+       the next control in a container when the container is activated.
+       * UpDownBase.cs: Don't select the text box when the up down is
+       selected.
+
+2006-07-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XEventQueue.cs: Added methods for peeking (used for compression
+         of successive events)
+       * XplatUIX11.cs (GetMessage): We're now compressing consecutive
+         mouse move events (fixes #78732)
+
+2006-07-25  Jackson Harper  <jackson@ximian.com>
+
+       * UpDownBase.cs: Use an internal class for the textbox so that we
+       can control focus.  the updown control should always have focus,
+       if either the text area or the buttons are clicked.
+       - Send the key messages to the textbox, since it never actually
+       has focus
+       - Activate and decativate the textbox caret.
+
+2006-07-24  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Use the directed select when selecting a control,
+       this way the container controls override will get called and the
+       whole ActiveControl chain will get triggered.  TODO: probably need
+       to make sure this gets done everywhere instead of the old
+       Select(Control).
+       * ContainerControl.cs: Implement the directed Select method to
+       find and activate the correct child control.    
+       
+2006-07-22  Mike Kestner  <mkestner@novell.com>
+
+       * Form.cs: use Control.MousePosition for NCLBUTTONDOWN in the menu
+       menu handling code so that clicks without a grab work too.
+       [Fixes #78914]
+
+2006-07-22  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Enable the BackButton when dirstack has one element.
+         Added some small optimizations.
+
+2006-07-21  Matt Hargett  <matt@use.net>
+
+       * Control.cs: Implemented 2.0 MinimumSize/MaximumSize properties
+
+2006-07-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs (GetNextControl): Fixes to make all of Jackson's unit 
+         tests pass and match MS in some strange border cases.
+
+2006-07-21  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: handle drawing of the relation links and
+       parent row buttons.
+
+       * Theme.cs: change args to DataGridPaintParentRow.
+
+       * DataGrid.cs: Don't use controls for the relation links and
+       parent buttons, so we have to handle all their interactions in
+       MouseMove, MouseDown, MouseUp, etc.  Also, store a lot more stuff
+       when we're navigating through child tables, so we can reinstate
+       selection, expanded state, current cell, etc.
+
+2006-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBar.cs: When we redraw a button, for whatever reason,
+       there's no reason to redraw the entire toolbar.  Also, don't call
+       Control.Refresh from within Redraw, as it's much heavier than
+       Invalidate (which is really what we want).
+
+2006-07-20  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs, CurrencyManager.cs, DataGridColumnStyle.cs,
+       DataGridTextBoxColumn.cs, DataGridTextBox.cs,
+       ThemeWin32Classic.cs, ListControl.cs: After staring at stack
+       traces from within a debug IBindingList datasource
+       (in mono/winforms/datagrid) for *days*, I've finally gotten things
+       to work in a similar fashion.
+
+2006-07-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListBox.cs: Don't call Sort () when setting 
+       the Sorted property to false (avoid an unnecessary sort).
+
+2006-07-20  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: DataSource should throw an ArgumentException
+       instead of a normal exception when the argument is not of the 
+       correct type.
+
+2006-07-20  Mike Kestner  <mkestner@novell.com>
+
+       * Control.cs: add InternalPreProcessMessage to allow us to steal
+       key events before MWF gets its paws on them.  Adapted from a
+       suggestion by eno.
+       * ToolBar.cs: add GotLostFocus handing for flat toolbars, with 
+       up/down/left/right navigation. Override the new internal control
+       method to steal the events since they never make it to WndProc.
+       * ToolBarButton.cs: don't worry about pushed when setting hilight
+       since the drawing code prefers pushed to hilight. Invalidate on 
+       Hilight changes. Fixes #78547 and #78525.
+
+2006-07-20  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ScrollableControl.cs: Consider AutoScrollMinSize when calculating
+         the canvas size. Fixes #78868
+
+2006-07-20  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Splitter.cs: Track requested split position until first layout
+         is performed. Fixes #78871
+
+2006-07-20  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Application.cs: Removed code that forces 1.x for the version
+         number if the version started with 0. Not sure why that code was
+         there and I couldn't find any bugs that indicated we needed it.
+         Fixes #78869
+
+2006-07-20  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Don't throw a NotImplementedException in
+         ResetDefaults(), just write some output to the console until it's
+         implemented. Fixes bug #78907 for now. Eliminated two warnings.
+
+2006-07-19  Jonathan Chambers  <joncham@gmail.com>
+
+       * PropertyGridView.cs: set StartPosition of drop down forms
+       so they appear in correct initial spot.  Fixes #78190.
+
+2006-07-19  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: use parent background color when drawing
+       flat toolbars.  Restructure the conditionals to make sure non-flat
+       non-Divider toolbars are filled too.  Fixes #78837.
+
+2006-07-19  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs: Sort on collection changes even if the handle
+       isn't created yet.  Fixes #78813.
+
+2006-07-18  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * ListControl.cs: DisplayMember should never be null,
+       and now we assign String.Empty when null is passed to it (this
+       is the .Net way).
+
+2006-07-17  Mike Kestner  <mkestner@novell.com>
+
+       * ListViewItem.cs: restructure Font and subitem Font handling 
+       to hold a specific font and refer back to owner on null.
+       Fixes #78761.
+
+2006-07-17  Mike Kestner  <mkestner@novell.com>
+
+       * ToolBar.cs: bandaid for side-effect of previous patch which was
+       discarding explicit heights for non-AutoSize toolbars.  Need to
+       extend my format tester to deal with AutoSize=false. Fixes #78864.
+
+2006-07-15  Jackson Harper  <jackson@ximian.com>
+
+       * LabelEditTextBox.cs:
+       * TreeView.cs: Use a new LabelEdit class for node editing, this
+       class automatically 'closes' itself when it gets the enter key or
+       loses focus.
+       - Use the client rectangle when setting the trees scrollbars, so
+       border style is taken into account.
+       
+2006-07-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs:
+       * TreeView.cs: Make the editing work similar to MSs, firing the
+       events correctly and ending edits correctly.
+
+2006-07-14  Mike Kestner  <mkestner@novell.com>
+
+       * ToolBarButton.cs:
+       * ToolBar.cs: layout restructuring and redraw enhancements to support
+       formatting changes gracefully, like setting TextAlign, ImageList, 
+       ButtonSize, and Appearance.  Handles explicit button sizing quirks
+       of the MS controls.  Things like flat toolbars ignoring button size
+       but becoming constant sized at the largest button's size.  Normal
+       toolbars with an image set cannot be shrunk smaller than the image,
+       but text can be clipped/ignored.
+       * ThemeWin32Classic.cs: don't draw text if text_rect height or width
+       is zero.  Seems like DrawString should be smart enough to not put
+       anything on screen though. Also trim labels and ellipsize at the char
+       boundary, not word.
+       Fixes #78711 and #78483.
+
+2006-07-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FolderBrowserDialog.cs: Disable "New Folder" button and
+         "New Folder" contextmenu menuitem if a folder like "My Computer"
+         is selected.
+
+2006-07-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't create a new folder in "MyComputer" folder.
+       * FolderBrowserDialog.cs:
+         - Use MWFConfig to store and read size and position settings
+         - Added code to create a new folder (button or context menu).
+           Use TreeView labeledit to change the name of the new folder.
+
+2006-07-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Raise the OnAfterLabelEdit event correctly.  Also,
+       when the tree is scrolled we end editing.
+
+2006-07-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Fixed position of CPDrawScrollButton Up and
+         Down arrows
+
+2006-07-14  Jonathan Pobst  <monkey@ipobst.com> 
+
+       WebBrowserProgressChangedEventHandler.cs, BindingCompleteEventArgs.cs,
+       BindingCompleteEventHandler.cs, BindingManagerDataErrorEventArgs.cs,
+       BindingManagerDataErrorEventHandler.cs, CacheVirtualItemsEventArgs.cs,
+       CacheVirtualItemsEventHandler.cs, ColumnReorderedEventArgs.cs,
+       ColumnReorderedEventHandler.cs, ColumnWidthChangedEventArgs.cs,
+       ColumnWidthChangedEventHandler.cs, ColumnWidthChangingEventArgs.cs,
+       ColumnWidthChangingEventHandler.cs, FormClosedEventArgs.cs,
+       FormClosedEventHandler.cs, FormClosingEventArgs.cs,
+       FormClosingEventHandler.cs, ItemCheckedEventArgs.cs,
+       ItemCheckedEventHandler.cs, ListControlConvertEventArgs.cs,
+       ListControlConvertEventHandler.cs, ListViewItemMouseHoverEventArgs.cs,
+       ListViewItemMouseHoverEventHandler.cs, ListViewItemSelectionChangedEventArgs.cs,
+       ListViewItemSelectionChangedEventHandler.cs,
+       ListViewVirtualItemsSelectionRangeChangedEventArgs.cs,
+       ListViewVirtualItemsSelectionRangeChangedEventHandler.cs,
+       MaskInputRejectedEventArgs.cs, MaskInputRejectedEventHandler.cs,
+       PopupEventArgs.cs, PopupEventHandler.cs, PreviewKeyDownEventArgs.cs,
+       PreviewKeyDownEventHandler.cs, RetrieveVirtualItemEventArgs.cs,
+       RetrieveVirtualItemEventHandler.cs, SearchForVirtualItemEventArgs.cs,
+       SearchForVirtualItemEventHandler.cs, SplitterCancelEventArgs.cs,
+       SplitterCancelEventHandler.cs, TabControlCancelEventArgs.cs, 
+       TabControlCancelEventHandler.cs, TabControlEventArgs.cs, 
+       TabControlEventHandler.cs, TableLayoutCellPaintEventArgs.cs,
+       TableLayoutCellPaintEventHandler.cs, ToolStripDropDownClosedEventArgs.cs,
+       ToolStripDropDownClosedEventHandler.cs, ToolStripDropDownClosingEventArgs.cs,
+       ToolStripDropDownClosingEventHandler.cs, TreeNodeMouseClickEventArgs.cs,
+       TreeNodeMouseClickEventHandler.cs, TreeNodeMouseHoverEventArgs.cs,
+       TreeNodeMouseHoverEventHandler.cs, TypeValidationEventArgs.cs,
+       TypeValidationEventHandler.cs, WebBrowserDocumentCompletedEventArgs.cs,
+       WebBrowserDocumentCompletedEventHandler.cs, WebBrowserNavigatedEventArgs.cs,
+       WebBrowserNavigatedEventHandler.cs, WebBrowserNavigatingEventArgs.cs,
+       WebBrowserNavigatingEventHandler.cs, 
+       WebBrowserProgressChangedEventArgs.cs: New 2.0 Event Handlers
+
+2006-07-14  Jonathan Pobst  <monkey@ipobst.com>
+
+       MergeAction.cs, PowerLineStatus.cs, PowerState.cs, PreProcessControlState.cs,
+       RichTextBoxLanguageOptions.cs, ScreenOrientation.cs, ScrollOrientation.cs,
+       SearchDirectionHint.cs, SystemParameter.cs, TabControlAction.cs,
+       TableLayoutPanelCellBorderStyle.cs, TextDataFormat.cs, TextImageRelation.cs,
+       ToolStripDropDownCloseReason.cs, ToolStripDropDownDirection.cs,
+       ToolStripGripDisplayStyle.cs, ToolStripGripStyle.cs,
+       ToolStripItemAlignment.cs, ToolStripItemDisplayStyle.cs,
+       ToolStripItemImageScaling.cs, ToolStripItemOverflow.cs,
+       ToolStripItemPlacement.cs, ToolStripLayoutStyle.cs,
+       ToolStripManagerRenderMode.cs, ToolStripRenderMode.cs,
+       ToolStripStatusLabelBorderSides.cs, ToolStripTextDirection.cs,
+       ToolTipIcon.cs, TreeNodeStates.cs, TreeViewDrawMode.cs,
+       TreeViewHitTestLocations.cs, UnhandledExceptionMode.cs, ValidationConstraints.cs,
+       WebBrowserEncryptionLevel.cs, WebBrowserReadyState.cs, WebBrowserRefreshOption.cs,
+       ArrowDirection.cs, AutoCompleteMode.cs, AutoCompleteSource.cs, AutoSizeMode.cs,
+       AutoValidate.cs, BatteryChargeStatus.cs, BindingCompleteContext.cs,
+       BindingCompleteState.cs, CloseReason.cs, ColumnHeaderAutoResizeStyle.cs,
+       ControlUpdateMode.cs, DataSourceUpdateMode.cs, DockingBehavior.cs,
+       FixedPanel.cs, FlowDirection.cs, GetChildAtPointSkip.cs,
+       HtmlElementInsertionOrientation.cs, InsertKeyMode.cs, ListViewHitTestLocations.cs,
+       ListViewItemStates.cs, MaskFormat.cs: Added
+
+2006-07-13  Jonathan Chambers  <joncham@gmail.com>
+
+       * PropertyGridView.cs: Fix keyboard navigation of drop down.
+       Patch from eno for bug 78558.
+       
+2006-07-13  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When an edit is finished make sure that the
+       selected node is visible.
+       - When setting the top/bottom use the scrollbars is_visible, so
+       everything will be set correctly even if the tree isn't visible
+       yet.
+
+2006-07-13  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Revert the item->index part of my previous patch.
+       * TreeView.cs: Use LostFocus instead of Leave for detecting when
+       the edit box has lost focus (duh).
+       - Just make the edit box not visible when we get return, that will
+       take the focus, which will call EndEdit
+       * TreeNode.cs When we start editing, notify the treeview.
+
+2006-07-12  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Clear out old items before setting the item list.
+       This prevents databound controls from having their items added
+       twice.
+       - Switch the combobox to use indices whereever possible instead of
+       using Item's.  This allows usto navigate through lists that have
+       more then one item with the same string value (ie a, b, b, a).
+       - Scroll the listboxes scrollbar when a non visible item is
+       highlighted
+       - Allow keypress to cycle through all the possible values. For
+       example if you have b1, b2, b3 and hold down the B key all the
+       values will be cycled through.
+       
+2006-07-12  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs:
+       * ListView.cs: Don't need to override SETFOCUS anymore, we can do
+       this using the internal methods.
+       * Control.cs: Add OnGotFocusInternal.  A new method that allows
+       controls to "override" OnGotFocus and change focus behavior if
+       needed.
+       - Same thing for LostFocus
+       * ComboBox.cs: Pass off focus to the text control properly.
+
+2006-07-12  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Added GetFoldersOnly to MWFVFS
+       * FolderBrowserDialog.cs: Almost a complete rewrite.
+         - Better support for Environment.Specialfolders
+         - Added support for MWFVFS
+         - Made setting SelectedPath work
+
+2006-07-12  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Optimze getting all the controls.
+
+2006-07-11  Jackson Harper  <jackson@ximian.com>
+
+       * ContainerControl.cs: Override SETFOCUS in the container control,
+       so that it is not selected on mouse click.
+
+2006-07-11  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * LinkLabel.cs: Hack to handle Shift-Tabbing to the linklabel. 
+         Hopefully we will have a better way once all of focus is complete.
+
+2006-07-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: Commented out some debug code and fixed
+         a compile error with csc.
+
+2006-07-11  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: When hiding a control only select the next control
+       if the current control was focused.
+       - Don't handle enter/leave when setting/killing focus, this is
+       done by the container control.
+       - Remove is_selected, it's not needed anymore.
+       - Add utility methods for selecting a child control, and for
+       firing the Enter/Leave events.
+       * ContainerControl.cs: When a control is activated fire the
+       enter/leave events.
+       - Don't wrap when processing the tab key, so that focus can be
+       moved outside of the container.
+       - Use the correct active control
+
+2006-07-11  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Remove some debug code that was blinding me.
+       * UpDownBase.cs: These controls actually aren't implicit, they are
+       visible to the user.
+
+2006-07-10  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: move back to the is_adding boolean field.  god i
+       hate this is_editing/is_adding/is_changing stuff.
+
+2006-07-10  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTableStyle.cs: just check if the property type is bool.
+       if it is, use DataGridBoolColumn, otherwise DataGridTextBoxColumn.
+       Don't use CanRenderType.
+
+       * DataGridTextBoxColumn.cs: set the value to DBNull.Value, not "",
+       if our text == NullText.  Remove CanRenderType.
+
+       * DataGridBoolColumn.cs: nuke CanRenderType.
+
+       * DataGrid.cs: reenable some code to end the current edit inside
+       of set_CurrentCell.  This fixes the other 1.1.16 regression.
+       Also, remove rowhdrs_maxheight and just use rowhdrs_area.Height.
+       Also, remove the visible_row_count arg from CalcRowHeaders, since
+       we don't need to worry about the actual height of the area.
+
+2006-07-10  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs: if when we Commit we're in navigate
+       mode, just return.
+
+       * DataGridTextBox.cs: change "isedit" to "isnavigating" to reflect
+       the real sense of the IsInEditOrNavigateMode property (true =
+       navigate, false = edit).  Also, update OnKeyPress to reflect this.
+
+       * DataGridTableStyle.cs (CreateColumnsForTable): even if the
+       column style exists, we still need to set its property descriptor
+       to match up with our list manager.
+
+2006-07-10  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: implement the new row/header painting
+       approach.  The parent row painting will likely go away and
+       replaced with label controls, but the rest seems to work ok (and
+       efficiently).
+
+       * Theme.cs: change the way we draw datagrid rows.  we don't draw
+       the row headers as a block now.  Instead we draw them in the
+       normal draw-row loop.  Add some calls for drawing parent rows and
+       relation rows.
+
+       * DataGridTableStyle.cs: add tons of ArgumentExceptions if this is
+       a default table style.  Set the defaults from ThemeEngine.Current,
+       not SystemColors.  Fix lots of misc issues with property setters.
+
+       * DataGrid.cs: move loads of style information out of this class
+       as it's being duplicated with DataGridTableStyle.  keep track of a
+       special DataGridTableStyle for the properties we used to mirror
+       here.  Switch all the style properties to access this table style
+       instead of instance fields of this class.  Also add a internal
+       class to represent parent rows (more needs to be stored here, like
+       the selection state from the parent table, as well as the
+       expansion state.)  Also, for datasources with relations, do the
+       right thing for collapse/expand, and add support for the
+       navigation/parent row buttons.
+
+       Lastly, fix the crash in the 1.1.16 build.
+
+       * GridTableStylesCollection.cs: make the explicit interface
+       implementations call the class's methods as opposed to duplicating
+       them.
+
+       * DataGridTextBoxColumn.cs: set the x/y offset of the textfield to
+       0 so the text doesn't jump around when we move the cursor.
+
+2006-07-10  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs:
+       * ListBox.cs: Match MS's ToString (this makes debugging focus
+       stuff infinitely easier).
+
+2006-07-10  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs (SelectNextControl): When checking the control's
+       parent use this instead of ctrl.parent so that null can be passed
+       to SelectNextControl. (I have unit tests for this).
+       - Remove unused var.
+
+2006-07-10  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs: correct one regression, the removal of the
+       finalType field.  Also, add a MonoTODO on CanAddRows, implement
+       Refresh() correctly, and fix some event emission in
+       ListChangedHandler.
+
+2006-07-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't use brackets for new folders if they exist
+         under *nix. Instead use -(number of existing folders +1).
+
+2006-07-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs:
+         - Fixed really nasty bug #78771
+         - Don't block the whole GUI when reading directories with a lot of
+           entries. Use an other thread instead and call BeginInvoke to
+           update the ListView in MWFFileView
+
+2006-07-07  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs (Dispose): release any Capture when disposing.
+
+2006-07-07  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs (Select): if we chain up to the parent, set
+       focused_index to -1 so we'll search for the first available link
+       the next time the user tabs into us.  Also, if the direction is
+       backward and focused_index == -1, start the search from the last
+       element.
+
+2006-07-07  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs (CreatePiecesFromText): if the link's range piece
+       is beyond the end of the text, don't do anything.
+       (CreateLinkPieces): set our ControlStyles.Selectable based on
+       whether or not we have any links.
+       (Link.Invalidate): use a loop instead of foreach.
+       (Link.set_Start): null out owner.sorted_links so it'll be
+       recreated by CreateLinkPieces.
+
+2006-07-06  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs: revert the SetStyle change.
+
+2006-07-06  Chris Toshok  <toshok@ximian.com>
+
+       * LinkLabel.cs (.ctor): SetStyle Selectable to true.
+       (OnEnableChanged): s/Refresh/Invalidate
+       (OnGotFocus): if we have a focused index already, refocus it (so
+       if we mouse out/in to the window it'll focus the right link).
+       (OnKeyDown): move the tab handling out of here.
+       (OnLostFocus): don't set focused_index to -1, so we can refocus it
+       when we lose focus.
+       (OnMouseDown): don't Capture here - Control handles it.  Also,
+       focus the active link.
+       (OnMouseUp): don't deal with Capture.
+       (OnPaintBackgroundInternal): remove.
+       (OnTextAlignChanged): CreateLinkPieces before calling the
+       superclass's method.
+       (OnTextChanged): call CreateLinkPieces before calling superclass's
+       method.
+       (ProcessDialogKey): handle Tab here, and call Select(bool,bool) to
+       move around.
+       (Select): implement this, moving the selection between different
+       links, and call parent.SelectNextControl if we don't have another
+       link to focus in the given direction.
+       (CreateLinkPieces): call Invalidate instead of Refresh.
+       
+2006-07-06  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: DrawLinkLabel changes to accomodate the
+       new LinkLabel internals.
+
+       * LinkLabel.cs: fairly major rewrite.  get rid of all the loops
+       over pieces looking for active/focused/etc links.  also, deal with
+       runs of text (and links) with embedded \n's in them, and use
+       MeasureCharacterRanges instead of MeasureString to figure out the
+       regions text occupies.  Lastly, do the usual s/Refresh/Invalidate
+       two-step.
+
+2006-07-04  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Enable key auto repeat. If the user doesn't have
+       XKB or key auto repeat, do it manually.  Without key auto repeat,
+       when a key is held down we get key press, key release, key press,
+       key release, ... with auto repeat we get key press, key press, key
+       press ..., and then a release when the key is actually released.
+
+2006-07-03  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs:
+       * ThemeWin32Classic.cs: Tabs do not obey normal background color
+       rules, they are always control color regardless of the background
+       color.
+
+2006-07-02  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Added internal class MWFConfig.
+         Removed Registry support and replaced it with support for the new
+         MWFConfig class. See MWFConfig comments for more information.
+
+2006-06-30  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Added RadioButton and CheckBox focus
+         rectangle. Added some patches from eno from bug #78490 and fixed
+         the arrow position for small up and down CPDrawScrollButtons.
+
+2006-06-30  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Remove some debug code.
+       * Form.cs: When an MdiParent is set to null, the window is
+       "detatched" and becomes a normal window.
+       * MdiClient.cs: Don't bring the new child form to the front until
+       it is activated (setting it as active does this), this makes the
+       previously active forms titlebar get redrawn as inactive.
+
+2006-06-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * PrintDialog.cs: Labels need a tab index too, otherwise they overlap
+         with later controls
+
+2006-06-29  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: handle arrow keys in keynav state. Go active on down
+       arrow in keynav state.  Fixes #78682.
+
+2006-06-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * PrintDialog.cs: Reorder, relayout, remove extra code, set tab 
+         order (fixes #78393)
+
+2006-06-28  Jonathan Pobst  <monkey@ipobst.com>
+
+       * AccessibleRole.cs, AccessibleStates.cs, AnchorStyles.cs, 
+         ArrangeDirection.cs, ArrangeStartingPosition.cs, ColorDepth.cs,
+         ControlStyles.cs, DataGridViewImageCellLayout.cs, DrawMode.cs,
+         FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs,
+         GridItemType.cs, HelpNavigator.cs, ImeMode.cs, ItemActivation.cs,
+         ItemBoundsPortion.cs, Keys.cs, ListViewAlignment.cs, 
+         PictureBoxSizeMode.cs, PropertySort.cs, SelectionMode.cs,
+         Shortcut.cs, SizeGripStyle.cs, SortOrder.cs, StructFormat.cs,
+         TextFormatFlags.cs, ToolBarAppearance.cs, ToolBarButtonStyle.cs,
+         ToolBarTextAlign.cs, View.cs: 2.0 Changes to existing 1.x
+         enumerations (FlagsAttribute, SerializableAttribute, added/removed
+         values)
+
+2006-06-28  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: implement scroll wheel support. Fixes #78360.
+
+2006-06-28  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * PropertyGrid.cs,
+         PropertyGridTextBox.cs : explicitly set BackColor to differentiate
+         item lines from other area (It also makes BackColor consistent and
+         compatible with .NET). Fixed bug #78564.
+
+2006-06-28  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGrid.cs: refresh toolbar when PropertySort is set.
+       Patch from Eno for #78555.
+
+2006-06-27  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: s/grid.grid_drawing/grid
+
+       * DataGridColumnStyle.cs: same.
+
+       * DataGrid.cs: Roll DataGridDrawingLogic.cs into this file.
+       
+       * DataGridDrawingLogic.cs: nuke.
+
+2006-06-27  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTableStyle.cs: clean up the constructors, and build the
+       list of child relations for this table.  I have no idea if this is
+       where we should be doing it (it probably isn't), but since we're
+       already iterating over the properties..
+
+       * DataGrid.cs: add row resizing.  for now we add a DataGridRow
+       struct and array for keeping track of row information, similar to
+       what's shown in a hack on
+       http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx.
+
+       * Theme.cs: be consistent about the naming of DataGrid methods,
+       prefering ColumnWidths and RowHeights over columnsWidths and
+       RowsHeights.
+
+       * ThemeWin32Classic.cs: same, and also add support for variable
+       sized rows (and the +/- expansion icons for related rows).
+
+2006-06-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Applied Eno's patch from #78660
+
+2006-06-27  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs (ScaleCore): We don't want to scale our form if it's
+         state is minimized or maximized, but we still need to scale our
+         child windows. Also, added try/finally block to ensure layout
+         gets reset (Fixes #78697)
+
+2006-06-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Added 2.0 Scale(SizeF) method (Fixes 78700)
+
+2006-06-27  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Fixed c+p error and added check to resize form if minimum
+         size is bigger than current size (Fixes #78709)
+
+2006-06-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ThemeEngine.cs (..ctor): Properly use ToLower() (Fixes #78704)
+
+2006-06-26  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: only do Keypress handling in the combo when there  
+       are items in the collection. Fixes #78710.
+
+2006-06-26  Chris Toshok  <toshok@ximian.com>
+
+       * Binding.cs: make this work bi-directionally.  also, clear up
+       other mixups between Push/Pull Data (e.g. we're supposed to pull
+       data when validating).
+
+       * BindingManagerBase.cs: trim some fully qualified collection
+       types.
+
+       * PropertyManager.cs (get_IsSuspended): oops, fix this check.
+
+2006-06-23  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyManager.cs: It appears (according to the unit tests)
+       that PropertyManager doesn't use
+       PropertyDescriptor.AddValueChanged to track propery value changes
+       in its datasource, but uses the same scheme as Binding, where it
+       looks for a <Property>Changed event and binds to it.
+
+       Also, according to the docs, IsSuspended always returns false for
+       a property manager with a non-null datasource.
+
+2006-06-22  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: (ShowDialog): If we're returning a forced cancel we still
+         need to update the actual DialogResult. (Fixes #78613)
+
+2006-06-22  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs (ShowDialog): Release any captures before running the
+         new message pump (fixes #78680)
+
+2006-06-22  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: Layout column widths properly in details mode even 
+       if HeaderStyle.None is set.  Fixes #78691.
+
+2006-06-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * FileDialog.cs: Fixed taborder to match MS. Fixes #77873 partially.
+
+2006-06-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs (ContainsFocus): Using new driver method to get focused
+         window, instead of trying to use internal tracking var, which can
+         recursion issues (Fixes #78685)
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs, 
+         XplatUIWin32.cs: Added GetFocus method to return focused window
+
+2006-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ColorDialog.cs: when the mouse button is pressed inside the color
+       matrix, don't let the cursor move out of it until the button is
+       released, which is the behavior on windows. Changed 'colours' by
+       'colors' to use the same word consistently.
+
+2006-06-21  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: add in some basic navigation stuff (navigating to a
+       child relation and back, using a stack).  Also, remove
+       GetDataSource and the code that calls it - it's not needed.  Also,
+       track CurrencyManager.ListName's removal.
+
+2006-06-21  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs: push some of the original type checking from
+       BindingContext.CreateBindingManager to here, and remove some of
+       the finalType stuff.  Need more tests to make sure I've got the
+       ListName part right, and we might need more in SetDataSource.
+
+       * PropertyManager.cs: add a ctor that takes just the datasource,
+       and no property name.  Make SetDataSource work with a null
+       property_name, and make Current return the data_source if the
+       property descriptor is null.  this makes 'string foo = "hi";
+       BindingContext[foo].Current' return "hi" as it should.
+
+       * RelatedCurrencyManager.cs: make this code more generic - there's
+       no reason the parent manager has to be CurrencyManager, and
+       there's no reason to pass the DataRelation.  It suffices to use a
+       BindingManagerBase and PropetyDescriptor.
+
+       * RelatedPropertyManager.cs: make a similar change here.
+       
+       * BindingContext.cs: make CreateBindingManager the beautiful, tiny
+       flower I knew it could be.
+
+2006-06-20  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyManager.cs: the PropertyChangedHandler is invoked when
+       data in the source has changed and we need to update the control,
+       so s/PullData/PushData.
+
+       * CurrencyManager.cs: Refresh is meant to update the control from
+       data in the datasource.  So, s/PullData/PushData.
+
+       * BindingContext.cs: add more ugliness (we weren't handling the
+       case where data_source = DataTable and data_member = column_name).
+
+       * Binding.cs: fix PushData/PullData mixup.  Both are interpreted
+       from the perspective of the datasource.  PullData pulls from the
+       control, PushData pushes to the control.
+
+2006-06-20  Chris Toshok  <toshok@ximian.com>
+
+       * BindingContext.cs: rewrite the CreateBindingManager code to
+       handle navigation paths more or less properly.  This could
+       definitely stand some more work, in particular to push the
+       recursion up to the toplevel.  But that relies on fixes in other
+       places (System.Data comes to mind).
+
+       Also, move to a flat hashtable (and encode the twolevel nature of
+       the dictionary into the hash key).  This lets us implement the
+       IEnumerable.GetEnumerator method.
+
+       * RelatedCurrencyManager.cs: new class.  Update our view based on
+       our relation and our parent CurrencyManager's position.
+
+       * CurrencyManager.cs: split out some logic from the ctor into
+       SetView, so it can be called from the new RelatedCurrencyManager
+       subclass.
+
+       * RelatedPropertyManager.cs: new class.  Update our datasource
+       based on the position of our parent CurrencyManager.
+
+       * PropertyManager.cs: split out some logic from the ctor into
+       SetDataSource, so it can be called from the new RelatedDataSource
+       subclass.  Also, make the Current getter return the value
+       of the PropertyDescriptor, not the data_source.
+
+       * Binding.cs: no need to duplicate the string splitting code here.
+
+2006-06-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - set_Enabled: OnEnabledChanged is not called if the inherited state 
+           of the control is not altered, even though  we might be changing the
+           internal state of the control (#78458)
+         - set_Enabled: (Re)Moved the enabling/disabling of the window to 
+           OnEnabledChanged, to allow easy altering of any child window state
+         - OnEnabledChanged: Added code to enable/disable driver window state
+         - OnParentEnabledChanged: Instead of firing the event, call 
+           OnEnabledChanged, which will fire the event and also a) set driver
+           window state and pass the enabled state to any grandchildren (#78458)
+
+2006-06-19  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: We don't set the cursor explicitly
+       thats done via the response to NCHITTESTs.
+       - Don't need to adjust for titlebar heights anymore, the
+       coordinates are coming in the correct coordinates now (see peters
+       last patch).
+
+
+2006-06-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (GetMessage): WM_NCxBUTTONx messages were wrongly
+         being translated relative to whole window, instead of client window.
+         That caused broken offsets on mouseclick (and caused gas for our
+         InternalWindowManager)
+
+2006-06-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs:
+         - MoveCaret: Implemented PgUp, PgDown, CtrlPgUp and CtrlPgDown
+         - Undo(): Added replay of cursor move on DeleteChars action; added
+           calling Undo() again if a recorded cursor move is invalid (to
+           ensure that some action is performed on Undo)
+       * TextBoxBase.cs (ProcessKey): Added handling of PgUp and PgDown (#78482)
+
+2006-06-16  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Instead of just sizing maximized windows when
+       there is a resize we also have to adjust the Y of minimized
+       windows, so they stay pinned to the bottom of the mdi container.
+       - Eliminate separate tracking of the active control, we can just
+       get this from the controls collection.
+       - Paint the decorations for the newly activated titlebar so we get
+       a pretty blue bar.
+       * InternalWindowManager.cs:
+       * ThemeWin32Classic.cs: Minimized windows get all three buttons
+       even if they are a tool window.
+       
+2006-06-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs (Undo): Handle non-existent cursor locations in the
+         undo buffer, these can happen when text was deleted and the cursor
+         was recorded first. Since we will also have a recorded cursor
+         after the delete this is not an issue. (Fixes #78651)
+
+2006-06-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * AccessibleObject.cs: Remove dependence on Control.is_selected;
+         instead properly track control states internally (allows us to
+         remove is_selected from Control)
+
+2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: correctly generate the 1bpp mask for images
+       whose width is not a multiple of 8.
+
+2006-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs:  Only maximize the next child if the current one
+       is maximized.
+
+2006-06-13  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridColumnStyle.cs: Invalidate the column when HeaderText is
+       modified.  Also, guard against grid or grid_drawing being null in
+       Invalidate.
+
+       * DataGrid.cs: Reformat tons of getters/setters.  In the
+       DataMember setter, just call SetNewDataSource instead of
+       duplicating some of its functionality.  In SetNewDataSource, don't
+       check ListManager for null, since the property getter creates the
+       object if needed.
+
+       * DataGridTableStyle.cs: don't set TableStyle or call
+       SetDataGridInternal on the column here, it's done in
+       GridColumnStylesCollection.Add.
+
+       * GridColumnStylesCollection.cs: fix all the explicit interface
+       implementations to just call our methods.  Nuke AddInternal() and
+       move the body of it to Add().  Also, add a call to
+       column.SetDataGridInternal to Add().
+
+       * DataGridTextBoxColumn.cs (.ctors): call this() instead of
+       base()+duplicate code.  Also, use the Format property instead of
+       format to generate an Invalidate ala MS.  Lastly, create the
+       textbox here, unconditionally.
+       (set_Format): call Invalidate.
+       (get_TextBox): no need to call EnsureTextBox.
+       (Commit): remove the message box.
+       (Edit) remove the call to EnsureTextBox.
+       (EndEdit): call HideEditBox instead of ReleaseHostedControl.
+       (EnterNullValue): no need to check textbox for null.
+       (HideEditBox): no need to check textbox for null.
+       (SetDataGridInColumn): add the textbox to the grid's controls.
+       (EnsureTextBox): nuke.
+       
+2006-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: Hook up to the maximized menus paint event
+       and redraw the buttons when needed. Unhook when the window is
+       unmaximized.
+       * MainMenu.cs: Add an internal Paint event, the mdi window manager
+       needs this so that it can redraw its buttons when the menu is
+       repainted.
+       * InternalWindowManager.cs:
+       * Form.cs: The method order has changed for DrawMaximizedButtons,
+       so that it can be a PaintEventHandler.
+       
+2006-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: When we close a maximized mdi window, the next mdi
+       window is activated and maximized, even if it wasn't before.
+       - When  a new window is activated repaint the decorations of the
+       old one, so that it no longer has the Active "look" (the blue
+       titlebar).
+       * InternalWindowManager.cs: Open up CreateButtons to base classes
+       so they can recreate the buttons on state changes.
+       - If a window is maximized give it all three buttons
+       * MdiWindowManager.cs: Create the titlebar buttons when the state
+       is changed, this is needed because a toolwindow will not have all
+       three buttons until it is maximized.
+
+2006-06-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ProgressBar.cs : PerformStep() shouldn't exceed Maximum.
+         Fixed bug #78609.
+
+2006-06-12  Jackson Harper  <jackson@ximian.com>
+
+       * KeysConverter.cs: Make sure we handle the Ctrl special case
+       if its the only key.
+       
+2006-06-12  Jackson Harper  <jackson@ximian.com>
+
+       * Theme.cs: Add a method to get the size of a managed window
+       toolbar button.
+       * InternalWindowManager.cs: Remove the ButtonSize property, this
+       should be retrieved from the theme.
+       * MdiWindowManager.cs: Get the button size from the theme
+       * ThemeWin32Classic.cs: Make the method to get the managed window
+       titlebar button size public.
+       - Handle the different button sizes of maximized toolwindows
+       (should match any maximized window).
+       - Get the titlebar height from the theme, not the WM (which gets
+       it from the theme).
+
+2006-06-12  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Handle NC Double Clicks, passing the
+       event down to the mdi window manager.
+       - Expose some extra stuff to base classes
+       - Make sure to end the Capture on an NC Mouse up, so that we can
+       get double clicks properly, and the sizing doens't stick.
+       - When doing PointToClient contain it in the workable desktop
+       area, this prevents windows from changing size when the cursor is
+       pulled outside of the working area while sizing.
+       * MdiWindowManager.cs: When we get a double click maximize the
+       window.
+       - Reset the cursor after handling mode changes.
+
+2006-06-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (WorkingArea): Read the actual workarea for the 
+         current desktop, instead of just assuming a 0, 0 origin. This
+         is needed for our internal window manager, to know the top
+         margin of the desktop
+
+2006-06-12  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (set_CurrentCell): concede focus as we move around.
+       we need this to get rid of the selected background in the bool
+       column.
+       (CancelEditing): move the ConcedeFocus call to above the Abort
+       call.  Also, set is_changing to false and invalidate the row
+       header if we were changing before.
+       (ProcessKeyPreviewInternal): remove, since noone outside this
+       class calls it anymore.  Roll the code into ProcessKeyPreview.
+       (EndEdit): remove the internal version.
+       (InvalidateCurrentRowHeader): make private.
+
+       * DataGridBoolColumn.cs: simplify this class a bunch.  remove the
+       Keys.Escape handling (and with it the last call to
+       DataGrid.EndEdit from outside the class.)
+
+
+2006-06-12  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBox.cs (.ctor): isedit defaults to false.
+       (OnKeyPress): set isedit to true.
+       (ProcessKeyMessage): remove Keys.Enter handling from here.  it's
+       already handled by the grid.
+
+       * DataGrid.cs (set_CurrentCell): more work here.  it's still not
+       right.  ugh.
+       (set_DataSource): SetDataSource always returns true, so stop
+       putting it in an if statement.
+       (EndEdit): get rid of some {}'s
+       (ProcessGridKey): return true in case Keys.Escape.
+       (ProcessKeyPreviewInternal): only handle KEYDOWN messages.
+       (ConnectListManagerEvents,DisconnectListManagerEvents): connect to
+       PositionChanged, stopped connecting to CurrentChanged.
+       (GetDataSource): simplify this a bunch.
+       (SetDataSource): change return type from bool to void.
+       (OnListManagerPositionChanged): rename OnListManagerCurrentChanged
+       to this, and make sure we don't set ListManager.Position inside
+       set_CurrentCell.
+       (OnListManagerItemChanged): if we're passed an actual index,
+       redraw that row.
+
+       * CurrencyManager.cs (set_Position): don't call PullData here.
+
+2006-06-09  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs:  Recalculate the visible order before doing the
+       Expand/Collapse Below calls, because those calls generate an
+       expose.
+       - Reduce calls to the TreeView property, which is mildly expensive
+       by using a local var.
+       * Form.cs: Layout the MDI child windows when creating the parent
+       form.
+       - Don't use the internal constructor anymore
+       * MdiClient.cs: use the parent form width/height (if available)
+       when laying out the child windows, we do this because the
+       mdiclient isn't docked yet when the initial layout is done.
+       - Don't need an internal constructor anymore.
+
+2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileDialog.cs: handle access errors when trying to create a folder
+       or changing to a directory. No need to initialize out parameters.
+
+2006-06-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Append a number when creating a new folder if the
+         folder already exists (use parenthesis instead of square brackets)
+
+2006-06-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs:
+         - Disabled registry support for windows and added better registry
+           error checking for other systems (need to investigate why it
+           works perfectly on my system)
+         - If a folder already exist show an error MessageBox instead of
+           trying to create an indexed name.
+         - Fixed a non intentional typo.
+
+2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileDialog.cs: (SetFileName) don't crash if CurrentRealFolder is null.
+
+2006-06-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: When creating a new folder don't crash if the
+         folder already exists.
+
+2006-06-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Allmost a complete rewrite.
+         - added a "virtual" file system that handles the differences
+           between unix and windows file systems (especially the directory
+           structure). Moved most of the directory and file handling code
+           into the vfs.
+           Added vfs classes: MWFVFS, FileSystem, WinFileSystem,
+           UnixFileSystem and FSEntry.
+         - Recently used folder/directory, size, location and used file names
+           (file name ComboBox) are now stored in the registry and get read
+           before the dialog shows up (fixes part 6 of bug #78446).
+         - Creation of new folders/directories is now possible (context menu
+           or ToolBar). Added TextEntryDialog for this that fills in the gap
+           until ListView.LabelEdit works.
+         - Fixed cursor handling (bug #78527) and focus handling for
+           PopupButtonPanel
+         - Various "Search in" ComboBox enhancements. The content of the
+           dropdown listbox now almost matches ms.
+         - Changed the behaviour when the user switches to SpecialFolder
+           Recent to show the ListView in View.Details.
+         - Beside using the ToolBar to change the View property of the
+           file ListView it is now possible to use the context menu too.
+
+2006-06-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ComboBox.cs: Don't create a new ObjectCollection when an item
+         gets inserted. Just insert the item in the existing object_items
+         ArrayList.
+
+2006-06-08  Jackson Harper  <jackson@ximian.com>
+
+       * OpenTreeNodeEnumerator.cs: Fix to use the Parent property, so
+       that the treeview and root node checks are done also, this fixes a
+       regression i caused in the unit tests.
+
+2006-06-07  Wade Berrier <wberrier@novell.com> 
+
+       * RichTextBox.cs: More ISO8859-1 -> unicode
+
+2006-06-07  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs : use items to hold highlight/selection so that
+       collection insertions don't require synchronization.
+
+2006-06-07  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Simplify (and FIX) the window sizing
+       routine.  We now always keep the sized edge at the cursor instead
+       of computing movement and adjusting rects.  There is one buglet
+       with this method though when the cursor is moved over area that
+       the window can not expand too (such as the toolbars on the desktop).
+
+2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * XplatUIX11.cs: (IsEnabled,IsVisible) the window handler can be null
+       here. Fixes crash on startup in AlbumSurfer.
+
+2006-06-07  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * RichTextBox.cs: Replaced embedded ISO8859-1 chars with proper unicode
+         values
+
+2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * XplatUIX11.cs: call XPending and XNextEvent inside the same lock()
+       statement to avoid calling XNextEvent which will block if another thread
+       took the event that we were expecting. Fixes bug #78605.
+
+2006-06-07  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : isolated checkbox clicking from the selection logic.
+       Toggle check state on item doubleclicks.  Really fixes #78454 part2.
+
+2006-06-06  Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+       * Form.cs: Check that the value passed to Form.DialogResult
+       is a valid enum value.
+
+2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileDialog.cs: disable the up button when in 'Recently Used' or 'My
+       Computer'. Clicking it in the network view goes to 'My Computer'.
+       Added CIFS filesystem type. Display the mount point of filesystems.
+       Avoid duplicate mount points (happens for me with CIFS);
+
+2006-06-06  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Draw the maximized windows buttons
+       when resizing.
+
+2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Form.cs: when running a modal dialog, ignore WM_CLOSE requests for
+       all other dialogs. Fixes bug #78585.
+
+2006-06-06  Mike Kestner  <mkestner@novell.com>
+
+       * CheckedListBox.cs : apply CheckOnClick behavior to unchecking too.
+       Only invalidate checkbox on checkstate changes to avoid flicker.
+       * ListBox.cs : avoid unselect/select when clicking selected item.
+       avoid reselection flicker for already multiselected items.
+       Fixes #78382.
+
+2006-06-06  Jackson Harper  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: When the window is closed do an NCRecalc on
+       the parent form so that the menu is removed if needed.
+
+2006-06-06  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs : add ScrollWindow call to UpdateTopItem.  fix
+       Prev/Next/PrevPage/NextPage/Home/End index calculation.  Fixes #78559.
+
+2006-06-06  Mike Kestner  <mkestner@novell.com>
+
+       * CheckedListBox.cs : rebuild check collection on Add.  Fixes #78426.
+
+
+2006-06-06  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Use the property (instead of the field) to get the
+       default cursor so it is instantiated correctly.
+       * InternalWindowManager.cs: The OS doesn't give us an NCPAINT with
+       resizes so we need to manually repaint the window decorations here.
+       - Set the titlebar button locations as soon as they are created,
+       otherwise they are not set correctly on win32.
+       
+2006-06-06  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs (set_Position): call PullData before
+       OnCurrentChanged.
+       (AddNew): after calling IBindingList.AddNew, update our
+       listposition, and call OnCurrentChanged/OnPositionChanged (without
+       calling PullData).
+       (OnCurrentChanged): remove the call to PullData from here.
+       (OnItemChanged): remove the call to PushData from here.
+       (OnPositionChanged): change the test from == null to != null to
+       match the other methods.
+       (ListChangedHandler): the grossest part of the patch.  Implement
+       this such that it passes the unit tests in CurrencyManagerTest and
+       the output more or less matches that of MS's implementation.
+2006-06-06  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : only update check state on single click.
+       * ThemeWin32Classic.cs : fix focus drawing for details view without
+       fullrowselect.  Fixes #78454.
+       * XplatUIX11.cs : fix for double click emission.
+
+2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGridView.cs : Applied Atsushi's patch to fix
+       font dialog bug  (#78197).
+
+2006-06-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Compute the next node for expanding/collapsing
+       correctly. We now factor in nodes without a NextNode
+       correctly. (Fixes somes cases in nunit-gui).
+       * InternalWindowManager.cs: Set the bounds when updating the
+       virtual position of a tool window.
+       
+2006-06-05  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs: rename cached_currencymgr to list_manager.
+       (set_CurrentCell): move SetCurrentCell code here, and clean it up
+       some.
+       (CurrentRow, CurrentColumn): single accessors so we can make the
+       cursor movement code a lot easier to understand.
+       (CurrentRowIndex): implement this in terms of CurrentRow.
+       (BeginEdit): clean this up a bit.
+       (CancelEditing): sort out the is_editing/is_changing/is_adding
+       stuff a little.
+       (EndEdit): minor changes.
+       (OnKeyDown): add a comment about a (most likely) unnecessary
+       check.
+       (OnMouseDown): cancel editing when we click on a row header.  And
+       use the CurrentRow setter, not CurrentCell.
+       (ProcessDialogKey): directly call ProcessGridKey.
+       (UpdateSelectionAfterCursorMove): factor out this common block of
+       code (it's used everywhere that we move the cursor by updating row
+       or column).
+       (ProcessGridKey): pretty substantial overhaul.  Use the
+       CurrentRow/CurrentColumn properties to make the code a lot more
+       readable.  Only use the CurrentCell property when we have to
+       modify both row and column at once.  Tab behavior is still broken,
+       and Delete is untested.
+       (Select): if we have no selected rows, set selection_start to
+       @row.
+       (EditCurrentCell): rename EditCell this.  It was only ever invoked
+       with CurrentCell as the arg, so drop the arg and rename it.
+
+       * DataGridColumnStyle.cs: clean up the constructors a little, and
+       drop CommonConstructor().
+
+       * DataGridTextBox.cs (.ctor): set accepts_return to true so we
+       actually get notified when the user hits it.
+       (ProcessKeyMessage): *substantially* simplify this method.
+       There's no reason (that I can see) for the textbox to be making
+       calls into the datagrid at all.  Remove all of them but the ones
+       for Enter handling.  those will take some more work.
+
+       * DataGridTextBoxColumn.cs (ConcedeFocus): implement this by
+       calling HideEditBox.
+       (HideEditBox): if we have an active textbox, render it invisible
+       without causing a re-layout of the datagrid.
+
+2006-06-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs : fix NRE crasher when focuseditem is cleared by
+       collection changes by resetting it to Items[0].  Fixes #78587.
+
+2006-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * MessageBox.cs: if the height of the text is larger than the icon_size,
+       use that. Fixes bug #78575.
+
+2006-06-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Fix line drawing when scrolling.  To do this each
+       node is basically responsible for drawing its entire horizontal
+       area.  When drawing a node it draws its parent node lines if
+       needed.
+       - Adjust the clip area to the viewport rectangle
+       - Fix Left/Right key handling to match MS. (It expand/collapses
+       and moves to parents/first child but does not move selection to
+       sibling nodes).
+       - Fix SetTop to work with new bound calculation code
+       - When scrollbars are no longer needed we need to reset scrolling
+       vars and recalculate the visible order so the redraw is correct
+       * TreeNode.cs: We can't expand/collapse nodes with no children.
+
+2006-06-03  John Luke  <john.luke@gmail.com> 
+
+       * X11DesktopColors.cs: dllimport the exact gtk and gdk versions
+       so the colors work without dev packages
+       
+2006-06-02  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs 
+         - Select: Implemented to just use activate. Seems to match MS 
+           behaviour closest. Documented to only do actual control walking 
+           based on it's parameters if in a container control so I moved 
+           the code there.
+         - Removed selection check logic from our internal Select() method
+       * ContainerControl.cs:
+         - Select: Moved selection logic from Control here, since MS documents
+           that containers obey the bool arguments. No longer calling base
+
+2006-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: If the selected node isn't changed when we get
+       focus update the previously selected node so that we see the
+       selection box.
+
+2006-06-02  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: restructure grab and general mouse event handling.
+       Make the composite control raise mouse events like it was a single
+       control for leaves/enters/motion/up/down events.  fix dropdown list
+       coordinate mangling and refactor it into the scrollbar subclass to
+       reduce code duplication.  Fixes #78282 #78361 and #78457.
+
+2006-06-02  Mike Kestner  <mkestner@novell.com>
+
+       * ScrollBar.cs: remove Capture setting/clearing, as it happens
+       automatically in the Control.WndProc.
+
+2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * FileDialog.cs: fix crash when running SharpChess, which sets the
+       FilterIndex to 2 with only one Filter.
+
+2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ToolBar.cs: add SizeSpecified property.
+       * ToolBarButton.cs: when the ButtonSize is calculated by the container,
+       try to figure out our real size, otherwise fallback to what the
+       container says.
+
+2006-06-01  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (DefWndProc): WM_MOUSEWHEEL needs to be passed up
+       * Control.cs (WndProc): MS always calls the DefWndProc to pass
+         up the event
+
+2006-06-01  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: revamp the focus management in ListView.  It still
+       causes churn of LostFocus/GotFocus emissions on clicks, but it's
+       better than not handling focus at all.  Will revisit when pdb feels
+       the general focus handling is solid.  Fixes #78526.
+
+2006-06-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Set the default border style in the constructor.
+       - Move painting to use OnPaintInternal instead of capturing
+       WM_PAINT, this is the correct way of doing things
+       - UpdateBelow shouldn't invalidate the scrollbar area
+       - Cap the top on update below in case the node was above the top
+       of the viewport rectangle.
+       - ExpandBelow and Collapse below need to obey Begin/End Update.
+       * TreeNode.cs: Make is_expanded internal so the treenode
+       collection can change it without firing the whole event chain.
+       * TreeNodeCollection.cs: When clearing all the child nodes make
+       sure to recalc the visible order.
+       - Improve algo for remove the top node
+
+2006-06-01  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (SetFocus): Make sure we can handle re-entrancy due to
+         SendMessage directly calling window procedures, which in turn might
+         call SetFocus()
+
+2006-06-01  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Don't handle WM_SETFOCUS if the same window already
+         has focus (works around X11 sending a FocusIn after our SetFocus)
+       * XplatUIX11.cs: Send KILLFOCUS before setting SETFOCUS on new window
+
+2006-06-01  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Fix for the NET_2_0 build.
+         NameValueCollection needs StringComparer now.
+
+2006-05-31  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridDrawingLogic.cs (FromPixelToColumn): modify this to also
+       return (via an out parameter) the starting X of the column.
+       (UpdateVisibleColumn): track change to FromPixelToColumn.
+       (HitTest): add a ColumnResize case here.
+       (DrawResizeLine): new function, probably poorly named.
+
+       * DataGrid.cs (.ctor): get rid of cached_currencymgr_events.  We
+       only need to keep one reference.
+       (set_ListManager): same.
+       (OnMouseDown): call HitTest instead of grid_drawing.HitTest.
+       Also, add support for HitTestType.ColumnResize.
+       (OnMouseMove): add column resize behavior here, and change the
+       cursor to the correct one as we move around the datagrid.
+       (OnMouseUp): terminate the column resize if we're resizing.
+       (ProcessGridKey): from the MS docs, Alt-0 enters the null value
+       for the current cell.
+       (ConnectListManagerEvents): use cached_currencymgr.
+       (DisconnectListManagerEvents): fill this in, using
+       cached_currencymgr.
+       (SetCurrentCell): remove cached_currencymgr_events handling.
+       (SetDataMember): only call DisconnectListManagerEvents if
+       cached_currencymgr is != null.
+       (SetDataSource): same.
+       (OnListManagerCurrentChanged): cached_currencymgr_events ->
+       cached_currencymgr.
+
+2006-05-31  Jackson Harper  <jackson@ximian.com>
+
+       * BindingManagerBase.cs: Remove somedebug code that creeped into
+       SVN.
+       * TreeNode.cs: We get the indent level dynamically right now, so
+       don't track it as a member.
+       * TreeNodeCollection.cs: Make sure all nodes added to the list
+       have parents, treeviews/topnodes setup properly.
+       - Don't attempt to track indent level.
+
+2006-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * BindingContext.cs: Create the currency manager tables here.
+       This allows us to more easily create null tables (when bad data
+       members are used), and more easily create related currency
+       managers.
+       * CurrencyManager.cs: All the table creation stuff is done by the
+       binding context now.
+       - Current should throw an exception if listposition is -1.
+       - CancelCurrentEdit/EndCurrentEdit, do nothing if the list hasn't
+       been bound yet.
+
+2006-05-30  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: allow reexpansion of zero-width column headers.
+       Fixes #78528.
+
+2006-05-28  Chris Toshok  <toshok@ximian.com>
+
+       * CurrencyManager.cs (get_Current): after the late binding
+       listposition = -1 fix, we need to guard against it here and return
+       null, otherwise we raise an exception (which is swallowed
+       elsewhere, and breaks datagrid databinding.)
+
+2006-05-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * MenuAPI.cs (ProcessMenuKey): We can legally get msg types other
+         than WM_SYSKEY, don't throw if get something unexpected (#78507)
+
+2006-05-26  Jackson Harper  <jackson@ximian.com>
+
+       * ControlPaint.cs:
+       * ThemeWin32Classic.cs: For color comparisons just use the ARGB
+       values, it's faster and it's all we care about (we don't care if
+       the names aren't equal).
+       * KeyboardLayouts.cs: Eliminate some dead code.
+       - Lazy init things
+       * X11Keyboard.cs: Lazy init keyboard detection.
+       - Cleanup access modifiers a little.
+
+2006-05-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Once again, attempting to get layout just right.
+
+2006-05-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * LinkLabel.cs (CreateLinkPieces): Use MeasureString to calculate
+         the sizes of each link section, that will result in sizes that
+         match DrawString's layout (Fixes #78391)
+
+2006-05-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: If AddExtension property is true autocomplete the
+         extensions in SaveFileDialog correctly. Fixes bug #78453.
+         Set MyNetwork and MyComputer to "C:\" for windows. This should
+         fix part 8 of bug #78446 for now.
+
+2006-05-26  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (ColumnStartedEditing): fill these in.  for now just
+       invalidate the current row header if we need to, but presumably
+       we'll invalidate the row corrsponding to the bounds or
+       editingControl.
+       (GridHScrolled): switch back to this method, as it's part of the
+       public api.  *sigh*.
+       (GridVScrolled): same.
+       (OnMouseWheel): hack up something that more or less works.  Call
+       GridHScrolled/GridVScrolled directly, instead of duplicating much
+       of their code here.
+       (EnsureCellVisibility): reinstate a bunch of this code, since we
+       can't just set the scrollbar Value and expect to do all the work
+       in the ValueChanged handler.  Also, Call Update() after scrolling
+       in one direction so the other XplatX11.ScrollWindow call has the
+       proper stuff in the proper places.
+       (EditCell): set is_editing to true before calling .Edit.
+
+       * DataGridTextBox.cs (set_IsInEditOrNavigateMode): just set it,
+       don't bother comparing first.
+       (OnKeyPress): call grid.ColumnStartedEditing before calling
+       base.OnKeyPress.  this will set is_changing and invalidate the row
+       header if necessary.
+       (ProcessKeyMessage): for WM_CHAR messages, call
+       ProcessKeyEventArgs directly.  swallow anything other than WM_CHAR
+       and WM_KEYDOWN.
+       
+       * DataGridBoolColumn.cs (Edit): don't set is_editing to true here.
+       it's done in the DataGrid.
+       (NextState): call grid.ColumnStartedEditing, which takes care of
+       invalidating the row header (and setting is_changing).
+
+       * DataGridTextBoxColumn.cs (Edit): don't set is_editing to true
+       here.  it's done in the DataGrid.
+
+2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Control.cs: allow changing the cursor when the mouse position is
+       out of bounds but Capture is set.
+       * LinkLabel.cs: handle the case when the mouse button is pressed on the
+       linklabel but released somewhere else.
+
+2006-05-25  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When we get focus if there is no selected node make
+       it the top node
+       - Remove some uneeded setup code from Draw.
+       * TreeNodeCollection.cs: If the tree doesn't have a top node when
+       a new node is inserted make the new node the top.
+       * XplatUIX11.cs:
+       * Timer.cs: Use Utc time so that no local time zone stuff needs to
+       be used (should be faster).
+       
+2006-05-25  Chris Toshok  <toshok@ximian.com>
+
+       * DataGrid.cs (EnsureCellVisibility): remove some code to fix a
+       problem with the last commit.
+
+2006-05-25  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs (ReleaseHostedControl): turns out we do
+       need the invalidate call here, while scrolling right-to-left via
+       the left arrow key (i.e. moving the editing cell while scrolling).
+
+       * DataGrid.cs (.ctor): remove the initialization of
+       ctrl_pressed/shift_pressed.  We no longer track them using key
+       up/down handlers, but by using Control.ModifierKeys.  Also, switch
+       to using ValueChanged handlers on the scrollbars instead of
+       Scrolled event handlers.  This simplifies a bunch of the scrolling
+       code.
+       (GridHValueChanged): rename from GridHScrolled, and change it to
+       work with the new event args.
+       (GridVValueChanged): same.
+       (OnMouseDown): initialize ctrl_pressed/shift_pressed here.
+       (OnMouseWheel): actually scroll the datagrid.  Don't change the
+       selected cell.
+       (ProcessGridKey): correct all the keyboard navigation stuff I
+       could find.  Ctrl up/down/left/right/home/end work now.
+       (EnsureCellVisibility): correct method name spelling.  Also,
+       simplify this a touch by not explicitly calling the
+       ScrollToRow/ScrollToColumnInPixels methods.  We just set the
+       scrollbar value.
+       (OnKeyUpDG): no need for this method now.
+       
+2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * LinkLabel.cs: display the OverrideCursor when hovering the label.
+       Fixes bug #78392.
+
+2006-05-25  Chris Toshok  <toshok@ximian.com>
+
+       * ThemeWin32Classic.cs: fix datagrid clipping problems caused by
+       r61019.
+
+2006-05-25  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Application.cs: Moved setting of is_modal and closing to before
+         we create the control, to allow the event handlers called as a
+         result of creation affect closing. Also removed Gonzalo's previous
+         change to setting DialogResult, the behaviour has been moved to 
+         Form.ShowDialog()
+       * Form.cs: 
+         - ShowDialog(): Removed explicit creation of the form, let RunLoop
+           handle it instead
+         - ShowDialog(): If no dialog result is set, we need to return Cancel
+         - WM_CLOSE: Fire Closing/Closed events, and reset dialog result if
+           the close is cancelled
+
+2006-05-25  Jackson Harper  <jackson@ximian.com>
+
+       * StatusBar.cs: We only need to update the sizes of the other
+       panels when we have auto size contents.  Also we are only updating
+       the contents of the panel, not the borders, so compensate for the
+       border width (TODO: get this width from the theme somehow).
+       * TreeView.cs: Scrollable is true by default
+       - Use invalidate instead of refresh where needed
+       - Factor the scrollable value into scrollbar updating
+       - Update the scrollbars if the Scrollable property is altered
+       - Update the selected node if its ImageIndex is changed
+       - Handle null nodes in UpdateNode (mainly so we don't have to
+       check if selected is null when updating it
+       - Fix VisibleCount to use the ViewportRectangle so that scrollbars
+       are factored into the visible count
+       - Use VisibleCount for clarity in the code
+       - When the font is changed we need to recurse through all the
+       nodes and invalidate their sizes
+       
+2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Application.cs: set the DialogResult to fixed when the main form is
+       hidden or destroyed while being modal.
+
+2006-05-25  Miguel de Icaza  <miguel@novell.com>
+
+       * Theme.cs: Use Tangoified messagebox icons. 
+
+       (GetSizedResourceImage): Also cope with width = 0 and do not
+       trigger a warning in that case (0 means "give me your icon from
+       the resouce, no special size needed).
+
+2006-05-25  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Application.cs: Leave runloop if the the main modal form is 
+         hidden (fixes #78484)
+
+2006-05-25  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * BindingContext.cs : reject null datasource in Contains() and
+         Item[].
+       * CurrencyManager.cs : check data_member validity when data_source
+         is dataset. When it is late binding, the initial position is -1.
+
+2006-05-24  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Dont't recalculate the visible order on
+       inserted nodes that aren't visible.  This changes the
+       max_visible_order which confuses scrollbar settings.
+       - Use the enumerator to get the prev node instead of duplicating
+       code.
+       * TreeView.cs: Use new method for setting scrollbar values
+       - Don't set the bounds every time the scrollbar is updated
+       - When updating below the root node use an invalidate instead of a
+       refresh to prevent the child controls (scrollbars) from being
+       refreshed. (UpdateBelow still needs to be reworked anyways).
+       - Reenable SetBottom now that visible orders are set correctly,
+       added some debug code incase we ever get bad values there again.
+       - Set the scrollbar max to 2 less then the max value, this
+       compensates for the max value being one above the node count, and
+       for scrollbars adding one extra "notch".
+       - When drawing image nodes if there is an imagelist we draw the
+       first image in the list if the supplied image index is out of the
+       image list's bounds.
+       
+2006-05-24  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Don't blindly cache hwnd.ClientRect, reset it when 
+         we receive a size change from the WM (Fixes #78503)
+
+2006-05-24  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs, XplatUIX11.cs: Refresh when setting the Clip 
+         rectangle (Fixes #78501)
+
+2006-05-24  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ButtonBase.cs: 
+         - Fixed MouseUp, MouseDown and MouseMove to treat mouseevent.Button 
+           as a bitfield.
+         - Fixed MouseMove to no longer switch pressed state unless the left
+           mouse button is pressed. Atsushi provided the original patch (#78485)
+         
+2006-05-24  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: New internal methods that allow us to change a
+       couple values on the scrollbar (the most common case is maximum
+       and large change) without getting multiple invalidates.
+
+2006-05-24  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridBoolColumn.cs (Abort): revert back to the saved setting.
+       (Edit): save off the original state in oldState, and set
+       grid.is_editing to true.
+       (OnKeyDown): abort editing if escape is pressed.  also, call
+       NextState if space is pressed.
+       (OnMouseDown): call NextState.
+       (NextState): factor out shared code from OnKeyDown and OnMouseDown
+       here.  Also, only invalidate the row header once (on the initial
+       is_changing switch) to save on redraws.
+
+2006-05-24  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs (Commit): only call SetColumnValueAtRow
+       if the value in the cell is different than it was before.  This
+       keeps us from triggering a layout when we move around a datarid
+       with a highlighted cell.
+       (Edit): suspend layout when creating/positining the text box, and
+       resume passing false so we don't ever actually re-layout.
+       (ReleaseHostedControl): same.
+       (EnsureTextBox): reformat slightly, and set WordWrap to false.
+
+       * DataGridTextBox.cs (ProcessKeyMessage): it's not true that all
+       control-key sequences should go to the datagrid - remove that
+       lock.  Also, modify the conditions under which we move between
+       cells when moving the cursor within a cell, and remove the "this"
+       and "base" from field accesses.  We weren't even consistent, given
+       they all were in the base class.
+
+2006-05-24  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Binding.cs : (.ctor)
+         An obvious NRE fix for BindingTest.CtorNullTest().
+
+2006-05-23  Chris Toshok  <toshok@ximian.com>
+
+       * TextBoxBase.cs (get_Text): don't add a trailing newline, add
+       them between lines.  This fixes some quirks editing cells in the
+       datagrid.
+
+2006-05-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Use begin/end update when doing expand/collapse all
+       so that we don't get flicker on the scrollbar.
+
+2006-05-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Bounds are computed 'on the fly' now.  This allows
+       treenode calculations to be independant of the painting code. To
+       do this nodes track a visible order which is calculated by the
+       treeview.
+       - Call new methods for expanding/collapsing nodes.  These methods
+       use scrollwindow so we don't have to update everything below the
+       node.
+       * TreeView.cs: Refactored drawing and scrolling code.  We don't
+       need to update nodes when drawing anymore or calculate scrollbar
+       stuff.
+       - Added new methods for expanding/collapsing nodes. These methods
+       use ScrollWindow so as to not have to redraw all the nodes below.
+       * TreeNodeCollection.cs: Recalc visible order and scrollbars when
+       we add/remove nodes or sort.
+       - Handle removing the selected and the top node properly.
+
+2006-05-23  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTextBoxColumn.cs (Edit): set grid.is_editing to true.
+       maybe this should actually happen in the datagrid code?
+       (EndEdit): no need to invalidate anything, given that
+       ReleaseHostedControl causes the datagrid to relayout, which
+       invalidates everything anyway.
+
+       * DataGrid.cs (set_CurrentCell): remove duplicate check (it's also
+       in SetCurrentCell).
+       (set_SelectionBackColor): call InvalidateSelection instead of
+       Refresh.
+       (set_SelectionForeColor): same.
+       (BeginEdit): Flesh this out a bit.
+       (CancelEditing): only do any of this if we're editing/adding.
+       (EndEdit): same.
+       (OnMouseDown): there's no need to cancel editing here, it's done
+       in SetCurrentCell.
+       (SetCurrentCell): only invalidate the current row header if it's a
+       different row than the new one.
+       (ShiftSelection): fix this to work like MS does.
+       (ResetSelection): factor out the invalidation of selected_rows to
+       InvalidateSelection.
+       (SetDataSource): cancel any editing that's going on.
+
+       * DataGridColumnStyle.cs
+       (IDataGridColumnStyleEditingNotificationService.ColumnStartedEditing):
+       call the non-interface version.
+
+       * ThemeWin32Classic.cs (DataGridPaintColumsHdrs): intersect the
+       header rectangle with the clip rectangle so we don't redraw the
+       entire header for just a small area.  Gets rid of the last flicker
+       when horizontally scrolling.
+       (DataGridPaintRow): same.
+
+2006-05-23  Mike Kestner  <mkestner@novell.com>
+
+       * ListViewItem.cs: remove size for line hack from LargeIcon layout.
+       * ThemeWin32Classic.cs: don't draw line.  it's really the top of a
+       poorly placed checkbox on the MS control.  Fixes Alex's unfiled
+       Critical bug report.
+
+2006-05-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * PictureBox.cs: Fixed broken ControlStyles. Unit test no longer fails,
+         and this fixes #78493
+
+2006-05-23  Miguel de Icaza  <miguel@novell.com>
+
+       * Theme.cs (GetSizedResourceImage): Scale images if the proper
+       size is not found.  
+       
+       * FileDialog.cs: Do not change the background for the side bar as
+       it wont work nicely with the theme, and also reduces the artifacts
+       in rendering the icons (which I want to fix too).
+
+       * MimeIcon.cs (ResourceImageLoader): Load images from assembly
+       resources, not resgen resources. 
+
+       (PlatformDefaultHandler): Pull images using the new API.
+
+2006-05-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Hwnd.cs (Dispose): Remove any pending exposures. XEventQueue holds
+         a reference to the hwnd and will not remove it unless there are
+         no pending exposures (fixes #78341)
+       * XplatUI.cs: Improved debug
+
+2006-05-23  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MenuAPI.cs : don't handle OnClick event when it was not the left
+         button. Fixed bug #78487.
+
+2006-05-23  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: fix placement of submenus for multi-row menu bars, and
+       prefer submenus to the top menu for item lookup, to avoid popping down
+       top-row items.
+
+2006-05-23  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Rewrote CPCPDrawScrollButton to drop
+         Graphics.FillRectangle as the visual results are really bad (even
+         on win). We now draw perfect arrows (and perfect shadows when the
+         scrollbar is disabled). Simplified CPDrawGrid. CPDrawGrid now uses
+         Pen.DashPattern to draw the dots of each line.
+
+2006-05-22  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Update the filename combobox when navigating through
+         the ListView with the cursor keys. Fixes part 7 of bug #78446.
+
+2006-05-22  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: raise SelectedIndexChanged on keyboard selection.
+       Fixes #78463.
+
+2006-05-22  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: Refresh in EndUpdate to pick up all the dropped Paint
+       requests. Fix a misspelled parameter and a copy paste exception error
+       in Select.
+
+2006-05-22  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ThemeWin32Classic.cs: Changed DefaultFont emSize from 8.25 to 8
+         to get the same width/height (5/13) on X11 as the default font has on
+         win32. This means that our DefaultFont emSize is smaller than the 
+         the MS SWF equivalent (even thought the width/height stays the same)
+
+2006-05-20  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs:
+       * MdiWindowManager.cs:
+       * InternalWindowManager.cs: Make sure to use the border width from
+       the theme.
+
+2006-05-20  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PrintDialog.cs: Implements printer details
+
+2006-05-19  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Added focus handling for PopupButtonPanel.
+         Fixes part 1 and 2 of bug #78446
+
+2006-05-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (SetWindowPos): Recalculate client area size on resizes
+         instead of sticking to the first ever calculated value
+
+2006-05-19  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: fix mouse motion selection to use MousePosition and
+       PointToClient, since Capture is set. Fixes #78344.
+
+2006-05-19  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: match MS behavior in Details view where items are not
+       drawn if Columns.Count == 0. 
+       * ThemeWin32Classic.cs: only highlight ListView selection if focused.
+       Use a separate pen to draw the check, since changing the width affects
+       the box as well.  Fixes #78454.
+
+2006-05-18  Miguel de Icaza  <miguel@novell.com>
+
+       * ListView.cs: ArgumentOutOfRangeException, single versions of the
+       exception should throw the name of the invalid argument.
+
+       * FileDialog.cs (OnClickOpenSaveButton): Avoid crash in open if
+       there are no files listed. 
+
+2006-05-18  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Don't use endcaps, they mess the drawing
+       up.
+
+2006-05-18  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Brought back our old UpdateZOrder method as a private
+         function and switched our calls from UpdateZOrder to the new one.
+         This fixes the Paint.Net canvas disappearing bug.
+
+2006-05-18  Jackson Harper  <jackson@ximian.com>
+
+       * Theme.cs:
+       * ThemeWin32Classic.cs:
+       * InternalWindowManager.cs: Move the drawing into the theme,
+       expose everything the theme should need from the window manager.
+
+2006-05-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (DefWndProc): WM_SETCURSOR: Assign the return value 
+         from the call to NativeWindow to avoid walking up the parent chain
+         further than needed (speeds up setting cursors and avoids setting
+         the wrong cursor if a parent has another cursor defined)
+       * Cursor.cs: When loading an icon as cursor, MS uses the center of
+         the icon as hotspot, not what's contained as hotspot in the icon
+         file. This fixes the perceived drawing offset seen with Paint.Net
+       
+2006-05-18  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: 
+         - Store the calculated rectangle in Hwnd object and use it when 
+           setting the client size
+         - Force Toolwindows to always be type Dock, to ensure they're on top
+
+2006-05-18  Mike Kestner  <mkestner@novell.com>
+
+       * ComboBox.cs: first pass at ComboBox rework.  Layout is more
+       consistent with MS positioning.  IntegralHeight, ItemHeight, Sizing.
+       Correctly initialize textcontrol and ListBox on DropDownStyle changes. 
+       Substantial refactoring to remove confusing nested classes. Coding
+       standard and Get+Set->property refactorings.  Shift to index based
+       highlighting in ComboListBox instead of constantly using IndexOf and
+       Items[]. Add invalidations on resize for DropDownList to fix ugliness
+       in FileDialog growth.  Draw borders manually since Simple mode needs
+       to look like two independent controls.  Make listbox border
+       conditional to DropDownStyle.  Improved OwnerDraw support.
+
+2006-05-18  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * PaintEventArgs.cs: For 2.0, check for a null Graphics in the .ctor. 
+       Don't set the disposed graphics to null, so we can throw the "right"
+       exception if the graphics is reused later (added a flag to avoid 
+       double disposing). Some behaviours are different under 2.0 and are
+       filled under bug #78448.
+
+2006-05-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: When double-buffering is enabled, we need to reset
+         our graphics context between paint calls. Otherwise, any 
+         transformations and other alterations on the context will 
+         become cumulative (#77734)
+
+2006-05-18  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: do focused item selection like MS on clicks. 
+       Rework focus handling for ItemControl so LostFocus invalidates as
+       well.
+       * ThemeWin32Classic.cs: only draw focus rectangle for ListViewItems if
+       the ListView ItemControl has focus.
+
+2006-05-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: If client_window ends up being width or height zero
+         due to border settings, move it off window inside whole_window (#78433)
+
+2006-05-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Shrink the mime file cache correctly.
+
+2006-05-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Readded button focus drawing code. (#78429)
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (AddExpose): More sanity checks
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs:
+         - AddExpose: Don't add expose ranges outside the size of our
+           window
+         - Cast opacity values to Int32 to avoid crashes with certain
+           values
+         - Added disabled code paths that protect against illegal cross-
+           thread painting (Developers.exe)
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ProgressBar.cs: Invalidate the control when it's resized
+         since block size is based on control size. (#78388)
+
+2006-05-16  Miguel de Icaza  <miguel@novell.com>
+
+       * DataGrid.cs (SetDataBinding): per the discussion on irc, instead
+       of setting the incoming argument to the "reset" value, we set the
+       this.datamember to string.empty (before we were invalidating the
+       incoming data).   
+
+       Fixes 78420
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Only apply transparency settings after the form
+         is created. (Fixes #77800)
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ApplicationContext.cs: Grab the HandleDestroyed event so
+         we know when to fire OnMainFormClosed 
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Application.cs: Introduced sub-class to allow tracking of
+         threads and centralized triggering of the event mess for
+         ThreadExit, AppExit, etc..  (#76156)
+
+2006-05-16  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs:
+         - Do not return a null icon index value for a mime subclass.
+           Instead try the main mime type class too.
+         - Seems that some newer distributions don't have a link to some
+           gnome default icons anymore. So check the default gnome dir too.
+         
+
+2006-05-16  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Don't paint the parent background image if we have
+       our own background image.
+
+2006-05-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - PerformLayout: Do not shrink space filled by DockStyle.Fill
+           controls, all filled controls are supposed to overlap (#78080)
+         - UpdateZOrder is supposed to update the control's z-order in the
+           parent's z-order chain. Fixed to behave like that
+         - BringToFront: Removed obsolete code
+         - SendToBack: Simplyfied
+         - SetChildIndex: Trigger layout calculations when Z-order changes
+           since layout is done by z-order
+
+2006-05-16  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes bug #78410 ]
+       * DataGrid.cs (set_AlternatingBackColor): use
+       grid_drawing.InvalidateCells instead of Refresh().
+       (set_BackColor): call grid_drawing.InvalidateCells.
+       (set_BackgroundColor): use Invalidate instead of Refresh.
+
+       * DataGridDrawingLogic.cs (InvalidateCells): new function, just
+       invalidate the cell area.
+
+2006-05-15  Chris Toshok  <toshok@ximian.com>
+
+       [ fixes bug #78011 ]
+       * ThemeWin32Classic.cs (DataGridPaintRows): pass the clip argument
+       on to DataGridPaintRow.
+       (DataGridPaintRow): take a clip argument, and only draw the cells
+       which intersect it.  same with the not_usedarea.
+
+       * Theme.cs (DataGridPaintRow) add @clip parameter.
+
+       * DataGrid.cs (ScrollToColumnInPixels): simplify, use
+       XplatUI.ScrollWindow.
+       (ScrollToRow): same.
+
+       * DataGridDrawingLogic.cs (UpdateVisibleColumn): fix corner case
+       with last column which was causing a gray swath to appear with the
+       XplatUI.ScrollWindow code.
+
+2006-05-15  Chris Toshok  <toshok@ximian.com>
+
+       * ListBox.cs (HorizontalScrollEvent): in the non-multicolumn case,
+       use XplatUI.ScrollWindow.
+       (VerticalScrollEvent): use XplatUI.ScrollWindow.
+
+2006-05-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Added handling of middle-button paste for X11. (#78375)
+
+2006-05-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursors.cs: For X11, read NWSE and NESW cursors from our resource
+         file since there are no equivalent X11 cursors
+
+2006-05-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MonthCalendar.cs : DateTimePicker should reflect selected date
+         on mouse*up*, not mouse*down*. Fixed originally reported part of
+         bug #76474.
+
+2006-05-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TabControl.cs : When argument index is equal or more than tab
+         count, just ignore. Fixed bug #78395.
+
+2006-05-15  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Dispose all child controls when control is diposed (#78394)
+
+2006-05-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: Finally it is possible to select the color with
+         the text boxes
+
+2006-05-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * PrintDialog.cs: Fix typo
+
+2006-05-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * PrintDialog.cs: PrintDialog is not resizable
+       * ThemeWin32Classic.cs: Draw non links in LinkLabel with the correct
+         color. Made some ToolBar drawing methods protected virtual.
+
+2006-05-13  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * PrintDialog.cs: Implementation of the PrintDialog
+
+2006-05-12  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollBar.cs (set_Value): don't use Dirty/Invalidate to move the
+       thumb, instead use MoveThumb.  This has the side effect of making
+       most of the other thumb moving machinery use MoveThumb as well.
+       (OnHandleCreated): pass false for @dirty to UpdateThumbPos, as we
+       need to actually invalidate the rectangle where the new thumb will
+       go.
+       (MoveThumb): use XplatUI.ScrollWindow to move the thumb around.
+       We force an Update() after, so it's not as fast as it could be,
+       but at least there's zero flicker and no droppings.
+       (OnMouseMoveSB): in the thumb dragging case, use MoveThumb.
+       (UpdateThumbPos): add another argument (dirty), which says whether
+       or not to calculate/add dirty regions which we later invalidate.
+       For cases where we know we're going to use MoveThumb, we pass
+       false for this.  Otherwise, pass true.
+
+2006-05-12  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Class.cs: Fixes for alignment and icon rendering in
+       the status bar.
+       
+2006-05-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new SetClipRegion
+         and GetClipRegion methods and UserClipWontExposeParent property.
+       * XplatUIWin32.cs: Implemented SetClipRegion/GetClipRegion methods,
+         overriding UserClipWontExposeParent property, setting to false, since
+         Win32 handles the required expose messages to draw our clipped parent
+         areas internally
+       * XplatUIX11.cs: Implemented SetClipRegion and GetClipRegion; updated
+         PaintEventStart to set the user clip region if set.
+       * Control.cs: 
+         - Now internally tracking the Region for the control since we need to
+           store it if the handle is not yet created and only set it when it
+           becomes created. Before setting the region forced handle creation
+         - Added code to draw the parents underneath a user-clipped region
+       * Hwnd.cs: Added UserClip property
+
+2006-05-12  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollBar.cs (set_LargeChange): Refresh() -> InvalidateDirty()
+       (set_Maximum): same.
+       (set_Minimum): same.
+       (set_SmallChange): same.
+       (OnMouseUpSB): remove the call to refresh when releasing the
+       thumb.  We shouldn't need it.
+       
+2006-05-12  Miguel de Icaza  <miguel@novell.com>
+
+       * StatusBar.cs (UpdatePanel): If the panel being refreshes has the
+       AutoSize set to None, we do not need to relayout everything, we
+       just need to invalidate the current region.
+
+       (Draw): Do not draw the entire ClientArea, just redraw the
+       clip area being passed.
+
+       * MdiClient.cs: Make MdiClient constructor with the Form argument
+       internal. 
+
+2006-05-12  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs (DrawToolBar): Flat toolbars get their
+       parents background image,  but strangely not their own.
+       - (DrawStatusBarPanel): Take into account horizontal alignment
+       when drawing the strings and icons.
+
+2006-05-12  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs: avoid invalidations for focus when the collection is
+       empty. 
+
+2006-05-12  Chris Toshok  <toshok@ximian.com>
+
+       * ScrollBar.cs (OnMouseMoveSB): when dragging the thumb, don't
+       invalidate the entire thumb area.  Call InvalidateDirty which
+       limits the redraw to the thumb itself and surrounding pixels.
+
+       * XplatUIX11.cs (ScrollWindow): optimize copying.
+       
+2006-05-12  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridDrawingLogic.cs: make CalcGridAreas non-reentrant.
+       Figure out the positioning/layout in a single pass instead of
+       multiple recursive invocations.  Speeds up the initial display of
+       the data grid.  Also, make many things private that were
+       originally public but unused outside this class.
+
+2006-05-11  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Improved layout code.
+
+2006-05-11  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGrid.cs : Only check GetPropertiesSupported for properties,
+         not SelectedObject.
+
+2006-05-11  Chris Toshok  <toshok@ximian.com>
+
+       * Hwnd.cs (Invalid): don't start off with Rectangle.Empty, as
+       union of that will always be {0,0,width,height}.
+
+2006-05-11  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Match MS's DefaultSize for forms (they must have
+       changed the size in sp2).
+
+2006-05-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TextBoxBase.cs : implement CTRL+A (select all). Fixed bug #78368.
+
+2006-05-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * TextControl.cs : Fixed bug #78109. This incorrect position
+         comparison caused crash on automatic line split.
+       * TextBoxBase.cs : reduce duplicate code.
+
+2006-05-10  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Active form is only sent to the back when using
+       the Next form functionality, when a form is clicked the current
+       active shouldn't be sent to the back.
+       - Layout the mdi windows when the container is first made visible.
+       * Form.cs: Give the MdiClient a ref to the containing form when we
+       create it.
+       
+2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * LinkLabel.cs : link_font could be uninitialized, so populate one
+         before actual use. Fixed bug #78340.
+
+2006-05-10  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XplatUIX11.cs : clipboard format native value is IntPtr.
+         Fixed bug #78283.
+
+2006-05-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: 
+         - Instead of showing context menus directly we send WM_CONTEXTMENU, 
+           which is passed up the parent chain by DefWndProc
+         - We now handle WM_CONTEXTMENU to display any menu, or pass it 
+           to DefWndProc (#77956)
+       * XplatUIX11.cs: Added handling of WM_CONTEXTMENU (pass up) to DefWndProc
+
+2006-05-10  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: We need to remove the controls from the mdi
+       collection, when we close the window.
+       * MdiWindowManager.cs: Special handling of closing mdi windows.
+       * InternalWindowManager.cs: Make the close method virtual so the
+       mdi window manager can handle it specially.
+
+2006-05-10  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGrid.cs:
+         - Recalculate grid when the data source has changed
+         - Matches styles provided by user from all data sources types
+       * DataGridTableStyle.cs: For columns that provided by the user set the
+       with the preferred value is there was unassigned.
+       * CurrencyManager.cs: throw OnItemChanged event
+
+2006-05-10  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * PictureBox.cs: Don't animate until handle is created. Start animation
+         when handle is created.
+
+2006-05-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs, Hwnd.cs: Adopted Mike's patch from #77979 to match
+         current codebase.
+       * XEventQueue.cs: We don't need to provide the extra info
+
+2006-05-10  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: If the mdi clients parent form has a background
+       image set, we draw that background image for the mdi area's
+       background.
+
+2006-05-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Set IBeam cursor (#78347)
+
+2006-05-10  Mike Kestner  <mkestner@novell.com>
+
+       * ToolBar.cs: fix some text padding issues with ButtonSize
+       calculation. Update the default size to match MS documentation.
+       * ToolBarButton.cs: use ToolBar.ButtonSize for layout of unspecified
+       button size. Fixes #78296.
+
+2006-05-10  Mike Kestner  <mkestner@novell.com>
+
+       * ListBox.cs: use is_visible for scrollbar positioning in case the
+       control isn't on screen yet.  Fix off by one with Right vs Width
+       usage.  Update Scrollbars in SetBoundsCore. Fixes #78188 and #78258.
+       
+2006-05-10  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Drop to a control with another control on top of it.
+       * ToolBar.cs: Work on a copy of the buttons list, so that it can
+       be modified in click handlers. TODO: Look for similar problems in
+       other controls.
+
+2006-05-09  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Window managers need the old window state when setting
+       window state now.
+       * InternalWindowManager.cs: Allow the base mdi window manager to
+       handle more of the MDI only stuff (like maximize buttons).
+       * MdiWindowManager.cs: Fix some snafus in changing the window
+       state.  Add all the menu functionality, for both popup and
+       maximized menus.
+       * MdiClient.cs: When a new form is selected the currently
+       activated form is sent to the back, this matches MS.
+       - Implement a new method to activate the next mdi child window.
+
+2006-05-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: 
+         - Added new InternalCapture method to allow controls to prevent
+           the capture behaviour on the click handlers
+         - Switched to use InternalCapture
+       * ComboBox.cs:
+         - Using InternalCapture to prevent mouse captures from being released
+           on mouse button release (Fixes #78100)
+       * XplatUIX11.cs (DeriveStyles): Now checks caption state and only
+         returns Form borders if a caption is present. (Fixes #78310)
+
+2006-05-08  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TreeNode.cs: Changed serialization .ctor to not require every field
+         to be present. (#78265)
+       * OwnerDrawPropertyBag.cs: Added serialization .ctor
+
+2006-05-05  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: for is faster than foreach for strings.
+
+2006-05-05  Mike Kestner  <mkestner@novell.com>
+
+       * CheckedListBox.cs: update check handling code to not use selected.
+       * ListBox.cs: rewrite of mouse selection handling to correspond to MS
+       behavior for visual feedback, motion response, shift/ctrl handling,
+       and properly deal with all 4 selection modes. Updates to bounds
+       handling logic.  Add scroll wheel support. [Fixes #77842]
+
+2006-05-05  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ListView.cs:
+         - Moved adding of Implicit controls into .ctor. That way, subsequent
+           creation of the controls will not cause them to think they are 
+           toplevel windows (fixes #78200 header problem)
+         - Added 2.0 ShowGroups and UseCompatibleStateImageBehaviour
+         - Switched visibility setting of header control to use internal field
+           to avoid triggering handle creation
+         - Now checking if handle is created before causing a refresh when items
+           are added (This makes us now match handle creation time with MS)
+       * Splitter.cs: Removed loading of private splitter cursor, switched to
+         Cursors version now that that is loading the right ones
+       * Cursors.cs: Load proper splitter cursors from resources
+       * Cursor.cs: Added second method of loading resource cursors for the 
+         VS.Net users amongst us
+
+2006-05-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: give header_control a minimum size based on the
+       ListView size.
+
+2006-05-05  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: WS_EX_TOPMOST requires window to be on top. A dock
+         window seems to do that with metacity, so set that type. (#78120)
+
+2006-05-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListViewItem.cs: fix Details mode checkbox layout bug.
+       * ThemeWin32Classic.cs: draw a ListView column header for unused space
+       at the end of the header, if it exists. [Fixes for #78200]
+
+2006-05-04  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Add a helper property to get the container form.
+       * MdiWindowManager.cs: We have to make sure to use the menu origin
+       when drawing the icons and buttons, this fixes maximized window
+       icons/buttons on win32.
+       * InternalWindowManager.cs: Reset the restore captions when a
+       window goes from Maximized to Minimized and vice versa. Move the
+       DrawMaximizedButtons into the MdiWindowManager source, tool
+       windows can't be maximized. NOTE: This could use a little
+       refactoring if time ever permits.
+       
+2006-05-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * TextBox.cs: Add MWFCategoryAttributes
+       * TextBoxBase.cs: Add MWFCategoryAttributes
+       * Form.cs: Add MWFCategoryAttributes
+
+2006-05-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Control.cs: Add MWFCategoryAttributes
+       * ScrollableControl.cs: Add MWFCategoryAttributes
+
+2006-05-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Draw the ToolBar top border only if
+         Divider is true. Fix a little glitch in PropertyToolBar
+         drawing code
+
+2006-05-02  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - Dispose: Call base.Dispose, this causes the disposed event
+           to be fired (and probably other, more important stuff)
+         - SetVisibleCore: Set is_visible to true after creating the
+           window so that the window still gets created invisible (if
+           WM_VISIBLE isn't set). That will cause the ShowWindow afterwards
+           to generate a WM_ACTIVE message
+       * Form.cs: Call Dispose when we want to destroy the window, instead of
+         just destroying the handle (Dispose will do that for us)
+       * XplatUIX11.cs:
+         - RootWindow also needs a queue, so we can properly process the
+           property change events from RootWindow (like Activate)
+         - Generatic synthetic WM_ACTIVE message when the active window is
+           being destroyed
+
+2006-05-01  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * LinkLabel.cs: Trigger a recalc of our label dimensions when
+         bounds are changed
+
+2006-05-01  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs (ButtonBase_DrawImage): Use the proper image
+         for determining width and height (image might not be assigned if
+         we're drawing an imagelist)
+
+2006-05-01  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs: Added MenuHeight property
+       * XplatUIWin32.cs: Overriding new MenuHeight property, retrieving
+         height from system
+       * Theme.cs: No longer returns hardcoded menu height, instead calls
+         new driver method
+       * Form.cs (OnLoad): Scaling happens before triggering Load events 
+         on MS (# 78257)
+
+2006-05-01  Mike Kestner  <mkestner@novell.com>
+
+       * MenuItem.cs: fix NRE for text == null.  Fixes #78250.
+
+2006-04-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Removed Fixme
+       * RichTextBox.cs (set_RTF): Invalidate document after update (#78247)
+
+2006-04-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - ScrollWindow: We were passing hwnd.ClientRectangle which returns
+           the rectangle relative to the parent, considering borders. We
+           don't really want that.
+         - ScrollWindow: Fixed warning to be more understandable
+       * TextBoxBase.cs: Fixed ScrollWindow calculations to consider our
+         scrollbars and scroll only the visible area
+       * RichTextBox.cs: Removed debug output
+
+2006-04-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * NumericUpDown.cs (Text): Just use base
+       * UpDownBase.cs: Ensure txtView is created before using it
+
+2006-04-29  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (SetWindowTransparency): Casting opacity to int before
+         casting to IntPtr to avoid 64bit overflow errors
+
+2006-04-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - AllowDrop: Don't force handle creation.
+         - CreateHandle: Added call to tell driver if we're allowed to drop
+
+2006-04-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Remember the last directory not only for the
+         current instance but also for new FileDialog instances.
+
+2006-04-29  Peter Dennis Bartok  <pbartok@novell.com> 
+       
+       * XplatUIX11.cs: Forgot to set the queue on the foster parent. That
+         broke sending async messages
+
+2006-04-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - ScrollWindow: Fixed method. We finally generate expose events again
+           for scrolled areas. This was causing 'garbage' when scrolling
+           textbox and other controls that used ScrollWindow
+         - Switched from using the regular queue for paint events to the MS 
+           model of 'generating' paint events when the queue is empty.
+           We use the new XQueueEvent.Paint subclass to store which windows
+           need painting.
+         - AddExpose now takes the x/y/width/height of the exposed area
+           and inserts the window into the paint queue if not already there
+         - InvalidateWholeWindow: Switched to use new AddExpose method
+         - UpdateMessageQueue: Added which queue to monitor for paint events
+         - DefWndProc: Added default handler for WM_PAINT and WM_NCPAINT in
+           the unlikely case nothing above handles it. We reset the expose
+           pending states to get them off the queue.
+         - GetMessage: Now pulls a paint event if no other events are in the
+           queue
+         - Invalidate: Switched to new AddExpose method
+         - PeekMessage: Updated to understand pending paint events
+         - UpdateWindow: Fixed logic bug. We were only updating if the window
+           didn't need updating. Also switched to sending WM_PAINT directly,
+           like MS does.
+       * XEventQueue.cs: Added Paint queue support. Allows enqueue/dequeue
+         and random access Remove(). The random access is needed to handle
+         UpdateWindow() where a WM_PAINT is sent directly without accessing
+         the queue.
+       * ScrollBar.cs: Added Update() calls to cause immediate updates to
+         allow for better feedback when scrolling. Scrollbars are small and
+         the immediate update should make it 'feel' more responsive without
+         slowing things down. ScrollBar still needs it's invaliate logic
+         updated to not always invalidate the whole bar on certain changes.
+
+2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Control.cs:
+       (BackColor): if the control does not support a transparent background,
+       return the default backcolor when the parent backcolor is transparent.
+
+2006-04-28  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Application.cs: Updated to new StartLoop/GetMessage API
+       * RichTextBox.cs: Provide some output on RTF parsing errors
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs: Added
+         new queue_id argument to GetMessage and PeekMessage to allow faster
+         handling of per-thread queues in drivers.
+       * Hwnd.cs: Added Queue tracking and property
+       * MenuAPI.cs: Updated to new StartLoop/GetMessage API
+       * XEventQueue.cs: Added thread trackingA
+       * PropertyGridView.cs: Updated to new StartLoop/GetMessage API
+       * XplatUIX11.cs:
+         - Implemented new per-thread queue
+         - GetMessage: Fixed return/break behaviour on several cases. We were
+           returning stale messages in some cases, instead of just processing
+           the next message
+
+2006-04-27  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGrid.cs: Call GetPropertiesSupported on TypeConverter.
+
+2006-04-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs (DrawToolBar): Refactored, simplified the logic,
+         fixed off-by-one comparisons between Width/Height and Right/Bottom.
+
+2006-04-27  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGridView.cs: Fix drop down width.
+
+2006-04-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Peter thinks that three additional lines are
+         a mess in DrawToolBar, so I removed one of them.
+
+2006-04-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Draw the ToolBar border lines only if
+         needed (clip). Otherwise we get artifacts.
+
+2006-04-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * FixedSizeTextBox.cs: Added constructor to allow specifying which
+         dimension is fixed
+       * UpDownBase.cs: Set the spinner control to be fixed height vertical,
+         and switched FixedSizeTextBox to only be fixed vertical (#78116)
+       * Form.cs: Not applying the 'MS 0.08 fudge factor' for a given dimension
+         if it matches the scale base font (avoids unneeded scaling)
+
+2006-04-26  Alexander Olk  <alex.olk@googlemail.com>
+
+       * X11DesktopColors.cs: One gtk_init_check should be enough
+
+2006-04-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Moved Backspace handling into WM_CHAR block to
+         match MS behaviour
+
+2006-04-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: 
+         - Generate OnTextChanged for Backspace even if we're only deleting
+           the current selection
+         - When setting the Text property, only select all text if the
+           control does not have focus when it is being set. Otherwise
+           just place the cursor at the beginning of the control
+
+2006-04-26  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: ToolBars get drawn with two lines at the top.
+         Added a little helper to draw PropertyGrid ToolBar with a different
+         border and a different BackColor.
+       * PropertyGrid.cs: Some background parts didn't get painted with the
+         correct background color. Added a class that helps us to draw the
+         correct border for PropertyGridView and a class that helps us to
+         draw ToolBars with a different backcolor
+       * PropertyGridView.cs: Draw PlusMinus with the correct colors.
+
+2006-04-25  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGrid.cs: Bug 78196, font size, and splitter location.
+       * PropertyGridView.cs: Bug 78196, font size, and splitter location.
+
+2006-04-25  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIWin32.cs (DIBtoImage): ORing instead of ANDing the alpha
+         into the palette entries. Also, since we're working on a copy
+         we needed to copy the palette back onto the bitmap.
+       * Cursor.cs: Same fix as XplatUIWin32.cs.
+
+2006-04-25  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ImageListStreamer.cs: Need to read the var (or we're off)
+
+2006-04-25  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs, ComboBox.cs, CommonDialog.cs, Theme.cs, 
+         XplatUIWin32.cs, RichTextBox.cs, ImageListStreamer.cs,
+         TextBoxBase.cs: Unused var fixes
+       * AxHost.cs: Small 2.0 fix
+       * XplatUIX11.cs: Switched to IntPtr from int for XA_CARDINAL atoms 
+         as it seems that is what at least Metacity expects. This will make
+         icons show up on 64bit platforms. We still have some 64bit size
+         issues, though, since the startup app window size still won't match.
+
+2006-04-25  Mike Kestner  <mkestner@novell.com>
+
+       * *.cs: cleanup newly reported exception var unused warnings.
+
+2006-04-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Button image alignment now matches exactly
+         ms
+
+2006-04-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Fixed drawing code for buttons with an
+         image. The image position is always the same, no matter if the
+         button is pressed or not.
+
+2006-04-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: SaveFileDialog shouldn't rely on a MWFFileView
+         selection and set the correct filename for SaveFileDialog.
+         Patch by Emery Conrad.
+
+2006-04-24  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs (LastVisibleIndex): when in List mode of Alignment.Left,
+       check for item.X outside the ClientRect instead of item.Y. Fixes
+       #78151.
+
+2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: some images store a wrong grow factor, so don't
+       trust that value blindly and do some sanity check. Fixes bug #77814.
+
+2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: save the mask as a 1bpp image.
+
+2006-04-21  Mike Kestner  <mkestner@novell.com>
+
+       * CheckedListBox.cs: maintain CheckStatus here. Use DrawItemState to
+       pass Checked and Indeterminate to the Theme Engine. Improve
+       encapsulation with ListBox.
+       * ListBox.cs: Keep a StringFormat instead of calculating it every item
+       draw. Kill ListBoxItem. Refactor away the ListBoxInfo and ListBoxItem
+       nested types.  Move all CheckState functionality to CheckedListBox.
+       Make IntegralHeight work like MS.  Rewrite of Layout engine.  Fix
+       OwnerDrawVariable layout/rendering.  Fix multicolumn rendering.  Fix
+       ScrollAlwaysVisible handling. Refactor "selected" collections to use a
+       single base list. Fix scrollbar sizing and placement to mirror MS.
+       * Theme.cs: remove CheckedListBoxCheckRectangle. It wasn't really
+       used.
+       * ThemeWin32Classic.cs: implement Indeterminate CheckState rendering
+       for CheckedListBox by using new DrawItemState info.  Center the
+       checkboxes on the items. Use new StringFormat property.
+
+2006-04-18  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: MdiChildren don't do default locations the same way as
+       regular forms.  This prevents a crash when trying to position the
+       mdi windows.
+
+2006-04-17  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGridTextBox.cs: Formatting, copyright
+       * PropertiesTab.cs: Formatting
+       * PropertyGrid.cs: Formatting
+       * PropertyGridView.cs: Formatting, fix drop down, enabled double 
+         click toggling of values
+         
+2006-04-17  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * KeyPressEventArgs: Added 2.0 only setter for KeyChar
+       * Control.cs (.ctor): verify_thread_handle is static, don't reset
+         every time a control is created
+       * Application.cs: Removed obsolete EnableRTLMirroring method
+
+2006-04-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TabControl.cs: Avoid ArgumentOutOfRangeException when setting
+       SelectedIndex to -1. Fixes bug #78121.
+
+2006-04-17  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Handle null values for Current and BindingContext.
+       This occurs when binding is a little delayed.
+       * CurrencyManager.cs: return null for Current when there are no
+       items in the list.
+       - Hookup to the listchanged event on the DataView and update
+       bindings when the list is changed.  This fixes late binding of
+       controls.
+
+2006-04-17  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs:
+       * XplatUIX11.cs: Drops should not create a mousedown. Patch by Tim
+       Ringenbach.
+
+2006-04-15  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Draw disabled combo button in the correct
+         place
+       * ComboBox.cs: If the combobox is disabled call CPDrawComboButton
+         with the correct ButtonState
+
+2006-04-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Improved distinguishing between window types to
+         tell the WM a type closer to what the app wants (Fixes #78107)
+
+2006-04-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Fixed drawing of ContainerGrabHandle and
+         GrabHandle
+
+2006-04-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Fixed size grip drawing and updated StatusBar
+         drawing code to reflect the size grip changes
+
+2006-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: fix handling of the mask that follows the main
+       bitmap when deserializing and serialize it properly. The generated mask
+       should better be a 1bpp image, but I'll do that later.
+
+2006-04-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Show something in the DirComboBox on *nix if the
+         path doesn't fit into some of our Current.Places
+
+2006-04-13  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Use borders instead of drawing our own decorations,
+       try to obey correct rules for heights.
+       * Theme.cs:
+       * ThemeNice.cs:
+       * ThemeClearLooks.cs:
+       * ThemeWin32Classic.cs: Remove combobox decoration drawing code,
+       this is now handled by borders.
+       - Remove unused DrawListBoxDecorationSize method.
+       
+2006-04-13  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: null guarding for the disbled click check fixes crash
+       reported by Alex.
+
+2006-04-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: 
+         - Fixed CPDrawStringDisabled
+         - Corrected drawing of disabled menu items
+         - Fixed drawing of disabled radio buttons (bug #78095)
+         - Draw check in a disabled CheckBox with color ControlDark 
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs: Use the provided width when calculating the menu size;
+         when being maximized we get WM_NCCALCSIZE before WM_WINDOWPOSCHANGED
+         and ClientSize.Width won't be updated yet
+       * Application.cs: Use Visible instead of Show() to make form visible,
+         this way we create the handle later and menusize is considered
+
+2006-04-12  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: ignore clicks on disabled menu items. Thanks to Alex for
+       reporting.
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBox.cs: Implemented context menu
+
+2006-04-12  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: implement box selection. fixes #77838.
+       * ThemeWin32Classic.cs: draw box select rect, remove a ResetClip.
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Added setting of window type when transient window
+         is created (metacity would move it otherwise)
+       * X11Structs.cs: Added WINDOW_TYPE atoms
+       * LinkLabel.cs: Override OnPaintBackgroundInternal and draw the
+         background (the control is Opaque but still wants transparent
+         backgrounds)
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Added OnPaintBackgroundInternal to allow controls
+         that set Opaque but don't mean it (like all ButtonBase-derived
+         controls) to still draw their background
+       * ButtonBase.cs: Override OnPaintBackgroundInternal and draw
+         the background
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs (PaintControlBackground): Set the graphics object
+         on our PaintEvent to null to prevent it from being disposed
+         when the PaintEvent gets disposed
+
+2006-04-12  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Use even more SystemBrushes and SystemPens
+       * ThemeNice.cs, ThemeClearlooks.cs: fix typo
+
+2006-04-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: 
+         - Added transparency check to BackColor property. Transparent
+           backgrounds are only allowed if the control styles permit it
+         - Added recursive painting of parent control background and
+           foreground if a control with a transparent backcolor is drawn
+           (Thanks to Tim Ringenback for providing his 'hack' as a base
+            for this patch) Fixes #77985 and #78026.
+         - Added Opaque style check before calling OnPaintBackground, no
+           need to draw the background if the control is opaque
+         - Removed ControlAccessibleObject owner variable (inherited from
+           base, no need to define again)
+         - Added some documentation links explaining the drawing events
+           and styles
+
+2006-04-11  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Splitter.cs (CalculateSplitPosition): Corrected the bad assumption
+         that the affected control is the located at the left border of our
+         parent (Fixes #77936)
+
+2006-04-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: When rendering disabled or readonly controls,
+         draw the background with 'Control' instead of 'Window' color as
+         long as the user hasn't specifically set a color
+
+2006-04-11  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Don't try to shortcut by checking against base.Text
+         since that won't be updated if the user types text (only if it's
+         programatically set)
+
+2006-04-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollableControl.cs: Calculate DisplayRect dynamically, so that
+         layout changes do to app-triggered resizes will have the proper
+         display rectangle for layout
+
+2006-04-11  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs:
+         - Make use of the SystemBrushes and SystemPens wherever possible
+         - Corrected some highlight colors
+         - Corrected RadioButton and CheckBox FlatStyle.Flat and Popup
+           drawing
+       * Theme.cs: Added Empty field to CPColor struct
+
+2006-04-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollabeControl.cs: We need to consider whether or not a scrollbar
+         is displayed when calculating the display rectangle. Thanks to Mike
+         for teaching me the err of my ways.
+
+2006-04-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollableControl.cs:
+         - Rewrote DisplayRectangle code, now returning the proper x/y coords 
+           (instead of 0,0) and we now return the real width/height instead of
+           just the clientrectangle, adjusted for padding. The rectangle is
+           now cached and created by the new CalculateDisplayRectangle method.
+         - Created new CalculateDisplayRectange method, which basically does
+           what get_DisplayRectangle() did originally, but now using the 
+           right edge instead of DisplayRectangle to determine the size of
+           our scrollbars
+         - get_Canvas(): Fixed it to properly calculate canvas for 
+           right/bottom controls which seem to be placed to the right/bottom
+           of any controls that have a fixed location
+         - Removed TODO that's taken care of
+         - Removed NotImplementeds and attempted to implement AdjustFormScrollBars
+           and SetDisplayRectLocation according to new MSDN2 docs
+         - Added call to PerformLayout in OnVisibleChanged, MS causes a layout
+           event when that is called, this is added for compatibility
+         - ScrollControlIntoView(): Implemented.
+         - Switched scrollbars to be implicit, they shouldn't be selectable
+       * ContainerControl: Now that ScrollControlIntoView is implemented, we 
+         call it when the active control is set/changed
+       * ScrollBar.cs: Added support for generating Win32 scrollbar messages
+       * ImplicitHScrollBar.cs, ImplicitVScrollBar.cs: Now setting new base
+         implicit_control variable (used for native Win32 message generation)
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added new 
+         HorizontalScrollBarHeight and VerticalScrollBarWidth properties
+       * ThemeWin32Classic.cs: Now calling the driver for the scrollbar sizes
+       * XplatUIStructs.cs: Added ScrollBarCommands enum
+
+2006-04-10  Jackson Harper  <jackson@ximian.com>
+
+       * ButtonBase.cs:
+       * CheckedListBox.cs:
+       * ComboBox.cs:
+       * DataGrid.cs:
+       * DataGridView.cs:
+       * Form.cs:
+       * GroupBox.cs:
+       * ListBox.cs:
+       * PrintPreviewControl.cs:
+       * ProgressBar.cs:
+       * PropertyGrid.cs:
+       * Splitter.cs:
+       * StatusBar.cs:
+       * TrackBar.cs:
+       * UpDownBase.cs: Fixup base event overrides.
+       
+2006-04-06  Mike Kestner  <mkestner@novell.com>
+
+       * ScrollBar.cs: fix "new event" declarations (#76509) and bounds check
+       all user-initiated value changes to min <= value <= max-thumbsz+1.
+       (set_Value): check for vert/horiz when calculating new thumb position.
+       (LargeIncrement): bounds check to stop pos at max - thumb_size + 1
+       like MS does.
+       (OnMouseMoveSB): refactor the thumb dragging code and refine
+       invalidation logic to reduce flicker.
+       (SetEndPosition): bounds check to stop pos at max - thumb_size + 1
+       (SmallIncrement): bounds check to stop pos at max - thumb_size + 1
+       (UpdateThumbPosition): small code readability cleanup
+
+2006-04-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Small UI polishing. Draw borders a little bit
+         different
+
+2006-04-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Use a better graphics effect when a button is pressed
+
+2006-04-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Theme.cs: Added GetDashPen and GetSizedPen to SystemResPool
+       * ThemeWin32Classic.cs: Make use of the new SystemResPool methods.
+         This dramatically reduces the number of Pen.Dispose calls. 
+         Where possible call ResPool methods only once instead of calling it
+         over and over again (for example for the same color).
+
+2006-04-06  Mike Kestner  <mkestner@novell.com>
+
+       * TabControl.cs: fix for SelectedIndex updating on TabPage removals.
+       Also remove an unused private field on the collection. Fixes #77972.
+
+2006-04-06  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Added ToolBar drawing code
+
+2006-04-06  Mike Kestner  <mkestner@novell.com>
+
+       * Form.cs (ShowDialog): MS allows IWin32Window param to be a non-form.
+       I'm assuming that means we need to look up the toplevel for the
+       provided control. Fixes the crash trace in #77911 but exposes another
+       crash in some strange reflection usage in NDocGui.
+
+2006-04-06  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Gave it a little silver touch and added Images
+         method
+       * FontDialog.cs: FontDialog is not resizable
+       * FileDialg.cs: Added SizeGripStyle.Show
+
+2006-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * KeyboardLayouts.cs: Remove warning.
+
+2006-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Enable OnPaintInternal so we can use it for drawing
+       all of our controls instead of Paint +=.
+       * ListBox.cs:
+       * ListView.cs:
+       * MenuAPI.cs:
+       * MessageBox.cs:
+       * NotifyIcon.cs:
+       * ProgressBar.cs:
+       * ScrollBar.cs:
+       * Splitter.cs:
+       * StatusBar.cs:
+       * TabControl.cs:
+       * TextBoxBase.cs:
+       * ToolBar.cs:
+       * TrackBar.cs:
+       * UpDownBase.cs:
+       * ComboBox.cs: Remove handling of WM_PAINT and WM_ERASEBKGND and
+       use OnPaintInternal. Remove Width/Height and Visible checks in
+       paint handler, this is done at a higher level now.
+       * GroupBox.cs: Don't need to handle WM_ERASEBKGND anymore.
+       * PaintEventArgs.cs: Add a handled flag so controls that don't
+       want anymore painting after OnPaintInternal can make sure OnPaint
+       isn't called.
+
+2006-04-05  Mike Kestner  <mkestner@novell.com>
+
+       * Form.cs: fix the menu WndProc hacks to respect the native enabled
+       state of the form, so that we don't process events when Modal dialogs
+       are up. Fixes #77922.
+
+2006-04-05  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Default for range length is 1 not 0. If set to 0 no match
+         checking is done.
+
+2006-04-05  Mike Kestner  <mkestner@novell.com>
+
+       * XplatUIX11.cs: fix typo in the EX_APPWINDOW transient patch.
+
+2006-04-05  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs (HeaderMouseMove): null guarding for the over column
+       when setting up the drag_to_index.  Fixes #78015.
+
+2006-04-04  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: If WS_EX_APPWINDOW isn't set we don't want to show up
+         in the taskbar. Transient windows seem to accomplish that.
+
+2006-04-04  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs:
+         - Re-enabled CreateParams.X/Y code for FormStartPosition
+         - Added code for manual placement when creating the Control
+         - Incomplete patch to treat MDI forms differently when
+           setting the ClientSizeCore. (Still need to figure out handling
+           x/y coords there)
+       * XplatUIX11.cs:
+         - When we're explicitly setting the X/Y position of a non-Child
+           window, let the WM know. Metacity really wants this.
+
+2006-04-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Added CPDrawButton
+
+2006-04-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Changed the color for focused buttons and activated
+         the arrows for small scroll buttons.
+
+2006-04-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Removed DrawFlatStyleButton, not needed
+         anymore. Changed some method modifiers to protected (virtual)
+       * ThemeClearlooks.cs: Updated to reflect the ThemeWin32Classic
+         changes
+       * ThemeNice.cs: Updated to reflect the ThemeWin32Classic changes.
+         Updated drawing of menus, buttons and progressbars; added
+         CPDrawBorder3D 
+
+2006-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: implemented serialization/deserialization
+       of the images.
+
+2006-04-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs:
+         - Removed all the DrawFrameControl stuff; CPDrawButton,
+           CPDrawCheckBox and CPDrawRadioButton are now handled directly
+           inside the methods
+         - Updated and corrected the drawing code of CPDrawButton,
+           CPDrawCheckBox and CPDrawRadioButton to better match ms
+         - Updated theme checkbox and radiobutton code to use the CP*
+           methods
+
+2006-03-31  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Enable clipping again now that the libgdiplus
+         bug is fixed
+
+2006-03-31  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Somehow we get SETCURSORS for bad windows
+       sometimes.
+       * UpDownBase.cs: Don't CreateGraphics manually, use a
+       Refresh. Ideally we would invalidate the correct areas here.
+
+2006-03-31  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: 
+         - We now track the mapping state of windows. If a window (or 
+           one of it's parents) is not mapped we no longer permit
+           WM_PAINT messages to be generated since we'd otherwise get 
+           lots of BadMatch X errors. Jackson did all the work figuring
+           out the problem.
+         - Destroying the caret if the window it's contained in is 
+           destroyed. Can't use regular DestroyCaret method since it
+           might fall into a drawing function (trying to remove the
+           caret) and with that generate new BadMatch errors. Again,
+           Jackson tracked this down.
+         - Changed DestroyChildWindows to SendWMDestroyMessages, we now
+           make sure we send the messages to all windows. (The old code
+           would send the WM_DESTROY to the window, and then all child
+           windows would be 'gone' because the WM_DESTROY handle lookup
+           would no longer find the destroyed window)
+       * Hwnd.cs: Added Mapping property to track mapping state of hwnd
+       * X11Structs.cs: Added WindowType enum for MapWindow/UnmapWindow
+
+2006-03-31  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollableControl.cs: Dont recalc if we are not visible.
+
+2006-03-31  Mike Kestner  <mkestner@novell.com>
+
+       * Control.cs (SetVisibleCore): move the CreateControl call up ahead of
+       the visibility branch.
+
+2006-03-31  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: Cap values when incrementing/decrementing.
+
+2006-03-31  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: setup menu.tracker for popup/context menus.
+       * ToolTip.cs: guard against timer expirations with no active control.
+       Not sure why it happened.
+
+2006-03-31  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: add some horizontal padding space for the tip
+       text.
+       * ToolTip.cs: Position the tooltip based on where the cursor is at
+       popup time, not at MouseEnter time.  Add a Down state so that we don't
+       redisplay tips without a Leave. Use faked XplatUI.GetCursorInfo for
+       positioning offset. Lookup DisplaySize at positioning time, since it
+       can theoretically change during invocation.
+       * XplatUIWin32.cs: fake GetCursorInfo until pdb can do it properly.
+       * XplatUIX11.cs: fake GetCursorInfo until pdb can do it properly.
+
+2006-03-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Use CPDrawBorder3D to draw a GroupBox.
+         Fixes behaviour when the Text property of the box is String.Empty
+
+2006-03-31  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Only send mouseleave for our client windows, not
+         for the whole window (otherwise we get WM_MOUSE_LEAVE twice for
+         a window)
+
+2006-03-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Visual enhancement for the popup buttons in 
+         PopupButtonPanel
+
+2006-03-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border
+         code
+
+2006-03-30  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and
+         highlighted menu items to match ms
+
+2006-03-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty
+
+2006-03-30  Mike Kestner  <mkestner@novell.com>
+
+       * Menu.cs (SelectedItem): use new MenuItem.Selected prop.
+       * MenuAPI.cs: use new MenuItem.Selected prop. redraw MainMenu when we
+       go active to account for HotLight to Selected transition.
+       * MenuItem.cs: add internal Selected prop. Fill out the Status
+       property by calculating it from item info. Add HotLight,
+       NoAccelerator, Checked, Grayed, and Disabled flags where appropriate.
+
+2006-03-30  Mike Kestner  <mkestner@novell.com>
+
+       * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw.
+
+2006-03-29  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Implement TODO.
+
+2006-03-29  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * PrintPreviewDialog.cs: Implemented missing methods and events; still
+         missing proper dialog setup in the constructor
+
+2006-03-29  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ProgressBar.cs: Added 2.0 Style property that apps seem to use
+       * Control.cs:
+         - Implemented CheckForIllegalCrossThreadCalls, removed TODO
+         - Fixed ResetBindings and removed TODO
+         - Added check for cross-thread calls to get_Handle()
+         - Added Marshaller attribute for set_Font to satisfy class status
+       * FontDialog.cs: Removed TODOs that seemed implemented
+       * UpDownBase.cs: Removed unneeded TODO and Fixme
+       * MessageBox.cs: Implemented support for Default button and removed TODO
+       * FileDialog.cs: Removed obsolete TODO
+       * DomainUpDown.cs: Removed obsolete TODO
+       * ButtonBase.cs: Removed obsolete TODO
+       * XplatUIWin32.cs: Removed obsolete TODO
+       * Form.cs:
+         - Removed obsolete TODO
+         - Calling CheckAcceptButton when the acceptbutton is changed to allow
+           internal status updates
+         - Making sure the active control is selected when the control is created
+       * CurrencyManager.cs: Removed obsolete TODO
+
+2006-03-29  Mike Kestner  <mkestner@novell.com>
+
+       * *.cs: fix remaining corcompare issues for 1.1 API with the exception
+       of PrintPreviewDialog and RichTextBox.
+
+2006-03-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Theme.cs: Added a little helper to SystemResPool to get the Dark,
+         DarkDark, Light and LightLight colors for a specific color
+       * ThemeWin32Classic.cs:
+         - Use Button drawing code to draw RadioButtons and CheckBoxes with
+           Appearance = Button 
+         - Make use of the new ResPool helper CPColor
+         - Draw ProgressBar and StatusBar with correct 3D borders
+
+2006-03-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: Return selected color. Fixes bug #77940.
+
+2006-03-28  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: fix Icon layout to plan for scrollbar widths when
+       calculating col/row counts.
+
+2006-03-28  Mike Kestner  <mkestner@novell.com>
+
+       * ColumnHeader.cs:
+       * ListView.cs:
+       * ListViewItem.cs:
+       * Menu.cs: 
+       switch to explicit interface method implementation for some methods
+       corcompare identifies as inconsistent with MS.
+
+2006-03-28  Mike Kestner  <mkestner@novell.com>
+
+       * MainMenu.cs: 
+       * Menu.cs:
+       add a few missing methods from the class status output.
+
+2006-03-28  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now
+         correct.
+
+2006-03-28  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917.
+
+2006-03-27  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for
+       the Hilight state to adapt to Alex's CPDrawBorder3D changes.
+
+2006-03-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms.
+
+2006-03-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs:
+         - GroupBox: Inserted a little gap between the text and the lines
+           on the right side
+         - Made the code in CPDrawBorder3D more readable
+         - Corrected the drawing location of the up and down arrows in 
+           CPDrawScrollButton
+
+2006-03-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ControlPaint.cs: Corrected line widths in DrawBorder for
+         ButtonBorderStyle Inset and Outset
+
+2006-03-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs:
+         - Rewrote the totally broken CPDrawBorder3D method. That was
+           one of the main problems for the terrific ThemeWin32Classic
+           look
+         - Updated and corrected Button drawing
+         - Correct the dimensions of the SizeGrip to match ms ones
+         - Removed a small drawing glitch in DrawComboBoxEditDecorations
+       * XplatUIX11.cs: Draw borders with BorderStyle = Fixed3D with
+         Border3DStyle.Sunken to match ms.
+
+2006-03-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: First small part of the "de-uglify
+         ThemeWin32Classic" effort, SizeGrip
+
+2006-03-24  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Give a max idle time of one second, this matches
+       MS and forces an Idle event every second when there are no other
+       events in the queue.
+
+2006-03-24  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: Handle (Large|Small)ImageList == null more robustly.
+       * ListView.Item.cs: fix layout issues with null image lists and images
+       smaller than checkbox size.
+       * ThemeWin32Classic.cs: Draw a 12 pixel line in ListView LargeIcon
+       mode like MS does.  It's weird, but consistent.  ;-)
+       Fixes #77890.
+
+2006-03-24  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: Scroll wheel support for the item control.  Fixes
+       #77839.
+
+2006-03-23  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollableControl.cs: Special case negative sized areas, not
+       zero.
+       * MonthCalendar.cs: Save the rect of the clicked date so we can
+       use it for invalidation.
+       - Try to cut down on the number of invalidates
+       - Invalidate the rect the mouse is over and was over when moving
+       the mouse, so we get the focus box following the cursor.
+
+2006-03-23  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: fix FullRowSelect selection background and
+       focus rectangle drawing. Fixes #77835.
+
+2006-03-23  Mike Kestner  <mkestner@novell.com>
+
+       * XplatUIX11.cs: rework the fix for #77828 by changing the order of
+       the if and else if and reverting back to the original == check on the
+       None conditional.
+
+2006-03-23  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FontDialog.cs: Update the example panel if the selected index of
+         the fontListBox changes.
+
+2006-03-23  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Make FileDialog remember which directory it was in
+         last in the same execution.
+
+2006-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * FileDialog.cs: make the DropDownMenu on the toolbar display
+       RadioChecks since they are mutually exclusive and that's what MS does.
+
+2006-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * Theme.cs: add Color param to CPDrawMenuGlyph.
+       * ThemeWin32Classic.cs: do color specific menu glyph rendering so that
+       checks and radio marks and arrows are visible on highlighted items.
+       * ControlPaint.cs: update to use new Theme signature.
+
+2006-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: only process Enter and arrow keypresses if the tracker
+       is active. Fixes #77870.
+
+2006-03-22  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox
+         to be focused/selected after startup
+
+2006-03-22  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: 
+         - Corrected behaviour of Color, AllowFullOpen, FullOpen,
+           CustomColors and ShowHelp properties
+         - Some internal rewrites to get better results when using the
+           ColorMatrix
+
+2006-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: hook into Peter's new ResetMouseHover capability to fix
+       HoverSelection.  Fixes #77836.
+
+2006-03-22  Mike Kestner  <mkestner@novell.com>
+
+       * FileDialog.cs: bugfixes for the toolbar.  Use PushButtons instead of
+       ToggleButtons.  (De)Sensitize the Back button around a stack count of
+       1, not 0.  Update ButtonSize based on a pixel count of the win32
+       control.  Adjust the toolbar size/location for new button size.
+
+2006-03-22  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Don't handle configurenotifys if PostQuitState is
+       true.
+       * ScrollBar.cs: When doing increments and decrements we need to
+       set the Value property so that ValueChanged gets raised. A
+       possible optimization here would be to make an internal SetValue
+       that doesn't invalidate immediately.
+       * ToolTip.cs: Tooltips get added to their container (when
+       supplied) so they get disposed when the container is disposed.
+       - Don't create tooltips for String.Empty. This prevents all these
+       little 2-3 pixel windows from showing up when running nunit-gui
+       and driving me mad.
+       * Form.cs: Don't set topmost when setting the owner if the handles
+       haven't been created yet.  The topmost set will happen when the
+       handles are created.
+
+2006-03-22  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs:
+         - DeriveWindowStyles: Fixed typo in borderstyle generation (#77828)
+         - SetVisible: Sending WINDOWPOSCHANGED for all controls when made 
+           visible (to allow them to recalculate their sizes)
+
+2006-03-21  Mike Kestner  <mkestner@novell.com>
+
+       * ThemeWin32Classic.cs: major refactoring of the ToolBar rendering
+       methods. Removed a ton of redundant code.  Still not really happy with
+       the border rendering, but I think that's mainly because of the
+       ControlDarkDark being black instead of a dark grey. Depending on how 
+       close we want to be, we might want to revisit those color choices.
+       Among the new features added during the refactor were DropDownArrow
+       pressed rendering, Disabled image rendering.  Proper flat appearance
+       boundary rendering.  Removed the Divider and Wrapping dividers since I
+       can't figure out any combination of themes and conditions to make the
+       MS control draw a horizontal line on a toolbar despite what the
+       Divider property docs indicate.
+       * ToolBar.cs: rewrite the layout engine. Fixes numerous flicker
+       conditions and incorrect layout.  Updated to coding standard.
+       * ToolBarButton.cs: refactored layout and positioning code from
+       ToolBar to here.  Invalidate wherever possible instead of forcing
+       redraws of the whole toolbar. 
+       (Known remaining issues: explicit ButtonSize smaller than provided
+       images.)
+
+2006-03-21  Mike Kestner  <mkestner@novell.com>
+
+       * ContextMenu.cs (Show): use the position parameter instead of just
+       showing at the MousePosition.
+
+2006-03-21  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Remove the call to ProcessKeyEventArgs and let
+       control handle this.
+       * TreeNodeCollection.cs: If we are clearing the root node we need
+       to reset top_node so calcs can still happen.
+       * ThemeWin32Classic.cs: This is a Flags so we need to check
+       properly.
+       
+2006-03-21  Jackson Harper  <jackson@ximian.com>
+
+       * DataGrid.cs: Create columns when the binding context has been
+       changed.
+       * X11Structs.cs: Keysyms are uints.
+       - Add size to fix build.
+
+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
+       name, if the member is a data set we use the name to find the
+       correct table.
+       * CurrencyManager.cs: When creating the list prefer an IList over
+       an IListSource.
+       - Attempt to create a DataTable from a DataSet (TODO: might need
+       some better error checking here, although MS doesn't seem to have much)
+       - If we have a DataTable create a view and use it as our list.
+
+2006-03-15  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: keep a matrix of the icon mode layout to facilitate
+       keyboard navigation. Support Up/Down/Left/Right selection correctly
+       for all 4 View modes.
+       * ListViewItem.cs: add internal row/col fields for icon layouts.
+
+2006-03-15  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Redraw the tabs when we resize so their newly
+       calculated sizes are drawn on screen.
+       * X11Keyboard.cs: Begginnings of XIM support.  We also now support
+       composite characters.
+       * XplatUIX11.cs: Keyboard driver needs to know about focus changes
+       - filter events so that composite characters can be created
+       patches by peter
+       * X11Structs.cs: Add XIMProperties enum.
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs (BringToFront, SendToBack): Don't use window or handle
+         unless it's created
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (PerformLayout): We don't need to consider visiblity
+         for anchoring, only for docking. This fixes 'whacky' alignment
+         in listbox and other controls that use implicit scrollbars after
+         the previous PerformLayout patch
+       * ListBox.cs: Switched to use implicit scrollbars
+         
+2006-03-14  Mike Kestner  <mkestner@novell.com>
+
+       * ToolBar.cs: 
+       * VScrollBar.cs:
+       - chain up the "new event" overrides to base and use
+       OnEvent to raise them.  Part of fix for bug #76509.
+
+2006-03-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Do not select an item in the parent directory
+         on backspace
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs (PerformLayout): It would seem that we considered
+         invisible windows for our layout. Not quite the right thing
+         to do. Now we don't any longer, thereby fixing bug #76889.
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (CanFocus): I goofed. A control can have focus 
+         even though it's not selectable. Made it match MS docs.
+
+2006-03-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ControlPaint.cs (DrawBorder3D): DrawBorder3D does not fill the
+         center by default (fixes #76895)
+       * ThemeWin32Classic.cs, ThemeNice.cs, ThemeClearlooks.cs: Replaced 
+         all uses of Border3DSides.All with the explicit ORd together
+         Left|Right|Top|Bottom because I assume that nobody was aware 
+         that All also implies a center fill. Most places I checked had
+         a fill right above.
+       * ProgressBarStyle.cs: Added
+
+2006-03-13  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: fix breakage in drag shadow header positioning 
+       from Peter's csc compilation fix.
+
+2006-03-13  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: fix NRE produced by backspacing twice in a focused
+       FileDialog.
+
+2006-03-13  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
+
+2006-03-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs: Added fixed_size field to track windows whose size cannot
+         be changed
+       * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting
+         the allowed size before making programmatic size changes
+
+2006-03-13  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are 
+         set, metacity is broken and will still use the emty sizes in 
+         the struct. (Fix for #77089)
+
+2006-03-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIStructs.cs: Split WindowStyles into WindowStyles and 
+         WindowExStyles and marked both enums as Flags
+       * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs,
+         NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated
+         to match WindowStyles split
+       * XplatUIX11.cs:
+         - SetWMStyles: Added cehck to not apply WM attributes to Child windows
+         - Updated to match WindowStyles split
+       * XplatUIWin32.cs:
+         - Fixed FosterParent creation, was using ExStyle on the Style field
+           (This should help with Popup focus issues)
+         - Updated to match WindowStyles split
+
+2006-03-13  Jackson Harper  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: Use the system menu height. Fixes some
+       strange sizing issues.
+
+2006-03-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
+       * TextBoxBase.cs:
+         - Scroll to caret after inserting text (#77672)
+         - Make scroll range one pixel higher, fixes off-by-one error (and
+           makes underlines visible on the last line)
+
+2006-03-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent
+         the keyboard state from being stuck with keys in 'pressed' state when
+         focus is switched away via keyboard
+       * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to
+         reset the keyboard if no X11 KeyUp events are expected to come
+       * X11Structs.cs: Switched type of Visible to bool to match driver
+
+2006-03-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - Switched caret to be just 1 pixel wide, matches MS and looks less
+           clunky
+         - Moved caret display 1 pixel down from the top of the control
+           to improve view
+         - InsertCharAtCharet: Update the selection start if moving the caret
+           (fixes bug #77696; based on patch suggested by kazuki@panicode.com)
+         - No longer always creating the caret when the caret methods are
+           called. Only the actual ShowCaret/HideCaret will do that now
+         - Only setting caret visible if the owner control has focus
+         - UpdateView: Added invalidation-shortcut logic for center and right 
+           aligned text. Previously we'd update all according to the left
+           logic which caused drawing errors. Also fixed height of invalidated
+           areas, now properly invalidating the whole area (was off-by-one)
+         - owner_HandleCreated: Always generate the document when the
+           handle is created; this ensures that 
+       * TextBoxBase.cs:
+         - Fixed situation where caret would disappear under the right
+           window border, also improved scrolling behaviour on left-
+           aligned textboxes
+         - Fixed right-aligned textboxes to have a border to the
+           right instead of the caret being under the right border
+       * XplatUIX11.cs:
+         - Switched from 'nested' to simple visible/not visible tracking 
+           for caret (part of fix for #77671)
+         - No longer passing through translated FocusIn/FocusOut messages
+           since we were notifying too often and the wrong windows. Instead
+           we just notify our focussed window of receiving or loosing focus
+       * XplatUIWin32.cs: Switched from 'nested' show/hide 
+         counting for caret to simple visible yes/no behaviour (part of 
+         fix for #77671)
+
+2006-03-11  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Remove debug code...
+
+2006-03-11  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeGenerated.cs: Removed
+       * Mime.cs: Mime now reads the mime data (magic, globs, aliases
+         and subclasses) from /usr/(local/)share/mime and
+         $HOME/.local/share/mime.
+
+2006-03-10  Jackson Harper  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: Recalc the NC area when a window is
+       maximized/restored so that the menu area is drawn on forms that
+       don't have a menu.
+
+2006-03-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: Added RequestNCRecalc method to driver to allow
+         us to force a WM_NCCALCRESIZE message being sent. This is needed
+         for MDI maximizing.
+
+2006-03-10  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: We need to use the ActiveMenu when calculating menu
+       height.
+       - Fix nullref when the window manager hasn't been created yet.
+       * Control.cs: Fix nullref when we try to bring a control to the
+       front that has no parent.
+       * MdiWindowManager.cs: Use the MaximizedMenu for calculating
+       height.
+       - Add a dummy item to the maximized menu so it always has the
+       correct height. Otherwise when there are no menus we don't get our
+       icon and buttons.
+       
+
+2006-03-10  Jackson Harper  <jackson@ximian.com>
+
+       * MenuAPI.cs: Make this available elsewhere. I need it in some MDI
+       stuff.
+       * Form.cs: Make the window_state internal so the window managers
+       can track it.
+       - When an MDI child is maximized let its window manager create the
+       main menu (so it can add its icon).
+       - Notify the window managers of state changes
+       - Let the window manager paint its buttons and handle button
+       clicks on the menu when it is maximized.
+       * InternalWindowManager.cs: Move the prev_bounds into the mdi
+       window manager, since tool windows don't use it, only mdi windows.
+       - Tell the main form that we don't want it to handle NCPAINT
+       itself to avoid extra painting.
+       - Handle clicks on a maximized windows menu.
+       - Handle window state changes
+       - Handle minimize/maximize clicks correctly by setting the window state.
+       * MdiWindowManager.cs: Add an icon menu that (the menu you get
+       when clicking on the forms icon).
+       - New method to create a forms maximized menu. This is its normal
+       menu + an icon.
+       - Handle window state changes.
+       - Handle sizing of maximized windows.  Maximized windows are just
+       drawn bigger then the parent visible area. All controls are still
+       there, they are just outside the visible area (this matches windows).
+       * MdiClient.cs: No scrollbars when a child window is maximized.
+       - Let the children windows figure out how big they should be when
+       sizing maximized windows.
+       - Implement a version of ArrangeIconicWindows somewhat similar to
+       Windows version.  There are some little differences, but I don't
+       think any app will rely on the layout of minimized mdi windows.
+
+2006-03-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Padding.cs: Several fixes to allow compiling with csc 2.0
+
+2006-03-09  Jackson Harper  <jackson@ximian.com>
+
+       * Menu.cs:
+       * MenuItem.cs: Cheap hack so we can add items to the list without
+       the events being raised.  This allows adding mdi items during
+       drawing. TODO: Should probably find a better time to add the items.
+
+2006-03-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs:
+         - CheckBox_DrawText: Added logic to not wrap if not enough space
+           is available (Fix for bug #77727)
+         - RadioButton_DrawText: Added logic not to wrap if not enough
+           space is available (Fix for bug #77727). Also removed some
+           duplicate code, DrawString always drawing the regular text
+           before hitting the if statement.
+
+2006-03-10  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Handle an unmapped window state in SetWindowState
+
+2006-03-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726)
+       * ContainerControl.cs: Partial implementation of some 2.0 scaling
+         methods. Moved the new 2.0 properties into alphabetical order with
+         other properties and added MonoTODO tags
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * AutoScaleMode.cs: Added. Fix build.
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, 
+         XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used
+         and was requiring premature handle creation for calls from above
+       * Form.cs, Control.cs: Removed handle arguments from calls to
+         CalculateClientRect()
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ListView.cs (HeaderMouseMove): Fix csc compilation. 
+         drag_column.column_rect is MarshalByRef and can't be used that way
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * AxHost.cs: Added deserialization constructor for 
+         AxHost+State (fixes 77743)
+
+2006-03-09  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: 
+       - Added column drag reordering for details view.
+       - fixed behavior when mouse is dragged off column and
+       AllowColumnReorder is false.
+       * ColumnHeader.cs: clone the format too in Clone.
+       * Theme.cs: add DrawListViewHeaderDragDetails method.
+       * ThemeWin32Classic.cs:
+       - impl new method for drawing drag column shadows and targets.
+       - support column offset for details mode in DrawListViewItem.
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Reset the char_count when the document is cleared
+         (Fixes bug reported on mono-winforms mailing list)
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead
+         of calling base we simply process the key ourselves, since both
+         DefWindowProc and the handled method would set m.Result. 
+         (Fixes #77732)
+
+2006-03-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs(ScaleCore): No longer calling base.ScaleCore since that
+         method also moves the window; instead implemented a copy of
+         Control.ScaleCore (Part of fix for #77456)
+       * TextBoxBase.cs: 
+         - Created new CreateGraphicsInternal method to allow providing
+           a graphics context when no handle is created without triggering
+           handle creation. (Part of fix for #77456)
+         - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
+       * TextControl.cs: 
+         - Switched Constructor to require TextBoxBase instead of Control (to
+           allow uncast access to CreateGraphicsInternal)
+         - Safeguarded use of owner.Handle property. No longer accessing it
+           unless the handle is already created.
+         - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
+         - Now triggering a recalc when owning control becomes visible
+       * TextBox.cs, RichTextBox.cs: Switched to use new internal 
+         TextBoxBase.CreateGraphicsInternal() method to avoid triggering
+         premature handle creation (Part of fix for #77456)
+       * Control.cs:
+         - We now only destroy our double-buffering buffers when the
+           control is resized or disposed, but not when visibility
+           changes. (The code even re-created them twice every time)
+         - Now requiring a redraw of the buffer on visibility changes
+           (fixes bug 77654 part 2)
+         - Not passing OnParentVisibleChanged up unless the control
+           is visible
+         - CanFocus: Fixed to match MS documentation
+         - Focus: Fixed to return actual focus state and to check if
+           setting focus is legal before setting it
+
+2006-03-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: TabPages cannot have focus. Determine
+         when to draw focus rectangle by looking at parent focus and
+         selected state instead. This fixes TabPages on Linux sometimes
+         having none or multiple focus rectangles.
+       * XplatUIX11.cs (SetFocus): 
+         - Don't set the focus if the same window already has focus
+         - Use SendMessage instead of PostMessage (like it's Win32
+           equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS
+           to match MS behaviour
+       * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages
+         are not selectable.
+
+2006-03-07  Jackson Harper  <jackson@ximian.com>
+
+       * PictureBox.cs: Revert line I accidently committed last week.
+
+2006-03-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: 
+         - Added new IsRecreating and ParentIsRecreating properties to
+           allow testing if RecreateHandle has been called on ourselves
+           or one of our parents
+         - WndProc(WM_DESTROY): If our control handle is being recreated
+           we immediately need to create the handle when receiving the
+           destroy, that way our child windows find a valid parent handle
+           when they themselves are being recreated upon WM_DESTROY receipt
+           (fix for bug #77654 part 1)
+       * XplatUIX11.cs:
+         - DestroyWindow: WM_DESTROY must be sent to our own window before
+           notifying any child windows. MS documents that child windows
+           are still valid when WM_DESTROY is received. (Control now relies on
+           this behaviour)
+         - Added some fine-grain debug options
+
+2006-03-06  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Redid scrolling logic a bit to create a virtual
+       box and base calculations off this.
+       * MdiChildContext.cs:
+       * MdiWindowManager.cs: Don't need to ensure scrollbars here
+       anymore.
+       
+2006-03-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Splitter.cs: In situations where the affected control is added
+         to the parent's control list after the splitter, we would not
+         populate affected. Now we try populating it on mousedown, if
+         it's not already set, and force it to be re-set whenever our
+         parent changes.
+
+2006-03-03  Matt Hargett  <matt@use.net>
+
+       * Control.cs: implement Control.Padding
+       * Padding.cs: -Padding.All returns -1 when constructing with the
+       implicit default ctor
+       -Padding.ToString() matches MS.NET
+       * ContainerControl.cs: implement
+       ContainerControl.AutoScaleDimensions
+       * ListControl.cs: implement ListControl.FormattingEnabled
+       * TextBox.cs: Implemented TextBox.UseSystemPasswordChar.
+       * ButtonBase.cs:
+       * TabPage.cs: Implement UseVisualStyleBackColor.
+       * PictureBox.cs: Implement PictureBox.InitialImage.
+
+2006-03-03  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new
+       event declarations to proxy to base event.
+       * ListViewItem.cs: update to use ItemControl.
+       * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems.
+       * ThemeWin32Classic.cs: update to new ListView theme API and fix
+       column header label rendering for 0 width columns.
+
+2006-03-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (ControlCollection.SetChildIndex): Avoid using a call
+         that causes the control to be created. Fixes #77476.
+
+2006-03-02  Jackson Harper  <jackson@ximian.com>
+
+       * Hwnd.cs: Clear the nc pending when clearing the NC area, not the
+       expose_pending.
+
+2006-03-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs
+         passed in for the EventArgs (fixes #77690)
+
+2006-03-01  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: Refresh afterbeing resized.
+
+2006-02-28  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: Call PerformPopup internal method to emit Popup.
+       Clean up a tracker compile warning.
+       * MenuItem.cs: add internal PerformPopup method.
+       [Fixes #77457]
+
+2006-02-28  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs (set_Text): Recalculate the document (causing an
+         implicit expose) when the text is set to null
+
+2006-02-28  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs (FlushText): When newline is true, we always
+         need to split the line, even if no text is on it and we may
+         never eat newlines. (Fixes #77669)
+
+2006-02-28  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: Add UpdateSelection internal method. Remove SelectItem 
+       and set Selected instead.
+       * ListViewItem.cs: Call owner.UpdateSelection to manipulate the 
+       collections.
+
+2006-02-28  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665
+
+2006-02-28  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FontDialog.cs:
+         - Got rid of the panel. All controls are now directly added to
+           the dialog form
+         - It is now possible to set a font with the Font property
+         - MinSize and MaxSize property do now what they should
+         - ShowApply, ShowHelp, ShowColor, ShowEffects likewise
+         - Searching and selecting a font with the font textbox works now,
+           the same applies to the style and size textbox
+         - Draw the correct 3D border in the example panel
+         - Fixed a little mem leak (unused fonts didn't get disposed)
+         - Many other internal updates/rewrites...
+         - Fix typo
+
+2006-02-27  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: 
+         - InsertRTFFromStream: Added 'number of characters inserted' argument
+         - set_SelectedRTF: Now using the number of characters to calculate
+           the new location for the selection and cursor (x/y cannot be used
+           due to potentially already wrapped text)
+
+2006-02-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Added property and implemented means to allow 
+         disabling recalculation of a document (can be used to speed up
+         multiple inserts and is needed to make RTF inserts predictable, see
+         bug #77659)
+       * RichTextBox.cs: Using the new NoRecalc property of Document to
+         keep x/y insert locations predictable. Also makes it faster inserting
+         large chunks of RTF
+
+2006-02-27  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way
+         it's easier for a child control to handle the other messages without
+         having to duplicate the special functionality
+       * TextBoxBase.cs
+         - WndProc: Removed calling base handler for WM_KEYDOWN and added 
+           code to handle processing the key ourselves, in order to get 
+           access to the result of KeyEventArgs.Handled. We now only call 
+           ProcessKey if they key hasn't been handled already. Fixes #77526.
+         - set_Text: If null or empty string is given, just clear the 
+           document. Fixes part of #77526
+
+2006-02-27  Jackson Harper  <jackson@ximian.com>
+
+       * SizeGrip.cs: Paint the background color before painting the grip
+       so things look right.
+       * MdiClient.cs: Add the sizegrip when both scrollbars are used.
+
+2006-02-27  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs:
+         - Restructure layout and invalidation model to remove a ton of
+         flicker from the control and speed up performance in general.
+         - Add manual column resize, flickers like crazy, but I already have
+         some ideas on how I'll fix that. (#76822)
+         - Merge the three Icon-based views into a single layout method.
+         - Move item selection interaction logic from the item since 
+         interaction with the collections is more appropriate to the view.
+         - Deselection on non-item clicks.
+       * ListViewItem.cs:
+         - Encapsulate most of the layout. Add some internal props to trigger
+         layout.  Move to a model where Items invalidate themselves instead
+         of just invalidating the whole control every time something changes.
+         - Invalidate on Text/Caption changes.
+         - switch to an offset based layout model to avoid having to absolute
+         position every element on item moves.
+         - correct checkbox layout to conform to MS layout.
+       * ThemeWin32Classic.cs:
+         - refactor some column header drawing code.
+         - fix string justification for column headers (#76821)
+         - make SmallIcon labels top justified for compat with MS impl.
+       * ThemeClearlooks.cs:
+         - adjust to new ListViewItem internal checkbox bounds api.
+
+2006-02-27  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs:  Change where implicit controls fall in the zorder.
+       They are now on top of all children.
+       - Synced AddImplicit code with Add
+       - Removed unused enumerator.
+       * SizeGrip.cs: Remove the TODO as its been TODONE.
+
+2006-02-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs(Insert): Combine the last lines unless the insertion
+         string ends with \n\n, otherwise we leave one line too many (Fixes
+         something I noticed with the testapp for #77526; the bug itself was
+         already fixed in the previous checkin)
+
+2006-02-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs:
+         - SelectionColor and SelectionFont methods no longer set absolute
+           styles. Instead, the keep font or color respectively (This 
+           resolves a long-standing FIXME in the code)
+         - When flushing RTF text, the insert code now considers text trailing
+           behind the insertion point (Fixes the bug where when replacing
+           the selected text via SelectedRTF the remainder of the line behind 
+           the selection would stay on the first insertion line)
+       * TextBoxBase.cs:
+         - AppendText now updates the selection points after inserting text
+         - AppendText now ensures that the last tag (sometimes 0-length) of
+           the document is used for the style information (Fixes part of 
+           bug #77220)
+       * TextControl.cs:
+         - Created new FontDefiniton class to allow describing partial style
+           changes
+         - StreamLine() now takes a lines argument, to allow it to decide
+           whether an encountered zero-length tag is the last in the document
+           (which must be kept to not loose the font/color contained in it,
+           for later appends)
+         - Created Combine() and Split() methods for Marker structs, to 
+           support marker updates due to reformatted documents (soft line
+           wraps)
+         - Implemented Document.CaretTag setter
+         - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
+           of the last line (Not the cause, but also exposed by bug #77220)
+         - Added LineTag argument to InsertString method, to allow callers
+           to force a certain tag to be used (required to force use of the
+           trailing zero-length tag of a document)
+         - Now updating markers in Combine(), to avoid stale tag markers
+         - Added some method descriptions to aid maintenance
+         - Implemented new FormatText concept, allowing additive/subtractive
+           formatting by only specifying the components that are to be 
+           changed. This was needed for resolving the RTB.SelectedColor/
+           RTB.SelectedFont fixmes
+         - Added Break() support method to allow breaking up linetags (used
+           for partial formatting)
+         - Added GenerateTextFormat() method. It is used for partial 
+           formatting and allows to generate a full font/color from given
+           attributes and an existing tag.
+
+2006-02-26  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs:  Use the correct caption height.
+       - Translate hittest coordinates to screen coords to match MS.
+       * XplatUIWin32.cs: When we create MDI windows we need to reset
+       some of the style flags, so we get a nice blank window, and can
+       draw all the decorations ourselves.
+       - Set a clipping rectangle on the non client paint event, the
+       window manager drawing code needs one.
+       * Form.cs: The window manager needs to know when the window state
+       has been updated.
+       * Hwnd.cs: The window manager stuff now does a proper NCCALC so we
+       don't need to factor in border and title sizes in these
+       methods. TODO: Remove the args and fix the call points.
+       * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA
+       properly.
+       - Let the driver set the cursors.
+       - Improve active window handling
+       - Correct sizes for title bars and buttons.
+       - Match MS drawing better
+       * MdiWindowManager.cs: We don't need to handle border style
+       updates specially anymore.
+       - Check for scrollbars when windows are done moving
+       - Handle Active properly.
+       * MimeIcon.cs: Don't crash when we can't load the GNOME stuff
+       correctly. I am spewing the exception though, so we don't hide the
+       bugs.
+       
+2006-02-26  Pedro Martinez Julia  <pedromj@gmail.com>
+
+       * DataGridViewRowPostPaintEventArgs.cs,
+         DataGridViewCellPaintingEventArgs.cs,
+         DataGridViewRowCollection.cs,
+         DataGridViewRowPrePaintEventArgs.cs,
+         DataGridViewCell.cs: Clear a few warnings and implement a few
+         exceptions that should be thrown.
+
+2006-02-22  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
+         'inheriting' our parent's (non-default) cursor. (Part of
+          the fix for #77479)
+
+2006-02-22  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Fixed cast to make csc happy
+
+2006-02-22  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
+         it's for the client area (part of fix for #77479 and needed
+         for MDI window cursor handling)
+       * XplatUIX11.cs
+         - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
+           the appropriate default cursors and also passing the message
+           up the parent chain 
+         - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
+           for non-client areas
+
+2006-02-15  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
+       is a real MDI window
+
+2006-02-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * X11DesktopColors.cs: Instead of checking the desktop session
+         string for "KDE" check if it starts with "KDE"
+
+2006-02-10  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
+       systems).
+
+2006-02-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
+         errors
+       * ColorDialog.cs:
+         - Got rid of the panel. All controls are now directly added to
+           the dialog form
+         - Changed to mono coding style
+
+2006-02-10  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: We don't need the set visibility to
+       false hack anymore now that peter has written beautiful shutdown
+       code.
+
+2006-02-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
+         where already explicitly destroyed
+
+2006-02-10  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Handle the case where windows are too high or to
+       the left and we need scrollbars.
+
+2006-02-10  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Added some icons
+       * FileDialog.cs:
+         - Fixed bug #77477
+         - Got rid of the panel. All controls are now directly added to
+           the dialog form
+         - Changed to mono coding style
+         - On Linux "My Computer" and "My Network" will now show some
+           more usefull information. A new class, MasterMount, gathers
+           this information from /proc/mount. Updated MWFFileView to make
+           use of this information
+         - Fixed a bug that caused FileDialog to crash when
+           ".recently_used" file had a zero size
+         - FilterIndex does now what it should
+         - Some Refactoring
+       * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
+           FileDialog changes
+
+2006-02-09  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Don't touch if null.
+
+2006-02-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursor.cs: 64bit safeness fix
+       * XplatUIX11.cs: Removed several unneeded and one moronic cast.
+
+2006-02-09  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: If a form is made into an MDI form update the styles so
+       all the props can get set correctly.
+       - Kill the mdi_container when we dont need it anymore.
+       * InternalWindowManager.cs: Add missing NOT
+
+2006-02-08  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Respek clipping when drawing MDi
+       decorations.
+
+2006-02-08  Jackson Harper  <jackson@ximian.com>
+
+       * Hwnd.cs: Add bits to track non client expose events.
+       * XplatUIX11.cs: Track non client expose events on the hwnd. This
+       gives us a proper invalid rect and will allow for some nice
+       optimizations with NC client drawing
+       - MDI windows are children windows, so move their style handling
+       into the child window block.
+       * InternalWindowManager.cs: Remove a state reset that was
+       getting invoked at the wrong time. Fixes managed windows getting
+       into a 'stuck' captured state.
+
+2006-02-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs (Document.ctor): Now initializing 
+         selection_anchor. Fixes #77493
+
+2006-02-07  Jackson Harper  <jackson@ximian.com>
+
+       * TrackBar.cs: The increment/decrements were backwards.
+
+2006-02-07  Mike Kestner  <mkestner@novell.com>
+
+       * Theme*.cs : remove ThemeEngine.Current usage as it just points back
+       to the instance itself.
+
+2006-02-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
+         on ulongs and pointers, the size differs between 32bit and 64bit
+         systems. 
+
+2006-02-07  Mike Kestner  <mkestner@novell.com>
+
+       * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
+       for 64 bit platforms to work around a metacity bug. 
+
+2006-02-07  Jackson Harper  <jackson@ximian.com>
+
+       * TrackBar.cs: Process the input keys we need, and hookup to
+       KeyDown instead of using WndProc, so we get key messages.
+
+2006-02-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
+         machine we're on. 
+       * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
+         we need to translate the XdndVersion atoms array before sending it
+
+2006-02-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: 
+         - The preceeding 64bit fixes had a bug: ChangeProperty expects the
+           number of bits for the property, not the number of bytes. The
+           change to provide IntPtr.Size broke 32bit. (64bit was also wrong
+           but would not crash since it specified 8 bits instead of 4 bits)
+         - More 64bit fixes: Switched all atoms from int to IntPtr (they are
+           defined as XID -> long in the C headers)
+         - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms 
+           references since those are now IntPtr to begin with
+         - Switched all Atom.XXX 'int' casts to IntPtr casts
+         - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
+         - Fixed XInternAtom signature for 64bit, now returns an IntPtr
+         - Added XChangeActivePointerGrab DllImport (for X11DnD)
+       * X11Structs.cs:
+         - Changed 'int' type for Atoms in XEvent structures to IntPtr
+         - Changed atom in HoverStruct to be IntPtr
+       * X11DnD.cs:
+         - Removed local DllImports, switched code to use those from XplatUIX11
+         - Removed/fixed casts related to the switch of Atom to be a IntPtr
+
+2006-02-06  Mike Kestner  <mkestner@novell.com>
+
+       * XplatUIX11.cs : many more 64 bit pinvoke changes.  I've audited all the 
+       method signatures in the import region.  There may still be some
+       lingering struct marshaling issues, as I didn't drill down into those.
+       Yet.
+
+2006-02-06  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Dont manually set the top_item, this is computed
+       when the scrollbar position is set.
+
+2006-02-06  Mike Kestner  <mkestner@novell.com>
+
+       * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
+       startup crashes on amd64.  There's other fixes needed.  All pinvoke
+       usage of Atom needs to be mapped to IntPtr for example.  And there are
+       likely other int/long issues to be addressed.
+
+2006-02-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: One more...
+
+2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Next try
+
+2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: First part of fix for #77464
+
+2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ButtonBase.cs, ContainerControl.cs, Forms.cs,
+         ThemeWin32Classic.cs: Fix for #77458. Correct handling of
+         AcceptButton border drawing.
+
+2006-02-03  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Moved positioning of form after auto scaling is applied,
+         otherwise it would possibly use wrong form size.
+
+2006-02-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (RecreateHandle): No need to re-create any child
+         controls, the child windows will get destroyed automatically by
+         the windowing system or driver, and re-created when the handle
+         is being accessed the first time. Fixes #77456
+       * Form.cs: No longer setting the form to closing if the handle is 
+         being recreated. This seems like the right thing to do, don't
+         have a bug or testcase for this, though.
+
+2006-02-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * FileDialog.cs: Suspend/Resume layouting when changing sizes of
+         controls to avoid unwanted side effects
+
+2006-02-02  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: 
+         - ScaleCore needs to scale the bounds, not the ClientSize of the 
+           control. Fixes #77416.
+         - DefaultSize is 0,0 for control
+       * TextBoxBase.cs: 
+         - DefaultSize is 100, 20
+         - SetBoundsCore: Now enforcing the height, no matter if the provided
+           height is more or less than the preferred one, as long as AutoSize
+           is on
+       * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
+
+2006-02-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - ResumeLayout: Fixed logic when to call PerformLayout, we may not
+           call unless both performLayout is true *and* we have a pending
+           layout change
+         - ResumeLayout: MS does not completely nest Suspend and Resume,
+           they bottom out at 0, fixed our code to match that.
+         - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
+           SetBoundsCore, we were updating even when we shouldn't. This fixes
+           swf-anchors mis-anchoring when resizing the app fast and lots.
+         - UpdateDistances: Now only setting the left and top distance if 
+           we have a parent and are not suspended, this is based on
+           a suggestion by Don Edvaldson in bug #77355.
+         - OnVisibleChanged: Fixed logic when to create the control. We may
+           not create the control if we have no parent or if it's not visible;
+           switched to using Visible property instead of is_visible field 
+           since the property also considers parent states. This fixes a bug
+           when starting Paint.Net
+
+2006-02-02  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: If the forms handle hasn't been created yet don't call
+       into xplatui to make it top most, just set the topmost flag on the
+       form in CreateParams
+       * XplatUIX11.cs: Handle WS_EX_TOPMOST.
+
+2006-02-01  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollableControl.cs: Refactored the Recalculate method a
+       little, this wasn't handling all the variants of bottom and right
+       bars needed to be added and added/removed based on their
+       counterparts being added/removed (which changes the drawable
+       size). Also we special case client widths and heights of 0 and
+       don't add the scrollbar for those.
+
+2006-02-01  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: 
+         - Added method to get AbsoluteGeometry(); currently unused, but might
+           be used in the future, if we try again to figure out toplevel
+           coordinates with some more crappy window managers
+         - Added FrameExtents() method to retrieve the WM set decoration size
+         - Tried to fix up AddConfigureNotify and handling of ReparentNotify 
+           to deal with at least KDE, FVWM and metacity (Fixes #77092)
+       * Hwnd.cs: 
+         - Added whacky_wm tracking var for metacity
+         - Added logic to have default menu height if the actual menu height
+           has not yet been calculated (part of fix for #77426)
+       * Form.cs: Keep track whether client size has been set and re-set 
+         it if a menu is added/removed afterwards (Fixes #77426)
+
+2006-01-31  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: When a new Site is set on the component attempt to
+       pull the AmbientProperties from it.
+
+2006-01-31  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
+         in the background of the owning form. Fixes #77332
+
+2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Fix for #77409
+
+2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * XplatUIX11GTK.cs: Initial import
+
+2006-01-31  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * FixedSizeTextBox: fixes class signature
+
+2006-01-30  Jackson Harper  <jackson@ximian.com>
+
+       * FixedSizeTextBox.cs: New internal class that represents a
+       textBox that will not be scaled.
+       * TreeView.cs:
+       * ComboBox.cs:
+       * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
+       standard TextBox.
+               
+2006-01-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs: Retrieve default screen number instead of
+         assuming 0. Attempted fix for #77318
+
+2006-01-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: 
+         - GetWindowPos: When a window is parented by FosterParent, use 
+           the desktop instead of FosterParent as the base to get coordinates
+         - CreateWindow: Don't make FosterParent the parent window for Popups
+           if we don't want a taskbar entry, Popups automatically don't get one
+       * Hwnd.cs: Need to call remove to actually remove the key from the
+         hash table
+
+2006-01-30  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: adjust MainMenu item popup location to y=0.
+
+2006-01-30  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs:
+       * TreeNode.cs: Raise events no matter how the treenode is
+       checked. Patch by Don Edvalson.
+
+2006-01-30  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Signature fix.
+
+2006-01-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
+
+2006-01-20  Mike Kestner  <mkestner@novell.com>
+
+       * Form.cs: Add ActiveTracker property to do Captures and perform mouse
+       event forwarding when menus are active.
+       * MenuAPI.cs: kill the GrabControl hack.  Use Form.ActiveTracker.
+       Most of the patch is pdb's with a little rework.
+
+2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs: 
+         Removed GetMenuDC and ReleaseMenuDC methods; replaced
+         by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
+       * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
+       * InternalWindowManager.cs: Added use of PaintEventStart/End to
+         handling of WM_NCPAINT message, now passing the PaintEventArgs to
+         the PaintWindowDecorations method
+       * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
+       * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
+       * MenuAPI.cs: Made tracker window invisible
+       * XplatUIWin32.cs:
+         - Removed GetMenuDC and ReleaseMenuDC methods
+         - Implemented the client=false path for PaintEventStart and
+           PaintEventEnd
+
+2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
+       * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
+         styles
+       * Form.cs: 
+         - MaximizeBox, MinimizeBox: Recreate the handle when setting
+           the style
+         - CreateParams: Reworked the styles to match MS look'n'feel,
+           removed automatic setting of MinimizeBox, MaximizeBox, etc. via
+           the WS_OVERLAPPEDWINDOW style. This fixes #76823.
+
+2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs(GetWindowState): Now throwing an exception when the 
+         window is not mapped, since otherwise every form that's being 
+         created is considered minimized, which is wrong.
+       * Form.cs: Catching the exception and returning our internal value
+         instead
+
+2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
+         SetWindowMinMax() to have means to tell the driver about the minimum,
+         maximum and maximized state window sizes. (Part of the fix for #76485)
+       * Form.cs:
+         - Implemented tracking of minimum and maximum window size, now calling
+           new SetWindowMinMax() driver method to tell the driver (Part of the
+           fix for #76485)
+         - Finished handling of WM_GETMINMAXINFO method, now setting all values
+           (Completes fix for #76485)
+         - Calling new SetWindowMinMax driver method when the handle for a 
+           form is created, to make sure the driver knows about it even if
+           the values have been set before the window was created
+         - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
+           to avoid messing up our anchoring calculations (partial fix
+           for #77355)
+       * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
+       * XplatUIX11.cs:
+         - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
+         - Improved GetWindowState() to detect 'Minimized' state on Metacity 
+           (and presumably other freedesktop.org compliant WMs). Left the
+           assumption unmapped=minimized, needed for SetVisible to work.
+         - Now setting the window state when creating windows
+         - Fixed SetVisible to consider/set the window state when mapping
+           a Form. We cannot set the state before it's mapped, and we cannot
+           use Form.WindowState once it's mapped (since it would ask the
+           driver and get 'normal'. Therefore, we grab the state before
+           mapping, map, and then set state.
+         - Implmemented SetWindowMinMax method; Metacity does not seem to
+           honor the ZoomHints, though.
+       * XplatUIWin32.cs:
+         - Removed MINMAXINFO (moved to XplatUIStructs)
+         - Added SetWindowMinMax stub (on Win32 the only way to set that
+           information is in response to the WM_GETMINMAXINFO message, which
+           is handled in Form.cs)
+         - Added logic to SetVisible to set the proper window state when a 
+           form is made visible (fixes #75720)
+
+2006-01-26  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs (BeginInvoke): Automagically handle EventHandlers the
+       same way we handle them with Invoke.
+
+2006-01-25  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs:
+         - Added tracking of window state so CreateParams can return
+           the appropriate style
+         - Moved setting of WS_CAPTION style in CreateParams to allow
+           styles without caption
+       * DataGridTextBoxColumn.cs: We are now also creating the TextBox 
+         control if the TextBox property is accessed. Fixes #77345
+       * Control.cs:
+         - get_Created: now uses is_disposed and is_created to determine
+           return value (suggested by Jackson)
+         - CreateHandle: No longer exits if the handle is being recreated
+         - RecreateHandle: If the handle is not yet created call the 
+           appropriate method to create either control or handle. If the
+           control is already created CreateHandle will simply exit instead
+           of just creating the handle
+       * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
+         now SendMessage WM_DESTROY directly to the control when DestroyWindow
+         is called.
+       * XplatUIX11.cs: 
+         - When DestroyWindow is called, instead of waiting for the 
+           DestroyNotification from X11, we directly post it to the WndProc
+           and immediately dispose the hwnd object.
+           Same applies to DestroyChildWindows, and this obsoletes the
+           expose_pending tracking. Contrary to Win32 behaviour we destroy our
+           child windows before our own, to avoid X11 errors.
+         - Removed the direct sending of WM_PAINT on UpdateWindow
+       * XplatUIWin32.cs:
+         - Reworked DoEvents and GetMessage to allow access to internal queue
+           even when trying non-blocking access to the queue.  Fixes #77335. 
+           Based on a patch suggestion by Don Edvalson. The new private
+           GetMessage can now also be used as a backend for a PeekMessage
+           frontend version.
+       * XplatUI.cs: Improved debug output for CreateWindow
+
+2006-01-25  Jackson Harper  <jackson@ximian.com>
+
+       * Help.cs: Allow param to be null. Patch by Don Edvalson.
+
+2006-01-24  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Clamp the max value set for the vertical scrollbar
+       when we have a MaxDropItems lower then the selected index.
+
+2006-01-24  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Don't allow selection of non visible controls, allow
+       selection of controls without parents.
+
+2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
+       * DataGridDrawingLogic.cs: Add editing row only when is necessary
+
+2006-01-23  Jackson Harper  <jackson@ximian.com>
+
+       * UpDownBase.cs: Make the textbox handle all the selection and
+       tabbing. This fixes tabing to updown controls.
+
+2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * TextBoxBase.cs: fixes exception thown the object was null
+
+2006-01-23  Jackson Harper  <jackson@ximian.com>
+
+       * ButtonBase.cs: Just use the base CreateParams. They set
+       visibility and enabled correctly.
+       * ComboBox.cs:
+       * TrackBar.cs:
+       * MonthCalendar.cs: Lets let the base set as much of the
+       createparams as possible so we don't have duplicate code all over
+       the place.
+
+2006-01-22  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeGtk.cs: Added TrackBar and some experimental code to
+         get double buffering back
+
+2006-01-21  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGrid.cs: Allows row number set internally higher than the last
+       when creating a new row. Restores the editing functionality.
+
+2006-01-20  Mike Kestner  <mkestner@novell.com>
+
+       * MimeIcon.cs: delay Image creation until the icons are accessed
+       instead of creating 190 scaled images on GnomeHandler startup.
+
+2006-01-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
+         first call base before processing the event. Fixes #77279
+
+2006-01-19  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
+         that the stride for the GDI bitmap would match the stride of
+         a DIB or a Cursor.
+
+2006-01-19  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
+
+2006-01-19  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Hookup the text controls keydown event so we get
+       those when the text control has the focus.
+
+2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Label.cs: Now using the base events instead of defining new ones;
+         this allows us to just call the base properties without having to
+         duplicate all base property logic 
+
+2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Label.cs: A label by default is not a tabstop (Fixes one of our
+         failing nunit tests)
+
+2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
+       * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
+
+2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursor.cs: Reimplemented creating cursor bitmaps without using
+         the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
+         This fixes #77218
+       * XplatUIWin32.cs: 
+         - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream) 
+           constructor creates images that can't be saved. Part of the fix
+           for #76103
+         - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
+         - SetWindowState: Switched ShowWindow flags (part of an upcoming 
+           bug fix for handling window state in forms properly)
+
+2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeGtk.cs: Simplify ScrollBar drawing
+
+2006-01-18  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: Set the default dock style for the splitter control
+       in the constructor.
+
+2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeGtk.cs: Corrected StateType and ShadowType for
+         gtk_paint_box
+
+2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Control.cs: Make use of Theme.DoubleBufferingSupported
+       * ThemeGtk.cs:
+         - Added drawing for flat style buttons
+         - Added ScrollBar drawing
+
+2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Removed some unneeded code.
+       * ThemeGtk.cs: First part of ThemeGtk enhancements.
+
+2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * LinkLabel.cs: We need to update the hover drawing when
+         leaving the control as well.
+
+2006-01-18  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGrid.cs: Clicking on non empty areas in the columns
+          area was giving an exception
+
+2006-01-17  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs:
+       * ListView.cs: Do not draw/clip the headers when the header style
+       is None.
+
+2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGrid.cs: Fixes 77260
+       
+2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGrid.cs: Clicking on a column on a empty grid was giving
+         an exception
+
+2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
+         or any keypress will crash the grid.
+
+2006-01-17  Mike Kestner  <mkestner@novell.com>
+
+       * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
+       * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for 
+       invisible/previously-visible items.
+       [Fixes #76909]
+
+2006-01-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs:
+       - Added CL_Draw_Button method; now other theme controls that are 
+         not derived from button or do not have a button can draw buttons
+         too
+       - Updated ComboBox drawing
+       - Beautified RadioButton drawing
+       - Corrected drawing of bottom and left tabs
+       - Beautified DateTimePicker and MonthCalendar
+       - Added CPDrawButton and CPDrawRadioButton
+
+2006-01-16  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: Set the initial value of the scrollbar to the
+       current index. Reduce the numbers of refreshs and IndexOfs called.
+
+2006-01-14  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: When the file listview is focused hitting the
+         backspace key moves the fileview to the parent directory
+
+2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Form.cs: 
+         - Added RecreateHandle call when changing taskbar visibility to 
+           trigger reparenting in Win32 driver (Fixes #75719)
+         - If a window has minimize or maximize buttons, it cannot have
+           a help button
+       * XplatUIWin32.cs:
+         - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
+           the toplevel form with FosterParent (A toolwindow not on the
+           taskbar) (Fixes #75719)
+         - Made FosterParent a toolwindow
+
+2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
+
+2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ToolTip.cs: If SetToolTip is called from a control and the mouse
+         is currently over that control, make sure that tooltip_window.Text
+         gets updated
+
+2006-01-13  Mike Kestner  <mkestner@novell.com>
+
+       * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
+
+2006-01-13  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: On MS GetNodeAt never actually factors in the X
+       value passed.  Also redraw the selected node when we recieve
+       focus, so tabbing between trees works correctly.
+
+2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: GnomeHandler: older gnome versions don't have
+         ~/.gconf/%gconf-tree.xml, so use
+         .gconf/desktop/gnome/interface/%gconf.xml
+
+2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: Draw text in gray if control is disabled
+
+2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TreeView.cs: Draw the focus rectangle outside the highlight, to
+         make sure it's always visible. Fixes #76680.
+
+2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
+
+2006-01-13  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PageSetupDialog.cs: Added.
+       * PrintDialog.cs: Attributes.
+       * PrintPreviewControl.cs: Updates.
+       * PrintPreviewDialog.cs: Updates.
+       
+2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Undid my selection check fix, since it's not needed
+       * TextBoxBase.cs:
+         - Now considering the presence of hscroll/vscroll when sizing
+           vscroll/hscroll respectively. Fixed bug #77077
+         - Added Left/Up/Down/Right to IsInputKey list to prevent
+           ContainerControl from stealing them. This fixes what I broke
+           with my last checkin.
+
+2006-01-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
+         I finally understand how the property can be set without a setter :-)
+
+2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Application.cs:
+         - Switched RunLoop to use static Message.Create to create a 
+           Message object
+         - Added PreProcessMessage call in runloop for keyboard events; this
+           is part of the fix for #77219, I overlooked this originally in the
+           MSDN doc for PreProcessMessage
+       * Control.cs:
+         - Removed call to PreProcessMessage from handling of keyboard 
+           messages; it's supposed to be done in the message pump
+         - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
+           per MSDN documentation.
+         - IsInputChar: All chars are input chars by default; removed the 
+           parent calling chain, MS does not document that
+         - PreProcessMessage: If IsInputChar is true, we want to return false
+           to allow dispatching of the message
+         - When selecting the next control, now also check that we're not
+           selecting ourselves again and therefore return a false positive.
+       * TextBoxBase.cs:
+         - Tried to match return values for IsInputKey and ProcessDialogKey
+           to what MS returns; moved processing of our special keys outside
+           ProcessDialogKey since MS does not seem to return true on those.
+         - Moved code that previously was in ProcessDialogKey into new private
+           ProcessKey method, which gets called upon receipt of WM_KEYDOWN
+         - Reworked handling of WM_CHAR to not have to duplicate code from
+           Control.cs anymore, instead we simply call down to base.
+          
+2006-01-12  Jackson Harper  <jackson@ximian.com>
+
+       * ComboBox.cs: We always need to refresh the text area when
+       EndUpdate is called. Fixes the combobox in the file dialog.
+       * Control.cs: Don't create the creator_thread until the controls
+       handle is created.  Also in InvokeRequired we check if the
+       creator_thread is null. This gives the effect of InvokeRequired
+       returning true if the controls handle is not created yet, and
+       matches MS.
+
+2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs:
+         - Added StartLoop() driver method. This is used to allow drivers to
+           prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
+           loop for a particular thread
+         - Added EndLoop() driver method. This is called once the message
+           pump for the thread is shut down
+         - Added SupportsTransparency method to allow the driver to indicate
+           opacity support for windows
+       * Form.cs:
+         - Removed TODO attribute, completed AllowTransparency property
+         - Added documented logic to Opacity
+       * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
+         ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
+         versions of CompatibleTextRendering
+       * X11Structs.cs: Added opacity atom to our atom enumeration
+       * Hwnd.cs: Added opacity tracking (we need to track since the opacity
+         of a form might be set before it's reparented by the WM, and we need
+         the opacity value without calling up to Form)
+       * XplatUIDriver.cs: Added StartLoop(), EndLoop() and 
+         SupportsTransparency() driver methods
+       * Application.cs: Now calling StartLoop and EndLoop driver methods
+       * XplatUIX11.cs:
+         - Added opacity atom registration
+         - Added StartLoop()/EndLoop() methods. They're empty right now but
+           will need to get implemented when we switch to a per-thread queue
+         - Implemented SupportsTransparency() method
+         - Implemented SetWindowTransparency() method
+         - Added support for setting the opacity value when a window is
+           reparented (since the opacity needs to be set on the WM frame)
+       * XplatUIOSX.cs, XplatUIWin32.cs:
+         - Added SupportsTransparency(), StartLoop() and EndLoop() methods
+
+2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
+
+2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Added ToolTip for MWFFileView
+       * MimeIcon.cs: Rewrote GnomeHandler.
+         - Get currently used gnome icon theme from
+           ($HOME)/.gconf/%gconf-tree.xml
+         - Make use of inherited icon themes
+         - Support SVG icon themes like Tango via librsvg
+
+2006-01-12  Miguel de Icaza  <miguel@novell.com>
+
+       Revert's Jackson's revert which broke 2.0 builds.   Fix both
+       builds. 
+       
+       * Application.cs: Move the use_compatible_text_rendering outside
+       the NET_2_0 define.  If we ever need to use the
+       use_compatible_text_rendering on the individual controls they will
+       access the variable from the common shared code paths.
+
+2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs:
+         - Added more granular debug options
+         - Added method to print both window text and id
+         - Switched debug output to use new Window() debug method
+         - Added IsEnabled() driver method
+         - Added EnableWindow() driver method
+       * Form.cs:
+         - Removed end_modal; no longer needed, new loop handles termination
+           via 'closing' variable
+         - If form is modal, setting DialogResult will now initiate loop
+           termination via 'closing' variable
+         - Added support for is_enabled/WS_DISABLED to CreateParams
+         - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
+           does all the work
+         - Removed code that's now in RunLoop from ShowDialog()
+         - Added various documented sanity checks to ShowDialog()
+         - Added handling of WM_DESTROY message; we set 'closing' on getting
+           the message to indicate the message pump to terminate
+         - Added handling of new internal WM_CLOSE_INTERNAL message - it's
+           send by the Application.ExitThread method. (We send the message
+           to destroy the window after all other events have been
+           processed through the queue, instead of destroying the handle 
+           directly)
+         - Moved code from Close() method to WM_CLOSE handler; added logic
+           to only send close-related events if the form is not displayed
+           modal
+       * Splitter.cs (..ctor): Fixed typo in resource name
+       * Control.cs:
+         - DrawBackgroundImage: Explicitly selecting the wrap mode for the
+           brush now
+         - set_Cursor: Now only setting calling into XplatUI if the handle for
+           the control is already created; this avoids implict handle creation
+           or crashes if it's not created
+         - set_Enabled: Now setting the enabled state via the new driver method
+           instead of just tracking it
+         - CreateParams: Added logic to set WS_DISABLED based on enabled state
+         - CreateControl: Reordered event firing and method calls to more
+           closely fire events in the order MS does. Now setting the
+           enabled state in the driver when creating the control.
+         - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
+           match MS order
+       * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
+         MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED 
+       * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
+       * Hwnd.cs:
+         - Added tracking of window enabled state (get_Enabled/set_Enabled)
+         - Added EnabledHwnd property to easily allow a driver to find the
+           handle of the first enabled window in the parent chain (this is
+           used by drivers to pass up input events of disabled windows)
+       * XplatUIDriver.cs: Added IsEnabled() method
+       * Application.cs:
+         - Removed crude and obsolete exiting tracking variable
+         - Removed internal ModalRun(); replaced by RunLoop()
+         - Implemented private CloseForms() method to allow closing all 
+           windows owned by a particular (or all) threads
+         - Exit() now properly closes all windows without forcing the message
+           pump to quit
+         - Removed obsolete InternalExit() method
+         - Changed Run() methods to use new RunLoop() message pump
+         - Implemented new RunLoop() method for both modal and non-modal forms
+       * CommonDialog.cs:
+         - get_CreateParams: Added setting of WS_DISABLED
+         - Simplified ShowDialog(); now all the work is done in RunLoop(),
+           invoked via Form.ShowDialog()
+       * NativeWindow.cs: We don't remove the window from the collection when
+         the handle is destroyed; there might still be messages for it in the
+         queue (mainly the resulting WM_DESTROY); instead it will be removed
+         when Control calls InvalidateHandle in the WM_DESTROY handler
+       * XplatUIX11.cs:
+         - CreateWindow: Added logic to handle the WS_DISABLED window style
+         - EnableWindow: Implemented based on Hwnd.Enabled
+         - GetMessage: Reset PostQuitState so the method can be called again
+         - Implemented support for disabled windows (passing messages to the
+           first enabled parent) in handling all input messages
+         - Added optimizations for handling Expose events
+         - Implemeted new driver method IsEnabled()
+         - Now always resetting paint pending tracking vars when we start paint
+         - Re-implemented UpdateWindow via just sending a WM_PAINT message
+       * XplatUIOSX.cs: Added IsEnabled method stub
+       * XplatUIWin32.cs: Implemented new IsEnabled() method
+
+2006-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
+       LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
+       variables a little.
+       * ColorDialog.cs: Clear out the old form before adding the new
+       panel.  
+
+2006-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Make sure to add all the text formats when adding
+       strings to the data object.
+       * TreeNodeCollection.cs: When adding to a sorted tree we need to
+       do some redrawing too.  Also change the UpdateNode to an
+       UpdateBelow so the newly added node gets painted.
+       
+2006-01-11  Miguel de Icaza  <miguel@novell.com>
+
+       * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
+       LinkLabel.cs, PropertyGrid.cs: Implement the
+       UseCompatibleTextRendering property for 2.x
+
+       * Application.cs (SetCompatibleTextRenderingDefault): Add. 
+
+2006-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Use the property for setting the selected node so
+       the correct events get raised.
+       * TreeNode.cs: Update the tree when the fore/back colours of a
+       node are set.
+
+2006-01-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Allow setting SelectedNode to null.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PrintControllerWithStatusDialog.cs: Update page number in dialog.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PrintDialog.cs: Added attributes and set default property values.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PrintControllerWithStatusDialog.cs: 
+       Added PrintControllerWithStatusDialog.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs, 
+       XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
+
+2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
+
+2006-01-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * ComboBox.cs: Added KeyDown event handler for processing arrow keys
+       and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
+
+2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Added internal class SVGUtil.
+
+2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Don't crash if there are two files with the
+         same name but different locations.
+
+2006-01-08  John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: Fixed annoying rendering bug when selecting
+       dates across multiple month grids. Used to not highlight entire 
+       month, but does now.
+       
+2006-01-06  Jackson Harper  <jackson@ximian.com>
+
+       * MonthCalendar.cs: Removed DoEvents call to prevent a running
+       message loop. Change timer intervals to numbers that seem more
+       natural.
+
+2006-01-06  John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
+         object for location info since screen object is now implemented.
+
+2006-01-05  Jackson Harper  <jackson@ximian.com>
+
+       * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
+       * AsyncMethodResult.cs: We no longer use a WeakReference for the
+       AsyncMethodResult, this is because we ALWAYS want the
+       ManualResetEvent to get set.
+       * Control.cs: When disposing use an async invoke to call shutdown
+       code, so that thigns don't block on the finalizer thread.  Also
+       check if we even have a message loop before trying to send
+       messages, if we don't then don't bother sending messages.
+       - No more weak references for async methods
+       * XplatUIDriver.cs: No more weak references for async methods.
+
+2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
+         returns two FontFamily with the same name
+
+2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of 
+         drawing disabled text. Instead using the ColorGrayText color
+
+2006-01-04  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: redraw the node when its image index is changed.
+
+2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs: Same fix as last, just for SelectionColor. This
+         time I checked there are no others like it.
+
+2006-01-04  Jackson Harper  <jackson@ximian.com>
+
+       * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
+       this gives the behavoir I was looking for.
+       * Control.cs: Special case Invoking EventHandlers, this matches MS
+       and fixes part of bug #76326.
+
+2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs, FileDialog.cs:
+         - Reflect the latest Theme class changes
+         - Remove Mono.Unix.Syscall.time in FileDialg and replace it 
+           with DateTime
+           
+2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Theme.cs: Cache UI resource images and resize them if needed
+
+2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
+         is called. This fixes the crash in Nexxia when setting the font
+         attributes in the chat. [However, RTF needs a look-over to make sure
+         that all SelectionXXX methods handle the special case that selection
+         is empty and therefore the change must be applied to all text starting
+         at the cursor/selection start]
+
+2006-01-03  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
+         XplatUIOSX.cs: Added SendMessage and PostMessage methods
+       * X11Keyboard.cs: Switched to new way of calling PostMessage
+
+2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Theme.cs: Added theme interface for images to allow the theme to
+         control what images are used for things like FileDialog, MessageBox
+         icons, etc.
+       * MessageBox.cs: Now uses the new Theme icon/image interfaces
+
+2006-01-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs:
+         - Removed some dead code
+         - Opening a recently used file does work now
+         - Small UI enhancements
+         - Refactoring
+
+2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Forgot too add __MonoCS__
+
+2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: We are able to read recently used files now let's
+         go on and write them.
+
+2006-01-01  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Breathe some life into "last open"/"recently used"
+         button
+       * MimeIcon.cs: Do a check for the top level media type also
+
+2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs:
+         - Added CPDrawStringDisabled
+         - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
+           some chars if the text doesn't fit into text_rect
+         - DrawListViewItem: If View = View.LargeIcon center the image;
+           rewrote the drawing of ListViewItem.Text if View = 
+           View.LargeIcon
+
+2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Use default KDE icon theme if there is no
+         "48x48" directory for the current icon theme, fixes #77114
+       * Mime.cs: Disable not working and actually not used code. 
+       * ThemeWin32Classic.cs:
+         - Replace "new SolidBrush" in GetControlBackBrush and
+           GetControlForeBrush with ResPool.GetSolidBrush
+         - Changed DrawListViewItem from private to protected virtual
+       * FileDialog.cs:
+         - Added form.MaximizeBox = true
+         - Don't throw an exception if there is a broken symbolic link
+
+2005-12-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Give the panels focus, keyboard navigation is
+       fixed so this works correctly now.
+       - We need these key events also.
+       * ToolBar.cs: Remove some of the poor mans double buffering.
+       
+2005-12-24  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ComboBox.cs: The internal TextBox now returns the focus.
+
+2005-12-23  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs:  Draw the text for all tab appearances.
+
+2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Removed debug code
+       * XplatUIX11.cs: Changed DestroyChildWindows to also consider
+         implicit children
+
+2005-12-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: When creating the control, update the Z-order after
+         all it's children are created, too. (Fixes nexxia not showing
+         picturebox bug)
+
+2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Do not update the anchoring distances if layout is
+         suspended, instead do it once layout is resumed
+
+2005-12-22  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: 
+         - After many hours of debugging, for both Jackson and
+           myself, it turns out that it helps to set the parent of a control
+           if you want to actually see it onscreen. In the spirit of that
+           discovery, we're now setting the parent of the control and
+           it's children when the control's handle is created. This fix
+           will make Lutz Roeder's Reflector run happily. 
+         - now just creating the handle instead of the whole control when
+           getting a graphics context for the control.
+
+2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ScrollableControl.cs: When calculating the canvas, don't consider
+         the scrollbar widths. Instead, predict if horizontal scrollbar
+         will affect canvas when deciding on vertical display and vice versa.
+
+2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs: Set default RTF font for documents that don't
+         have a font table (Fixes #77076)
+
+2005-12-22  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: It's difficult to do, but you can have an empty
+       clipboard. This prevents a NullRef in that case.
+       * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
+       clipboard. PRIMARY is for the currently selected text only. (We
+       should implement PRIMARY at some point.
+
+2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
+         a Unicode function with a structure that was defined in Ansi way.
+         This fixes #76942.
+
+2005-12-21  Jackson Harper  <jackson@ximian.com>
+
+       * StatusBar.cs: Statusbar handles its fore/back colours on it's
+       on. Because thats how it rolls. (and this avoids it using ambient
+       colours).
+       * ThemeWin32Classic.cs: Use the proper back color for filling.
+       * Menu.cs: Use the system menu bar color for drawing menu
+       bars. Using the window back color will bring ambient colours into
+       the picture.
+
+2005-12-21  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
+         Bitmaps were created and not disposed.
+
+2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (CreateControl): Don't do anything if the control is
+         already created, otherwise we'd fire the OnCreated event more than
+         once
+
+2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
+         will always match. Instead return -1. Fixes #76464.
+
+2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
+         neither the beginning nor the end of the line (Fixes bug #76479)
+
+2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - ControlNativeWindow.ControlFromHandle(): Now handling situation
+           where handle is invalid
+         - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
+           instead of slower linear search
+       * NativeWindow.cs: Don't remove the window from the hashtable until
+         after the driver has destroyed it (since the driver might use
+         Control.FromHandle to lookup the control object
+       * Hwnd.cs: Added DestroyPending property to track if a window is 
+         already destroyed as far as the driver is concerned and only hasn't
+         yet notified the control
+       * XplatUIX11.cs:
+         - Activate(): Check if the window is still valid before using the 
+           handle
+         - Implemented DestroyChildWindow() method to mark child windows as
+           destroyed when a window is destroyed. This prevents situations 
+           where we might call an X method based on queued events for a
+           window that already has been destroyed but we haven't yet pulled
+           the destroy method from the queue.
+         - Added a call to the new DestroyChildWindow() method to the drivers
+           DestroyWindow code. Also now marking the destroyed window itself
+           as pending
+
+2005-12-20  Jackson Harper  <jackson@ximian.com>
+
+       * StatusBar.cs:
+       * StatusBarPanel.cs: Don't calculate panel sizes on draw
+       anymore. Just do them when needed, also track the rects of panels
+       so that we can optimize refreshing more in the future.
+
+2005-12-20  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ColorDialog.cs: Fixed focus drawing in small color controls
+
+2005-12-19  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs:
+       * MdiWindowManager.cs: Cleanup some coordinate system changes so
+       moving windows works properly.
+
+2005-12-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: 
+         - Removed call to InitLayout() from SetBoundsCore(); doc says
+           it's only called when a control is added to a container
+         - Split InitLayout logic, moved to separate UpdateDistances() method
+           since we need to perform those calculations more often than just
+           when adding the control to a container. (Needed to fix #77022)
+         - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
+         - Reduced the OnBindingContextChanged events count, don't send them
+           unless the control is created, we still aren't totally matching
+           MS, but I can't quite figure out some of their rules
+
+2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Corrected distance between ProgressBar
+         stripes
+
+2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs:
+         - Updated ProgressBar drawing
+         - Corrected drawing of ScrollBars and scroll buttons
+         - Some temporary fixes for minor pixel artefacts
+
+2005-12-18  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs:
+         - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
+           cause events to be sent in the same order as MS does.
+         - Added ChangeParent() method to trigger various OnXXXChanged events
+           that need to be fired when a parent changes (This is a reworking
+           of the patch from r54254, with the X11 errors fixed)
+         - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
+           since on MS we get OnLayoutChanged events when calling Clear()
+         - Changed Enabled property to consider parent state as well, if a
+           parent is not enabled, the control will not be either
+         - Changed Parent property to simply call Controls.Add() since that
+           now does all the work required, this way we avoid code duplication
+         - Threw in a few OnBindingsContextChanged calls to try and match
+           when MS sends them. We seem to send a few too many, though.
+         - Added call to CreateControl when adding the control to a parent.
+           We were never calling CreateControl. Still needs some work, in
+           some places we treat HandleCreated and ControlCreated as equal, 
+           which is wrong
+         - Removed obsolete commented out code from UpdateZOrder()
+
+2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Updated TrackBar drawing.
+
+2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
+
+2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Add the Help button and the open readonly
+         checkbox only if needed
+
+2005-12-16  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Make sure we have an active menu before trying to
+       process commands on it. Prevents menu-less forms from crashing
+       when Alt is pressed.
+       * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
+       Dieter Bremes.
+       * RichTextBox.cs: Expand statement to help out gmcs and fix the
+       2.0 build.
+
+2005-12-16  Jackson Harper  <jackson@ximian.com>
+
+       * InternalWindowManager.cs: Don't translate tool windows screen
+       coordinates. This fixes windows 'bouncing' around when being moved.
+
+2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs:
+         - MaxLength now treats 2^31-1 equal to unlimited length (this is
+           not quite MS compatible, MS uses that number only for single line
+           and 2^32-1 for multi-line, but I figure it won't hurt keeping
+           the limit at 2GB)
+         - Now enforcing the MaxLength limit when entering characters
+         - Added argument to internal Paste() method to track if it's called
+           from programatically or via keyboard, since keyboard driven pastes
+           need to enforce max-length
+         - Added logic to Paste to only paste as many chars as MaxLength 
+           allows
+       * RichTextBox.cs: Updated to use new obey argument for internal Paste()
+       * TextControl.cs:
+         - Added Length property to return number of characters in document
+         - Added private CharCount property which only tracks actual chars
+           in the document (no linefeeds) and fires event when CharCount
+           changes
+         - Added tracking of character count to all methods that alter it
+         - Added LengthChanged event to allow applications to subscribe
+           to any changes to the document
+
+2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBox.cs: 
+         - Removed local password_char field (moved to TextBoxBase)
+         - Now setting the document's password var when password is
+           set
+       * TextBoxBase.cs:
+         - Added password_char field (needed here so MultiLine can
+           access it)
+         - Added logic to MultiLine property setter to set the document's
+           variable when password display is allowed
+         - Removed debug code and made some debug code conditional
+       * TextControl.cs:
+         - Added RecalculatePasswordLine() method to handle special password
+           char only lines
+         - Added PasswordChar property, also added related tracking vars
+         - Draw() method now uses local text var for grabbing text to draw,
+           this var is set to line.text unless we're doing password display,
+           then it is set to the pre-generated all-password-chars line
+         - Added calling RecalculatePasswordLine() method for password lines
+
+2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Hwnd.cs: 
+         - Added Reparented property to allow tracking of Window Manager
+           reparenting actions (which affect X/Y calculations of toplevel 
+           windows)
+         - Made ToString() print window handles in hex
+       * XplatUIX11.cs:
+         - AddConfigureNotify(): Now uses reparented state off Hwnd to
+           determine if X/Y needs offsetting
+         - AddConfigureNotify(): Fixed offset calculations
+         - Now adds ReparentNotify messages into the queue
+         - Now processes ReparentNotify messages and causes a 
+           WM_WINDOWPOSCHANGED message to be sent upstream if a window
+           is reparented (as most likely it's X/Y coordinates are changed
+           due to that)
+
+2005-12-14  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Tool windows still need to respek focus.
+
+2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Undid 54254 (causing XConfigure errors) so we can
+         have a working release
+
+2005-12-13  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Update styles after setting the border style regardless
+       of whether or not the window is using a window manager.
+
+2005-12-13  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: We now hook into an internal window manager instead of just an
+       MDI subsystem, this is so we can have properly behaving tool windows.
+       * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
+       * InternalWindowManager.cs: New internal class that acts as a
+       window manager for tool windows and as a base for mdi windows.
+       * MdiWindowManager.cs: New class that acts as a window manager for
+       mdi windows.
+
+2005-12-12  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Updates so we match behavoir for for implicit
+       controls. Fixes explosions in MDI.
+
+2005-12-12  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Implement Invalidate (Region).
+
+2005-12-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: 
+         - Changed handling of Controls.Add/Controls.Remove to fire (almost) 
+           the same events as MS does. MS fires events for each property 
+           except, for unknown reasons, Cursor, when the control is reparented. 
+           I can't seem to totally match add/remove since MS also fires some 
+           VisibleChanged events, which makes no sense. Consolidated the
+           parenting code into a separate method so it can be called from
+           both Add and Remove. set_Parent no longer needs any special logic
+           as it calls the parent's add method which implicitly fires
+           all events
+         - Removed some obsolete code and debug output
+         - Enabled state is inherited from parents, if this is enabled
+
+2005-12-08  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Removed commented out code
+
+2005-12-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Added internal version of Invoke, with additional argument 
+           indicating if we're calling it from a Dispose() handler. That
+           way we can avoid BeginInvoke throwing an exception if we're
+           calling for an already destroyed window.
+         - Added a dispose argument to BeginInvokeInternal, and made the
+           check if a valid window handle chain exists conditional on
+           it not being a dispose call
+         - Removed code in DestroyHandle to destroy our children. Since we
+           now handle the WM_DESTROY message we will catch all our children
+           being destroyed.
+         - Now calling OnHandleDestroyed from our new WM_DESTROY handler
+       * Form.cs:
+         - Added a field to track the application context of the form.
+         - No need to set closing variable as response to WM_CLOSE, instead
+           we destroy the window. We also call PostQuitMessage if the form
+           has an application context (which makes it the main app form,
+           which, when closed terminates the app)
+       * XplatUI.cs:
+         - Dropped Exit() method, it's naming was confusing
+         - Added PostQuitMessage() which causes GetMessage to return false
+           once the message queue is empty
+       * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added 
+         PostQuitMessage()
+       * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
+         no longer a valid XplatUI method, but left it in since it's used
+         internally. Added empty PostQuitMessage() method.
+       * MenuAPI.cs: Replaced call to Exit() with call to
+         PostQuitMessage, even though this is probably no longer needed.
+       * Hwnd.cs: Added 'pretty' ToString() to support debugging.
+       * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
+       * Application.cs:
+         - Replaced call to XplatUI.Exit() with PostQuitMessage()
+         - Removed old debug code that would call XplatUI for exception
+           display, enabled standard exception handling (Still not enabled
+           though, until NativeWindow's ExternalExceptionHandler define
+           is removed
+       * NativeWindow.cs:
+         - Added internal method to allow control to update NativeWindow
+           after a window has been destroyed
+         - Added handling of already destroyed windows when calling i
+           DestroyWindow
+         - Added removal of handle from list on ReleaseHandle
+       * XplatUIX11.cs:
+         - Dropped GetMessageResult var and related code
+         - Added PostQuitState to field to track if PostQuitMessage has been
+           called
+         - Dropped Exit() method
+         - Added PostQuitMessage() method
+         - GetMessage now will return false if PostQuitState is set and no
+           more messages are in the queue.
+         - Expose handler will no longer generate WM_PAINT messages if we are
+           in PostQuitState since it's very likely any windows have already
+           been destroyed, and since Hwnd won't get updated until we have
+           processed the DestroyNotify we'd be causing X errors.
+       
+2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
+         Thanks to Mike for pointing out the err of my ways.
+
+2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs(PreProcessMessage): Moved menu handling back, but
+         after all other key handling, to match MS (who handles Menu in
+         DefWndProc)
+       * Menu.cs (WndProc): Removed my brainfart
+
+2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs(PreProcessMessage): Removed special menu handling 
+       * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
+
+2005-12-07  Mike Kestner  <mkestner@novell.com>
+
+       * Control.cs : special case SYSKEYUP so that we can adjust keynav
+       state according in tracker.
+       * Menu.cs : promote tracker field to base class and provide a tracker
+       lookup capability.  Add/Remove shortcuts dynamically if the top menu
+       has a tracker. Unparent items that are removed from the collection.
+       * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
+       * Theme*.cs: add always_show_hotkeys field to support configurability
+       of mnemonic display.  win32 doesn't show mnemonics until Alt is
+       pressed.
+
+2005-12-07  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Use Control.ResetCursor.
+       * Control.cs: ResetCursor needs to set the property so that the
+       correct XplatUI call gets made.
+
+2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: More fixes to make our key events match MS. We
+         were not setting the modifier state on KeyData, and we were
+         not generating any events when Alt was pressed with a key
+         since handling of WM_SYSxxx was missing for the OnKey methods.
+
+2005-12-07  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: reenable the sizing code.
+       - When the mouse leaves a window reset its cursor.
+
+2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Reflect latest Hwnd changes
+
+2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs: Now using the theme 3d bordersize to calculate
+         widths of Fixed3D borders
+
+2005-12-07  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Fix warnings. Earn Mike's love.
+
+2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs:
+         - Adjusted mouse over button color
+         - Added first parts of CheckBox drawing
+         - Added correct color for selected text background
+         - Fixed ComboBox drawing
+         - Added CPDrawBorder3D and CPDrawBorder
+
+2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Added call to XBell for AudibleAlert
+
+2005-12-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
+         XplatUIOSX.cs: Added AudibleAlert() method to have a means to
+         alert users via sound. We could add an enum arg with different
+         types of alerts in the future
+
+2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Fix behaviour problems pointed out by Mike
+
+2005-12-05  Mike Kestner  <mkestner@novell.com>
+
+       * StatusBarPanel.cs: add Invalidate method and hook it into all the
+       prop setters.  Calls parent.Refresh for now, but could be maybe be
+       optimized with an internal method on StatusBar at some point.
+       [Fixes #76513]
+
+2005-12-05  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * RichTextBox.cs: Implemented get_SelectionColor
+
+2005-12-05  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs:
+         - Removed dead code
+         - Draw black button border only if button is Form.AcceptButton
+         - Draw correct button color for pressed RadioButton if the mouse 
+           has entered the button
+         - Updated ProgressBar drawing!
+         - Updated CPDrawSizeGrip drawing
+         - Updated StatusBarPanel drawing
+
+2005-12-05  Mike Kestner  <mkestner@novell.com>
+
+       * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
+       * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
+
+2005-12-04  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: Initial check-in, activate with
+         export MONO_THEME=clearlooks
+       * ThemeEngine.cs: Added ThemeClearlooks
+
+2005-12-03  Mike Kestner  <mkestner@novell.com>
+
+       * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
+       [Fixes #76897]
+
+2005-12-02  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: If the child form has no menu the default main menu is
+       used as the active menu.
+
+2005-12-02  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ListBox.cs: Check if any items exist before trying to resolve 
+         coordinates into items
+
+2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
+         as the second color for the background hatch
+
+2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
+       * RichTextBox.cs: FormatText position arguments are 1-based, now making
+         sure that what we pass to FormatText is always 1-based. Fixes #76885
+
+2005-11-29  Miguel de Icaza  <miguel@novell.com>
+
+       * NumericUpDown.cs (EndInit): When we are done initializing,
+       reflect any updates on the UI.
+
+2005-12-02  Jackson Harper  <jackson@ximian.com>
+
+       * ImplicitHScrollBar.cs:
+       * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
+       their container controls.
+       * TreeView.cs: Use the new implicit scrollbars.
+
+2005-12-02  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make top_node internal so the TreeNodeCollections
+       can play with it.
+       * TreeNodeCollection.cs: If we remove the topnode we need to
+       update topnode to the next node in line.
+       - When clearing nodes go through the same process as removing
+       them, so they get depareneted and checked if they are top node.
+
+2005-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When imagelists are used the image area is
+       selectable as well as the text.
+       - If there are no selected nodes select the first one.
+       * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
+       so don't do it more then we need to.
+
+2005-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
+       that arrows can be scaled.
+
+2005-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
+       fail. Patch by Dieter Bremes
+
+2005-11-30  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Property is 2.0 only
+       * PrintDialog.cs: Signature fix.
+
+2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: 
+         - No longer artificially moves text 2 pixels down (now that we have
+           borders this is no longer needed)
+         - Added calcs for left, hanging and right indent
+
+2005-11-23  Mike Kestner  <mkestner@novell.com>
+
+       * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
+
+2005-11-30  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Set the cloned menus forms, as these don't
+       get cloned as part of CloneMenu ().
+       * Menu.cs: Make sure the parent of the items get set correctly
+       when they are added.  And the owners are notified of the changes.
+       * Form.cs: Create an ActiveMenu property, so that when MDI is used
+       we can change the menu being displayed/handled by the form without
+       changing the menu assosciated with the form.
+       - Don't let Mdi children draw/handle menus.
+       
+2005-11-30  Jackson Harper  <jackson@ximian.com>
+
+       * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
+       a MenuChanged event. Just to make the API a little more
+       consistent.
+       * MainMenu.cs:
+       * MenuItem.cs: Use the new OnMenuChanged
+       * MdiChildContext.cs: Handle menu merging.
+       * Form.cs: Implement MergedMenu.
+       
+2005-11-30  Jackson Harper  <jackson@ximian.com>
+
+       * Menu.cs: We were misusing Add. Add goes behind the specified
+       index according to the docs, and does not replace the specified
+       index. So I added an Insert method.
+
+2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs:  Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
+         Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
+         is for Jackson
+       * RichTextBox.cs: Added calls to base for DnD events
+
+2005-11-28  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - Fixed drag-selection related crash; style fixes
+         - Implemented undo class
+           o Implemented method to capture document state for specified
+             range in document tree
+           o Implemented method to restore captured document state
+           o Implemented cursor tracking
+           o Implemented basic undo stack
+         - Added undo cursor tracking to methods altering cursor location
+         - Added undo tracking to selection deletion (still missing
+           other text-altering hookups)
+       * RichTextBox.cs:
+         - Added SelectionLength property
+         - Implemented CanPaste()
+         - Implemented Paste()
+         - Added missing protected methods
+         - Fixed RTF->Document conversion; now uses font index 0 and color 
+           index 0 as the default font for the parsed text
+         - Fixed RTF<->Document font size translation
+         - Fixed RTF generation, now properly handles cross-tag boundaries
+           for single line selection
+         - No longer always appends blank line to generated RTF
+         - Removed TODOs
+         - Added missing attributes
+         - Hooked up undo-related methods
+       * TextBoxBase.cs:
+         - Implemented Copy()
+         - Implemented Paste()
+         - Implemented Cut()
+         - Fixed caret mis-behaviour on backspace across line-boundaries
+
+2005-11-29  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Add a method for activating mdi children. Very
+       basic right now. I imagine someday it might need more girth.
+       * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
+       children windows names are added to the menu item.
+       * ThemeWin32Classic.cs: Draw the arrow if the item is an
+       mdilist. This happens regardless of whether or not there are any
+       mdi windows to see in the list, and according to my tests happens
+       before the items are even added. Also happens if there isn't even
+       an mdi client to get windows from.
+
+2005-11-29  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
+       * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
+
+2005-11-29  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * DataGridTableStyle.cs:
+         - Create always the styles for the missing columns even if they are
+           provided by the user (not default table style)
+       * DataGrid.cs:
+         - Fixes bug 76770
+         - Fixes SetDataBinding (always re-attach source)
+         - Fixes SetNewDataSource (only clear styles if they are not for 
+           this source)
+        -  Expands OnTableStylesCollectionChanged to handle style refresh 
+           and remove properly
+
+2005-11-29  Jackson Harper  <jackson@ximian.com>
+
+       * FileDialog.cs: Implement missing bits, remove some dead
+       code.
+       * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
+       creation of the panel so that the options set on the dialog are
+       seen when the panel is created.
+       * TreeView.cs: raise a click when items are clicked.
+       
+2005-11-29  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Pass some signature methods through to base.
+
+2005-11-28  Jackson Harper  <jackson@ximian.com>
+
+       * ListView.cs: Raise the click event when items are clicked.
+
+2005-11-28  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Make this algorithm even more beautiful.  And fix
+       a nullref.
+
+2005-11-27  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: - Removed 1 pixel bitmaps
+         - Use SmoothingMode.AntiAlias where it makes sense
+           (ScrollButton arrow for example)
+         - Enhanced Button focus drawing
+         - Fixed ComboBox drawing (no artefacts anymore, focus
+           rectangle is back again, reduced size of ComboButton, etc.)
+         - Fixed RadioButton focus drawing for Appearence.Button
+         - Slight ScrollButton redesign
+         - Some LinearGradientBrush size fixes
+         - GroupBoxes have now rounded edges
+         - Fixed StatusBar drawing
+
+2005-11-25  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: - Remove dead code
+         - use correct background colors for menus, etc.
+         - Fake pixel drawing with 1 pixel bitmaps
+
+2005-11-24  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Size the scrollbars when resizing the window.
+       - Resize the maximized windows when the client is resized
+       * Form.cs: Make the child context available
+       
+2005-11-23  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Don't size windows if they are maximized.
+
+2005-11-23  Mike Kestner  <mkestner@novell.com>
+
+       * ContextMenu.cs: use MenuTracker.
+       * Control.cs: remove menu handle usage.
+       * Form.cs: remove menu handle usage.
+       * Hwnd.cs: remove menu handle usage.
+       * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
+       motion and clicks to the new Tracker handlers.
+       * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
+       and handle usage.
+       * MenuAPI.cs: refactored to combine popup and menubar event handling.
+       Killed the MENU and MENUITEM data types and associated collections
+       since we now keep the info on Menu and MenuItem. Expanded TRACKER into
+       MenuTracker class that exposes the leftovers from the old MenuAPI
+       static methods. Restructured Capture handling so that only one grab is
+       done for the entire menu hierarchy instead of handing off grabs to
+       submenus. Tracker now has an invisible control to Capture when active.
+       * MenuItem.cs: add sizing accessors, kill Create
+       and handle usage.
+       * Theme.cs: remove menu handle and MENU(ITEM) usage.
+       * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
+       MENU(ITEM). remove menu handle usage, use Menu directly.
+       * XplatUIDriver.cs: remove menu handle usage.
+       * XplatUIOSX.cs: remove menu handle usage.
+       * XplatUIWin32.cs: remove menu handle usage.
+       * XplatUIX11.cs: remove menu handle usage.
+
+2005-11-22  Jackson Harper  <jackson@ximian.com>
+
+       * Hwnd.cs: Don't compute the menu size for
+       DefaultClientRectangle.
+       - Reenable menu sizes being computed for GetClienRectangle.
+       * Form.cs: Remove comment of trechery
+       
+2005-11-22  Jackson Harper  <jackson@ximian.com>
+
+       * Hwnd.cs: The adjustments for the menu bar are made when it is
+       attached to the form.
+
+2005-11-19  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
+       (just like on windows).
+
+2005-11-19  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Handle all the buttons ourselves. We can't
+       use real buttons anymore because they are in non client area. The
+       one TODO here is that I need to somehow invalidate a section of
+       the non client area.
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Put the enum check back in now that MDI doesnt have
+       to use this to set border styles.
+       * Form.cs: Only set mdi child windows borders if the handle has
+       been created.
+       * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
+       this directly on to the driver.
+       - Get the move start position before adjusting for the titlebar
+       height, this fixes the windows "skipping" when they are first
+       moved.
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Just compute the mdi borders separately as they
+       don't totally match up with normal form borders.
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Set WS_ styles for borders, so that the driver does
+       not have to retrieve the control instance to figure out what kind
+       of borders it should have.
+       * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
+       driver can know its an mdi child easily.
+       * XplatUIX11.cs: Get the border styles and whether the window is
+       MDI from the Styles and ExStyles params instead of having to get a
+       control. This prevents a chicken and egg problem.       
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Fix typo so scrollbars show up correctly.
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: Calculate when to add and remove scrollbars
+       correctly.
+       * MdiChildContext.cs: Adjust the y position to take the titlebar
+       into account.
+       - No height for FormBorderStyle.None
+
+2005-11-18  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Allow non enum values to be used for
+       InternalBorderStyle.  MDI does this to set a special border style.
+       - New utility methods for converting points to/from client coords
+       - Add the newly created control to the Controls collection before
+       updating its style. This way UpdateStyle can walk the control
+       heirarchy to find the control if needed.
+       so I don't need to create a new Point object all the time.
+       * Form.cs: Let MDI windows handle their border styles.
+       - Set styles on MDI windows so the correct title style is derived.
+       * MdiChildContext.cs: Move all the painting and window handling
+       into the non client area.
+       - Use correct sizing and put correct buttons on frames based on
+       the FormBorderStyle.
+       - Notify the mdi client about scrolling
+       - Need to handle the buttons ourselves now, because they are all
+       in non client areas and we can't add controls there.
+       * MdiClient.cs: Halfway to scrolling, this implementation is
+       somewhat broken though, we need to check to make sure other
+       windows aren't causing scrolling before removing the bars. Also
+       the bars need to be drawn on top, maybe I can switch implicit
+       controls to be on top.
+       * Hwnd.cs: caption_height and tool_caption_height are now
+       properties of an hwnd, this way they can be set by the driver
+       based on the type of window they are.  In X11 the window manager
+       handles the decorations so caption_height is zero unless its an
+       MDI window.
+       - Add 3 pixel borders for MDI windows (0xFFFF).
+       - Get rid of some code duplication, have DefaultClientRectanle
+       just call GetClientRectangle.
+       * XplatUIX11.cs: Pass caption_height and tool_caption_height to
+       Hwnd now.
+       - Set border styles differently for mdi windows.
+       * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
+       Hwnd now.
+       
+2005-11-15  Mike Kestner  <mkestner@novell.com>
+
+       * Menu.cs: when adding an item to the collection, if item is already 
+       parented, remove it from the parent.
+
+2005-11-13  Alexander Olk  <alex.olk@googlemail.com>
+
+       * X11DesktopColors.cs: Added KDE support
+
+2005-11-11  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: 
+         - Clipboard methods now can translate Rtf format
+         - No longer removes clipboard contents whenever a new format is added
+           to allow placing multiple formats on the clipboard
+       * Clipboard.cs: Clipboard now supports getting a IDataObject and
+         will place all formats contained in it onto the clipboard. Also
+         now cleans the clipboard before placing a new object onto it
+       * RichTextBox.cs:
+         - Implemented set_Rtf
+         - Implemented set_SelectedRtf
+         - Created InsertRTFFromStream() method to allow single code base
+           for all properties and methods that insert RTF into document
+         - Removed debug output
+       * TextControl.cs:
+         - Fixed Delete(int) to fix up line numbers
+         - Fixed ReplaceSelection to combine start and end line
+         - Fixed serious DeleteChars bug that would leave the document tree
+           broken
+         - Improved DumpTree with several logic checks to detect broken
+           document trees
+         - Removed debug lines
+         - Fixed Caret.WordForward/WordBack moving code, now always also 
+           updates caret.tag (fixes crash when word-selecting across tag
+           boundaries via keyboard)
+         - Added Insert() method for inserting multiline text into documents
+         - Fixed DeleteChars() calculation errors that would cause a broken
+           tag chain with multiple tag lines
+         - DeleteChars() no longer crashes on multi-tag lines if not all tags
+         - Split() no longer moves caret if split is at caret location
+         - ReplaceSelection() now updates the cursor and re-displays it
+         - ReplaceSelection() now uses new Insert() method to avoid code
+           duplication
+         - FormatText() can now handle formatting partial lines
+       * TextBoxBase.cs:
+         - Append now uses new TextControl.Insert() method (this avoids 
+           duplicate code)
+         - Implemented Ctrl-X (Cut) (
+         - Implemented Ctrl-C (Copy)
+         - Implemented Ctrl-V (Paste) (Still some bugs related to screen 
+           regeneration when pasting text; roundtripping Copy&Paste within
+           edit control still fails due to some calculation bugs in GenerateRTF)
+         - The Delete key will now remove the current selection if it is visible
+       * TextBox.cs: Removed debug lines
+       * XplatUI.cs: Trigger initialization of DataFormats (which requires the
+         driver to be initialized and can't therefore be done via a static ctor)
+
+2005-11-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Added backend code for finding char arrays and strings
+       * TextBoxBase.cs:
+         - Added mouse wheel scroll support
+         - Added support for VScroll and HScroll events
+       * RichTextBox.cs:
+         - Implemented all seven Find() variants
+         - Implemented GetCharFromPosition()
+         - Implemented GetCharIndexFromPosition()
+         - Implemented GetLineFromIndex()
+         - Implemented GetPositionFromCharIndex();
+         - Implemented SaveFile for PlainText and UnicodeText
+         - Fixed set_Font, now setting a new font applies that font to
+           the whole document
+         - Implemented generic Document to RTF converter
+         - Implemented SaveFile for RichText format (still missing unicode
+           conversion for non-ansi chars)
+         - Implemented get_Rtf
+         - Implemented get_SelectedRtf
+
+2005-11-09  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
+         to allow any captures to be released before triggering OnClick. This
+         way a click handler may capture the mouse without interference.
+       * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
+         This way we send them even though X may not allow a grab (if the window
+         isn't visible, for example)
+
+2005-11-08  Pedro Martinez Julia <pedromj@gmail.com>
+
+       * DataGridViewRowEventArgs.cs: DataGridView implementation
+       * DataGridViewElement.cs: DataGridView implementation
+       * DataGridViewComboBoxCell.cs: DataGridView implementation
+       * DataGridViewDataErrorContexts.cs: DataGridView implementation
+       * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
+       * ImageLayout.cs: DataGridView implementation
+       * DataGridViewComboBoxColumn.cs: DataGridView implementation
+       * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
+       * DataGridViewSelectionMode.cs: DataGridView implementation
+       * IDataGridViewEditingControl.cs: DataGridView implementation
+       * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
+       * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
+       * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
+       * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
+       * DataGridViewColumnSortMode.cs: DataGridView implementation
+       * DataGridView.cs: DataGridView implementation
+       * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
+       * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
+       * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
+       * Padding.cs: DataGridView implementation
+       * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
+       * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
+       * DataGridViewRowEventHandler.cs: DataGridView implementation
+       * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
+       * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
+       * DataGridViewButtonCell.cs: DataGridView implementation
+       * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
+       * DataGridViewEditMode.cs: DataGridView implementation
+       * DataGridViewCellValueEventArgs.cs: DataGridView implementation
+       * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
+       * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
+       * DataGridViewCheckBoxColumn.cs: DataGridView implementation
+       * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
+       * DataGridViewCellEventHandler.cs: DataGridView implementation
+       * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
+       * DataGridViewCellStyleConverter.cs: DataGridView implementation
+       * DataGridViewSelectedRowCollection.cs: DataGridView implementation
+       * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
+       * DataGridViewColumnEventArgs.cs: DataGridView implementation
+       * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
+       * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
+       * QuestionEventArgs.cs: DataGridView implementation
+       * IDataGridViewEditingCell.cs: DataGridView implementation
+       * DataGridViewTriState.cs: DataGridView implementation
+       * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
+       * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
+       * DataGridViewColumnCollection.cs: DataGridView implementation
+       * DataGridViewCellValueEventHandler.cs: DataGridView implementation
+       * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
+       * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
+       * DataGridViewColumn.cs: DataGridView implementation
+       * DataGridViewCellBorderStyle.cs: DataGridView implementation
+       * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
+       * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
+       * DataGridViewRow.cs: DataGridView implementation
+       * DataGridViewImageCellLayout.cs: DataGridView implementation
+       * DataGridViewImageCell.cs: DataGridView implementation
+       * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
+       * DataGridViewCheckBoxCell.cs: DataGridView implementation
+       * DataGridViewHeaderCell.cs: DataGridView implementation
+       * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
+       * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
+       * DataGridViewTextBoxColumn.cs: DataGridView implementation
+       * QuestionEventHandler.cs: DataGridView implementation
+       * DataGridViewCellStyleScopes.cs: DataGridView implementation
+       * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
+       * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewCell.cs: DataGridView implementation
+       * DataGridViewCellEventArgs.cs: DataGridView implementation
+       * DataGridViewClipboardCopyMode.cs: DataGridView implementation
+       * DataGridViewCellStyle.cs: DataGridView implementation
+       * DataGridViewColumnHeaderCell.cs: DataGridView implementation
+       * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
+       * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
+       * TextFormatFlags.cs: DataGridView implementation
+       * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
+       * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
+       * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
+       * DataGridViewButtonColumn.cs: DataGridView implementation
+       * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
+       * HandledMouseEventArgs.cs: DataGridView implementation
+       * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
+       * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
+       * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
+       * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
+       * DataGridViewRowCollection.cs: DataGridView implementation
+       * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
+       * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
+       * DataGridViewHitTestType.cs: DataGridView implementation
+       * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
+       * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
+       * DataGridViewColumnEventHandler.cs: DataGridView implementation
+       * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
+       * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
+       * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
+       * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
+       * DataGridViewContentAlignment.cs: DataGridView implementation
+       * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
+       * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
+       * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
+       * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
+       * DataGridViewPaintParts.cs: DataGridView implementation
+       * DataGridViewCellCollection.cs: DataGridView implementation
+       * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
+       * DataGridViewImageColumn.cs: DataGridView implementation
+       * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
+       * DataGridViewElementStates.cs: DataGridView implementation
+       * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
+       * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
+       * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
+       * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
+       * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
+       * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
+       * DataGridViewRowHeaderCell.cs: DataGridView implementation
+       * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
+       * DataGridViewTextBoxCell.cs: DataGridView implementation
+       * DataGridViewBand.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
+       * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
+       * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
+       * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
+       * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
+       * DataGridViewSelectedCellCollection.cs: DataGridView implementation
+       * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
+       * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
+
+2005-11-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: 
+         - Draw the outside focus rectangle around buttons
+         - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
+           doesn't use end caps for every dash of a line anymore. This
+           workaround ignores the forecolor.
+
+2005-11-08  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
+         endian safe.
+
+2005-11-07  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
+
+2005-11-07  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollableControl.cs: Calculate the maximum and change vars
+       (more) correctly so that scrollbars appear as a sensible size.
+
+2005-11-04  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Refresh when nodes are cleared from the
+       collection.
+       * TreeView.cs: When the tree is sorted null out the top_node so
+       that it is recalculated.
+       - Use dotted lines instead of dashed lines to match MS better.
+
+2005-11-04  Jordi Mas i Hernandez <jordimash@gmail.com>
+
+       * ListView.cs: 
+         - Implements key search for items. Useful when browsing files with FileDialog
+         - When changing view mode or when clear the items reset scrollbar positions
+
+2005-11-04  Jackson Harper  <jackson@ximian.com>
+
+       * CurrencyManager.cs: Implement the MetaDataChanged event, the
+       Reset method, and the CheckEmpty. CheckEmpty is just a total guess
+       as to what the method may do as there is no real way of creating a
+       derived CurrencyManager and calling the method. 
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
+       * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
+       method which seems to just be used internally to refresh the tabs.
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Implement the remove method. Fix some broken
+       comments.
+
+2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * DateTimePicker.cs:
+         - Added missing DateTimePickerAccessibleObject class
+         - Added missing events
+         - Added OnFontChanged method
+       * Form.cs: Added missing attributes
+       * TreeView.cs: Added missing attributes
+
+2005-11-03  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * GridItemCollection.cs: Fix signatures
+
+2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Updated build rev/date
+       * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs, 
+         DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
+       * Application.cs: Trigger context-specific ExitThread events
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * Menu.cs:
+       * MainMenu.cs:
+       * GridTableStylesCollection.cs:
+       * Timer.cs:
+       * TabPage.cs:
+       * HelpProvider.cs:
+       * StatusBar.cs:
+       * MonthCalendar.cs: Signature fixes
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Remove should not be virtual.
+       * TreeView.cs: Implement the last of the missing methods.
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeConverter.cs: Implement to get off my class-status back.
+
+2005-11-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Hookup the bits for drag and drop.
+       * TreeNode.cs: Don't cache the tree_view or index anymore, now
+       that nodes can be moved from tree to tree easily this just causes
+       all sorts of problems.
+       * TreeNodeCollection: Don't need to give treenodes an index and
+       treeview anymore when they are added, these are computed on the
+       fly. Also make sure to remove a node before its added.
+
+2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - Added CaretSelection enum
+         - Added comparison methods to Marker struct, makes selection code
+           more readable
+         - Added SelectionStart and SelectionEnd as 'moveable' location for
+           the CaretDirection enum and handler
+         - Added selection_prev variable to track optimized invalidation for
+           word and line selection
+         - Added SelectionVisible property (returns true if there is a valid 
+           selection)
+         - Switched CaretHasFocus to only display the caret if there is no
+           visible selection
+         - Avoiding StringBuilder.ToString to retrieve a single char, instead
+           using the direct character index; should be much faster
+         - Added various conditional debug statements
+         - Fixed invalidation calculation for selection ranges
+         - Added ExpandSelection() method to support word and line selection
+         - Switched SetSelectionToCaret to use new Marker compare overloads
+         - Added central IsWordSeparator() method to determine word 
+           separators/whitespace and FindWordSeparator() to streamline common
+           usage of IsWordSeparator()
+       * TextBoxBase.cs:
+         - Removed unneeded grabbed variable, it was just mirroring
+           Control.Capture
+         - No longer firing OnTextChanged event when Text setter is called,
+           since the base will fire the event for us
+         - Added handling of Ctrl-Up/Down selection
+         - Added handling of Shift-Cursorkey selection
+         - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
+           words
+         - Added handling of Shift and Ctrl-Shift-Home/End selection
+         - Removed some debug output
+         - Added handling for single/double/tripple-click to place caret/
+           select word/select line respectively (Fixes bug #76031)
+         - Added support for drag expansion of word/line selection
+       * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
+         current selection
+
+2005-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: If the drag is going to and from a MWF window just
+       copy the data instead of sending it out through the X Selection
+       mechanism.
+
+2005-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs:
+       * XplatUIX11.cs: When in a drag we don't want motion notify
+       messages to get passed on to the other controls. This prevents
+       mouse move messages from showing up in the drag source.
+
+2005-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Remove unneeded call to XAllowEvents.  Make sure that
+       the correct button is release to end a drag.
+       * XplatUIX11.cs: Make the button state internal so the drag system
+       can access it.  Dragging needs to know about all button releases,
+       not just left button.
+
+2005-11-02  Miguel de Icaza  <miguel@novell.com>
+
+       * Form.cs (Icon): If the icon is null, reset the icon to the
+       default value. 
+
+       * Cursor.cs: When writing the AND-mask bitmap do not include the
+       number of colors, but hardcode those to two (black and white),
+       fixes the loading of color cursors (Paint Dot Net).
+
+       * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
+       turn off autoscaling.
+
+       * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
+
+2005-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Make sure to send a status message if the pointer
+       enters a control that can not accept a drop, otherwise the cursor
+       isn't updated correctly. Also tried to compress the lines of code
+       a bit.
+
+2005-11-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Change cursors based on drag action. Also attempt to
+       set actions correctly.  This isn't perfect as XDND and win32 have
+       some differences on how you allow actions. I'll clear this up by
+       adding a path for drag from MWF to MWF windows.
+       * XplatUIX11.cs: Hook into the dnd system.
+
+2005-11-02  Jordi Mas i Hernandez <jmas@softcatala.org>
+
+       * ListView.cs: Fixes scroll bar visibility. Hide them if they were
+       previously shown but they are no longer need it. Very obvious when 
+       browsing files with FileDialog.
+
+2005-11-01  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: We always need to call OnPaintBackground. We pretty much
+         ignore AllPaintingInWmPaint and always do the painting there, whether 
+         it's set or not, since we always ignore the WM_ERASEBKGND message 
+         (which we don't generate on X11). This fixes #76616.
+       * Panel.cs: Removed unneeded background painting. This happens properly
+         in Control.cs already
+
+2005-10-31  Mike Kestner  <mkestner@novell.com>
+
+       * Menu.cs: Add items to collection before setting their index.
+       * MenuItem.cs : add range checking with ArgumentException like MS.
+       [Fixes #76510]
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * ListBox.cs: Invalidate if the area is visible at all not just
+       contained in the visible rect. Fixes unselection of semi visible
+       items.
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Consistently name the dnd methods. Make them
+       internal so we can override them to match some MS behavoir
+       internally.
+       * Win32DnD.cs: Use the new consistent names.
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Don't draw the selected node when we lose focus.
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: We still need to reset the state even though a full
+       reset isn't being done, otherwise status's still get sent all over
+       the place.
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Make the dnd_aware flag internal so the dnd
+       subsystem can check it. Catch exceptions thrown in dnd handlers to
+       match MS behavoir.
+       * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
+       * X11Dnd.cs: Handle null data in the converters. Set the XDND
+       version when sending a XdndEnter. Use the control/hwnd dnd_aware
+       flags to reduce the number of dnd enters/status's sent.
+
+2005-10-31  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
+
+2005-10-31  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * PictureBox.cs: Fixes 76512
+
+2005-10-28  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Early implementation to support winforms being a drag
+       source for data on X11. Also restructured the converters so they
+       can go both ways now.
+       * XplatUIX11.cs: Tie ins to the the Dnd stuff.
+       
+2005-10-27  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
+         clipboard requests
+
+2005-10-27  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Implement serialization so my DnD examples will work.
+
+2005-10-24  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
+         TreeView.cs: Don't dispose objects that are not owned.
+         
+2005-10-24  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
+         should retrieve the current cursor and report that, but XplatUI
+         doesn't (yet) have an interface for that (and I'm not sure I even
+         can, on X11)
+       * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
+         until any message loop processing is done (and the WM_SETCURSOR
+         replaces the cursor to the proper one)
+       * XplatUIX11.cs: 
+         - Fixed override behaviour, we can't set the cursor globally on X11, 
+           just for our windows.
+         - Invalidating the System.Drawing X11 display handle when we are
+           shutting down
+       * Control.cs: Fix to make csc happy
+
+2005-10-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: 
+         - get_Text: Add last line (without trailing newline) to returned
+           value (Fixes 76212)
+         - get_TextLength: Count last line in returned length
+         - ToString: Call Text property instead of duplicating code
+
+2005-10-23  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Dispose ImageAttributes objects.
+
+2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Use attribute constructors with less arguments where
+         possible.
+
+2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
+         Use typeof instead of strings when assembly is referenced. Added
+         some more comments.
+
+2005-10-21  Jackson Harper  <jackson@ximian.com>
+
+       * ListView.cs: Raise a double click event. Also tried to somewhat
+       fix when the selectedindexchanged event is raised. Its still
+       broken though.
+
+2005-10-21  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: New method to invalidate the plus minus area of a
+       node without invalidating the whole node (maybe this can be used
+       in some more places).
+       * TreeNodeCollection.cs: When adding to an empty node we need to
+       invalidate its plus minus area so the little block shows up.
+       
+2005-10-21  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make sure that when we invalidate a node the bounds
+       are big enough to cover the selected box and the focus
+       rectangle. Use a different colour for the lines connecting nodes
+       so they show up with all themes.
+
+2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * NativeWindow.cs: Don't call anything that could call into the driver,
+         we might be on a different thread.
+
+2005-10-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs(Dispose): Since Dispose might run on a different thread,
+         make sure that we call methods that could call into the driver via
+         invoke, to avoid thread issues
+
+2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Removed finalizer
+       * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
+         not allowing to be called on the finalizer thread.
+
+2005-10-21  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs:
+         - Reverted r51889 and r51891.
+         - Added ImageListItem class that stores unmodified image items and image
+           properties required to create list images until handle is created.
+         - Added AddItem and moved image creation logic to AddItemInternal.
+         - Added CreateHandle method that creates images based on unmodified items.
+         - Added DestroyHandle that changes state to store unmodified items.
+         - Add and AddStrip methods no more create handle.
+         - ReduceColorDepth has no return value.
+         - Dispose destroys handle.
+         - Modified other methods to reflect the above changes.
+         - Implemented key support.
+         - Added profile 2.0 members and attributes.
+         - Added private Reset and ShouldSerialize methods that provide the same
+           behavior as MS.NET but the Visual Studio .NET designer seems to ignore
+           them as they are private.
+         - Added some more comments about implementation details.
+
+2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
+
+2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
+
+2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridDrawingLogic.cs: Fixes column hit calcultation
+       * DataGridColumnStyle.cs: Remove debug message
+
+2005-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We can always get input keys regardless of whether
+       or not editing is enabled. They are used for navigation.
+
+2005-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Use the viewport rect for determining if a node
+       needs to be moved for visibility. Don't use Begin/End edit. This
+       calls a full refresh when its done.
+       * TreeView.cs: New SetBottom works correctly.  Make the viewport
+       rect property internal so the treenodes can see it. When clicking
+       on a node we need to ensure that its visible because it might just
+       be partly visible when clicked.
+
+2005-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Remove debug code.
+
+2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Datagrid.cs: Implements column sorting in Datagrid
+       * DataGridColumnStyle.cs: Implements column sorting in Datagrid
+
+2005-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Remove items properly. Update the correct
+       area after removing them.
+
+2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Datagrid.cs: Should not call base.OnPaintBackground
+
+2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (GetMessage):
+         - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
+           window instead of client window
+         - Now properly calculates NC_xBUTTONUP message coordinates
+         - ScreenToMenu now properly calculates it's coordinates of whole 
+           window, since menus are in the whole window, not in the client
+           window
+         - Added WholeToScreen coordinate translation method
+
+2005-10-20  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
+         want to return a message, loop back to the beginning of the function
+         and grab the next real message to process instead.
+
+2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Splitter.cs: Properly set limits if no filler control is used
+
+2005-10-19  Jackson Harper  <jackson@ximian.com>
+
+       * ColorDialog.cs: Don't show the help button if it is not enabled
+       instead of disabling it (this is what MS does). Don't create the
+       panel until the dialog is run, otherwise the vars (such as
+       ShowHelp) are not set yet.
+
+2005-10-19  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
+       are reduced when adding nodes.
+       * TreeNode.cs:
+       * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
+       tree.
+       
+2005-10-19  Jackson Harper  <jackson@ximian.com>
+
+       * FolderBrowserDialog.cs: End editing our treeview so the window
+       actually gets refreshed.
+
+2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Fixed logic flip on when to call OnPaintBackground. 
+         Obsoleted handling of WM_ERASEBKGND, now always draws our background
+         inside of WM_PAINT
+
+2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MenuAPI.cs: Returns after Hidding window
+       * XplatUIX11.cs: Added TODO found while debugging menu issues
+
+2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Do not re-map the whole window when it's size
+         becomes non-zero unless it's supposed to be actually visible
+
+2005-10-18  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We don't need to keep a count anymore.
+       * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
+       use the Grow method.
+
+2005-10-18  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Insert is not supported on arrays, so
+       implement it manually here.
+
+2005-10-18  Jackson Harper  <jackson@ximian.com>
+
+       * ImageList.cs: Dont kill the list when the colour depth is
+       changed, just change the colour depth of all the images.
+       - Same goes for setting the image size. Just resize them all
+       instead of killing the list softly.
+
+2005-10-18  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Don't invalidate empty rectangles.
+
+2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListViewItem.cs:
+         - Adds checked item to the Checked/Item lists (where empty before)
+         - Do not add items to the Selected lists if they are already present
+       * ListView.cs:
+         - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
+         - When deleting items make sure that we delete them for the Selected
+         and Checked list also.
+
+2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Label.cs: Dispose objects no longer used
+       * ThemeWin32Classic.cs: Dispose objects no longer used
+
+2005-10-18  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Don't refresh the whole control when the tabs are
+       scrolled, we just need to refresh the tab area.
+
+2005-10-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Compress code a little bit. Only calculate the
+       after handle when we need it.
+
+2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: When the parent size changes, recalculate anchor 
+         positions. Partial fix for #76462
+
+2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: Make sure the picturebox has it's background 
+         drawn. Fixes #76462
+
+2005-10-17  Jackson Harper  <jackson@ximian.com>
+
+       * MonthCalendar.cs: Don't create the numeric up down until our
+       handle is created. Otherwise our handle is created in the
+       constructor and we don't know if we are a WS_CHILD or WS_POPUP
+       yet.
+
+2005-10-17  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
+       correctly.
+
+2005-10-17  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
+       * TreeNode.cs : small logical fix (was using local var instead of field)
+       
+2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
+
+2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
+
+2005-10-16  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: 
+         - Re-implemented anchoring code. My first version was really broken.
+           This fixes bug #76033. Unlike the previous implementation we will
+           no longer have round errors since all numbers are calculated from
+           scratch every time. Removed various anchor-related obsolete vars.
+         - InitLayout no longer causes layout event firing and layout to be 
+           performed
+
+2005-10-16  Jackson Harper  <jackson@ximian.com>
+
+       * Hwnd.cs: Compute invalid area correctly (fixes my last commit
+       which was broken).
+
+2005-10-16  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Remove debug code.
+
+2005-10-16  Jackson Harper  <jackson@ximian.com>
+
+       * XEventQueue.cs: Increase the default queue size (very simple
+       apps needed to grow the queue).
+       * Hwnd.cs: No finalizer so we don't need to suppress
+       finalization. Compute the invalid area manually so a new rectangle
+       does not newto be created.
+       * ScrollableControl.cs: Don't set any params (otherwise visibility
+       isn't set correctly).
+       * MdiChildContext.cs: New constructor takes the mdi parent so it
+       doesn't have to be computed and avoids a crash on windows. Draw
+       the window icon properly, and allow the text to be seen.
+       * Form.cs: Use new MdiChildContext constructor. Make sure the
+       child context isn't null in wndproc.
+       * TabControl.cs: Don't set focus, this is muddling keyboard
+       behavoir. Expand the tab rows when a window size increase will
+       allow extra tabs to be seen. Don't allow tabs smaller than the
+       width of a window to be scrolled out of view.
+       * TreeNode.cs:
+       * TreeView.cs: Use measure string to calculate a nodes width, the
+       width is cached and only updated when the text or the font is
+       changed. Don't check for expand/collapse clicks on the first level
+       nodes if root lines are disabled.
+       
+2005-10-16  Ritvik Mayank  <mritvik@novell.com>
+
+       * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
+
+2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridBoolColumn.cs: fixes warning
+
+2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
+       to match more to match more precisely the MS Net behavior
+
+2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Hwnd.cs: Added field to track if window is mapped
+       * XplatUIX11.cs: 
+         - Unmap windows if they become 0-size, re-map when 
+           they are >0 again; fixes #76035
+         - Re-set our error handler after initializing X11Desktop
+           to override any error handlers Gtk or whatever was called
+           may have set.
+
+2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * CheckedListBox.cs: Removed unused vars
+       * ListView.cs: Fixed signatures
+       * RichTextBox.cs: Removed unused vars
+       * TextBoxBase.cs: Removed unused vars
+       * XplatUIWin32.cs: Removed unused vars
+       * XplatUIX11.cs: Removed unused vars
+       * XplatUI.cs: Updated version and date to latest published
+
+2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursor.cs: Added private .ctor to work around a bug in
+         resourceset (Thanks to Geoff Norton for the help on this)
+       * SplitterEventArgs.cs: Made fields accessible so we don't
+         waste boatloads of objects and can reuse the same one
+         in Splitter
+       * XplatUIWin32.cs(DrawReversibleLine): Now also considers
+         any captions and borders when generating screen coordinates
+       * Splitter.cs: Reimplemented control, now fully complete, uses
+         rubberband drawing, supports and obeys all properties, has
+         proper cursors
+
+2005-10-13  Miguel de Icaza  <miguel@novell.com>
+
+       * Form.cs (Form): Setup default values for autoscale and
+       autoscale_base_size;  Make these instance variables, not static
+       variables. 
+
+       (OnLoad): on the first load, adjust the size of the form.
+
+2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added 
+         width argument to DrawReversibleRectangle()
+       * XplatUIWin32.cs, XplatUIX11.cs: 
+         - Implemented width for DrawReversibleRectangle()
+         - Added logic to DrawReversibleRectangle that recognizes a zero
+           width or height and only draws a line in that situation
+       
+2005-10-12  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
+       * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
+       * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
+         method (it uses our FosterParent window to get a graphics context)
+
+2005-10-12  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground 
+         and SetWindowBackground methods
+       * Control.cs:
+         - Setting proper ControlStyles
+         - We no longer call XplatUI.SetWindowBackground and XplatUI.
+           EraseWindowBackground, instead we draw the window background
+           ourselves in PaintControlBackground. This behaviour is
+           required to match MS, where, when OnPaintBackground is not
+           called, the background is not drawn.
+         - Removed unneeded Refresh() in set_Text
+       * Hwnd.cs: Dropped the ErasePending support. No longer needed
+       * XplatUIX11.cs:
+         - Created DeriveStyles method to translate from CreateParams to
+           FormBorderStyle and TitleStyle, also handles BorderStyle (which
+           matches FormBorderStyle enum values)
+         - Consolidated SetHwndStyles and CalculateWindowRect border/title
+           style calculations into single DeriveStyles method
+         - Fixed CreateWindow to (finally) use Gravity. This prevents X11
+           from redrawing the whole window on any resize or expose.
+         - Fixed CreateWindow usage of SetWindowValuemask. Before not
+           all styles were applied to our whole/client window appropriately
+         - Removed EraseWindowBackground() and SetWindowBackground() methods
+         - Removed handling of WM_ERASEBKGND message from DefWndProc, we
+           no longer clear/redraw the background through X
+         - Removed handling of erase_pending bit, we have no use for it (or
+           so it seems)
+       * XplatUIOSX.cs:
+         - Removed generation and handling of WM_ERASEBKGND message
+         - Removed EraseWindowBackground() and SetWindowBackground() methods
+         - Removed handling of hwnd.ErasePending flag
+       * XplatUIWin32.cs:
+         - Removed EraseWindowBackground() and SetWindowBackground() methods
+         - We no longer call EraseWindowBackground on PaintEventStart, we 
+           ignore the fErase flag, erasing is handled in Control in the
+           background handler
+       * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
+         LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
+         TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs, 
+         CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs, 
+         DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, 
+         TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
+         DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
+
+2005-10-12  Jonathan Chambers <jonathan.chambers@ansys.com>
+
+       * PropertyGrids.cs: Get sub properties
+       * PropertyGridView.cs: Fix drawing code
+
+2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: Fixes 76383
+
+2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: Sets location and size before attachment
+       * ThemeWin32Classic.cs: Fixes border drawing and calculations
+       * DataGridDrawingLogic.cs: Fixes border drawing and calculations
+
+
+2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Fixes border drawing
+
+2005-10-10  Miguel de Icaza  <miguel@novell.com>
+
+       * MimeIcon.cs: Ignore errors if the file can not be read.
+
+2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
+        - Fixed border calculations
+        - Fixed horizontal scrolling in single column listboxes
+        - Fixed drawing issues
+
+2005-10-10  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to 
+         FormBorderStyle enum
+       * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added 
+         code to determine FormBorderStyles from CreateParams
+       * Form.cs:
+         - Fixed bug where we'd set the wrong window styles if we were
+           not creating an MDI window
+         - Added call to XplatUI.SetBorderStyle when form borders are set
+       * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
+       * Hwnd.cs:
+         - Removed obsolete edge style
+         - Switched from BorderStyle to FormBorderStyle
+       
+2005-10-10  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Use the property to get the window handle instead of
+       accessing it directly. Prevents a null reference exception.
+
+2005-10-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Don't adjust the rect given to DrawString now that
+       our libgdiplus draws correctly.
+
+2005-10-08  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Don't try to find the clicked on node if there are
+       no nodes in the tree.
+
+2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * RichTextBox.cs:
+
+         restore
+
+2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
+         ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
+         ErrorProvider.cs:
+         Use ResPool for brushes and dispose System.Drawing objects that
+         are not used anymore.
+
+2005-10-07  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Use the new borders instead of drawing them
+       ourselves.
+
+2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Calling UpdateBounds after changing the window's BorderStyle 
+       since the style can change the ClientSize
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Made PaintControlBackground virtual
+       * Panel.cs: Overriding PaintControlBackground instead of using paint
+         event; paint event method was interfering with 'real' users of the
+         event.
+
+2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: remove border drawing since it is handled
+       by the base control class now and was causing double border drawing.
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Panel.cs: Redraw our background on paint. Not a pretty solution,
+         but it does seem to match MS behaviour. This fixes bug #75324
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: A better DrawReversibleRectangle version, however
+         somewhat hackish looking
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs:
+         - We now accept Enter even if AcceptEnter is false, if the containing
+           form does not have an AcceptButton configured (fixes bug #76355)
+         - Calculations are now fixed to no longer use Width/Height, but
+           ClientSize.Width/Height, since we now support borders (this was
+           a result of fixing borders and therefore bug #76166)
+         - We no longer show the horizontal scrollbar if TextBox.WordWrap is 
+           true (fixes bug #76354)
+       
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: 
+         - Defaulting BorderStyle and setting it in XplatUI when our window 
+           is created
+         - Added enum check to InternalBorderStyle setter
+       * XplatUIX11.cs: 
+         - Added drawing of window borders
+         - Now properly calculates WM decorations offset for toplevel 
+           windows (fixes bug #74763)
+       * XplatUIWin32.cs: 
+         - Implemented BorderStyles for windows (we're letting win32 draw 
+           the border for us)
+         - Fixed the signature for SetWindowLong
+       * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
+         ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for 
+         setting borders
+       * UpDownBase.cs: Remove drawing of borders, this is handled by
+         the driver, outside the client area
+       * ListView.cs: Removed bogus border calculations. The control should
+         be oblivious to borders, since those are not part of the client
+         area. 
+       * X11DesktopColors.cs: Commented out (currently) unneeded variables
+       * ThemeWin32Classic.cs: Removed border calculations from ListView 
+         drawing code
+
+2005-10-06  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Clear out the old virtual position remove
+       all the unneeded calls to CreateGraphics.
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: Use proper color for highlighted text; fixes #76350
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: 
+         - Added loading and setting of our new default icon
+         - Only set icon if window is already created
+
+2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Label.cs:
+         - Do not explicitly set the foreground and background colors, to
+           allow inheriting from parents (fixes #76302)
+         - Use Control's InternalBorderStyle property to deal with borders
+
+2005-10-06  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Use the new xplatui function to draw a
+       reversible rect.
+
+2005-10-06  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Add the parent before creating the child context cause
+       we need the parent when setting up the child.
+
+2005-10-06  Jackson Harper  <jackson@ximian.com>
+
+       * FolderBrowserDialog.cs: redo the tree population code so a
+       second thread isn't used. Should be a lot faster and more stable
+       now.
+
+2005-10-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: There are no expand/collapse boxes if the node has
+       no children.
+
+2005-10-05  Jackson Harper  <jackson@ximian.com>
+
+       * X11DesktopColors.cs: Get menu colours for the gtk theme.
+
+2005-10-05  Alexander Olk  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Fix InitialDirectory
+
+2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs:
+               - Fixes changing between styles
+               - Fixes simple mode
+               - Fixes last item crashing when navigating with keyboard
+
+2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
+
+2005-10-05  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: If updating the root node do a full refresh.
+       * TreeNode.cs: The root node should be expanded by default. Also
+       added a utility prop to tell if we are the root node.
+       * TreeNodeCollection.cs: Only refresh if the node we are being
+       added to is expanded. Also added a comment on a potential
+       optimization.
+       
+2005-10-04  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize() 
+         in dispose method. Fixes #76330
+
+2005-10-04  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
+
+               - Implements vertical and horizontal scrolling using XplatUI
+               - Fixes keyboard navagation
+               - Fixes EnsureVisible
+               - Drawing fixes
+               - Handles and draws focus properly
+
+
+2005-10-04  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Use upper case initials for internal fields. ImageStream:
+         Create handle. NET_2_0: Destroy handle when value is null.
+
+2005-10-03  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: My last scrollbar patch was broken. This is a
+       revert and a new patch to prevent the thumb from refreshing so
+       much.
+
+2005-10-02  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: Don't update position if it hasn't actually
+       changed. This occurs when you hold down the increment/decrement
+       buttons and the thumb gets to the max/min.
+
+2005-10-01  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs:
+       * MdiChildContext.cs:
+       * MdiClient.cs: Implement ActiveMdiChild in Form.
+
+2005-10-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Include ComboBoxEdit flag for the edit item
+
+2005-10-01  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
+         be found
+
+2005-09-30  Jackson Harper  <jackson@ximian.com>
+
+       * ListBox.cs: Don't do a full refresh unless some data has
+       actually changed.
+
+2005-09-30  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Make sure that the checkboxes size is factored in
+       even when not visible.
+
+2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * FileDialog.cs: Fix Jordi's build break
+
+2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * FileDialog.cs: 
+               - Use standard the Windows colours for the combobox as espected
+               - Dispose objects that use resouces when no longer need them
+
+2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * X11DesktopColors.cs: Initial incomplete implementation
+       * XplatUIX11.cs: Added call to initialize X11DesktopColors
+
+2005-09-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Theme.cs: 
+         - Switched Theme color names to match the names defined in 
+           System.Drawing.KnownColors. Life's hard enough, no need to make 
+           it harder.
+         - Added setters to all theme color properties so themes can set
+           their color schemes. The setters also propagate the color changes
+           to System.Drawing.KnownColors via reflection
+       * ControlPaint.cs,  Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
+         ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
+         DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
+         use the new, more logical theme color names
+       * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
+         post-NT colors
+       * ThemeWin32Classic.cs:
+         - Removed code to set the old classic Windows colors. Instead it
+           now relies on the colors returned by System.Drawing.KnownColors
+           which will be either modern static colors (Unix) or colors
+           read from the user's configuration (Win32)
+         - Updated to use the new, more logical theme color names
+         - Switched DataGrid drawing code to use only Theme colors instead of
+           a mix of System.Drawing.KnownColors and Theme colors
+         - DrawFrameControl(): Removed code that fills the button area, the
+           fill would overwrite any previous fill done by a control. This
+           fixes bug #75338 
+         - Added DrawReversibleRectangle() stub
+       * ScrollableControl.cs: Set visible state to false when scrollbars
+         are removed (pdn fix)
+       * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added 
+         DrawReversibleRectangle() method to allow drawing primitive 
+         'rubber bands'
+       * XplatUIX11.cs: Implemented DrawReversibleRectangle()
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Add(Icon): Create handle.
+
+2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListView.cs:
+       * ThemeWin32Classic.cs:
+               - Fixes detail mode
+               - Sets clippings
+               - Issues with drawing
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Moved RecreateHandle back to ImageList as event
+         source has to be the ImageList.
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
+
+2005-09-29  Jonathan Chambers <jonathan.chambers@ansys.com>
+       * GridItem.cs: Fixed TODOs
+       * GridItemCollection.cs: Added ICollection interface
+
+2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Resize icons when needed.
+
+2005-09-29  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListViewItem.cs
+               - Fixes GetBounds and returns on screen rects
+       * ListView.cs:
+               - Fixes vertical and horzintal scrolling of items
+       * ThemeWin32Classic.cs:
+               - Fixes drawing
+               
+2005-09-29  Raja R Harinath  <harinath@gmail.com>
+
+       * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
+
+2005-09-29  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Added comments about handle creation. Moved Handle,
+         HandleCreated and OnRecreateHandle implementations to ImageCollection.
+         Handle is created in Add methods.
+
+2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * DataGridDrawingLogic.cs: 
+               - Takes rows into account on Colum calculations
+               - Returns the column when clickig
+       * DataGrid.cs:
+               - Fixes default HitTestInfo values
+               - Fixes HitTestInfo.ToString
+               - Fixes ResetBackColor          
+       
+2005-09-28  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs: Obey rules for fixed sized windows (no
+       sizing or cursor changes). Also added some temp code to draw the
+       titlebars text (Makes dev a little easier).
+
+2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
+
+2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * ListBox.cs: Fixes bug 76253
+
+2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
+
+       * ImageList.cs: Added comments about the current implementation. Added
+         ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
+         Format32bppArgb to preserve transparency and can use Graphics.FromImage
+         while using the specified ColorDepth. ReduceColorDepth uses unsafe code
+         with Bitmap.LockBits for better performance. Revised the whole file to
+         match MS.NET behaviour and provide better performance. Non-public
+         interface members are calling public members even when they throw
+         NotSupportedException for better maintainability. Moved ColorDepth,
+         ImageSize, ImageStream and TransparentColor implementations to
+         ImageCollection for better performance as these properties are not used
+         by ImageList.
+       * ImageListStreamer.cs: Added a new internal constructor that takes an
+         ImageList.ImageCollection and serializes Images based on
+         ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
+         match ImageList property name.
+
+2005-09-28  Kazuki Oikawa <kazuki@panicode.com>
+
+       * ListBox.cs: Fixes IndexFromPoint for last item
+
+2005-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Set the position of new mdi children correctly.
+
+2005-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs: New mdi children need to be added to the back of
+       the controls collection so the zorder is set correctly. Also add a
+       count of all the child windows that have been created.
+
+2005-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs (CreateParams): Setup MDI forms correctly.
+
+2005-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * MdiChildContext.cs:
+       * MonthCalendar.cs:
+       * UpDownBase.cs:
+       * ListBox.cs:
+       * ListView.cs:
+       * TextBoxBase.cs:
+       * TreeView.cs:
+       * ScrollableControl.cs:
+       * ComboBox.cs: Add implicit controls using the new implict control
+       functionality in ControlCollection. Also try to block multiple
+       control add in a suspend/resume layout to save some cycles.
+       
+2005-09-27  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Add functionality to the controls collection to add
+       'implicit controls' these are controls that are created by the
+       containing control but should not be exposed to the user. Such as
+       scrollbars in the treeview.
+       * Form.cs: The list var of the ControlsCollection is no longer
+       available because of the potential of implicit controls getting
+       ignored by someone accessing the list directly.
+
+2005-09-26  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs: Fixed SetChildIndex; it no longer causes a child to
+         loose it's parent. (Fixed bug introduced in r49103 when we added
+         setting the child parent to null on Remove)
+
+2005-09-26  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
+       * Splitter.cs: Added missing attributes for BorderStyle property.
+       * TextBoxBase.cs: Marked Calculate* methods internal.
+       * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
+       MS.NET.
+
+2005-09-26  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * ListBox.cs: Fixes navigation to the last item in multicolumn lists
+
+2005-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Update the node bounds correctly regardless of
+       whether the node is visible.
+
+2005-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * ImageList.cs: Don't dispose the image after it is added to the
+       image list. Only reformat images that need to be resized.
+
+2005-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * ImageList.cs: Don't set the format when changing the image.
+
+2005-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We can't just assume the node has a font. Use the
+       treeviews font if no node font is available.
+
+2005-09-25  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Allow the scrollbars to be reset with negative
+       values.
+       - Don't add scrollbars to negative sized windows.
+
+2005-09-23  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
+       old Mono.Posix. Also remove some stray code that shouldn't have
+       been committed.
+
+2005-09-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Attempt at proper sizing of the horizontal
+       scrollbar. Also don't resize the scrollbars unless they are
+       visible.
+
+2005-09-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: We don't need to expand the invalid area when the
+       selection changes, as this is all drawn in the node's bounding
+       box. The area needs to be expanded (previous typo was contracting
+       it) when the focus rect moves.
+
+2005-09-23  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Display the selection box under the correct
+       circumstances. We were rendering white text with no selection box
+       before.
+
+2005-09-23  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * TextControl.cs(Split): Now updates selection start/end if it points 
+         into a line that's being split. Fixes a FIXME and bug #75258
+
+2005-09-23  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs:
+       * ListControl.cs: Don't use the path when retrieving binding
+       managers from the binding context. My bat sense tells me that the
+       path is only used on insertion.
+
+2005-09-22  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: Set the cursor an easier way. (Thanks peter).
+
+2005-09-22  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: There are special cursors used for splitting.
+       * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
+
+2005-09-22  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: Change the cursor appropriately when the splitter
+       is moused over, so the user actually knows there is a splitter
+       there.
+
+2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
+
+       * Label.cs : Fix ToString method to give same output as MS.NET
+
+2005-09-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Create the scrollbars when the handle is created
+       and add them right away, just make them invisble. Also account for
+       the window being shrunk vertically to the point that the vert
+       scrollbar needs to be added.
+       - Remove some 0.5 adjustments to get around anti aliasing issues.
+       
+2005-09-22  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * MainMenu.cs: Fixes default value
+       * MenuItem.cs: Fixes default value
+
+2005-09-22  Kazuki Oikawa  <kazuki@panicode.com>
+
+       * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
+
+2005-09-21  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Don't try to set the border style on the window if
+       it hasn't been created. When the window is created the border
+       style will be used.
+
+2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs (Update): Don't call XplatUI if we don't have a
+         window handle yet
+
+2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ContainerControl.cs: Instead of throwing an exception, print
+         a one-time warning about Validate not being implemented
+       * XplatUIWin32.cs: Removed debug output
+
+2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Control.cs: Only set XplatUI background if we expect the windowing
+         system to handle the background. This stops controls that draw their
+         own background from flickering
+
+       * XplatUIX11.cs: Support custom visuals and colormaps for window 
+         creation. This allows, amongst other things, using MWF X11 windows 
+         with OpenGL.
+
+2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
+         CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
+         GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
+         SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
+         TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
+         IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
+         KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
+         RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
+         ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
+         ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
+         GridColumnStylesCollection.cs, 
+         IDataGridColumnStyleEditingNotificationService.cs,
+         PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
+         MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
+         GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs, 
+         TreeNodeCollection.cs, AmbientProperties.cs, 
+         RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
+         DataObject.cs, ErrorProvider.cs, Splitter.cs,
+         DataGridLineStyle.cs, Shortcut.cs, Control.cs,
+         FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
+         BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
+         IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
+         FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
+         IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
+         NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
+         PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
+         SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
+         FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
+         DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
+         ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
+         RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
+         MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
+         ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
+         CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
+         MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
+         NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
+         ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
+         SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
+         Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
+         RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
+         DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
+         ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
+         PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
+         DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
+         ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
+         AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
+         RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
+         CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
+         SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
+         Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
+         SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
+         ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
+         TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
+
+2005-09-21  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Call Before/After Expand not Collapse when
+       expanding.
+
+2005-09-20  Jackson Harper  <jackson@ximian.com>
+       
+       * XplatUIX11.cs: Use the more hand looking hand (in most themes).
+
+2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * ListViewItem.cs:
+               - Fixes bug 76120
+               - Fixes proper storing of subitems
+               - Fixes not updated items
+
+2005-09-20  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
+         things if our window handle isn't created yet. Also disabled 
+         debug for TextBoxBase
+
+2005-09-20  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * MenuAPI.cs: Remove filtering of events to allow menu usage
+
+2005-09-20  Miguel de Icaza  <miguel@novell.com>
+
+       * Cursor.cs: Allow null to be passed to Cursor.Current.
+
+2005-09-20  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeWin32Classic.cs:
+         - Change some private methods/fields to protected virtual so that 
+           they can be accessed and overriden in derived classes
+         - First refactoring of some methods. Derived themes now don't 
+           need to duplicate the complete code from ThemeWin32Classic
+       * ThemeNice.cs:
+         - Added nice StatusBar
+         - Derive from ThemeWin32Classic and not Theme
+         - Removed duplicate ThemeWin32Classic code
+
+2005-09-20  Miguel de Icaza  <miguel@novell.com>
+
+       * Control.cs (ControlCollection.Add): If the value null is passed
+       the control is ignored. 
+
+       Optimize this loop.
+
+2005-09-19  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
+         PostQuitMessage state.
+       * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
+
+2005-09-19  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * Application.cs: Our constructor will never get called, move 
+         initialization to fields; fixes bug #75933
+
+2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
+
+       * FileDialog.cs :
+               - Allow files to be selected properly using file name
+               combo box.
+               - Add ability to change diretory (absolute / relative)
+               using file name combo box.
+
+2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
+        
+       * ListBox.cs: 
+               - Fixes Multicolumn listboxes item wrong calculations
+               - Allows to click when only one item is in the listbox
+               - Fixes crash when no items using keyboard navigation
+
+2005-09-16  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ComboBox.cs: Reverted almost everything from the latest patch which
+         broke ComboBox
+
+2005-09-16  Kazuki Oikawa <kazuki@panicode.com>
+       
+       * ToolTip.cs:
+               - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
+       * ComboBox.cs:
+               - When DropDownStyle is Simple, it does not show scrollbar 
+               to the last item of the list.
+               - When DropDownStyle is Simple, it crashed when the list was 
+               scrolled down with the down cursor key.
+               - Fixed a bug that when DropDownStyle is DropDownList, the 
+               selected item was not shown.
+               - The position of the selected item was not preserved when 
+               the next dropdown happened.
+       * ThemeWin32Classic.cs:
+               - Items were wrapped at the right end.
+       * CheckedListBox.cs:
+               - Fixed Add method
+       * ListBox.cs:
+               - Items should be fully shown.
+               - When resizing and vertical scrollbar disappeared, the item 
+               of index 0 should be on the top of the list.
+               - GetItemRectangle should consider the size of ver. scrollbar
+       * StatusBar.cs:
+               - SizingGrip area should not be allocated when it is not 
+               displayed.
+               - Now it reflects MinWidth of the containing panel and 
+               fixed a crash that happens when its width becomes so small.
+
+2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * CheckedListBox.cs: Fixes bug 76028
+       * ListBox.cs: Fixes bug 76028
+
+2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
+       * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
+
+2005-09-12  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * XplatUIX11.cs: fixes System.NullReferenceException in some situations
+
+2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * IRootGridEntry.cs: Changed namespace to PropertyGridInternal 
+
+2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * IRootGridEntry.cs: Added
+       * PropertyGridCommands.cs: Added
+       * PropertiesTab.cs: Added missing methods and property
+       * PropertyGridView.cs: Made class internal
+       * PropertyGridTextBox.cs: Made class internal
+
+2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: Try to check some other environment variables
+         if "DESKTOP_SESSION" returns "default"
+
+2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Corrected background colors (e.g. menus)
+       * ColorDialog.cs: Use correct background colors for controls
+
+2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
+
+2005-09-08  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * RichTextBox.cs: Added initial implementation
+       * lang.cs: Removed. Was accidentally checked in long time ago
+       * TODO: Removed. Contents were obsolete
+
+2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
+                                                                                
+        * PropertiesTab.cs : Added
+
+2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
+                                                                                
+        * PropertyGrid.cs : Update
+        * PropertyGridView.cs : Update
+        * System.Windows.Forms.resx : Added images and strings
+
+2005-09-06  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
+2005-09-06  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
+         a busy loop right after the Ungrab the X11 display is otherwise 
+         blocked
+
+2005-09-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: Optimise the use of clipping
+
+2005-09-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGrid.cs: fixes recursion bug
+
+2005-09-03  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: 
+         - Draw RadioButton and CheckBox Buttons with DrawButtonBase
+         - Cleanup
+
+2005-09-02  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs: Draw nice ProgressBars
+
+2005-09-01  Miguel de Icaza  <miguel@novell.com>
+
+       * VScrollBar.cs: Another buglet found by Aaron's tool. 
+
+       * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
+       bug finder.
+
+2005-08-30  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeNice.cs:
+         - Added nicer menu drawing
+         - Updated DrawTab
+         - some refactoring
+
+2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * CreateParams.cs (ToString): Made output match MS
+       * Control.cs (Text): Don't set Text or Focus via XplatUI unless 
+           handle is already created (to avoid forcing window creation)
+       * XplatUIX11.cs: Set window text to caption after creating window,
+         in case Text was set before window was created
+       * Form.cs: Use this.Text instead of a static string as caption
+
+2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * NotifyIcon.cs: Don't set the window to visible; this screws
+         up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
+         OnPaint without a bitmap)
+       * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't 
+         happen very often anyway; we could add the check to the WM_PAINT 
+         event generation code
+
+2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * NotifyIcon.cs: Fill the icon area with a background color, to 
+         avoid 'residue' when transparent icons are drawn
+       * XplatUIX11.cs:
+         - Handle whole_window == client_window when destroying windows
+         - SystrayAdd(): Set client_window to whole_window value to
+           get mouse and other events passed to NotifyIcon
+
+2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Set proper default for Opacity property
+       * NotifyIcon.cs:
+         - ShowSystray(): Don't bother creating telling the OS
+           about the systray item if no icon is provided
+         - Now handles WM_NCPAINT message to deal with whole/client window
+           split
+         - Create window as visible to not get caught by Expose optimization
+       * Hwnd.cs: Removed debug message
+       * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
+         StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched 
+           PaintEventStart/End to use new client argument
+       * TextBoxBase.cs:
+         - Commented out debug messages
+         - Switched PaintEventStart/End to use new client argument
+       * XplatUI.cs: Added client window bool to PaintEventStart()/
+         PaintEventEnd() calls, to support drawing in non-client areas
+       * XplatUIDriver.cs: 
+         - Added client window bool to PaintEventStart()/PaintEventEnd() 
+           calls, to support drawing in non-client areas
+         - Added conditional compile to allow using MWF BeginInvoke 
+           on MS runtime
+       * XplatUIX11.cs:
+         - Added some conditional debug output
+         - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
+           whole/client window split
+         - Implemented handling of client argument to PaintEventStart()/End()
+       * Control.cs:
+         - Throw exception if BeginInvoke() is called and the window handle
+           or one of the window's parent handles is not created
+         - Added conditional compile to allow using MWF BeginInvoke on
+           MS runtime
+         - get_Parent(): Only sets parent if handle is created. This avoids
+           forcing window handle creation when parent is set.
+         - Now fires Layout and Parent changed events in proper order
+         - Switched to use Handle instead of window.Handle for Z-Order setting,
+           the get_Parent() patch above causes us to possibly get null for 'window'
+         - Implemented handling of client argument to PaintEventStart()/End()
+         - Now reports back to windows that WM_SETCURSOR was handled (to avoid
+           default handling)
+         - Now sends a Refresh() to all child windows when Refresh() is called
+
+2005-08-29  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Form.cs: Added (non-functional) Opacity property
+       * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
+
+2005-08-29  Alexander Olk  <xenomorph2@onlinehome.de>
+       * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
+         use export MONO_THEME=nice to activate it.
+         Currently supported controls:
+         - Button
+         - ComboBox
+         - ScrollBar
+         - TabControl (TabAlignment.Top only, other will follow)
+       * ThemeEngine.cs: Add theme nice
+       * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
+         if enabled
+
+2005-08-25  Jonathan Chambers  <jonathan.chambers@ansys.com> 
+
+       * Splitter.cs: Resize docked control and its neighbor.
+
+2005-08-24  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
+       -- Making Windows with Menus layout correctly --
+       * Form.cs : The first leg of the fix
+               Menu setter - adjust Client Size as needed to make space for the menu
+               SetClientSizeCore - doesn't call base version to be able to pass the 
+                       menu handle to XplatUI.CalculateWindowRect
+       * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
+       * XplatUIX11.cs: The critical second leg of the fix
+               GetWindowPos needs to use a recalculated client_rect
+               so that resizing the window doesn't break layout of child controls. 
+               Also a more complete rule to avoid X Server roundtrips in SetWindowPos
+               Lots of \t\n killed
+
+2005-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Label.cs: Now properly recalculates width and height on Font and Text
+         changes if AutoSize is set
+
+2005-08-19  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
+       * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
+
+2005-08-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ImageList.cs: Makes ToString method compatible with MS
+
+2005-08-18  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MenuAPI.cs: fixes bug 75716
+
+2005-08-11 Umadevi S <sumadevi@novell.com>
+       * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
+
+2005-08-11 Umadevi S <sumadevi@novell.com>
+       * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
+
+2005-08-10  Umadevi S <sumadevi@novell.com>
+       * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
+
+2005-08-07  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Menu.cs: fixes bug 75700
+       * MenuAPI.cs: fixes navigation issues
+
+2005-08-09  Umadevi S <sumadevi@novell.com>
+       * CheckedListBox.cs - simple fix for GetItemChecked.
+
+2005-08-08  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Serveral fixes
+       * ListBox.cs: Serveral fixes
+
+2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Fixes FindString methods and GetItemHeight
+       * ListBox.cs: Fixes FindString methods
+
+2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGrid.cs: fixes bugs exposed by new tests
+
+2005-08-04  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * Mime.cs: Compile Mono assembly references only if compiling
+         with Mono (Allows to build with VS.Net again)
+
+2005-07-28  Marek Safar  <marek.safar@seznam.cz>
+
+       * Control.cs (PaintControlBackground): Draw background image
+       corrrectly.
+       (CheckForIllegalCrossThreadCalls): Stubbed.
+       
+       * Form.cs (OnCreateControl): Center when should be centered.
+       
+       * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
+
+2005-07-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Binding.cs: Binding to properties should be case unsensitive
+
+2005-07-18 vlindos@nucleusys.com
+
+       * DataGrid.cs: fixes setmember order
+
+2005-07-07  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
+       * FileDialog.cs: FileDialog is now resizable and uses the new
+         MimeIconEngine
+
+2005-07-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: default value
+       * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
+       * GridTableStylesCollection.cs: fixes checking MappingName
+       * DataGridDrawingLogic.cs: fixes drawing logic issues
+       * DataSourceHelper.cs: rewritten to make compatible with more data sources
+       * DataGrid.cs: fixes    
+
+2005-07-06  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * MimeGenerated.cs: Use case sensitive comparer for
+         NameValueCollections
+
+2005-07-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: bug fixes, code refactoring 
+       * ThemeWin32Classic.cs: bug fixes, code refactoring
+       * DataGridDrawingLogic.cs:  bug fixes, code refactoring
+       * DataGrid.cs: bug fixes, code refactoring
+       * DataGridTextBox.cs: bug fixes, code refactoring
+       * DataGridColumnStyle.cs:  bug fixes, code refactoring
+       * Theme.cs:  bug fixes, code refactoring
+
+2005-07-01  Peter Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: Quick fix for the reported crash on ColorDialog
+         and other text box usage
+
+2005-07-01  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Make sure the bottom of the tab covers the pages
+       border.
+
+2005-06-30  Peter Bartok  <pbartok@novell.com> 
+
+       * Form.cs (ShowDialog): Assign owner of the dialog
+       * TextBoxBase.cs: Always refresh caret size when deleting, caret
+         might have been moved to a tag with different height
+
+2005-06-30  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Don't create an infinite loop when setting focus
+       * MenuItem.cs: Don't dirty the parents if we don't have any
+
+2005-06-29  Ben Maurer  <bmaurer@ximian.com>
+
+       * LibSupport.cs: Rename
+
+2005-06-29  Peter Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Re-align caret after deleting a character
+       * TextControl.cs:
+         - DeleteChars(): Ensure that tag covers the provided position
+         - StreamLine(): Drop reference for dropped tag
+
+2005-06-29  Peter Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: 
+         - Selections now work properly, anchoring at the initial location
+           and properly extending in either direction (SetSelectionToCaret(),
+           SetSelectionStart() and SetSelectionEnd())
+         - No longer redraws the whole control on selection change, now
+           calculates delta between previous and new selection and only
+           invalidates/redraws that area
+         - Fixed FindPos() math off-by-one errors
+         - Changed DeleteChars() to verify the provided tag covers the
+           provided position, selections may have a tag that doesn't cover
+           the position if the selection is at a tag border
+         - Fixed off-by-one errors in DeleteChars()
+         - Added missing streamlining check in DeleteChars() to remove
+           zero-length tags
+         - Implemented Invalidate() method, now properly calculates exposures
+           between two given lines/positions
+         - Implemented SetSelection()
+         - Obsoleted and removed FixupSelection()
+         - Improved RecalculateDocument() logic, removing code duplication
+
+2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * LibSupport.cs: changes to match different input/output arguments.
+
+2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * LibSupport.cs: added libsupport.so init routine.
+
+2005-06-29  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * ControlBindingsCollection.cs
+               - Throws an exception on null datasource when adding
+               - Checks for duplicated bindings when adding
+
+2005-06-28  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs (OnKeyDown): Support left and right properly
+       (navigates as well as expanding and collapsing.
+       - Add support for Multiply, this expands all the selected nodes
+       children.
+       - Fix some tabbing.
+
+2005-06-28  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Implement keyboard navigation, currently supports,
+       LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
+       support for toggling checkboxes with the space bar.
+
+2005-06-28  Jackson Harper  <jackson@ximian.com>
+
+       * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
+       tree.
+
+2005-06-28  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Add missing event.
+
+2005-06-27  Peter Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs:
+         - Made line ending size configurable (now allows for counting 
+           lineendings as \n or \r\n)
+         - Added margin to viewport to keep caret visible on right side
+         - Fixed translation routines for line/pos to documentpos to consider
+           cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
+         - Fixed some line-endings to be unix style
+         - Fixed Document.FormatText to perform it's calculations 1-based
+         - Added descriptions for a few methods that might otherwise get 
+           used wrong
+         - Added NOTE section with some basic conventions to remember at 
+           the top of the file
+         - Major fixup for RichTextBox selection drawing:
+           * Fixed crashes when multiple tags on a single line were selected
+           * fixed selection box drawing not overlaying text
+           * fixed bogus offset calculation for tags not starting at index 1
+           * Switched behaviour from using multiple Substrings of a 
+             StringBuilder.ToString() to using multiple 
+             StringBuilder.ToString(start, length) statements, hoping this is
+             faster (kept original version commented out in the code, in case
+             original version was faster)
+       * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if 
+         alignment != Left
+       * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
+         call it as well
+
+2005-06-27  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Move to the left and right with the arrow
+       keys. These keys don't cycle beyond first and last like
+       tab. Refresh all the tabs when scrolling them to the left or
+       right.
+
+2005-06-27  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs:
+         - ToString: Added method
+         - CreateParams: Remove TODO and comment
+         - OnKeyDown: Cycle through bounds properly.
+         - SelectedIndex: Scroll to the right or left if we need to
+         display the newly selected tab.
+
+2005-06-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
+       set.
+
+2005-06-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
+       CTRL-SHIFT-TAB, and HOME, END are there any others?
+
+2005-06-23  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
+
+2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * DataGridTextBoxColumn.cs: fixes and enhancements
+       * ThemeWin32Classic.cs: fixes and enhancements
+       * DataGridBoolColumn.cs:  fixes and enhancements
+       * DataGridDrawingLogic.cs:  fixes and enhancements
+       * CurrencyManager.cs: fixes and enhancements
+       * DataGrid.cs: fixes and enhancements
+       * DataGridColumnStyle.cs:  fixes and enhancements
+
+2005-06-22  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Add some missing methods that just call into the
+       base. Make the TabPageCollection's IList interface behave in the
+       same manner as the MS implementation.
+
+2005-06-22  Peter Bartok  <pbartok@novell.com> 
+
+       * TextControl.cs: Added sanity check
+       * TextBoxBase.cs: 
+         - Fixed wrapping behaviour, don't set wrap on single line controls
+           (this fixes the breakage of colordialog introduced in an earlier
+            checkin)
+         - Added rudimentary support for autoscrolling right-aligned controls
+           (still needs fixing, also, center alignment scroll is missing)
+
+2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * ScrollBar.cs: Fixes thumbpos on Maximum values
+
+2005-06-21  Jonathan Chambers <jonathan.chambers@ansys.com>
+       
+       * PropertyGridView.cs: Pass context information to UITypeEditors 
+
+2005-06-21  Peter Bartok  <pbartok@novell.com> 
+
+       * TextBoxBase.cs:
+         - Now calling PositionCaret with absolute space coordinates
+         - Enabled vertical scrolling
+         - Better tracking of scrollbar changes, tied into WidthChange
+           event
+         - Improved cursor tracking
+         - Removed debug output
+       * TextControl.cs:
+         - PositionCaret coordinates are now works in absolute space, not 
+           the canvas
+         - Improved tracking of document size
+         - Added events for width and height changes
+
+2005-06-21  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs: Set focus to active control when form is activated
+       * TextControl.cs: 
+         - Added word-wrap functionality to RecalculateLine() 
+         - Added some short function descriptions for VS.Net to aid in
+           writing dependent controls
+         - Added Caret property, returning the current coords of the caret
+         - Added ViewPortWidth and ViewPortHeight properties
+         - Added Wrap property
+         - Added CaretMoved event
+         - Removed some old debug code
+         - Split() can now create soft splits
+         - Added PreviousTag()/NextTag() to allow walking "tag-lists"
+         - Added method to format existing text
+         - Fixed size/alignment calculations to use viewport
+         - RecalculateDocument now can handle changing line-numbers while
+           calculating lines
+
+       * TextBox.cs:
+         - Added some wrap logic, we don't wrap if alignment is not left
+         - Added casts for scrollbar var, base class switched types to
+           also support RichTextBoxA
+         - Implemented handling of scrollbar visibility flags
+
+       * TextBoxBase.cs:
+         - Switched scrollbars type to RichTextBoxScrollBars to support
+           RichTextBox
+         - Added tracking of canvas width/height
+         - Switched scrollbars to be not selectable (to keep focus on text)
+         - Added central CalculateDocument() method to handle all redraw
+           requirements
+         - Added ReadOnly support
+         - Added WordWrap support
+         - Fixed handling of Enter key (we now treat it as a DialogKey)
+         - Fixed caret positioning when h or v scroll is not zero
+         - Fixed placing/generation of vertical scrollbar
+         - Added CalculateScrollBars() method to allow updating scrollbar
+           limits and visibility
+         - Fixed handling of horizontal scroll
+         - Added handling of vertical scroll
+         - Implemented auto-'jump' when caret moves to close to a left or
+           right border and there is text to be scrolled into view (currently
+           there's the potential for a stack overflow, until a bug in
+           scrollbar is fixed)
+
+2005-06-21  Geoff Norton  <gnorton@customerdna.com>
+       
+       * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
+
+2005-06-19  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * Mime.cs:
+       - added inodes.
+       - return application/x-zerosize for files with size zero
+         (if no extension pattern matches).
+       - check matches collection for strings too.
+       - return only the first mime type if the name value
+         collection has more than one mime type.
+
+2005-06-18  Jonathan Chambers <jonathan.chambers@ansys.com>
+       
+       * PropertyGrid.cs: Cleaned up some TODOs
+       * PropertyGridView.cs: Added support for UITypeEditors
+
+2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * DataGrid.cs: clears cached value
+
+2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
+       * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
+       * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
+       * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
+       
+2005-06-16  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: fixes colour
+
+2005-06-15  Peter Bartok  <pbartok@novell.com>
+
+       * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
+       * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
+       * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
+       * Control.cs: Added some MWFCategory and MWFDescription attributes
+       * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
+
+2005-06-15  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
+       usage
+
+2005-06-14  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
+       * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
+       * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
+       * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
+       * DataGrid.cs: default datagrid settings for Default Styles, fixes
+       * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
+
+2005-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
+       isn't printed when the user enables dropping. (X11 does accept
+       drops).
+       
+2005-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Remove some TODOS.
+
+2005-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * Form.cs: Hook into the mdi framework.
+       * MdiClient.cs: Use the base control collections add method so
+       parents get setup correctly. Set the default back colour and dock
+       style.
+       * MdiChildContext.cs: New class, this bad actor handles an
+       instance of an MDI window. Right now there is only basic
+       support. You can drag, close, and resize windows. Minimize and
+       Maximize are partially implemented.
+
+2005-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Mash numbers together properly, otherwise we get
+       freaky when both vals are negative. NOTE: There are probably other
+       places in XplatUIX11 that this needs to be done.
+
+2005-06-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGrid.cs: implement missing methods, move KeyboardNavigation
+       * DataGridColumnStyle.cs: fixes signature
+
+2005-06-12  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Use sizing cursors similar to the ones on
+       windows.
+
+2005-06-11  Jackson Harper  <jackson@ximian.com>
+
+       * StatusBarPanel.cs: Signature cleanups. Implement
+       BeginInit/EndInit.
+
+2005-06-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: Honors aligment
+       * GridColumnStylesCollection.cs: Contains is case unsensitive
+       * GridTableStylesCollection.cs: several fixes
+       * DataGridTableStyle.cs: default column creation
+       * DataGridDrawingLogic.cs: fixes
+       * CurrencyManager.cs: ListName property
+       * DataGrid.cs: multiple styles support
+       * DataGridColumnStyle.cs: fixes
+       
+
+2005-06-10  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs(Select): Moved SetFocus call to avoid potential
+         loops if controls change the active control when getting focus
+       * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
+         the up/down buttons
+
+2005-06-10  Matthias Felgner  <matthiasf@voelcker.ocm>
+
+       * ImageListConverter.cs: Implemented
+
+2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: Wired in NumericUpDown control for year
+
+2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: Removed MonoTodo attributes on Click and
+         DoubleClick events, since they are not meant to be fired.
+
+2005-06-09  Peter Bartok  <pbartok@novell.com>
+
+       * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
+         Jonathan's standalone controls into MWF, implemented missing
+         events, attributes and methods; added xxxAccessible classes
+       * AccessibleObject.cs: Made fields internal so other classes
+         can change them if needed
+
+2005-06-09  Jonathan Gilbert  <2a5gjx302@sneakemail.com>
+
+       * UpDownBase.cs: Complete implementation
+       * NumericUpDown.cs: Complete implementation
+       * DomainUpDown.cs: Complete implementation
+
+2005-06-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: drawing fixes
+       * DataGridCell.cs: fixes ToString method to match MSNet
+       * DataGridTableStyle.cs: fixes
+       * DataGridBoolColumn.cs: fixes, drawing
+       * DataGridDrawingLogic.cs: fixes, new methods
+       * DataGridTextBox.cs: Keyboard and fixes
+       * DataGrid.cs:
+               - Keyboard navigation
+               - Scrolling fixes
+               - Row selection (single, multiple, deletion, etc)
+               - Lots of fixes
+       
+2005-06-07  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Clear the background area when drawing
+       buttons.
+
+2005-06-06  Peter Bartok  <pbartok@novell.com>
+
+       * ImageListStreamer.cs: Fixed signature for GetData
+       * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
+       * ComboBox.cs:
+         - Added missing ChildAccessibleObject class
+         - Added missing OnXXXFocus overrides, switched to using those
+           instead of the event handler
+       * Control.cs:
+         - Added Parent property for ControlAccessibleObject
+         - Fixed signatures
+         - Fixed attributes
+         - Added ResetBindings()
+       * ListBindingConverter.cs: Implemented some methods
+       * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
+       * ImageList.cs: Implemented basic handle scheme, removed TODOs
+       * ContainerControl.cs: Fixed signature, now subscribing to the
+         ControlRemoved event instead of overriding the handler, LAMESPEC
+       * CurrencyManager.cs: Added missing attribute
+       * MonthCalendar.cs: Added missing properties
+
+2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
+       
+2005-06-06  Gaurav Vaish and Ankit Jain
+
+       * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
+       * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
+       
+2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Control.cs: fixes CreateParams Width / Height.
+
+2005-06-05  Peter Bartok  <pbartok@novell.com>
+
+       * Win32DnD.cs: Removed compilation warnings
+
+2005-06-05  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (CreateParams): Since we don't know if one of the
+         properties we use is overridden, lets make sure if we fail accessing
+         we continue with a backup plan
+
+2005-06-05  Peter Bartok  <pbartok@novell.com>
+
+       * Win32DnD.cs:
+         - Removed debug output
+         - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
+           struct
+         - Plugged resource leak
+       * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
+         MS size
+
+2005-06-05  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Removed DnD code
+       * Win32DnD.cs: Implemented drop source and drop target functionality
+
+2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * UpDownBase.cs: remove duplicate addition of event, enable some code
+       that was commented out.
+       * NumericUpDown.cs: added missing attributes and Hexadecimal property.
+       Validate input when a key is pressed. It works fine now for every
+       combination of Hexadecimal. Only missing some drawing love when sharing
+       space with other controls.
+
+2005-06-04  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - We need to pass a window for DragDrop, so enable callback events
+         - Added DnD callback events when being a DragSource
+       * XplatUI.cs (StartDrag): Added window handle argument
+       * XplatUIDriver.cs (StartDrag): Added window handle argument
+       * QueryContinueDragEventArgs: Made fields internally accessible so
+         drivers can set them
+       * GiveFeedbackEventArgs: Made fields internally accessible so drivers
+         can set them
+
+2005-06-03  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: column text editing
+       * DataGridTableStyle.cs: Respect columns styles created by the user
+       * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
+       * DataGridBoolColumn.cs: bool column editing
+       * DataGrid.cs: fixes to scrolling, properties, etc
+       * DataGridTextBox.cs: handle keyboard
+       * DataGridColumnStyle.cs: fixes
+
+2005-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * ImageListStreamer.cs: Somewhat broken implementation of
+       GetObjectData. The RLE needs some work to match MS properly.
+
+2005-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * X11Dnd.cs: Attempting to keep at least one file in MWF
+       monostyled.
+
+2005-06-02  Peter Bartok  <pbartok@novell.com>
+
+       * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
+         that way
+
+2005-06-02  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
+       * XplatUI.cs: Added DoDragDrop() method
+       * XplatUIDriver.cs: Added DoDragDrop() method
+
+2005-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: Implement BorderStyle.
+
+2005-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Tie into the X11Dnd subsystem.
+       * X11Dnd.cs: New file. A subsystem that handles drag and drop on
+       X11 using XDND.
+
+2005-06-02  Peter Bartok  <pbartok@novell.com>
+
+       * DataObject.cs:
+         - Added Data setter
+         - Fixed broken insertion code for SetData, now also
+           overwrites any existing entry of the same format name
+       * Hwnd.cs: Added list of pointers that automatically gets
+         freed when the window is disposed
+       * XplatUI.cs: Call driver initialization method when loading
+         a driver
+       * Control.cs:
+         - OnDragLeave takes EventArgs, not DragEventArgs
+         - Added setting of WS_EX_ACCEPTFILES style when dropping is
+           supported
+         - Forces style update when drop state changes
+       * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
+         not perfect since we cannot (yet) call the IDataObject.GetData()
+         method, we keep getting 0x80004005 error, dunno why)
+
+2005-06-02  Peter Bartok  <pbartok@novell.com>
+
+       * DragEventArgs.cs: Make fields internal so we can cache the
+         object and re-set the fields from XplatUI
+
+2005-06-02  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Add some internal methods so the DnD subsystem can
+       raise DnD events. Also call into the driver when AllowDrop is set.
+       * XplatUI.cs:
+       * XplatUIDriver.cs: New method for setting whether or not a window
+       is allowed to accept drag and drop messages.
+               
+2005-06-01  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * ScrollBar.cs: Make sure that values sent in Scroll events
+       are always between Maximum and Minimum.
+
+2005-06-01  Marek Safar  <marek.safar@seznam.cz>
+
+       * Menu.cs: Call MenuChanged when menuitem visibility has been
+       changed.
+       * MenuItem.cs: Rebuild menu when item is (not) visible.
+       * MainMenu.cs: MainMenu has special MenuChanged.
+       * Theme.cs: Caption and FrameBorderSize are not fixed.
+       * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
+       * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
+       * XplatUIX11.cs,
+       * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
+       * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
+
+2005-05-30  Jackson Harper  <jackson@ximian.com>
+
+       * DataFormat.cs: We can't statically initialize this stuff because
+       it calls into the xplatui and could create a loop. So we lazy init
+       it.
+
+2005-05-28  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Proper implementation of Product(Name/Version).
+
+2005-05-27  Jackson Harper  <jackson@ximian.com>
+
+       * DataObject.cs: Dont crash if no data is found.
+
+2005-05-26  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
+       * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
+               as per status page, guessing it should be set to true
+
+2005-05-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: Draws text and basic text formatting
+       * DataGridTableStyle.cs: set proper formatting text, def header text
+       * ThemeWin32Classic.cs: new themable paramaters
+       * DataGridBoolColumn.cs: paint check box, get data, fixes
+       * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
+       * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
+       * DataGridColumnStyle.cs: fixes
+       * Theme.cs: new themable paramaters
+               
+2005-05-26  Peter Bartok  <pbartok@novell.com>
+
+       * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
+
+2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
+       * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
+
+2005-05-24  Peter Bartok  <pbartok@novell.com>
+
+       * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
+         Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
+         Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
+         FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
+         NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
+         ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
+         DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
+         AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
+         DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
+         StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
+         missing attributes, etc
+       * DataGridPreferredColumnWidthTypeConverter.cs: Added
+
+2005-05-24  Peter Bartok  <pbartok@novell.com>
+
+       * Help.cs: Added, implemented trivial functions, throws up MessageBox
+         when user tries to get help
+       * DataObject.cs, DataFormats.cs, LinkArea.cs,
+         SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
+         to suppress warnings
+       * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
+         avoid unreachable code warning
+
+2005-05-20  Peter Bartok  <pbartok@novell.com>
+
+       * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
+
+2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: Basic painting methods
+       * DataGridTableStyle.cs: Set table style in the column
+       * ThemeWin32Classic.cs: Use Theme for colors
+       * DataGridDrawingLogic.cs: Implement more drawing
+       * DataGrid.cs: drawing, theming, enhacements, fixes
+       * DataGridColumnStyle.cs: fixes, drawing
+       * Theme.cs: theming for Datagrid
+
+2005-05-20  Peter Bartok  <pbartok@novell.com>
+
+       * Cursor.cs: Implemented GetObjectData() method
+
+2005-05-20  Peter Bartok  <pbartok@novell.com>
+
+       * Cursors.cs: Added setting of cursor name
+       * Cursor.cs:
+         - Implemented constructors
+         - Implemented Draw and DrawStretched
+         - Implemented Current property
+         - Implemented == and != operators
+         - Implemented Dispose()
+         - Implemented ToString
+         - Added missing attributes
+       * XplatUIX11.cs:
+         - Added missing reset for OverrideCursor when DoEvents is called
+         - Fixed creation of cursor, logic was wrong
+       * XplatUIWin32.cs:
+         - Added missing reset for OverrideCursor when DoEvents is called
+         - Fixed creation of cursor, bit arrays were swapped
+       * Clipboard.cs: Removed obsolete MonoTODO attribute
+
+2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: fixes OnSelectedItemChanged
+       * ControlBindingsCollection.cs: fixes item range check
+
+2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * UpDownBase.cs:
+               - Calc preferred height properly
+               - Implement missing properties
+               
+       * NumericUpDown.cs: Implement missing events
+
+2005-05-19  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: New method that resizes the tab pages before
+       redrawing them. This as needed as the control is double buffered
+       and sizing will not be recalculated unless ResizeTabPages is
+       called.
+       * TabPage.cs: Set base.Text instead of Text in the constructor so
+       that UpdateOwner does not get called. Use the new Redraw method of
+       TabControl instead of Refresh so the sizing is recalculated.
+       * ThemeWin32Classic.cs: Draw the text for button tabs.
+
+2005-05-19  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Paint control background images. Fix typo where
+       PaintControlBackground was not getting called correctly.
+
+2005-05-19  Peter Bartok  <pbartok@novell.com>
+
+       * ScrollableControl.cs (DisplayRectangle): Undid my last change until
+         I can investigate, apparently I broke FileDialog
+
+2005-05-19  Marek Safar  <marek.safar@seznam.cz>
+
+       * AxHost.cs: Some simple properties.
+       * Control.cs: window must be accessible after ctor.
+       * Form.cs: Added TransparencyKey property.
+       * TextBoxBase.cs: Implemented Clear. Text property can be null.
+       * XplatUIWin32.cs: SetBorderStyle implemented.
+
+2005-05-18  Peter Bartok  <pbartok@novell.com>
+
+       * DataObject.cs: Entries are not global but particular to the
+         DataObject, now it behaves that way
+       * XplatUIWin32.cs: Implemented Clipboard methods
+       * Clipboard.cs: Implemented
+       * ScrollableControl.cs (DisplayRectangle): Fixed calculation
+       * XplatUIOSX.cs: Updated to final clipboard prototypes
+       * XplatUIX11.cs: Implemented Clipboard methods
+       * XplatUIDriver.cs: Updated to final clipboard prototypes
+       * XplatUIStructs.cs:
+         - Added BITMAPINFOHEADER struct
+         - Added ClipboardFormats enum
+       * X11Structs.cs:
+         - Added ClipboardStruct
+         - Added Atom enum items for clipboard types
+         - Fixed atom types for Selection event structures
+       * DataFormats.cs:
+         - Added internal properties and methods for drivers to enumerate
+           all known formats
+         - Switched initialization method to allow drivers to assign their
+           own IDs even for the MS predefined clipboard IDs
+       * XplatUI.cs: Updated to final clipboard interface
+
+2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
+       * PropertyGridView.cs: Fixed compiler warnings.
+
+2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
+       * PropertyGrid.cs: Added some event calls
+       * PropertyGridView.cs: Change drawing code to use double buffering
+       * PropertyGridTextBox.cs: Changed Text property name
+       * GridItem.cs: Added Bounds property.
+       * GridEntry.cs: Added Bounds property.
+
+2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
+       since GetType() may not return the correct type if the object is
+       a remoting proxy.
+
+2005-05-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * TreeNodeCollection.cs: fixes get/set item ranges
+       
+2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
+               
+2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Fix item range comparation
+       * ListView.cs: Fix item range comparation
+
+2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FontDialog.cs:
+         - Clear example panel when OnPaint is called
+         - Better solution for displaying the example panel text
+         - Select default indexes in the ListBoxes
+
+2005-05-11  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Avoid painting into invisible views.  Fixes #74926
+
+2005-05-11  Peter Bartok  <pbartok@novell.com>
+
+       * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
+       * SelectionRangeConverter.cs: Implemented
+       * PropertyGrid.cs: Fixed attribute value
+       * Control.cs:
+         - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
+         - Added Sebastien Pouliot's CAS Stack Propagation fixes
+       * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
+         that's common to all drivers. First methods to go there are
+         Sebastien Pouliot's CAS Stack Propagation helper methods
+       * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
+         Sebastien Pouliot for CAS Stack Propagation
+
+2005-05-11  Geoff Norton  <gnorton@customerdna.com>
+
+       * OSXStructs.cs:
+         XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
+
+2005-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: fixed some members
+       * GridColumnStylesCollection.cs: indexed column is case insensitive
+       * DataGridTableStyle.cs: fixes
+       * ThemeWin32Classic.cs: add new theme parameter
+       * Theme.cs: add new theme parameter
+       * DataGridDrawingLogic.cs: Datagrid's drawing logic
+       * DataGrid.cs: fixes, new internal properties, etc.
+       * DataGridColumnStyle.cs: allows to set grid value
+       *
+
+2005-05-10  Peter Bartok  <pbartok@novell.com>
+
+       * AccessibleObject.cs:
+         - Removed MonoTODO attribute on help, method is correct
+         - Fixed Bounds property
+       * AxHost.cs: Moved MonoTODO
+       * ButtonBase.cs: Now setting AccessibleObject properties
+       * RadioButton.cs: Setting proper AccessibleObject role
+       * CheckBox.cs: Setting proper AccessibleObject role
+       * ControlBindingsCollection.cs: Added properties, methods and attributes
+       * DataFormats.cs: Fixed awkward internal API, and changed to enable
+         userdefined DataFormats.Format items as well
+       * ListControl.cs: Removed data_member from the public eye
+       * OpenFileDialog.cs:
+         - Made class sealed
+         - Added missing attributes
+       * SaveFileDialog.cs: Added missing attributes
+       * ImageListStreamer.cs: Fixed code that caused warnings
+       * LinkLabel.cs: Removed unreachable code
+       * TreeView.cs: Fixed code that caused warnings
+       * PropertyGridView.cs: Fixed code that caused warnings
+       * GridColumnStylesCollection.cs: Added missing attributes
+       * GridTableStylesCollection: Added missing attribute
+       * PropertyManager: Added .ctor
+       * SecurityIDType: Added
+       * DataObject.cs: Implemented class
+       * LinkArea.cs: Added missing attribute
+
+2005-05-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * RadioButton.cs: call base method to allow to fire OnClick event
+       * UpDownBase.cs: OnMouseUp call base method
+       * CheckedListBox.cs: call base method before returning
+       * TrackBar.cs: call base method before returning
+       
+
+2005-05-10  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
+         for messages
+
+2005-05-10  Peter Bartok  <pbartok@novell.com>
+
+       * DataFormats.cs: Implemented
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
+         XplatUIX11.cs: Added Clipboard APIs
+       * XplatUIWin32.cs: Implemented Clipboard APIs
+       * FolderBrowserDialog.cs: Added missing event, attributes
+
+2005-05-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * CheckBox.cs: call base method to allow to fire OnClick event
+
+2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
+
+2005-05-06  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
+       * Screen.cs: Implemented
+       * HelpNavigator.cs: Added
+       * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
+         property
+       * HelpProvider.cs: Implemented all we can do until we have a CHM
+         help library (which means that "What's This" does work now)
+
+2005-05-06  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Fix waking up the main loop.
+               
+2005-05-05  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Updated revision
+       * Form.cs: Removed enless loop
+       * GroupBox.cs (OnPaint): Added call to base.OnPaint()
+       * Label.cs (OnPaint): Added call to base.OnPaint()
+       * ToolTip.cs: Made ToolTipWindow reusable for other controls
+       * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
+       * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
+       * AxHost.cs: Added
+       * ButtonBase.cs: Moved base.OnPaint() call to end of method
+       * ThemeWin32Classic.cs: Replaced references to ToolTip with references
+         to ToolTip.ToolTipWindow for drawing and size methods; this allows
+         reuse of ToolTipWindow by other controls
+       * SizeGrip.cs: Moved base.OnPaint() call to end of method
+       * XplatUIX11.cs: Now clipping drawing area (experimental)
+       * PictureBox.cs: Moved base.OnPaint() call to end of method
+       * Theme.cs: Fixed ToolTip abstracts to match new format
+       * ErrorProvider.cs: Implemented
+
+2005-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
+       * LinkLabel.cs:
+               - Adds cursors
+               - Handles focus
+               - Implements LinkBehavior
+               - Fixes many issues
+
+2005-05-03  Jackson Harper  <jackson@ximian.com>
+
+       * ListView.cs: Calculate the scrollbar positioning on resize and
+       paint, so they get put in the correct place.
+
+2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * ColorDialogs.cs: The small color panels are now handled by
+         SmallColorControl. This fixes drawing of the focus rectangle
+         and adds a 3D border.
+
+2005-05-03  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Modified version of Jonathan Chamber's fix for
+         double-buffering
+
+2005-05-03  Jackson Harper  <jackson@ximian.com>
+
+       * ListView.cs: Remove redraw variable. Control now handles whether
+       or not a redraw needs to be done, and will only raise the paint
+       event if redrawing is needed.
+
+2005-05-03  Jackson Harper  <jackson@ximian.com>
+
+       * Splitter.cs: No decorations for the splitter form. Cache the
+       hatch brush.
+
+2005-05-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Use dashed lines to connect nodes. Use the
+       ControlPaint method for drawing the focus rect instead of doing
+       that in treeview.
+
+2005-05-02  Peter Bartok  <pbartok@novell.com>
+
+       * LinkLabel.cs: Fixed the fixes from r43566 and 43521
+
+2005-04-29  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Don't clear the GC that will clear the
+       entire image buffer. Just clear the clipping rectangle.
+
+2005-04-29  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Don't draw list view items that are
+       outside the clipping rectangle.
+
+2005-04-29  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: added horizontal item scroll
+
+2005-04-29  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Remove some old debug code that was
+       causing flicker with the new double buffering code.
+
+2005-04-29  John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
+       behave like combobox and comboboxlist (still not sure if this is
+       correct though).
+
+2005-04-28  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Don't fill the middle of progress
+       bars. This fills areas outside of the clip bounds that don't need
+       to be filled.
+
+2005-04-28  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Don't expose functionality to touch the image buffers.
+       * ProgressBar.cs:
+       * ListView.cs: We do not need to (and no longer can) manipulate
+       the image buffers directly. All of this is handled by Control.
+
+2005-04-28  Peter Bartok  <pbartok@novell.com>
+
+       * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
+         RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
+         RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
+
+2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Combobox:
+               - Adjust control's height for non-simple comboboxes (bug fix)
+               - Remove dead code
+       * MenuAPI.cs: remove unused var
+       * ScrollBar.cs: remove unsed var
+                
+       * ListBox.cs: unselect items when clearing
+
+2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListControl.cs: honors OnPositionChanged and default Selected Item
+       * ListBox.cs: unselect items when clearing
+
+2005-04-27  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Initialize a default keyboard and give a warning
+       if a "correct" keyboard is not found. This will make us not crash,
+       but might give some users bad keyboard layouts...seems to be the
+       same thing rewind does.
+
+2005-04-27  Jackson Harper  <jackson@ximian.com>
+
+       * BindingManagerBase.cs: Attach the current/position changed
+       handlers to their respective events.
+
+2005-04-27  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Make sure that the first WM_PAINT does a full draw,
+       not just a blit.
+       * ThemeWin32Classic.cs: Don't fill the background for picture
+       boxes. This could overright user drawing.
+       * ComboBox.cs: Just fill the clipping rect not the entire client
+       rect when drawing the background. This prevents pieces of the
+       image buffer from getting overwritten and is theoretically faster.
+
+2005-04-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Databinding support fixes, fire missing events
+       * ListControl.cs: implement missing methods and properties, fixes
+       * ThemeWin32Classic.cs: Databiding support on Drawing
+       * CheckedListBox.cs: Databinding support fixes, fire missing events
+       * ListBox.cs: Databinding support fixes, fire missing events
+       
+2005-04-25  Peter Bartok  <pbartok@novell.com>
+
+       * LinkLabel.cs: Length of LinkArea is not allowed to be negative
+
+2005-04-25  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Use the horizontal scrollbars height not width when
+       determining how much of the client area is available.
+
+2005-04-25  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: Double buffering is handled differently now. As per
+       the spec, the extra buffer is created in the WM_PAINT message and
+       passed down to the control's drawing code.
+       * GroupBox.cs:
+       * Label.cs:
+       * CheckBox.cs:
+       * ProgressBar.cs:
+       * RadioButton.cs:
+       * ColorDialog.cs:
+       * ComboBox.cs:
+       * PropertyGridView.cs:
+       * UpDownBase.cs:
+       * MessageBox.cs:
+       * MenuAPI.cs:
+       * ListView.cs:
+       * ButtonBase.cs:
+       * SizeGrip.cs:
+       * ScrollBar.cs:
+       * ListBox.cs:
+       * TrackBar.cs:
+       * ToolBar.cs:
+       * PictureBox.cs:
+       * DateTimePicker.cs:
+       * StatusBar.cs:
+       * TreeView.cs: Update to new double buffering system.
+       * MonthCalendar.cs: Uncomment block, as Capture is now
+       working. Update to new double buffering
+       * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
+       * PaintEventArgs.cs: New internal method allows us to set the
+       graphics object. This is used for double buffering.
+       * ThemeWin32Classic.cs: Give the picture box drawing code a clip
+       rectangle. The internal paint_area var has been removed from
+       StatusBar. The clipping rect should be used instead.
+       * Theme.cs: Give the PictureBox drawing method a clipping rect.
+       * TabPage.cs: The RefreshTabs method was removed, so just call the
+       tab controls Refresh method now.
+       * TabControl.cs: Update to new double buffering. Make sure the
+       handle is created before sizing the tab pages, otherwise we will
+       get stuck in a loop.
+
+2005-04-24  Borja Sanchez Zamorano <borsanza@gmail.com>
+
+       * LinkLabel.cs: Fix typo, bug #74719; patch
+         from Borja Sanchez Zamorano
+
+2005-04-22  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Implement Handle stuff.
+       * TreeView.cs: Utility methods so nodes can get/lookup by handle.
+
+2005-04-22  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: call base constructors, fixes
+       * GridColumnStylesCollection.cs: missing events, methods, and functionality
+       * GridTableStylesCollection.cs: fixes, check duplicate mapping names
+       * DataGridTableStyle.cs: implements create default column styles
+       * DataGridBoolColumn.cs: which types can handle
+       * DataGrid.cs: missing methods, fixes, new functionality
+       * DataGridColumnStyle.cs: fixes
+
+2005-04-20  Alexander Olk  <xenomorph2@onlinehome.de>
+       * FolderBrowserDialog.cs:
+       - Use a thread to fill the TreeView
+       - Adjusted some sizes
+
+2005-04-19  Peter Bartok  <pbartok@novell.com>
+
+       * LinkLabel.cs: (Re-)create the pieces when setting the Text
+         property. Fixes #74360.
+
+2005-04-19  Jackson Harper  <jackson@ximian.com>
+
+       * XEventQueue.cs: Lock when getting the lockqueue size.
+       * PictureBox.cs: Call base OnPaint
+       
+2005-04-19  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
+         messages were no longer being processed (this broke BeginInvoke)
+
+         
+2005-04-18  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: buglet that caused node images to get drawn
+       regardless of whether or not they were in the clipping rectangle.
+
+2005-04-18  Jackson Harper  <jackson@ximian.com>
+
+       * CurrencyManager.cs: There are four rules for GetItemProperties:
+       - If the type is an array use the element type of the array
+       - If the type is a typed list, use the type
+       - If the list contains an Item property that is not an object, use
+       that property
+       - use the first element of the list if there are any elements in
+       the list.
+       
+2005-04-17  Jackson Harper  <jackson@ximian.oom>
+
+       * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
+       click. This handles offsets for scrolling properly and reduces
+       memory. Also fixed GetNode to not offset now that TopNode works
+       properly.
+       * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
+       
+2005-04-17  Jackson Harper  <jackson@ximian.com>
+
+       * CursorConverter.cs: Initial implementation.
+
+2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListControl.cs: work towards complex data binding support on ListControl
+       * CurrencyManager.cs: work towards complex data binding support on ListControl
+       * ListBox.cs: work towards complex data binding support on ListControl
+
+
+2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * GridTableStylesCollection.cs: fixes name and constructor
+       * DataGridTableStyle.cs: fixes
+       * DataGridBoolColumn.cs: fixes names and constructors
+       * DataGrid.cs: define methods and properties. Some init implementations
+       * DataGridCell.cs: define methods and properties. Some init implementations
+       * GridTablesFactory.cs: Define methods and properties
+
+2005-04-15  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs:  Handle proper mouse tracking even if the current
+       graphics port changes.  We still want the coordinates in global screen
+       coordinates.
+
+2005-04-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Handle clicks when plus minus is disabled. Don't
+       check plus minus or checkbox clicks unless those features are enabled.
+
+2005-04-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Add methods for setting the top and bottom visible
+       nodes. TreeNode::EnsureVisible uses these methods.
+       * TreeNode.cs: Implement EnsureVisible
+
+2005-04-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs: Pospone menu assignation if the window has not been created yet
+       * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
+       size and position
+
+2005-04-12  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Set the TopNode properly when scrolling
+       occurs. This has the added benifit of reducing the amount of
+       walking that needs to be done when drawing. Also removed an old
+       misleading TODO.
+       * OpenTreeNodeEnumerator.cs: Fix moving backwards.
+       
+2005-04-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Timer.cs: fixes interval setting when the timer is already enabled
+       
+2005-04-10  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FolderBrowserDialog.cs: First approach
+
+2005-04-09  Peter Bartok  <pbartok@novell.com>
+
+       * FolderBrowserDialog: Added
+
+2005-04-07  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * LinkLabel.cs: move drawing code into the theme
+       * ThemeWin32Classic.cs: drawing code and painting background bugfix
+       * Theme.cs: define DrawLinkLabel method
+
+2005-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * BindingContext.cs: Use weak references so these bad actors don't
+       stay alive longer then they need to.
+
+2005-04-05  Jackson Harper  <jackson@ximian.com>
+
+       * ListControl.cs: Basic implementation of complex databinding.
+       * ComboBox.cs:
+       * ListBox.cs: Add calls to ListControl databinding methods.
+
+2005-04-05  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs:
+         - Don't change PopupButtonState to Normal when the
+           PopupButton gets pressed several times.
+         - Renamed ButtonPanel to PopupButtonPanel
+
+2005-04-05  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ColorDialog.cs: Use cached objects instead of creating them
+       * LinkLabel.cs: Use cached objects instead of creating them
+       * Splitter.cs: Use cached objects instead of creating them
+       * FontDialog.cs: Use cached objects instead of creating them
+       * PropertyGridView.cs: Use cached objects instead of creating them
+       * MessageBox.cs: Use cached objects instead of creating them
+       * FileDialog.cs: Use cached objects instead of creating them
+       * ThemeWin32Classic.cs: Use cached objects instead of creating them
+       * TreeView.cs: Use cached objects instead of creating them
+       
+2005-04-04  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Control.cs: use Equals to compare the font since no == op
+       * ScrollBar.cs: use Equals to compare the font since no == op
+
+2005-04-04  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
+
+2005-04-01  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Implement IsBinding.
+       * BindingManagerBase.cs:
+       * PropertyManager.cs:
+       * CurrencyManager.cs: Add IsSuspended property.
+
+2005-04-01  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Had some IsAssignableFrom calls backwards.
+
+2005-04-01  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Handle null data members when pulling data.
+       * PropertyManager.cs: Handle the data member being a property that
+       does not exist.
+
+2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: fixes signature
+       * DataGrid.cs: calls right constructor
+
+2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
+       * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
+       * GridTableStylesCollection.cs: implements GridTableStylesCollection
+       * DataGridTableStyle.cs: implements DataGridTableStyle
+       * DataGridBoolColumn.cs: implements DataGridBoolColumn
+       * DataGridTextBox.cs: implements DataGridTextBox
+       * DataGridColumnStyle.cs: implements DataGridColumnStyle
+
+2005-03-31  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs: Added simple PopupButton class for ButtonPanel
+
+2005-03-29  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs:
+         - Properly implemented CompanyName property
+         - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
+           returns a path that includes CompanyName, ProductName and
+           Version (fixes bug #70330)
+
+2005-03-29  Stefan Buehler  <sbuehler@gmx.ch>
+
+       * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
+         fixes bug #72588.
+
+2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
+       
+         - Added ReadOnly CheckBox
+         - Further refactoring: moved some code from Open-/SaveFileDialog
+           to FileDialog
+
+2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * OpenFileDialog.cs: Fixed CheckFileExists
+       * FileDialog.cs:
+         Moved FileView and DirComboBox outside FileDialog class.
+         They can now be used outside FileDialog
+
+2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
+       * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
+
+2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
+         - Added missing CreatePrompt property in SaveDialog
+         - Overall SaveDialog handling should be better now
+         - Added non standard ShowHiddenFiles property
+         - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
+         - Added InitialDirectory and RestoreDirectory support
+
+2005-03-26  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs: Made dirComboBox usable
+
+2005-03-24  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs: Added Filter support (case sensitiv)
+
+2005-03-24  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Need a couple more pixels for the lines.
+
+2005-03-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Give the tab page focus when it is selected.
+
+2005-03-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Account for the drawing of tabs borders when
+       invalidating. If the slider was clicked dont do click detection on
+       the tabs.
+
+2005-03-23  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Fix typo, emilinates an unneeded expose event.
+
+2005-03-22  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * CategoryGridEntry.cs: Added
+       * GridItem.cs: Added helper properties
+       * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
+       * GridEntry.cs: Updated code for collection
+       * PropertyGrid.cs: Cleaned up some formatting
+       * PropertyGridView.cs: Added drop down functionality for enums.
+       * GridItemCollection.cs: Added enumerator logic
+       * PropertyGridEntry.cs: Added
+
+2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs:
+         - Removed unnecessary commented code
+         - Fixed handling for entering the filename manually in the combobox
+
+2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
+         them being touching the border
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Quick hack to center text better
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * ControlPaint.cs:
+         - Don't throw NotImplemented exceptions, just print a notice once
+           instead (requested by Miguel). This makes running existing SWF
+           apps a bit easier
+       * Control.cs:
+         - Commented out Drag'N'Drop XplatUI call (no driver support yet)
+         - Added context menu trigger on right click
+       * Panel.cs: Trigger invalidate on resize
+       * StatusBar.cs:
+         - Removed old double-buffer drawing
+         - Added ResizeRedraw style to force proper update of statusbar
+       * ListView.cs:
+         - Removed debug output
+       * ThemeWin32Classic.cs:
+         - Fixed drawing of status bar, now draws Text property if there
+           are no defined panels
+
+2005-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * ImageList.cs: When the image stream is set pull all the images
+       from it.
+       * ImageListStreamer.cs: Implement reading image list streams.
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * ThemeWin32Classic.cs (DrawPictureBox):
+         - Fixed calculations for centered drawing
+         - Fixed drawing for normal mode, not scaling the image on normal
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
+         textbox
+       * FileDialog.cs:
+         - Made Open/Save button the accept button for FileDialog
+         - Tied the cancel button to the IButtonControl cancel button
+         - Save/Open now properly builds the pathname
+         - Now handles user-entered text
+         - Preventing crash on right-click if no item is selected
+         - Fixed Text property, now uses contents of textbox
+         - Fixed SelectedText property, now just returns the text part that
+           is selected in the text box
+
+2005-03-18  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Use the proper func for drawing the focus
+       rect, make sure to de-adjust the interior rect after drawing the
+       tab text.
+
+2005-03-18  Peter Bartok  <pbartok@novell.com>
+
+       * MenuAPI.cs: Remove menu *before* executing selected action to
+         prevent the menu from 'hanging around'
+         
+2005-03-17  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implemented WorkingArea property
+
+2005-03-17  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Fixed menu coord calculations
+       * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
+         for calculating offsets
+
+2005-03-17  Peter Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs: Do not consider menu presence for default client
+         rectangle location/size
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
+         XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
+         translation functions
+       * FileDialog.cs: Fixed (what I presume is a) typo
+
+2005-03-17  Jonathan Gilbert  <logic@deltaq.org>
+
+       * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
+         X access (avoids X-Async errors)
+
+2005-03-16  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Raise the SelectedIndexChanged event.
+
+2005-03-16  Alexander Olk  <xenomorph2@onlinehome.de>
+
+       * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
+         - Removed vertical ToolBar and replaced it with a custom panel
+           (desktop and home button already work)
+         - Added Help button (some controls get resized or relocated then)
+         - Draw correct text depending on Open or Save.
+         - Fixed some typos...
+
+2005-03-16  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ScrollBar.cs:
+         - Only change Maximum and Minimum when need it (bug fix)
+
+2005-03-15  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs: Use Handle for icon, to trigger creation if
+         the window does not yet exist
+       * Control.cs:
+         - CanSelect: Slight performance improvement
+         - Focus(): Preventing possible recursion
+         - Invalidate(): Removed ControlStyle based clear flag setting
+         - WM_PAINT: fixed logic for calling OnPaintBackground
+         - WM_ERASEBKGND: Fixed logic, added call to new driver method
+           EraseWindowBackground if the control doesn't paint background
+       * XplatUIWin32.cs:
+         - Moved EraseWindowBackground() method to internal methods
+         - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
+           is sent via SendMessage on BeginPaint call on Win32
+       * XplatUIX11.cs:
+         - Added EraseWindowBackground() method
+         - No longer sends WM_ERASEBKGND on .Expose, but on call to
+           PaintEventStart, which more closely matches Win32 behaviour
+         - Fixed Invalidate() call, now updates new ErasePending Hwnd property
+         - Fixed SetFocus() to properly deal with client and whole windows
+       * Hwnd.cs: Added ErasePending property
+       * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
+       * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
+
+2005-03-12  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs:
+         - Fix hard loop when timers exist.
+         - Fix bugs with middle and right click for 3 button mice.
+
+2005-03-11  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - get_WorkingArea: Need to call X directly, GetWindowPos only
+           returns cached data now
+         - Added sanity check to GetWindowPos hwnd usage
+
+2005-03-11  Jackson Harper  <jackson@ximian.com>
+
+       * BindingManagerBase.cs: This method isn't used anymore as
+       PullData now updates the data in the control.
+
+2005-03-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs: fixes menu drawing on X11
+       * MenuAPI.cs:  fixes menu drawing on X11
+
+2005-03-11  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Changed OnCreateControl behaviour based on a suggestion
+         from Jonathan Gilbert; should fix bug #73606
+       * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
+         in Screen coordinates. Thanks, Jordi.
+       * Form.cs: Added missing attribute
+
+2005-03-11  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs:
+         - Rudimentary Mdi support
+         - Removed outdated FormParent code
+         - Implemented lots of missing properties and methods, still missing
+           transparency support
+         - Added missing attributes
+         - Implemented support for MaximumBounds
+         - Added firing of various events
+       * XplatUI.cs: Added SetIcon() method
+       * XplatUIDriver.cs: Added SetIcon() abstract
+       * XplatUIOSX.cs: Stubbed out SetIcon() method
+       * XplatUIX11.cs:
+         - Implemented SetIcon() support
+         - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
+         - Switched to unix line endings
+       * XplatUIWin32.cs:
+         - Made POINT internal so for can access it as part of MINMAX
+         - Implemented SetIcon() support
+         - Implemented support for CLIENTCREATESTRUCT (but might have to drop
+           native Mdi support again, might have to go managed)
+       * Control.cs: Now fires the StyleChanged event
+       * MdiClient.cs: Added; still mostly empty
+
+2005-03-10  Peter Bartok  <pbartok@novell.com>
+
+       * SaveFileDialog.cs: Added emtpy file
+
+2005-03-08  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Fixed bug #73190; now invokes CreateControl (which
+         in turn triggers OnCreateContro) when creating a handle for the
+         first time.
+       * TextControl.cs: Fixed endless loop in certain cases when
+         replacing the current selection
+
+2005-03-08  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ScrollBar.cs:
+         - Honors NewValue changes in Scroll events allowing apps to change it
+         - Adds First and Last Scroll events
+         - Fixes Thumb events
+
+2005-03-07  Peter Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs: Added DefaultClientRectangle property
+       * XplatUI.cs: Now using the X11 driver Where() method, which provides
+         more detailed debug information
+       * XplatUIX11.cs:
+         - Fixed size-change feedback loop, where we would pull an old size
+           off the queue and mistakenly change our window's size to an
+           earlier value
+         - Now compressing ConfigureNotify events, to reduce looping and
+           redraw issues
+       * TextBoxBase.cs: Preventing crash when no text is set and ToString()
+         is called
+
+2005-03-07  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Push data pushes from data -> property. Check if the
+       property is readonly when attempting to set it.
+
+2005-03-07  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Format and parse data correctly. Use ASsignableFrom
+       instead of IsSubclassOf. Pulling data now sets the value on the
+       control.
+       * PropertyManager.cs:
+       * CurrencyManager.cs: Just need to pull data when updating now,
+       because PullData will set the value on the control.
+
+2005-03-04  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Implement data type parsing and converting on pulled
+       data. TODO: Are there more ways the data can be converted?
+
+2005-03-04  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Support <Property>IsNull checks. Also bind to the
+       controls Validating method so we can repull the data when the
+       control loses focus.
+
+2005-03-03  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ColumnHeader.cs:
+         - Fixes null string format
+         
+       * ListView.cs:
+         - Adds enum type checks
+         - Fixes redrawing and recalc need after changing some properties
+         - Fixes on focus_item set after the event
+         - Fixes adding columns after the control has been created
+         
+       * ThemeWin32Classic.cs:
+         - Fixes CheckBox focus rectangle
+         - Fixes ColumnHeader drawing
+
+
+2005-03-03  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Bind to <Property>Changed events so we can detect
+       when properties are changed and update the data.
+
+2005-03-02  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ImageList.cs:
+         - Changes 32-bit pixel format to Format32bppArgb to allow transparency
+         - Fixes ImageList constructor with ImageList container
+         - Fixes image scaling (wrong parameters at DrawImage)
+
+2005-02-02  Jackson Harper  <jackson@ximian.com>
+
+       * Binding.cs: Make property searches case-insensitive. Eliminate
+       some duplicated code.
+
+2005-03-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs:
+               - Handle focus event
+               - Fix scrollbar events
+               - Discard highlighted item if remove it
+               - Fixes SelectedItem with strings
+
+2005-03-01  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Fixed Visible property, now follows (once again) parent chain
+           to return false if any control in the chain is visible=false
+         - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
+         - Fixed several places where is_visible instead of Visible was used
+         - Implemented FIXME related to focus selection when setting focused
+           control to be invisible
+
+       * XplatUIWin32.cs: Now using proper method to find out if window is
+         visible. Thanks to Jordi for pointing it out
+
+2005-02-28  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: show/hide scrollbar instead of creating it
+
+2005-02-27  Jackson Harper  <jackson@ximian.com>
+
+       * CurrencyManager.cs: Add PositionChanged stuff.
+
+2005-02-27  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
+       * XplatUIOSX.cs: Added GetMenuOrigin() stub
+       * XplatUIWin32.cs: Implemented GetMenuOrigin()
+       * XplatUIX11.cs:
+         - Implemented GetMenuDC()
+         - Implemented GetMenuOrigin()
+         - Implemented ReleaseMenuDC()
+         - Implemented generation of WM_NCPAINT message
+         - Implemented generation and handling of WM_NCCALCSIZE message
+       * Form.cs: Added debug helper message for Jordi's menu work
+       * Hwnd.cs:
+         - Modified ClientRect property; added setter, fixed getter to handle
+           setting of ClientRect
+         - Added MenuOrigin property
+
+2005-02-26  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - Destroys the caret if a window that's being destroyed contains it
+         - Ignores expose events coming from the X11 queue for windows that
+           already are destroyed
+         - Now uses the proper variable for handling DestroyNotify, before we
+           marked the wrong window as destroyed
+         - Improved/added some debug output
+
+2005-02-26  Peter Bartok  <pbartok@novell.com>
+
+       * X11Keyboard.cs: Fixes to work on 64bit systems
+
+2005-02-26  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Now calling OnHandleDestroyed from DestroyHandle()
+           instead of Dispose()
+         - Removed bogus call to controls.Remove() from DestroyHandle()
+
+2005-02-26  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Properly destroy child windows when our handle is
+         destroyed
+
+2005-02-25  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs:
+         - Added 'DriverDebug' define to allow tracing XplatUI API calls
+         - Alphabetized Static Methods and Subclasses
+
+       * XplatUIX11.cs:
+         - Added XException class to allow custom handling of X11 exceptions
+         - Created custom X11 error handler, tied into XException class
+         - Added support for MONO_XEXCEPTIONS env var to allow the user
+           to either throw an exception on X errors or continue running
+           after displaying the error
+         - Added handling of DestroyNotify message
+         - Added handler for CreateNotify message (still disabled)
+         - Improved (tried to at least) Where method to provide file and lineno
+       * X11Structs.cs:
+         - Added XErrorHandler delegate
+         - Added XRequest enumeration (to suppor translation of errors)
+
+2005-02-25  Jackson Harper  <jackson@ximian.com>
+
+       * PropertyManager.cs: Implement editing features
+       * CurrencyManager.cs:
+       * Binding.cs: First attempt at UpdateIsBinding
+       * BindingManagerBase.cs: Call UpdateIsBinding before
+       pushing/pulling data.
+
+2005-02-25  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MenuAPI.cs: Respect disabled items
+       * ThemeWin32Classic.cs
+               - Caches ImageAttributes creation for DrawImageDisabled
+               - Fixes vertical menu line drawing
+               - Draws disabled arrows in disable menu items
+
+2005-02-24  Peter Bartok  <pbartok@novell.com>
+
+       * Hwnd.cs:
+         - Added UserData property to allow associating arbitrary objects
+           with the handle
+         - Fixed leak; now removing Hwnd references from static windows array
+       * XplatUIWin32.cs:
+         - Fixed Graphics leak in PaintEventEnd
+         - Removed usage of HandleData, switched over to Hwnd class
+       * HandleData.cs: Removed, obsoleted by Hwnd.cs
+
+2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
+       * ScrollBar.cs: Fixes bug
+       * TrackBar.cs: removes death code, clipping, mimize refreshes,
+        keyboard navigation enhancements
+
+2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
+       * GroupBox.cs: Add control styles
+       * Label.cs: Add control styles
+       * UpDownBase.cs: Add control styles
+       * ListBox.cs: Add control styles
+       * XplatUIWin32.cs: Fixes wrong parameter order
+
+
+2005-02-23  Chris Bacon  <chris.bacon@docobo.co.uk>
+
+       * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
+
+2005-02-23  Jackson Harper  <jackson@ximian.com>
+
+       * PropertyManager.cs: Implement property binding. This doesn't
+       seem to work yet though as (I think) there are some bugs in
+       System.ComponentModel.PropertyDescriptor.
+       * BindingContext.cs: Use new PropertyManager constructor.
+
+2005-02-23  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ProgressBar.cs: use clip region in ProgressBar
+       * ThemeWin32Classic.cs: use clip region in ProgressBar
+
+2004-02-22  Jackson Harper  <jackson@ximian.com>
+
+       * BindingsCollection.cs: Remove some debug code.
+
+2005-02-22  Jackson Harper  <jackson@ximian.com>
+
+       * BindingContext.cs:
+       * ControlBindingsCollection.cs:
+       * CurrencyManager.cs:
+       * Binding.cs:
+       * BindingManagerBase.cs: Initial implementation
+       * BindingsCollection.cs: Add an internal contains method that the
+       BindingManagerBase uses to ensure bindings aren't added twice to
+       the collection.
+       * PropertyManager.cs: Stubbed out.
+       * Control.cs:
+       * ContainerControl.cs: Hook up databinding
+       
+2005-02-22  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs:
+         OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
+         Fixed Invalidate/Update chain.
+         Fixed tons of other minor bugs (this is almost a complete rewrite).
+
+2005-02-22  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: do subcontrol creation when the control is created
+
+2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Label.cs: fixes image drawing (image and imagelist)
+       * ThemeWin32Classic.cs: cache brushes
+       
+2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs: Move menu drawing code to Theme class
+       * ComboBox.cs: Move ComboBox drawing code to Theme class
+       * MenuItem.cs: Move menu drawing code to Theme class
+       * MenuAPI.cs: Move menu drawing code to Theme class
+       * ThemeWin32Classic.cs: New methods
+       * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
+       * ListBox.cs: Move Listbox drawing code to Theme class
+       * Theme.cs: New methods
+
+2005-02-20  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
+           only process mnemonics on those)
+         - Fixed event sequence for key handling; first calling
+           ProcessKeyEventArgs now
+       * TextBoxBase.cs:
+         - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
+           for processing non-character keys
+         - Fixed WM_CHAR to generate proper event sequence before processing
+       * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
+         generation
+
+2005-02-19  Peter Bartok  <pbartok@novell.com>
+
+       * UserControl.cs: Added TextChanged event; added attributes
+       * SizeGrip.cs: Implemented resizing and optional display of grip
+       * Form.cs: Fixed attribute
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
+         Changed meaning of ScrollWindow bool argument; instead of the
+         clear attribute (which will be true usually anyway), it gives the
+         option of moving child controls as well.
+       * XplatUIX11.cs:
+         - Changed to match new ScrollWindow argument
+         - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
+           now handles the implicit parent window a WM puts around us
+       * ScrollableControl.cs: Implemented (not the prettiest, but it seems
+         to work)
+       * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
+       * TreeView.cs: Adjusted to new ScrollWindow arguments
+
+2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs: Menu integration with non-client area
+       * MenuItem.cs: Menu integration with non-client area
+       * MenuAPI.cs: Menu integration with non-client area
+
+2005-02-18  Peter Bartok  <pbartok@novell.com>
+
+       * MethodInvoker.cs: Added
+       * MdiLayout.cs: Added
+       * SendKeys.cs: Started implementation
+       * ErrorIconAlignment.cs: Added
+
+2005-02-18  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
+       * Form.cs: Added handling for Menu-related Non-client messages
+
+2005-02-17  Peter Bartok  <pbartok@novell.com>
+
+       * UpDownBase.cs: Fixed typo, compilation errors
+       * DomainUpDown.cs: Fixed attribute value
+
+2005-02-16  Miguel de Icaza  <miguel@novell.com>
+
+       * UpDownBase.cs: Attach entry events.
+       Propagate events.
+       Add ForeColor property, Focused, InterceptArrowKeys (interception
+       does not work yet).
+
+2005-02-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs:
+               - Redraw non client are on Setmenu
+               - Calc proper menu starting point
+
+2005-02-17  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs: Fixed message_filter check
+
+2005-02-17  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs: Now calls registered message filters
+       * DockStyle.cs: Fixed attribute
+       * Form.cs: Fixed attribute
+       * Menu.cs: Fixed attribute
+       * ToolTip.cs: Fixed attribute
+       * TreeNode.cs: Added missing attributes and arranged in regions
+       * PropertyGrid.cs: Fixed signatures
+       * TreeNodeCollection.cs: Added attributes
+       * Splitter.cs: Added missing attributes; arranged into regions
+       * TabPage.cs: Added missing attributes; arranged into regions
+       * TextBoxBase.cs: Added missing attributes
+       * TextBox.cs: Added missing attributes
+       * ArrangeDirection.cs: Added missing attributes
+       * TreeNodeConverter.cs: Added stub (needed for TreeNode)
+       * ToolBarButton.cs: Fixed attributes
+       * AnchorStyles.cs: Fixed attribute
+       * TrackBar.cs: Fixed attributes
+       * TabControl.cs: Added missing attributes and arranged into regions
+       * ToolBar.cs: Fixed attribute
+       * StatusBar.cs: Fixed signature, organized into regions and added
+         attributes
+       * StatusBarPanel.cs: Fixed attributes
+       * ContentsResizedEventArgs.cs: Implemented
+       * ContentsResizedEventHandler.cs: Implemented
+       * DateBoldEventArgs.cs: Implemented
+       * DateBoldEventHandler.cs: Implemented
+       * UpDownEventArgs.cs: Implemented
+       * UpDownEventHandler.cs: Implemented
+       
+2005-02-16  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Form.cs: first Menu NC refactoring
+       * MenuAPI.cs: first Menu NC refactoring
+       
+2005-02-16  Peter Bartok  <pbartok@novell.com>
+
+       * ImeMode.cs: Added missing attributes
+       * Menu.cs: Fixed attribute
+       * GroupBox.cs: Fixed attribute
+       * Label.cs: Fixed attribute
+       * ColorDialog.cs (RunDialog): Removed TODO attribute
+       * ComboBox.cs: Fixed attributes
+       * ListControl.cs: Added missing attributes
+       * PropertyGrid.cs: Fixed attributes
+       * Control.cs: Fixed attributes
+       * ListViewItem.cs: Added TypeConverter attribute
+       * NotifyIcon.cs: Fixed attributes
+       * ListView.cs: Fixed attributes
+       * ButtonBase.cs: Fixed attribute
+       * ImageList.cs: Added missing attributes
+       * ContainerControl.cs: Fixed signature
+       * CheckedListBox.cs: Fixed attribute; added missing attributes
+       * Panel.cs: Fixed attributes
+       * PropertyTabChangedEventArgs.cs: Added missing attribute
+       * PropertyValueChangedEventArgs.cs: Added missing attribute
+       * Binding.cs: Fixed attribute
+       * ListViewItemConverter: Implemented ListViewSubItemConverter class
+       * ListBox.cs: Fixed attribute; added missing attributes;
+       * ScrollableControl.cs: Added missing attributes
+       * PictureBox.cs: Added missing attributes; implemented missing property
+       * DateTimePicker.cs: Added missing attributes
+       * Theme.cs (ToolWindowCaptionHeight): Fixed type
+       * MonthCalendar.cs: Fixed attributes
+       * StatusBarPanel.cs: Added missing attributes
+       * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
+
+2005-02-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: The previous method to enforce height yet remember
+         the requested high was less than ideal, this is an attempt to do
+         it better.
+       * Control.cs: Added comment about possible problem
+       * Copyright: Updated format
+       * GridItemType.cs: Fixed swapped values
+
+2005-02-15  Jackson Harper  <jackson@ximian.com>
+
+       * BaseCollection.cs: Use property so we never access an
+       uninitialized list. Also initialize the list in the property.
+
+2005-02-15  Peter Bartok  <pbartok@novell.com>
+
+       * GroupBox.cs (ProcessMnemonic): Implemented
+       * Label.cs (ProcessMnemonic): Implemented
+       * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
+         hotkeys
+
+2005-02-15  Peter Bartok  <pbartok@novell.com>
+
+       * RadioButton.cs (ProcessMnemonic): Implemented
+       * CheckBox.cs (ProcessMnemonic): Implemented
+       * Control.cs:
+         - Added handling of WM_SYSxxx keyboard messages to support mnemonic
+           handling
+         - Added internal method to allow calling ProcessMnemonic from other
+           controls
+       * ContainerControl.cs:
+         - Started support for handling validation chain handling
+         - Implemented ProcessMnemonic support
+         - Added Select() call to Active, to make sure the active control
+           receives focus
+       * Form.cs: Setting toplevel flag for Forms (this was lost in the
+         FormParent rewrite)
+       * ThemeWin32Classic.cs:
+         - DrawCheckBox(): Fixed stringformat to show hotkeys
+         - DrawRadioButton(): Fixed stringformat to show hotkeys
+       * CommonDialog.cs: Removed WndProc override, not needed
+
+2005-02-14  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
+         missed those in the rewrite
+
+2005-02-14  Miguel de Icaza  <miguel@novell.com>
+
+       * NumericUpDown.cs (Increment, ToString): Add.
+       (DecimalPlaces): implement.
+       
+       Add attributes.
+       
+       * UpDownBase.cs: Add the designer attributes.
+
+2005-02-13  Peter Bartok  <pbartok@novell.com>
+
+       * Panel.cs: Removed border_style, now in Control
+       * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
+         ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
+
+2005-02-13  Peter Bartok  <pbartok@novell.com>
+
+       * MouseButtons.cs: Added missing attributes
+       * XplatUIStructs.cs: Added enumeration for title styles
+       * LeftRightAlignment.cs: Added missing attributes
+       * Hwnd.cs: Switched to use client_window as handle (slower, but makes
+         it compatible with Graphics.FromHwnd()
+       * SelectedGridItemChangedEventArgs.cs: Fixed property type
+       * Keys.cs: Added missing attributes
+       * SelectionRange.cs: Added missing attributes
+       * SelectionRangeConverter.cs: Added
+       * XplatUI.cs:
+         - Introduced SetBorderStyle, SetMenu, GetMenuDC and
+           ReleaseMenuDC methods
+         - Renamed ReleaseWindow to UngrabWindow
+         - Added proper startup notice to allow version identification
+       * Form.cs:
+         - Added missing attributes
+         - Removed FormParent concept
+       * Label.cs: Removed border_style field, now in Control
+       * RadioButton.cs: Now properly selects RadioButton when focus is
+         received
+       * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
+       * Control.cs:
+         - Added missing attributes
+         - Added borderstyle handling
+         - Removed FormParent concept support
+         - Fixed calls to XplatUI to match changed APIs
+         - Fixed bug that would case us to use disposed Graphics objects
+         - Removed unneeded internal methods
+         - PerformLayout(): Fixed to handle DockStyle.Fill properly
+         - SelectNextControl(): Fixed to properly check common parents
+       * TextBoxBase.cs: Removed border_style field (now in Control)
+       * MessageBox.cs:
+         - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
+           fixed calculations for form size
+         - Added support for localized strings and icons
+         - Improved form size calculations, added border
+       * ListView.cs: Removed border_style field (now in Control)
+       * X11Structs.cs: Moved several structs from X11 driver here
+       * X11Keyboard.cs: Changed debug message
+       * Application.cs: Removed FormParent concept support
+       * CommonDialog.cs:
+         - Resetting end_modal flag
+         - Removed FormParent concept support
+       * NativeWindow.cs: Removed FormParent concept support
+       * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
+         Client area and Non-Client whole window to allow support for WM_NC
+         messages
+       * XplatUIOSX.cs: Updated to match latest driver spec; added exception
+         prevent using it until it supports Hwnd as per Geoff Norton's request
+       * ToolBar.cs: Fixed drawing, was not doing proper drawing
+       * PictureBox.cs: Removed border_style field, now in Control
+       * XplatUIWin32.cs: Added new driver methods
+
+2005-02-12  Peter Bartok  <pbartok@novell.com>
+
+       * OpacityConverter.cs: Implemented
+       * Hwnd.cs: Internal class to support drivers that need to emulate
+         client area/non-client area window behaviour
+
+2005-02-11  Peter Bartok  <pbartok@novell.com>
+
+       * KeysConverter.cs: Implemented
+
+2005-02-11  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
+       * LinkLabel: Added missing attributes
+       * MainMenu.cs: fixes ToString
+       * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
+       * ListBox.cs: fixes event position
+       * TrackBar.cs: adds missing attributes and events
+       
+2005-02-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MenuItem.cs: Use SystemInformation and bug fixes
+       * MenuAPI.cs: Use SystemInformation and bug fixes
+
+2005-02-09  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: We ignore some keys, but still need to set/reset
+       their keystate otherwise things like VK_MENU get stuck "on".
+
+2005-02-09  Kazuki Oikawa <kazuki@panicode.com>
+
+       * ListBox.cs: Fixes AddRange bug
+       
+2005-02-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ProgressBar.cs
+               - Add missing attributes
+               - Add missing method
+               
+       * CheckedListBox.cs: Added missing attributes
+               - Add missing attributes
+               - Remove extra method
+       
+       * ComboBox.cs: Added missing attributes
+       * VScrollBar.cs: Added missing attributes
+       * ScrollBar.cs:  Added missing attributes
+       * ListBox.cs: Fixes signature, add missing consts
+       * LinkArea.cs:   Added missing attributes
+       
+
+2005-02-08  Peter Bartok  <pbartok@novell.com>
+
+       * Menu.cs: Added missing attributes
+       * MainMenu.cs: Added missing attributes
+       * GroupBox.cs: Added missing attributes
+       * Label.cs: Added missing attributes
+       * CheckBox.cs: Implemented CheckBoxAccessibleObject class
+       * ColorDialog.cs:
+         - Added Instance and Options properties
+         - Added missing attributes
+       * Cursor.cs: Made Serializable
+       * NotifyIcon: Added missing attributes
+       * MenuItem.cs: Added missing attributes
+       * TextBoxBase.cs: Implemented AppendText() and Select() methods
+       * Panel.cs: Added Missing attributes
+       * MonthCalendar.cs: Fixed CreateParams
+
+2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * LinkLabel.cs:
+               - Fixes signature
+               - Fixes issues with links
+               - Adds the class attributes
+
+2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * ComboBox.cs:
+               - Fixes button when no items available in dropdown
+               - Fixes repainting problems
+               - Adds the class attributes
+               
+2005-02-07  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Detect the menu bar and title bar height from
+       the current theme.  Cache these on startup.
+
+2005-02-07  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
+       the scrollbar buttons when they are depressed.
+
+2005-02-07  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
+       Get the display size from the main displayid.  We currently dont
+       support multiple display configurations.
+
+2005-02-07  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
+
+2005-02-07  Miguel de Icaza  <miguel@novell.com>
+
+       * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
+
+2005-02-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
+
+2005-02-04  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Respect the clipping rect when
+       drawing. Only fill the intersection of clips and rects so there
+       isn't a lot of large fills.
+       * ScrollBar.cs: Pass the correct clipping rect to the theme
+       engine. Remove some debug code.
+
+2005-02-05  John BouAntoun  <jba-mono@optusnet.com.au>
+       
+       * DateTimePicker.cs:
+               - Fixed crash on DateTime.Parse, use Constructor instead
+
+2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * MenuItem.cs:
+       * MenuAPI.cs:
+               - Owner draw support (MeasureItem and DrawItem)
+
+2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       *  Menu.cs:
+               - Implements FindMergePosition and MergeMenu functions (very poor documented)
+               - Fixes MenuItems.Add range
+       * MenuItem.cs:
+               - MergeMenu and Clone and CloneMenu functions
+
+2005-02-03  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: Make abstract
+       * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
+       is abstract.
+
+2005-02-03  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollBar.cs: First part of my scrollbar fixups. This removes
+       all the unneeded refreshes and uses invalidates with properly
+       computed rects.
+
+2005-02-03  Peter Bartok  <pbartok@novell.com>
+
+       * ComponentModel.cs: Added
+       * IDataGridEditingService.cs: Added
+       * Timer.cs: Added missing attributes
+       * ToolTip.cs: Added missing attributes
+
+2005-02-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * PropertyGridView.cs: Added. Patch by Jonathan Chambers
+
+2005-02-03  Peter Bartok  <pbartok@novell.com>
+
+       * ListBox.cs: Added missing attributes
+
+2005-02-03  Jordi Mas i Hernandez <jordi@ximian.com>
+       
+       * ListBox.cs:
+               - Fixes font height after font change
+               - Avoid generating unnecesary OnSelectedIndexChanged on clearing
+               
+2005-02-02  Peter Bartok  <pbartok@novell.com>
+
+       * HandleData.cs: Introduced static methods to allow class
+         to be more self-contained and track it's own HandleData objects
+       * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
+         HandleData to use new static methods
+
+2005-02-02  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Combobox.cs:
+               - Fixes default size and PreferredHeight
+               - Missing events
+               - ObjectCollection.Insert implementation
+               
+       * ListControl.cs
+               - Fixes signature
+       * ListBox.cs:
+               - Several fixes
+               - ObjectCollection.Insert implementation
+               - No selection after clean
+               - Small fixes
+
+2005-01-31     John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
+
+2005-02-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Combobox.cs:
+               - Caches ItemHeight calculation for OwnerDrawVariable
+               - Handles dropdown properly
+               - Fixes several minor bugs
+
+2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs:
+               - Fixes 71946 and 71950
+               - Fixes changing Multicolumn on the fly
+               - Fixes keyboard navigation on Multicolumn listboxes
+
+2005-01-31  Geoff Norton  <gnorton@customerdna.com>
+       
+       * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
+       crash reporter log.
+
+2005-01-31  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Allow applications to actually exit.
+
+2005-01-31  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: SetWindowStyle implemented.  Reposition views in
+       their parent at creation time rather than lazily later.  Fixes a major
+       regression we were experiencing.
+
+2005-01-31     John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: more date time picker painting fixes
+       * DateTimePicker.cs: more monthcalendar drop down fixes
+       * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
+
+2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ScrollBar.cs:
+               - When moving the thumb going outside the control should stop the moving
+               - Adds the firing of missing events
+               - Fixes no button show if Size is not specified
+               - End / Home keys for keyboard navigation
+
+2005-01-30  Peter Bartok  <pbartok@novell.com>
+
+       * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
+         sanity check to prevent theoretical loop
+       * XplatUIWin32.cs (SetVisible): Removed debug output
+       * XplatUIX11.cs (SystrayChange): Added sanity check
+       * ScrollableControl.cs (OnVisibleChanged): Now calls base method
+       * Control.cs (OnVisibleChanged): Added workaround for ParentForm
+         behaviour, valid until the X11 client window rewrite is done
+       * TextBox.cs (ctor): Setting proper default foreground and background
+         colors
+
+2005-01-30     John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * Theme: Added DrawDateTimePicker to interface
+       * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
+       * DateTimePicker.cs: Created (still needs keys and painting code)
+       * DateTimePickerFormat.cs: added
+       * MonthCalendar.cs: fixed CreateParams for popup window mode
+         
+2005-01-29  Peter Bartok  <pbartok@novell.com>
+
+       * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
+         this should also the calculations for ligher/darker
+       * Theme.cs: Fixed defaults for ScrollBar widths/heights
+
+2005-01-29  Peter Bartok  <pbartok@novell.com>
+
+       * ArrangeDirection.cs: Added
+       * ArrangeStartingPositon.cs: Added
+       * SystemInformation.cs: Implemented
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
+         XplatUIX11.cs, Theme.cs: Added/implemented new static properties
+         used by SystemInformation class
+       * X11Strucs.cs: Added XSizeHints structure
+       * MenuAPI.cs:
+         - Fixed CreateParams to make sure the menu window is always visible
+         - TrackPopupMenu: Added check to make sure we don't draw the
+           menu offscreen
+
+2005-01-29  Peter Bartok  <pbartok@novell.com>
+
+       * HandleData.cs: Added method for altering invalid area
+       * TextBoxBase.cs: Implemented TextLength
+
+2005-01-28  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Improvement over last patch, not sending
+         the WM_PAINT directly anymore, instead we scroll any pending
+         exposed areas and let the system pick out the WM_PAINT later
+
+2005-01-28  Peter Bartok  <pbartok@novell.com>
+
+       * SWF.csproj: Deleted, no longer used. Instead,
+         Managed.Windows.Forms/SWF.csproj should be used
+       * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
+         directly, to avoid a potential race condition with the next
+         scroll
+
+2005-01-28  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Made class internal
+
+2005-01-28  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * CheckedListBox.cs:
+               - Draw focus
+               - Fixed Drawing
+               - Missing methods and events
+
+2005-01-27  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs (Run): Don't use form if we don't have one
+
+2005-01-27  Peter Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs (get_Lines): Fixed index off by one error
+
+2005-01-27  Peter Bartok  <pbartok@novell.com>
+
+       * GridEntry.cs: Added; Patch by Jonathan S. Chambers
+       * GridItem.cs: Added; Patch by Jonathan S. Chambers
+       * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
+       * GridItemType.cs: Added; Patch by Jonathan S. Chambers
+       * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
+       * PropertySort.cs: Added; Patch by Jonathan S. Chambers
+       * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
+       * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
+       * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
+       * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
+       * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
+       * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
+
+2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Combobox.cs:
+               - Draw focus on Simple Combobox
+               - Fixes drawing issues
+               - fixes 71834
+
+2005-01-27  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs:
+         - Place window in default location, instead of hardcoded 0/0
+         - Send initial LocationChanged event
+       * Control.cs:
+         - UpdateBounds after creation to find out where the WM placed us
+         - Make sure that if the ParentForm changes location the Form
+           is notified
+       * XplatUIX11.cs: XGetGeometry will not return the coords relative
+           to the root, but to whatever the WM placed around us.
+           Translate to root coordinates before returning toplevel
+           coordinates
+       * XplatUIWin32.cs: Removed debug output
+       * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
+         flag to GetWindowPos, to allow translation of coordinates on X11
+
+2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: connect LostFocus Event
+
+2005-01-27  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
+         XplatUIX11.cs: Extended the Systray API
+       * Form.cs: Removed debug output
+       * Application.cs: Fixed focus assignment, always need to call
+         XplatUI.Activate() since Form.Activate() has rules that may
+         prevent activation
+       * NotifyIcon.cs: Should be complete now
+       * ToolTip.cs: Worked around possible timer bug
+
+2005-01-27  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs:
+       - Only invalidate the effected tabs when the
+       selected index changes. This reduces drawing and gets rid of some
+       flicker.
+       - Only refresh if the tabs need to be shifted, otherwise only
+       invalidate the slider button.
+       - On windows the tabs are not filled to right if the slider is
+       visible.
+       
+2005-01-27  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Only refresh on mouseup if we are showing the
+       slider. Also only invalidate the button whose state has changed.
+
+2005-01-26  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
+       * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
+         and SystrayRemove() methods
+       * XplatUIOSX.cs: Stubbed Systray methods
+       * XplatUIX11.cs:
+         - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
+           methods
+         - Fixed broken XChangeProperty calls (marshalling messed up things)
+       * X11Structs.cs: Added enums and structs required for Size hinting
+       * NotifyIcon.cs: Added & implemented
+
+2005-01-26  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Space vertically layed out tabs properly.
+
+2005-01-26  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs (CreateClientParams): Always set the location to 0,0
+         since we're a child window.
+
+       * Control.cs (SetVisibleCore): Always explicitly setting the location
+         of a toplevel window, apparently X11 doesn't like to move windows
+         while they're not mapped.
+
+2005-01-26  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Implement FillToRight size mode with vertically
+       rendered tabs.
+
+2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ControlPaint.cs, ThemeWin32Classic.cs
+               - Fixes DrawFocusRectangle
+
+2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MenuAPI.cs:
+               - MenuBar tracking only starts when item is first clicked
+               - Fixes menu hidding for multiple subitems
+               - Unselect item in MenuBar when item Executed
+               - Fixes bug 71495
+
+2005-01-25  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListControl.cs:
+               - IsInputKey for ListBox
+       * ListBox.cs:
+               - Focus item
+               - Shift and Control item selection
+               - Implement SelectionMode.MultiExtended
+               - Fixes RightToLeft
+       * ComboBox.cs:
+               - IsInputKey implemented
+               - Do not generate OnTextChangedEdit on internal txt changes
+               
+2005-01-23  Peter Bartok  <pbartok@novell.com>
+
+       * AccessibleObject.cs: Partially implemented Select()
+       * MonthCalendar.cs: Added missing attributes and events
+       * Form.cs: Fixed CreateParams behaviour, now controls derived from
+         form can properly override CreateParams.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: Dropped RefreshWindow method, not needed if
+         Control performs Invalidate & Update
+       * NativeWindow (CreateHandle): Added special handling for Form
+         and Form.FormParent classes to allow overriding of From.CreateParams
+       * Control.cs:
+         - ControlNativeWindow: Renamed 'control' variable to more intuitive
+           name 'owner'
+         - ControlNativeWindow: Added Owner property
+         - Removed usage of Refresh() on property changes, changed into
+           Invalidate(), we need to wait until the queue is processed for
+           updates, direct calls might cause problems if not all vars for
+           Paint are initialized
+         - Added call to UpdateStyles() when creating the window, to set any
+           styles that CreateWindow might have ignored.
+         - Added support for Form CreateParent overrides to UpdateStyles()
+       * MessageBox.cs: Removed no longer needed FormParent override stuff,
+         CreateParams are now properly overridable
+       * CommonDialog.cs: Removed no longer needed FormParent override stuff,
+         CreateParams are now properly overridable
+
+2005-01-23  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
+       OnTextBoxChanged.
+
+       Capture LostFocus and OnTextBoxChanged.  The later introduces a
+       recursive invocation that I have not figured out yet.
+
+       Reset the timer when not using (it was accumulating).
+
+
+       (OnTextBoxChanged): Set UserEdit to true here to track whether the
+       user has made changes that require validation.
+
+       Reset changing to avoid loops.
+
+2005-01-22  Miguel de Icaza  <miguel@ximian.com>
+
+       * NumericUpDown.cs: Display value at startup.
+
+       * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
+       ValidateEditText.
+
+       * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
+       filled in.  Added some basic parsing of text.
+
+       Still missing the OnXXX method overrides, and figuring out the
+       events that must be emitted.
+
+       * UpDownBase.cs: Handle UserEdit on the Text property.
+       
+2005-01-22  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs:
+         - Fixes IntegralHeight
+         - ToString method
+
+2005-01-21  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Set the SelectedIndex property when SelectedTab
+       is set so that the page visibility is updated and the tabs are
+       sized correctly.
+
+2005-01-21  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Use cliping rectangle for blitting. Give the
+       theme the clipping rect so we can do clipping while
+       drawing. Remove some debug code.
+
+2005-01-21  Jackson Harper  <jackson@ximian.com>
+
+       * TabPage.cs: Add a new method so tab pages can force the tab
+       control to recalculate the tab page sizes.
+       * TabControl.cs: UpdateOwner needs to make the tab control recalc
+       sizes.
+
+2005-01-20  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
+
+2005-01-20  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Set the bounds for nodes properly. They were
+       getting screwed up when checkboxes were not enabled, but images
+       were.
+
+2005-01-20  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs:
+               - Owner draw support
+               - Fixes
+               
+2005-01-20  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIStructs.cs: More misc keys
+       * X11Keyboard.cs: Ignore some control keys.
+
+2005-01-20  Jackson Harper  <jackson@ximian.com>
+
+       * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
+       * X11Keyboard.cs: Set the AltGr mask when we get a key event.
+
+2005-01-19  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Un-selecting the control when it is loosing focus
+
+2005-01-19  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Hook up to the text controls leave event so we can
+       end editing when the users clicks outside the text box.
+       
+2005-01-19  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
+       get set in the conversion array.
+
+2005-01-19  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs (ModalRun): Added a call to CreateControl to ensure
+         focus is properly set
+       * Button.cs:
+         - Added missing attributes
+         - removed styles, those are already set in the base class
+       * ButtonBase.cs:
+         - Added missing attributes
+         - Added clip window styles
+       * CheckBox.cs: Added missing attributes
+       * CommonDialog.cs:
+         - FormParentWindow.CreateParams: Added required clip styles
+       * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
+         also filters modifier keys
+       * MessageBox.cs:
+         - Added assignment of Accept and Cancel button to enable Enter
+           and Esc keys in MessageBox dialogs
+         - FormParentWindow.CreateParams: Added required clip styles
+       * RadioButton.cs: Added missing attributes
+       * TextControl.cs: No longer draws selection if control does not
+         have focus
+       * TextBoxBase.cs:
+         - Now draws simple rectangle around test area to make it obvious
+           there's a control. This is a hack until we properly support borders
+         - A few simple fixes to support selections better, now erases selected
+           text when typing, and resets selection when using movement keys
+
+2005-01-19  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs: Added some new properties.
+
+       * DomainUpDown.cs: Implement a lot to get my test working.
+
+2005-01-19  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Fix a minor bug to bring the close box back
+
+2005-01-19  Geoff Norton  <gnorton@customerdna.com>
+
+       * OSXStructs (WindowAttributes): Fixed csc complaints
+
+2005-01-19  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplayUIOSX.cs:
+         OSXStructs.cs: Initial refactor to move enums and consts into
+         OSXStructs and use them in the driver for greater readability.
+
+2005-01-19  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Initial support for Standard Cursors.
+       * OSXStructs.cs: Move our structs here; added ThemeCursor enum
+
+2005-01-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: ability to change style when the ctrl is already
+       created, missing methods and events, bug fixes, signature fixes
+
+2005-01-19  Peter Bartok  <pbartok@novell.com>
+
+       * Cursors.cs (ctor): Added ctor to fix signature
+
+2005-01-18  Peter Bartok  <pbartok@novell.com>
+
+       * Button.cs: Implemented DoubleClick event
+       * ButtonBase.cs:
+         - Fixed keyboard handling to behave like MS, where the press of
+           Spacebar is equivalent to a mousedown, and the key release is
+           equivalent to mouseup. Now a spacebar push will give the same
+           visual feedback like a mouse click.
+         - Added missing attributes
+         - Added ImeModeChanged event
+         - Added support for generating DoubleClick event for derived classes
+       * CheckBox.cs:
+         - Implemented DoubleClick event
+         - Added missing attributes
+       * CommonDialog.cs: Added missing attribute
+       * ContextMenu.cs: Added missing attributes
+       * RadioButton.cs:
+         - AutoChecked buttons do not allow to be unselected when clicked
+           (otherwise we might end up with no selected buttons in a group)
+         - Added missing attributes
+         - Implemented DoubleClickEvent
+       * ThreadExceptionDialog.cs: Enabled TextBox code
+
+2005-01-18  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs: Removed debug output
+       * Button.cs: Added support for DoubleClick method
+
+2005-01-18  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs:
+         - Added method to parent window that allows triggering size
+           calculations when a menu is added/removed
+         - set_Menu: Cleaned up mess from early days of Form and Control,
+           now properly triggers a recalc when a menu is added/removed
+         - Added case to select form itself as focused form if no child
+           controls exist
+         - Added PerformLayout call when showing dialog, to ensure properly
+           placed controls
+       * Control.cs:
+         - Select(): Made internal so Form can access it
+         - Focus(): Only call Xplat layer if required (avoids loop), and sets
+           status
+       * Application.cs (Run): Removed hack and calls PerformLayout instead
+         to trigger calculation when Form becomes visible
+
+2005-01-18  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: fixes for ownerdraw
+
+2005-01-18  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - Sentinel is no longer static, each Document gets it's own, this
+           avoids locking or alternatively overwrite problems when more
+           than one text control is used simultaneously.
+         - Switched to use Hilight and HilightText brushes for text selection
+
+       * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
+
+2005-01-18  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Hooked up the following events:
+               o ControlAdded
+               o ControlRemoved
+               o HandleDestroyed
+               o ImeModeChanged
+               o ParentChanged
+               o TabStopChanged
+               o Invalidated
+               o SystemColorsChanged
+               o ParentFontChanged
+               o Move
+         - Removed debug output
+         - Added a call to the current theme's ResetDefaults when a color change
+           is detected
+       * Form.cs: Now setting the proper ImeMode
+       * Theme.cs: Defined a method to force recreation of cached resources
+         and rereading of system defaults (ResetDefaults())
+       * ThemeWin32Classic.cs: Added ResetDefaults() stub
+
+2005-01-17  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Added missing attributes
+
+2005-01-17  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Implement editing. Add missing properties selected
+       and visible.
+       * TreeView.cs: Implement node editing. Also some fixes to use
+       Invalidate (invalid area) instead of Refresh when selecting.
+
+2005-01-17  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Implemented InvokeGotFocus() method
+         - Implemented InvokeLostFocus() method
+         - Implemented InvokePaint() method
+         - Implemented InvokePaintBackground() method
+         - Implemented InvokeClick() method
+         - Implemented FindForm() method
+         - Implemented RectangleToClient() method
+         - Implemented ClientToRectangle() method
+         - Implemented ResetBackColor() method
+         - Implemented ResetCursor() method
+         - Implemented ResetFont() method
+         - Implemented ResteForeColor() method
+         - Implemented ResetImeMode() method
+         - Implemented ResetLeftToRight() method
+         - Implemented ResetText() method
+         - Implemented Scale() methods
+         - Implemented ScaleCore() method
+         - Implemented Update() method
+         - Removed unused variables
+         - Stubbed AccessibilityNotifyClients and
+           ControlAccessibleObject.NotifyClients() methods (dunno what to do
+           with those yet)
+         - Now setting proper default for RightToLeft property
+         - Fixed bug in SetClientSizeCore that would cause windows to get
+           really big
+         - Now sending Click/DoubleClick events
+         - Now selecting controls when left mouse button is clicked on
+           selectable control
+       * AccessibleEvents.cs: Added
+       * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
+       * XplatUIOSX.cs: Stubbed UpdateWindow() method
+       * XplatUIWin32.cs: Implemented UpdateWindow() method
+       * XplatUIX11.cs: Implemented UpdateWindow() method
+       * Form.cs: Removed stray semicolon causing CS0162 warning
+       * ThemeWin32Classic.cs: Fixed unused variable warnings
+       * ScrollableControl.cs: Now calls base method for ScaleCore
+       * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
+         style to avoid interference with internal click handler (which is
+         different than standard Control click handling)
+       * RadioButton.cs:
+         - Now unchecks all sibling radio buttons when control is
+           selected (Fixes #68756)
+         - Removed internal tabstop variable, using the one inherited from
+           Control
+
+2005-01-17  Jackson Harper  <jackson@ximian.com>
+
+       * NavigateEventArgs.cs: Fix base type.
+       * LinkLabel.cs: Sig fix
+       
+2005-01-17  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Only invalidate the effected nodes bounds when
+       selecting nodes.
+
+2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * XplatUIWin32.cs: fixes Win32 marshaling
+       * XplatUIX11.cs: fixes method signature
+
+2005-01-17  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs: Clean up resources when we no longer need them
+
+2005-01-17  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
+         OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
+         and DestroyCursor() methods.
+       * Cursor.cs: Partially implemented, now supports standard cursors;
+         still contains some debug code
+       * Cursors.cs: Implemented class
+       * Control.cs:
+         - WndProc(): Added handling of WM_SETCURSOR message, setting the
+           appropriate cursor
+         - Implemented Cursor property
+         - Replaced break; with return; more straightforwar and possibly
+           faster
+         - Now properly setting the result for WM_HELP
+       * X11Structs.cs: Added CursorFontShape enum
+       * XplatUIStructs.cs:
+         - Added StdCursor enum (to support DefineStdCursor() method)
+         - Added HitTest enum (to support sending WM_SETCURSOR message)
+       * XplatUIX11.cs:
+         - Now sends the WM_SETCURSOR message
+         - Implemented new cursor methods
+       * XplatUIOSX.cs: Stubbed new cursor methods
+       * XplatUIWin32.cs:
+         - Implemented new cursor methods
+         - Added GetSystemMetrics function and associated enumeration
+
+2005-01-15  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - WndProc(): Now handles EnableNotifyMessage
+         - SelectNextControl(): Fixed bug where if no child or sibling
+           controls exist we looped endlessly
+
+2005-01-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Recalculate the tab pages when a new one is added
+       so that the proper bounding rects are created.
+
+2005-01-14  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Draw a gray box instead of a grip in the lower
+       right hand corner when there are both horizontal and vertical
+       scroll bars.
+
+2005-01-14  Jackson Harper  <jackson@ximian.com>
+
+       * Control.cs: When erasing backgrounds use FromHwnd instead of
+       FromHdc when there is a NULL wparam. This occurs on the X driver.
+       * XplatUIX11.cs: Set the wparam to NULL.
+
+2005-01-13  Jackson Harper  <jackson@ximian.com>
+
+       * PictureBox.cs: Implement missing methods (except ToString, need
+       to test that on windows) and events. When visibility is changed we
+       need to redraw the image because the buffers are killed. When size
+       is changed refresh if the sizemode needs it.
+
+2005-01-13  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (SelectNextControl): Was using wrong method to select
+         a control
+
+2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: fixes dropstyle
+
+2005-01-13  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs:
+         - Implemented Select() override
+         - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
+         - Now sets keyboard focus on startup
+       * Control.cs (SelectNextControl): Now properly handles directed=true
+       * TextBoxBase.cs:
+         - WndProc: Now passes tab key on to base if AcceptTabChar=false
+         - Added (really bad) focus rectangle (mostly for testing)
+       * TextBox.cs: Added code to handle getting/loosing focus and invalidating
+         to enforce redraw on focus changes
+       * ContainerControl.cs:
+         - Fixed detection of Shift-Tab key presses
+         - Fixed traversal with arrow keys
+       * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
+         gonna keep this or if it's complete yet
+       
+2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: missing properties, fixes
+
+2005-01-13  Peter Bartok  <pbartok@novell.com>
+
+       * Panel.cs (ctor): Setting Selectable window style to off
+       * Splitter.cs (ctor): Setting Selectable window style to off
+       * GroupBox.cs (ctor): Setting Selectable window style to off
+       * Label.cs (ctor): Setting Selectable window style to off
+
+2005-01-12  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs (InitTimer): If the timer has been already
+       created, enable it.
+
+       Use a TextBox instead of a Label.
+
+2005-01-12  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Refresh the tree after sorting the nodes. Always
+       draw the connecting node lines (when ShowLines is true).
+       * TreeNode.cs: The nodes index can now be updated. This is used
+       when a node collection is sorted.
+       * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
+       insert or an existing unsorted node collection can be sorted.
+       
+2005-01-12  Peter Bartok  <pbartok@novell.com>
+
+       * ContainerControl.cs: Implemented ProcessDialogKeys()
+
+2005-01-12  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Implemented SelectNextControl() method
+         - Several focus related bug fixes
+         - Fixed Docking calculations to match MS documentation and
+           behaviour
+
+2005-01-12  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
+       bug fixes
+
+2005-01-12  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs:
+         - Fixed broken Contains() method
+         - Implemented GetNextControl() method. Finally. This is the pre-
+           requisite for focus handling.
+
+2005-01-12  Peter Bartok  <pbartok@novell.com>
+
+       * OSXStrucs.cs: Added
+
+2005-01-12  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs:
+         - Removed PeekMessageFlags
+         - Implemented SetWindowStyle() method
+       * XplatUIStructs.cs: Added PeekMessageFlags
+       * X11Structs: Added missing border_width field to XWindowChanges struct
+       * XplatUIX11.cs:
+         - PeekMessage: Now throws exception if flags which are not yet
+           supported are passed
+         - Implemented SetWindowStyle() method
+         - Fixed SetZOrder to handle AfterHwnd properly
+       * XplatUI.cs: Added SetWindowStyle() method
+       * XplatUIDriver.cs: Added SetWindowStyle() abstract
+       * Control.cs:
+         - Implemented UpdateStyles() method
+         - Implemented UpdateZOrder() method
+       * XplatUIOSX.cs: Added SetWindowStyle() stub
+
+2005-01-12  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
+       button mouse).
+
+
+2005-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Still need to draw lines to siblings even if out of
+       the current node is out of the clip.
+
+2005-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When setting the hbar/vbar/grip position use
+       SetBounds so that perform layout is only called once. Also suspend
+       and resume layout so layout is only done once for all controls.
+       - Removed some debug fluff
+       * SizeGrip.cs: Call base implmentation in overriding methods.
+       - When visibility is changed the drawing buffers are killed so we
+       need to redraw.
+
+2005-01-11  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Calculate the open node count while drawing. This
+       saves us an entire tree traversal for every paint operation. Use
+       a member var for the open node count so less vars are passed around.
+
+2005-01-11  John BouAntoun  <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+       - fixed selection to use mousemove, not mouse polling on timer
+       * ThemeWin32Classic.cs
+       - removed redundant unused variable "no_more_content"
+       
+2005-01-11  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (DoEvents): Needs to return when no more events
+         are pending, so it now calls PeekMessage instead of GetMessage;
+         implemented a incomplete version of PeekMessage
+       
+2005-01-11  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
+         I18n issues
+       * TextBoxBase.cs: Added sending of TextChanged event
+
+2005-01-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Try not to draw outside the clipping rectangle on
+       each node element.
+
+2005-01-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: keyboard navigation, item navigation, bug fixes
+
+2005-01-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs:
+       - Implement fast scrolling. Now only the newly
+       exposed nodes are drawn and the old image is moved using the
+       XplatUI::ScrollWindow method.
+       - Factor in height of nodes when calculating whether or not the
+       node is in the clipping rect.
+
+2005-01-10  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNodeCollection.cs: Refresh the tree when a new node is added.
+
+2005-01-10  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs: Added temporary hack to resolve all our resize
+         required issues on startup. This will get fixed properly at
+         some point in the future
+
+2005-01-10  Jackson Harper  <jackson@ximian.com>
+
+       * SizeGrip.cs: New internal class that is used as a sizing
+       grip control...hence the name.
+
+2005-01-10  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs: Implemented proper TabIndex handling, now assigning
+         a tabindex when a control is added to a container
+       * GroupBox.cs (ctor): Now sets the Container style bit, required
+         for Control.GetNextControl()
+
+2005-01-09  Jackson Harper  <jackson@ximian.com>
+
+       * TextBoxBase.cs: Clear window when scrolling (fixes build).
+
+2005-01-09  Peter Bartok <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
+         XplatUIX11.cs: Added ability to control ScrollWindow expose and
+         an overload for ScrollWindow to allow only scrolling a rectangle
+
+2005-01-09  Peter Bartok <pbartok@novell.com>
+
+       * Form.cs:
+         - Implemented SetDesktopBounds method
+         - Implemented SetDesktopLocation method
+
+2005-01-08  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Only set the vbar's Maximum and LargeChange when
+       the node count has changed, this removes to VScroll::Refresh calls
+       when drawing.
+
+2005-01-08  Geoff Norton  <gnorton@customerdna.com>
+
+        * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
+
+2005-01-07  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Just update the single node when it is
+       checked. Don't refresh after toggling, the Expand/Collapse already
+       handles this.
+       * TreeView.cs: Respect clipping a little more when drawing. Try
+       not to redraw things that don't need to be redrawn. Just hide the
+       scrollbars when they are no longer needed instead of removing
+       them, so they don't have to be created again and again.
+       
+2005-01-07  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs (SetCaretPos):  We need to translate the view
+       coordinates to window space to place the caret properly, FIXED.
+       Implement GetWindowState & SetWindowState
+
+2005-01-06  Peter Bartok <pbartok@novell.com>
+
+       * Form.cs:
+         - Implemented ClientSize property
+         - Implemented DesktopBounds property
+         - Implemented DesktopLocation property
+         - Implemented IsRestrictedWindow property
+         - Implemented Size property
+         - Implemented TopLevel property
+         - Implemented FormWindowState property
+       * Control.cs:
+         - Implemented GetTopLevel() method
+         - Implemented SetTopLevel() method
+       * X11Structs.cs (Atom):
+         - Added AnyPropertyType definition
+         - Added MapState definiton and updated XWindowAttribute struct
+       * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
+       * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
+       * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
+       * XplatUIWin32.cs:
+         - Implemented GetWindowState() and SetWindowState() methods
+         - Fixed Win32GetWindowLong return type
+       * XplatUIX11.cs:
+         - Introduced central function for sending NET_WM messages
+         - Implemented GetWindowState() and SetWindowState() methods
+       * TextBoxBase.cs (set_Lines):
+         - Now uses Foreground color for text added via Text property (Duh!)
+         - Added code to remember programmatically requested size (fixes
+           behaviour when Multiline is set after Size)
+         - Added AutoSize logic
+
+2005-01-06  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
+
+2005-01-06  Jackson Harper  <jackson@ximian.com>
+
+       * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
+       set to less then 0.
+
+2005-01-06  Jackson Harper  <jackson@ximian.com>
+
+       * ScrollableControl.cs: Lazy init the scrollbars.
+       
+2005-01-06  Jackson Harper  <jackson@ximian.com>
+
+       * Theme.cs: Speed up getting pens and solid brushes, by using
+       their ARGB as a hash instead of tostring and not calling Contains.
+
+2005-01-06  Peter Bartok <pbartok@novell.com>
+
+       * Form.cs:
+         - Implemented OnActivated and OnDeactivate event trigger
+         - Implemented Activate() method
+         - Fixed ShowDialog() to activate the form that was active before
+           the dialog was shown
+       * XplatUIX11.cs:
+         - Added global active_window var that tracks the currently active
+           X11 window
+         - Now always grabs Property changes from the root window to always
+           catch changes on the active window property
+         - Added code to PropertyNotify handler to send Active/Inactive
+           messages when state changes. This puts X11 and Win32 en par on
+           WM_ACTIVATE notifications (except for double notifications when
+           the user clicks away from our modal window to another one of our
+           windows)
+
+2005-01-05  Jackson Harper  <jackson@ximian.com>
+
+       * ImageList.cs: Implment ctor
+
+2005-01-05  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implement Activate/SetTopmost
+
+2005-01-05  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
+
+2005-01-05  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implement GetActive/SetFocus.
+
+2005-01-05  Peter Bartok <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
+         XplatUIOSX.cs: Added GetActive method to return the currently
+         active window for the application (or null, if none is active)
+       * Form.cs:
+         - Implemented ActiveForm
+         - Commented out owner assignment for modal dialogs (causes problems
+           on Win32, since the owner will be disabled)
+         - Reworked some Active/Focus handling (still incomplete)
+       * CommonDialog.cs: Commented out owner assignment for modal dialogs
+         (causes problems on Win32, since the owner will be disabled)
+       * IWin32Window: Added ComVisible attribute
+
+2005-01-05  Peter Bartok <pbartok@novell.com>
+
+       * ToolTip.cs (WndProc): Enable setting focus now that we have the
+         required XplatUI functions.
+
+2005-01-05  Peter Bartok <pbartok@novell.com>
+
+       * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
+         XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
+         to implement focus and activation handling; still incomplete and
+         with debug output
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * TextBoxBase.cs: Changed access level for Document property to
+         match switch to internal for TextControl
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * AccessibleObject: Added ComVisible attribute
+
+2005-01-04  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Remove unneeded var.
+
+2005-01-04  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
+       but PAINT.
+       * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
+       ClientMessage. This makes apps exit cleanly (more often).
+       
+2005-01-04  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
+       handling focus, return correct colors and fonts,
+       * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
+       handle selection, horizontal scrolling, and mouse interaction.
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * ICommandExecutor.cs: Added
+       * IDataGridColumnStyleEditingNotificationService.cs: Added
+       * IFeatureSupport.cs: Added
+       * IFileReaderService.cs: Added
+       * IDataObject.cs: Added ComVisible attribute
+       * AmbientProperties.cs: Added
+       * BaseCollection.cs: Added missing attributes
+       * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
+       * BaseCollection.cs: Added missing attributes
+       * Binding.cs: Added TypeConverter attribute
+       * BindingContext.cs: Added DefaultEvent attribute
+       * BindingsCollection.cs: Added DefaultEvent attribute
+       * Button.cs: Added DefaultValue attribute
+       * DragEventArgs.cs: Added ComVisible attribute
+       * GiveFeedbackEventArgs.cs: Added ComVisible attribute
+       * KeyEventArgs.cs: Added ComVisible attribute
+       * KeyPressEventArgs.cs: Added ComVisible attribute
+       * MouseEventArgs.cs: Added ComVisible attribute
+       * NavigateEventArgs.cs: Added
+       * NavigateEventHandler.cs: Added
+       * FeatureSupport.cs: Added
+       * OSFeature.cs: Added
+       * Theme.cs: Added abstract Version property to support OSFeature
+       * ThemeWin32Classic.cs: Added Version property to
+         support OSFeature.Themes
+       * ProgressBar.cs: Removed OnPaintBackground override, not required since
+         the proper styles to avoid background drawing are set, also doesn't
+         match MS signature
+       * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
+       * QueryContinueDragEventArgs.cs: Added ComVisible attribute
+       * ScrollEventArgs.cs: Added ComVisible attribute
+       * SplitterEventArgs.cs: Added ComVisible attribute
+       * AccessibleSelection.cs: Added Flags attribute
+       * Appearance.cs: Added ComVisible attribute
+       * Border3DSide.cs: Added ComVisible attribute
+       * Border3DStyle.cs: Added ComVisible attribute
+       * BorderStyle.cs: Added ComVisible attribute
+       * DragAction.cs: Added ComVisible attribute
+       * ErrorBlinkStyle.cs: Added
+       * ScrollEventType.cs: Added ComVisible attribute
+       * AnchorStyles.cs: Added Editor attribute
+       * DockStyle.cs: Added Editor attribute
+       * HorizontalAlignment.cs: Added ComVisible attribute
+       * HelpEventArgs.cs: Added ComVisible attribute
+       * PaintEventArgs.cs: Added IDisposable
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * TextControl.cs: Switched Line, LineTag and Document classes to
+         internal
+
+2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
+       Simple mode, fixes, IntegralHeight, etc.
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * TextBoxBase.cs: Using proper font variable now
+
+2005-01-04  Peter Bartok <pbartok@novell.com>
+
+       * Form.cs (ShowDialog): Set parent to owner, if provided
+       * GroupBox.cs: Removed unused vars
+       * TextControl.cs:
+         - Added GetHashCode() for Document and LineTag classes
+         - Removed unused variables
+         - Added CharIndexToLineTag() and LineTagToCharIndex() methods
+           to allow translation between continuous char position and line/pos
+       * CheckBox.cs: Removed vars that are provided by base class
+       * RadioButton.cs: Removed vars that are provided by base class, added
+         new keyword where required
+       * LinkLabel.cs: Added new keyword where required
+       * Control.cs (WndProc): Removed unused variable
+       * TextBoxBase.cs:
+         - Finished SelectionLength property
+         - Implemented SelectionStart property
+         - Implemented Text property
+         - Removed unused vars
+       * MessageBox.cs: Added new keyword where required
+       * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
+         WndProc signature
+       * MenuAPI.cs: Added new keyword where required
+       * ButtonBase.cs: Removed vars that are provided by base class, added
+         new keyword where required
+       * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
+         argument to double, to allow compiling with csc 2.0 (Atsushi ran
+         into this)
+       * Application.cs (Run): Now triggers the ThreadExit event
+       * CommonDialog.cs: Added new keyword where required; now properly sets
+         parent (owner) for dialog
+       * XplatUIX11.cs: Commented out unused vars
+       * StatusBar.cs: Fixed signature for Text property
+       * TabPage.cs: Undid Jordi's removal of unused var, now using the var
+
+2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
+       TrackBar.cs, MonthCalendar.cs: remove unused vars
+
+2005-01-03  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs:
+       * X11Keyboard.cs: Remove unused vars.
+
+2005-01-03  Peter Bartok  <pbartok@novell.com>
+
+       * TextBox.cs:
+         - set_Text: Tied into TextControl
+         - set_TextAlignment: Tied into TextControl
+       * TextControl.cs:
+         - Added alignment properties and implemented alignment handling
+           and drawing (still has a bug, not generating proper expose events)
+         - Added new Line() constructor to allow passing the line alignment
+         - Fixed selection setting, properly handling end<start now
+         - Added aligment considerations to RecalculateDocument()
+       * TextBoxBase.cs:
+         - Now properly enforces control height for single line controls
+         - Added support for CharacterCasing
+         - Added IsInputKey override
+         - Fixed Keys.Enter logic
+         - Added SetBoundsCore override
+         - Fixed mouse selection handling
+
+2005-01-03  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs:
+         - Collapse and uncheck all nodes when CheckBoxes is disabled.
+         - Checkboxes are always aligned to the bottom of the node,
+         regardless of item height.
+         - Use the node bounds to draw the text so we can center it when
+         the item height is greater then the font height.
+         - Node::Bounds are only the text part of the node.
+       * TreeNode.cs: New method to combine collapsing and unchecking all
+         nodes recursively.
+
+2005-01-02  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
+       * TreeNode.cs: Add a bounding box for the checkbox, refresh the
+       tree when a check is changed. TODO: Only refresh the checked node.
+
+2004-12-30  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
+       * TreeNode.cs: When collapsing make sure to never collapse the
+       root node.
+
+2004-12-29  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
+       
+2004-12-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
+
+2004-12-28  Peter Bartok  <pbartok@novell.com>
+
+       * MessageBox.cs (get_CreateParams): Don't use owner var if it's
+         not yet assigned
+
+2004-12-28  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (WndProc): Added WM_HELP handler, now generates
+         HelpRequested event
+       * Form.cs: Added HelpButton property and required support code
+       * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
+
+2004-12-28  Peter Bartok  <pbartok@novell.com>
+
+       * CommonDialog.cs:
+         - Made DialogForm.owner variable internal
+         - Added check to ensure owner form is set before setting
+           owner properties in CreateParams
+
+2004-12-28  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implement mouse hovering.  Fix QDPoint struct to avoid
+         swizzling.  Implement ClientToScreen and ScreenToClient.  Implement
+         GetCursorPos.  Fix major visibility issues.  Rework the windowing
+         system to support borderless/titleless windows (implements menus).
+         Fix GetWindowPos.  Implement initial background color support for
+         views.
+
+2004-12-28  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs (get_CreateParams): Make sure we have an owner before using
+         the owner variable. Implement proper default if no owner exists
+
+2004-12-28  Peter Bartok  <pbartok@novell.com>
+
+       * In preparation for making Managed.Windows.Forms the default build target
+         for System.Windows.Forms, the following stubbed files were added.
+         Dialogs are currently being implemented by contributors and are only
+         short-term place holders.
+       * ColorDialog.cs: Initial check-in (minmal stub)
+       * DataGrid.cs: Initial check-in (minimal stub)
+       * DataGridLineStyle.cs: Initial check-in (minimal stub)
+       * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
+       * DataGridTableStyle.cs: Initial check-in (minimal stub)
+       * FontDialog.cs: Initial check-in (minimal stub)
+       * FileDialog.cs: Initial check-in (minimal stub)
+       * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
+       * GridTableStylesCollection.cs: Initial check-in (minimal stub)
+       * OpenFileDialog: Initial check-in (minimal stub)
+       * IComponentEditorPageSite.cs: Initial check-in
+       * Splitter.cs: Initial check-in (for Jackson)
+       * SplitterEventArgs.cs: Initial check-in (for Jackson)
+       * SplitterEventHandler.cs: Initial check-in (for Jackson)
+       * TextBox.cs: Initial check-in; still needs some wiring to
+         TextControl backend
+       * Form.cs: Implemented ControlBox property
+       * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
+       * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
+       * TextControl.cs: Added selection functionality; added todo header
+       * TextBoxBase.cs:
+         - Implemented Lines property
+         - Implemented TextHeight property
+         - Implemented SelectedText property
+         - Implemented SelectionLength property
+         - Implemented SelectAll method
+         - Implemented ToString method
+         - Removed and cleaned up some debug code
+         - Implemented (still buggy) mouse text selection
+
+2004-12-27  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ComboBox.cs: Complete DropDownList implementation, fixes.
+
+2004-12-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
+       * ComboBoxStyle.cs: ComboBoxStyle enum
+       * ComboBox.cs: Initial work on ComboBox control
+
+2004-12-21  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (ctor, CreateParams): Moved setting of is_visible
+         forward so that anything that creates a window gets the default,
+         also no longer uses Visible property in CreateParams to avoid
+         walking up the parent chain and possibly get the wrong visible
+         status. Fixed IsVisible to no longer walk up to the parent.
+
+2004-12-21  Peter Bartok  <pbartok@novell.com>
+
+       * Form.cs (ShowDialog): Unset modality for the proper window
+2004-12-20  Peter Bartok  <pbartok@novell.com>
+
+       * CommonDialog.cs: Initial check-in
+
+2004-12-20  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (Visible): Now uses the parent window instead of the
+         client area window for the property
+
+       * Form.cs
+         - ShowDialog(): Now uses the proper window for modality
+         - The default visibility state for the form parent is now false. This
+           will prevent the user from seeing all the changes to the form and
+           its controls before the application hits Application.Run()
+         - Removed some stale commented out code
+
+       * NativeWindow.cs:
+         - Added FindWindow() method to have a method to check for existence
+           of a window handle
+         - Added ability to override default exception handling (for example
+           when debugging with VS.Net; to do this the ExternalExceptionHandler
+           define must be set
+         - Removed some useless debug output
+
+       * XplatUIX11.cs:
+         - Removed r37929 (SetModal patch from Ashwin Bharambe), was
+           not working as expected
+         - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
+           property to allow switching back to the modal window if focus is
+           given to another one of our windows (Application Modal)
+         - Now only sets override_redirect if we create a window
+           without WS_CAPTION
+         - Moved EventMask selection before mapping of newly created window
+           so we can catch the map event as well
+         - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
+         - Added various Atom related DllImports
+         - Implemented Exit() method
+         - .ctor() : No longer shows window if WS_VISIBLE is not defined
+           in the CreateParams
+
+       * MessageBox.cs: Now properly deals with the FormParent window by
+         providing an override the FormParent CreateParams property to
+         set as POPUP instead of OVERLAPPED window.
+
+2004-12-19  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Implement DestroyWindow.  Implement ScrollWindow
+       Minor code cleanup.
+
+2004-12-19  Geoff Norton  <gnorton@customerdna.com>
+       
+       * XplatUIOSX.cs (SetModal): Implement this method on OSX.
+
+2004-12-18  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
+         implementing SetModal() method
+
+2004-12-18  Peter Bartok  <pbartok@novell.com>
+
+       * X11Structs.cs (XGCValues): Fixed type of function element
+       * XplatUI.cs: Added ScrollWindow() method
+       * XplatUIDriver.cs: Added ScrollWindow() abstract
+       * XplatUIWin32.cs: Implemented ScrollWindow() method
+       * XplatUIX11.cs: Implemented ScrollWindow() method
+       * XplatUIOSX.cs: Stubbed out ScrollWindow() method
+
+2004-12-17  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs:  Fix cursor to use an Invert instead of drawing it
+       Some more keyboard support (INCOMPLETE)
+
+2004-12-17  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+       - Added color attribute to line tags.
+       - Added color argument to all functions dealing with tags
+       - Added color argument support to various functions
+       - Fixed miss-calculation of baseline/shift in certain circumstances
+
+       * TextBoxBase.cs: Added new color option to test code
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs:
+       * MonthCalendar.cs: Signature fixes
+
+2004-12-17  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
+       keyboard event moved it.  Create a new graphics context for each paint resolves this
+
+2004-12-17  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
+       Make caret exist and go blink blink.  Initial keyboard support.
+       Fix exception handler, Add Invalidate support.  Change way RefreshWindow
+       works.
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIStructs.cs: Updated set of virtual keycodes.
+       * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Prune old keyboard code.
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: When generating mouse wparams get the modifier
+       keys from the ModifierKeys property.
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Send up/down input when generating
+       messages. Remove some unused vars.
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs:
+       * TreeView.cs: get rid of warnings.
+
+2004-12-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
+
+2004-12-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: bug fixes, changes for CheckedListBox.cs
+         CheckedListBox.cs: Implementation
+
+2004-12-17  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+         - InsertCharAtCaret(): Fixed start pos fixup
+         - CaretLine_get: No longer derives the line from the tag, the tag
+           could be stale if lines in the document have been added or deleted
+         - RebalanceAfterDelete(): Fixed bug in balancing code
+         - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
+         - Line.Streamline(): Now can also elminate leading empty tags
+         - DumpTree(): Added a few more tests and prevented exception on
+           uninitialized data
+         - Added Debug section for Combining lines
+         - Delete(): Now copies all remaining properties of a line
+         
+       * TextBoxBase.cs:
+         - Left mousebutton now sets the caret (and middle button still acts
+           as formatting tester, which must go away soon)
+         - Added Debug section for Deleting/Combining lines
+         - Fixed calculations for UpdateView after Combining lines
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Now properly aligns text on a baseline, using the
+         new XplatUI.GetFontMetrics() method. Simplified several calculations
+       * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
+         defined
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Added GetFontMetrics() method
+       * XplatUIDriver.cs: Added GetFontMetrics() abstract
+       * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
+         into libgdiplus, our private GetFontMetrics function
+       * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
+       * XplatUIWin32.cs: Implemented GetFontMetrics() method
+
+2004-12-16  Jackson Harper  <jackson@ximain.com>
+
+       * XplatUIStruct.cs: Add enum for dead keys
+       * X11Keyboard.cs: Map and unmap dead keys.
+
+2004-12-16  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Detect and use the num lock mask.
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (CreateGraphics): Added check to make sure the
+         handle of the window exists before calling Graphics.FromHwnd()
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
+         contains a lot of code that's not supposed to be there for the
+         real thing, but required for developing/testing the textbox
+         backend.
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+       - Fixed Streamline method
+       - Added FindTag method to Line
+       - Added DumpTree method for debugging
+       - Added DecrementLines() method for deleting lines
+       - Fixed UpdateView to update the cursor to end-of-line on single-line
+         updates
+       - Added PositionCaret() method
+       - Fixed MoveCaret(LineDown) to move into the last line, too
+       - Added InsertChar overload
+       - Fixed InsertChar tag offset calculations
+       - Added DeleteChar() method
+       - Added Combine() method for folding lines
+       - Fixed Delete() method, no longer allocates wasted Line object and
+         now copies all properties when swapping nodes
+       - Delete() method now updates document line counter
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Get the modifier keys from the keyboard driver
+       * X11Keyboard.cs: Expose the currently selected modifier keys
+       through a property.
+
+2004-12-15  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Initial check-in. Still incomplete
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs:
+       * TreeView.cs: Fix build on csc (second time today ;-))
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Store the treenodes plus/minus box bounds when it
+       is calculated and use this for click testing.
+       * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Pass the nodes image index to the image list when
+       drawing that image.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Set messages hwnd.
+       * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
+       post_message calls.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Fix to compile with csc.
+       
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Structs.cs: Add key mask values
+       * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
+       * X11Keyboard.cs: New file - Extrapolates and interpolates key
+       down/up foo into WM_CHAR foo
+       * KeyboardLayouts.cs: Common keyboard layouts
+       * XplatUIX11.cs: Add the keyboard driver. Add functionality to
+       post messages into the main queue.
+
+2004-12-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Button.cs: implement ProcessMnemonic
+       * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
+         brushes everytime
+       * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
+       * ButtonBase.cs: Show HotkeyPrefix (not the &)
+
+2004-12-12  John BouAntoun  <jba-mon@optusnet.com.au>
+       
+       * MonthCalendar.cs: Implemented click-hold for next/previous month
+         and date selection
+         
+2004-12-11  Peter Bartok  <pbartok@novell.com>
+
+       * X11Structs.cs:
+         - Added XKeyboardState (moved from XplatUIX11.cs)
+         - Added XCreateGC related enums and structures
+         - Added GXFunction for XSetFunction
+
+       * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
+
+       * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
+         CaretVisible() calls
+
+       * ToolTip.cs: Added code to prevent stealing focus from app windows
+
+       * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
+         DestroyCaret, SetCaretPos and CaretVisible)
+
+       * XplatUIX11.cs:
+         - Added implementation for caret functions
+         - Moved hover variables into a struct, to make it a bit easier
+           on the eyes and to debug
+         - Removed XKeyboardState (moved to XplatUIX11.cs)
+         - Moved Keyboard properties into the properties region
+
+       * Control.cs (get_Region): Control.CreateGraphics is the appropriate
+         call to get a graphics context for our control
+
+       * XplatUIOSX.cs: Added empty overrides for the new caret functions
+
+       * TreeView.cs: Fixed bug. No matter what color was set it would always
+         return SystemColors.Window
+
+       * XplatUIWin32.cs: Implemented caret overrides
+
+2004-12-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: fire events, implement missing methods and properties,
+       sorting.
+
+2004-12-10  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: invalidation bug fixing
+       * ThemeWin32Classic.cs: paint fixing
+
+2004-12-09  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
+       prepare the CGContextRef there now.
+
+2004-12-09  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - optimisationL only invalidate areas that have changed
+       * ThemeWin32Classic.cs:
+         - only paint parts that intersect with clip_area
+
+2004-12-09  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs: Undid changes from r37004 which cause problems
+       on X11
+
+2004-12-09  Ravindra  <rkumar@novell.com>
+
+       * ToolBar.cs: Added support for displaying ContextMenu
+       attached to a button on ToolBar.
+       * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
+       property.
+
+2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Label.cs: autosize works in text change and removes unnecessary
+       invalidate
+
+2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
+       remove warnings
+
+2004-12-08  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Added mouse move/click/grab support
+       Remove some debugging WriteLines not needed anymore.
+       Add window resizing/positioning.
+       Fix visibility on reparenting.
+
+2004-12-08  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
+
+2004-12-07  Geoff Norton  <gnorton@customerdna.com>
+
+        * XplatUIOSX.cs: Initial checkin
+        * XplatUI.cs: Use the Quartz driver if the environment is set to use it
+
+2004-12-03  Ravindra <rkumar@novell.com>
+
+       * ListView.cs: Added some keybindings and fixed scrolling.
+       ScrollBars listen to ValueChanged event instead of Scroll
+       Event. This would let us take care of all changes being
+       done in the scrollbars' values programmatically or manually.
+       * ListView.cs (CanMultiselect): Added a check for shift key.
+       * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
+       * ListViewItem.cs (Clone): Fixed. We need to make a copy
+       of ListViewSubItemCollection as well.
+
+2004-12-06  Peter Bartok <pbartok@novell.com>
+
+       * Control.cs (Parent): Added check and exception to prevent
+       circular parenting
+
+2004-12-03  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: implemented clipping, selection single and multiple,
+       bug fixing
+
+2004-12-03  Ravindra <rkumar@novell.com>
+
+       * ListView.cs (ListView_KeyDown):
+       * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
+       when CTRL key is pressed.
+       * ListViewItem.cs (Selected): Fixed setting the property.
+
+2004-12-03  Marek Safar  <marek.safar@seznam.cz>
+
+       * Application.cs (OnThreadException): Use ThreadExceptionDialog.
+
+       * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
+       MinimizeBox, ShowInTaskbar, TopMost properties.
+
+       * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
+       will be implemented).
+
+2004-12-03  Marek Safar  <marek.safar@seznam.cz>
+
+       * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
+
+       * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
+       tests.
+       
+       * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
+       
+       * TreeView.cs: BackColor is Colors.Window.
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When resizing the tree if the user is making it
+       smaller we don't get expose events, so we need to handle adding
+       the horizontal scrollbar in the size changed handler as well as
+       the expose handler.
+
+2004-12-02  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DrawItemState.cs: fixes wrong enum values
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Resize the hbar as well as the vbar on resize.
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * NodeLabelEditEventArgs.cs:
+       * NodeLabelEditEventHandler.cs:
+       * OpenTreeNodeEnumerator.cs:
+       * TreeNode.cs:
+       * TreeNodeCollection.cs:
+       * TreeView.cs:
+       * TreeViewAction.cs:
+       * TreeViewCancelEventArgs.cs:
+       * TreeViewCancelEventHandler.cs:
+       * TreeViewEventArgs.cs:
+       * TreeViewEventHandler.cs: Initial implementation.
+
+2004-12-01  Ravindra <rkumar@novell.com>
+
+       * ListView.cs (CalculateListView): Fixed scrolling related
+       calculations. Also, removed some debug statements from other
+       places.
+       * ListViewItem.cs: Changed access to 'selected' instance variable
+       from private to internal.
+       * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
+
+2004-12-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: remove cache of brush and pens for
+       specific controls and use the global system, fixes scrollbutton
+       bugs (for small sizes, disabled, etc)
+       
+       * ScrollBar.cs: does not show the thumb for very small controls
+       (as MS) and allow smaller buttons that the regular size
+
+2004-12-01  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs: Add abstract methods for the interface.
+       Add new virtual methods (need to be hooked up to TextEntry when it
+       exists).
+       Add override methods for most features.
+       Computes the size, forces the height of the text entry.
+
+       * NumericUpDown.cs: Put here the current testing code.
+
+       * Set eol-style property on all files that do not have mixed line
+       endings, to minimize the future problems.  There are still a few
+       files with mixed endings, and someone should choose whether they
+       want to move it or not.
+
+2004-11-30  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MonthCalendar.cs, ListView.cs: use Theme colours instead of
+       System.Colors
+       
+2004-11-30  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
+       drawing and replaced use of SystemColors by theme colors.
+       * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
+       * ListView.cs (ListViewItemCollection.Add): Throw exception when
+       same ListViewItem is being added more than once.
+
+2004-11-30  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - ControlStyles love to make the control not flicker
+         
+2004-11-30  Peter Bartok  <pbartok@novell.com>
+
+       * CharacterCasing.cs: Added
+
+2004-11-29  Peter Bartok  <pbartok@novell.com>
+
+       * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
+         TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
+          I am removing these files as they conflict with already completed
+          work. While it is fantastic to get contributions to MWF, I
+          respectfully ask that everyone please coordinate their contributions
+          through mono-winforms-list or #mono-winforms at this time. We're
+          explicitly avoiding stubbing and don't want controls that don't have
+          their basic functionality implemented in svn. Please also see
+          http://www.mono-project.com/contributing/winforms.html
+
+
+2004-11-29  Marek Safar  <marek.safar@seznam.cz>
+
+       * Application.cs (ModalRun): Don't hang after exit.
+
+       * Theme.cs: New TreeViewDefaultSize property.
+
+       * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
+       with less hardcoded SystemColors constant.
+       Implemented TreeViewDefaultSize.
+
+       * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
+       TreeViewAction.cs, TreeViewEventArgs.cs: New files.
+
+
+2004-11-29  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - Fix NextMonthDate and PrevMonthDate click moving calendar
+
+2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - Fix usage of ScrollChange Property when scrolling months
+
+2004-11-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
+        - Fixes menu destroying
+        - Support adding and removing items on already created menus
+
+2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - Re-worked all bolded dates handling to match win32
+       * ThemeWin32Classic.cs:
+         - Fixed rendering with bolded dates
+
+2004-11-25  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
+       - Horizontal scroolbar
+       - Multicolumn
+       - Fixes
+
+
+2004-11-25  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - Fix Usage of MaxSelectionCount from SelectionRange
+         - Fixed Shift + Cursor Selection
+         - Fixed Shift + (Pg up/Pg dn, Home/End) selection
+         - Fixed normal cursor selection to be compat with win32
+         - Fixed Shift + Mouse Click selection
+
+2004-11-24  Peter Bartok <pbartok@novell.com>
+
+       * XplatUI.cs (DispatchMessage): Switched to return IntPtr
+       * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
+       * XplatUIX11.cs:
+         - CreatedKeyBoardMsg now updates keystate with Alt key
+         - Added workaround for timer crash to CheckTimers, Jackson will
+           develop a proper fix and check in later
+         - Implemented DispatchMessage
+         - Removed calling the native window proc from GetMessage (call
+           now moved to DispatchMessage)
+
+       * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
+         the keydata (Fixes bug #69831)
+
+       * XplatUIWin32.cs:
+         - (DispatchMessage): Switched to return IntPtr
+         - Added DllImport for SetFocus
+
+2004-11-24  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs: Fixed ListView border and checkbox
+       background drawing.
+       * ListViewItem.cs: Fixed various properties, calculations
+       and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
+       * ListView.cs: Fixed calculations, BackColor, ForeColor properties
+       and some internal properties. Fixed MouseDown handler and Paint
+       method.
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: Add TitleMonth ContextMenu handling
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ContainerControl.cs: correct accidental check in of local changes
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs:
+               - Fixed Drawing Last month in grid (sometimes not showing)
+       * MonthCalendar.cs:
+               - Fixed title width calculation bug (makeing title small)
+
+2004-11-23  Peter Bartok <pbartok@novell.com>
+
+       * XplatUIX11.cs:
+         - Added generation of WM_MOUSEHOVER event
+         - Added missing assignment of async_method atom
+         - Fixed WM_ERASEBKGND; now only redraws the exposed area
+
+2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs:
+               - Fixed Drawing of today circle when showtodaycircle not set
+               - fixed drawing of first and last month in the grid (gay dates)
+       * MonthCalendar.cs:
+               - Fixed Drawing of today circle
+               - Fixed drawing of grady dates
+               - Fixed HitTest for today link when ShowToday set to false
+               - Fixed DefaultSize to obey ShowToday
+
+2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
+       * System.Windows.Forms/Theme.cs
+       * MonthCalendar.cs: added for MonthCalendar
+       * SelectionRange.cs: added for MonthCalendar
+       * Day.cs: added for MonthCalendar: added for MonthCalendar
+       * DateRangeEventArgs.cs: added for MonthCalendar
+       * DateRangeEventHandler.cs: added for MonthCalendar
+
+2004-11-22  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
+       property.
+
+2004-11-22  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
+       event handler.
+       
+       * NumericUpDown.cs: Added new implementation.
+       * UpDownBase.cs: Added new implementation.
+
+       * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
+       implementations.
+       
+       * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
+       implementations.
+
+       * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
+       methods.
+
+2004-11-21  Miguel de Icaza  <miguel@ximian.com>
+
+       * Timer.cs  (Dispose): Should call the base dispose when
+       overriding.
+
+2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ScrollBar.cs: updates thumb position when max, min or increment
+       is changed
+
+2004-11-21  Ravindra <rkumar@novell.com>
+
+       * ListView.cs: Implemented item selection, activation and
+       column header style. Fixed properties to do a redraw, if
+       required. Added support for MouseHover, DoubleClick, KeyDown
+       and KeyUp event handling and some minor fixes.
+       * ListViewItem.cs: Fixed constructor.
+       * ThemeWin32Classic.cs: Improved drawing for ListView.
+
+2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: initial listbox drawing code
+       * DrawMode.cs: new enumerator
+       * ListControl.cs: stubbed class
+       * ListBox.cs: initial implementation
+       * Theme.cs: new methods definitions
+       * SelectionMode.cs: new enumerator
+
+2004-11-17  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIWin32.cs: Added double-click events to the class style
+       * Control.cs (WndProc):
+         - Added handling of click-count to MouseDown/ MouseUp events.
+         - Added handling of middle and right mouse buttons
+         - Removed old debug code
+
+2004-11-17  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Use the new Mono.Unix namespace.
+
+2004-11-17  Ravindra <rkumar@novell.com>
+
+       * ListView.cs: Added event handling for MouseMove/Up/Down.
+       * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
+       * ThemeWin32Classic.cs: We need to clear the graphics context and
+       draw column header in a proper state.
+
+
+2004-11-17  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       *  Menu.cs: fixes signature
+
+2004-11-16  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIX11.cs (GetMessage): Implemented generation of
+         double click mouse messages
+
+2004-11-12  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       *  Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
+       not by menu
+
+2004-11-11  Peter Bartok  <pbartok@novell.com>
+
+       * HandleData.cs: Added Visible property
+       * XplatUIX11.cs (IsVisible): Now uses Visible property from
+         HandleData
+       * XplatUIX11.cs: Removed old debug leftovers
+       * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
+       * Control.cs (WndProc): Removed old debug leftovers,
+         streamlined handling of WM_WINDOWPOSCHANGED, removed un-
+         needed WM_SIZE handling
+
+2004-11-11  Jackson Harper  <jackson@ximian.com>
+
+       * OwnerDrawPropertyBag.cs:
+       * TreeViewImageIndexConverter.cs: Initial implementation
+
+2004-11-10  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs:
+       * TabControl.cs: instead of moving tabs by the slider pos just
+       start drawing at the tab that is offset by the slider. This way
+       scrolling always moves by exactly one tab.
+
+2004-11-10  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: You can only scroll left when the slider has
+       already ben moved right.
+       
+2004-11-10  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
+       the clip area.
+       
+2004-11-10  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
+       clip area.
+       
+2004-11-09  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs (CalcXPos): New helper method so we can determine
+       the proper place to start drawing vertical tabs.
+       * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
+       
+2004-11-09  Jackson Harper  <jackson@ximian.com>
+
+       * TabControl.cs: Calculate sizing and rects for left aligned tabs.
+       * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
+       and Bottom, left and right are illegal values for this and
+       multiline is enabled when the alignment is set to left or right.
+       (DrawTab): Each alignment block should draw the text itself now
+       because Left requires special love. Also add rendering for Left
+       aligned tabs.
+       
+2004-11-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       *  Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
+       does not destroy the windows, removes debugging messages
+
+2004-11-09  jba  <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs
+       (DrawButtonBase): Fix verticle text rect clipping in windows
+       (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
+       rendering and incorrect text rect clipping
+       (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
+       rendering and incorrect text rect clipping
+       
+2004-11-08  Jackson Harper  <jackson@ximian.com>
+
+       * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
+       bottom when they are bottom aligned so the bottoms of the tabs get
+       displayed.
+       * TabControl.cs (DropRow): Move rows up instead of down when the
+       tab control is bottom aligned.
+
+2004-11-08 13:59  pbartok
+
+       * XplatUIX11.cs:
+         - Added handling for various window styles
+         - Added handling for popup windows
+         - Added SetTopmost handling
+
+2004-11-08 13:55  pbartok
+
+       * XplatUIWin32.cs:
+         - Added argument to SetTopmost method
+         - Fixed broken ClientToScreen function
+
+2004-11-08 13:53  pbartok
+
+       * XplatUIStructs.cs:
+         - Added missing WS_EX styles
+
+2004-11-08 13:53  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs:
+         - Added argument to SetTopmost
+
+2004-11-08 13:52  pbartok
+
+       * X11Structs.cs:
+         - Added XSetWindowAttributes structure
+         - Improved XWindowAttributes structure
+         - Added SetWindowValuemask enum
+         - Added window creation arguments enum
+         - Added gravity enum
+         - Added Motif hints structure
+         - Added various Motif flags and enums
+         - Added PropertyMode enum for property functions
+
+2004-11-08 13:50  pbartok
+
+       * Form.cs:
+         - Fixed arguments for updated SetTopmost method
+
+2004-11-08 13:49  pbartok
+
+       * ToolTip.cs:
+         - Fixed arguments for updated SetTopmost function
+         - Fixed usage of PointToClient
+
+2004-11-08 13:44  pbartok
+
+       * MenuAPI.cs:
+         - Added Clipping of children and siblings
+
+2004-11-08 13:41  pbartok
+
+       * MainMenu.cs:
+         - Removed SetMenuBarWindow call. We do this in Form.cs
+
+2004-11-08 13:40  jackson
+
+       * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
+         scrolling jimmi in the correct location with bottom aligned tabs
+
+2004-11-08 13:36  pbartok
+
+       * ContainerControl.cs:
+         - Implemented BindingContext
+         - Implemented ParentForm
+
+2004-11-08 12:46  jackson
+
+       * TabControl.cs: Put bottom rendered tabs in the right location
+
+2004-11-08 07:15  jordi
+
+       * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
+         removes dead code
+
+2004-11-05 17:30  jackson
+
+       * TabControl.cs: When selected tabs are expanded make sure they
+         don't go beyond the edges of the tab control
+
+2004-11-05 14:57  jackson
+
+       * TabControl.cs: Reset show_slider so if the control is resized to
+         a size where it is no longer needed it's not displayed anymore
+
+2004-11-05 13:16  jackson
+
+       * TabControl.cs: Make tab pages non visible when added to the
+         control
+
+2004-11-05 12:42  jackson
+
+       * TabControl.cs: Implement SizeMode.FillToRight
+
+2004-11-05 12:16  jackson
+
+       * Control.cs: Do not call CreateHandle if the handle is already
+         created
+
+2004-11-05 11:46  jackson
+
+       * TabControl.cs: Remove superflous call to CalcTabRows
+
+2004-11-05 09:07  jackson
+
+       * XplatUIX11.cs: Update for Mono.Posix changes
+
+2004-11-05 07:00  ravindra
+
+       * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
+         scrolling.
+
+2004-11-04 22:47  jba
+
+       * ThemeWin32Classic.cs:
+         - Fix Button rendering for FlatStyle = Flat or Popup
+         - Fix RadioButton and CheckBox rendering when Appearance = Button
+           (normal and flatstyle).
+         - Correct outer rectangle color when drawing focus rectangle
+         - Adjust button bounds to be 1 px smaller when focused
+         - Make button not draw sunken 3d border when pushed (windows compat)
+         - Fix CPDrawBorder3D to not make bottom right hand corner rounded
+         - Offset the text in RadioButton and Checkbox when being rendered as
+         a button.
+         - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
+         radiobuttons
+         - Fixed disabled rendering for colored flatstyle radiobuttons (both)
+         - Fixed disabled text rendering for normally rendered radiobuttons
+
+2004-11-04 10:26  jackson
+
+       * TabControl.cs: Recalculate tab rows when resizing
+
+2004-11-04 07:47  jordi
+
+       * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
+         collection completion, drawing issues, missing features
+
+2004-11-04 05:03  ravindra
+
+       * ScrollBar.cs:
+               - We need to recalculate the Thumb area when
+               LargeChange/maximum/minimum values are changed.
+         - We set the 'pos' in UpdatePos() method to minimum, if it's less
+               than minimum. This is required to handle the case if large_change is
+               more than max, and use LargeChange property instead of large_change
+               variable.
+         - We return max+1 when large_change is more than max, like MS does.
+
+2004-11-04 04:29  ravindra
+
+       * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
+               - Changed default value signatures (prefixed all with ListView).
+               - Fixed/implemented layout LargeIcon, SmallIcon and List views for
+               ListView.
+         - Fixed calculations for ListViewItem and implemented Clone()
+         method.
+
+2004-11-04 04:26  ravindra
+
+       * Theme.cs, ThemeWin32Classic.cs:
+               - Changed default ListView values signatures (prefixed all with
+               ListView).
+         - Fixed default size values for VScrollBar and HScrollBar.
+               - Fixed DrawListViewItem method.
+
+2004-11-04 04:05  ravindra
+
+       * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
+
+2004-11-04 04:04  ravindra
+
+       * ImageList.cs: Implemented the missing overload for Draw method.
+
+2004-11-03 19:29  jackson
+
+       * TabControl.cs: Handle dropping rows on selection properly
+
+2004-11-03 11:59  jackson
+
+       * TabControl.cs: remove debug code
+
+2004-11-03 11:52  jackson
+
+       * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
+         the scrolly widgerywoo
+
+2004-11-02 13:52  jackson
+
+       * TabControl.cs: Resize the tab pages and tabs when the tab control
+         is resized
+
+2004-11-02 13:40  jackson
+
+       * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
+         selected tab to the bottom
+
+2004-11-02 13:39  jackson
+
+       * TabPage.cs: Store the tab pages row
+
+2004-11-02 12:33  jordi
+
+       * MenuItem.cs: fixes handle creation
+
+2004-11-02 11:42  jackson
+
+       * TabControl.cs: signature fix
+
+2004-11-02 08:56  jackson
+
+       * TabControl.cs: Calculate whether the tab is on an edge properly.
+         Remove top secret debugging code
+
+2004-11-01 19:57  jackson
+
+       * TabControl.cs: Add click handling, and proper sizing
+
+2004-11-01 19:47  jackson
+
+       * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
+         tab controls
+
+2004-11-01 19:39  jackson
+
+       * TabPage.cs: add internal property to store the bounds of a tab
+         page
+
+2004-10-30 04:23  ravindra
+
+       * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
+         values.
+
+2004-10-30 04:21  ravindra
+
+       * ListView.cs, ListViewItem.cs: Added support for scrolling and
+         fixed calculations.
+
+2004-10-30 03:06  pbartok
+
+       * XplatUIX11.cs:
+         - Removed extension of DllImported libs
+
+2004-10-29 09:55  jordi
+
+       * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
+         navigation, itemcollection completion, menu fixes
+
+2004-10-27 22:58  pbartok
+
+       * XplatUIX11.cs:
+         - Now throws a nice error message when no X display could be opened
+
+2004-10-26 13:51  jordi
+
+       * ListView.cs: removes warning
+
+2004-10-26 03:55  ravindra
+
+       * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
+         ThemeWin32Classic.cs: Some formatting for my last checkins.
+
+2004-10-26 03:36  ravindra
+
+       * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
+         control and default values.
+
+2004-10-26 03:35  ravindra
+
+       * Theme.cs: Added some default values for ListView control.
+
+2004-10-26 03:33  ravindra
+
+       * ToolBar.cs: ToolBar should use the user specified button size, if
+         there is any. Added a size_specified flag for the same.
+
+2004-10-26 03:33  ravindra
+
+       * ColumnHeader.cs: Added some internal members and calculations for
+         ColumnHeader.
+
+2004-10-26 03:32  ravindra
+
+       * ListViewItem.cs: Calculations for ListViewItem.
+
+2004-10-26 03:31  ravindra
+
+       * ListView.cs: Added some internal members and calculations for
+         ListView.
+
+2004-10-22 13:31  jordi
+
+       * MenuAPI.cs: speedup menus drawing
+
+2004-10-22 13:16  jackson
+
+       * XplatUIX11.cs: Make sure to update exposed regions when adding an
+         expose event
+
+2004-10-22 11:49  jackson
+
+       * Control.cs: oops
+
+2004-10-22 11:41  jackson
+
+       * Control.cs: Check to see if the window should have its background
+         repainted by X when drawing.
+
+2004-10-22 11:31  jackson
+
+       * XplatUIX11.cs: When invalidating areas only use XClearArea if
+         clear is true, this way we do not get flicker from X repainting the
+         background
+
+2004-10-22 11:28  jackson
+
+       * XEventQueue.cs: Queue properly
+
+2004-10-21 09:38  jackson
+
+       * XEventQueue.cs: Fix access modifier
+
+2004-10-21 09:36  jackson
+
+       * XEventQueue.cs: Don't loose messages
+
+2004-10-21 09:22  jackson
+
+       * XEventQueue.cs: Don't loose messages
+
+2004-10-20 04:15  jordi
+
+       * BootMode.cs: enum need it by SystemInfo
+
+2004-10-19 21:58  pbartok
+
+       * XplatUIWin32.cs:
+         - Small sanity check
+
+2004-10-19 21:56  pbartok
+
+       * Form.cs:
+         - Added private FormParentWindow class which acts as the container
+           for our form and as the non-client area where menus are drawn
+         - Added/Moved required tie-ins to Jordi's menus
+         - Fixed/Implemented the FormStartPosition functionality
+
+2004-10-19 21:52  pbartok
+
+       * Control.cs:
+         - Removed unneeded locals
+         - Added code to all size and location properties to understand and
+           deal with the parent container of Form
+
+2004-10-19 21:33  pbartok
+
+       * Application.cs:
+         - Fixed to deal with new Form subclasses for menus
+
+2004-10-19 17:48  jackson
+
+       * XEventQueue.cs: commit correct version of file
+
+2004-10-19 16:50  jackson
+
+       * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
+
+2004-10-19 16:15  jordi
+
+       * MenuAPI.cs: MenuBarCalcSize returns the height
+
+2004-10-19 08:31  pbartok
+
+       * Control.cs:
+         - Added missing call to PreProcessMessage before calling OnXXXKey
+         methods
+
+2004-10-19 00:04  ravindra
+
+       * ToolTip.cs: Fixed constructor.
+
+2004-10-18 09:31  jordi
+
+       * MenuAPI.cs: menuitems in menubars do not have shortcuts
+
+2004-10-18 09:26  jordi
+
+       * MenuItem.cs: fixes MenuItem class signature
+
+2004-10-18 08:56  jordi
+
+       * MenuAPI.cs: prevents windows from showing in the taskbar
+
+2004-10-18 00:28  ravindra
+
+       * ToolTip.cs: Suppressed a warning message.
+
+2004-10-18 00:27  ravindra
+
+       * Control.cs: Default value of visible property must be true.
+
+2004-10-17 23:19  pbartok
+
+       * ToolTip.cs:
+         - Complete implementation
+
+2004-10-17 23:19  pbartok
+
+       * XplatUIX11.cs:
+         - Added EnableWindow method
+         - Added SetModal stub
+         - Added generation of WM_ACTIVATE message (still needs testing)
+         - Added SetTopMost stub
+         - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
+
+2004-10-17 23:17  pbartok
+
+       * XplatUIWin32.cs:
+         - Removed VirtualKeys to XplatUIStructs
+         - Implemented SetTopMost method
+         - Implemented EnableWindow method
+         - Bugfix in ScreenToClient()
+         - Bugfixes in ClientToScreen()
+
+2004-10-17 22:51  pbartok
+
+       * XplatUIStructs.cs:
+         - Added WS_EX styles to WindowStyles enumeration
+
+2004-10-17 22:50  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs:
+         - Added method for enabling/disabling windows
+         - Added method for setting window modality
+         - Added method for setting topmost window
+
+2004-10-17 22:49  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Added ToolTip drawing code
+
+2004-10-17 22:49  pbartok
+
+       * Theme.cs:
+         - Added ToolTip abstracts
+
+2004-10-17 22:47  pbartok
+
+       * Form.cs:
+         - Fixed Form.ControlCollection to handle owner relations
+         - Added Owner/OwnedForms handling
+         - Implemented Z-Ordering for owned forms
+         - Removed unneeded private overload of ShowDialog
+         - Fixed ShowDialog, added the X11 incarnation of modal handling (or
+           so I hope)
+         - Fixed Close(), had wrong default
+         - Added firing of OnLoad event
+         - Added some commented out debug code for Ownership handling
+
+2004-10-17 22:16  pbartok
+
+       * Control.cs:
+         - Fixed/implemented flat list of controls
+
+2004-10-17 22:14  pbartok
+
+       * Application.cs:
+         - Added code to simulate modal dialogs on Win32
+
+2004-10-17 16:11  jordi
+
+       * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
+         mouse event
+
+2004-10-17 13:39  jordi
+
+       * MenuAPI.cs: menu drawing fixes
+
+2004-10-15 09:10  ravindra
+
+       * StructFormat.cs: General Enum.
+
+2004-10-15 09:09  ravindra
+
+       * SizeGripStyle.cs: Enum for Form.
+
+2004-10-15 09:08  ravindra
+
+       * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
+         in Theme for ListView.
+
+2004-10-15 09:06  ravindra
+
+       * ColumnHeader.cs: Flushing some formatting changes.
+
+2004-10-15 09:05  ravindra
+
+       * ListViewItem.cs: Implemented GetBounds method and fixed coding
+         style.
+
+2004-10-15 09:03  ravindra
+
+       * ListView.cs: Implemented Paint method and fixed coding style.
+
+2004-10-15 07:34  jordi
+
+       * MenuAPI.cs: fix for X11
+
+2004-10-15 07:32  ravindra
+
+       * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
+               - Renamed Paint() method to Draw() for clarity. Also, moved
+               DrawImage() to OnPaint().
+
+2004-10-15 07:25  ravindra
+
+       * CheckBox.cs, RadioButton.cs:
+               - Removed Redraw (), we get it from ButtonBase.
+               - Implemented Paint (), to do class specific painting.
+
+2004-10-15 07:16  ravindra
+
+       * ButtonBase.cs:
+               - Redraw () is not virtual now.
+               - Added an internal virtual method Paint (), so that
+               derived classes can do their painting on their own.
+               - Modified OnPaint () to call Paint ().
+
+2004-10-15 06:43  jordi
+
+       * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
+         MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
+
+2004-10-15 00:30  ravindra
+
+       * MessageBox.cs:
+               - MessageBox on windows does not have min/max buttons.
+               This change in CreateParams fixes this on Windows. We
+               still need to implement this windowstyle behavior in
+               our X11 driver.
+
+2004-10-14 05:14  ravindra
+
+       * ToolBar.cs:
+               - Changed Redraw () to do a Refresh () always.
+               - Fixed the MouseMove event handling when mouse is pressed,
+               ie drag event handling.
+               - Replaced the usage of ToolBarButton.Pressed property to
+               ToolBarButton.pressed internal variable.
+
+2004-10-14 05:10  ravindra
+
+       * ToolBarButton.cs:
+               - Added an internal member 'inside' to handle mouse move
+               with mouse pressed ie mouse drag event.
+               - Changed 'Pressed' property to return true only when
+               'inside' and 'pressed' are both true.
+               - Some coding style love.
+
+2004-10-14 00:17  ravindra
+
+       * Form.cs: Fixed class signature. ShowDialog (Control) is not a
+         public method.
+
+2004-10-14 00:15  ravindra
+
+       * ButtonBase.cs: Redraw () related improvements.
+
+2004-10-14 00:14  ravindra
+
+       * MessageBox.cs: Moved InitFormSize () out of Paint method and
+         removed unnecessary calls to Button.Show () method.
+
+2004-10-13 17:50  pbartok
+
+       * XplatUIX11.cs:
+         - Formatting fix
+         - Removed destroying of window until we solve the problem of X
+           destroying the window before us on shutdown
+
+2004-10-13 16:32  pbartok
+
+       * ButtonBase.cs:
+         - Now Redraws on MouseUp for FlatStyle Flat and Popup
+
+2004-10-13 14:18  pbartok
+
+       * XplatUIX11.cs:
+         - Added code to destroy the X window
+
+2004-10-13 14:18  pbartok
+
+       * XplatUIWin32.cs:
+         - Added code to destroy a window
+
+2004-10-13 14:12  pbartok
+
+       * ButtonBase.cs:
+         - Added the Redraw on Resize that got dropped in the last rev
+
+2004-10-13 09:06  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Path from John BouAntoun:
+           * Fix check rendering (centre correctly for normal style, offset
+             correctly for FlatStyle).
+           * Fix border color usage (use backcolor) for FlatStyle.Popup
+           * Use checkbox.Capture instead of checkbox.is_pressed when
+             rendering flatstyle states.
+
+2004-10-12 21:48  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Removed all occurences of SystemColors and replaced them with the
+           matching theme color
+
+2004-10-12 21:41  pbartok
+
+       * ThemeWin32Classic.cs:
+         - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
+           him using the function for flatstyle drawing
+         - Changed functions to use the new version of CPDrawBorder3D
+
+2004-10-12 21:15  pbartok
+
+       * ControlPaint.cs:
+         - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
+           match MS documentation. They need to return defined colors if the
+           passed color matches the configured control color. Thanks to John
+           BouAntoun for pointing this out.
+
+2004-10-12 20:57  pbartok
+
+       * Control.cs:
+         - Fix from John BouAntoun: Raise ForeColorChanged event when text
+           color is changed
+
+2004-10-12 20:46  pbartok
+
+       * CheckBox.cs:
+         - Fix from John BouAntoun: Now properly sets the Appearance property
+
+2004-10-12 20:45  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Fixes from John BouAntoun: now handles forecolors and backcolors
+           for flatstyle rendered controls much better; It also fixes normal
+           checkbox rendering when pushed or disabled.
+
+2004-10-08 02:50  jordi
+
+       * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
+         work
+
+2004-10-07 08:56  jordi
+
+       * ThemeWin32Classic.cs: Removes deletion of cached brushes
+
+2004-10-06 03:59  jordi
+
+       * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
+         XplatUIWin32.cs: removes warnings from compilation
+
+2004-10-05 12:23  jackson
+
+       * RadioButton.cs: Fix ctor
+
+2004-10-05 11:10  pbartok
+
+       * MessageBox.cs:
+         - Partial implementation by Benjamin Dasnois
+
+2004-10-05 10:15  jackson
+
+       * ThemeWin32Classic.cs: Improve rendering of the radio button patch
+         by John BouAntoun
+
+2004-10-05 03:07  ravindra
+
+       * ToolBar.cs:
+               - Removed a private method, Draw ().
+               - Fixed the ButtonDropDown event handling.
+               - Fixed MouseMove event handling.
+
+2004-10-05 03:04  ravindra
+
+       * ThemeWin32Classic.cs:
+               - Added DrawListView method and ListViewDefaultSize property.
+               - Changed ControlPaint method calls to CPDrawXXX wherever possible.
+               - Changed DOS style CRLF to Unix format (dos2unix).
+
+2004-10-05 03:03  ravindra
+
+       * Theme.cs:
+               - Added DrawListView method and ListViewDefaultSize property.
+
+2004-10-05 02:42  ravindra
+
+       * ToolBarButton.cs: Added an internal member dd_pressed to handle
+         clicks on DropDown arrow.
+
+2004-10-04 22:56  jackson
+
+       * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
+         ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
+         Control handle the buffers, derived classes should not have to
+         CreateBuffers themselves.
+
+2004-10-04 21:20  jackson
+
+       * StatusBar.cs: The control handles resizing the buffers now.
+
+2004-10-04 21:18  jackson
+
+       * Control.cs: When resizing the buffers should be invalidated. This
+         should be handled in Control not in derived classes.
+
+2004-10-04 14:45  jackson
+
+       * TabPage.cs: oops
+
+2004-10-04 02:14  pbartok
+
+       * LeftRightAlignment.cs:
+         - Initial check-in
+
+2004-10-04 01:09  jordi
+
+       * ThemeWin32Classic.cs: fixes right button position causing right
+         button not showing on horizontal scrollbars
+
+2004-10-02 13:12  pbartok
+
+       * XplatUIX11.cs:
+         - Simplified the Invalidate method by using an X call instead of
+           generating the expose ourselves
+         - Added an expose when the window background is changed
+         - Implemented ClientToScreen method
+
+2004-10-02 13:08  pbartok
+
+       * XplatUIWin32.cs:
+         - Added Win32EnableWindow method (test for implementing modal
+         dialogs)
+         - Added ClientToScreen method and imports
+
+2004-10-02 13:07  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs:
+         - Added ClientToScreen coordinate translation method
+
+2004-10-02 13:06  pbartok
+
+       * KeyPressEventArgs.cs:
+         - Fixed access level for constructor
+
+2004-10-02 13:06  pbartok
+
+       * NativeWindow.cs:
+         - Changed access level for the window_collection hash table
+
+2004-10-02 13:05  pbartok
+
+       * Form.cs:
+         - Added KeyPreview property
+         - Added Menu property (still incomplete, pending Jordi's menu work)
+         - Implemented ProcessCmdKey
+         - Implemented ProcessDialogKey
+         - Implemented ProcessKeyPreview
+
+2004-10-02 13:02  pbartok
+
+       * Control.cs:
+         - Added private method to get the Control object from the window
+         handle
+         - Implemented ContextMenu property
+         - Implemented PointToScreen
+         - Implemented PreProcessMessage
+         - Implemented IsInputChar
+         - Implemented IsInputKey
+         - Implemented ProcessCmdKey
+         - Completed ProcessKeyEventArgs
+         - Fixed message loop to call the proper chain of functions on key
+         events
+         - Implemented ProcessDialogChar
+         - Implemented ProcessDialogKey
+         - Implemented ProcessKeyMessage
+         - Implemented ProcessKeyPreview
+         - Added RaiseDragEvent stub (MS internal method)
+         - Added RaiseKeyEvent stub (MS internal method)
+         - Added RaiseMouseEvent stub (MS Internal method)
+         - Added RaisePaintEvent stub (MS Internal method)
+         - Added ResetMouseEventArgs stub (MS Internal method)
+         - Implemented RtlTranslateAlignment
+         - Implemented RtlTranslateContent
+         - Implemented RtlTranslateHorizontal
+         - Implemented RtlTranslateLeftRight
+         - Added generation of KeyPress event
+
+2004-10-02 05:57  ravindra
+
+       * ListViewItem.cs: Added attributes.
+
+2004-10-02 05:32  ravindra
+
+       * ListView.cs: Added attributes.
+
+2004-10-01 11:53  jackson
+
+       * Form.cs: Implement the Close method so work on MessageBox can
+         continue.
+
+2004-09-30 14:06  pbartok
+
+       * XplatUIX11.cs:
+         - Bug fixes
+
+2004-09-30 11:34  jackson
+
+       * RadioButton.cs: Fix typo. Patch by John BouAntoun.
+
+2004-09-30 07:26  ravindra
+
+       * ListViewItemConverter.cs: Converter for ListViewItem.
+
+2004-09-30 07:26  ravindra
+
+       * SortOrder.cs: Enum for ListView control.
+
+2004-09-30 07:25  ravindra
+
+       * ColumnHeader.cs: Supporting class for ListView control.
+
+2004-09-30 07:24  ravindra
+
+       * ListView.cs, ListViewItem.cs: Initial implementation.
+
+2004-09-30 07:20  ravindra
+
+       * ItemActivation.cs: Enum for ListView Control.
+
+2004-09-29 20:29  pbartok
+
+       * XplatUIX11.cs:
+         - Added lookup of pixel value for background color; tries to get a
+           color 'close' to the requested color, it avoids having to create a
+           colormap.  Depending on the display this could mean the used color
+           is slightly off the desired color. Might have to change it to a more
+           resource intensive colormap approach, but it will work as a
+         workaround to avoid red screens.
+
+2004-09-29 14:27  jackson
+
+       * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
+
+2004-09-28 12:44  pbartok
+
+       * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
+         HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
+         ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
+         Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
+         TrackBar.cs, VScrollBar.cs:
+         - Streamlined Theme interfaces:
+           * Each DrawXXX method for a control now is passed the object for
+             the control to be drawn in order to allow accessing any state the
+             theme might require
+
+           * ControlPaint methods for the theme now have a CP prefix to avoid
+             name clashes with the Draw methods for controls
+
+           * Every control now retrieves it's DefaultSize from the current
+           theme
+
+2004-09-28 12:17  jackson
+
+       * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
+         drawing
+
+2004-09-24 14:57  jackson
+
+       * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
+         Gives us a nice little performance boost.
+
+2004-09-24 12:02  jackson
+
+       * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
+         TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
+         Control and supporting classes. Initial checkin
+
+2004-09-23 13:08  jackson
+
+       * Form.cs: Temp build fixage
+
+2004-09-23 01:39  ravindra
+
+       * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
+         ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
+         ItemDragEventArgs.cs, ItemDragEventHandler.cs,
+         LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
+         EventHandlers needed by ListView Control.
+
+2004-09-22 14:12  pbartok
+
+       * ScrollableControl.cs:
+         - Implemented DockPadding property
+         - Implemented AutoScroll property
+         - Implemented AutoScrollMargin property
+         - Implemented AutoScrollMinSize property
+         - Implemented AutoScrollPosition property
+         - Implemented DisplayRectangle property (still incomplete)
+         - Implemented CreateParams property
+         - Implemented HScroll property
+         - Implemented VScroll property
+         - Implemented OnVisibleChanged property
+
+2004-09-22 14:09  pbartok
+
+       * Form.cs:
+         - Added Form.ControllCollection class
+         - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
+           RemoveOwnedForm (still incomplete, missing on-top and common
+           minimize/maximize behaviour)
+         - Added StartPosition property (still incomplete, does not use when
+           creating the form)
+         - Added ShowDialog() methods (still incomplete, missing forcing the
+           dialog modal)
+
+2004-09-22 14:05  pbartok
+
+       * Application.cs:
+         - Added message loop for modal dialogs
+
+2004-09-22 14:02  pbartok
+
+       * GroupBox.cs:
+         - Fixed wrong types for events
+
+2004-09-22 14:00  pbartok
+
+       * Shortcut.cs, FormWindowState.cs:
+         - Fixed wrong values
+
+2004-09-22 12:01  jackson
+
+       * Control.cs: Text is never null
+
+2004-09-20 22:14  pbartok
+
+       * XplatUIWin32.cs:
+         - Fixed accessibility level for Idle handler
+
+2004-09-20 18:54  jackson
+
+       * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: New message loop that uses poll so we don't get a
+         busy loop
+
+2004-09-17 10:43  pbartok
+
+       * ScrollBar.cs:
+         - Fixed behaviour of arrow buttons. Now properly behaves like
+           Buttons (and like Microsoft's scrollbar arrow buttons)
+
+2004-09-17 10:14  pbartok
+
+       * ScrollBar.cs:
+         - Added missing release of keyboard/mouse capture
+
+2004-09-17 06:18  jordi
+
+       * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
+         Theme.cs: Very early menu support
+
+2004-09-16 17:45  pbartok
+
+       * XplatUIWin32.cs:
+         - Fixed sending a window to the front
+         - Added overload for SetWindowPos to avoid casting
+
+2004-09-16 17:44  pbartok
+
+       * Control.cs:
+         - Added SendToBack and BringToFront methods
+
+2004-09-16 07:00  ravindra
+
+       * Copyright: Added Novell URL.
+
+2004-09-16 07:00  ravindra
+
+       * ToolBar.cs: Invalidate should be done before redrawing.
+
+2004-09-15 21:19  ravindra
+
+       * ColumnHeaderStyle.cs: Enum for ListView Control.
+
+2004-09-15 21:18  ravindra
+
+       * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
+         ListView Control.
+
+2004-09-13 18:26  jackson
+
+       * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
+         properly
+
+2004-09-13 18:13  jackson
+
+       * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
+         a second thread and post messages into the main threads message
+         queue. This makes timing much more consistent. Both win2K and XP
+         have a minimum timer value of 15 milliseconds, so we now do this
+         too.
+
+2004-09-13 15:18  pbartok
+
+       * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs:
+         - Added Z-Ordering methods
+
+2004-09-13 10:56  pbartok
+
+       * Form.cs:
+         - Fixed #region names
+         - Moved properties and methods into their proper #regions
+
+2004-09-13 10:51  pbartok
+
+       * Form.cs:
+         - Added Accept and CancelButton properties
+         - Added ProcessDialogKey() method
+
+2004-09-13 08:18  pbartok
+
+       * IWindowTarget.cs:
+         - Initial check-in
+
+2004-09-10 21:50  pbartok
+
+       * Control.cs:
+         - Added DoDragDrop() [incomplete]
+         - Properly implemented 'Visible' handling
+         - Added SetVisibleCore()
+         - Implemented FindChildAtPoint()
+         - Implemented GetContainerControl()
+         - Implemented Hide()
+
+2004-09-10 19:28  pbartok
+
+       * Control.cs:
+         - Moved methods into their appropriate #regions
+         - Reordered methods within regions alphabetically
+
+2004-09-10 18:57  pbartok
+
+       * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
+         - Added method to retrieve text from window
+
+2004-09-10 18:56  pbartok
+
+       * Control.cs:
+         - Moved some internal functions into the internal region
+         - Implemented FontHeight
+         - Implemented RenderRightToLeft
+         - Implemented ResizeRedraw
+         - Implemented ShowFocusCues
+         - Implemented ShowKeyboardCues
+         - Implemented FromChildHandle
+         - Implemented FromHandle
+         - Implemented IsMnemonic
+         - Implemented ReflectMessage
+         - All public and protected Static Methods are now complete
+
+2004-09-10 16:54  pbartok
+
+       * Control.cs:
+         - Implemented remaining missing public instance properties
+         - Alphabetized some out of order properties
+
+2004-09-10 05:51  ravindra
+
+       * PictureBox.cs: Added a check for null image.
+
+2004-09-10 00:59  jordi
+
+       * GroupBox.cs: remove cvs tag
+
+2004-09-09 05:25  ravindra
+
+       * ToolBar.cs: Make redraw accessible from ToolBarButton.
+
+2004-09-09 05:23  ravindra
+
+       * ToolBarButton.cs: Changes in ToolBarButton need to make it's
+         parent redraw.
+
+2004-09-09 02:28  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Improve disabled string look
+
+2004-09-09 01:15  jordi
+
+       * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
+         args and handler
+
+2004-09-08 23:56  ravindra
+
+       * ItemBoundsPortion.cs: It's enum, not a class!
+
+2004-09-08 23:47  ravindra
+
+       * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
+         Enums for Form.
+
+2004-09-08 21:13  ravindra
+
+       * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
+         ListView control.
+
+2004-09-08 21:03  ravindra
+
+       * ThemeWin32Classic.cs: PictureBox would not draw a null image to
+         avoid crash.
+
+2004-09-08 21:01  ravindra
+
+       * ScrollableControl.cs: Removed unreachable code.
+
+2004-09-08 06:45  jordi
+
+       * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
+
+2004-09-08 01:00  jackson
+
+       * XplatUIX11.cs: Only run the timers when updating the message
+         queue. This effectively gives X messages a higher priority then
+         timer messages. Timers still need love though
+
+2004-09-07 14:01  jackson
+
+       * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
+         this for us and the handle is no longer valid.
+
+2004-09-07 13:59  jackson
+
+       * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
+         loop that manages to not crash. TODO: Add poll and cleanup timers
+
+2004-09-07 11:12  jordi
+
+       * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
+
+2004-09-07 03:40  jordi
+
+       * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
+         fixes, methods, multiple links
+
+2004-09-06 06:55  jordi
+
+       * Control.cs: Caches ClientRectangle rectangle value
+
+2004-09-05 02:03  jordi
+
+       * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
+         certain situations
+
+2004-09-04 11:10  jordi
+
+       * Label.cs: Refresh when font changed
+
+2004-09-02 16:24  pbartok
+
+       * Control.cs:
+         - Added sanity check to creation of double buffer bitmap
+
+2004-09-02 16:24  pbartok
+
+       * ButtonBase.cs:
+         - Fixed selection of text color
+         - Fixed handling of resize event; now properly recreates double
+           buffering bitmap
+         - Added missing assignment of TextAlignment
+         - Added proper default for TextAlignment
+
+2004-09-02 14:26  pbartok
+
+       * RadioButton.cs:
+         - Added missing RadioButton.RadioButtonAccessibleObject class
+
+2004-09-02 14:26  pbartok
+
+       * Control.cs:
+         - Added missing Control.ControlAccessibleObject class
+         - Started to implement Select()ion mechanisms, still very incomplete
+
+2004-09-02 14:25  pbartok
+
+       * AccessibleObject.cs:
+         - Added missing methods
+
+2004-09-02 14:23  pbartok
+
+       * AccessibleNavigation.cs, AccessibleSelection.cs:
+         - Initial check-in
+
+2004-09-02 10:32  jordi
+
+       * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
+         pool for pens, brushes, and hatchbruses
+
+2004-09-01 15:30  jackson
+
+       * StatusBar.cs: Fix typo
+
+2004-09-01 14:44  pbartok
+
+       * RadioButton.cs:
+         - Fixed state
+
+2004-09-01 14:39  pbartok
+
+       * Button.cs, RadioButton.cs:
+         - Functional initial check-in
+
+2004-09-01 14:01  pbartok
+
+       * CheckBox.cs:
+         - Added missing default
+         - Added missing region mark
+
+2004-09-01 09:10  jordi
+
+       * Label.cs: fixes method signatures, new methods, events, fixes
+         autosize
+
+2004-09-01 07:19  jordi
+
+       * Control.cs: Init string variables with an empty object
+
+2004-09-01 04:20  jordi
+
+       * Control.cs: fires OnFontChanged event
+
+2004-08-31 20:07  pbartok
+
+       * ButtonBase.cs:
+         - Enabled display of strings
+
+2004-08-31 20:05  pbartok
+
+       * Form.cs:
+         - Added (partial) implementation of DialogResult; rest needs to be
+           implemented when the modal loop code is done
+
+2004-08-31 19:55  pbartok
+
+       * CheckBox.cs:
+         - Fixed to match the removal of the needs_redraw concept
+
+2004-08-31 19:55  pbartok
+
+       * ButtonBase.cs:
+         - Removed the rather odd split between 'needs redraw' and redrawing
+         - Now handles the events that require regeneration (ambient
+           properties and size)
+
+2004-08-31 19:41  pbartok
+
+       * Control.cs:
+         - Added firing of BackColorChanged event
+         - Added TopLevelControl property
+         - Fixed handling of WM_ERASEBKGRND message
+
+2004-08-31 12:49  pbartok
+
+       * ButtonBase.cs:
+         - Removed debug
+         - Minor fixes
+
+2004-08-31 12:48  pbartok
+
+       * CheckBox.cs:
+         - Finished (famous last words)
+
+2004-08-31 04:35  jordi
+
+       * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
+         scrolling bugs, adds new methods
+
+2004-08-30 14:42  pbartok
+
+       * CheckBox.cs:
+         - Implemented CheckBox drawing code
+
+2004-08-30 14:42  pbartok
+
+       * ButtonBase.cs:
+         - Made Redraw() and CheckRedraw() virtual
+         - Improved mouse up/down/move logic to properly track buttons
+
+2004-08-30 09:44  pbartok
+
+       * CheckBox.cs:
+         - Updated to fix broken build. Not complete yet.
+
+2004-08-30 09:28  pbartok
+
+       * CheckState.cs:
+         - Initial checkin
+
+2004-08-30 09:17  pbartok
+
+       * Appearance.cs:
+         - Initial check-in
+
+2004-08-27 16:12  ravindra
+
+       * ToolBarButton.cs: Added TypeConverter attribute.
+
+2004-08-27 16:07  ravindra
+
+       * ImageIndexConverter.cs: Implemented.
+
+2004-08-27 14:17  pbartok
+
+       * Control.cs:
+         - Removed unneeded stack vars
+         - First attempt to fix sizing issues when layout is suspended
+
+2004-08-25 15:35  jordi
+
+       * ScrollBar.cs: more fixes to scrollbar
+
+2004-08-25 14:04  ravindra
+
+       * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
+         Added the missing divider code and grip for ToolBar Control.
+
+2004-08-25 13:20  pbartok
+
+       * Control.cs:
+         - Control now properly passes the ambient background color to child
+           controls
+
+2004-08-25 13:20  jordi
+
+       * ScrollBar.cs: small bug fix regarding bar position
+
+2004-08-25 12:33  pbartok
+
+       * Timer.cs:
+         - Now only calls SetTimer or KillTimer if the enabled state has
+         changed
+
+2004-08-25 12:33  pbartok
+
+       * XplatUIWin32.cs:
+         - Fixed timer handling, now seems to work
+         - Improved error message for window creation
+
+2004-08-25 12:32  pbartok
+
+       * Control.cs:
+         - Fixed generation of MouseUp message
+
+2004-08-25 12:29  jordi
+
+       * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
+         and fixes for progressbar
+
+2004-08-24 18:43  ravindra
+
+       * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
+         in ToolBar control.
+
+2004-08-24 17:15  pbartok
+
+       * Panel.cs:
+         - Added #region
+         - Added missing events
+         - Alphabetized
+
+2004-08-24 17:14  pbartok
+
+       * StatusBar.cs, PictureBox.cs:
+         - Now uses Control's CreateParams
+
+2004-08-24 16:36  pbartok
+
+       * XplatUIX11.cs:
+         - Fixed background color handling
+         - Fixed sending of enter/leave events on a grab
+
+2004-08-24 16:35  pbartok
+
+       * X11Structs.cs:
+         - Refined definitions for CrossingEvent
+
+2004-08-24 12:37  jordi
+
+       * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
+         formmating, methods signature, and adds missing events
+
+2004-08-24 12:24  jordi
+
+       * Control.cs: fire OnEnabledChanged event
+
+2004-08-24 11:17  pbartok
+
+       * XplatUIWin32.cs:
+         - Implemented SetTimer() and KillTimer()
+
+2004-08-24 11:16  pbartok
+
+       * XplatUIX11.cs:
+         - Now uses Remove instead of Add to kill the timer
+
+2004-08-24 10:16  jackson
+
+       * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
+         picture boxes in the theme now. Draw picture box borders and obey
+         sizing modes
+
+2004-08-24 05:49  jackson
+
+       * Timer.cs: Remove top secret debugging code
+
+2004-08-24 05:34  jackson
+
+       * PictureBox.cs: Temp hack to make picture boxes draw their full
+         image
+
+2004-08-24 05:29  jackson
+
+       * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: Move timers to the driver level. On X they are
+         queued by the driver and checked on idle.
+
+2004-08-24 01:07  jackson
+
+       * XplatUIX11.cs: Use a queue for async messages instead of passing
+         them as ClientMessages since that was totally broken. Also simply
+         check for events and return an idle message if none are found. This
+         gives us an idle handler, and prevents deadlocking when no messages
+         are in the queue.
+
+2004-08-23 18:19  ravindra
+
+       * XplatUIWin32.cs: Removed the unwanted destructor.
+
+2004-08-23 17:27  pbartok
+
+       * ButtonBase.cs:
+         - Finishing touches. Works now, just needs some optimizations.
+
+2004-08-23 16:53  jordi
+
+       * ScrollBar.cs: small fix
+
+2004-08-23 16:45  pbartok
+
+       * Application.cs:
+         - Removed debug output
+         - Simplifications
+
+2004-08-23 16:43  jordi
+
+       * ScrollBar.cs: [no log message]
+
+2004-08-23 16:10  pbartok
+
+       * Form.cs:
+         - Fixed handling of WM_CLOSE message
+         - Removed debug output
+
+2004-08-23 16:09  pbartok
+
+       * Application.cs:
+         - Added handling of Idle event
+         - Added handling of form closing
+         - Fixed reporting of MessageLoop property
+         - Removed some unneeded code, should provide a bit of a speedup
+
+2004-08-23 15:22  pbartok
+
+       * Control.cs:
+         - Added InitLayout() method
+         - Added code to properly perform layout when Anchor or Dock property
+           is changed
+         - Changed 'interpretation' of ResumeLayout. MS seems to have a
+           LAMESPEC, tried to do it in a way that makes sense
+
+2004-08-23 14:10  jordi
+
+       * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
+         properties and methods
+
+2004-08-23 13:55  pbartok
+
+       * Control.cs:
+         - Properly fixed Jordi's last fix
+         - Now uses Cursor's Position property instead of calling XplatUI
+         directly
+
+2004-08-23 13:44  jordi
+
+       * PaintEventHandler.cs: Adding missing attribute
+
+2004-08-23 13:39  pbartok
+
+       * Cursor.cs:
+         - Implemented Position property
+
+2004-08-23 13:39  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
+         - Added method to move mouse cursor
+
+2004-08-23 13:39  pbartok
+
+       * XplatUIX11.cs:
+         - Fixed setting of background color
+         - Added method to move mouse cursor
+
+2004-08-23 13:16  jordi
+
+       * Control.cs: avoids null exception
+
+2004-08-22 17:46  jackson
+
+       * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
+         PictureBox
+
+2004-08-22 17:40  jackson
+
+       * XplatUIX11.cs: Add some missing locks
+
+2004-08-22 15:10  pbartok
+
+       * Control.cs, Form.cs:
+         - Removed OverlappedWindow style from Control, instead it's default
+           now is child
+         - Made form windows OverlappedWindow by default
+
+2004-08-22 13:34  jackson
+
+       * ScrollBar.cs: Update the position through the Value property so
+         the OnValueChanged event is raised.
+
+2004-08-22 12:04  pbartok
+
+       * SWF.csproj:
+         - Added Cursor.cs and UserControl.cs
+
+2004-08-22 12:03  pbartok
+
+       * Cursor.cs:
+         - Started implementation, not usable yet
+
+2004-08-22 12:00  pbartok
+
+       * UserControl.cs:
+         - Implemented UserControl (complete)
+
+2004-08-21 19:20  ravindra
+
+       * ToolBar.cs: Correcting the formatting mess of VS.NET.
+
+2004-08-21 18:49  ravindra
+
+       * ToolBar.cs: Probably this completes the missing attributes in
+         toolbar control.
+
+2004-08-21 18:03  ravindra
+
+       * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
+         Fixed toolbar control signatures.
+
+2004-08-21 16:32  pbartok
+
+       * LinkLabel.cs:
+         - Signature Fixes
+
+2004-08-21 16:30  pbartok
+
+       * Label.cs:
+         - Signature fixes
+
+2004-08-21 16:19  pbartok
+
+       * Control.cs, Label.cs:
+         - Signature fixes
+
+2004-08-21 15:57  pbartok
+
+       * ButtonBase.cs:
+         - Added loads of debug output for development
+         - Fixed typo in method name
+
+2004-08-21 15:52  pbartok
+
+       * ToolBarButtonClickEventArgs.cs:
+         - Added missing base class
+
+2004-08-21 14:53  pbartok
+
+       * Control.cs:
+         - Updated to match new GrabWindow signature
+
+2004-08-21 14:51  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Added method to get default display size
+
+2004-08-21 14:23  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Added method to query current grab state
+         - Added argument to allow confining a grab to a window
+
+2004-08-21 14:22  pbartok
+
+       * Keys.cs:
+         - Added [Flags] attribute so that modifiers can be used in bitwise
+         ops
+
+2004-08-21 14:21  pbartok
+
+       * TrackBar.cs, ScrollBar.cs:
+         - Replaced direct XplatUI calls with their Control counterpart
+
+2004-08-21 13:32  pbartok
+
+       * Control.cs:
+         - Implemented Created property
+
+2004-08-21 13:28  pbartok
+
+       * Control.cs:
+         - Implemented ContainsFocus
+
+2004-08-21 13:26  pbartok
+
+       * Control.cs:
+         - Implemented CausesValidation
+
+2004-08-21 13:21  pbartok
+
+       * Control.cs:
+         - Implemented CanFocus
+         - Implemented CanSelect
+         - Implemented Capture
+
+2004-08-21 12:35  pbartok
+
+       * XplatUIWin32.cs:
+         - Fixed bug with Async message handling
+         - Implemented getting the ModifierKeys
+
+2004-08-21 12:32  jackson
+
+       * AsyncMethodResult.cs: Make sure we have the mutex before we
+         release it. Fixes BeginInvoke on windows
+
+2004-08-21 11:31  pbartok
+
+       * XplatUIWin32.cs, XplatUIX11.cs:
+         - Drivers now return proper mouse state
+
+2004-08-21 10:54  jackson
+
+       * Control.cs: Implement EndInvoke
+
+2004-08-21 10:48  jackson
+
+       * Timer.cs: Remove unneeded finalizer
+
+2004-08-20 19:52  ravindra
+
+       * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
+         in mouse event handling in the ToolBar control.
+
+2004-08-20 19:50  ravindra
+
+       * ImageList.cs: Changed draw method to use the arguments passed in
+         to draw the image.
+
+2004-08-20 18:58  pbartok
+
+       * XplatUIStructs.cs:
+         - Added private message for async communication
+
+2004-08-20 17:38  ravindra
+
+       * Control.cs: Made RightToLeft property virtual and removed a
+         Console.WriteLine.
+
+2004-08-20 14:39  jordi
+
+       * ThemeGtk.cs: use style_attach
+
+2004-08-20 14:39  pbartok
+
+       * XplatUIWin32.cs:
+         - Added jackson's Async code from X11 to Win32
+
+2004-08-20 14:09  pbartok
+
+       * SWF.csproj:
+         - Added all new files
+
+2004-08-20 14:09  pbartok
+
+       * Control.cs:
+         - Added call to set window background color
+
+2004-08-20 14:03  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
+         - Added method for setting the window background
+
+2004-08-20 14:02  pbartok
+
+       * XplatUIWin32.cs:
+         - Added method for setting the background color
+         - Added handling for erasing the window background
+
+2004-08-20 13:45  jordi
+
+       * TrackBar.cs: fixes timer, new properties and methods
+
+2004-08-20 13:34  jackson
+
+       * ScrollBar.cs: Use the SWF timer so callbacks are run in the
+         correct thread
+
+2004-08-20 13:22  jackson
+
+       * Timer.cs: Timer Tick events are now handed through Controls Async
+         mechanism so the callbacks are executed in the same thread as X
+
+2004-08-20 13:19  jackson
+
+       * XplatUIDriver.cs: Expose functionality to send async messages
+         through the driver
+
+2004-08-20 13:18  jackson
+
+       * Control.cs: Implement Begininvoke
+
+2004-08-20 13:14  jackson
+
+       * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
+         messages through the driver
+
+2004-08-20 13:12  jackson
+
+       * XplatUIX11.cs: Lock before all X operations. Also added Async
+         method functionality through XSendEvent
+
+2004-08-20 13:11  jackson
+
+       * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
+         This will screw up on 64 bit systems)
+
+2004-08-20 13:10  jackson
+
+       * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
+         Async messages through X/Win32
+
+2004-08-19 19:39  pbartok
+
+       * XplatUIX11.cs:
+         - Updated code to match new HandleData.DeviceContext type
+
+2004-08-19 19:38  pbartok
+
+       * HandleData.cs:
+         - Made DeviceContext a generic object to allow usage from various
+         drivers
+         - Added support for queueing Windows messages
+
+2004-08-19 19:37  pbartok
+
+       * XplatUIWin32.cs:
+         - Added generation of MouseEnter, MouseLeave and MouseHover events
+         - Added cleanup on EndPaint
+
+2004-08-19 19:17  pbartok
+
+       * Control.cs:
+         - Added handling of WM_MOUSEHOVER
+         - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
+         code
+
+2004-08-19 18:55  jordi
+
+       * ThemeGtk.cs: fixes button order
+
+2004-08-19 18:12  jordi
+
+       * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
+
+2004-08-19 17:09  pbartok
+
+       * Control.cs:
+         - Added Right property
+         - Added RightToLeft property
+
+2004-08-19 16:27  jordi
+
+       * ThemeGtk.cs: experimental GTK theme support
+
+2004-08-19 16:26  jordi
+
+       * ITheme.cs, Theme.cs: move themes from an interface to a class
+
+2004-08-19 16:25  jordi
+
+       * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
+         theme enhancaments
+
+2004-08-19 16:04  pbartok
+
+       * XplatUIX11.cs:
+         - Added colormap basics
+         - Added a way to re-initialize with a different display handle
+         - Fixed setting of the window background color
+         - Added various X11 imports related to colors and colormaps
+
+2004-08-19 15:51  pbartok
+
+       * X11Structs.cs:
+         - Removed packing hints (Paolo suggested this a while back)
+         - fixed colormap type
+         - Added default Atom types
+         - Added Screen and color structs and enums
+
+2004-08-19 15:39  pbartok
+
+       * ImageList.cs:
+         - Added missing Draw() method
+         - Added missing RecreateHandle event
+
+2004-08-19 15:30  pbartok
+
+       * Form.cs:
+         - Added handling of WM_CLOSE
+
+2004-08-18 13:16  jordi
+
+       * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
+         a table
+
+2004-08-18 09:56  jordi
+
+       * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
+
+2004-08-17 15:31  ravindra
+
+       * SWF.csproj: Updated project.
+
+2004-08-17 15:25  pbartok
+
+       * Control.cs:
+         - Drawing improvement; don't call UpdateBounds if we are not visible
+           (or have been minimized)
+
+2004-08-17 15:24  pbartok
+
+       * XplatUIWin32.cs:
+         - Finished IsVisible
+         - Added Win32GetWindowPlacement
+
+2004-08-17 15:08  jackson
+
+       * Panel.cs: Initial checkin of the Panel
+
+2004-08-17 14:25  pbartok
+
+       * Control.cs:
+         - Fixed broken handling of default window sizes
+
+2004-08-17 13:29  jackson
+
+       * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
+         has a large startup time.
+
+2004-08-17 10:25  jackson
+
+       * HandleData.cs: union areas properly
+
+2004-08-17 10:12  jackson
+
+       * HandleData.cs: union areas properly
+
+2004-08-16 20:00  ravindra
+
+       * ToolBar.cs, ToolBarButton.cs: Added attributes.
+
+2004-08-16 18:48  ravindra
+
+       * ToolBar.cs: Added attributes.
+
+2004-08-16 17:17  ravindra
+
+       * SWF.csproj: Updated project.
+
+2004-08-16 17:16  jackson
+
+       * XplatUIX11.cs: Check for more expose events before sending a
+         WM_PAINT so they can all be grouped together. This makes dragging a
+         window across another window redraw in a sane way.
+
+2004-08-16 15:47  pbartok
+
+       * Control.cs:
+         - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
+           support OnMouseEnter/Leave()
+         - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
+           exposure handling
+
+2004-08-16 15:46  pbartok
+
+       * XplatUIStructs.cs, XplatUIX11.cs:
+         - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
+         OnMouseEnter/Leave()
+
+2004-08-16 15:34  jackson
+
+       * XplatUIX11.cs: Group multiple expose events in HandleData, make
+         sure messages get the message field set to WM_NULL if they are not
+         handled.
+
+2004-08-16 15:24  jackson
+
+       * HandleData.cs: HandleData is used for storing message information
+         for window handles
+
+2004-08-15 17:23  ravindra
+
+       * ColorDepth.cs: Added attribute.
+
+2004-08-15 17:23  ravindra
+
+       * SWF.csproj: Updated project for ToolBar Control.
+
+2004-08-15 17:20  ravindra
+
+       * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
+         control and also dos2unix format.
+
+2004-08-15 17:13  ravindra
+
+       * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
+         ToolBarButtonClickEventArgs.cs,
+         ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
+         ToolBarTextAlign.cs: First Implementation of ToolBar control.
+
+2004-08-15 15:31  pbartok
+
+       * ButtonBase.cs:
+         - First (mostly) working version
+
+2004-08-13 16:15  pbartok
+
+       * Control.cs:
+         - Fixed Anchor default
+
+2004-08-13 15:43  pbartok
+
+       * Control.cs:
+         - Changed GetCursorPos signature
+
+2004-08-13 15:42  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
+         - Changed signature for GetCursorPos
+
+2004-08-13 15:25  pbartok
+
+       * XplatUIX11.cs:
+         - Cleanup
+         - Fixed resizing/exposure handling
+
+2004-08-13 15:22  jordi
+
+       * ThemeWin32Classic.cs: removes redundant code and fixes issues
+         with tickposition
+
+2004-08-13 14:55  jordi
+
+       * TrackBar.cs: change from wndproc to events
+
+2004-08-13 13:00  jordi
+
+       * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs: implements PointToClient (ScreenToClient)
+
+2004-08-13 12:53  pbartok
+
+       * XplatUIWin32.cs:
+         - Changed GetWindowPos to also provide client area size
+         - Fixed broken prototypes for several win32 functions
+
+2004-08-13 12:53  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs:
+         - Changed GetWindowPos to also provide client area size
+
+2004-08-13 12:52  pbartok
+
+       * XplatUIX11.cs:
+         - Added generation of WM_POSCHANGED
+         - Changed GetWindowPos to also provide client area size
+
+2004-08-13 12:52  pbartok
+
+       * Control.cs:
+         - Added Dispose() and destructor
+         - Fixed resizing and bounds calculation
+         - Fixed Layout
+         - Added memory savings for invisible windows
+
+2004-08-13 12:46  jordi
+
+       * TrackBar.cs: adds timer and grap window
+
+2004-08-13 10:25  jackson
+
+       * Timer.cs: SWF Timer
+
+2004-08-12 16:59  pbartok
+
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Implemented method to get current mouse position
+
+2004-08-12 14:29  jordi
+
+       * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
+         enhancement, fix mouse problems, highli thumb, etc
+
+2004-08-12 13:31  pbartok
+
+       * Control.cs:
+         - Fixed Anchoring bugs
+
+2004-08-12 13:01  jackson
+
+       * StatusBar.cs: Don't forget things
+
+2004-08-12 12:54  jackson
+
+       * ThemeWin32Classic.cs: Handle owner draw status bars
+
+2004-08-12 12:54  jackson
+
+       * StatusBar.cs: Implement missing properties, events, and methods.
+         Handle mouse clicking
+
+2004-08-12 10:19  jackson
+
+       * StatusBarPanelClickEventArgs.cs,
+         StatusBarPanelClickEventHandler.cs: Classes for handling status
+         bar panel click events
+
+2004-08-12 10:10  jackson
+
+       * Control.cs: Add missing properties
+
+2004-08-12 09:46  pbartok
+
+       * BindingsManagerBase.cs:
+         - Name changed to BindingManagerBase.cs
+
+2004-08-12 09:25  jordi
+
+       * ScrollableControl.cs: calls ctrlbase instead of exeception
+
+2004-08-11 16:28  pbartok
+
+       * InputLanguageChangingEventArgs.cs:
+         - Never check in before compiling. Fixes the last check-in
+
+2004-08-11 16:26  pbartok
+
+       * InputLanguageChangingEventArgs.cs:
+         - More signature fixes
+
+2004-08-11 16:20  pbartok
+
+       * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
+         Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
+         ImageListStreamer.cs, InputLanguage.cs,
+         InputLanguageChangedEventArgs.cs,
+         InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
+         LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
+         ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
+         XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Signature fixes
+
+2004-08-11 16:16  pbartok
+
+       * Application.cs:
+         - Fixed Signature
+         - Added .Net 1.1 method
+
+2004-08-11 15:25  pbartok
+
+       * SWF.csproj:
+         - Fixed BindingManagerBase.cs filename
+
+2004-08-11 15:22  pbartok
+
+       * BindingManagerBase.cs:
+         - Was checked in with wrong filename
+
+2004-08-11 14:50  pbartok
+
+       * SWF.csproj:
+         - Updated
+
+2004-08-11 13:41  jordi
+
+       * XplatUIWin32.cs: Fixes ClientRect
 
-2003-07-31 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : anchoring algorithm was fixed to avoid inaccuracies caused by rounding
-       * TextBoxBase.cs : set FixedHeight style for single line edit boxes
+2004-08-11 13:19  pbartok
 
-2003-07-30 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TextBox.cs : ScrollBars, AcceptsReturn, CharacterCasing properties were implemented
+       * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs:
+         - We had SetWindowPos and MoveWindow to set window positions and
+           size, removed MoveWindow. We have GetWindowPos, so it made sense to
+           keep SetWindowPos as matching counterpart
+         - Added some X11 sanity checking
 
-2003-07-29 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TextBoxBase.cs
-       * TextBox.cs
-       * Control.cs : BackColor, ForeColor, PasswordChar for edit boxes
+2004-08-11 12:59  pbartok
 
-2003-07-28  Miguel de Icaza  <miguel@ximian.com>
+       * Control.cs:
+         - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
+           (It seems that SetBounds is just a front for SetBoundsCore and
+            SetBoundsCore updates the underlying window system and
+            UpdateBounds is responsible for updating the variables associated
+            with the Control and sending the events)
+         - Major cleanup of Size handling; we now have two sizes, client_size
+           and bounds. Bounds defines the window with decorations, client_size
+           without them.
 
-       * NativeWindow.cs: Remove debugigng messages.
+2004-08-11 12:55  pbartok
 
-       * Control.cs: Remove debugging messages.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Added method to calculate difference between decorated window and
+           raw client area
 
-       * Label.cs: Use the border style.
+2004-08-11 12:54  pbartok
 
-       * win32functions.cs: Set the default to WineLib now on Linux.
+       * Label.cs:
+         - Forcing redraw on resize
 
-2003-07-23  Miguel de Icaza  <miguel@ximian.com>
+2004-08-11 11:43  pbartok
 
-       * win32functions.cs: Move functions that do not exist in WineLib
-       over to Win32_Wineless, so we do not trigger the warning messages
-       until a function tries to use them.
+       * ImageList.cs:
+         - Removed disposing of the actual images when the list is disposed
 
-       Win32() constructor: Set a hint on the appdomain that we would
-       prefer to have the System.Drawing API use the Win32 implementation
-       of the API.
-       
-       * *.cs: Updated sources to use this.
+2004-08-11 09:13  pbartok
 
-2003-07-16 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * ColorDialog.cs : implemented
-       * win32functions.cs                     
-       * win32enums.cs
-       * win32structs.cs : functions, flags and structs for ColorDialog
+       * Control.cs:
+         - Now properly reparents windows
 
-2003-07-01 Alexandre Pigolkine <pigolkine@gmx.de>
-       * win32Structs.cs                       some fields cannot be marshaled
-                                                               OFNOTIFY structure simplified
-       * FileDialog.cs         
-       * win32functions.cs                     
-                       call wine_get_unix_filename from FileOpen dialog
-                               
-       * win32functions.cs             WineLib library name changed
-       
-       * NativeWindow.cs       CLIENTCREATESTRUCT parameter for MDI 
-                               Aleksey Ryabchuk <ryabchuk@yahoo.com>
+2004-08-11 08:37  pbartok
 
-2003-06-30 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Form.cs : TopLevel, AcceptButton, CancelButton
-       * Application.cs : allow keyboard messages in modal forms
-       * Control.cs : basic impl. of GetTopLevel, SetTopLevel
+       * Control.cs:
+         - Duh!
 
-2003-06-30 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Cursors.cs : VSplit, HSplit cursors
-       * Form.cs: WindowState ( not finished ), changes to Form.Close
-       * Splitter.cs, Toolbar.cs : started implementation
+2004-08-11 07:47  pbartok
 
-2003-06-26 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TreeNode.cs
-       * TreeNodeCollection.cs
-       * TreeView.cs : more implementation added
+       * Control.cs:
+         - Rewrote the collection stuff. Might not be as fast now, not
+           keeping the number of children around and accessible directly, but
+           it's more straightforward
 
-2003-06-24 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TreeNode.cs
-       * TreeNodeCollection.cs
-       * TreeView.cs : more implementation added
+2004-08-11 07:44  pbartok
 
-2003-06-12 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Menu.cs
-       * ContextMenu.cs : create context menu using CreatePopupMenu function
+       * AccessibleObject.cs:
+         - Fixed to match ControlCollection rewrite
 
-2003-06-12 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TreeNode.cs
-       * TreeNodeCollection.cs
-       * TreeView.cs
-       * win32functions.cs : started impl. of TreeView control
+2004-08-11 07:43  pbartok
 
-2003-06-12 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : don't do anything if Anchor is set to default value
-       * SystemInformation.cs : return some system metrics
-       * UserControl.cs : default size impl.
+       * ImageList.cs:
+         - Added missing creation of the collection list
 
-2003-06-11 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * ContextMenu.cs : SourceControl, Show method
-       * Control.cs : ContextMenu, CanSelect, force parent to perform layout when Dock property changes
-       * GroupBox.cs
-       * Label.cs
-       * Panel.cs
-       * PictureBox.cs
-       * Splitter.cs
-       * ProgressBar.cs : remove Selectable style
-       * RadioButton.cs : set TextAlign to MiddleLeft by default
-       * tooltip.cs : override Dispose method
-       * win32Enums.cs
-       * win32functions.cs : flags and function for context menu
-
-2003-06-09 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Conrols.cs : Disposing property, Dispose method
-       * Cursor.cs  : Show, Hide, Copy cursor
-       * NativeWindow.cs : destructor
-
-2003-06-09 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : Cursor property, handle WM_SETCURSOR
-       * Cursor.cs : started implementation
-       * Cursors.cs : load system cursor types
-       * win32functions.cs : DestroyCursor function
-
-2003-06-09 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * HScrollBar.cs
-       * ScrollBar.cs
-       * VScrollBar.cs : implemented
-       * ScrollEventArgs.cs: typo fix
-
-2003-06-09 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * AxHost.cs
-       * MonthCalendar.cs : fixed issues breaking the build
-
-2003-06-09 Dennis Hayes <dennish@raytek.com>
-       for Gopal V <gopalv82@symonds.net>
-       * MonthCalendar.cs
-       * AxHost.cs
-       Fixed overrides
+2004-08-10 20:08  jackson
 
-2003-06-07   Alexandre Pigolkine <pigolkine@gmx.de>
-       * Control.cs
-       * Form.cs
-       * ScrollableControl.cs
-                       DockStyle.None & AnchorStyles
+       * StatusBar.cs: Get the paint message from WndProc
 
-2003-06-06   Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * HScrollBar.cs
-       * ScrollBar.cs
-       * VScrollBar.cs
-       * win32Enums.cs : started implementation of scrollbar classes
+2004-08-10 19:31  jackson
 
-2003-06-06   Aleksey Ryabchuk <ryabchuk@yahoo.com>
-        * Form.cs : MaximumSize, MinimumSize, TopMost were implemented, small fixes and improvements
-       * win32Structs.cs: WINDOWPOS structure
+       * ThemeWin32Classic.cs: Create Brushes as little as possible
 
-2003-06-05   Aleksey Ryabchuk <ryabchuk@yahoo.com>
-        * Form.cs : ControlBox, HelpButton, MaximizeBox, MinimizeBox, maximumSize
-       * win32Structs.cs: MINMAXINFO structure
+2004-08-10 19:20  jackson
 
-2003-06-04   Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs
-       * Form.cs   : KeyPreview, ShowInTaskBar
+       * UICues.cs: Add Flags attribute
 
-2003-06-02 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Application.cs
-       * ComboBox.cs
-       * Control.cs
-                               change to ContainsFocus/Focused properties
-                       
-2003-04-25  Miguel de Icaza  <miguel@ximian.com>
+2004-08-10 19:19  jackson
 
-        * SystemInformation.cs (ComputerName): Bug fix: we need to trim down the size
+       * StatusBarPanel.cs: Signature cleanup
 
-2003-05-30  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * GroupBox.cs : take BackColor into account
+2004-08-10 19:10  jackson
 
-2003-05-27  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : helper method getParentForm
-       * Form.cs : ActiveForm , FormBorderStyle implemented
-       * GroupBox.cs : some chages in drawing code, don't register another window class
-       * FormBorderStyle.cs : fixed typo
-       * win32functions.cs : UpdateWindowExStyle added, new prototypes for GetActiveWindow, GetForegroundWindow
+       * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
+         Initial implementation of status bar item drawing
 
-2003-05-27  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-        * Button.cs
-       * CheckBox.cs
-       * CheckedListBox.cs
-       * ComboBox.cs
-       * HScrollBar.cs
-       * ListBox.cs
-       * ListView.cs
-       * PrintPreviewControl.cs
-       * RichTextBox.cs
-       * ScrollBar.cs
-       * Splitter.cs
-       * ToolBar.cs
-       * TreeView.cs
-       * VScrollBar.cs : changed to use base implementation of CreateParams
-
-2003-05-27  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : implemented GetChildIndex, BringToFront, UpdateZOrder, update z-order when recreating handle,
-       * win32Strcuts.cs
-       * win32Enums.cs : use ansi CharSet for tooltips
-                       
-2003-05-27  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Contols.cs : changes to SetVisibleCore, Invalidate (bool) is implemented
-       * NativeWindow.cs : don't use CS_VREDRAW and CS_HREDRAW flags
-       * ImageList.cs
-       * ImageListStreamer.cs : small fixes
-       * TabControl.cs
-       * TabPage.cs : image list support was added
-
-2003-05-26  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * ImageListStreamer.cs: added deserialization code
-       * win32functions.cs : added some prototypes required for ImageList impl.
-       * win32strcuts.cs : added new structs, switched to CharSet.Ansi for TCITEM struct
-       * win32Enums.cs : use ansi messages for tab control
-
-2003-05-20  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * win32functions.cs  
-       * NativeWindow.cs : fixed some issues causing problems when running SWF on Linux 
-
-2003-05-20  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * FileDialog.cs : more implementation added
-       * win32Enums.cs : added some error codes  for common dialogs
-       * win32functions.cs : added prototype for CommDlgExtendedError
-
-2003-05-19  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-        * CommonDialog.cs
-       * FileDialog.cs
-       * OpenFileDialog.cs
-       * win32Enums.cs
-       * win32Structs.cs : more implementation added
-
-2003-05-16  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * CommonDialog.cs
-       * FileDialog.cs
-       * win32Enums.cs
-       * win32functions.cs : started impl. of OpenFile dialog
-
-2003-05-16  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * DomainUpDown.cs : changes to OnTextBoxKeyDown
-       * UpDownBase.cs : added impl. to BackColor and BackgroundImage
-
-2003-05-12  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : ResizeRedraw, removed some unused code
-       * DomainUpDown.cs : 
-       * UpDownBase.cs : some improvements
-
-2003-05-12  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Application.cs
-       * ContainerControl.cs
-       * Control.cs
-       * Form.cs
-       * ScrollableControl.cs
-       * StatusBar.cs
-       * TabControl.cs
-       * TabPage.cs : changes in the code for TAB key handling
+2004-08-10 17:27  jordi
 
-2003-05-09  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs
-       * Form.cs
-       * GroupBox.cs
-       * Label.cs
-       * UpDownBase.cs : some new stuff related to focus movement by the TAB key
-
-2003-05-08  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : started implementation of keyboard handling
-       * CroupBox.cs : set UserPaint style
-       * TextBoxBase.cs : set subclass flag to allow catching of keyboard events
-
-2003-05-07  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : static RegisterDefaultWindowClass method was added
-       * ScrollableControl.cs : registration of "mono_scrollable_control" was moved to Control class
-       * win32functions.cs : new constant DEFAULT_WINDOW_CLASS
-       * PictureBox.cs : implemented
-
-2003-05-07  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : use WS_OVERLAPPED instead of WS_OVERLAPPEDWINDOW, update text field in get Text property
-       * TextBox.cs : use styles provided by TextBoxBase
-       * TextBoxBase.cs : more methods and properties were implemented
-       * win32enums.cs  : messages and notifications for EDIT control
-
-2003-05-02  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : call OnTextChange
-       * UpdownBase.cs 
-       * DomainUpDown.cs : some more implementation
-       * TextBox.cs : TextAlign, use base.CreateParams
-       * TextBoxBase.cs : use base.CreateParams
-       * Win32enums.cs : styles for edit box
-
-2003-04-30  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * TabControl.cs
-       * TabPage.cs : prevent pages from being added to the TabControl multiple times
+       * TrackBar.cs: add missing methods, properties, and restructure to
+         hide extra ones
 
-2003-04-30  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : some fixes, added call to OnControlAdded, update visibility flag in Show and Hide
-       * GroupBox.cs
-       * Label.cs
-       * ButtoBase.cs : use base.CreateParams
-       * PictureBox.cs : call base.OnResize
-       * RadioButton.cs : implemented
-       * TabControl.cs
-       * TabPage.cs : some fixes
+2004-08-10 16:24  jackson
 
-2003-04-29  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : call OnResize from OnSizeChanged
-       * TabControl.cs : small fixes
-       * Win32enums.cs : constants for ToolTip notifications
+       * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
+         ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
+         attribute
 
-2003-04-28 Alexandre Pigolkine <pigolkine@gmx.de>
-       * monogc.c
-       * makefile              small improvements
+2004-08-10 13:21  jordi
 
-2003-04-26 Alexandre Pigolkine <pigolkine@gmx.de>
-       * monogc.c      GC stubs for Mini
-       * win32functions.cs     EntryPoint added for some functions
+       * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
+         enhancements and standarize on win colors defaults
 
-2003-04-25  Miguel de Icaza  <miguel@ximian.com>
+2004-08-10 12:52  jackson
 
-       * SystemInformation.cs (ComputerName): Implement this.
+       * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
+         ThemeWin32Classic.cs: Implement DrawItem functionality
 
-2003-04-25  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : check if control is already in control collection, Created property,
-                      ControlCollection.RemoveAt reimplemented using ControlCollection.Remove
-       * TabControl.cs
-       * TabPage.cs : some more implementation
-       * win32structs.cs: TCITEMHEADER replaced with TCITEM
+2004-08-10 12:47  jordi
 
-2003-04-24  Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs: change to CreateControlInstance function
-       * Panel.cs:   use base CreateParams
-       * TabControl.cs
-       * TabPage : started implementing
-       * win32Enums.cs
-       * win32Structs.cs
-       * win32functions.cs : messages, styles for TabControl
-
-2003-04-24 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Button.cs     paint with Back/Fore colors
-       * ComboBox.cs   fix to notification handler
-       * ContainerControl.cs
-       * ControlStyles.cs 
-       * ListBox.cs
-       * Panel.cs                      changes for ControlStyles
-       * Control.cs            ControlStyles, BackColor, painting logic
-       
-       * DrawItemEventArgs.cs  temporary fix to avoid crach in jit
-       
-
-2003-04-23 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Application.cs : new internal functions enterModalLoop, exitModalLoop
-       * Button.cs : changes in DialogResult and OnClick
-       * Control.cs : new internal getOwnerWindow method, recreate child windows in RecreateHandle as well
-       * form.cs : implementation of modal forms
-       * win32enums.cs :  constants for GetWindow function
-       * win32functions.cs : GetWindow , IsDialogMessage added
-
-2003-04-22 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : implementation of docking
-       * Form.cs    : small changes regarding resizing of MDI client window
-       * StatusBar.cs : update parts on Layout event, new style to prevent resizing by the system
-
-2003-04-17 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : implementation of scale functions, bug-fix in ControlCollection.Add
-       * Form.cs    : implementation of ScaleCore method
-
-2003-04-17 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * ImageList.cs
-       * ImageListStreamer.cs : started to implement
-       * Control.cs : changes in implementation of size-related functions
-       * Form.cs    : small modifications to reflect changes in Contol class
-
-2003-04-15 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * NativeWindow.cs : don't assign window ID when it was already assigned by the system
-
-2003-04-11 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : some new functions implemented, using BitVector32
-                       instead of declaring separate boolean varibales for every control status
-                       
-2003-04-11 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs
-       * Form.cs
-       * MainMenu.cs
-       * Menu.cs
-       * MenuItem.cs
-       * NativeWindow.cs
-       * win32functions.cs : some changes related to implementation of MDI interface
-
-2003-04-11 Aleksey Ryabchuk <ryabchuk@yahoo.com>
-       * Control.cs : init bounds in ctor, invisible parking window
-       * TrackBar.cs 
-       * ProgressBar.cs.cs 
-       * DateTimePicker.cs 
-       * StatusBar.cs : use base version of CreateParams
-       * ScrollableControl.cs : use base version of CreateParams, removed CS_VREDRAW, CS_HREDRAW styles
-       * Form.cs : reset parent back to zero for the main form
-       * StatusBarPanel.cs : small bug-fix
-
-2003-04-6  DennisHayes <dennish@raytek.com>
-       * Converted to Unix newlines
-       * Changed copyright from 2002 to 2002/3
-
-2003-04-6  DennisHayes <dennish@raytek.com>
-       * CheckOutList Update, removed everyone from list, active developers need to readd.
-       * Binding.cs Marked some funmctions for Compact frame work
-       * RadioButton.cs //removed inherited members 
-       * RichTextBox.cs //removed inherited members
-       * Splitter.cs //removed a throw not implmented so some samples could run.
-       
-2003-04-06 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Control.cs
-       * Form.cs
-       * NativeWindow.cs
-       * Win32functions.cs
-       * Win32structs.cs : initial implementation of MDI interface.
-               Aleksey Ryabchuk <ryabchuk@yahoo.com>
+       * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
 
-       * Button.cs
-       * CheckedListBox.cs
-       * Control.cs
-       * GroupBox.cs 
-       * ListBox.cs
-       * ScrollableControl.cs
-               Attempt to minimize fliker effect
-               Alexandre Pigolkine
+2004-08-10 12:32  jordi
 
-2003-03-30 Alexandre Pigolkine <pigolkine@gmx.de>
-       * DateTimePicker.cs
-       * StatusBar.cs
-       * tooltip.cs
-               Fixed AllocCoTaskMem issure. Bug-fix for DTP.
-               Aleksey Ryabchuk <ryabchuk@yahoo.com>
+       * Control.cs: throw ontextchange event
 
-2003-03-29 Alan Tam <Tam@SiuLung.com>
-       * DataGrid.cs
-               stubbed a missing method
+2004-08-10 11:43  pbartok
 
-2003-03-26 Alexandre Pigolkine <pigolkine@gmx.de>
-       * NumericUpDown.cs
-       * ScrollableControl.cs
-       * UpDownBase.cs
-       * win32Structs.cs
-               implementation of NumericUpDown
-
-       * tooltip.cs
-       * win32Enums.cs
-       * win32functions.cs
-               implementation of ToolTip control class.
-               Aleksey Ryabchuk <ryabchuk@yahoo.com>
-
-2003-03-25 Alexandre Pigolkine <pigolkine@gmx.de>
-       * CheckedListBox.cs
-       * ListBox.cs
-               Implementation of Collections
-               Alexandre Pigolkine <pigolkine@gmx.de>
+       * Control.cs:
+         - Added more to the still unfinished Dock/Anchor layout code
 
-       * Control.cs
-       * DateTimePicker.cs
-       * win32Enums.cs
-               notification handling for DateTimePicker control.
-       * StatusBar.cs
-       * TrackBar.cs
-                small modifications.
-               Aleksey Ryabchuk <ryabchuk@yahoo.com>
+2004-08-10 11:39  pbartok
 
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
+         - Added GetWindowPos method
 
-2003-03-23 Alexandre Pigolkine <pigolkine@gmx.de>
-       * DateTimePicker.cs
-       * Form.cs
-       * ProgressBar.cs
-       * win32Enums.cs
-       * win32Structs.cs
-               Implementation of ProgressBar and DateTimePicker controls by
-               Aleksey Ryabchuk <ryabchuk@yahoo.com>
+2004-08-10 11:36  pbartok
 
-       * Control.cs    small fix to handle scroll bar messages
+       * XplatUIWin32.cs:
+         - Implemented several methods
 
-2003-03-20 Alexandre Pigolkine <pigolkine@gmx.de
-       * Control.cs
-       * Form.cs
-       * GroupBox.cs
-       * Label.cs
-       * Panel.cs
-       * TrackBar.cs
-       * win32functions.cs
-               checkin for Aleksey Ryabchuk <ryabchuk@yahoo.com>
-               implementation of Timer class and small modifications to other files
-
-2003-03-18 Alexandre Pigolkine <pigolkine@gmx.de>
-       * monowinehooks.c
-       * runwine
-                       attempt to use LD_PRELOAD to override stubs in Wine
-       * monosem.c             implementation of pthread_cond*
-       * makefile
-       * monogc.c
-       * monostub.c
-               small changes to files
-
-2003-03-17 Alexandre Pigolkine <pigolkine@gmx.de>
-       * monogc.c
-       * makefile
-               original version of monogc.c by John Sohn <jsohn@columbus.rr.com>
-
-2003-03-15 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Control.cs
-       * Panel.cs
-       * StatusBar.cs
-       * StatusBarPanel.cs
-       * win32Enums.cs
-       * win32functions.cs
-               checkin for Aleksey Ryabchuk (ryabchuk@yahoo.com)
+2004-08-10 09:47  jackson
 
-2003-03-15 Alexandre Pigolkine <pigolkine@gmx.de>
-       * monogc.c                                      dynamic loader for gc-wine.dll by John Sohn <jsohn@columbus.rr.com>
-       * makefile                                      changed to build monogc
+       * TrackBar.cs: Allow control to handle buffering
 
-2003-03-10 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Button.cs
-               check in for Steven Stewart <stevenstewart@mindspring.com>
+2004-08-10 09:41  jackson
 
-2003-03-09 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Application.cs                        fixed line terminators
+       * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
 
-       * Form.cs
-       * TrackBar.cs
-       * win32Enums.cs
-               implementation of TrackBar control by Aleksey Ryabchuk (ryabchuk@yahoo.com)
-
-       * makefile
-       * monostub.c
-       * monosem.c
-               parse command line
-               run assembly not from main thread
-               first implementation of pthread fuctions using Wine
-
-2003-03-01 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Button.cs                                     changed painting code
-       * ButtonBase.cs                         ContentAlignment operations implemented in separate functions
-       * CheckedListBox.cs             Implementation added
-       * ComboBox.cs                           small modifications
-       * Control.cs                            repaint on style changes
-       * ControlPaint.cs                       Implementation added
-       * Form.cs                                       delegate Size to Control
-       * ImageList.cs                          small modifications
-       * ListBox.cs                            Implementation added
-       * ListControl.cs                        small modifications
-       * NativeWindow.cs                       fixed line terminators
-       * ScrollableControl.cs          small modifications
-       * win32Enums.cs                         declaration added
-       * win32functions.cs                     Implementation added, fixed line terminators
-
-
-2003-02-27  Reggie Burnett <reggie@bytefx.com>
-       * Added several external functions to Win32funcs.cs
-       * Added necessary LoadLibrary to RichTextEdit to load common control library
-       
-2003-02-26  Reggie Burnett <reggie@bytefx.com>
-       * Form.Close now actually destroys the Window
-       * Application now closes when launching form is closed
-
- 2003-02-19 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Button.cs
-       * CheckedListBox.cs
-       * ComboBox.cs
-       * Control.cs
-       * ControlPaint.cs
-       * Form.cs
-       * ListBox.cs
-       * win32functions.cs
-                                       implementation added
-                                       
- 2003-02-11 Alexandre Pigolkine <pigolkine@gmx.de>
-       * ButtonBase.cs
-       * ComboBox.cs
-       * Control.cs
-       * ListControl.cs
-       * NativeWindow.cs
-                                               implementation added
+2004-08-10 09:24  jackson
 
-    The following sample from .Net SDK can run:
-    Samples\QuickStart\winforms\samples\controlreference\comboboxctl\cs\
+       * Label.cs, LinkLabel.cs: Let Control handle buffering.
 
- 2003-02-09 Alexandre Pigolkine <pigolkine@gmx.de>
-       * Button.cs
-       * ButtonBase.cs
-       * CheckBox.cs
-       * ComboBox.cs
-       * Control.cs
-       * ControlPaint.cs
-                                                       implementation added
-       * Message.cs
-                                                       bug fixed
-       * win32Enums.cs
-       * win32functions.cs
-       * win32Structs.cs
-                                                       declarations added
-
-
- 2003-02-07  Alexandre Pigolkine <pigolkine@gmx.de>
-       * Font.cs                               removed
-       * Button.cs
-       * ControlPaint.cs
-       * ComboBox.cs
-                                               modified
-
- 2003-02-06  Alexandre Pigolkine <pigolkine@gmx.de>
-
-   * Button.cs             Painting code is implemented
-   * ButtonBase.cs         TextAlign property implemented, WM_COMMAND handling is modified
-   * ComboBox.cs           Initial implementation of ObjectCollection, properties and WM_COMMAND
-
-   * Control.cs            Changes to WindProc of Control and ControlNativeWindow classes,
-                           to some properties, window handle creation, ControlCollection
-                           Initial implementation windows control subclassing, message reflection,
-                           ISynchrinizeInvoke interface.
-
-   * ControlPaint.cs       Initial implementation of DrawBorder3D and DrawButton
-
-   * Form.cs               Modification to constructor, window handle creation,
-                                       WM_COMMAND handling, WndProc
-
-   * ListBox.cs            Implementation of DrawMode.OwnerDrawFixed and OwnerDrawVariable
-   * Message.cs            WParam helpers added
-   * MessageBox.cs         By default MessageBox.Show(string) brings TASKMODAL message box
-   * NativeWindow.cs       Implemented OnThreadException
-   * PaintEventArgs.cs     Dispose() method
-   * ProgressBar.cs        Small modifications to implementation
-   * SystemInformation.cs  CaptionHeight implemented
-
-   * CheckBox.cs
-   * GroupBox.cs
-   * Label.cs
-   * Panel.cs
-   * TextBox.cs
-                           CreateParams property modified
-
-   * win32enums.cs         enums added
-   * win32functions.cs     functions added
-   * win32struct.cs        2 structs modified
-
-   * Application.cs
-   * DrawItemEventArgs.cs
-                            line terminators fixed
-
-    The following samples from .Net SDK can run:
-    Samples\QuickStart\howto\samples\winforms\errorhandler\cs\
-    Samples\QuickStart\howto\samples\winforms\ownerdrawlistbox\cs\
-    Samples\QuickStart\howto\samples\winforms\threadmarshal\cs\
-    Samples\QuickStart\winforms\samples\accessible\cs\
-    Samples\QuickStart\winforms\samples\controlreference\buttonctl\cs\
-
-  2003-31-1  John Sohn <jsohn@columbus.rr.com>
-       * makefile: cleaned and reduced dependencies to hard-coded paths
-       * monostub.c: updated for compliance with the latest Mono and WineLib
-
-  2002-12-9  DennisHayes <dennish@raytek.com>
+2004-08-10 09:09  jackson
 
-       * Form.cs
-       * KeysConverter.cs
-       * Label.cs
-       * LinkArea.cs
-       * LinkLabel.cs
-       * ListBindingConverter.cs
-       * ListBox.cs
-       * ListControl.cs
-       * ListView.cs
-       * ListViewItem.cs
-       * ListViewItemConverter.cs
-       * MainMenu.cs
-       * Menu.cs
-       * MenuItem.cs
-       * NativeWindow.cs
-       * NumericUpDown.cs
-       * OpacityConverter.cs
-       * OSFeature.cs
-       * PictureBox.cs
-       * PrintControllerWithStatusDialog.cs
-       * PrintDialog.cs
-       * PrintPreviewControl.cs
-       * PropertyManager.cs
-       * RadioButton.cs
-       * Screen.cs
-       * ScrollableControl.cs
-       * ScrollBar.cs
-       * SendKeys.cs
-       * SplitterEventArgs.cs
-       * StatusBar.cs
-       * SystemInformation.cs
-       * TextBoxBase.cs
-       * ToolBar.cs
-       * TrackBar.cs
-       * TreeNode.cs
-       * TreeNodeCollection.cs
-       * TreeNodeConverter.cs
-       * TreeView.cs
+       * StatusBar.cs: Let Control handle all the buffering.
 
-       * cleanup, fixes, some implmentation
+2004-08-10 09:08  jackson
 
-  2002-12-6  DennisHayes <dennish@raytek.com>  
+       * Control.cs: Control will now handle the buffering code, so each
+         control does not have to implement this.
 
-       * checkin for Alexandre Pigolkine (pigolkine@gmx.de)
-       * Form.cs
-       * Menu.cs
-       * MenuItem.cs
-       
-       * Implmentation
+2004-08-10 08:34  jackson
 
-    2002-12-6  DennisHayes <dennish@raytek.com>        
+       * XplatUIDriver.cs: Use default colors from the theme
 
-       * Control.cs
-       * Form.cs
-       * MonthCalendar.cs
-       * Screen.cs
-       * SelectionRange.cs
-       * SelectionRangeConverter.cs
-       * TabPage.cs
-       * TextBox.cs
-       * Timer.cs
-       * ToolBarButton.cs
-       * TrackBar.cs
-       * UpDownBase.cs
-       * UserControl.cs
-       * tooltip.cs
+2004-08-09 17:12  pbartok
 
-       * cleanup, dead code removeal, replaced throw not implmented's with //FIXME:s
+       * ImageList.cs:
+         - Fixed several bugs Ravindra pointed out
 
-    2002-12-3  DennisHayes <dennish@raytek.com>        
-       * *.cs
-       * switched to unix style line terminiators
+2004-08-09 16:11  pbartok
 
+       * Control.cs:
+         - Added incomplete dock layout code
+         - Added support for mouse wheel
 
+2004-08-09 16:09  pbartok
 
-    2002-12-3  DennisHayes <dennish@raytek.com>        
+       * XplatUIX11.cs:
+         - Added handling for middle and right mousebutton
+         - Added handling for mouse wheel
+         - Added handling for key state and mouse state and position
+         - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
+         messages
 
-       * 140 files changed. replaced throw notimplmenteds with FIXME:s, removed dead code,
-       * corrected
+2004-08-09 15:40  jackson
 
-  2002-12-1  DennisHayes <dennish@raytek.com>
+       * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
+         StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
+         checkin
 
-       * AccessibleObject.cs
-       * Application.cs
-       * ApplicationContext.cs
-       * AxHost.cs
-       * Binding.cs
-       * BindingContext.cs
-       * Button.cs
-       * CheckBox.cs
-       * CheckedListBox.cs
-       * Clipboard.cs
-       * ColorDialog.cs
-       * ColumnHeader.cs
-       * ComboBox.cs
-       * CommonDialog.cs
-       * ContainerControl.cs
-       * ContextMenu.cs
-       * Control.cs
-       * ControlBindingsCollection.cs
-       * ControlPaint.cs
-       * CreateParams.cs
-       * CurrencyManager.cs
-       * Cursor.cs
-       * CursorConverter.cs
-       * Cursors.cs
-       * DataFormats.cs
-       * DataGrid.cs
-       * DataGridTableStyle.cs
-       * DataGridTextBox.cs
-       * DataGridTextBoxColumn.cs
-       * DataObject.cs
-       * ErrorProvider.cs
-       * Form.cs
+2004-08-09 15:37  jackson
 
-       * removed some throw notimplmented ecexptions
-       * Some small implmentaions
-       * some dead code removal
-
-  2002-11-28  DennisHayes <dennish@raytek.com>
-
-       * In visual studio, I added a SWFTest project to the SWF solution.
-       * Using Microsoft's swf.dll, I added one of each possible stock controls to the form.
-       * I closed the form (swf design stuff i svery incomplete).
-       * I Removed the reference to MS's swf.dll, and added a reference to the SWF project.
-       * The result compiles, runs, and can be closed, without crashing in windows.
-       * PrintPreviewDialog is the only item (other than crystal reports) on the 
-       * standard toolbar that is not included.
-       * When run, a standard window comes up, not a dialog/form type window.
-       * The form is as small as possible, just a caption bar of minimum width
-       * with control bax and min/max box. It can be resized to any size fine.
-       * no controls are actualy displayed. they may be of zero size, or it 
-       * may be due to the window not being a dialog box, or it may be anything.
-       
-       * ApplicationContext.cs
-       * Button.cs
-       * ChangeLog
-       * CheckBox.cs
-       * CheckedListBox.cs
-       * ColorDialog.cs
-       * ComboBox.cs
-       * ContainerControl.cs
-       * Control.cs
-       * DataGrid.cs
-       * DateTimePicker.cs
-       * DomainUpDown.cs
-       * ErrorProvider.cs
-       * FileDialog.cs
-       * FontDialog.cs
-       * Form.cs
-       * GroupBox.cs
-       * HelpProvider.cs
-       * HScrollBar.cs
-       * ImageList.cs
-       * Label.cs
-       * LinkLabel.cs
-       * ListBox.cs
-       * ListControl.cs
-       * ListView.cs
-       * logfile.txt
-       * MainMenu.cs
-       * Menu.cs
-       * MenuItem.cs
-       * NativeWindow.cs
-       * NotifyIcon.cs
-       * NumericUpDown.cs
-       * OpenFileDialog.cs
-       * PageSetupDialog.cs
-       * Panel.cs
-       * PictureBox.cs
-       * PrintDialog.cs
-       * PrintPreviewControl.cs
-       * PrintPreviewDialog.cs
-       * ProgressBar.cs
-       * RadioButton.cs
-       * RichTextBox.cs
-       * SaveFileDialog.cs
-       * ScrollableControl.cs
-       * ScrollBar.cs
-       * Splitter.cs
-       * StatusBar.cs
-       * System.Windows.Forms.csproj
-       * System.Windows.Forms.csproj.user
-       * TabControl.cs
-       * TextBox.cs
-       * TextBoxBase.cs
-       * Timer.cs
-       * ToolBar.cs
-       * ToolBarButton.cs
-       * tooltip.cs
-       * TrackBar.cs
-       * TreeNode.cs
-       * TreeNodeCollection.cs
-       * TreeView.cs
-       * UpDownBase.cs
-       * UserControl.cs
-       * VScrollBar.cs
-       * win32Enums.cs
-       * win32functions.cs
+       * StatusBar.cs: Initial implementation of StatusBar
 
-  2002-11-27  DennisHayes <dennish@raytek.com> 
-       * checkin for Alexandre Pigolkine (pigolkine@gmx.de) with minor changes
-       
-       * Control.cs
-       * MainMenu.cs
-       * Menu.cs
-       * MenuItem.cs
-       * NativeWindow.cs
-       * win32Enums.cs
-       * win32functions.cs
-       
-       * WIN32 implmentation
+2004-08-09 15:36  jackson
 
-    2002-11-24  DennisHayes <dennish@raytek.com>       
+       * ITheme.cs: Add support for drawing status bar and getting status
+         bar item sizes
 
-       * Application.cs
-       * Control.cs
-       * Form.cs
-       * Message.cs
-       * NativeWindow.cs
-       * ScrollableControl.cs
-       * win32functions.cs
-       * win32Structs.cs
-       
-       * Fixed added more win32 stuff
-       * On windows in Visual studio and runs my test program, but does 
-       * not display a window. the window Handle is null, so the size gets set to 0,0.
-       
+2004-08-09 15:35  pbartok
 
-  2002-11-23  DennisHayes <dennish@raytek.com> 
-        checked in for         Francois-Denis Gonthier
+       * MouseButtons.cs:
+         - Fixed values
 
-       * win32functions.cs
-       * win32Structs.cs
-       * Menu.cs
-       * ScrollableControl.cs
-       * MenuItem.cs
-       * NativeWindow.cs
-       * Form.cs
-       * move some more stuff from monostub to c#
-       * converted a couple of files to unix style line end
-       * some implmementation
-       
-  2002-11-17  DennisHayes <dennish@raytek.com> 
+2004-08-09 15:34  jackson
 
-       * AccessibleObject.cs
+       * ThemeWin32Classic.cs: Add support for drawing status bar and get
+         status bar item sizes
 
-       * Removed COMvisible. Docs say yes, but verifer says no
+2004-08-09 15:21  jackson
 
-  2002-11-17  DennisHayes <dennish@raytek.com> 
+       * ThemeWin32Classic.cs: Use known colors for default control
+         colours
 
-       * Application.cs
-       * Button.cs
-       * Control.cs
-       * Form.cs
-       * Label.cs
-       * ListBox.cs
-       * Menu.cs
-       * MessageBox.cs
-       * NativeWindow.cs
-       * PrintPreviewDialog.cs
-       * ScrollableControl.cs
-       * ScrollBar.cs
-       * VScrollBar.cs
+2004-08-09 15:12  jackson
 
-       * Made changes releated to the new win32 stuff
+       * ThemeWin32Classic.cs: Make the default font static, it is static
+         in control so this doesn't change functionality and creating fonts
+         is sloooooow.
 
-  2002-11-17  DennisHayes <dennish@raytek.com> 
-       * Win32Enums.cs
-       * Win32Handles.cs
-       * Win32Interfaces.cs
-       * Win32RegistryUtil.cs
-       * Win32Structs.cs
+2004-08-09 14:56  pbartok
 
-       * Completed merging files from  Carlos Harvey Perez
-       * Moved all parts of Win32.cs to these files
-       * eliminated Win32.cs.
-       *
-       * many things moved from win32.cs still commented out.
-       * Also needs to be mono styled.
+       * X11Structs.cs:
+         - Added GrabMode enum
 
-       * Win32.cs - removed
+2004-08-09 14:55  pbartok
 
-  2002-11-12  DennisHayes <dennish@raytek.com> 
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Removed Run method, was only required for initial development
 
-       * Win32Enums.cs
-       * Win32Handles.cs
-       * Win32Interfaces.cs
-       * Win32RegistryUtil.cs
-       * Win32Structs.cs
+2004-08-09 14:51  pbartok
 
-       * Added files from  Carlos Harvey Perez
-       ** Thanks Carlos! **
-       * Moved all parts of Win32.cs to these files
-       * Execpt for functions. Will merge functions
-       * and eliminate remove Win32.cs soon.
-       *
-       * most things moved from win32.cs still commented out.
-       * Also needs to be mono styled.
+       * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
+         - Implemented GrabWindow/ReleaseWindow methods to allow pointer
+         capture
 
-       * Win32.cs
-       * Moved stuff from win32.cs to files from Carlos.2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+2004-08-09 13:48  pbartok
 
-2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+       * XplatUIX11.cs:
+         - Fixed default sizing for child windows
 
-       * ListBox.cs: added ItemHeight and DrawMode properties. Fixes the build
-       in unix.
+2004-08-09 12:56  pbartok
 
-       * ListBox.cs: added ItemHeight and DrawMode properties. Fixes the build
-       in unix.
+       * XplatUIX11.cs:
+         - Added generation of WM_DESTROY message
+         - Added handling of window manager induced shutdown
 
-2002-11-02  Miguel de Icaza  <miguel@ximian.com>
+2004-08-09 11:31  jackson
 
-       * Win32.cs: Added IsMenu, CreateMenu, AppendMenuA, DestroyMenu entry points.
-       
-2002-10-29  DennisHayes <dennish@raytek.com>   
+       * ThemeWin32Classic.cs: New names for control properties
 
-       * AmbientProperties.cs
-       * Application.cs
-       * ApplicationContext.cs
-       * CheckBox.cs
-       * CheckedListBox.cs
-       * ColumnHeader.cs
-       * ContainerControl.cs
-       * ContextMenu.cs
-       * Control.cs
-       * Cursors.cs
-       * HScrollBar.cs
-       * ListBox.cs
-       * MainMenu.cs
-       * Menu.cs
-       * MenuItem.cs
-       * MessageBox.cs
-       * NativeWindow.cs
-       * PictureBox.cs
-       * ScrollableControl.cs
-       * ScrollBar.cs
-       * System.Windows.Forms.csproj
-       * System.Windows.Forms.csproj.user
-       * VScrollBar.cs
-       * Win32.cs
+2004-08-09 11:25  jackson
 
-       * minor formating, bug fixes, and implmentation
+       * Control.cs: Use new color names
 
+2004-08-09 11:02  jackson
 
-  2002-10-29  DennisHayes <dennish@raytek.com> 
-       * checkin for Alexandre Pigolkine (pigolkine@gmx.de)
-       * Menu classes start on implmentation
+       * XplatUI.cs: Get default window properties from the theme
 
-  2002-10-27  DennisHayes <dennish@raytek.com> 
+2004-08-09 11:01  jackson
 
-       * AccessibleObject.cs
-       * AssemblyInfo.cs
-       * AxHost.cs
-       * BaseCollection.cs
-       * BindingMemberInfo.cs
-       * BindingsCollection.cs
-       * ButtonBase.cs
-       * ColumnClickEventArgs.cs
-       * ComboBox.cs
-       * ContainerControl.cs
-       * ContentsResizedEventArgs.cs
-       * Control.cs
-       * ControlEventArgs.cs
-       * ConvertEventArgs.cs
-       * DateBoldEventArgs.cs
-       * DateRangeEventArgs.cs
-       * DomainUpDown.cs
-       * DragEventArgs.cs
-       * DrawItemEventArgs.cs
-       * FolderBrowserDialog.cs
-       * Form.cs
-       * GiveFeedbackEventArgs.cs
-       * HelpEventArgs.cs
-       * InputLanguageChangedEventArgs.cs
-       * InputLanguageChangingEventArgs.cs
-       * InvalidateEventArgs.cs
-       * ItemChangedEventArgs.cs
-       * ItemCheckEventArgs.cs
-       * ItemDragEventArgs.cs
-       * KeyEventArgs.cs
-       * KeyPressEventArgs.cs
-       * Keys.cs
-       * LabelEditEventArgs.cs
-       * LayoutEventArgs.cs
-       * LinkClickedEventArgs.cs
-       * LinkLabelLinkClickedEventArgs.cs
-       * ListControl.cs
-       * MeasureItemEventArgs.cs
-       * MouseEventArgs.cs
-       * NavigateEventArgs.cs
-       * NodeLabelEditEventArgs.cs
-       * PaintEventArgs.cs
-       * PrintPreviewDialog.cs
-       * PropertyTabChangedEventArgs.cs
-       * PropertyValueChangedEventArgs.cs
-       * QueryAccessibilityHelpEventArgs.cs
-       * QueryContinueDragEventArgs.cs
-       * ScrollEventArgs.cs
-       * SelectedGridItemChangedEventArgs.cs
-       * SplitterEventArgs.cs
-       * StatusBarDrawItemEventArgs.cs
-       * StatusBarPanelClickEventArgs.cs
-       * System.Windows.Forms.csproj
-       * System.Windows.Forms.csproj.user
-       * TextBox.cs
-       * ToolBarButtonClickEventArgs.cs
-       * TreeNodeConverter.cs
-       * TreeViewCancelEventArgs.cs
-       * UICuesEventArgs.cs
-       * UpDownBase.cs
-       * UpDownEventArgs.cs
-       * VScrollBar.cs
-
-
-       * Stubs now compliant with .NET 1.1 Beta, except for one that has dependencies.
-       * Added FolderBrowserDialog.cs for .NET 1.1 beta compatibility.
-       * Completed implmentation of all *Args classes.
-       * Updated checkoutlist.
-       * Made fixes so this will compile using Visual studio under windows.
-
-
-
-  2002-10-26  DennisHayes <dennish@raytek.com> 
-
-       * Added CheckOutFile to SWF one level up from here
-       * to keep track of who is working on what.
-
-  2002-10-24  DennisHayes <dennish@raytek.com> 
-
-       * AccessibleObject.cs
-       * Application.cs
-       * AssemblyInfo.cs
-       * BaseCollection.cs
-       * BindingContext.cs
-       * BindingManagerBase.cs
-       * BindingsCollection.cs
-       * ContainerControl.cs
-       * Control.cs
-       * Font.cs
-       * Form.cs
-       * IAccessible.cs
-       * InputLanguageCollection.cs
-       * Label.cs
-       * MessageBox.cs
-       * PropertyTabChangedEventArgs.cs
-       * ScrollableControl.cs
-       * Win32.cs
-       * WINELib.csproj
-       * WINELib.csproj.user
-       * winelib.sln
-
-       * Changes to get winelib version running with more methods uncommented out.
-       * Especialy trying to get CE compliance.
-
-2002-10-22  DennisHayes <dennish@raytek.com>
-       * Miguel moved files from WINELIB to here
-       * See ochagelog for details
-
-2002-10-13  DennisHayes <dennish@raytek.com>
-
-       *Application.cs
-       *AxHost.cs
-       *ChangeLog
-       *CheckedListBox.cs
-       *ComboBox.cs
-       *CurrencyManager.cs
-       *DateTimePicker.cs
-       *DomainUpDown.cs
-       *FolderBrowserDialog.cs
-       *ListBox.cs
-       *logfile.txt
-       *StatusBarDrawItemEventArgs.cs
-       *TabControl.cs
-       *TextBox.cs
-       *TrackBar.cs
-       *UpDownBase.cs
-
-       * Updated to match .NET V1.1 Beta
-
-2002-9-2  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* AmbientProperties.cs
-* AxHost.cs
-* Button.cs
-* ButtonBase.cs
-* CheckBox.cs
-* ColorDialog.cs
-* ColumnHeader.cs
-* ComboBox.cs
-* ContainerControl.cs
-* DataGrid.cs
-* DateTimePicker.cs
-* ListControl.cs
-* PrintPreviewDialog.cs
-* Implmented any functions.
-
-* System.Windows.Forms.csproj
-* System.Windows.Forms.csproj.user
-* Added win32.cs
-
-2002-8-6  DennisHayes <dennish@raytek.com>
-* Checked in for Ginandrea Terzi (gterzi@lario.com)
-
-* MeasureItemEventArgs.cs
-* PropertyValueChangedEventArgs.cs
-* ScrollEventArgs.cs
-* ScrollEventType.cs
-* SelectionMode.cs
-* Shortcut.cs
-* TickStyle.cs
-* ToolBarButtonClickEventArgs.cs
-* TreeViewAction.cs
-* TriangleDirection.cs
-* UICues.cs
-* UICuesEventArgs.cs
-* UpDownBase.cs
-* UpDownEventHandler.cs
-* Fixed syntax errors and verifier errors
-
-2002-8-6  DennisHayes <dennish@raytek.com>
-
-* PropertyTabChangedEventArgs.cs
-* Minor sytax bug fixes.
-
-* System.Windows.Forms.csproj
-* System.Windows.Forms.csproj.user
-* System.Windows.Forms.sln
-* Added support for System.Windows.Forms.Design
-* Builds two dlls instead of one.
-* Allows compiling for now, but needs to be fixed
-
-2002-8-2  DennisHayes <dennish@raytek.com>
-* Checked in for Ginandrea Terzi (gterzi@lario.com)
-
-* AssemblyInfo.cs
-* ColumnClickEventArgs.cs
-* ContentsResizedEventArgs.cs
-* ControlEventArgs.cs
-* ConvertEventArgs.cs
-* DateBoldEventArgs.cs
-* DateRangeEventArgs.cs
-* DragEventArgs.cs
-* DrawItemEventArgs.cs
-* GiveFeedbackEventArgs.cs
-* HelpEventArgs.cs
-* InputLanguageChangedEventArgs.cs
-* InputLanguageChangingEventArgs.cs
-* InvalidateEventArgs.cs
-* ItemChangedEventArgs.cs
-* ItemCheckEventArgs.cs
-* ItemDragEventArgs.cs
-
-* KeyEventArgs.cs
-* KeyPressEventArgs.cs
-* LabelEditEventArgs.cs
-* LayoutEventArgs.cs
-* LinkClickedEventArgs.cs
-* LinkLabelLinkClickedEventArgs.cs
-* logfile.txt
-* MeasureItemEventArgs.cs
-* MouseEventArgs.cs
-* NavigateEventArgs.cs
-* NodeLabelEditEventArgs.cs
-* PaintEventArgs.cs
-* PropertyTabChangedEventArgs.cs
-* PropertyValueChangedEventArgs.cs
-* QueryAccessibilityHelpEventArgs.cs
-* QueryContinueDragEventArgs.cs
-* ScrollEventArgs.cs
-* SelectedGridItemChangedEventArgs.cs
-* SplitterEventArgs.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanelClickEventArgs.cs
-* ToolBarButtonClickEventArgs.cs
-* TreeViewCancelEventArgs.cs
-* UICuesEventArgs.cs
-* UpDownEventArgs.cs
-* Improved ToString functions
-* Completed the rest of the *.args classes
-
-2002-8-1  DennisHayes <dennish@raytek.com>
-* Checked in for Ginandrea Terzi (gterzi@lario.com)
-
-* KeyEventArgs.cs
-* KeyPressEventArgs.cs
-* LabelEditEventArgs.cs
-* LayoutEventArgs.cs
-* LinkClickedEventArgs.cs
-* LinkLabelLinkClickedEventArgs.cs
-* MeasureItemEventArgs.cs
-* MouseEventArgs.cs
-* NavigateEventArgs.cs
-* NodeLabelEditEventArgs.cs
-* PaintEventArgs.cs
-* PropertyTabChangedEventArgs.cs
-* PropertyValueChangedEventArgs.cs
-* QueryAccessibilityHelpEventArgs.cs
-* QueryContinueDragEventArgs.cs
-* ScrollEventArgs.cs
-* SelectedGridItemChangedEventArgs.cs
-* SplitterEventArgs.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanelClickEventArgs.cs
-* ToolBarButtonClickEventArgs.cs
-* TreeViewCancelEventArgs.cs
-* UICuesEventArgs.cs
-* UpDownEventArgs.cs
-* Corrected, cleaned up/ completed some *args.cs classes.
-* May break build, but should be easy to fix, will verifiy
-*   tonight and check in any needed fixes.
-
-2002-8-1  DennisHayes <dennish@raytek.com>
-* MonthCalendar.cs
-* ButtonBase.cs
-* Form.cs
-* MonthCalendar commented out, stubbs need work
-* GTK references removed from Buttonbase and form, to make compile easier.
-* Replace GTK references as soon as build works on Windows and Linux.
-* With this, SWF should compile uder visual studio
-
-2002-8-1  DennisHayes <dennish@raytek.com>
-* TODOAttribute.cs
-* ComVisible.cs
-* added so the namespace can compile, remove when replaced with mono equivalents.
-
-2002-8-1  DennisHayes <dennish@raytek.com>
-* System.Windows.Forms.csproj
-* System.Windows.Forms.csproj.user
-* System.Windows.Forms.sln
-* AssemblyInfo.cs * Not sure if this file is needed. not a part of the namespace, just visual studio
-* Added files to compile using visual Studio
-
-2002-8-1  DennisHayes <dennish@raytek.com>
-* Getopt.cs
-* removed, file contained only trash, not needed.
-
-
-2002-7-30  DennisHayes <dennish@raytek.com>
-
-* AccessibleNavigation.cs
-* AccessibleObject.cs
-* AccessibleSelection.cs
-* AmbientProperties.cs
-* Application.cs
-* ApplicationContext.cs
-* AxHost.cs
-* BaseCollection.cs
-* Binding.cs
-* BindingContext.cs
-* BindingManagerBase.cs
-* BindingMemberInfo.cs
-* BindingsCollection.cs
-* Button.cs
-* ButtonBase.cs
-* CaptionButton.cs
-* CharacterCasing.cs
-* CheckBox.cs
-* CheckedListBox.cs
-* CheckState.cs
-* Clipboard.cs
-* ColorDialog.cs
-* ColumnClickEventArgs.cs
-* ColumnClickEventHandler.cs
-* ColumnHeader.cs
-* ComboBox.cs
-* CommonDialog.cs
-* ContainerControl.cs
-* ContentsResizedEventHandler.cs
-* ContextMenu.cs
-* Control.cs
-* ControlBindingsCollection.cs
-* ControlEventArgs.cs
-* ControlEventHandler.cs
-* ControlPaint.cs
-* ConvertEventHandler.cs
-* CreateParams.cs
-* CurrencyManager.cs
-* Cursor.cs
-* CursorConverter.cs
-* Cursors.cs
-* DataFormats.cs
-* DataGrid.cs
-* DataGridBoolColumn.cs
-* DataGridCell.cs
-* DataGridColumnStyle.cs
-* DataGridParentRowsLabelStyle.cs
-* DataGridPreferredColumnWidthTypeConverter.cs
-* DataGridTableStyle.cs
-* DataGridTextBox.cs
-* DataGridTextBoxColumn.cs
-* DataObject.cs
-* DateBoldEventArgs.cs
-* DateRangeEventArgs.cs
-* DateRangeEventHandler.cs
-* DateTimePicker.cs
-* DialogResult.cs
-* DockStyle.cs
-* DomainUpDown.cs
-* DragAction.cs
-* DragDropEffects.cs
-* DragEventArgs.cs
-* DragEventHandler.cs
-* DrawItemEventArgs.cs
-* DrawItemEventHandler.cs
-* DrawItemState.cs
-* DrawMode.cs
-* ErrorBlinkStyle.cs
-* ErrorIconAlignment.cs
-* ErrorProvider.cs
-* FeatureSupport.cs
-* FileDialog.cs
-* FlatStyle.cs
-* FontDialog.cs
-* Form.cs
-* FormBorderStyle.cs
-* FormStartPosition.cs
-* FormWindowState.cs
-* FrameStyle.cs
-* GiveFeedbackEventHandler.cs
-* GridColumnStylesCollection.cs
-* GridItemCollection.cs
-* GridTableStylesCollection.cs
-* GroupBox.cs
-* Help.cs
-* HelpEventHandler.cs
-* HelpProvider.cs
-* HScrollBar.cs
-* ImageIndexConverter.cs
-* ImageList.cs
-* ImageListStreamer.cs
-* InputLanguage.cs
-* InputLanguageChangedEventHandler.cs
-* InputLanguageChangingEventHandler.cs
-* InputLanguageCollection.cs
-* InvalidateEventHandler.cs
-* ItemChangedEventArgs.cs
-* ItemChangedEventHandler.cs
-* ItemCheckEventHandler.cs
-* ItemDragEventHandler.cs
-* KeyEventHandler.cs
-* KeyPressEventArgs.cs
-* KeyPressEventHandler.cs
-* KeysConverter.cs
-* Label.cs
-* LabelEditEventHandler.cs
-* LayoutEventHandler.cs
-* LinkArea.cs
-* LinkClickedEventHandler.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventHandler.cs
-* ListBindingConverter.cs
-* ListBox.cs
-* ListControl.cs
-* ListView.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* logfile.txt
-* MainMenu.cs
-* MeasureItemEventHandler.cs
-* Menu.cs
-* MenuItem.cs
-* Message.cs
-* MessageBox.cs
-* MethodInvoker.cs
-* MonthCalendar.cs
-* MouseEventHandler.cs
-* NativeWindow.cs
-* NavigateEventHandler.cs
-* NodeLabelEditEventHandler.cs
-* NotifyIcon.cs
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OpenFileDialog.cs
-* OSFeature.cs
-* PageSetupDialog.cs
-* PaintEventArgs.cs
-* PaintEventHandler.cs
-* Panel.cs
-* PrintControllerWithStatusDialog.cs
-* PrintDialog.cs
-* PrintPreviewControl.cs
-* PrintPreviewDialog.cs
-* ProgressBar.cs
-* PropertyGrid.cs
-* PropertyManager.cs
-* PropertyTabChangedEventArgs.cs
-* PropertyTabChangedEventHandler.cs
-* PropertyValueChangedEventHandler.cs
-* QueryAccessibilityHelpEventHandler.cs
-* QueryContinueDragEventHandler.cs
-* RadioButton.cs
-* RichTextBox.cs
-* SaveFileDialog.cs
-* Screen.cs
-* ScrollableControl.cs
-* ScrollBar.cs
-* ScrollEventArgs.cs
-* ScrollEventHandler.cs
-* SelectedGridItemChangedEventHandler.cs
-* SelectionRange.cs
-* SelectionRangeConverter.cs
-* SendKeys.cs
-* Splitter.cs
-* SplitterEventHandler.cs
-* StatusBar.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarDrawItemEventHandler.cs
-* StatusBarPanel.cs
-* StatusBarPanelClickEventArgs.cs
-* StatusBarPanelClickEventHandler.cs
-* StatusBarPanelCollection.cs
-* SystemInformation.cs
-
-* TabControl.cs
-* TabPage.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ThreadExceptionDialog.cs
-* Timer.cs
-* ToolBar.cs
-* ToolBarButton.cs
-* ToolBarButtonClickEventHandler.cs
-* ToolTip.cs
-* TrackBar.cs
-* TreeNode.cs
-* TreeNodeCollection.cs
-* TreeNodeConverter.cs
-* TreeView.cs
-* TreeViewCancelEventHandler.cs
-* TreeViewEventHandler.cs
-* TreeViewImageIndexConverter.cs
-* UICuesEventArgs.cs
-* UICuesEventHandler.cs
-* UpDownBase.cs
-* UpDownEventHandler.cs
-* UserControl.cs
-* VScrollBar.cs
-* Fixed errors reported by verify.exe, mostly attribute errors.
-* Added my name to author's list to files I edited in the last two weeks
-
-2002-7-22  DennisHayes <dennish@raytek.com>
-
-* DateTimePickerFormat.cs
-* Added values.
-* The NAMESPACE NOW COMPILES under windows in Visual Studio using the Microsoft version of the classes.
-* Verify.exe reports 600 errors.
-
-2002-7-21  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* AmbientProperties.cs
-* AxHost.cs
-* BaseCollection.cs
-* BindingsCollection.cs
-* ButtonBase.cs
-* CheckBox.cs
-* CheckedListBox.cs
-* ComboBox.cs
-* ContainerControl.cs
-* ContextMenu.cs
-* Control.cs
-* ControlEventArgs.cs
-* ControlPaint.cs
-* ConvertEventArgs.cs
-* DataGrid.cs
-* DataGridColumnStyle.cs
-* DataObject.cs
-* DateTimePicker.cs
-* DomainUpDown.cs
-* DragEventArgs.cs
-* DrawItemEventArgs.cs
-* ErrorProvider.cs
-* FeatureSupport.cs
-* FileDialog.cs
-* FontDialog.cs
-* Form.cs
-* GiveFeedbackEventArgs.cs
-* GridColumnStylesCollection.cs
-* GridItem.cs
-* GridItemCollection.cs
-* GridTableStylesCollection.cs
-* GroupBox.cs
-* Help.cs
-* HelpEventArgs.cs
-* HelpProvider.cs
-* HScrollBar.cs
-* ImageIndexConverter.cs
-* ImageList.cs
-* ImageListStreamer.cs
-* InputLanguage.cs
-* InputLanguageChangedEventArgs.cs
-* InputLanguageChangingEventArgs.cs
-* InputLanguageCollection.cs
-* InvalidateEventArgs.cs
-* ItemChangedEventArgs.cs
-* ItemCheckEventArgs.cs
-* ItemDragEventArgs.cs
-* KeyEventArgs.cs
-* KeyPressEventArgs.cs
-* KeysConverter.cs
-* Label.cs
-* LabelEditEventArgs.cs
-* LayoutEventArgs.cs
-* LinkArea.cs
-* LinkClickedEventArgs.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* LinkLabelLinkClickedEventHandler.cs
-* ListBindingConverter.cs
-* ListBox.cs
-* ListControl.cs
-* ListView.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* MainMenu.cs
-* MeasureItemEventArgs.cs
-* Menu.cs
-* MenuItem.cs
-* Message.cs
-* MessageBox.cs
-* MouseEventArgs.cs
-* NativeWindow.cs
-* NavigateEventArgs.cs
-* NodeLabelEditEventArgs.cs
-* NotifyIcon.cs
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OpenFileDialog.cs
-* OSFeature.cs
-* PageSetupDialog.cs
-* PaintEventArgs.cs
-* Panel.cs
-* PrintControllerWithStatusDialog.cs
-* PrintDialog.cs
-* PrintPreviewDialog.cs
-* QueryAccessibilityHelpEventArgs.cs
-* QueryContinueDragEventArgs.cs
-* RadioButton.cs
-* RichTextBox.cs
-* SaveFileDialog.cs
-* Screen.cs
-* ScrollableControl.cs
-* ScrollBar.cs
-* ScrollEventArgs.cs
-* SelectedGridItemChangedEventArgs.cs
-* SelectionRange.cs
-* SelectionRangeConverter.cs
-* SendKeys.cs
-* Splitter.cs
-* SplitterEventArgs.cs
-* StatusBar.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanelCollection.cs
-* TabControl.cs
-* TabPage.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ToolBar.cs
-* ToolBarButtonClickEventArgs.cs
-* ToolTip.cs
-* TrackBar.cs
-* TreeNodeCollection.cs
-* TreeView.cs
-* UserControl.cs
-* commented out inherited class that did not need to be stubbed.
-* fixed bugs, added values to one enum. Stubbed interfaces.
-* The NAMESPACE NOW COMPILES under windows in Visual Studio using the Microsoft version of the classes.
-* Verify.exe reports 600 errors.
-
-2002-7-7  DennisHayes <dennish@raytek.com>
-
-* ToolBarButtonClickEventArgs.cs 
-* UpDownEventArgs.cs 
-* KeyPressEventHandler.cs
-* Added new files.
-
-2002-7-7  DennisHayes <dennish@raytek.com>
-
-* AccessibleEvents.cs
-* AccessibleNavigation.cs
-* AccessibleObject.cs
-* AccessibleRole.cs
-* AccessibleSelection.cs
-* AccessibleStates.cs
-* AmbientProperties.cs
-* AnchorStyles.cs
-* Appearance.cs
-* Application.cs
-* ApplicationContext.cs
-* ArrangeDirection.cs
-* ArrangeStartingPosition.cs
-* AxHost.cs
-* BaseCollection.cs
-* Binding.cs
-* BindingContext.cs
-* BindingManagerBase.cs
-* BindingMemberInfo.cs
-* BindingsCollection.cs
-* BootMode.cs
-* Border3DSide.cs
-* Border3DStyle.cs
-* BorderStyle.cs
-* BoundsSpecified.cs
-* Button.cs
-* ButtonBase.cs
-* ButtonBorderStyle.cs
-* ButtonState.cs
-* CaptionButton.cs
-* CharacterCasing.cs
-* CheckBox.cs
-* CheckedListBox.cs
-* CheckState.cs
-* Clipboard.cs
-* ColorDepth.cs
-* ColorDialog.cs
-* ColumnClickEventArgs.cs
-* ColumnClickEventHandler.cs
-* ColumnHeader.cs
-* ColumnHeaderStyle.cs
-* ComboBox.cs
-* ComboBoxStyle.cs
-* CommonDialog.cs
-* ComVisible.cs
-* ContainerControl.cs
-* ContentsResizedEventArgs.cs
-* ContentsResizedEventHandler.cs
-* ContextMenu.cs
-* Control.cs
-* ControlBindingsCollection.cs
-* ControlEventArgs.cs
-* ControlEventHandler.cs
-* ControlPaint.cs
-* ControlStyles.cs
-* ConvertEventArgs.cs
-* ConvertEventHandler.cs
-* CreateParams.cs
-* CurrencyManager.cs
-* Cursor.cs
-* CursorConverter.cs
-* Cursors.cs
-* DataFormats.cs
-* DataGrid.cs
-* DataGridBoolColumn.cs
-* DataGridCell.cs
-* DataGridColumnStyle.cs
-* DataGridLineStyle.cs
-* DataGridParentRowsLabelStyle.cs
-* DataGridPreferredColumnWidthTypeConverter.cs
-* DataGridTableStyle.cs
-* DataGridTextBox.cs
-* DataGridTextBoxColumn.cs
-* DataObject.cs
-* DateBoldEventArgs.cs
-* DateRangeEventArgs.cs
-* DateRangeEventHandler.cs
-* DateTimePicker.cs
-* DateTimePickerFormat.cs
-* day.cs
-* DialogResult.cs
-* DockStyle.cs
-* DomainUpDown.cs
-* DragAction.cs
-* DragDropEffects.cs
-* DragEventArgs.cs
-* DragEventHandler.cs
-* DrawItemEventArgs.cs
-* DrawItemEventHandler.cs
-* DrawItemState.cs
-* DrawMode.cs
-* ErrorBlinkStyle.cs
-* ErrorIconAlignment.cs
-* ErrorProvider.cs
-* FeatureSupport.cs
-* FileDialog.cs
-* FlatStyle.cs
-* FontDialog.cs
-* Form.cs
-* FormBorderStyle.cs
-* FormStartPosition.cs
-* FormWindowState.cs
-* FrameStyle.cs
-* Getopt.cs
-* GiveFeedbackEventArgs.cs
-* GiveFeedbackEventHandler.cs
-* GridColumnStylesCollection.cs
-* GridItem.cs
-* GridItemCollection.cs
-* GridItemType.cs
-* GridTableStylesCollection.cs
-* GroupBox.cs
-* Help.cs
-* HelpEventArgs.cs
-* HelpEventHandler.cs
-* HelpNavigator.cs
-* HelpProvider.cs
-* HorizontalAlignment.cs
-* HScrollBar.cs
-* IButtonControl.cs
-* ICommandExecutor.cs
-* IComponentEditorPageSite.cs
-* IContainerControl.cs
-* IDataGridColumnStyleEditingNotificationService.cs
-* IDataGridEditingService.cs
-* IDataObject.cs
-* IFeatureSupport.cs
-* IFileReaderService.cs
-* ImageIndexConverter.cs
-* ImageList.cs
-* ImageListStreamer.cs
-* ImeMode.cs
-* IMessageFilter.cs
-* InputLanguage.cs
-* InputLanguageChangedEventArgs.cs
-* InputLanguageChangedEventHandler.cs
-* InputLanguageChangingEventArgs.cs
-* InputLanguageChangingEventHandler.cs
-* InputLanguageCollection.cs
-* InvalidateEventArgs.cs
-* InvalidateEventHandler.cs
-* ItemActivation.cs
-* ItemBoundsPortion.cs
-* ItemChangedEventArgs.cs
-* ItemChangedEventHandler.cs
-* ItemCheckEventArgs.cs
-* ItemCheckEventHandler.cs
-* ItemDragEventArgs.cs
-* ItemDragEventHandler.cs
-* IWin32Window.cs
-* IWindowTarget.cs
-* KeyEventArgs.cs
-* KeyEventHandler.cs
-* KeyPressEventArgs.cs
-* KeyPressEventHandler.cs
-* Keys.cs
-* KeysConverter.cs
-* Label.cs
-* LabelEditEventArgs.cs
-* LabelEditEventHandler.cs
-* LayoutEventArgs.cs
-* LayoutEventHandler.cs
-* LeftRightAlignment.cs
-* LinkArea.cs
-* LinkBehavior.cs
-* LinkClickedEventArgs.cs
-* LinkClickedEventHandler.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* LinkLabelLinkClickedEventHandler.cs
-* LinkState.cs
-* ListBindingConverter.cs
-* ListBox.cs
-* ListControl.cs
-* ListView.cs
-* ListViewAlignment.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* MainMenu.cs
-* MdiLayout.cs
-* MeasureItemEventArgs.cs
-* MeasureItemEventHandler.cs
-* Menu.cs
-* MenuGlyph.cs
-* MenuItem.cs
-* MenuMerge.cs
-* Message.cs
-* MessageBox.cs
-* MessageBoxButtons.cs
-* MessageBoxDefaultButton.cs
-* MessageBoxIcon.cs
-* MessageBoxOptions.cs
-* MethodInvoker.cs
-* MonthCalendar.cs
-* MouseButtons.cs
-* MouseEventArgs.cs
-* MouseEventHandler.cs
-* NativeWindow.cs
-* NavigateEventArgs.cs
-* NavigateEventHandler.cs
-* NodeLabelEditEventArgs.cs
-* NodeLabelEditEventHandler.cs
-* NotifyIcon.cs
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OpenFileDialog.cs
-* Orientation.cs
-* OSFeature.cs
-* PageSetupDialog.cs
-* PaintEventArgs.cs
-* PaintEventHandler.cs
-* Panel.cs
-* PictureBoxSizeMode.cs
-* PrintControllerWithStatusDialog.cs
-* PrintDialog.cs
-* PrintPreviewControl.cs
-* PrintPreviewDialog.cs
-* ProgressBar.cs
-* PropertyGrid.cs
-* PropertyManager.cs
-* PropertySort.cs
-* PropertyTabChangedEventArgs.cs
-* PropertyTabChangedEventHandler.cs
-* PropertyValueChangedEventArgs.cs
-* PropertyValueChangedEventHandler.cs
-* QueryAccessibilityHelpEventArgs.cs
-* QueryAccessibilityHelpEventHandler.cs
-* QueryContinueDragEventArgs.cs
-* QueryContinueDragEventHandler.cs
-* RadioButton.cs
-* RichTextBox.cs
-* RichTextBoxFinds.cs
-* RichTextBoxScrollBars.cs
-* RichTextBoxSelectionAttribute.cs
-* RichTextBoxSelectionTypes.cs
-* RichTextBoxStreamType.cs
-
-* RichTextBoxWordPunctuations.cs
-* RightToLeft.cs
-* SaveFileDialog.cs
-* Screen.cs
-* ScrollableControl.cs
-* ScrollBar.cs
-* ScrollBars.cs
-* ScrollButton.cs
-
-* ScrollEventArgs.cs
-* ScrollEventHandler.cs
-* ScrollEventType.cs
-* SecurityIDType.cs
-* SelectedGridItemChangedEventArgs.cs
-* SelectedGridItemChangedEventHandler.cs
-* SelectionMode.cs
-* SelectionRange.cs
-* SelectionRangeConverter.cs
-* SendKeys.cs
-* Shortcut.cs
-* SizeGripStyle.cs
-* SortOrder.cs
-* Splitter.cs
-* SplitterEventArgs.cs
-* SplitterEventHandler.cs
-* StatusBar.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarDrawItemEventHandler.cs
-* StatusBarPanel.cs
-* StatusBarPanelAutoSize.cs
-* StatusBarPanelBorderStyle.cs
-* StatusBarPanelClickEventArgs.cs
-* StatusBarPanelClickEventHandler.cs
-* StatusBarPanelCollection.cs
-* StatusBarPanelStyle.cs
-* StructFormat.cs
-* SystemInformation.cs
-* TabAlignment.cs
-* TabAppearance.cs
-* TabControl.cs
-* TabDrawMode.cs
-* TabPage.cs
-* TabSizeMode.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ThreadExceptionDialog.cs
-* TickStyle.cs
-* Timer.cs
-* ToolBar.cs
-* ToolBarAppearance.cs
-* ToolBarButton.cs
-* ToolBarButtonClickEventArgs.cs
-* ToolBarButtonClickEventHandler.cs
-* ToolBarButtonStyle.cs
-* ToolBarTextAlign.cs
-* ToolTip.cs
-* TrackBar.cs
-* TreeNode.cs
-* TreeNodeCollection.cs
-* TreeNodeConverter.cs
-* TreeView.cs
-* TreeViewAction.cs
-* TreeViewCancelEventArgs.cs
-* TreeViewCancelEventHandler.cs
-* TreeViewEventArgs.cs
-* TreeViewEventHandler.cs
-* TreeViewImageIndexConverter.cs
-* UICues.cs
-* UICuesEventArgs.cs
-* UICuesEventHandler.cs
-* UpDownBase.cs
-* UpDownEventArgs.cs
-* UpDownEventHandler.cs
-* UserControl.cs
-* View.cs
-* VScrollBar.cs
-* Monostyled everything!
-
-
-
-2002-7-7  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* AmbientProperties.cs
-* AxHost.cs
-* BindingsCollection.cs
-* Button.cs
-* ButtonBase.cs
-* ChangeLog
-* CheckBox.cs
-* CheckedListBox.cs
-* ColorDialog.cs
-* ComboBox.cs
-* CommonDialog.cs
-* ContainerControl.cs
-* ContextMenu.cs
-* ControlEventArgs.cs
-* CurrencyManager.cs
-* DataGrid.cs
-* DataGridBoolColumn.cs
-* DataGridColumnStyle.cs
-* DataGridTableStyle.cs
-* DataGridTextBox.cs
-* DataGridTextBoxColumn.cs
-* DateTimePickerFormat.cs
-* ErrorProvider.cs
-* FileDialog.cs
-* FontDialog.cs
-* Form.cs
-* GroupBox.cs
-* HelpProvider.cs
-* HScrollBar.cs
-* ImageList.cs
-* KeyPressEventHandler.cs
-* Label.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* ListBox.cs
-* ListControl.cs
-* ListView.cs
-* logfile.txt
-* MainMenu.cs
-* Menu.cs
-* MenuItem.cs
-* MonthCalendar.cs
-* NotifyIcon.cs
-* OpenFileDialog.cs
-* PageSetupDialog.cs
-* Panel.cs
-* PrintDialog.cs
-* PropertyManager.cs
-* RadioButton.cs
-* RichTextBox.cs
-* SaveFileDialog.cs
-* ScrollableControl.cs
-* ScrollBar.cs
-* Splitter.cs
-* StatusBar.cs
-* StatusBarPanel.cs
-* TabControl.cs
-* TabPage.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ThreadExceptionDialog.cs
-* Timer.cs
-* ToolBar.cs
-* ToolBarButton.cs
-* TrackBar.cs
-* TreeView.cs
-* UpDownBase.cs
-* VScrollBar.cs
-* Uncommented stuff, re-commented stuff, adding usings, fixed minor syntax errors.
-
-2002-7-6  DennisHayes <dennish@raytek.com>
-
-* DragEventArgs.cs
-* PropertyValueChangedEventArgs.cs
-* InputLanguageChangedEventArgs.cs
-* added files
-
-2002-7-6  DennisHayes <dennish@raytek.com>
-
-* ToolBarButtonClickEventArgs.cs
-* UpDownEventArgs.cs
-* PropertyValueChangedEventArgs.c
-* Added new files
-
-2002-7-6  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* AmbientProperties.cs
-* Application.cs
-* ApplicationContext.cs
-* AxHost.cs
-* BaseCollection.cs
-* Binding.cs
-* BindingContext.cs
-* BindingManagerBase.cs
-* BindingsCollection.cs
-* CaptionButton.cs
-* Clipboard.cs
-* ColumnHeader.cs
-* Control.cs
-* ControlBindingsCollection.cs
-* ControlPaint.cs
-* CreateParams.cs
-* CurrencyManager.cs
-* Cursor.cs
-* CursorConverter.cs
-* Cursors.cs
-* DataFormats.cs
-* DataGridPreferredColumnWidthTypeConverter.cs
-* DataGridTextBoxColumn.cs
-* DataObject.cs
-* DateBoldEventArgs.cs
-* DateTimePicker.cs
-* DomainUpDown.cs
-* FeatureSupport.cs
-* FontDialog.cs
-* Form.cs
-* GridColumnStylesCollection.cs
-* GridItemCollection.cs
-* GridTableStylesCollection.cs
-* Help.cs
-* IButtonControl.cs
-* IFileReaderService.cs
-* ImageIndexConverter.cs
-* ImageListStreamer.cs
-* IMessageFilter.cs
-* InputLanguage.cs
-* InputLanguageChangeEventArgs.cs
-* InputLanguageCollection.cs
-* ItemChangedEventArgs.cs
-* KeyEventArgs.cs
-* KeyPressEventArgs.cs
-* KeysConverter.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* LinkLabelLinkClickedEventHandler.cs
-* ListBindingConverter.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* logfile.txt
-* MessageBox.cs
-* NativeWindow.cs
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OSFeature.cs
-* PaintEventArgs.cs
-* PrintControllerWithStatusDialog.cs
-* PropertyGrid.cs
-* PropertyTabChangedEventArgs.cs
-* PropertyTabChangedEventHandler.cs
-* PropertyValueChangedEventArgs.cs
-* Screen.cs
-* ScrollEventArgs.cs
-* SelectionRange.cs
-* SelectionRangeConverter.cs
-* SendKeys.cs
-* SplitterEventArgs.cs
-* StatusBarPanelClickEventArgs.cs
-* StatusBarPanelCollection.cs
-* SystemInformation.cs
-* ToolBarButtonClickEventArgs.cs
-* ToolTip.cs
-* TreeNode.cs
-* TreeNodeCollection.cs
-* TreeNodeConverter.cs
-* TreeViewCancelEventArgs.cs
-* TreeViewImageIndexConverter.cs
-* UICuesEventArgs.cs
-* UpDownBase.cs
-* UpDownEventArgs.cs
-* UserControl.cs
-* Added usings, corrected minor syntax errors, uncommented some stuff to flush out compile errors.
-
-2002-7-3  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* Application.cs
-* AxHost.cs
-* Button.cs
-* Control.cs
-* Form.cs
-* GridColumnStylesCollection.cs
-* GridItemCollection.cs
-* GridTableStylesCollection.cs
-* ImageIndexConverter.cs
-* ImageListStreamer.cs
-* InputLanguageChangingEventArgs.cs
-* KeysConverter.cs
-* Label.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* ListBox.cs
-* ListView.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* Menu.cs
-* NumericUpDown.cs
-* ScrollableControl.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanel.cs
-* StatusBarPanelCollection.cs
-* TabControl.cs
-* TrackBar.cs
-* TreeNodeCollection.cs
-* added usings, minor syntax corrections.
-
-2002-7-3  DennisHayes <dennish@raytek.com>
-* checked in for Jaak Simm (jaaksimm@firm.ee)
-* PrintPreviewControl.cs
-* PrintPreviewDialog.cs
-* ProgressBar.cs
-* PropertyGrid.cs
-* PropertyManager.cs
-* PropertyTabChangedEventArgs.cs
-* new files added
-
-2002-7-2  DennisHayes <dennish@raytek.com>
-* Application.cs
-* ControlEventArgs.cs
-* Form.cs
-* merged changes made by miguel and hestilow in gkt# to system.windows.forms
-
-2002-7-2  DennisHayes <dennish@raytek.com>
-* Button.cs
-* ButtonBase.cs
-* ContainerControl.cs
-* Label.cs
-* ScrollableControl.cs
-* Copied changes made by miguel and hestilow in gkt# to system.windows.forms
-
-2002-7-2  DennisHayes <dennish@raytek.com>
-*  Checked in for Richard Baumann (biochem333@nyc.rr.com)
-* DataGridTextBoxColumn.cs
-* DataObject.cs
-* DateBoldEventArgs.cs
-* DateRangeEventArgs.cs
-* DateTimePicker.cs
-* DomainUpDown.cs
-* DragEventArgs.cs
-* DrawItemEventArgs.cs
-* added new files
-
-2002-7-2  DennisHayes <dennish@raytek.com>
-* checked in for Jaak Simm (jaaksimm@firm.ee)
-* DataFormats.cs
-* DataGrid.cs
-* DataGridBoolColumn.cs
-* DataGridColumnStyle.cs
-* DataGridPreferredColumnWidthTypeConverter.cs
-* DataGridTableStyle.cs
-* DataGridTextBox.cs
-* new classes added
-
-2002-7-2  DennisHayes <dennish@raytek.com>
-*  Checked in for Richard Baumann (biochem333@nyc.rr.com)
-* StatusBar.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanel.cs
-* StatusBarPanelClickEventArgs.cs
-* SystemInformation.cs
-* Minor changes by Rich B
-
-2002-7-1  DennisHayes <dennish@raytek.com>
-
-* AccessibleObject.cs
-* AmbientProperties.cs
-* Application.cs
-* ApplicationContext.cs
-* ArrangeDirection.cs
-* AxHost.cs BaseCollection.cs
-* Binding.cs BindingContext.cs
-* BindingManagerBase.cs
-* BindingMemberInfo.cs
-* BindingsCollection.cs
-* Button.cs
-* ButtonBase.cs
-* CheckBox.cs
-* CheckedListBox.cs
-* Clipboard.cs
-* ColorDialog.cs
-* ColumnClickEventArgs.cs
-* ColumnClickEventHandler.cs
-* ColumnHeader.cs
-* ComboBox.cs
-* CommonDialog.cs
-* ComVisible.cs
-* ContainerControl.cs
-* ContentsResizedEventArgs.cs
-* ContextMenu.cs
-* Control.cs
-* ControlBindingsCollection.cs
-* ControlEventArgs.cs
-* ControlPaint.cs
-* ConvertEventArgs.cs
-* CreateParams.cs
-* CurrencyManager.cs
-* Cursor.cs
-* CursorConverter.cs
-* Cursors.cs
-* ErrorProvider.cs 
-* FeatureSupport.cs
-* FileDialog.cs
-* Form.cs
-* GiveFeedbackEventArgs.cs
-* GridColumnStylesCollection.cs
-* GridItem.cs
-* GridItemCollection.cs
-* GridTableStylesCollection.cs
-* GroupBox.cs
-* Help.cs 
-* HelpEventArgs.cs
-* HelpProvider.cs
-* HScrollBar.cs
-* ImageIndexConverter.cs
-* ImageList.cs
-* ImageListStreamer.cs
-* InputLanguage.cs
-* InputLanguageChangedEventArgs.cs
-* InputLanguageChangingEventArgs.cs
-* InputLanguageCollection.cs
-* InvalidateEventArgs.cs
-* ItemChangedEventArgs.cs
-* ItemCheckEventArgs.cs
-* ItemDragEventArgs.cs
-* IWin32Window.cs
-* KeyEventArgs.cs
-* KeyPressEventArgs.cs
-* KeysConverter.cs
-* Label.cs
-* LabelEditEventArgs.cs
-* LabelEditEventHandler.cs
-* LayoutEventArgs.cs
-* LinkClickedEventArgs.cs
-* LinkLabel.cs
-* LinkLabelLinkClickedEventArgs.cs
-* ListBindingConverter.cs
-* ListBox.cs
-* ListControl.cs
-* ListView.cs
-* ListViewItem.cs
-* ListViewItemConverter.cs
-* MainMenu.cs
-* MeasureItemEventArgs.cs
-* Menu.cs MenuItem.cs
-* Message.cs
-* MessageBox.cs
-* MonthCalendar.cs
-* MouseEventArgs.cs
-* NativeWindow.cs
-* NavigateEventArgs.cs
-* NodeLabelEditEventArgs.cs
-* NotifyIcon.cs
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OpenFileDialog.cs
-* OSFeature.cs
-* PageSetupDialog.cs
-* PaintEventArgs.cs
-* Panel.cs
-* PrintControllerWithStatusDialog.cs
-* PrintDialog.cs
-* QueryAccessibilityHelpEventArgs.cs
-* QueryContinueDragEventArgs.cs
-* RadioButton.cs
-* RichTextBox.cs
-* SaveFileDialog.cs
-* Screen.cs
-* ScrollableControl.cs
-* ScrollBar.cs
-* ScrollEventArgs.cs
-* SelectedGridItemChangedEventArgs.cs
-* SelectionRange.cs
-* SelectionRangeConverter.cs
-* SendKeys.cs
-* Splitter.cs
-* SplitterEventArgs.cs
-* StatusBar.cs
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanel.cs
-* StatusBarPanelClickEventArgs.cs
-* StatusBarPanelCollection.cs
-* SystemInformation.cs
-* TabControl.cs
-* TabPage.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ThreadExceptionDialog.cs
-* Timer.cs
-* ToolBar.cs
-* ToolBarButton.cs
-* TrackBar.cs
-* TreeNode.cs
-* TreeNodeCollection.cs
-* TreeNodeConverter.cs
-* TreeView.cs
-* TreeViewCancelEventArgs.cs
-* TreeViewEventArgs.cs
-* TreeViewImageIndexConverter.cs
-* UICuesEventArgs.cs
-* UserControl.cs
-* VScrollBar.cs
-* Implmented some stuff, fixed some stuff, monostyled some stuff, uncommented-out some stuff.
-
-
-2002-7-1  DennisHayes <dennish@raytek.com>
-* changelog
-* reversed order, putting most recent entries at the top
-
-2002-6-24 DennisHayes <dennish@raytek.com>
-* AccessibleStates.cs
-* ArrangeDirection.cs
-* AccessibleEvents.cs
-* Added values for enums
-
-2002-6-24 DennisHayes <dennish@raytek.com>
-* BindingMemberInfo.cs
-* CaptionButton.cs
-* DataGridCell.cs
-* Message.cs
-* MessageBox.cs
-* Fixed bugs preventing compile
-
-2002-6-18 DennisHayes <dennish@raytek.com>
-* checked in  for Stefan Warnke (StefanW@POBox.com)
-* UICuesEventArgs.cs
-* UpDownBase.cs
-* Better comments and formatting
-
-2002-6-18 DennisHayes <dennish@raytek.com>
-* Checked in for Jackson Harper (jackson@latitudegeo.com)
-* ToolBar.cs
-* TabControl.cs
-* TabPage.cs
-* Added sub classes
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* TabControl.cs
-* TabPage.cs
-* TextBox.cs
-* TextBoxBase.cs
-* ThreadExceptionDialog.cs
-* Timer.cs
-* added new files for Jackson Harper (jackson@latitudegeo.com)
-* needs to be mono styled, and may have other issues
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* ErrorProvider.cs
-* PrintControllerWithStatusDialog.cs
-* PrintDialog.cs
-* added new files for paul
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* StatusBarDrawItemEventArgs.cs
-* StatusBarPanel.cs
-* StatusBarPanelClickEventArgs.cs
-* StatusBarPanelCollection.cs
-* SystemInformation.cs
-* added new files for Richard Baumann (biochem333@nyc.rr.com)
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* removed, code moved to main class files, Form.cs, ImageList.cs, LinkLabel.cs,
-*   ListBox.cs, ListView.cs, ListViewItem.cs, Menu.cs, MonthCalendar.cs, ScrollableControl.cs
-* Form.ControlCollectison.cs
-* ImageList.ImageCollection.c
-* LinkLabel.LinkCollection.cs
-* ListBox.ObjectCollection.cs
-* ListBox.SelectedIndexCollection.cs
-* ListBox.SelectedObjectCollection.cs
-* ListView.CheckedListViewItemCollection.cs
-* ListView.CheckedIndexCollection.cs
-* ListView.ColumnHeaderCollection.cs
-* ListView.ListViewItemCollection.cs
-* ListView.SelectedIndexCollection.cs
-* ListView.SelectedListViewItemCollection.cs
-* ListViewItem.ListViewSubItem.cs
-* ListViewItem.ListViewSubItemCollection.cs
-* Menu.MenuItemCollection.cs
-* MonthCalendar.HitTestInfo.cs
-* ScrollableControl.DockPaddingEdges.cs
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* Checked in for Jackson Harper (jackson@latitudegeo.com)
-* ToolBar.cs
-* ToolBarButton.cs
-* ToolTip.cs
-* TrackBar.cs
-* TreeNode.cs
-* TreeNodeCollection.cs
-* TreeNodeConverter.cs
-* TreeView.cs
-* TreeViewCancelEventArgs.cs
-* TreeViewEventArgs.cs
-* TreeViewImageIndexConverter.cs
-* Just stubbs
-* New files added, work in progress cleanup and mono style needed.
-
-2002-6-5 DennisHayes <dennish@raytek.com>
-* checked in  for Stefan Warnke (StefanW@POBox.com)
-* UICuesEventArgs.cs
-* UpDownBase.cs
-* Just stubbs
-* New files, work in progress, needs cleanup and mono style
-
-
-
-2002-5-31 DennisHayes <dennish@raytek.com>
-* ItemChangedEventHandler.cs
-* InvalidateEventHandler.cs
-* ItemChangedEventHandler.cs
-* added new files
-
-2002-5-31 DennisHayes <dennish@raytek.com>
-               Check in for Paul Osman <paul.osman@sympatico.ca>
-* Panel.cs
-* New class, Stubbed and commented out
-
-2002-5-31 DennisHayes <dennish@raytek.com>
-               Check in for Paul Osman <paul.osman@sympatico.ca>
-* MonthCalendar.cs
-* MonthCalendar.HitTestInfo.cs
-* MouseEventArgs.cs
-* NativeWindow.cs
-* Removed trash byte
-
-2002-5-31 DennisHayes <dennish@raytek.com>
-* ColumnClickEventArgs.cs
-* Fully implmented.
-
-2002-5-31 DennisHayes <dennish@raytek.com>
-* Minor formating in lots of files
-
-
-2002-5-27 DennisHayes <dennish@raytek.com>
-Added structs. All structs in System.Windows.Forms done
-* BindingMemberInfo.cs
-* DataGridCell.cs
-* LinkArea.cs
-* Message.cs
-* Complete execpt for Message.cs GetLParam
-* and
-* BindingMemberInfo needs constructor.
-* All need verification of hashcodes.
-
-2002-5-27 DennisHayes <dennish@raytek.com>
-Added delegates. All delegates in System.Windows.Forms done
-* ColumnClickEventHandler.cs
-* ContentsResizedEventHandler.cs
-* ControlEventHandler.cs
-* ConvertEventHandler.cs
-* DateRangeEventHandler.cs
-* DragEventHandler.cs
-* DrawItemEventHandler.cs
-* GiveFeedbackEventHandler.cs
-* HelpEventHandler.cs
-* InputLanguageChangedEventHandler.cs
-* InputLanguageChangingEventHandler.cs
-* InvalidateEventHandler.cs
-* ItemChangedEventHandler.cs
-* ItemCheckEventHandler.cs
-* ItemDragEventHandler.cs
-* KeyEventHandler.cs
-* LabelEditEventHandler.cs
-* LayoutEventHandler.cs
-* LinkClickedEventHandler.cs
-* LinkLabelLinkClickedEventHandler.cs
-
-2002-5-27 DennisHayes <dennish@raytek.com>
-               Check in for Paul Osman <paul.osman@sympatico.ca>
-* NumericUpDown.cs
-* OpacityConverter.cs
-* OpenFileDialog.cs
-* OSFeature.cs
-* PageSetupDialog.cs
-* PaintEventArgs.cs
-* MonthCalendar.HitTestInfo.cs
-* MouseEventArgs.cs
-* NativeWindow.cs
-* Stubbed and commented out
-* NativeWindow.cs, MonthCalendar.HitTestInfo.cs, MouseEventArgs.cs,
-* have bad extra byte from old skeleton, need new corrected version.
-
-* MonthCalendar.HitTestInfo.cs needs to be incorporated into MonthCalendar.
-
-2002-5-27 DennisHayes <dennish@raytek.com>
-               Check in for Paul Osman <paul.osman@sympatico.ca>
-* Menu.cs
-* Menu.MenuItemCollection.cs
-* MenuItem.cs
-* MessageBox.cs
-* MonthCalendar.cs
-* Stubbed and commented out
-* MonthCalendar.cs has bad extra byte from old skeleton, need new corrected version.
-* MonthCalendar.HitTestInfo.cs needs to be incorporated into MonthCalendar.
-* Menu.MenuItemCollection.cs needs to be incorporated into Menu.cs.
-
-2002-5-27 DennisHayes <dennish@raytek.com>
-               Check in for Paul Osman <paul.osman@sympatico.ca>
-* Panel.cs
-* New class, Stubbed and commented out
-
-2002-5-10 Dennis Hayes
-* added IMessageFilter
-* Interfaces complete
-
- 2002-5-8 Dennis Hayes <dennish@raytek.com>
-* RichTextBoxFinds.cs
-* RichTextBoxScrollBars.cs
-* RichTextBoxSelectionAttribute.cs
-* RichTextBoxSelectionTypes.cs
-* RichTextBoxStreamType.cs
-* RichTextBoxWordPunctuations.cs
-* RightToLeft.cs
-* ScrollBars.cs
-* ScrollButton.cs
-* ScrollEventType.cs
-* SecurityIDType.cs
-* SelectionMode.cs
-* Shortcut.cs
-* SizeGripStyle.cs
-* SortOrder.cs
-* StatusBarPanelAutoSize.cs
-* StatusBarPanelBorderStyle.cs
-* StatusBarPanelStyle.cs
-* StructFormat.cs
-* TabAlignment.cs
-* TabAppearance.cs
-* TabDrawMode.cs
-* TabSizeMode.cs
-* TickStyle.cs
-* ToolBarAppearance.cs
-* ToolBarButtonStyle.cs
-* ToolBarTextAlign.cs
-* TreeViewAction.cs
-* UICues.cs
-* View.cs
-* Added enums.
-* All System.Windows.Forms enums complete with correct values.
- 2002-5-8 Dennis Hayes <dennish@raytek.com>
-Dennis Hayes <dennish@raytek.com>
-Checking in new System.Windows.forms classes (a* to c*) for 
-Jaak Simm <jaaksimm@firm.ee>
-* AmbientProperties.cs
-* Application.cs
-* ApplicationContext.cs
-* AxHost.cs
-* BaseCollection.cs
-* Binding.cs
-* BindingContext.cs
-* BindingManagerBase.cs
-* BindingsCollection.cs
-* Button.cs
-* ButtonBase.cs
-* CheckBox.cs
-* CheckedListBox.cs
-* Clipboard.cs
-* ColorDialog.cs
-* ColumnClickEventArgs.cs
-* ColumnHeader.cs
-* ComboBox.cs
-* CommonDialog.cs
-* ContainerControl.cs
-* ContentsResizedEventArgs.cs
-* ContextMenu.cs
-* Control.cs
-* ControlBindingsCollection.cs
-* ControlEventArgs.cs
-* ControlPaint.cs
-* ConvertEventArgs.cs
-* CreateParams.cs
-* CurrencyManager.cs
-* Cursor.cs
-* CursorConverter.cs
-* Cursors.cs
-* Classes stubbed and commented out.
-
- 2002-5-8 Dennis Hayes <dennish@raytek.com>
-Dennis Hayes <dennish@raytek.com>
-Checking in new System.Windows.forms classe for John Rebbeck <john@rebent.com>
-
-* UserControl.cs
-Stubbed and commented out
-
- 2002-5-8 Dennis Hayes <dennish@raytek.com>
-Dennis Hayes <dennish@raytek.com>
-Checking in new System.Windows.forms classe for Paul Osman <paul.osmand@sympatico.ca>
-
-* NavigateEventArgs.cs
-* NodeLabelEditEventArgs.cs
-* NotifyIcon.cs
-Stubbed and commented out
-
-2002-05-07 Daniel Carrera (dcarrera@math.utoronto.ca)
-* Fixed a problem with an "extra byte" problem.  It caused an extra '?'
-  at the beginning of some lines.
-  Classes F-L and Q-R were updated.
-* Added the classes SaveFileDialog.cs and Screen.cs
-
-2002-5-7 Dennis Hayes <dennish@raytek.com>
-* Added duplicate values
-* System.Windows.Forms.Keys.cs
-
-2002-5-7 Dennis Hayes <dennish@raytek.com>
-* LeftRightAlignment.cs
-* LinkBehavior.cs
-* LinkState.cs
-* ListViewAlignment.cs
-* MdiLayout.cs
-* MenuGlyph.cs
-* MenuMerge.cs
-* MessageBoxButtons.cs
-* MessageBoxDefaultButton.cs
-* MessageBoxIcon.cs
-* MessageBoxOptions.cs
-* MouseButtons.cs
-* Orientation.cs
-* PictureBoxSizeMode.cs
-* PropertySort.cs
-* Added some more enums. All have correct values.
-
-* 5-5-2002 Dennis Hayes <dennish@raytek.com>
-* Added enums
-*      GridItemType.cs
-*      HelpNavigator.cs
-*      HorizontalAlignment.cs
-*      ImeMode.cs
-*      ItemActivation.cs
-*      ItemBoundsPortion.cs
-*      Keys.cs
-* All correct execpt for Keys.cs which is missing a half dozen
-* duplicate entries that need correcting.
-
-2002-05-02 Daniel Carrera (dcarrera@math.utoronto.ca)
-* small update to classes [F-H]*
-* added stubbed and commented out classes for [I-L]*
-* added stubbed and commented out classes for R*
-2002-4-23 Dennis Hayes <dennish@raytek.com>
-
-       * AccessibleNavigation.cs :added to cvs with bad enum values, I will correct.
-       * AccessibleSelection.cs :added with good enum values.
-       * ContentsResizedEventHandler.cs :Added delagate
-       * MainMenu.cs
-       * AccessibleObject.cs
-       * MeasureItemEventArgs :added stubbed classes. Commented out.
-       * IButtonControl.cs : Added interface.
-2002-4-23 Dennis Hayes <dennish@raytek.com>
-* added stubbed and commented out classes from F to G *
-
-
-2002-04-10  Duncan Mak  <duncan@ximian.com>
-
-       * CaptionButton.cs:
-       * CharacterCasing.cs: 
-       * CheckState.cs: 
-       * DataGridParentRowsLabelStyle.cs: 
-       * DialogResult.cs: 
-       * DockStyle.cs: 
-       * DragAction.cs: 
-       * DragDropEffects.cs: 
-       * DrawItemState.cs: 
-       * DrawMode.cs: 
-       * ErrorBlinkStyle.cs: 
-       * ErrorIconAlignment.cs: 
-       * FlatStyle.cs: 
-       * FormBorderStyle.cs: 
-       * FormStartPosition.cs: 
-       * FormWindowState.cs: 
-       * FrameStyle.cs: Fixed enum layouts with EnumCheck.
+       * ITheme.cs: The theme engine now controls default window
+         properties
+
+2004-08-09 11:00  jackson
+
+       * ThemeWin32Classic.cs: Add default window color properties
+
+2004-08-09 10:17  jackson
+
+       * ThemeWin32Classic.cs: Use correct default back color
+
+2004-08-09 10:05  jackson
+
+       * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
+         the theme now.
+
+2004-08-09 09:56  jackson
+
+       * XplatUI.cs: Remove defaults, these are handled by the theme now.
+
+2004-08-09 09:54  jackson
+
+       * Control.cs: Get default properties from the theme.
+
+2004-08-09 09:53  jackson
+
+       * ITheme.cs: Themes now handle default control properties
+
+2004-08-09 09:53  jackson
+
+       * ThemeWin32Classic.cs: Themes now handle default control
+         properties so coloring will be consistent
+
+2004-08-08 16:54  jordi
+
+       * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
+
+2004-08-08 15:08  jordi
+
+       * XplatUIX11.cs: fixes keyboard crash
+
+2004-08-08 13:47  jordi
+
+       * Label.cs: add cvs header info
+
+2004-08-08 12:09  jackson
+
+       * ThemeWin32Classic.cs: Add pen_buttonface
+
+2004-08-08 11:52  jordi
+
+       * Label.cs, LinkLabel.cs: [no log message]
+
+2004-08-08 11:34  jordi
+
+       * ThemeWin32Classic.cs: Use Windows Standard Colours
+
+2004-08-07 17:32  jordi
+
+       * TrackBar.cs: throw exceptions of invalid enums values
+
+2004-08-07 17:31  jordi
+
+       * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
+         draw method name
+
+2004-08-07 16:56  jackson
+
+       * HorizontalAlignment.cs: Initial checkin
+
+2004-08-07 13:16  jordi
+
+       * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
+         methods
+
+2004-08-07 13:05  jordi
+
+       * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
+         GetSysColor defines
+
+2004-08-06 18:01  pbartok
+
+       * ThemeWin32Classic.cs:
+         - Fixed some rounding issues with float/int
+
+2004-08-06 18:00  jackson
+
+       * DockStyle.cs, AnchorStyles.cs:
+
+                 Add flags and serializable attributes.
+
+2004-08-06 17:46  pbartok
+
+       * XplatUIX11.cs:
+         - Implemented GetParent
+
+2004-08-06 17:18  pbartok
+
+       * TrackBar.cs:
+         - Fixed some rounding issues with float/int
+
+2004-08-06 17:17  pbartok
+
+       * X11Structs.cs, XplatUIX11.cs:
+         - Fixed Refresh and Invalidate
+
+2004-08-06 15:30  pbartok
+
+       * Control.cs, X11Structs.cs, XplatUIX11.cs:
+         - Fixed recursive loop when resizing
+         - Improved/fixed redrawing on expose messages
+
+2004-08-06 09:53  jordi
+
+       * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
+         keyboard navigation
+
+2004-08-06 08:02  pbartok
+
+       * X11Structs.cs, XplatUIX11.cs:
+         - Fixed reparenting
+         - Fixed window border creation
+
+2004-08-05 15:38  pbartok
+
+       * XplatUIX11.cs:
+         - Attempted fix for reparenting problems
+
+2004-08-04 15:14  pbartok
+
+       * Control.cs:
+         - Fixed Invalidation bug (calculated wrong client area)
+         - Added ClientSize setter
+
+2004-08-04 15:13  pbartok
+
+       * Form.cs:
+         - Added AutoScale properties
+
+2004-08-04 15:13  pbartok
+
+       * SWF.csproj:
+         - Added latest files
+
+2004-08-04 14:11  pbartok
+
+       * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
+         XplatUIX11.cs:
+         - Added Invalidate handling
+
+2004-08-03 17:09  jordi
+
+       * XplatUIDriver.cs: fixes spelling mistake
+
+2004-07-27 09:53  jordi
+
+       * TrackBar.cs: fixes trackbar events, def classname, methods
+         signature
+
+2004-07-27 09:29  jordi
+
+       * ScrollBar.cs: fixes scrollbar events
+
+2004-07-27 04:38  jordi
+
+       * Control.cs: changes to be able to run winforms samples
+
+2004-07-26 11:42  jordi
+
+       * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
+         ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
+
+2004-07-26 05:41  jordi
+
+       * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
+         MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
+         implementation
+
+2004-07-22 09:22  jordi
+
+       * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
+         check link overlapping, implement events, and fixes
+
+2004-07-21 10:28  jordi
+
+       * DialogResult.cs, IButtonControl.cs: fixes comments filenames
+
+2004-07-21 10:19  jordi
+
+       * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
+         LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
+         LinkLabelLinkClickedEventArgs.cs,
+         LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
+         XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
+         implementation
+
+2004-07-19 13:09  jordi
+
+       * Control.cs, Label.cs: label control re-written: added missing
+         functionlity, events, and properties
+
+2004-07-19 10:49  jordi
+
+       * Control.cs: fixes SetBounds logic
+
+2004-07-19 01:29  jordi
+
+       * Control.cs: Call RefreshWindow only if the window has created
+
+2004-07-15 14:05  pbartok
+
+       * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
+         - Implemented ImageList and ImageList.ImageCollection classes
+         - Added ColorDepth enumeration
+         - Updated SWF VS.Net project
+
+2004-07-15 11:06  jordi
+
+       * XplatUIStructs.cs: added MsgButons enum
+
+2004-07-15 11:03  jordi
+
+       * Control.cs: added basic mouse handeling events
+
+2004-07-15 03:38  jordi
+
+       * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
+         Vertical TrackBar control implementation
+
+2004-07-13 09:33  jordi
+
+       * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
+
+2004-07-13 09:31  jordi
+
+       * Control.cs, Form.cs: commit: new properties and fixes form size
+         problems
+
+2004-07-09 14:13  miguel
+
+       * ProgressBar.cs: Spelling
+
+2004-07-09 11:25  pbartok
+
+       * ProgressBar.cs:
+         - Removed usage of Rectangle for drawing. Miguel pointed out it's
+         faster
+
+2004-07-09 11:17  miguel
+
+       * ProgressBar.cs: 2004-07-09  Miguel de Icaza  <miguel@ximian.com>
+
+               * ProgressBar.cs: Fixed spelling for `block'
+
+               drawProgressBar: renamed to `DrawProgressBar' to follow the coding
+               style guidelines.
+
+               Avoid using the += on rect.X, that exposed a bug in the compiler.
+
+2004-07-08 23:21  pbartok
 
+       * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
+         AnchorStyles.cs, Application.cs, ApplicationContext.cs,
+         BaseCollection.cs, Binding.cs, BindingContext.cs,
+         BindingMemberInfo.cs, BindingsCollection.cs,
+         BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
+         BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
+         ButtonState.cs, CaptionButton.cs, CheckBox.cs,
+         ContainerControl.cs, Control.cs, ControlEventArgs.cs,
+         ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
+         ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
+         CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
+         DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
+         FrameStyle.cs, GiveFeedbackEventArgs.cs,
+         GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
+         HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
+         IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
+         InputLanguageChangedEventArgs.cs,
+         InputLanguageChangedEventHandler.cs,
+         InputLanguageChangingEventArgs.cs,
+         InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
+         InvalidateEventArgs.cs, InvalidateEventHandler.cs,
+         KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
+         KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
+         LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
+         MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
+         PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
+         QueryAccessibilityHelpEventArgs.cs,
+         QueryAccessibilityHelpEventHandler.cs,
+         QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
+         RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
+         ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
+         ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
+         TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
+         UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
+         XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
+         XplatUIX11.cs, lang.cs:
+         - Initial check-in