* Form.cs: remove the try-catch's around calls to GetWindowState.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 87fa99445eb7cdd214fc04800ed2777f858679c4..0cbe9de68df14db60f584626adfa84fa5a771838 100644 (file)
@@ -1,3 +1,759 @@
+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
        * TextBoxBase.cs: in CalculateScrollBars make sure LargeChange is
        >= 0.  Fixes bug #79370.
 
-2006-09-15  Jonathan Pobst <monkey@jpobst.com>
+2006-09-15  Jonathan Pobst <monkey@jpobst.com>
        * FlowLayoutPanel.cs, FlowLayoutSettings.cs: Initial commit.
        * Control.cs:
            Add properties: LayoutEngine, Margin, DefaultMargin.
 
        * FileDialog.cs: Store the configuration file in ~/.mono/mwf_config
 
-2006-09-13  Jonathan Pobst <monkey@jpobst.com>
+2006-09-13  Jonathan Pobst <monkey@jpobst.com>
 
        * SplitContainer.cs, SplitterPanel.cs: Initial implementation [2.0].