+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.)
+