2007-07-09 Jonathan Pobst <monkey@jpobst.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index efb3981bff3123990c8eab45bacf0e9ae401301c..581d73f2e0d6bcd26a580cb4fe9a983ea21a991c 100644 (file)
@@ -1,3 +1,439 @@
+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.