2006-04-14 Alexander Olk <alex.olk@googlemail.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 6332236fcaa37374141daeab435d775086ab189f..b539cea0eedf3497bc1d23dbdc4a7b3e2b56bdb4 100644 (file)
@@ -1,3 +1,243 @@
+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