- Added and implemented GetFontMetrics() method
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index ed1711f1079414d5e7aff3796ad5f6b43e5c9839..4b46e2c1ea0ddeb6ebb117d93a8fef8af4e35c85 100644 (file)
@@ -1,8 +1,491 @@
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUI.cs: Added GetFontMetrics() method
+       * XplatUIDriver.cs: Added GetFontMetrics() abstract
+       * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
+         into libgdiplus, our private GetFontMetrics function
+       * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
+       * XplatUIWin32.cs: Implemented GetFontMetrics() method
+
+2004-12-16  Jackson Harper  <jackson@ximain.com>
+
+       * XplatUIStruct.cs: Add enum for dead keys
+       * X11Keyboard.cs: Map and unmap dead keys.
+
+2004-12-16  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Detect and use the num lock mask.
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * Control.cs (CreateGraphics): Added check to make sure the
+         handle of the window exists before calling Graphics.FromHwnd()
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
+         contains a lot of code that's not supposed to be there for the
+         real thing, but required for developing/testing the textbox
+         backend.
+
+2004-12-16  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs:
+       - Fixed Streamline method
+       - Added FindTag method to Line
+       - Added DumpTree method for debugging
+       - Added DecrementLines() method for deleting lines
+       - Fixed UpdateView to update the cursor to end-of-line on single-line
+         updates
+       - Added PositionCaret() method
+       - Fixed MoveCaret(LineDown) to move into the last line, too
+       - Added InsertChar overload
+       - Fixed InsertChar tag offset calculations
+       - Added DeleteChar() method
+       - Added Combine() method for folding lines
+       - Fixed Delete() method, no longer allocates wasted Line object and
+         now copies all properties when swapping nodes
+       - Delete() method now updates document line counter
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * XplatUIX11.cs: Get the modifier keys from the keyboard driver
+       * X11Keyboard.cs: Expose the currently selected modifier keys
+       through a property.
+
+2004-12-15  Peter Bartok  <pbartok@novell.com>
+
+       * TextControl.cs: Initial check-in. Still incomplete
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeNode.cs:
+       * TreeView.cs: Fix build on csc (second time today ;-))
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Store the treenodes plus/minus box bounds when it
+       is calculated and use this for click testing.
+       * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Pass the nodes image index to the image list when
+       drawing that image.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Set messages hwnd.
+       * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
+       post_message calls.
+
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Keyboard.cs: Fix to compile with csc.
+       
+2004-12-15  Jackson Harper  <jackson@ximian.com>
+
+       * X11Structs.cs: Add key mask values
+       * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
+       * X11Keyboard.cs: New file - Extrapolates and interpolates key
+       down/up foo into WM_CHAR foo
+       * KeyboardLayouts.cs: Common keyboard layouts
+       * XplatUIX11.cs: Add the keyboard driver. Add functionality to
+       post messages into the main queue.
+
+2004-12-13  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Button.cs: implement ProcessMnemonic
+       * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
+         brushes everytime
+       * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
+       * ButtonBase.cs: Show HotkeyPrefix (not the &)  
+
+2004-12-12  John BouAntoun  <jba-mon@optusnet.com.au>
+       
+       * MonthCalendar.cs: Implemented click-hold for next/previous month
+         and date selection
+         
+2004-12-11  Peter Bartok  <pbartok@novell.com>
+
+       * X11Structs.cs:
+         - Added XKeyboardState (moved from XplatUIX11.cs)
+         - Added XCreateGC related enums and structures
+         - Added GXFunction for XSetFunction
+
+       * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
+
+       * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
+         CaretVisible() calls
+
+       * ToolTip.cs: Added code to prevent stealing focus from app windows
+
+       * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
+         DestroyCaret, SetCaretPos and CaretVisible)
+
+       * XplatUIX11.cs:
+         - Added implementation for caret functions
+         - Moved hover variables into a struct, to make it a bit easier
+           on the eyes and to debug
+         - Removed XKeyboardState (moved to XplatUIX11.cs)
+         - Moved Keyboard properties into the properties region
+
+       * Control.cs (get_Region): Control.CreateGraphics is the appropriate
+         call to get a graphics context for our control
+
+       * XplatUIOSX.cs: Added empty overrides for the new caret functions
+
+       * TreeView.cs: Fixed bug. No matter what color was set it would always
+         return SystemColors.Window
+
+       * XplatUIWin32.cs: Implemented caret overrides
+
+2004-12-10  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: fire events, implement missing methods and properties,
+       sorting. 
+
+2004-12-10  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: invalidation bug fixing 
+       * ThemeWin32Classic.cs: paint fixing
+
+2004-12-09  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we 
+       prepare the CGContextRef there now.
+
+2004-12-09  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: 
+         - optimisationL only invalidate areas that have changed 
+       * ThemeWin32Classic.cs:
+         - only paint parts that intersect with clip_area
+
+2004-12-09  Peter Bartok  <pbartok@novell.com>
+
+       * Application.cs: Undid changes from r37004 which cause problems 
+       on X11
+
+2004-12-09  Ravindra  <rkumar@novell.com>
+
+       * ToolBar.cs: Added support for displaying ContextMenu
+       attached to a button on ToolBar.
+       * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
+       property.
+
+2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Label.cs: autosize works in text change and removes unnecessary
+       invalidate
+
+2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
+       remove warnings
+
+2004-12-08  Geoff Norton  <gnorton@customerdna.com>
+
+       * XplatUIOSX.cs: Added mouse move/click/grab support
+       Remove some debugging WriteLines not needed anymore.
+       Add window resizing/positioning.
+       Fix visibility on reparenting.
+
+>>>>>>> .r37496
+2004-12-08  Peter Bartok  <pbartok@novell.com>
+
+       * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
+
+2004-12-07  Geoff Norton  <gnorton@customerdna.com>
+
+        * XplatUIOSX.cs: Initial checkin
+        * XplatUI.cs: Use the Quartz driver if the environment is set to use it
+
+2004-12-03  Ravindra <rkumar@novell.com>
+
+       * ListView.cs: Added some keybindings and fixed scrolling.
+       ScrollBars listen to ValueChanged event instead of Scroll
+       Event. This would let us take care of all changes being
+       done in the scrollbars' values programmatically or manually.
+       * ListView.cs (CanMultiselect): Added a check for shift key.
+       * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
+       * ListViewItem.cs (Clone): Fixed. We need to make a copy
+       of ListViewSubItemCollection as well.
+
+2004-12-06  Peter Bartok <pbartok@novell.com>
+
+       * Control.cs (Parent): Added check and exception to prevent 
+       circular parenting
+
+2004-12-03  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs: implemented clipping, selection single and multiple,
+       bug fixing
+
+2004-12-03  Ravindra <rkumar@novell.com>
+
+       * ListView.cs (ListView_KeyDown):
+       * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
+       when CTRL key is pressed.
+       * ListViewItem.cs (Selected): Fixed setting the property.
+
+2004-12-03  Marek Safar  <marek.safar@seznam.cz>
+\r
+       * Application.cs (OnThreadException): Use ThreadExceptionDialog.\r
+
+       * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,\r
+       MinimizeBox, ShowInTaskbar, TopMost properties.\r
+\r
+       * ThreadExceptionDialog.cs: Implemented (disabled TextBox until\r
+       will be implemented).
+\r
+2004-12-03  Marek Safar  <marek.safar@seznam.cz>
+
+       * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
+
+       * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
+       tests.
+       
+       * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
+       
+       * TreeView.cs: BackColor is Colors.Window.
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: When resizing the tree if the user is making it
+       smaller we don't get expose events, so we need to handle adding
+       the horizontal scrollbar in the size changed handler as well as
+       the expose handler.
+
+2004-12-02  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * DrawItemState.cs: fixes wrong enum values
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * TreeView.cs: Resize the hbar as well as the vbar on resize.
+
+2004-12-01  Jackson Harper  <jackson@ximian.com>
+
+       * NodeLabelEditEventArgs.cs:
+       * NodeLabelEditEventHandler.cs:
+       * OpenTreeNodeEnumerator.cs:
+       * TreeNode.cs:
+       * TreeNodeCollection.cs:
+       * TreeView.cs:
+       * TreeViewAction.cs:
+       * TreeViewCancelEventArgs.cs:
+       * TreeViewCancelEventHandler.cs:
+       * TreeViewEventArgs.cs:
+       * TreeViewEventHandler.cs: Initial implementation.
+
+2004-12-01  Ravindra <rkumar@novell.com>
+
+       * ListView.cs (CalculateListView): Fixed scrolling related
+       calculations. Also, removed some debug statements from other
+       places.
+       * ListViewItem.cs: Changed access to 'selected' instance variable
+       from private to internal.
+       * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
+
+2004-12-01  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ThemeWin32Classic.cs: remove cache of brush and pens for 
+       specific controls and use the global system, fixes scrollbutton
+       bugs (for small sizes, disabled, etc)
+       
+       * ScrollBar.cs: does not show the thumb for very small controls
+       (as MS) and allow smaller buttons that the regular size
+
+2004-12-01  Miguel de Icaza  <miguel@ximian.com>
+
+       * UpDownBase.cs: Add abstract methods for the interface.
+       Add new virtual methods (need to be hooked up to TextEntry when it
+       exists).
+       Add override methods for most features.
+       Computes the size, forces the height of the text entry.
+
+       * NumericUpDown.cs: Put here the current testing code.
+
+       * Set eol-style property on all files that do not have mixed line
+       endings, to minimize the future problems.  There are still a few
+       files with mixed endings, and someone should choose whether they
+       want to move it or not.
+
+2004-11-30  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * MonthCalendar.cs, ListView.cs: use Theme colours instead of 
+       System.Colors
+       
+2004-11-30  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
+       drawing and replaced use of SystemColors by theme colors.
+       * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
+       * ListView.cs (ListViewItemCollection.Add): Throw exception when
+       same ListViewItem is being added more than once.
+
+2004-11-30  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs:
+         - ControlStyles love to make the control not flicker
+         
+2004-11-30  Peter Bartok  <pbartok@novell.com>
+
+       * CharacterCasing.cs: Added
+
+2004-11-29  Peter Bartok  <pbartok@novell.com>
+
+       * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
+         TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
+          I am removing these files as they conflict with already completed 
+          work. While it is fantastic to get contributions to MWF, I 
+          respectfully ask that everyone please coordinate their contributions 
+          through mono-winforms-list or #mono-winforms at this time. We're 
+          explicitly avoiding stubbing and don't want controls that don't have 
+          their basic functionality implemented in svn. Please also see 
+          http://www.mono-project.com/contributing/winforms.html
+
+
+2004-11-29  Marek Safar  <marek.safar@seznam.cz>
+
+       * Application.cs (ModalRun): Don't hang after exit.
+
+       * Theme.cs: New TreeViewDefaultSize property.
+
+       * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
+       with less hardcoded SystemColors constant.
+       Implemented TreeViewDefaultSize.
+
+       * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
+       TreeViewAction.cs, TreeViewEventArgs.cs: New files.
+
+
+2004-11-29  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: 
+         - Fix NextMonthDate and PrevMonthDate click moving calendar
+
+2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: 
+         - Fix usage of ScrollChange Property when scrolling months
+
+2004-11-26  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
+        - Fixes menu destroying
+        - Support adding and removing items on already created menus           
+
+2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: 
+         - Re-worked all bolded dates handling to match win32
+       * ThemeWin32Classic.cs:
+         - Fixed rendering with bolded dates
+
+2004-11-25  Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:   
+       - Horizontal scroolbar  
+       - Multicolumn
+       - Fixes
+
+
+2004-11-25  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: 
+         - Fix Usage of MaxSelectionCount from SelectionRange
+         - Fixed Shift + Cursor Selection
+         - Fixed Shift + (Pg up/Pg dn, Home/End) selection
+         - Fixed normal cursor selection to be compat with win32
+         - Fixed Shift + Mouse Click selection
+
+2004-11-24  Peter Bartok <pbartok@novell.com>
+
+       * XplatUI.cs (DispatchMessage): Switched to return IntPtr
+       * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
+       * XplatUIX11.cs: 
+         - CreatedKeyBoardMsg now updates keystate with Alt key
+         - Added workaround for timer crash to CheckTimers, Jackson will
+           develop a proper fix and check in later
+         - Implemented DispatchMessage
+         - Removed calling the native window proc from GetMessage (call
+           now moved to DispatchMessage)
+
+       * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
+         the keydata (Fixes bug #69831)
+
+       * XplatUIWin32.cs:
+         - (DispatchMessage): Switched to return IntPtr
+         - Added DllImport for SetFocus
+
+2004-11-24  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs: Fixed ListView border and checkbox
+       background drawing.
+       * ListViewItem.cs: Fixed various properties, calculations
+       and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
+       * ListView.cs: Fixed calculations, BackColor, ForeColor properties
+       and some internal properties. Fixed MouseDown handler and Paint
+       method.
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * MonthCalendar.cs: Add TitleMonth ContextMenu handling
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ContainerControl.cs: correct accidental check in of local changes
+
+2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: 
+               - Fixed Drawing Last month in grid (sometimes not showing)
+       * MonthCalendar.cs:
+               - Fixed title width calculation bug (makeing title small)
+
+2004-11-23  Peter Bartok <pbartok@novell.com>
+
+       * XplatUIX11.cs: 
+         - Added generation of WM_MOUSEHOVER event
+         - Added missing assignment of async_method atom
+         - Fixed WM_ERASEBKGND; now only redraws the exposed area
+
+2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: 
+               - Fixed Drawing of today circle when showtodaycircle not set
+               - fixed drawing of first and last month in the grid (gay dates)
+       * MonthCalendar.cs:
+               - Fixed Drawing of today circle
+               - Fixed drawing of grady dates
+               - Fixed HitTest for today link when ShowToday set to false
+               - Fixed DefaultSize to obey ShowToday
+
+2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
+
+       * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
+       * System.Windows.Forms/Theme.cs
+       * MonthCalendar.cs: added for MonthCalendar
+       * SelectionRange.cs: added for MonthCalendar
+       * Day.cs: added for MonthCalendar: added for MonthCalendar
+       * DateRangeEventArgs.cs: added for MonthCalendar
+       * DateRangeEventHandler.cs: added for MonthCalendar
+
+2004-11-22  Ravindra <rkumar@novell.com>
+
+       * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
+       property.
+
 2004-11-22  Miguel de Icaza  <miguel@ximian.com>
 
+       * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
+       event handler.
+       
        * NumericUpDown.cs: Added new implementation.
        * UpDownBase.cs: Added new implementation.
-       
+
        * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
        implementations.