-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