2006-05-17 Peter Dennis Bartok <pbartok@novell.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index a6679a0aae6619e052779dd9e75f704e2d7a0f68..4ec09aeb85eaa910d67cf69739f685091640e4b4 100644 (file)
@@ -1,7 +1,354 @@
+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