- Trying to get our CHangeLog back
authorPeter Dennis Bartok <pbartok@mono-cvs.ximian.com>
Thu, 2 Feb 2006 18:39:43 +0000 (18:39 -0000)
committerPeter Dennis Bartok <pbartok@mono-cvs.ximian.com>
Thu, 2 Feb 2006 18:39:43 +0000 (18:39 -0000)
svn path=/trunk/mcs/; revision=56482

1  2 
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog.good

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9076a9355fcb3f4967cc21a55cbba12f3b8305bc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10774 @@@
++2006-02-01  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: 
++        - Added method to get AbsoluteGeometry(); currently unused, but might
++          be used in the future, if we try again to figure out toplevel
++          coordinates with some more crappy window managers
++        - Added FrameExtents() method to retrieve the WM set decoration size
++        - Tried to fix up AddConfigureNotify and handling of ReparentNotify 
++          to deal with at least KDE, FVWM and metacity (Fixes #77092)
++      * Hwnd.cs: Added whacky_wm tracking var for metacity
++
++2006-01-31  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: When a new Site is set on the component attempt to
++      pull the AmbientProperties from it.
++
++2006-01-31  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
++        in the background of the owning form. Fixes #77332
++
++2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
++
++      * MimeIcon.cs: Fix for #77409
++
++2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
++
++      * XplatUIX11GTK.cs: Initial import
++
++2006-01-31  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * FixedSizeTextBox: fixes class signature
++
++2006-01-30  Jackson Harper  <jackson@ximian.com>
++
++      * FixedSizeTextBox.cs: New internal class that represents a
++      textBox that will not be scaled.
++      * TreeView.cs:
++      * ComboBox.cs:
++      * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
++      standard TextBox.
++              
++2006-01-30  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUIX11.cs: Retrieve default screen number instead of
++        assuming 0. Attempted fix for #77318
++
++2006-01-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: 
++        - GetWindowPos: When a window is parented by FosterParent, use 
++          the desktop instead of FosterParent as the base to get coordinates
++        - CreateWindow: Don't make FosterParent the parent window for Popups
++          if we don't want a taskbar entry, Popups automatically don't get one
++      * Hwnd.cs: Need to call remove to actually remove the key from the
++        hash table
++
++2006-01-30  Mike Kestner  <mkestner@novell.com>
++
++      * MenuAPI.cs: adjust MainMenu item popup location to y=0.
++
++2006-01-30  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs:
++      * TreeNode.cs: Raise events no matter how the treenode is
++      checked. Patch by Don Edvalson.
++
++2006-01-30  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Signature fix.
++
++2006-01-29  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
++
++2006-01-20  Mike Kestner  <mkestner@novell.com>
++
++      * Form.cs: Add ActiveTracker property to do Captures and perform mouse
++      event forwarding when menus are active.
++      * MenuAPI.cs: kill the GrabControl hack.  Use Form.ActiveTracker.
++      Most of the patch is pdb's with a little rework.
++
++2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs: 
++        Removed GetMenuDC and ReleaseMenuDC methods; replaced
++        by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
++      * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
++      * InternalWindowManager.cs: Added use of PaintEventStart/End to
++        handling of WM_NCPAINT message, now passing the PaintEventArgs to
++        the PaintWindowDecorations method
++      * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
++      * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
++      * MenuAPI.cs: Made tracker window invisible
++      * XplatUIWin32.cs:
++        - Removed GetMenuDC and ReleaseMenuDC methods
++        - Implemented the client=false path for PaintEventStart and
++          PaintEventEnd
++
++2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
++      * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
++        styles
++      * Form.cs: 
++        - MaximizeBox, MinimizeBox: Recreate the handle when setting
++          the style
++        - CreateParams: Reworked the styles to match MS look'n'feel,
++          removed automatic setting of MinimizeBox, MaximizeBox, etc. via
++          the WS_OVERLAPPEDWINDOW style. This fixes #76823.
++
++2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUIX11.cs(GetWindowState): Now throwing an exception when the 
++        window is not mapped, since otherwise every form that's being 
++        created is considered minimized, which is wrong.
++      * Form.cs: Catching the exception and returning our internal value
++        instead
++
++2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
++        SetWindowMinMax() to have means to tell the driver about the minimum,
++        maximum and maximized state window sizes. (Part of the fix for #76485)
++      * Form.cs:
++        - Implemented tracking of minimum and maximum window size, now calling
++          new SetWindowMinMax() driver method to tell the driver (Part of the
++          fix for #76485)
++        - Finished handling of WM_GETMINMAXINFO method, now setting all values
++          (Completes fix for #76485)
++        - Calling new SetWindowMinMax driver method when the handle for a 
++          form is created, to make sure the driver knows about it even if
++          the values have been set before the window was created
++        - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
++          to avoid messing up our anchoring calculations (partial fix
++          for #77355)
++      * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
++      * XplatUIX11.cs:
++        - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
++        - Improved GetWindowState() to detect 'Minimized' state on Metacity 
++          (and presumably other freedesktop.org compliant WMs). Left the
++          assumption unmapped=minimized, needed for SetVisible to work.
++        - Now setting the window state when creating windows
++        - Fixed SetVisible to consider/set the window state when mapping
++          a Form. We cannot set the state before it's mapped, and we cannot
++          use Form.WindowState once it's mapped (since it would ask the
++          driver and get 'normal'. Therefore, we grab the state before
++          mapping, map, and then set state.
++        - Implmemented SetWindowMinMax method; Metacity does not seem to
++          honor the ZoomHints, though.
++      * XplatUIWin32.cs:
++        - Removed MINMAXINFO (moved to XplatUIStructs)
++        - Added SetWindowMinMax stub (on Win32 the only way to set that
++          information is in response to the WM_GETMINMAXINFO message, which
++          is handled in Form.cs)
++        - Added logic to SetVisible to set the proper window state when a 
++          form is made visible (fixes #75720)
++
++2006-01-26  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs (BeginInvoke): Automagically handle EventHandlers the
++      same way we handle them with Invoke.
++
++2006-01-25  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Form.cs:
++        - Added tracking of window state so CreateParams can return
++          the appropriate style
++        - Moved setting of WS_CAPTION style in CreateParams to allow
++          styles without caption
++      * DataGridTextBoxColumn.cs: We are now also creating the TextBox 
++        control if the TextBox property is accessed. Fixes #77345
++      * Control.cs:
++        - get_Created: now uses is_disposed and is_created to determine
++          return value (suggested by Jackson)
++        - CreateHandle: No longer exits if the handle is being recreated
++        - RecreateHandle: If the handle is not yet created call the 
++          appropriate method to create either control or handle. If the
++          control is already created CreateHandle will simply exit instead
++          of just creating the handle
++      * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
++        now SendMessage WM_DESTROY directly to the control when DestroyWindow
++        is called.
++      * XplatUIX11.cs: 
++        - When DestroyWindow is called, instead of waiting for the 
++          DestroyNotification from X11, we directly post it to the WndProc
++          and immediately dispose the hwnd object.
++          Same applies to DestroyChildWindows, and this obsoletes the
++          expose_pending tracking. Contrary to Win32 behaviour we destroy our
++          child windows before our own, to avoid X11 errors.
++        - Removed the direct sending of WM_PAINT on UpdateWindow
++      * XplatUIWin32.cs:
++        - Reworked DoEvents and GetMessage to allow access to internal queue
++          even when trying non-blocking access to the queue.  Fixes #77335. 
++          Based on a patch suggestion by Don Edvalson. The new private
++          GetMessage can now also be used as a backend for a PeekMessage
++          frontend version.
++      * XplatUI.cs: Improved debug output for CreateWindow
++
++2006-01-25  Jackson Harper  <jackson@ximian.com>
++
++      * Help.cs: Allow param to be null. Patch by Don Edvalson.
++
++2006-01-24  Jackson Harper  <jackson@ximian.com>
++
++      * ComboBox.cs: Clamp the max value set for the vertical scrollbar
++      when we have a MaxDropItems lower then the selected index.
++
++2006-01-24  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Don't allow selection of non visible controls, allow
++      selection of controls without parents.
++
++2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
++      * DataGridDrawingLogic.cs: Add editing row only when is necessary
++
++2006-01-23  Jackson Harper  <jackson@ximian.com>
++
++      * UpDownBase.cs: Make the textbox handle all the selection and
++      tabbing. This fixes tabing to updown controls.
++
++2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * TextBoxBase.cs: fixes exception thown the object was null
++
++2006-01-23  Jackson Harper  <jackson@ximian.com>
++
++      * ButtonBase.cs: Just use the base CreateParams. They set
++      visibility and enabled correctly.
++      * ComboBox.cs:
++      * TrackBar.cs:
++      * MonthCalendar.cs: Lets let the base set as much of the
++      createparams as possible so we don't have duplicate code all over
++      the place.
++
++2006-01-22  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeGtk.cs: Added TrackBar and some experimental code to
++        get double buffering back
++
++2006-01-21  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * DataGrid.cs: Allows row number set internally higher than the last
++      when creating a new row. Restores the editing functionality.
++
++2006-01-20  Mike Kestner  <mkestner@novell.com>
++
++      * MimeIcon.cs: delay Image creation until the icons are accessed
++      instead of creating 190 scaled images on GnomeHandler startup.
++
++2006-01-19  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
++        first call base before processing the event. Fixes #77279
++
++2006-01-19  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
++        that the stride for the GDI bitmap would match the stride of
++        a DIB or a Cursor.
++
++2006-01-19  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
++
++2006-01-19  Jackson Harper  <jackson@ximian.com>
++
++      * ComboBox.cs: Hookup the text controls keydown event so we get
++      those when the text control has the focus.
++
++2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Label.cs: Now using the base events instead of defining new ones;
++        this allows us to just call the base properties without having to
++        duplicate all base property logic 
++
++2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Label.cs: A label by default is not a tabstop (Fixes one of our
++        failing nunit tests)
++
++2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
++      * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
++
++2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Cursor.cs: Reimplemented creating cursor bitmaps without using
++        the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
++        This fixes #77218
++      * XplatUIWin32.cs: 
++        - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream) 
++          constructor creates images that can't be saved. Part of the fix
++          for #76103
++        - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
++        - SetWindowState: Switched ShowWindow flags (part of an upcoming 
++          bug fix for handling window state in forms properly)
++
++2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeGtk.cs: Simplify ScrollBar drawing
++
++2006-01-18  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: Set the default dock style for the splitter control
++      in the constructor.
++
++2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeGtk.cs: Corrected StateType and ShadowType for
++        gtk_paint_box
++
++2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * Control.cs: Make use of Theme.DoubleBufferingSupported
++      * ThemeGtk.cs:
++        - Added drawing for flat style buttons
++        - Added ScrollBar drawing
++
++2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Removed some unneeded code.
++      * ThemeGtk.cs: First part of ThemeGtk enhancements.
++
++2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * LinkLabel.cs: We need to update the hover drawing when
++        leaving the control as well.
++
++2006-01-18  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * DataGrid.cs: Clicking on non empty areas in the columns
++         area was giving an exception
++
++2006-01-17  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs:
++      * ListView.cs: Do not draw/clip the headers when the header style
++      is None.
++
++2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * DataGrid.cs: Fixes 77260
++      
++2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * DataGrid.cs: Clicking on a column on a empty grid was giving
++        an exception
++
++2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
++        or any keypress will crash the grid.
++
++2006-01-17  Mike Kestner  <mkestner@novell.com>
++
++      * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
++      * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for 
++      invisible/previously-visible items.
++      [Fixes #76909]
++
++2006-01-17  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs:
++      - Added CL_Draw_Button method; now other theme controls that are 
++        not derived from button or do not have a button can draw buttons
++        too
++      - Updated ComboBox drawing
++      - Beautified RadioButton drawing
++      - Corrected drawing of bottom and left tabs
++      - Beautified DateTimePicker and MonthCalendar
++      - Added CPDrawButton and CPDrawRadioButton
++
++2006-01-16  Jackson Harper  <jackson@ximian.com>
++
++      * ComboBox.cs: Set the initial value of the scrollbar to the
++      current index. Reduce the numbers of refreshs and IndexOfs called.
++
++2006-01-14  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: When the file listview is focused hitting the
++        backspace key moves the fileview to the parent directory
++
++2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Form.cs: 
++        - Added RecreateHandle call when changing taskbar visibility to 
++          trigger reparenting in Win32 driver (Fixes #75719)
++        - If a window has minimize or maximize buttons, it cannot have
++          a help button
++      * XplatUIWin32.cs:
++        - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
++          the toplevel form with FosterParent (A toolwindow not on the
++          taskbar) (Fixes #75719)
++        - Made FosterParent a toolwindow
++
++2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
++
++2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ToolTip.cs: If SetToolTip is called from a control and the mouse
++        is currently over that control, make sure that tooltip_window.Text
++        gets updated
++
++2006-01-13  Mike Kestner  <mkestner@novell.com>
++
++      * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
++
++2006-01-13  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: On MS GetNodeAt never actually factors in the X
++      value passed.  Also redraw the selected node when we recieve
++      focus, so tabbing between trees works correctly.
++
++2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
++
++      * MimeIcon.cs: GnomeHandler: older gnome versions don't have
++        ~/.gconf/%gconf-tree.xml, so use
++        .gconf/desktop/gnome/interface/%gconf.xml
++
++2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs: Draw text in gray if control is disabled
++
++2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TreeView.cs: Draw the focus rectangle outside the highlight, to
++        make sure it's always visible. Fixes #76680.
++
++2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
++
++2006-01-13  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PageSetupDialog.cs: Added.
++      * PrintDialog.cs: Attributes.
++      * PrintPreviewControl.cs: Updates.
++      * PrintPreviewDialog.cs: Updates.
++      
++2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Undid my selection check fix, since it's not needed
++      * TextBoxBase.cs:
++        - Now considering the presence of hscroll/vscroll when sizing
++          vscroll/hscroll respectively. Fixed bug #77077
++        - Added Left/Up/Down/Right to IsInputKey list to prevent
++          ContainerControl from stealing them. This fixes what I broke
++          with my last checkin.
++
++2006-01-12  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
++        I finally understand how the property can be set without a setter :-)
++
++2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Application.cs:
++        - Switched RunLoop to use static Message.Create to create a 
++          Message object
++        - Added PreProcessMessage call in runloop for keyboard events; this
++          is part of the fix for #77219, I overlooked this originally in the
++          MSDN doc for PreProcessMessage
++      * Control.cs:
++        - Removed call to PreProcessMessage from handling of keyboard 
++          messages; it's supposed to be done in the message pump
++        - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
++          per MSDN documentation.
++        - IsInputChar: All chars are input chars by default; removed the 
++          parent calling chain, MS does not document that
++        - PreProcessMessage: If IsInputChar is true, we want to return false
++          to allow dispatching of the message
++        - When selecting the next control, now also check that we're not
++          selecting ourselves again and therefore return a false positive.
++      * TextBoxBase.cs:
++        - Tried to match return values for IsInputKey and ProcessDialogKey
++          to what MS returns; moved processing of our special keys outside
++          ProcessDialogKey since MS does not seem to return true on those.
++        - Moved code that previously was in ProcessDialogKey into new private
++          ProcessKey method, which gets called upon receipt of WM_KEYDOWN
++        - Reworked handling of WM_CHAR to not have to duplicate code from
++          Control.cs anymore, instead we simply call down to base.
++         
++2006-01-12  Jackson Harper  <jackson@ximian.com>
++
++      * ComboBox.cs: We always need to refresh the text area when
++      EndUpdate is called. Fixes the combobox in the file dialog.
++      * Control.cs: Don't create the creator_thread until the controls
++      handle is created.  Also in InvokeRequired we check if the
++      creator_thread is null. This gives the effect of InvokeRequired
++      returning true if the controls handle is not created yet, and
++      matches MS.
++
++2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs:
++        - Added StartLoop() driver method. This is used to allow drivers to
++          prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
++          loop for a particular thread
++        - Added EndLoop() driver method. This is called once the message
++          pump for the thread is shut down
++        - Added SupportsTransparency method to allow the driver to indicate
++          opacity support for windows
++      * Form.cs:
++        - Removed TODO attribute, completed AllowTransparency property
++        - Added documented logic to Opacity
++      * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
++        ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
++        versions of CompatibleTextRendering
++      * X11Structs.cs: Added opacity atom to our atom enumeration
++      * Hwnd.cs: Added opacity tracking (we need to track since the opacity
++        of a form might be set before it's reparented by the WM, and we need
++        the opacity value without calling up to Form)
++      * XplatUIDriver.cs: Added StartLoop(), EndLoop() and 
++        SupportsTransparency() driver methods
++      * Application.cs: Now calling StartLoop and EndLoop driver methods
++      * XplatUIX11.cs:
++        - Added opacity atom registration
++        - Added StartLoop()/EndLoop() methods. They're empty right now but
++          will need to get implemented when we switch to a per-thread queue
++        - Implemented SupportsTransparency() method
++        - Implemented SetWindowTransparency() method
++        - Added support for setting the opacity value when a window is
++          reparented (since the opacity needs to be set on the WM frame)
++      * XplatUIOSX.cs, XplatUIWin32.cs:
++        - Added SupportsTransparency(), StartLoop() and EndLoop() methods
++
++2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
++
++2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Added ToolTip for MWFFileView
++      * MimeIcon.cs: Rewrote GnomeHandler.
++        - Get currently used gnome icon theme from
++          ($HOME)/.gconf/%gconf-tree.xml
++        - Make use of inherited icon themes
++        - Support SVG icon themes like Tango via librsvg
++
++2006-01-12  Miguel de Icaza  <miguel@novell.com>
++
++      Revert's Jackson's revert which broke 2.0 builds.   Fix both
++      builds. 
++      
++      * Application.cs: Move the use_compatible_text_rendering outside
++      the NET_2_0 define.  If we ever need to use the
++      use_compatible_text_rendering on the individual controls they will
++      access the variable from the common shared code paths.
++
++2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs:
++        - Added more granular debug options
++        - Added method to print both window text and id
++        - Switched debug output to use new Window() debug method
++        - Added IsEnabled() driver method
++        - Added EnableWindow() driver method
++      * Form.cs:
++        - Removed end_modal; no longer needed, new loop handles termination
++          via 'closing' variable
++        - If form is modal, setting DialogResult will now initiate loop
++          termination via 'closing' variable
++        - Added support for is_enabled/WS_DISABLED to CreateParams
++        - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
++          does all the work
++        - Removed code that's now in RunLoop from ShowDialog()
++        - Added various documented sanity checks to ShowDialog()
++        - Added handling of WM_DESTROY message; we set 'closing' on getting
++          the message to indicate the message pump to terminate
++        - Added handling of new internal WM_CLOSE_INTERNAL message - it's
++          send by the Application.ExitThread method. (We send the message
++          to destroy the window after all other events have been
++          processed through the queue, instead of destroying the handle 
++          directly)
++        - Moved code from Close() method to WM_CLOSE handler; added logic
++          to only send close-related events if the form is not displayed
++          modal
++      * Splitter.cs (..ctor): Fixed typo in resource name
++      * Control.cs:
++        - DrawBackgroundImage: Explicitly selecting the wrap mode for the
++          brush now
++        - set_Cursor: Now only setting calling into XplatUI if the handle for
++          the control is already created; this avoids implict handle creation
++          or crashes if it's not created
++        - set_Enabled: Now setting the enabled state via the new driver method
++          instead of just tracking it
++        - CreateParams: Added logic to set WS_DISABLED based on enabled state
++        - CreateControl: Reordered event firing and method calls to more
++          closely fire events in the order MS does. Now setting the
++          enabled state in the driver when creating the control.
++        - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
++          match MS order
++      * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
++        MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED 
++      * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
++      * Hwnd.cs:
++        - Added tracking of window enabled state (get_Enabled/set_Enabled)
++        - Added EnabledHwnd property to easily allow a driver to find the
++          handle of the first enabled window in the parent chain (this is
++          used by drivers to pass up input events of disabled windows)
++      * XplatUIDriver.cs: Added IsEnabled() method
++      * Application.cs:
++        - Removed crude and obsolete exiting tracking variable
++        - Removed internal ModalRun(); replaced by RunLoop()
++        - Implemented private CloseForms() method to allow closing all 
++          windows owned by a particular (or all) threads
++        - Exit() now properly closes all windows without forcing the message
++          pump to quit
++        - Removed obsolete InternalExit() method
++        - Changed Run() methods to use new RunLoop() message pump
++        - Implemented new RunLoop() method for both modal and non-modal forms
++      * CommonDialog.cs:
++        - get_CreateParams: Added setting of WS_DISABLED
++        - Simplified ShowDialog(); now all the work is done in RunLoop(),
++          invoked via Form.ShowDialog()
++      * NativeWindow.cs: We don't remove the window from the collection when
++        the handle is destroyed; there might still be messages for it in the
++        queue (mainly the resulting WM_DESTROY); instead it will be removed
++        when Control calls InvalidateHandle in the WM_DESTROY handler
++      * XplatUIX11.cs:
++        - CreateWindow: Added logic to handle the WS_DISABLED window style
++        - EnableWindow: Implemented based on Hwnd.Enabled
++        - GetMessage: Reset PostQuitState so the method can be called again
++        - Implemented support for disabled windows (passing messages to the
++          first enabled parent) in handling all input messages
++        - Added optimizations for handling Expose events
++        - Implemeted new driver method IsEnabled()
++        - Now always resetting paint pending tracking vars when we start paint
++        - Re-implemented UpdateWindow via just sending a WM_PAINT message
++      * XplatUIOSX.cs: Added IsEnabled method stub
++      * XplatUIWin32.cs: Implemented new IsEnabled() method
++
++2006-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
++      LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
++      variables a little.
++      * ColorDialog.cs: Clear out the old form before adding the new
++      panel.  
++
++2006-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Make sure to add all the text formats when adding
++      strings to the data object.
++      * TreeNodeCollection.cs: When adding to a sorted tree we need to
++      do some redrawing too.  Also change the UpdateNode to an
++      UpdateBelow so the newly added node gets painted.
++      
++2006-01-11  Miguel de Icaza  <miguel@novell.com>
++
++      * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
++      LinkLabel.cs, PropertyGrid.cs: Implement the
++      UseCompatibleTextRendering property for 2.x
++
++      * Application.cs (SetCompatibleTextRenderingDefault): Add. 
++
++2006-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Use the property for setting the selected node so
++      the correct events get raised.
++      * TreeNode.cs: Update the tree when the fore/back colours of a
++      node are set.
++
++2006-01-10  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Allow setting SelectedNode to null.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PrintControllerWithStatusDialog.cs: Update page number in dialog.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PrintDialog.cs: Added attributes and set default property values.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PrintControllerWithStatusDialog.cs: 
++      Added PrintControllerWithStatusDialog.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs, 
++      XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
++
++2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
++
++2006-01-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * ComboBox.cs: Added KeyDown event handler for processing arrow keys
++      and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
++
++2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
++
++      * MimeIcon.cs: Added internal class SVGUtil.
++
++2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Don't crash if there are two files with the
++        same name but different locations.
++
++2006-01-08  John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * MonthCalendar.cs: Fixed annoying rendering bug when selecting
++      dates across multiple month grids. Used to not highlight entire 
++      month, but does now.
++      
++2006-01-06  Jackson Harper  <jackson@ximian.com>
++
++      * MonthCalendar.cs: Removed DoEvents call to prevent a running
++      message loop. Change timer intervals to numbers that seem more
++      natural.
++
++2006-01-06  John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
++        object for location info since screen object is now implemented.
++
++2006-01-05  Jackson Harper  <jackson@ximian.com>
++
++      * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
++      * AsyncMethodResult.cs: We no longer use a WeakReference for the
++      AsyncMethodResult, this is because we ALWAYS want the
++      ManualResetEvent to get set.
++      * Control.cs: When disposing use an async invoke to call shutdown
++      code, so that thigns don't block on the finalizer thread.  Also
++      check if we even have a message loop before trying to send
++      messages, if we don't then don't bother sending messages.
++      - No more weak references for async methods
++      * XplatUIDriver.cs: No more weak references for async methods.
++
++2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
++        returns two FontFamily with the same name
++
++2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of 
++        drawing disabled text. Instead using the ColorGrayText color
++
++2006-01-04  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: redraw the node when its image index is changed.
++
++2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * RichTextBox.cs: Same fix as last, just for SelectionColor. This
++        time I checked there are no others like it.
++
++2006-01-04  Jackson Harper  <jackson@ximian.com>
++
++      * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
++      this gives the behavoir I was looking for.
++      * Control.cs: Special case Invoking EventHandlers, this matches MS
++      and fixes part of bug #76326.
++
++2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs, FileDialog.cs:
++        - Reflect the latest Theme class changes
++        - Remove Mono.Unix.Syscall.time in FileDialg and replace it 
++          with DateTime
++          
++2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
++
++      * Theme.cs: Cache UI resource images and resize them if needed
++
++2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
++        is called. This fixes the crash in Nexxia when setting the font
++        attributes in the chat. [However, RTF needs a look-over to make sure
++        that all SelectionXXX methods handle the special case that selection
++        is empty and therefore the change must be applied to all text starting
++        at the cursor/selection start]
++
++2006-01-03  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
++        XplatUIOSX.cs: Added SendMessage and PostMessage methods
++      * X11Keyboard.cs: Switched to new way of calling PostMessage
++
++2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Theme.cs: Added theme interface for images to allow the theme to
++        control what images are used for things like FileDialog, MessageBox
++        icons, etc.
++      * MessageBox.cs: Now uses the new Theme icon/image interfaces
++
++2006-01-03  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs:
++        - Removed some dead code
++        - Opening a recently used file does work now
++        - Small UI enhancements
++        - Refactoring
++
++2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Forgot too add __MonoCS__
++
++2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: We are able to read recently used files now let's
++        go on and write them.
++
++2006-01-01  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Breathe some life into "last open"/"recently used"
++        button
++      * MimeIcon.cs: Do a check for the top level media type also
++
++2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs:
++        - Added CPDrawStringDisabled
++        - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
++          some chars if the text doesn't fit into text_rect
++        - DrawListViewItem: If View = View.LargeIcon center the image;
++          rewrote the drawing of ListViewItem.Text if View = 
++          View.LargeIcon
++
++2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
++
++      * MimeIcon.cs: Use default KDE icon theme if there is no
++        "48x48" directory for the current icon theme, fixes #77114
++      * Mime.cs: Disable not working and actually not used code. 
++      * ThemeWin32Classic.cs:
++        - Replace "new SolidBrush" in GetControlBackBrush and
++          GetControlForeBrush with ResPool.GetSolidBrush
++        - Changed DrawListViewItem from private to protected virtual
++      * FileDialog.cs:
++        - Added form.MaximizeBox = true
++        - Don't throw an exception if there is a broken symbolic link
++
++2005-12-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Give the panels focus, keyboard navigation is
++      fixed so this works correctly now.
++      - We need these key events also.
++      * ToolBar.cs: Remove some of the poor mans double buffering.
++      
++2005-12-24  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ComboBox.cs: The internal TextBox now returns the focus.
++
++2005-12-23  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs:  Draw the text for all tab appearances.
++
++2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Removed debug code
++      * XplatUIX11.cs: Changed DestroyChildWindows to also consider
++        implicit children
++
++2005-12-23  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: When creating the control, update the Z-order after
++        all it's children are created, too. (Fixes nexxia not showing
++        picturebox bug)
++
++2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Do not update the anchoring distances if layout is
++        suspended, instead do it once layout is resumed
++
++2005-12-22  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: 
++        - After many hours of debugging, for both Jackson and
++          myself, it turns out that it helps to set the parent of a control
++          if you want to actually see it onscreen. In the spirit of that
++          discovery, we're now setting the parent of the control and
++          it's children when the control's handle is created. This fix
++          will make Lutz Roeder's Reflector run happily. 
++        - now just creating the handle instead of the whole control when
++          getting a graphics context for the control.
++
++2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ScrollableControl.cs: When calculating the canvas, don't consider
++        the scrollbar widths. Instead, predict if horizontal scrollbar
++        will affect canvas when deciding on vertical display and vice versa.
++
++2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * RichTextBox.cs: Set default RTF font for documents that don't
++        have a font table (Fixes #77076)
++
++2005-12-22  Jackson Harper  <jackson@ximian.com>
++
++      * TextBoxBase.cs: It's difficult to do, but you can have an empty
++      clipboard. This prevents a NullRef in that case.
++      * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
++      clipboard. PRIMARY is for the currently selected text only. (We
++      should implement PRIMARY at some point.
++
++2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
++        a Unicode function with a structure that was defined in Ansi way.
++        This fixes #76942.
++
++2005-12-21  Jackson Harper  <jackson@ximian.com>
++
++      * StatusBar.cs: Statusbar handles its fore/back colours on it's
++      on. Because thats how it rolls. (and this avoids it using ambient
++      colours).
++      * ThemeWin32Classic.cs: Use the proper back color for filling.
++      * Menu.cs: Use the system menu bar color for drawing menu
++      bars. Using the window back color will bring ambient colours into
++      the picture.
++
++2005-12-21  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
++        Bitmaps were created and not disposed.
++
++2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs (CreateControl): Don't do anything if the control is
++        already created, otherwise we'd fire the OnCreated event more than
++        once
++
++2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
++        will always match. Instead return -1. Fixes #76464.
++
++2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
++        neither the beginning nor the end of the line (Fixes bug #76479)
++
++2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs:
++        - ControlNativeWindow.ControlFromHandle(): Now handling situation
++          where handle is invalid
++        - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
++          instead of slower linear search
++      * NativeWindow.cs: Don't remove the window from the hashtable until
++        after the driver has destroyed it (since the driver might use
++        Control.FromHandle to lookup the control object
++      * Hwnd.cs: Added DestroyPending property to track if a window is 
++        already destroyed as far as the driver is concerned and only hasn't
++        yet notified the control
++      * XplatUIX11.cs:
++        - Activate(): Check if the window is still valid before using the 
++          handle
++        - Implemented DestroyChildWindow() method to mark child windows as
++          destroyed when a window is destroyed. This prevents situations 
++          where we might call an X method based on queued events for a
++          window that already has been destroyed but we haven't yet pulled
++          the destroy method from the queue.
++        - Added a call to the new DestroyChildWindow() method to the drivers
++          DestroyWindow code. Also now marking the destroyed window itself
++          as pending
++
++2005-12-20  Jackson Harper  <jackson@ximian.com>
++
++      * StatusBar.cs:
++      * StatusBarPanel.cs: Don't calculate panel sizes on draw
++      anymore. Just do them when needed, also track the rects of panels
++      so that we can optimize refreshing more in the future.
++
++2005-12-20  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ColorDialog.cs: Fixed focus drawing in small color controls
++
++2005-12-19  Jackson Harper  <jackson@ximian.com>
++
++      * InternalWindowManager.cs:
++      * MdiWindowManager.cs: Cleanup some coordinate system changes so
++      moving windows works properly.
++
++2005-12-19  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: 
++        - Removed call to InitLayout() from SetBoundsCore(); doc says
++          it's only called when a control is added to a container
++        - Split InitLayout logic, moved to separate UpdateDistances() method
++          since we need to perform those calculations more often than just
++          when adding the control to a container. (Needed to fix #77022)
++        - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
++        - Reduced the OnBindingContextChanged events count, don't send them
++          unless the control is created, we still aren't totally matching
++          MS, but I can't quite figure out some of their rules
++
++2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Corrected distance between ProgressBar
++        stripes
++
++2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs:
++        - Updated ProgressBar drawing
++        - Corrected drawing of ScrollBars and scroll buttons
++        - Some temporary fixes for minor pixel artefacts
++
++2005-12-18  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs:
++        - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
++          cause events to be sent in the same order as MS does.
++        - Added ChangeParent() method to trigger various OnXXXChanged events
++          that need to be fired when a parent changes (This is a reworking
++          of the patch from r54254, with the X11 errors fixed)
++        - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
++          since on MS we get OnLayoutChanged events when calling Clear()
++        - Changed Enabled property to consider parent state as well, if a
++          parent is not enabled, the control will not be either
++        - Changed Parent property to simply call Controls.Add() since that
++          now does all the work required, this way we avoid code duplication
++        - Threw in a few OnBindingsContextChanged calls to try and match
++          when MS sends them. We seem to send a few too many, though.
++        - Added call to CreateControl when adding the control to a parent.
++          We were never calling CreateControl. Still needs some work, in
++          some places we treat HandleCreated and ControlCreated as equal, 
++          which is wrong
++        - Removed obsolete commented out code from UpdateZOrder()
++
++2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Updated TrackBar drawing.
++
++2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
++
++2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Add the Help button and the open readonly
++        checkbox only if needed
++
++2005-12-16  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Make sure we have an active menu before trying to
++      process commands on it. Prevents menu-less forms from crashing
++      when Alt is pressed.
++      * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
++      Dieter Bremes.
++      * RichTextBox.cs: Expand statement to help out gmcs and fix the
++      2.0 build.
++
++2005-12-16  Jackson Harper  <jackson@ximian.com>
++
++      * InternalWindowManager.cs: Don't translate tool windows screen
++      coordinates. This fixes windows 'bouncing' around when being moved.
++
++2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextBoxBase.cs:
++        - MaxLength now treats 2^31-1 equal to unlimited length (this is
++          not quite MS compatible, MS uses that number only for single line
++          and 2^32-1 for multi-line, but I figure it won't hurt keeping
++          the limit at 2GB)
++        - Now enforcing the MaxLength limit when entering characters
++        - Added argument to internal Paste() method to track if it's called
++          from programatically or via keyboard, since keyboard driven pastes
++          need to enforce max-length
++        - Added logic to Paste to only paste as many chars as MaxLength 
++          allows
++      * RichTextBox.cs: Updated to use new obey argument for internal Paste()
++      * TextControl.cs:
++        - Added Length property to return number of characters in document
++        - Added private CharCount property which only tracks actual chars
++          in the document (no linefeeds) and fires event when CharCount
++          changes
++        - Added tracking of character count to all methods that alter it
++        - Added LengthChanged event to allow applications to subscribe
++          to any changes to the document
++
++2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextBox.cs: 
++        - Removed local password_char field (moved to TextBoxBase)
++        - Now setting the document's password var when password is
++          set
++      * TextBoxBase.cs:
++        - Added password_char field (needed here so MultiLine can
++          access it)
++        - Added logic to MultiLine property setter to set the document's
++          variable when password display is allowed
++        - Removed debug code and made some debug code conditional
++      * TextControl.cs:
++        - Added RecalculatePasswordLine() method to handle special password
++          char only lines
++        - Added PasswordChar property, also added related tracking vars
++        - Draw() method now uses local text var for grabbing text to draw,
++          this var is set to line.text unless we're doing password display,
++          then it is set to the pre-generated all-password-chars line
++        - Added calling RecalculatePasswordLine() method for password lines
++
++2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Hwnd.cs: 
++        - Added Reparented property to allow tracking of Window Manager
++          reparenting actions (which affect X/Y calculations of toplevel 
++          windows)
++        - Made ToString() print window handles in hex
++      * XplatUIX11.cs:
++        - AddConfigureNotify(): Now uses reparented state off Hwnd to
++          determine if X/Y needs offsetting
++        - AddConfigureNotify(): Fixed offset calculations
++        - Now adds ReparentNotify messages into the queue
++        - Now processes ReparentNotify messages and causes a 
++          WM_WINDOWPOSCHANGED message to be sent upstream if a window
++          is reparented (as most likely it's X/Y coordinates are changed
++          due to that)
++
++2005-12-14  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Tool windows still need to respek focus.
++
++2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: Undid 54254 (causing XConfigure errors) so we can
++        have a working release
++
++2005-12-13  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Update styles after setting the border style regardless
++      of whether or not the window is using a window manager.
++
++2005-12-13  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: We now hook into an internal window manager instead of just an
++      MDI subsystem, this is so we can have properly behaving tool windows.
++      * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
++      * InternalWindowManager.cs: New internal class that acts as a
++      window manager for tool windows and as a base for mdi windows.
++      * MdiWindowManager.cs: New class that acts as a window manager for
++      mdi windows.
++
++2005-12-12  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Updates so we match behavoir for for implicit
++      controls. Fixes explosions in MDI.
++
++2005-12-12  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Implement Invalidate (Region).
++
++2005-12-12  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: 
++        - Changed handling of Controls.Add/Controls.Remove to fire (almost) 
++          the same events as MS does. MS fires events for each property 
++          except, for unknown reasons, Cursor, when the control is reparented. 
++          I can't seem to totally match add/remove since MS also fires some 
++          VisibleChanged events, which makes no sense. Consolidated the
++          parenting code into a separate method so it can be called from
++          both Add and Remove. set_Parent no longer needs any special logic
++          as it calls the parent's add method which implicitly fires
++          all events
++        - Removed some obsolete code and debug output
++        - Enabled state is inherited from parents, if this is enabled
++
++2005-12-08  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Form.cs: Removed commented out code
++
++2005-12-08  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Added internal version of Invoke, with additional argument 
++          indicating if we're calling it from a Dispose() handler. That
++          way we can avoid BeginInvoke throwing an exception if we're
++          calling for an already destroyed window.
++        - Added a dispose argument to BeginInvokeInternal, and made the
++          check if a valid window handle chain exists conditional on
++          it not being a dispose call
++        - Removed code in DestroyHandle to destroy our children. Since we
++          now handle the WM_DESTROY message we will catch all our children
++          being destroyed.
++        - Now calling OnHandleDestroyed from our new WM_DESTROY handler
++      * Form.cs:
++        - Added a field to track the application context of the form.
++        - No need to set closing variable as response to WM_CLOSE, instead
++          we destroy the window. We also call PostQuitMessage if the form
++          has an application context (which makes it the main app form,
++          which, when closed terminates the app)
++      * XplatUI.cs:
++        - Dropped Exit() method, it's naming was confusing
++        - Added PostQuitMessage() which causes GetMessage to return false
++          once the message queue is empty
++      * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added 
++        PostQuitMessage()
++      * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
++        no longer a valid XplatUI method, but left it in since it's used
++        internally. Added empty PostQuitMessage() method.
++      * MenuAPI.cs: Replaced call to Exit() with call to
++        PostQuitMessage, even though this is probably no longer needed.
++      * Hwnd.cs: Added 'pretty' ToString() to support debugging.
++      * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
++      * Application.cs:
++        - Replaced call to XplatUI.Exit() with PostQuitMessage()
++        - Removed old debug code that would call XplatUI for exception
++          display, enabled standard exception handling (Still not enabled
++          though, until NativeWindow's ExternalExceptionHandler define
++          is removed
++      * NativeWindow.cs:
++        - Added internal method to allow control to update NativeWindow
++          after a window has been destroyed
++        - Added handling of already destroyed windows when calling i
++          DestroyWindow
++        - Added removal of handle from list on ReleaseHandle
++      * XplatUIX11.cs:
++        - Dropped GetMessageResult var and related code
++        - Added PostQuitState to field to track if PostQuitMessage has been
++          called
++        - Dropped Exit() method
++        - Added PostQuitMessage() method
++        - GetMessage now will return false if PostQuitState is set and no
++          more messages are in the queue.
++        - Expose handler will no longer generate WM_PAINT messages if we are
++          in PostQuitState since it's very likely any windows have already
++          been destroyed, and since Hwnd won't get updated until we have
++          processed the DestroyNotify we'd be causing X errors.
++      
++2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
++        Thanks to Mike for pointing out the err of my ways.
++
++2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs(PreProcessMessage): Moved menu handling back, but
++        after all other key handling, to match MS (who handles Menu in
++        DefWndProc)
++      * Menu.cs (WndProc): Removed my brainfart
++
++2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs(PreProcessMessage): Removed special menu handling 
++      * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
++
++2005-12-07  Mike Kestner  <mkestner@novell.com>
++
++      * Control.cs : special case SYSKEYUP so that we can adjust keynav
++      state according in tracker.
++      * Menu.cs : promote tracker field to base class and provide a tracker
++      lookup capability.  Add/Remove shortcuts dynamically if the top menu
++      has a tracker. Unparent items that are removed from the collection.
++      * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
++      * Theme*.cs: add always_show_hotkeys field to support configurability
++      of mnemonic display.  win32 doesn't show mnemonics until Alt is
++      pressed.
++
++2005-12-07  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Use Control.ResetCursor.
++      * Control.cs: ResetCursor needs to set the property so that the
++      correct XplatUI call gets made.
++
++2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: More fixes to make our key events match MS. We
++        were not setting the modifier state on KeyData, and we were
++        not generating any events when Alt was pressed with a key
++        since handling of WM_SYSxxx was missing for the OnKey methods.
++
++2005-12-07  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: reenable the sizing code.
++      - When the mouse leaves a window reset its cursor.
++
++2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Reflect latest Hwnd changes
++
++2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Hwnd.cs: Now using the theme 3d bordersize to calculate
++        widths of Fixed3D borders
++
++2005-12-07  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Fix warnings. Earn Mike's love.
++
++2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs:
++        - Adjusted mouse over button color
++        - Added first parts of CheckBox drawing
++        - Added correct color for selected text background
++        - Fixed ComboBox drawing
++        - Added CPDrawBorder3D and CPDrawBorder
++
++2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Added call to XBell for AudibleAlert
++
++2005-12-06  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
++        XplatUIOSX.cs: Added AudibleAlert() method to have a means to
++        alert users via sound. We could add an enum arg with different
++        types of alerts in the future
++
++2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Fix behaviour problems pointed out by Mike
++
++2005-12-05  Mike Kestner  <mkestner@novell.com>
++
++      * StatusBarPanel.cs: add Invalidate method and hook it into all the
++      prop setters.  Calls parent.Refresh for now, but could be maybe be
++      optimized with an internal method on StatusBar at some point.
++      [Fixes #76513]
++
++2005-12-05  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * RichTextBox.cs: Implemented get_SelectionColor
++
++2005-12-05  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs:
++        - Removed dead code
++        - Draw black button border only if button is Form.AcceptButton
++        - Draw correct button color for pressed RadioButton if the mouse 
++          has entered the button
++        - Updated ProgressBar drawing!
++        - Updated CPDrawSizeGrip drawing
++        - Updated StatusBarPanel drawing
++
++2005-12-05  Mike Kestner  <mkestner@novell.com>
++
++      * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
++      * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
++
++2005-12-04  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeClearlooks.cs: Initial check-in, activate with
++        export MONO_THEME=clearlooks
++      * ThemeEngine.cs: Added ThemeClearlooks
++
++2005-12-03  Mike Kestner  <mkestner@novell.com>
++
++      * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
++      [Fixes #76897]
++
++2005-12-02  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: If the child form has no menu the default main menu is
++      used as the active menu.
++
++2005-12-02  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * ListBox.cs: Check if any items exist before trying to resolve 
++        coordinates into items
++
++2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
++        as the second color for the background hatch
++
++2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
++      * RichTextBox.cs: FormatText position arguments are 1-based, now making
++        sure that what we pass to FormatText is always 1-based. Fixes #76885
++
++2005-11-29  Miguel de Icaza  <miguel@novell.com>
++
++      * NumericUpDown.cs (EndInit): When we are done initializing,
++      reflect any updates on the UI.
++
++2005-12-02  Jackson Harper  <jackson@ximian.com>
++
++      * ImplicitHScrollBar.cs:
++      * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
++      their container controls.
++      * TreeView.cs: Use the new implicit scrollbars.
++
++2005-12-02  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Make top_node internal so the TreeNodeCollections
++      can play with it.
++      * TreeNodeCollection.cs: If we remove the topnode we need to
++      update topnode to the next node in line.
++      - When clearing nodes go through the same process as removing
++      them, so they get depareneted and checked if they are top node.
++
++2005-12-01  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: When imagelists are used the image area is
++      selectable as well as the text.
++      - If there are no selected nodes select the first one.
++      * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
++      so don't do it more then we need to.
++
++2005-12-01  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
++      that arrows can be scaled.
++
++2005-12-01  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
++      fail. Patch by Dieter Bremes
++
++2005-11-30  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Property is 2.0 only
++      * PrintDialog.cs: Signature fix.
++
++2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs: 
++        - No longer artificially moves text 2 pixels down (now that we have
++          borders this is no longer needed)
++        - Added calcs for left, hanging and right indent
++
++2005-11-23  Mike Kestner  <mkestner@novell.com>
++
++      * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
++
++2005-11-30  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Set the cloned menus forms, as these don't
++      get cloned as part of CloneMenu ().
++      * Menu.cs: Make sure the parent of the items get set correctly
++      when they are added.  And the owners are notified of the changes.
++      * Form.cs: Create an ActiveMenu property, so that when MDI is used
++      we can change the menu being displayed/handled by the form without
++      changing the menu assosciated with the form.
++      - Don't let Mdi children draw/handle menus.
++      
++2005-11-30  Jackson Harper  <jackson@ximian.com>
++
++      * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
++      a MenuChanged event. Just to make the API a little more
++      consistent.
++      * MainMenu.cs:
++      * MenuItem.cs: Use the new OnMenuChanged
++      * MdiChildContext.cs: Handle menu merging.
++      * Form.cs: Implement MergedMenu.
++      
++2005-11-30  Jackson Harper  <jackson@ximian.com>
++
++      * Menu.cs: We were misusing Add. Add goes behind the specified
++      index according to the docs, and does not replace the specified
++      index. So I added an Insert method.
++
++2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs:  Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
++        Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
++        is for Jackson
++      * RichTextBox.cs: Added calls to base for DnD events
++
++2005-11-28  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs:
++        - Fixed drag-selection related crash; style fixes
++        - Implemented undo class
++          o Implemented method to capture document state for specified
++            range in document tree
++          o Implemented method to restore captured document state
++          o Implemented cursor tracking
++          o Implemented basic undo stack
++        - Added undo cursor tracking to methods altering cursor location
++        - Added undo tracking to selection deletion (still missing
++          other text-altering hookups)
++      * RichTextBox.cs:
++        - Added SelectionLength property
++        - Implemented CanPaste()
++        - Implemented Paste()
++        - Added missing protected methods
++        - Fixed RTF->Document conversion; now uses font index 0 and color 
++          index 0 as the default font for the parsed text
++        - Fixed RTF<->Document font size translation
++        - Fixed RTF generation, now properly handles cross-tag boundaries
++          for single line selection
++        - No longer always appends blank line to generated RTF
++        - Removed TODOs
++        - Added missing attributes
++        - Hooked up undo-related methods
++      * TextBoxBase.cs:
++        - Implemented Copy()
++        - Implemented Paste()
++        - Implemented Cut()
++        - Fixed caret mis-behaviour on backspace across line-boundaries
++
++2005-11-29  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Add a method for activating mdi children. Very
++      basic right now. I imagine someday it might need more girth.
++      * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
++      children windows names are added to the menu item.
++      * ThemeWin32Classic.cs: Draw the arrow if the item is an
++      mdilist. This happens regardless of whether or not there are any
++      mdi windows to see in the list, and according to my tests happens
++      before the items are even added. Also happens if there isn't even
++      an mdi client to get windows from.
++
++2005-11-29  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
++      * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
++
++2005-11-29  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * DataGridTableStyle.cs:
++        - Create always the styles for the missing columns even if they are
++          provided by the user (not default table style)
++      * DataGrid.cs:
++        - Fixes bug 76770
++        - Fixes SetDataBinding (always re-attach source)
++        - Fixes SetNewDataSource (only clear styles if they are not for 
++          this source)
++       -  Expands OnTableStylesCollectionChanged to handle style refresh 
++          and remove properly
++
++2005-11-29  Jackson Harper  <jackson@ximian.com>
++
++      * FileDialog.cs: Implement missing bits, remove some dead
++      code.
++      * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
++      creation of the panel so that the options set on the dialog are
++      seen when the panel is created.
++      * TreeView.cs: raise a click when items are clicked.
++      
++2005-11-29  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Pass some signature methods through to base.
++
++2005-11-28  Jackson Harper  <jackson@ximian.com>
++
++      * ListView.cs: Raise the click event when items are clicked.
++
++2005-11-28  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Make this algorithm even more beautiful.  And fix
++      a nullref.
++
++2005-11-27  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: - Removed 1 pixel bitmaps
++        - Use SmoothingMode.AntiAlias where it makes sense
++          (ScrollButton arrow for example)
++        - Enhanced Button focus drawing
++        - Fixed ComboBox drawing (no artefacts anymore, focus
++          rectangle is back again, reduced size of ComboButton, etc.)
++        - Fixed RadioButton focus drawing for Appearence.Button
++        - Slight ScrollButton redesign
++        - Some LinearGradientBrush size fixes
++        - GroupBoxes have now rounded edges
++        - Fixed StatusBar drawing
++
++2005-11-25  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: - Remove dead code
++        - use correct background colors for menus, etc.
++        - Fake pixel drawing with 1 pixel bitmaps
++
++2005-11-24  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Size the scrollbars when resizing the window.
++      - Resize the maximized windows when the client is resized
++      * Form.cs: Make the child context available
++      
++2005-11-23  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Don't size windows if they are maximized.
++
++2005-11-23  Mike Kestner  <mkestner@novell.com>
++
++      * ContextMenu.cs: use MenuTracker.
++      * Control.cs: remove menu handle usage.
++      * Form.cs: remove menu handle usage.
++      * Hwnd.cs: remove menu handle usage.
++      * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
++      motion and clicks to the new Tracker handlers.
++      * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
++      and handle usage.
++      * MenuAPI.cs: refactored to combine popup and menubar event handling.
++      Killed the MENU and MENUITEM data types and associated collections
++      since we now keep the info on Menu and MenuItem. Expanded TRACKER into
++      MenuTracker class that exposes the leftovers from the old MenuAPI
++      static methods. Restructured Capture handling so that only one grab is
++      done for the entire menu hierarchy instead of handing off grabs to
++      submenus. Tracker now has an invisible control to Capture when active.
++      * MenuItem.cs: add sizing accessors, kill Create
++      and handle usage.
++      * Theme.cs: remove menu handle and MENU(ITEM) usage.
++      * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
++      MENU(ITEM). remove menu handle usage, use Menu directly.
++      * XplatUIDriver.cs: remove menu handle usage.
++      * XplatUIOSX.cs: remove menu handle usage.
++      * XplatUIWin32.cs: remove menu handle usage.
++      * XplatUIX11.cs: remove menu handle usage.
++
++2005-11-22  Jackson Harper  <jackson@ximian.com>
++
++      * Hwnd.cs: Don't compute the menu size for
++      DefaultClientRectangle.
++      - Reenable menu sizes being computed for GetClienRectangle.
++      * Form.cs: Remove comment of trechery
++      
++2005-11-22  Jackson Harper  <jackson@ximian.com>
++
++      * Hwnd.cs: The adjustments for the menu bar are made when it is
++      attached to the form.
++
++2005-11-19  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
++      (just like on windows).
++
++2005-11-19  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Handle all the buttons ourselves. We can't
++      use real buttons anymore because they are in non client area. The
++      one TODO here is that I need to somehow invalidate a section of
++      the non client area.
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Put the enum check back in now that MDI doesnt have
++      to use this to set border styles.
++      * Form.cs: Only set mdi child windows borders if the handle has
++      been created.
++      * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
++      this directly on to the driver.
++      - Get the move start position before adjusting for the titlebar
++      height, this fixes the windows "skipping" when they are first
++      moved.
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Just compute the mdi borders separately as they
++      don't totally match up with normal form borders.
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Set WS_ styles for borders, so that the driver does
++      not have to retrieve the control instance to figure out what kind
++      of borders it should have.
++      * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
++      driver can know its an mdi child easily.
++      * XplatUIX11.cs: Get the border styles and whether the window is
++      MDI from the Styles and ExStyles params instead of having to get a
++      control. This prevents a chicken and egg problem.       
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Fix typo so scrollbars show up correctly.
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: Calculate when to add and remove scrollbars
++      correctly.
++      * MdiChildContext.cs: Adjust the y position to take the titlebar
++      into account.
++      - No height for FormBorderStyle.None
++
++2005-11-18  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Allow non enum values to be used for
++      InternalBorderStyle.  MDI does this to set a special border style.
++      - New utility methods for converting points to/from client coords
++      - Add the newly created control to the Controls collection before
++      updating its style. This way UpdateStyle can walk the control
++      heirarchy to find the control if needed.
++      so I don't need to create a new Point object all the time.
++      * Form.cs: Let MDI windows handle their border styles.
++      - Set styles on MDI windows so the correct title style is derived.
++      * MdiChildContext.cs: Move all the painting and window handling
++      into the non client area.
++      - Use correct sizing and put correct buttons on frames based on
++      the FormBorderStyle.
++      - Notify the mdi client about scrolling
++      - Need to handle the buttons ourselves now, because they are all
++      in non client areas and we can't add controls there.
++      * MdiClient.cs: Halfway to scrolling, this implementation is
++      somewhat broken though, we need to check to make sure other
++      windows aren't causing scrolling before removing the bars. Also
++      the bars need to be drawn on top, maybe I can switch implicit
++      controls to be on top.
++      * Hwnd.cs: caption_height and tool_caption_height are now
++      properties of an hwnd, this way they can be set by the driver
++      based on the type of window they are.  In X11 the window manager
++      handles the decorations so caption_height is zero unless its an
++      MDI window.
++      - Add 3 pixel borders for MDI windows (0xFFFF).
++      - Get rid of some code duplication, have DefaultClientRectanle
++      just call GetClientRectangle.
++      * XplatUIX11.cs: Pass caption_height and tool_caption_height to
++      Hwnd now.
++      - Set border styles differently for mdi windows.
++      * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
++      Hwnd now.
++      
++2005-11-15  Mike Kestner  <mkestner@novell.com>
++
++      * Menu.cs: when adding an item to the collection, if item is already 
++      parented, remove it from the parent.
++
++2005-11-13  Alexander Olk  <alex.olk@googlemail.com>
++
++      * X11DesktopColors.cs: Added KDE support
++
++2005-11-11  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: 
++        - Clipboard methods now can translate Rtf format
++        - No longer removes clipboard contents whenever a new format is added
++          to allow placing multiple formats on the clipboard
++      * Clipboard.cs: Clipboard now supports getting a IDataObject and
++        will place all formats contained in it onto the clipboard. Also
++        now cleans the clipboard before placing a new object onto it
++      * RichTextBox.cs:
++        - Implemented set_Rtf
++        - Implemented set_SelectedRtf
++        - Created InsertRTFFromStream() method to allow single code base
++          for all properties and methods that insert RTF into document
++        - Removed debug output
++      * TextControl.cs:
++        - Fixed Delete(int) to fix up line numbers
++        - Fixed ReplaceSelection to combine start and end line
++        - Fixed serious DeleteChars bug that would leave the document tree
++          broken
++        - Improved DumpTree with several logic checks to detect broken
++          document trees
++        - Removed debug lines
++        - Fixed Caret.WordForward/WordBack moving code, now always also 
++          updates caret.tag (fixes crash when word-selecting across tag
++          boundaries via keyboard)
++        - Added Insert() method for inserting multiline text into documents
++        - Fixed DeleteChars() calculation errors that would cause a broken
++          tag chain with multiple tag lines
++        - DeleteChars() no longer crashes on multi-tag lines if not all tags
++        - Split() no longer moves caret if split is at caret location
++        - ReplaceSelection() now updates the cursor and re-displays it
++        - ReplaceSelection() now uses new Insert() method to avoid code
++          duplication
++        - FormatText() can now handle formatting partial lines
++      * TextBoxBase.cs:
++        - Append now uses new TextControl.Insert() method (this avoids 
++          duplicate code)
++        - Implemented Ctrl-X (Cut) (
++        - Implemented Ctrl-C (Copy)
++        - Implemented Ctrl-V (Paste) (Still some bugs related to screen 
++          regeneration when pasting text; roundtripping Copy&Paste within
++          edit control still fails due to some calculation bugs in GenerateRTF)
++        - The Delete key will now remove the current selection if it is visible
++      * TextBox.cs: Removed debug lines
++      * XplatUI.cs: Trigger initialization of DataFormats (which requires the
++        driver to be initialized and can't therefore be done via a static ctor)
++
++2005-11-10  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs: Added backend code for finding char arrays and strings
++      * TextBoxBase.cs:
++        - Added mouse wheel scroll support
++        - Added support for VScroll and HScroll events
++      * RichTextBox.cs:
++        - Implemented all seven Find() variants
++        - Implemented GetCharFromPosition()
++        - Implemented GetCharIndexFromPosition()
++        - Implemented GetLineFromIndex()
++        - Implemented GetPositionFromCharIndex();
++        - Implemented SaveFile for PlainText and UnicodeText
++        - Fixed set_Font, now setting a new font applies that font to
++          the whole document
++        - Implemented generic Document to RTF converter
++        - Implemented SaveFile for RichText format (still missing unicode
++          conversion for non-ansi chars)
++        - Implemented get_Rtf
++        - Implemented get_SelectedRtf
++
++2005-11-09  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
++        to allow any captures to be released before triggering OnClick. This
++        way a click handler may capture the mouse without interference.
++      * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
++        This way we send them even though X may not allow a grab (if the window
++        isn't visible, for example)
++
++2005-11-08  Pedro Martinez Julia <pedromj@gmail.com>
++
++      * DataGridViewRowEventArgs.cs: DataGridView implementation
++      * DataGridViewElement.cs: DataGridView implementation
++      * DataGridViewComboBoxCell.cs: DataGridView implementation
++      * DataGridViewDataErrorContexts.cs: DataGridView implementation
++      * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
++      * ImageLayout.cs: DataGridView implementation
++      * DataGridViewComboBoxColumn.cs: DataGridView implementation
++      * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
++      * DataGridViewSelectionMode.cs: DataGridView implementation
++      * IDataGridViewEditingControl.cs: DataGridView implementation
++      * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
++      * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
++      * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
++      * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
++      * DataGridViewColumnSortMode.cs: DataGridView implementation
++      * DataGridView.cs: DataGridView implementation
++      * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
++      * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
++      * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
++      * Padding.cs: DataGridView implementation
++      * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
++      * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
++      * DataGridViewRowEventHandler.cs: DataGridView implementation
++      * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
++      * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
++      * DataGridViewButtonCell.cs: DataGridView implementation
++      * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
++      * DataGridViewEditMode.cs: DataGridView implementation
++      * DataGridViewCellValueEventArgs.cs: DataGridView implementation
++      * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
++      * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
++      * DataGridViewCheckBoxColumn.cs: DataGridView implementation
++      * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
++      * DataGridViewCellEventHandler.cs: DataGridView implementation
++      * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
++      * DataGridViewCellStyleConverter.cs: DataGridView implementation
++      * DataGridViewSelectedRowCollection.cs: DataGridView implementation
++      * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
++      * DataGridViewColumnEventArgs.cs: DataGridView implementation
++      * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
++      * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
++      * QuestionEventArgs.cs: DataGridView implementation
++      * IDataGridViewEditingCell.cs: DataGridView implementation
++      * DataGridViewTriState.cs: DataGridView implementation
++      * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
++      * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
++      * DataGridViewColumnCollection.cs: DataGridView implementation
++      * DataGridViewCellValueEventHandler.cs: DataGridView implementation
++      * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
++      * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
++      * DataGridViewColumn.cs: DataGridView implementation
++      * DataGridViewCellBorderStyle.cs: DataGridView implementation
++      * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
++      * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
++      * DataGridViewRow.cs: DataGridView implementation
++      * DataGridViewImageCellLayout.cs: DataGridView implementation
++      * DataGridViewImageCell.cs: DataGridView implementation
++      * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
++      * DataGridViewCheckBoxCell.cs: DataGridView implementation
++      * DataGridViewHeaderCell.cs: DataGridView implementation
++      * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
++      * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
++      * DataGridViewTextBoxColumn.cs: DataGridView implementation
++      * QuestionEventHandler.cs: DataGridView implementation
++      * DataGridViewCellStyleScopes.cs: DataGridView implementation
++      * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
++      * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewCell.cs: DataGridView implementation
++      * DataGridViewCellEventArgs.cs: DataGridView implementation
++      * DataGridViewClipboardCopyMode.cs: DataGridView implementation
++      * DataGridViewCellStyle.cs: DataGridView implementation
++      * DataGridViewColumnHeaderCell.cs: DataGridView implementation
++      * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
++      * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
++      * TextFormatFlags.cs: DataGridView implementation
++      * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
++      * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
++      * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
++      * DataGridViewButtonColumn.cs: DataGridView implementation
++      * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
++      * HandledMouseEventArgs.cs: DataGridView implementation
++      * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
++      * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
++      * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
++      * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
++      * DataGridViewRowCollection.cs: DataGridView implementation
++      * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
++      * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
++      * DataGridViewHitTestType.cs: DataGridView implementation
++      * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
++      * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
++      * DataGridViewColumnEventHandler.cs: DataGridView implementation
++      * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
++      * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
++      * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
++      * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
++      * DataGridViewContentAlignment.cs: DataGridView implementation
++      * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
++      * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
++      * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
++      * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
++      * DataGridViewPaintParts.cs: DataGridView implementation
++      * DataGridViewCellCollection.cs: DataGridView implementation
++      * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
++      * DataGridViewImageColumn.cs: DataGridView implementation
++      * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
++      * DataGridViewElementStates.cs: DataGridView implementation
++      * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
++      * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
++      * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
++      * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
++      * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
++      * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
++      * DataGridViewRowHeaderCell.cs: DataGridView implementation
++      * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
++      * DataGridViewTextBoxCell.cs: DataGridView implementation
++      * DataGridViewBand.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
++      * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
++      * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
++      * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
++      * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
++      * DataGridViewSelectedCellCollection.cs: DataGridView implementation
++      * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
++      * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
++
++2005-11-08  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs: 
++        - Draw the outside focus rectangle around buttons
++        - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
++          doesn't use end caps for every dash of a line anymore. This
++          workaround ignores the forecolor.
++
++2005-11-08  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
++        endian safe.
++
++2005-11-07  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
++
++2005-11-07  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollableControl.cs: Calculate the maximum and change vars
++      (more) correctly so that scrollbars appear as a sensible size.
++
++2005-11-04  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Refresh when nodes are cleared from the
++      collection.
++      * TreeView.cs: When the tree is sorted null out the top_node so
++      that it is recalculated.
++      - Use dotted lines instead of dashed lines to match MS better.
++
++2005-11-04  Jordi Mas i Hernandez <jordimash@gmail.com>
++
++      * ListView.cs: 
++        - Implements key search for items. Useful when browsing files with FileDialog
++        - When changing view mode or when clear the items reset scrollbar positions
++
++2005-11-04  Jackson Harper  <jackson@ximian.com>
++
++      * CurrencyManager.cs: Implement the MetaDataChanged event, the
++      Reset method, and the CheckEmpty. CheckEmpty is just a total guess
++      as to what the method may do as there is no real way of creating a
++      derived CurrencyManager and calling the method. 
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
++      * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
++      method which seems to just be used internally to refresh the tabs.
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Implement the remove method. Fix some broken
++      comments.
++
++2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * DateTimePicker.cs:
++        - Added missing DateTimePickerAccessibleObject class
++        - Added missing events
++        - Added OnFontChanged method
++      * Form.cs: Added missing attributes
++      * TreeView.cs: Added missing attributes
++
++2005-11-03  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * GridItemCollection.cs: Fix signatures
++
++2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs: Updated build rev/date
++      * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs, 
++        DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
++      * Application.cs: Trigger context-specific ExitThread events
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * Menu.cs:
++      * MainMenu.cs:
++      * GridTableStylesCollection.cs:
++      * Timer.cs:
++      * TabPage.cs:
++      * HelpProvider.cs:
++      * StatusBar.cs:
++      * MonthCalendar.cs: Signature fixes
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Remove should not be virtual.
++      * TreeView.cs: Implement the last of the missing methods.
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeConverter.cs: Implement to get off my class-status back.
++
++2005-11-03  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Hookup the bits for drag and drop.
++      * TreeNode.cs: Don't cache the tree_view or index anymore, now
++      that nodes can be moved from tree to tree easily this just causes
++      all sorts of problems.
++      * TreeNodeCollection: Don't need to give treenodes an index and
++      treeview anymore when they are added, these are computed on the
++      fly. Also make sure to remove a node before its added.
++
++2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs:
++        - Added CaretSelection enum
++        - Added comparison methods to Marker struct, makes selection code
++          more readable
++        - Added SelectionStart and SelectionEnd as 'moveable' location for
++          the CaretDirection enum and handler
++        - Added selection_prev variable to track optimized invalidation for
++          word and line selection
++        - Added SelectionVisible property (returns true if there is a valid 
++          selection)
++        - Switched CaretHasFocus to only display the caret if there is no
++          visible selection
++        - Avoiding StringBuilder.ToString to retrieve a single char, instead
++          using the direct character index; should be much faster
++        - Added various conditional debug statements
++        - Fixed invalidation calculation for selection ranges
++        - Added ExpandSelection() method to support word and line selection
++        - Switched SetSelectionToCaret to use new Marker compare overloads
++        - Added central IsWordSeparator() method to determine word 
++          separators/whitespace and FindWordSeparator() to streamline common
++          usage of IsWordSeparator()
++      * TextBoxBase.cs:
++        - Removed unneeded grabbed variable, it was just mirroring
++          Control.Capture
++        - No longer firing OnTextChanged event when Text setter is called,
++          since the base will fire the event for us
++        - Added handling of Ctrl-Up/Down selection
++        - Added handling of Shift-Cursorkey selection
++        - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
++          words
++        - Added handling of Shift and Ctrl-Shift-Home/End selection
++        - Removed some debug output
++        - Added handling for single/double/tripple-click to place caret/
++          select word/select line respectively (Fixes bug #76031)
++        - Added support for drag expansion of word/line selection
++      * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
++        current selection
++
++2005-11-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: If the drag is going to and from a MWF window just
++      copy the data instead of sending it out through the X Selection
++      mechanism.
++
++2005-11-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs:
++      * XplatUIX11.cs: When in a drag we don't want motion notify
++      messages to get passed on to the other controls. This prevents
++      mouse move messages from showing up in the drag source.
++
++2005-11-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Remove unneeded call to XAllowEvents.  Make sure that
++      the correct button is release to end a drag.
++      * XplatUIX11.cs: Make the button state internal so the drag system
++      can access it.  Dragging needs to know about all button releases,
++      not just left button.
++
++2005-11-02  Miguel de Icaza  <miguel@novell.com>
++
++      * Form.cs (Icon): If the icon is null, reset the icon to the
++      default value. 
++
++      * Cursor.cs: When writing the AND-mask bitmap do not include the
++      number of colors, but hardcode those to two (black and white),
++      fixes the loading of color cursors (Paint Dot Net).
++
++      * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
++      turn off autoscaling.
++
++      * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
++
++2005-11-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Make sure to send a status message if the pointer
++      enters a control that can not accept a drop, otherwise the cursor
++      isn't updated correctly. Also tried to compress the lines of code
++      a bit.
++
++2005-11-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Change cursors based on drag action. Also attempt to
++      set actions correctly.  This isn't perfect as XDND and win32 have
++      some differences on how you allow actions. I'll clear this up by
++      adding a path for drag from MWF to MWF windows.
++      * XplatUIX11.cs: Hook into the dnd system.
++
++2005-11-02  Jordi Mas i Hernandez <jmas@softcatala.org>
++
++      * ListView.cs: Fixes scroll bar visibility. Hide them if they were
++      previously shown but they are no longer need it. Very obvious when 
++      browsing files with FileDialog.
++
++2005-11-01  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: We always need to call OnPaintBackground. We pretty much
++        ignore AllPaintingInWmPaint and always do the painting there, whether 
++        it's set or not, since we always ignore the WM_ERASEBKGND message 
++        (which we don't generate on X11). This fixes #76616.
++      * Panel.cs: Removed unneeded background painting. This happens properly
++        in Control.cs already
++
++2005-10-31  Mike Kestner  <mkestner@novell.com>
++
++      * Menu.cs: Add items to collection before setting their index.
++      * MenuItem.cs : add range checking with ArgumentException like MS.
++      [Fixes #76510]
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * ListBox.cs: Invalidate if the area is visible at all not just
++      contained in the visible rect. Fixes unselection of semi visible
++      items.
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Consistently name the dnd methods. Make them
++      internal so we can override them to match some MS behavoir
++      internally.
++      * Win32DnD.cs: Use the new consistent names.
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Don't draw the selected node when we lose focus.
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: We still need to reset the state even though a full
++      reset isn't being done, otherwise status's still get sent all over
++      the place.
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Make the dnd_aware flag internal so the dnd
++      subsystem can check it. Catch exceptions thrown in dnd handlers to
++      match MS behavoir.
++      * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
++      * X11Dnd.cs: Handle null data in the converters. Set the XDND
++      version when sending a XdndEnter. Use the control/hwnd dnd_aware
++      flags to reduce the number of dnd enters/status's sent.
++
++2005-10-31  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
++
++2005-10-31  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * PictureBox.cs: Fixes 76512
++
++2005-10-28  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Early implementation to support winforms being a drag
++      source for data on X11. Also restructured the converters so they
++      can go both ways now.
++      * XplatUIX11.cs: Tie ins to the the Dnd stuff.
++      
++2005-10-27  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
++        clipboard requests
++
++2005-10-27  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Implement serialization so my DnD examples will work.
++
++2005-10-24  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
++        TreeView.cs: Don't dispose objects that are not owned.
++        
++2005-10-24  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
++        should retrieve the current cursor and report that, but XplatUI
++        doesn't (yet) have an interface for that (and I'm not sure I even
++        can, on X11)
++      * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
++        until any message loop processing is done (and the WM_SETCURSOR
++        replaces the cursor to the proper one)
++      * XplatUIX11.cs: 
++        - Fixed override behaviour, we can't set the cursor globally on X11, 
++          just for our windows.
++        - Invalidating the System.Drawing X11 display handle when we are
++          shutting down
++      * Control.cs: Fix to make csc happy
++
++2005-10-23  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs: 
++        - get_Text: Add last line (without trailing newline) to returned
++          value (Fixes 76212)
++        - get_TextLength: Count last line in returned length
++        - ToString: Call Text property instead of duplicating code
++
++2005-10-23  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Dispose ImageAttributes objects.
++
++2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Use attribute constructors with less arguments where
++        possible.
++
++2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
++        Use typeof instead of strings when assembly is referenced. Added
++        some more comments.
++
++2005-10-21  Jackson Harper  <jackson@ximian.com>
++
++      * ListView.cs: Raise a double click event. Also tried to somewhat
++      fix when the selectedindexchanged event is raised. Its still
++      broken though.
++
++2005-10-21  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: New method to invalidate the plus minus area of a
++      node without invalidating the whole node (maybe this can be used
++      in some more places).
++      * TreeNodeCollection.cs: When adding to an empty node we need to
++      invalidate its plus minus area so the little block shows up.
++      
++2005-10-21  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Make sure that when we invalidate a node the bounds
++      are big enough to cover the selected box and the focus
++      rectangle. Use a different colour for the lines connecting nodes
++      so they show up with all themes.
++
++2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * NativeWindow.cs: Don't call anything that could call into the driver,
++        we might be on a different thread.
++
++2005-10-21  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs(Dispose): Since Dispose might run on a different thread,
++        make sure that we call methods that could call into the driver via
++        invoke, to avoid thread issues
++
++2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs: Removed finalizer
++      * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
++        not allowing to be called on the finalizer thread.
++
++2005-10-21  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs:
++        - Reverted r51889 and r51891.
++        - Added ImageListItem class that stores unmodified image items and image
++          properties required to create list images until handle is created.
++        - Added AddItem and moved image creation logic to AddItemInternal.
++        - Added CreateHandle method that creates images based on unmodified items.
++        - Added DestroyHandle that changes state to store unmodified items.
++        - Add and AddStrip methods no more create handle.
++        - ReduceColorDepth has no return value.
++        - Dispose destroys handle.
++        - Modified other methods to reflect the above changes.
++        - Implemented key support.
++        - Added profile 2.0 members and attributes.
++        - Added private Reset and ShouldSerialize methods that provide the same
++          behavior as MS.NET but the Visual Studio .NET designer seems to ignore
++          them as they are private.
++        - Added some more comments about implementation details.
++
++2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
++
++2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
++
++2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridDrawingLogic.cs: Fixes column hit calcultation
++      * DataGridColumnStyle.cs: Remove debug message
++
++2005-10-20  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: We can always get input keys regardless of whether
++      or not editing is enabled. They are used for navigation.
++
++2005-10-20  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Use the viewport rect for determining if a node
++      needs to be moved for visibility. Don't use Begin/End edit. This
++      calls a full refresh when its done.
++      * TreeView.cs: New SetBottom works correctly.  Make the viewport
++      rect property internal so the treenodes can see it. When clicking
++      on a node we need to ensure that its visible because it might just
++      be partly visible when clicked.
++
++2005-10-20  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Remove debug code.
++
++2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Datagrid.cs: Implements column sorting in Datagrid
++      * DataGridColumnStyle.cs: Implements column sorting in Datagrid
++
++2005-10-20  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Remove items properly. Update the correct
++      area after removing them.
++
++2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Datagrid.cs: Should not call base.OnPaintBackground
++
++2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs (GetMessage):
++        - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
++          window instead of client window
++        - Now properly calculates NC_xBUTTONUP message coordinates
++        - ScreenToMenu now properly calculates it's coordinates of whole 
++          window, since menus are in the whole window, not in the client
++          window
++        - Added WholeToScreen coordinate translation method
++
++2005-10-20  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
++        want to return a message, loop back to the beginning of the function
++        and grab the next real message to process instead.
++
++2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Splitter.cs: Properly set limits if no filler control is used
++
++2005-10-19  Jackson Harper  <jackson@ximian.com>
++
++      * ColorDialog.cs: Don't show the help button if it is not enabled
++      instead of disabling it (this is what MS does). Don't create the
++      panel until the dialog is run, otherwise the vars (such as
++      ShowHelp) are not set yet.
++
++2005-10-19  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
++      are reduced when adding nodes.
++      * TreeNode.cs:
++      * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
++      tree.
++      
++2005-10-19  Jackson Harper  <jackson@ximian.com>
++
++      * FolderBrowserDialog.cs: End editing our treeview so the window
++      actually gets refreshed.
++
++2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Fixed logic flip on when to call OnPaintBackground. 
++        Obsoleted handling of WM_ERASEBKGND, now always draws our background
++        inside of WM_PAINT
++
++2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * MenuAPI.cs: Returns after Hidding window
++      * XplatUIX11.cs: Added TODO found while debugging menu issues
++
++2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Do not re-map the whole window when it's size
++        becomes non-zero unless it's supposed to be actually visible
++
++2005-10-18  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: We don't need to keep a count anymore.
++      * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
++      use the Grow method.
++
++2005-10-18  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Insert is not supported on arrays, so
++      implement it manually here.
++
++2005-10-18  Jackson Harper  <jackson@ximian.com>
++
++      * ImageList.cs: Dont kill the list when the colour depth is
++      changed, just change the colour depth of all the images.
++      - Same goes for setting the image size. Just resize them all
++      instead of killing the list softly.
++
++2005-10-18  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Don't invalidate empty rectangles.
++
++2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListViewItem.cs:
++        - Adds checked item to the Checked/Item lists (where empty before)
++        - Do not add items to the Selected lists if they are already present
++      * ListView.cs:
++        - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
++        - When deleting items make sure that we delete them for the Selected
++        and Checked list also.
++
++2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Label.cs: Dispose objects no longer used
++      * ThemeWin32Classic.cs: Dispose objects no longer used
++
++2005-10-18  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Don't refresh the whole control when the tabs are
++      scrolled, we just need to refresh the tab area.
++
++2005-10-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Compress code a little bit. Only calculate the
++      after handle when we need it.
++
++2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: When the parent size changes, recalculate anchor 
++        positions. Partial fix for #76462
++
++2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs: Make sure the picturebox has it's background 
++        drawn. Fixes #76462
++
++2005-10-17  Jackson Harper  <jackson@ximian.com>
++
++      * MonthCalendar.cs: Don't create the numeric up down until our
++      handle is created. Otherwise our handle is created in the
++      constructor and we don't know if we are a WS_CHILD or WS_POPUP
++      yet.
++
++2005-10-17  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
++      correctly.
++
++2005-10-17  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
++      * TreeNode.cs : small logical fix (was using local var instead of field)
++      
++2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
++
++2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
++
++2005-10-16  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: 
++        - Re-implemented anchoring code. My first version was really broken.
++          This fixes bug #76033. Unlike the previous implementation we will
++          no longer have round errors since all numbers are calculated from
++          scratch every time. Removed various anchor-related obsolete vars.
++        - InitLayout no longer causes layout event firing and layout to be 
++          performed
++
++2005-10-16  Jackson Harper  <jackson@ximian.com>
++
++      * Hwnd.cs: Compute invalid area correctly (fixes my last commit
++      which was broken).
++
++2005-10-16  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Remove debug code.
++
++2005-10-16  Jackson Harper  <jackson@ximian.com>
++
++      * XEventQueue.cs: Increase the default queue size (very simple
++      apps needed to grow the queue).
++      * Hwnd.cs: No finalizer so we don't need to suppress
++      finalization. Compute the invalid area manually so a new rectangle
++      does not newto be created.
++      * ScrollableControl.cs: Don't set any params (otherwise visibility
++      isn't set correctly).
++      * MdiChildContext.cs: New constructor takes the mdi parent so it
++      doesn't have to be computed and avoids a crash on windows. Draw
++      the window icon properly, and allow the text to be seen.
++      * Form.cs: Use new MdiChildContext constructor. Make sure the
++      child context isn't null in wndproc.
++      * TabControl.cs: Don't set focus, this is muddling keyboard
++      behavoir. Expand the tab rows when a window size increase will
++      allow extra tabs to be seen. Don't allow tabs smaller than the
++      width of a window to be scrolled out of view.
++      * TreeNode.cs:
++      * TreeView.cs: Use measure string to calculate a nodes width, the
++      width is cached and only updated when the text or the font is
++      changed. Don't check for expand/collapse clicks on the first level
++      nodes if root lines are disabled.
++      
++2005-10-16  Ritvik Mayank  <mritvik@novell.com>
++
++      * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
++
++2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridBoolColumn.cs: fixes warning
++
++2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
++      to match more to match more precisely the MS Net behavior
++
++2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Hwnd.cs: Added field to track if window is mapped
++      * XplatUIX11.cs: 
++        - Unmap windows if they become 0-size, re-map when 
++          they are >0 again; fixes #76035
++        - Re-set our error handler after initializing X11Desktop
++          to override any error handlers Gtk or whatever was called
++          may have set.
++
++2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * CheckedListBox.cs: Removed unused vars
++      * ListView.cs: Fixed signatures
++      * RichTextBox.cs: Removed unused vars
++      * TextBoxBase.cs: Removed unused vars
++      * XplatUIWin32.cs: Removed unused vars
++      * XplatUIX11.cs: Removed unused vars
++      * XplatUI.cs: Updated version and date to latest published
++
++2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Cursor.cs: Added private .ctor to work around a bug in
++        resourceset (Thanks to Geoff Norton for the help on this)
++      * SplitterEventArgs.cs: Made fields accessible so we don't
++        waste boatloads of objects and can reuse the same one
++        in Splitter
++      * XplatUIWin32.cs(DrawReversibleLine): Now also considers
++        any captions and borders when generating screen coordinates
++      * Splitter.cs: Reimplemented control, now fully complete, uses
++        rubberband drawing, supports and obeys all properties, has
++        proper cursors
++
++2005-10-13  Miguel de Icaza  <miguel@novell.com>
++
++      * Form.cs (Form): Setup default values for autoscale and
++      autoscale_base_size;  Make these instance variables, not static
++      variables. 
++
++      (OnLoad): on the first load, adjust the size of the form.
++
++2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added 
++        width argument to DrawReversibleRectangle()
++      * XplatUIWin32.cs, XplatUIX11.cs: 
++        - Implemented width for DrawReversibleRectangle()
++        - Added logic to DrawReversibleRectangle that recognizes a zero
++          width or height and only draws a line in that situation
++      
++2005-10-12  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
++      * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
++      * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
++        method (it uses our FosterParent window to get a graphics context)
++
++2005-10-12  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground 
++        and SetWindowBackground methods
++      * Control.cs:
++        - Setting proper ControlStyles
++        - We no longer call XplatUI.SetWindowBackground and XplatUI.
++          EraseWindowBackground, instead we draw the window background
++          ourselves in PaintControlBackground. This behaviour is
++          required to match MS, where, when OnPaintBackground is not
++          called, the background is not drawn.
++        - Removed unneeded Refresh() in set_Text
++      * Hwnd.cs: Dropped the ErasePending support. No longer needed
++      * XplatUIX11.cs:
++        - Created DeriveStyles method to translate from CreateParams to
++          FormBorderStyle and TitleStyle, also handles BorderStyle (which
++          matches FormBorderStyle enum values)
++        - Consolidated SetHwndStyles and CalculateWindowRect border/title
++          style calculations into single DeriveStyles method
++        - Fixed CreateWindow to (finally) use Gravity. This prevents X11
++          from redrawing the whole window on any resize or expose.
++        - Fixed CreateWindow usage of SetWindowValuemask. Before not
++          all styles were applied to our whole/client window appropriately
++        - Removed EraseWindowBackground() and SetWindowBackground() methods
++        - Removed handling of WM_ERASEBKGND message from DefWndProc, we
++          no longer clear/redraw the background through X
++        - Removed handling of erase_pending bit, we have no use for it (or
++          so it seems)
++      * XplatUIOSX.cs:
++        - Removed generation and handling of WM_ERASEBKGND message
++        - Removed EraseWindowBackground() and SetWindowBackground() methods
++        - Removed handling of hwnd.ErasePending flag
++      * XplatUIWin32.cs:
++        - Removed EraseWindowBackground() and SetWindowBackground() methods
++        - We no longer call EraseWindowBackground on PaintEventStart, we 
++          ignore the fErase flag, erasing is handled in Control in the
++          background handler
++      * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
++        LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
++        TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs, 
++        CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs, 
++        DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, 
++        TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
++        DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
++
++2005-10-12  Jonathan Chambers <jonathan.chambers@ansys.com>
++
++      * PropertyGrids.cs: Get sub properties
++      * PropertyGridView.cs: Fix drawing code
++
++2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs: Fixes 76383
++
++2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: Sets location and size before attachment
++      * ThemeWin32Classic.cs: Fixes border drawing and calculations
++      * DataGridDrawingLogic.cs: Fixes border drawing and calculations
++
++
++2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Fixes border drawing
++
++2005-10-10  Miguel de Icaza  <miguel@novell.com>
++
++      * MimeIcon.cs: Ignore errors if the file can not be read.
++
++2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
++       - Fixed border calculations
++       - Fixed horizontal scrolling in single column listboxes
++       - Fixed drawing issues
++
++2005-10-10  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to 
++        FormBorderStyle enum
++      * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added 
++        code to determine FormBorderStyles from CreateParams
++      * Form.cs:
++        - Fixed bug where we'd set the wrong window styles if we were
++          not creating an MDI window
++        - Added call to XplatUI.SetBorderStyle when form borders are set
++      * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
++      * Hwnd.cs:
++        - Removed obsolete edge style
++        - Switched from BorderStyle to FormBorderStyle
++      
++2005-10-10  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Use the property to get the window handle instead of
++      accessing it directly. Prevents a null reference exception.
++
++2005-10-10  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Don't adjust the rect given to DrawString now that
++      our libgdiplus draws correctly.
++
++2005-10-08  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Don't try to find the clicked on node if there are
++      no nodes in the tree.
++
++2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
++
++      * RichTextBox.cs:
++
++        restore
++
++2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
++        ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
++        ErrorProvider.cs:
++        Use ResPool for brushes and dispose System.Drawing objects that
++        are not used anymore.
++
++2005-10-07  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Use the new borders instead of drawing them
++      ourselves.
++
++2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Calling UpdateBounds after changing the window's BorderStyle 
++      since the style can change the ClientSize
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Made PaintControlBackground virtual
++      * Panel.cs: Overriding PaintControlBackground instead of using paint
++        event; paint event method was interfering with 'real' users of the
++        event.
++
++2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: remove border drawing since it is handled
++      by the base control class now and was causing double border drawing.
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Panel.cs: Redraw our background on paint. Not a pretty solution,
++        but it does seem to match MS behaviour. This fixes bug #75324
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: A better DrawReversibleRectangle version, however
++        somewhat hackish looking
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextBoxBase.cs:
++        - We now accept Enter even if AcceptEnter is false, if the containing
++          form does not have an AcceptButton configured (fixes bug #76355)
++        - Calculations are now fixed to no longer use Width/Height, but
++          ClientSize.Width/Height, since we now support borders (this was
++          a result of fixing borders and therefore bug #76166)
++        - We no longer show the horizontal scrollbar if TextBox.WordWrap is 
++          true (fixes bug #76354)
++      
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: 
++        - Defaulting BorderStyle and setting it in XplatUI when our window 
++          is created
++        - Added enum check to InternalBorderStyle setter
++      * XplatUIX11.cs: 
++        - Added drawing of window borders
++        - Now properly calculates WM decorations offset for toplevel 
++          windows (fixes bug #74763)
++      * XplatUIWin32.cs: 
++        - Implemented BorderStyles for windows (we're letting win32 draw 
++          the border for us)
++        - Fixed the signature for SetWindowLong
++      * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
++        ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for 
++        setting borders
++      * UpDownBase.cs: Remove drawing of borders, this is handled by
++        the driver, outside the client area
++      * ListView.cs: Removed bogus border calculations. The control should
++        be oblivious to borders, since those are not part of the client
++        area. 
++      * X11DesktopColors.cs: Commented out (currently) unneeded variables
++      * ThemeWin32Classic.cs: Removed border calculations from ListView 
++        drawing code
++
++2005-10-06  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Clear out the old virtual position remove
++      all the unneeded calls to CreateGraphics.
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs: Use proper color for highlighted text; fixes #76350
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Form.cs: 
++        - Added loading and setting of our new default icon
++        - Only set icon if window is already created
++
++2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Label.cs:
++        - Do not explicitly set the foreground and background colors, to
++          allow inheriting from parents (fixes #76302)
++        - Use Control's InternalBorderStyle property to deal with borders
++
++2005-10-06  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Use the new xplatui function to draw a
++      reversible rect.
++
++2005-10-06  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Add the parent before creating the child context cause
++      we need the parent when setting up the child.
++
++2005-10-06  Jackson Harper  <jackson@ximian.com>
++
++      * FolderBrowserDialog.cs: redo the tree population code so a
++      second thread isn't used. Should be a lot faster and more stable
++      now.
++
++2005-10-05  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: There are no expand/collapse boxes if the node has
++      no children.
++
++2005-10-05  Jackson Harper  <jackson@ximian.com>
++
++      * X11DesktopColors.cs: Get menu colours for the gtk theme.
++
++2005-10-05  Alexander Olk  <alex.olk@googlemail.com>
++
++      * FileDialog.cs: Fix InitialDirectory
++
++2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs:
++              - Fixes changing between styles
++              - Fixes simple mode
++              - Fixes last item crashing when navigating with keyboard
++
++2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
++
++2005-10-05  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: If updating the root node do a full refresh.
++      * TreeNode.cs: The root node should be expanded by default. Also
++      added a utility prop to tell if we are the root node.
++      * TreeNodeCollection.cs: Only refresh if the node we are being
++      added to is expanded. Also added a comment on a potential
++      optimization.
++      
++2005-10-04  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize() 
++        in dispose method. Fixes #76330
++
++2005-10-04  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
++
++              - Implements vertical and horizontal scrolling using XplatUI
++              - Fixes keyboard navagation
++              - Fixes EnsureVisible
++              - Drawing fixes
++              - Handles and draws focus properly
++
++
++2005-10-04  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Use upper case initials for internal fields. ImageStream:
++        Create handle. NET_2_0: Destroy handle when value is null.
++
++2005-10-03  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollBar.cs: My last scrollbar patch was broken. This is a
++      revert and a new patch to prevent the thumb from refreshing so
++      much.
++
++2005-10-02  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollBar.cs: Don't update position if it hasn't actually
++      changed. This occurs when you hold down the increment/decrement
++      buttons and the thumb gets to the max/min.
++
++2005-10-01  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs:
++      * MdiChildContext.cs:
++      * MdiClient.cs: Implement ActiveMdiChild in Form.
++
++2005-10-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Include ComboBoxEdit flag for the edit item
++
++2005-10-01  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
++        be found
++
++2005-09-30  Jackson Harper  <jackson@ximian.com>
++
++      * ListBox.cs: Don't do a full refresh unless some data has
++      actually changed.
++
++2005-09-30  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Make sure that the checkboxes size is factored in
++      even when not visible.
++
++2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * FileDialog.cs: Fix Jordi's build break
++
++2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * FileDialog.cs: 
++              - Use standard the Windows colours for the combobox as espected
++              - Dispose objects that use resouces when no longer need them
++
++2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * X11DesktopColors.cs: Initial incomplete implementation
++      * XplatUIX11.cs: Added call to initialize X11DesktopColors
++
++2005-09-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Theme.cs: 
++        - Switched Theme color names to match the names defined in 
++          System.Drawing.KnownColors. Life's hard enough, no need to make 
++          it harder.
++        - Added setters to all theme color properties so themes can set
++          their color schemes. The setters also propagate the color changes
++          to System.Drawing.KnownColors via reflection
++      * ControlPaint.cs,  Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
++        ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
++        DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
++        use the new, more logical theme color names
++      * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
++        post-NT colors
++      * ThemeWin32Classic.cs:
++        - Removed code to set the old classic Windows colors. Instead it
++          now relies on the colors returned by System.Drawing.KnownColors
++          which will be either modern static colors (Unix) or colors
++          read from the user's configuration (Win32)
++        - Updated to use the new, more logical theme color names
++        - Switched DataGrid drawing code to use only Theme colors instead of
++          a mix of System.Drawing.KnownColors and Theme colors
++        - DrawFrameControl(): Removed code that fills the button area, the
++          fill would overwrite any previous fill done by a control. This
++          fixes bug #75338 
++        - Added DrawReversibleRectangle() stub
++      * ScrollableControl.cs: Set visible state to false when scrollbars
++        are removed (pdn fix)
++      * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added 
++        DrawReversibleRectangle() method to allow drawing primitive 
++        'rubber bands'
++      * XplatUIX11.cs: Implemented DrawReversibleRectangle()
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Add(Icon): Create handle.
++
++2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListView.cs:
++      * ThemeWin32Classic.cs:
++              - Fixes detail mode
++              - Sets clippings
++              - Issues with drawing
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Moved RecreateHandle back to ImageList as event
++        source has to be the ImageList.
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
++
++2005-09-29  Jonathan Chambers <jonathan.chambers@ansys.com>
++      * GridItem.cs: Fixed TODOs
++      * GridItemCollection.cs: Added ICollection interface
++
++2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Resize icons when needed.
++
++2005-09-29  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListViewItem.cs
++              - Fixes GetBounds and returns on screen rects
++      * ListView.cs:
++              - Fixes vertical and horzintal scrolling of items
++      * ThemeWin32Classic.cs:
++              - Fixes drawing
++              
++2005-09-29  Raja R Harinath  <harinath@gmail.com>
++
++      * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
++
++2005-09-29  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Added comments about handle creation. Moved Handle,
++        HandleCreated and OnRecreateHandle implementations to ImageCollection.
++        Handle is created in Add methods.
++
++2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * DataGridDrawingLogic.cs: 
++              - Takes rows into account on Colum calculations
++              - Returns the column when clickig
++      * DataGrid.cs:
++              - Fixes default HitTestInfo values
++              - Fixes HitTestInfo.ToString
++              - Fixes ResetBackColor          
++      
++2005-09-28  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs: Obey rules for fixed sized windows (no
++      sizing or cursor changes). Also added some temp code to draw the
++      titlebars text (Makes dev a little easier).
++
++2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
++
++2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * ListBox.cs: Fixes bug 76253
++
++2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
++
++      * ImageList.cs: Added comments about the current implementation. Added
++        ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
++        Format32bppArgb to preserve transparency and can use Graphics.FromImage
++        while using the specified ColorDepth. ReduceColorDepth uses unsafe code
++        with Bitmap.LockBits for better performance. Revised the whole file to
++        match MS.NET behaviour and provide better performance. Non-public
++        interface members are calling public members even when they throw
++        NotSupportedException for better maintainability. Moved ColorDepth,
++        ImageSize, ImageStream and TransparentColor implementations to
++        ImageCollection for better performance as these properties are not used
++        by ImageList.
++      * ImageListStreamer.cs: Added a new internal constructor that takes an
++        ImageList.ImageCollection and serializes Images based on
++        ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
++        match ImageList property name.
++
++2005-09-28  Kazuki Oikawa <kazuki@panicode.com>
++
++      * ListBox.cs: Fixes IndexFromPoint for last item
++
++2005-09-27  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Set the position of new mdi children correctly.
++
++2005-09-27  Jackson Harper  <jackson@ximian.com>
++
++      * MdiClient.cs: New mdi children need to be added to the back of
++      the controls collection so the zorder is set correctly. Also add a
++      count of all the child windows that have been created.
++
++2005-09-27  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs (CreateParams): Setup MDI forms correctly.
++
++2005-09-27  Jackson Harper  <jackson@ximian.com>
++
++      * MdiChildContext.cs:
++      * MonthCalendar.cs:
++      * UpDownBase.cs:
++      * ListBox.cs:
++      * ListView.cs:
++      * TextBoxBase.cs:
++      * TreeView.cs:
++      * ScrollableControl.cs:
++      * ComboBox.cs: Add implicit controls using the new implict control
++      functionality in ControlCollection. Also try to block multiple
++      control add in a suspend/resume layout to save some cycles.
++      
++2005-09-27  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Add functionality to the controls collection to add
++      'implicit controls' these are controls that are created by the
++      containing control but should not be exposed to the user. Such as
++      scrollbars in the treeview.
++      * Form.cs: The list var of the ControlsCollection is no longer
++      available because of the potential of implicit controls getting
++      ignored by someone accessing the list directly.
++
++2005-09-26  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs: Fixed SetChildIndex; it no longer causes a child to
++        loose it's parent. (Fixed bug introduced in r49103 when we added
++        setting the child parent to null on Remove)
++
++2005-09-26  Gert Driesen  <drieseng@users.sourceforge.net>
++
++      * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
++      * Splitter.cs: Added missing attributes for BorderStyle property.
++      * TextBoxBase.cs: Marked Calculate* methods internal.
++      * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
++      MS.NET.
++
++2005-09-26  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * ListBox.cs: Fixes navigation to the last item in multicolumn lists
++
++2005-09-25  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Update the node bounds correctly regardless of
++      whether the node is visible.
++
++2005-09-25  Jackson Harper  <jackson@ximian.com>
++
++      * ImageList.cs: Don't dispose the image after it is added to the
++      image list. Only reformat images that need to be resized.
++
++2005-09-25  Jackson Harper  <jackson@ximian.com>
++
++      * ImageList.cs: Don't set the format when changing the image.
++
++2005-09-25  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: We can't just assume the node has a font. Use the
++      treeviews font if no node font is available.
++
++2005-09-25  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Allow the scrollbars to be reset with negative
++      values.
++      - Don't add scrollbars to negative sized windows.
++
++2005-09-23  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
++      old Mono.Posix. Also remove some stray code that shouldn't have
++      been committed.
++
++2005-09-23  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Attempt at proper sizing of the horizontal
++      scrollbar. Also don't resize the scrollbars unless they are
++      visible.
++
++2005-09-23  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: We don't need to expand the invalid area when the
++      selection changes, as this is all drawn in the node's bounding
++      box. The area needs to be expanded (previous typo was contracting
++      it) when the focus rect moves.
++
++2005-09-23  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Display the selection box under the correct
++      circumstances. We were rendering white text with no selection box
++      before.
++
++2005-09-23  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * TextControl.cs(Split): Now updates selection start/end if it points 
++        into a line that's being split. Fixes a FIXME and bug #75258
++
++2005-09-23  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs:
++      * ListControl.cs: Don't use the path when retrieving binding
++      managers from the binding context. My bat sense tells me that the
++      path is only used on insertion.
++
++2005-09-22  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: Set the cursor an easier way. (Thanks peter).
++
++2005-09-22  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: There are special cursors used for splitting.
++      * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
++
++2005-09-22  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: Change the cursor appropriately when the splitter
++      is moused over, so the user actually knows there is a splitter
++      there.
++
++2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
++
++       * Label.cs : Fix ToString method to give same output as MS.NET
++
++2005-09-22  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Create the scrollbars when the handle is created
++      and add them right away, just make them invisble. Also account for
++      the window being shrunk vertically to the point that the vert
++      scrollbar needs to be added.
++      - Remove some 0.5 adjustments to get around anti aliasing issues.
++      
++2005-09-22  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * MainMenu.cs: Fixes default value
++      * MenuItem.cs: Fixes default value
++
++2005-09-22  Kazuki Oikawa  <kazuki@panicode.com>
++
++      * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
++
++2005-09-21  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Don't try to set the border style on the window if
++      it hasn't been created. When the window is created the border
++      style will be used.
++
++2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs (Update): Don't call XplatUI if we don't have a
++        window handle yet
++
++2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * ContainerControl.cs: Instead of throwing an exception, print
++        a one-time warning about Validate not being implemented
++      * XplatUIWin32.cs: Removed debug output
++
++2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Control.cs: Only set XplatUI background if we expect the windowing
++        system to handle the background. This stops controls that draw their
++        own background from flickering
++
++      * XplatUIX11.cs: Support custom visuals and colormaps for window 
++        creation. This allows, amongst other things, using MWF X11 windows 
++        with OpenGL.
++
++2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
++        CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
++        GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
++        SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
++        TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
++        IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
++        KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
++        RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
++        ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
++        ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
++        GridColumnStylesCollection.cs, 
++        IDataGridColumnStyleEditingNotificationService.cs,
++        PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
++        MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
++        GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs, 
++        TreeNodeCollection.cs, AmbientProperties.cs, 
++        RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
++        DataObject.cs, ErrorProvider.cs, Splitter.cs,
++        DataGridLineStyle.cs, Shortcut.cs, Control.cs,
++        FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
++        BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
++        IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
++        FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
++        IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
++        NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
++        PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
++        SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
++        FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
++        DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
++        ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
++        RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
++        MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
++        ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
++        CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
++        MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
++        NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
++        ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
++        SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
++        Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
++        RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
++        DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
++        ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
++        PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
++        DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
++        ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
++        AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
++        RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
++        CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
++        SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
++        Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
++        SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
++        ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
++        TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
++
++2005-09-21  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Call Before/After Expand not Collapse when
++      expanding.
++
++2005-09-20  Jackson Harper  <jackson@ximian.com>
++      
++      * XplatUIX11.cs: Use the more hand looking hand (in most themes).
++
++2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * ListViewItem.cs:
++              - Fixes bug 76120
++              - Fixes proper storing of subitems
++              - Fixes not updated items
++
++2005-09-20  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
++        things if our window handle isn't created yet. Also disabled 
++        debug for TextBoxBase
++
++2005-09-20  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * MenuAPI.cs: Remove filtering of events to allow menu usage
++
++2005-09-20  Miguel de Icaza  <miguel@novell.com>
++
++      * Cursor.cs: Allow null to be passed to Cursor.Current.
++
++2005-09-20  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeWin32Classic.cs:
++        - Change some private methods/fields to protected virtual so that 
++          they can be accessed and overriden in derived classes
++        - First refactoring of some methods. Derived themes now don't 
++          need to duplicate the complete code from ThemeWin32Classic
++      * ThemeNice.cs:
++        - Added nice StatusBar
++        - Derive from ThemeWin32Classic and not Theme
++        - Removed duplicate ThemeWin32Classic code
++
++2005-09-20  Miguel de Icaza  <miguel@novell.com>
++
++      * Control.cs (ControlCollection.Add): If the value null is passed
++      the control is ignored. 
++
++      Optimize this loop.
++
++2005-09-19  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
++        PostQuitMessage state.
++      * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
++
++2005-09-19  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * Application.cs: Our constructor will never get called, move 
++        initialization to fields; fixes bug #75933
++
++2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
++
++      * FileDialog.cs :
++              - Allow files to be selected properly using file name
++              combo box.
++              - Add ability to change diretory (absolute / relative)
++              using file name combo box.
++
++2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
++       
++      * ListBox.cs: 
++              - Fixes Multicolumn listboxes item wrong calculations
++              - Allows to click when only one item is in the listbox
++              - Fixes crash when no items using keyboard navigation
++
++2005-09-16  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ComboBox.cs: Reverted almost everything from the latest patch which
++        broke ComboBox
++
++2005-09-16  Kazuki Oikawa <kazuki@panicode.com>
++      
++      * ToolTip.cs:
++              - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
++      * ComboBox.cs:
++              - When DropDownStyle is Simple, it does not show scrollbar 
++              to the last item of the list.
++              - When DropDownStyle is Simple, it crashed when the list was 
++              scrolled down with the down cursor key.
++              - Fixed a bug that when DropDownStyle is DropDownList, the 
++              selected item was not shown.
++              - The position of the selected item was not preserved when 
++              the next dropdown happened.
++      * ThemeWin32Classic.cs:
++              - Items were wrapped at the right end.
++      * CheckedListBox.cs:
++              - Fixed Add method
++      * ListBox.cs:
++              - Items should be fully shown.
++              - When resizing and vertical scrollbar disappeared, the item 
++              of index 0 should be on the top of the list.
++              - GetItemRectangle should consider the size of ver. scrollbar
++      * StatusBar.cs:
++              - SizingGrip area should not be allocated when it is not 
++              displayed.
++              - Now it reflects MinWidth of the containing panel and 
++              fixed a crash that happens when its width becomes so small.
++
++2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * CheckedListBox.cs: Fixes bug 76028
++      * ListBox.cs: Fixes bug 76028
++
++2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
++      * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
++
++2005-09-12  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * XplatUIX11.cs: fixes System.NullReferenceException in some situations
++
++2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * IRootGridEntry.cs: Changed namespace to PropertyGridInternal 
++
++2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * IRootGridEntry.cs: Added
++      * PropertyGridCommands.cs: Added
++      * PropertiesTab.cs: Added missing methods and property
++      * PropertyGridView.cs: Made class internal
++      * PropertyGridTextBox.cs: Made class internal
++
++2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
++
++      * MimeIcon.cs: Try to check some other environment variables
++        if "DESKTOP_SESSION" returns "default"
++
++2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: Corrected background colors (e.g. menus)
++      * ColorDialog.cs: Use correct background colors for controls
++
++2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
++
++2005-09-08  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * RichTextBox.cs: Added initial implementation
++      * lang.cs: Removed. Was accidentally checked in long time ago
++      * TODO: Removed. Contents were obsolete
++
++2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
++                                                                                
++        * PropertiesTab.cs : Added
++
++2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
++                                                                                
++        * PropertyGrid.cs : Update
++        * PropertyGridView.cs : Update
++        * System.Windows.Forms.resx : Added images and strings
++
++2005-09-06  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
++ 
++2005-09-06  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
++        a busy loop right after the Ungrab the X11 display is otherwise 
++        blocked
++
++2005-09-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: Optimise the use of clipping
++
++2005-09-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGrid.cs: fixes recursion bug
++
++2005-09-03  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: 
++        - Draw RadioButton and CheckBox Buttons with DrawButtonBase
++        - Cleanup
++
++2005-09-02  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs: Draw nice ProgressBars
++
++2005-09-01  Miguel de Icaza  <miguel@novell.com>
++
++      * VScrollBar.cs: Another buglet found by Aaron's tool. 
++
++      * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
++      bug finder.
++
++2005-08-30  Alexander Olk  <alex.olk@googlemail.com>
++
++      * ThemeNice.cs:
++        - Added nicer menu drawing
++        - Updated DrawTab
++        - some refactoring
++
++2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * CreateParams.cs (ToString): Made output match MS
++      * Control.cs (Text): Don't set Text or Focus via XplatUI unless 
++          handle is already created (to avoid forcing window creation)
++      * XplatUIX11.cs: Set window text to caption after creating window,
++        in case Text was set before window was created
++      * Form.cs: Use this.Text instead of a static string as caption
++
++2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * NotifyIcon.cs: Don't set the window to visible; this screws
++        up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
++        OnPaint without a bitmap)
++      * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't 
++        happen very often anyway; we could add the check to the WM_PAINT 
++        event generation code
++
++2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
++
++      * NotifyIcon.cs: Fill the icon area with a background color, to 
++        avoid 'residue' when transparent icons are drawn
++      * XplatUIX11.cs:
++        - Handle whole_window == client_window when destroying windows
++        - SystrayAdd(): Set client_window to whole_window value to
++          get mouse and other events passed to NotifyIcon
++
++2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Form.cs: Set proper default for Opacity property
++      * NotifyIcon.cs:
++        - ShowSystray(): Don't bother creating telling the OS
++          about the systray item if no icon is provided
++        - Now handles WM_NCPAINT message to deal with whole/client window
++          split
++        - Create window as visible to not get caught by Expose optimization
++      * Hwnd.cs: Removed debug message
++      * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
++        StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched 
++          PaintEventStart/End to use new client argument
++      * TextBoxBase.cs:
++        - Commented out debug messages
++        - Switched PaintEventStart/End to use new client argument
++      * XplatUI.cs: Added client window bool to PaintEventStart()/
++        PaintEventEnd() calls, to support drawing in non-client areas
++      * XplatUIDriver.cs: 
++        - Added client window bool to PaintEventStart()/PaintEventEnd() 
++          calls, to support drawing in non-client areas
++        - Added conditional compile to allow using MWF BeginInvoke 
++          on MS runtime
++      * XplatUIX11.cs:
++        - Added some conditional debug output
++        - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
++          whole/client window split
++        - Implemented handling of client argument to PaintEventStart()/End()
++      * Control.cs:
++        - Throw exception if BeginInvoke() is called and the window handle
++          or one of the window's parent handles is not created
++        - Added conditional compile to allow using MWF BeginInvoke on
++          MS runtime
++        - get_Parent(): Only sets parent if handle is created. This avoids
++          forcing window handle creation when parent is set.
++        - Now fires Layout and Parent changed events in proper order
++        - Switched to use Handle instead of window.Handle for Z-Order setting,
++          the get_Parent() patch above causes us to possibly get null for 'window'
++        - Implemented handling of client argument to PaintEventStart()/End()
++        - Now reports back to windows that WM_SETCURSOR was handled (to avoid
++          default handling)
++        - Now sends a Refresh() to all child windows when Refresh() is called
++
++2005-08-29  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Form.cs: Added (non-functional) Opacity property
++      * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
++
++2005-08-29  Alexander Olk  <xenomorph2@onlinehome.de>
++      * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
++        use export MONO_THEME=nice to activate it.
++        Currently supported controls:
++        - Button
++        - ComboBox
++        - ScrollBar
++        - TabControl (TabAlignment.Top only, other will follow)
++      * ThemeEngine.cs: Add theme nice
++      * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
++        if enabled
++
++2005-08-25  Jonathan Chambers  <jonathan.chambers@ansys.com> 
++
++      * Splitter.cs: Resize docked control and its neighbor.
++
++2005-08-24  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
++      -- Making Windows with Menus layout correctly --
++      * Form.cs : The first leg of the fix
++              Menu setter - adjust Client Size as needed to make space for the menu
++              SetClientSizeCore - doesn't call base version to be able to pass the 
++                      menu handle to XplatUI.CalculateWindowRect
++      * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
++      * XplatUIX11.cs: The critical second leg of the fix
++              GetWindowPos needs to use a recalculated client_rect
++              so that resizing the window doesn't break layout of child controls. 
++              Also a more complete rule to avoid X Server roundtrips in SetWindowPos
++              Lots of \t\n killed
++
++2005-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Label.cs: Now properly recalculates width and height on Font and Text
++        changes if AutoSize is set
++
++2005-08-19  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
++      * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
++
++2005-08-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ImageList.cs: Makes ToString method compatible with MS
++
++2005-08-18  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * MenuAPI.cs: fixes bug 75716
++
++2005-08-11 Umadevi S <sumadevi@novell.com>
++      * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
++
++2005-08-11 Umadevi S <sumadevi@novell.com>
++      * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
++
++2005-08-10  Umadevi S <sumadevi@novell.com>
++      * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
++
++2005-08-07  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Menu.cs: fixes bug 75700
++      * MenuAPI.cs: fixes navigation issues
++
++2005-08-09  Umadevi S <sumadevi@novell.com>
++      * CheckedListBox.cs - simple fix for GetItemChecked.
++
++2005-08-08  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Serveral fixes
++      * ListBox.cs: Serveral fixes
++
++2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Fixes FindString methods and GetItemHeight
++      * ListBox.cs: Fixes FindString methods
++
++2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGrid.cs: fixes bugs exposed by new tests
++
++2005-08-04  Peter Dennis Bartok  <pbartok@novell.com> 
++
++      * Mime.cs: Compile Mono assembly references only if compiling
++        with Mono (Allows to build with VS.Net again)
++
++2005-07-28  Marek Safar  <marek.safar@seznam.cz>
++
++      * Control.cs (PaintControlBackground): Draw background image
++      corrrectly.
++      (CheckForIllegalCrossThreadCalls): Stubbed.
++      
++      * Form.cs (OnCreateControl): Center when should be centered.
++      
++      * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
++
++2005-07-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Binding.cs: Binding to properties should be case unsensitive
++
++2005-07-18 vlindos@nucleusys.com
++
++      * DataGrid.cs: fixes setmember order
++
++2005-07-07  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
++      * FileDialog.cs: FileDialog is now resizable and uses the new
++        MimeIconEngine
++
++2005-07-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: default value
++      * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
++      * GridTableStylesCollection.cs: fixes checking MappingName
++      * DataGridDrawingLogic.cs: fixes drawing logic issues
++      * DataSourceHelper.cs: rewritten to make compatible with more data sources
++      * DataGrid.cs: fixes    
++
++2005-07-06  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * MimeGenerated.cs: Use case sensitive comparer for
++        NameValueCollections
++
++2005-07-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: bug fixes, code refactoring 
++      * ThemeWin32Classic.cs: bug fixes, code refactoring
++      * DataGridDrawingLogic.cs:  bug fixes, code refactoring
++      * DataGrid.cs: bug fixes, code refactoring
++      * DataGridTextBox.cs: bug fixes, code refactoring
++      * DataGridColumnStyle.cs:  bug fixes, code refactoring
++      * Theme.cs:  bug fixes, code refactoring
++
++2005-07-01  Peter Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs: Quick fix for the reported crash on ColorDialog
++        and other text box usage
++
++2005-07-01  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Make sure the bottom of the tab covers the pages
++      border.
++
++2005-06-30  Peter Bartok  <pbartok@novell.com> 
++
++      * Form.cs (ShowDialog): Assign owner of the dialog
++      * TextBoxBase.cs: Always refresh caret size when deleting, caret
++        might have been moved to a tag with different height
++
++2005-06-30  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Don't create an infinite loop when setting focus
++      * MenuItem.cs: Don't dirty the parents if we don't have any
++
++2005-06-29  Ben Maurer  <bmaurer@ximian.com>
++
++      * LibSupport.cs: Rename
++
++2005-06-29  Peter Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs: Re-align caret after deleting a character
++      * TextControl.cs:
++        - DeleteChars(): Ensure that tag covers the provided position
++        - StreamLine(): Drop reference for dropped tag
++
++2005-06-29  Peter Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs: 
++        - Selections now work properly, anchoring at the initial location
++          and properly extending in either direction (SetSelectionToCaret(),
++          SetSelectionStart() and SetSelectionEnd())
++        - No longer redraws the whole control on selection change, now
++          calculates delta between previous and new selection and only
++          invalidates/redraws that area
++        - Fixed FindPos() math off-by-one errors
++        - Changed DeleteChars() to verify the provided tag covers the
++          provided position, selections may have a tag that doesn't cover
++          the position if the selection is at a tag border
++        - Fixed off-by-one errors in DeleteChars()
++        - Added missing streamlining check in DeleteChars() to remove
++          zero-length tags
++        - Implemented Invalidate() method, now properly calculates exposures
++          between two given lines/positions
++        - Implemented SetSelection()
++        - Obsoleted and removed FixupSelection()
++        - Improved RecalculateDocument() logic, removing code duplication
++
++2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
++
++      * LibSupport.cs: changes to match different input/output arguments.
++
++2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
++
++      * LibSupport.cs: added libsupport.so init routine.
++
++2005-06-29  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * ControlBindingsCollection.cs
++              - Throws an exception on null datasource when adding
++              - Checks for duplicated bindings when adding
++
++2005-06-28  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs (OnKeyDown): Support left and right properly
++      (navigates as well as expanding and collapsing.
++      - Add support for Multiply, this expands all the selected nodes
++      children.
++      - Fix some tabbing.
++
++2005-06-28  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Implement keyboard navigation, currently supports,
++      LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
++      support for toggling checkboxes with the space bar.
++
++2005-06-28  Jackson Harper  <jackson@ximian.com>
++
++      * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
++      tree.
++
++2005-06-28  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Add missing event.
++
++2005-06-27  Peter Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs:
++        - Made line ending size configurable (now allows for counting 
++          lineendings as \n or \r\n)
++        - Added margin to viewport to keep caret visible on right side
++        - Fixed translation routines for line/pos to documentpos to consider
++          cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
++        - Fixed some line-endings to be unix style
++        - Fixed Document.FormatText to perform it's calculations 1-based
++        - Added descriptions for a few methods that might otherwise get 
++          used wrong
++        - Added NOTE section with some basic conventions to remember at 
++          the top of the file
++        - Major fixup for RichTextBox selection drawing:
++          * Fixed crashes when multiple tags on a single line were selected
++          * fixed selection box drawing not overlaying text
++          * fixed bogus offset calculation for tags not starting at index 1
++          * Switched behaviour from using multiple Substrings of a 
++            StringBuilder.ToString() to using multiple 
++            StringBuilder.ToString(start, length) statements, hoping this is
++            faster (kept original version commented out in the code, in case
++            original version was faster)
++      * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if 
++        alignment != Left
++      * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
++        call it as well
++
++2005-06-27  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Move to the left and right with the arrow
++      keys. These keys don't cycle beyond first and last like
++      tab. Refresh all the tabs when scrolling them to the left or
++      right.
++
++2005-06-27  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs:
++        - ToString: Added method
++        - CreateParams: Remove TODO and comment
++        - OnKeyDown: Cycle through bounds properly.
++        - SelectedIndex: Scroll to the right or left if we need to
++        display the newly selected tab.
++
++2005-06-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
++      set.
++
++2005-06-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
++      CTRL-SHIFT-TAB, and HOME, END are there any others?
++
++2005-06-23  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
++
++2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * DataGridTextBoxColumn.cs: fixes and enhancements
++      * ThemeWin32Classic.cs: fixes and enhancements
++      * DataGridBoolColumn.cs:  fixes and enhancements
++      * DataGridDrawingLogic.cs:  fixes and enhancements
++      * CurrencyManager.cs: fixes and enhancements
++      * DataGrid.cs: fixes and enhancements
++      * DataGridColumnStyle.cs:  fixes and enhancements
++
++2005-06-22  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Add some missing methods that just call into the
++      base. Make the TabPageCollection's IList interface behave in the
++      same manner as the MS implementation.
++
++2005-06-22  Peter Bartok  <pbartok@novell.com> 
++
++      * TextControl.cs: Added sanity check
++      * TextBoxBase.cs: 
++        - Fixed wrapping behaviour, don't set wrap on single line controls
++          (this fixes the breakage of colordialog introduced in an earlier
++           checkin)
++        - Added rudimentary support for autoscrolling right-aligned controls
++          (still needs fixing, also, center alignment scroll is missing)
++
++2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * ScrollBar.cs: Fixes thumbpos on Maximum values
++
++2005-06-21  Jonathan Chambers <jonathan.chambers@ansys.com>
++      
++      * PropertyGridView.cs: Pass context information to UITypeEditors 
++
++2005-06-21  Peter Bartok  <pbartok@novell.com> 
++
++      * TextBoxBase.cs:
++        - Now calling PositionCaret with absolute space coordinates
++        - Enabled vertical scrolling
++        - Better tracking of scrollbar changes, tied into WidthChange
++          event
++        - Improved cursor tracking
++        - Removed debug output
++      * TextControl.cs:
++        - PositionCaret coordinates are now works in absolute space, not 
++          the canvas
++        - Improved tracking of document size
++        - Added events for width and height changes
++
++2005-06-21  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs: Set focus to active control when form is activated
++      * TextControl.cs: 
++        - Added word-wrap functionality to RecalculateLine() 
++        - Added some short function descriptions for VS.Net to aid in
++          writing dependent controls
++        - Added Caret property, returning the current coords of the caret
++        - Added ViewPortWidth and ViewPortHeight properties
++        - Added Wrap property
++        - Added CaretMoved event
++        - Removed some old debug code
++        - Split() can now create soft splits
++        - Added PreviousTag()/NextTag() to allow walking "tag-lists"
++        - Added method to format existing text
++        - Fixed size/alignment calculations to use viewport
++        - RecalculateDocument now can handle changing line-numbers while
++          calculating lines
++
++      * TextBox.cs:
++        - Added some wrap logic, we don't wrap if alignment is not left
++        - Added casts for scrollbar var, base class switched types to
++          also support RichTextBoxA
++        - Implemented handling of scrollbar visibility flags
++
++      * TextBoxBase.cs:
++        - Switched scrollbars type to RichTextBoxScrollBars to support
++          RichTextBox
++        - Added tracking of canvas width/height
++        - Switched scrollbars to be not selectable (to keep focus on text)
++        - Added central CalculateDocument() method to handle all redraw
++          requirements
++        - Added ReadOnly support
++        - Added WordWrap support
++        - Fixed handling of Enter key (we now treat it as a DialogKey)
++        - Fixed caret positioning when h or v scroll is not zero
++        - Fixed placing/generation of vertical scrollbar
++        - Added CalculateScrollBars() method to allow updating scrollbar
++          limits and visibility
++        - Fixed handling of horizontal scroll
++        - Added handling of vertical scroll
++        - Implemented auto-'jump' when caret moves to close to a left or
++          right border and there is text to be scrolled into view (currently
++          there's the potential for a stack overflow, until a bug in
++          scrollbar is fixed)
++
++2005-06-21  Geoff Norton  <gnorton@customerdna.com>
++      
++      * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
++
++2005-06-19  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * Mime.cs:
++      - added inodes.
++      - return application/x-zerosize for files with size zero
++        (if no extension pattern matches).
++      - check matches collection for strings too.
++      - return only the first mime type if the name value
++        collection has more than one mime type.
++
++2005-06-18  Jonathan Chambers <jonathan.chambers@ansys.com>
++      
++      * PropertyGrid.cs: Cleaned up some TODOs
++      * PropertyGridView.cs: Added support for UITypeEditors
++
++2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * DataGrid.cs: clears cached value
++
++2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
++      * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
++      * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
++      * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
++      
++2005-06-16  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: fixes colour
++
++2005-06-15  Peter Bartok  <pbartok@novell.com>
++
++      * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
++      * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
++      * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
++      * Control.cs: Added some MWFCategory and MWFDescription attributes
++      * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
++
++2005-06-15  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
++      usage
++
++2005-06-14  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
++      * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
++      * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
++      * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
++      * DataGrid.cs: default datagrid settings for Default Styles, fixes
++      * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
++
++2005-06-13  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
++      isn't printed when the user enables dropping. (X11 does accept
++      drops).
++      
++2005-06-13  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Remove some TODOS.
++
++2005-06-13  Jackson Harper  <jackson@ximian.com>
++
++      * Form.cs: Hook into the mdi framework.
++      * MdiClient.cs: Use the base control collections add method so
++      parents get setup correctly. Set the default back colour and dock
++      style.
++      * MdiChildContext.cs: New class, this bad actor handles an
++      instance of an MDI window. Right now there is only basic
++      support. You can drag, close, and resize windows. Minimize and
++      Maximize are partially implemented.
++
++2005-06-13  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Mash numbers together properly, otherwise we get
++      freaky when both vals are negative. NOTE: There are probably other
++      places in XplatUIX11 that this needs to be done.
++
++2005-06-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGrid.cs: implement missing methods, move KeyboardNavigation
++      * DataGridColumnStyle.cs: fixes signature
++
++2005-06-12  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Use sizing cursors similar to the ones on
++      windows.
++
++2005-06-11  Jackson Harper  <jackson@ximian.com>
++
++      * StatusBarPanel.cs: Signature cleanups. Implement
++      BeginInit/EndInit.
++
++2005-06-10  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: Honors aligment
++      * GridColumnStylesCollection.cs: Contains is case unsensitive
++      * GridTableStylesCollection.cs: several fixes
++      * DataGridTableStyle.cs: default column creation
++      * DataGridDrawingLogic.cs: fixes
++      * CurrencyManager.cs: ListName property
++      * DataGrid.cs: multiple styles support
++      * DataGridColumnStyle.cs: fixes
++      
++
++2005-06-10  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs(Select): Moved SetFocus call to avoid potential
++        loops if controls change the active control when getting focus
++      * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
++        the up/down buttons
++
++2005-06-10  Matthias Felgner  <matthiasf@voelcker.ocm>
++
++      * ImageListConverter.cs: Implemented
++
++2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
++
++      * MonthCalendar.cs: Wired in NumericUpDown control for year
++
++2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
++
++      * MonthCalendar.cs: Removed MonoTodo attributes on Click and
++        DoubleClick events, since they are not meant to be fired.
++
++2005-06-09  Peter Bartok  <pbartok@novell.com>
++
++      * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
++        Jonathan's standalone controls into MWF, implemented missing
++        events, attributes and methods; added xxxAccessible classes
++      * AccessibleObject.cs: Made fields internal so other classes
++        can change them if needed
++
++2005-06-09  Jonathan Gilbert  <2a5gjx302@sneakemail.com>
++
++      * UpDownBase.cs: Complete implementation
++      * NumericUpDown.cs: Complete implementation
++      * DomainUpDown.cs: Complete implementation
++
++2005-06-09  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: drawing fixes
++      * DataGridCell.cs: fixes ToString method to match MSNet
++      * DataGridTableStyle.cs: fixes
++      * DataGridBoolColumn.cs: fixes, drawing
++      * DataGridDrawingLogic.cs: fixes, new methods
++      * DataGridTextBox.cs: Keyboard and fixes
++      * DataGrid.cs:
++              - Keyboard navigation
++              - Scrolling fixes
++              - Row selection (single, multiple, deletion, etc)
++              - Lots of fixes
++      
++2005-06-07  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Clear the background area when drawing
++      buttons.
++
++2005-06-06  Peter Bartok  <pbartok@novell.com>
++
++      * ImageListStreamer.cs: Fixed signature for GetData
++      * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
++      * ComboBox.cs:
++        - Added missing ChildAccessibleObject class
++        - Added missing OnXXXFocus overrides, switched to using those
++          instead of the event handler
++      * Control.cs:
++        - Added Parent property for ControlAccessibleObject
++        - Fixed signatures
++        - Fixed attributes
++        - Added ResetBindings()
++      * ListBindingConverter.cs: Implemented some methods
++      * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
++      * ImageList.cs: Implemented basic handle scheme, removed TODOs
++      * ContainerControl.cs: Fixed signature, now subscribing to the
++        ControlRemoved event instead of overriding the handler, LAMESPEC
++      * CurrencyManager.cs: Added missing attribute
++      * MonthCalendar.cs: Added missing properties
++
++2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
++      
++2005-06-06  Gaurav Vaish and Ankit Jain
++
++      * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
++      * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
++      
++2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Control.cs: fixes CreateParams Width / Height.
++
++2005-06-05  Peter Bartok  <pbartok@novell.com>
++
++      * Win32DnD.cs: Removed compilation warnings
++
++2005-06-05  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs (CreateParams): Since we don't know if one of the
++        properties we use is overridden, lets make sure if we fail accessing
++        we continue with a backup plan
++
++2005-06-05  Peter Bartok  <pbartok@novell.com>
++
++      * Win32DnD.cs:
++        - Removed debug output
++        - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
++          struct
++        - Plugged resource leak
++      * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
++        MS size
++
++2005-06-05  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: Removed DnD code
++      * Win32DnD.cs: Implemented drop source and drop target functionality
++
++2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
++
++      * UpDownBase.cs: remove duplicate addition of event, enable some code
++      that was commented out.
++      * NumericUpDown.cs: added missing attributes and Hexadecimal property.
++      Validate input when a key is pressed. It works fine now for every
++      combination of Hexadecimal. Only missing some drawing love when sharing
++      space with other controls.
++
++2005-06-04  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - We need to pass a window for DragDrop, so enable callback events
++        - Added DnD callback events when being a DragSource
++      * XplatUI.cs (StartDrag): Added window handle argument
++      * XplatUIDriver.cs (StartDrag): Added window handle argument
++      * QueryContinueDragEventArgs: Made fields internally accessible so
++        drivers can set them
++      * GiveFeedbackEventArgs: Made fields internally accessible so drivers
++        can set them
++
++2005-06-03  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: column text editing
++      * DataGridTableStyle.cs: Respect columns styles created by the user
++      * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
++      * DataGridBoolColumn.cs: bool column editing
++      * DataGrid.cs: fixes to scrolling, properties, etc
++      * DataGridTextBox.cs: handle keyboard
++      * DataGridColumnStyle.cs: fixes
++
++2005-06-02  Jackson Harper  <jackson@ximian.com>
++
++      * ImageListStreamer.cs: Somewhat broken implementation of
++      GetObjectData. The RLE needs some work to match MS properly.
++
++2005-06-02  Jackson Harper  <jackson@ximian.com>
++
++      * X11Dnd.cs: Attempting to keep at least one file in MWF
++      monostyled.
++
++2005-06-02  Peter Bartok  <pbartok@novell.com>
++
++      * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
++        that way
++
++2005-06-02  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
++      * XplatUI.cs: Added DoDragDrop() method
++      * XplatUIDriver.cs: Added DoDragDrop() method
++
++2005-06-02  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: Implement BorderStyle.
++
++2005-06-02  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Tie into the X11Dnd subsystem.
++      * X11Dnd.cs: New file. A subsystem that handles drag and drop on
++      X11 using XDND.
++
++2005-06-02  Peter Bartok  <pbartok@novell.com>
++
++      * DataObject.cs:
++        - Added Data setter
++        - Fixed broken insertion code for SetData, now also
++          overwrites any existing entry of the same format name
++      * Hwnd.cs: Added list of pointers that automatically gets
++        freed when the window is disposed
++      * XplatUI.cs: Call driver initialization method when loading
++        a driver
++      * Control.cs:
++        - OnDragLeave takes EventArgs, not DragEventArgs
++        - Added setting of WS_EX_ACCEPTFILES style when dropping is
++          supported
++        - Forces style update when drop state changes
++      * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
++        not perfect since we cannot (yet) call the IDataObject.GetData()
++        method, we keep getting 0x80004005 error, dunno why)
++
++2005-06-02  Peter Bartok  <pbartok@novell.com>
++
++      * DragEventArgs.cs: Make fields internal so we can cache the
++        object and re-set the fields from XplatUI
++
++2005-06-02  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Add some internal methods so the DnD subsystem can
++      raise DnD events. Also call into the driver when AllowDrop is set.
++      * XplatUI.cs:
++      * XplatUIDriver.cs: New method for setting whether or not a window
++      is allowed to accept drag and drop messages.
++              
++2005-06-01  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * ScrollBar.cs: Make sure that values sent in Scroll events
++      are always between Maximum and Minimum.
++
++2005-06-01  Marek Safar  <marek.safar@seznam.cz>
++
++      * Menu.cs: Call MenuChanged when menuitem visibility has been
++      changed.
++      * MenuItem.cs: Rebuild menu when item is (not) visible.
++      * MainMenu.cs: MainMenu has special MenuChanged.
++      * Theme.cs: Caption and FrameBorderSize are not fixed.
++      * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
++      * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
++      * XplatUIX11.cs,
++      * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
++      * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
++
++2005-05-30  Jackson Harper  <jackson@ximian.com>
++
++      * DataFormat.cs: We can't statically initialize this stuff because
++      it calls into the xplatui and could create a loop. So we lazy init
++      it.
++
++2005-05-28  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Proper implementation of Product(Name/Version).
++
++2005-05-27  Jackson Harper  <jackson@ximian.com>
++
++      * DataObject.cs: Dont crash if no data is found.
++
++2005-05-26  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
++      * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
++              as per status page, guessing it should be set to true
++
++2005-05-26  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: Draws text and basic text formatting
++      * DataGridTableStyle.cs: set proper formatting text, def header text
++      * ThemeWin32Classic.cs: new themable paramaters
++      * DataGridBoolColumn.cs: paint check box, get data, fixes
++      * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
++      * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
++      * DataGridColumnStyle.cs: fixes
++      * Theme.cs: new themable paramaters
++              
++2005-05-26  Peter Bartok  <pbartok@novell.com>
++
++      * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
++
++2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
++      * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
++
++2005-05-24  Peter Bartok  <pbartok@novell.com>
++
++      * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
++        Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
++        Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
++        FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
++        NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
++        ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
++        DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
++        AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
++        DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
++        StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
++        missing attributes, etc
++      * DataGridPreferredColumnWidthTypeConverter.cs: Added
++
++2005-05-24  Peter Bartok  <pbartok@novell.com>
++
++      * Help.cs: Added, implemented trivial functions, throws up MessageBox
++        when user tries to get help
++      * DataObject.cs, DataFormats.cs, LinkArea.cs,
++        SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
++        to suppress warnings
++      * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
++        avoid unreachable code warning
++
++2005-05-20  Peter Bartok  <pbartok@novell.com>
++
++      * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
++
++2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: Basic painting methods
++      * DataGridTableStyle.cs: Set table style in the column
++      * ThemeWin32Classic.cs: Use Theme for colors
++      * DataGridDrawingLogic.cs: Implement more drawing
++      * DataGrid.cs: drawing, theming, enhacements, fixes
++      * DataGridColumnStyle.cs: fixes, drawing
++      * Theme.cs: theming for Datagrid
++
++2005-05-20  Peter Bartok  <pbartok@novell.com>
++
++      * Cursor.cs: Implemented GetObjectData() method
++
++2005-05-20  Peter Bartok  <pbartok@novell.com>
++
++      * Cursors.cs: Added setting of cursor name
++      * Cursor.cs:
++        - Implemented constructors
++        - Implemented Draw and DrawStretched
++        - Implemented Current property
++        - Implemented == and != operators
++        - Implemented Dispose()
++        - Implemented ToString
++        - Added missing attributes
++      * XplatUIX11.cs:
++        - Added missing reset for OverrideCursor when DoEvents is called
++        - Fixed creation of cursor, logic was wrong
++      * XplatUIWin32.cs:
++        - Added missing reset for OverrideCursor when DoEvents is called
++        - Fixed creation of cursor, bit arrays were swapped
++      * Clipboard.cs: Removed obsolete MonoTODO attribute
++
++2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: fixes OnSelectedItemChanged
++      * ControlBindingsCollection.cs: fixes item range check
++
++2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * UpDownBase.cs:
++              - Calc preferred height properly
++              - Implement missing properties
++              
++      * NumericUpDown.cs: Implement missing events
++
++2005-05-19  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: New method that resizes the tab pages before
++      redrawing them. This as needed as the control is double buffered
++      and sizing will not be recalculated unless ResizeTabPages is
++      called.
++      * TabPage.cs: Set base.Text instead of Text in the constructor so
++      that UpdateOwner does not get called. Use the new Redraw method of
++      TabControl instead of Refresh so the sizing is recalculated.
++      * ThemeWin32Classic.cs: Draw the text for button tabs.
++
++2005-05-19  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Paint control background images. Fix typo where
++      PaintControlBackground was not getting called correctly.
++
++2005-05-19  Peter Bartok  <pbartok@novell.com>
++
++      * ScrollableControl.cs (DisplayRectangle): Undid my last change until
++        I can investigate, apparently I broke FileDialog
++
++2005-05-19  Marek Safar  <marek.safar@seznam.cz>
++
++      * AxHost.cs: Some simple properties.
++      * Control.cs: window must be accessible after ctor.
++      * Form.cs: Added TransparencyKey property.
++      * TextBoxBase.cs: Implemented Clear. Text property can be null.
++      * XplatUIWin32.cs: SetBorderStyle implemented.
++
++2005-05-18  Peter Bartok  <pbartok@novell.com>
++
++      * DataObject.cs: Entries are not global but particular to the
++        DataObject, now it behaves that way
++      * XplatUIWin32.cs: Implemented Clipboard methods
++      * Clipboard.cs: Implemented
++      * ScrollableControl.cs (DisplayRectangle): Fixed calculation
++      * XplatUIOSX.cs: Updated to final clipboard prototypes
++      * XplatUIX11.cs: Implemented Clipboard methods
++      * XplatUIDriver.cs: Updated to final clipboard prototypes
++      * XplatUIStructs.cs:
++        - Added BITMAPINFOHEADER struct
++        - Added ClipboardFormats enum
++      * X11Structs.cs:
++        - Added ClipboardStruct
++        - Added Atom enum items for clipboard types
++        - Fixed atom types for Selection event structures
++      * DataFormats.cs:
++        - Added internal properties and methods for drivers to enumerate
++          all known formats
++        - Switched initialization method to allow drivers to assign their
++          own IDs even for the MS predefined clipboard IDs
++      * XplatUI.cs: Updated to final clipboard interface
++
++2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
++      * PropertyGridView.cs: Fixed compiler warnings.
++
++2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
++      * PropertyGrid.cs: Added some event calls
++      * PropertyGridView.cs: Change drawing code to use double buffering
++      * PropertyGridTextBox.cs: Changed Text property name
++      * GridItem.cs: Added Bounds property.
++      * GridEntry.cs: Added Bounds property.
++
++2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
++
++      * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
++      since GetType() may not return the correct type if the object is
++      a remoting proxy.
++
++2005-05-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * TreeNodeCollection.cs: fixes get/set item ranges
++      
++2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
++              
++2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Fix item range comparation
++      * ListView.cs: Fix item range comparation
++
++2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FontDialog.cs:
++        - Clear example panel when OnPaint is called
++        - Better solution for displaying the example panel text
++        - Select default indexes in the ListBoxes
++
++2005-05-11  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Avoid painting into invisible views.  Fixes #74926
++
++2005-05-11  Peter Bartok  <pbartok@novell.com>
++
++      * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
++      * SelectionRangeConverter.cs: Implemented
++      * PropertyGrid.cs: Fixed attribute value
++      * Control.cs:
++        - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
++        - Added Sebastien Pouliot's CAS Stack Propagation fixes
++      * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
++        that's common to all drivers. First methods to go there are
++        Sebastien Pouliot's CAS Stack Propagation helper methods
++      * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
++        Sebastien Pouliot for CAS Stack Propagation
++
++2005-05-11  Geoff Norton  <gnorton@customerdna.com>
++
++      * OSXStructs.cs:
++        XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
++
++2005-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: fixed some members
++      * GridColumnStylesCollection.cs: indexed column is case insensitive
++      * DataGridTableStyle.cs: fixes
++      * ThemeWin32Classic.cs: add new theme parameter
++      * Theme.cs: add new theme parameter
++      * DataGridDrawingLogic.cs: Datagrid's drawing logic
++      * DataGrid.cs: fixes, new internal properties, etc.
++      * DataGridColumnStyle.cs: allows to set grid value
++      *
++
++2005-05-10  Peter Bartok  <pbartok@novell.com>
++
++      * AccessibleObject.cs:
++        - Removed MonoTODO attribute on help, method is correct
++        - Fixed Bounds property
++      * AxHost.cs: Moved MonoTODO
++      * ButtonBase.cs: Now setting AccessibleObject properties
++      * RadioButton.cs: Setting proper AccessibleObject role
++      * CheckBox.cs: Setting proper AccessibleObject role
++      * ControlBindingsCollection.cs: Added properties, methods and attributes
++      * DataFormats.cs: Fixed awkward internal API, and changed to enable
++        userdefined DataFormats.Format items as well
++      * ListControl.cs: Removed data_member from the public eye
++      * OpenFileDialog.cs:
++        - Made class sealed
++        - Added missing attributes
++      * SaveFileDialog.cs: Added missing attributes
++      * ImageListStreamer.cs: Fixed code that caused warnings
++      * LinkLabel.cs: Removed unreachable code
++      * TreeView.cs: Fixed code that caused warnings
++      * PropertyGridView.cs: Fixed code that caused warnings
++      * GridColumnStylesCollection.cs: Added missing attributes
++      * GridTableStylesCollection: Added missing attribute
++      * PropertyManager: Added .ctor
++      * SecurityIDType: Added
++      * DataObject.cs: Implemented class
++      * LinkArea.cs: Added missing attribute
++
++2005-05-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * RadioButton.cs: call base method to allow to fire OnClick event
++      * UpDownBase.cs: OnMouseUp call base method
++      * CheckedListBox.cs: call base method before returning
++      * TrackBar.cs: call base method before returning
++      
++
++2005-05-10  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
++        for messages
++
++2005-05-10  Peter Bartok  <pbartok@novell.com>
++
++      * DataFormats.cs: Implemented
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
++        XplatUIX11.cs: Added Clipboard APIs
++      * XplatUIWin32.cs: Implemented Clipboard APIs
++      * FolderBrowserDialog.cs: Added missing event, attributes
++
++2005-05-10  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * CheckBox.cs: call base method to allow to fire OnClick event
++
++2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
++
++      * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
++
++2005-05-06  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
++      * Screen.cs: Implemented
++      * HelpNavigator.cs: Added
++      * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
++        property
++      * HelpProvider.cs: Implemented all we can do until we have a CHM
++        help library (which means that "What's This" does work now)
++
++2005-05-06  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Fix waking up the main loop.
++              
++2005-05-05  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs: Updated revision
++      * Form.cs: Removed enless loop
++      * GroupBox.cs (OnPaint): Added call to base.OnPaint()
++      * Label.cs (OnPaint): Added call to base.OnPaint()
++      * ToolTip.cs: Made ToolTipWindow reusable for other controls
++      * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
++      * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
++      * AxHost.cs: Added
++      * ButtonBase.cs: Moved base.OnPaint() call to end of method
++      * ThemeWin32Classic.cs: Replaced references to ToolTip with references
++        to ToolTip.ToolTipWindow for drawing and size methods; this allows
++        reuse of ToolTipWindow by other controls
++      * SizeGrip.cs: Moved base.OnPaint() call to end of method
++      * XplatUIX11.cs: Now clipping drawing area (experimental)
++      * PictureBox.cs: Moved base.OnPaint() call to end of method
++      * Theme.cs: Fixed ToolTip abstracts to match new format
++      * ErrorProvider.cs: Implemented
++
++2005-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
++      * LinkLabel.cs:
++              - Adds cursors
++              - Handles focus
++              - Implements LinkBehavior
++              - Fixes many issues
++
++2005-05-03  Jackson Harper  <jackson@ximian.com>
++
++      * ListView.cs: Calculate the scrollbar positioning on resize and
++      paint, so they get put in the correct place.
++
++2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * ColorDialogs.cs: The small color panels are now handled by
++        SmallColorControl. This fixes drawing of the focus rectangle
++        and adds a 3D border.
++
++2005-05-03  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Modified version of Jonathan Chamber's fix for
++        double-buffering
++
++2005-05-03  Jackson Harper  <jackson@ximian.com>
++
++      * ListView.cs: Remove redraw variable. Control now handles whether
++      or not a redraw needs to be done, and will only raise the paint
++      event if redrawing is needed.
++
++2005-05-03  Jackson Harper  <jackson@ximian.com>
++
++      * Splitter.cs: No decorations for the splitter form. Cache the
++      hatch brush.
++
++2005-05-03  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Use dashed lines to connect nodes. Use the
++      ControlPaint method for drawing the focus rect instead of doing
++      that in treeview.
++
++2005-05-02  Peter Bartok  <pbartok@novell.com>
++
++      * LinkLabel.cs: Fixed the fixes from r43566 and 43521
++
++2005-04-29  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Don't clear the GC that will clear the
++      entire image buffer. Just clear the clipping rectangle.
++
++2005-04-29  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Don't draw list view items that are
++      outside the clipping rectangle.
++
++2005-04-29  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs: added horizontal item scroll
++
++2005-04-29  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Remove some old debug code that was
++      causing flicker with the new double buffering code.
++
++2005-04-29  John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
++      behave like combobox and comboboxlist (still not sure if this is
++      correct though).
++
++2005-04-28  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Don't fill the middle of progress
++      bars. This fills areas outside of the clip bounds that don't need
++      to be filled.
++
++2005-04-28  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Don't expose functionality to touch the image buffers.
++      * ProgressBar.cs:
++      * ListView.cs: We do not need to (and no longer can) manipulate
++      the image buffers directly. All of this is handled by Control.
++
++2005-04-28  Peter Bartok  <pbartok@novell.com>
++
++      * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
++        RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
++        RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
++
++2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Combobox:
++              - Adjust control's height for non-simple comboboxes (bug fix)
++              - Remove dead code
++      * MenuAPI.cs: remove unused var
++      * ScrollBar.cs: remove unsed var
++               
++      * ListBox.cs: unselect items when clearing
++
++2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListControl.cs: honors OnPositionChanged and default Selected Item
++      * ListBox.cs: unselect items when clearing
++
++2005-04-27  Jackson Harper  <jackson@ximian.com>
++
++      * X11Keyboard.cs: Initialize a default keyboard and give a warning
++      if a "correct" keyboard is not found. This will make us not crash,
++      but might give some users bad keyboard layouts...seems to be the
++      same thing rewind does.
++
++2005-04-27  Jackson Harper  <jackson@ximian.com>
++
++      * BindingManagerBase.cs: Attach the current/position changed
++      handlers to their respective events.
++
++2005-04-27  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Make sure that the first WM_PAINT does a full draw,
++      not just a blit.
++      * ThemeWin32Classic.cs: Don't fill the background for picture
++      boxes. This could overright user drawing.
++      * ComboBox.cs: Just fill the clipping rect not the entire client
++      rect when drawing the background. This prevents pieces of the
++      image buffer from getting overwritten and is theoretically faster.
++
++2005-04-26  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Databinding support fixes, fire missing events
++      * ListControl.cs: implement missing methods and properties, fixes
++      * ThemeWin32Classic.cs: Databiding support on Drawing
++      * CheckedListBox.cs: Databinding support fixes, fire missing events
++      * ListBox.cs: Databinding support fixes, fire missing events
++      
++2005-04-25  Peter Bartok  <pbartok@novell.com>
++
++      * LinkLabel.cs: Length of LinkArea is not allowed to be negative
++
++2005-04-25  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Use the horizontal scrollbars height not width when
++      determining how much of the client area is available.
++
++2005-04-25  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: Double buffering is handled differently now. As per
++      the spec, the extra buffer is created in the WM_PAINT message and
++      passed down to the control's drawing code.
++      * GroupBox.cs:
++      * Label.cs:
++      * CheckBox.cs:
++      * ProgressBar.cs:
++      * RadioButton.cs:
++      * ColorDialog.cs:
++      * ComboBox.cs:
++      * PropertyGridView.cs:
++      * UpDownBase.cs:
++      * MessageBox.cs:
++      * MenuAPI.cs:
++      * ListView.cs:
++      * ButtonBase.cs:
++      * SizeGrip.cs:
++      * ScrollBar.cs:
++      * ListBox.cs:
++      * TrackBar.cs:
++      * ToolBar.cs:
++      * PictureBox.cs:
++      * DateTimePicker.cs:
++      * StatusBar.cs:
++      * TreeView.cs: Update to new double buffering system.
++      * MonthCalendar.cs: Uncomment block, as Capture is now
++      working. Update to new double buffering
++      * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
++      * PaintEventArgs.cs: New internal method allows us to set the
++      graphics object. This is used for double buffering.
++      * ThemeWin32Classic.cs: Give the picture box drawing code a clip
++      rectangle. The internal paint_area var has been removed from
++      StatusBar. The clipping rect should be used instead.
++      * Theme.cs: Give the PictureBox drawing method a clipping rect.
++      * TabPage.cs: The RefreshTabs method was removed, so just call the
++      tab controls Refresh method now.
++      * TabControl.cs: Update to new double buffering. Make sure the
++      handle is created before sizing the tab pages, otherwise we will
++      get stuck in a loop.
++
++2005-04-24  Borja Sanchez Zamorano <borsanza@gmail.com>
++
++      * LinkLabel.cs: Fix typo, bug #74719; patch
++        from Borja Sanchez Zamorano
++
++2005-04-22  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Implement Handle stuff.
++      * TreeView.cs: Utility methods so nodes can get/lookup by handle.
++
++2005-04-22  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: call base constructors, fixes
++      * GridColumnStylesCollection.cs: missing events, methods, and functionality
++      * GridTableStylesCollection.cs: fixes, check duplicate mapping names
++      * DataGridTableStyle.cs: implements create default column styles
++      * DataGridBoolColumn.cs: which types can handle
++      * DataGrid.cs: missing methods, fixes, new functionality
++      * DataGridColumnStyle.cs: fixes
++
++2005-04-20  Alexander Olk  <xenomorph2@onlinehome.de>
++      * FolderBrowserDialog.cs:
++      - Use a thread to fill the TreeView
++      - Adjusted some sizes
++
++2005-04-19  Peter Bartok  <pbartok@novell.com>
++
++      * LinkLabel.cs: (Re-)create the pieces when setting the Text
++        property. Fixes #74360.
++
++2005-04-19  Jackson Harper  <jackson@ximian.com>
++
++      * XEventQueue.cs: Lock when getting the lockqueue size.
++      * PictureBox.cs: Call base OnPaint
++      
++2005-04-19  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
++        messages were no longer being processed (this broke BeginInvoke)
++
++        
++2005-04-18  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: buglet that caused node images to get drawn
++      regardless of whether or not they were in the clipping rectangle.
++
++2005-04-18  Jackson Harper  <jackson@ximian.com>
++
++      * CurrencyManager.cs: There are four rules for GetItemProperties:
++      - If the type is an array use the element type of the array
++      - If the type is a typed list, use the type
++      - If the list contains an Item property that is not an object, use
++      that property
++      - use the first element of the list if there are any elements in
++      the list.
++      
++2005-04-17  Jackson Harper  <jackson@ximian.oom>
++
++      * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
++      click. This handles offsets for scrolling properly and reduces
++      memory. Also fixed GetNode to not offset now that TopNode works
++      properly.
++      * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
++      
++2005-04-17  Jackson Harper  <jackson@ximian.com>
++
++      * CursorConverter.cs: Initial implementation.
++
++2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListControl.cs: work towards complex data binding support on ListControl
++      * CurrencyManager.cs: work towards complex data binding support on ListControl
++      * ListBox.cs: work towards complex data binding support on ListControl
++
++
++2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * GridTableStylesCollection.cs: fixes name and constructor
++      * DataGridTableStyle.cs: fixes
++      * DataGridBoolColumn.cs: fixes names and constructors
++      * DataGrid.cs: define methods and properties. Some init implementations
++      * DataGridCell.cs: define methods and properties. Some init implementations
++      * GridTablesFactory.cs: Define methods and properties
++
++2005-04-15  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs:  Handle proper mouse tracking even if the current
++      graphics port changes.  We still want the coordinates in global screen
++      coordinates.
++
++2005-04-14  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Handle clicks when plus minus is disabled. Don't
++      check plus minus or checkbox clicks unless those features are enabled.
++
++2005-04-14  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Add methods for setting the top and bottom visible
++      nodes. TreeNode::EnsureVisible uses these methods.
++      * TreeNode.cs: Implement EnsureVisible
++
++2005-04-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs: Pospone menu assignation if the window has not been created yet
++      * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
++      size and position
++
++2005-04-12  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Set the TopNode properly when scrolling
++      occurs. This has the added benifit of reducing the amount of
++      walking that needs to be done when drawing. Also removed an old
++      misleading TODO.
++      * OpenTreeNodeEnumerator.cs: Fix moving backwards.
++      
++2005-04-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Timer.cs: fixes interval setting when the timer is already enabled
++      
++2005-04-10  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FolderBrowserDialog.cs: First approach
++
++2005-04-09  Peter Bartok  <pbartok@novell.com>
++
++      * FolderBrowserDialog: Added
++
++2005-04-07  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * LinkLabel.cs: move drawing code into the theme
++      * ThemeWin32Classic.cs: drawing code and painting background bugfix
++      * Theme.cs: define DrawLinkLabel method
++
++2005-04-05  Jackson Harper  <jackson@ximian.com>
++
++      * BindingContext.cs: Use weak references so these bad actors don't
++      stay alive longer then they need to.
++
++2005-04-05  Jackson Harper  <jackson@ximian.com>
++
++      * ListControl.cs: Basic implementation of complex databinding.
++      * ComboBox.cs:
++      * ListBox.cs: Add calls to ListControl databinding methods.
++
++2005-04-05  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs:
++        - Don't change PopupButtonState to Normal when the
++          PopupButton gets pressed several times.
++        - Renamed ButtonPanel to PopupButtonPanel
++
++2005-04-05  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ColorDialog.cs: Use cached objects instead of creating them
++      * LinkLabel.cs: Use cached objects instead of creating them
++      * Splitter.cs: Use cached objects instead of creating them
++      * FontDialog.cs: Use cached objects instead of creating them
++      * PropertyGridView.cs: Use cached objects instead of creating them
++      * MessageBox.cs: Use cached objects instead of creating them
++      * FileDialog.cs: Use cached objects instead of creating them
++      * ThemeWin32Classic.cs: Use cached objects instead of creating them
++      * TreeView.cs: Use cached objects instead of creating them
++      
++2005-04-04  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Control.cs: use Equals to compare the font since no == op
++      * ScrollBar.cs: use Equals to compare the font since no == op
++
++2005-04-04  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
++
++2005-04-01  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Implement IsBinding.
++      * BindingManagerBase.cs:
++      * PropertyManager.cs:
++      * CurrencyManager.cs: Add IsSuspended property.
++
++2005-04-01  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Had some IsAssignableFrom calls backwards.
++
++2005-04-01  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Handle null data members when pulling data.
++      * PropertyManager.cs: Handle the data member being a property that
++      does not exist.
++
++2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: fixes signature
++      * DataGrid.cs: calls right constructor
++
++2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
++      * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
++      * GridTableStylesCollection.cs: implements GridTableStylesCollection
++      * DataGridTableStyle.cs: implements DataGridTableStyle
++      * DataGridBoolColumn.cs: implements DataGridBoolColumn
++      * DataGridTextBox.cs: implements DataGridTextBox
++      * DataGridColumnStyle.cs: implements DataGridColumnStyle
++
++2005-03-31  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs: Added simple PopupButton class for ButtonPanel
++
++2005-03-29  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs:
++        - Properly implemented CompanyName property
++        - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
++          returns a path that includes CompanyName, ProductName and
++          Version (fixes bug #70330)
++
++2005-03-29  Stefan Buehler  <sbuehler@gmx.ch>
++
++      * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
++        fixes bug #72588.
++
++2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
++      
++        - Added ReadOnly CheckBox
++        - Further refactoring: moved some code from Open-/SaveFileDialog
++          to FileDialog
++
++2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * OpenFileDialog.cs: Fixed CheckFileExists
++      * FileDialog.cs:
++        Moved FileView and DirComboBox outside FileDialog class.
++        They can now be used outside FileDialog
++
++2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
++      * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
++
++2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
++        - Added missing CreatePrompt property in SaveDialog
++        - Overall SaveDialog handling should be better now
++        - Added non standard ShowHiddenFiles property
++        - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
++        - Added InitialDirectory and RestoreDirectory support
++
++2005-03-26  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs: Made dirComboBox usable
++
++2005-03-24  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs: Added Filter support (case sensitiv)
++
++2005-03-24  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Need a couple more pixels for the lines.
++
++2005-03-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Give the tab page focus when it is selected.
++
++2005-03-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Account for the drawing of tabs borders when
++      invalidating. If the slider was clicked dont do click detection on
++      the tabs.
++
++2005-03-23  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Fix typo, emilinates an unneeded expose event.
++
++2005-03-22  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * CategoryGridEntry.cs: Added
++      * GridItem.cs: Added helper properties
++      * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
++      * GridEntry.cs: Updated code for collection
++      * PropertyGrid.cs: Cleaned up some formatting
++      * PropertyGridView.cs: Added drop down functionality for enums.
++      * GridItemCollection.cs: Added enumerator logic
++      * PropertyGridEntry.cs: Added
++
++2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs:
++        - Removed unnecessary commented code
++        - Fixed handling for entering the filename manually in the combobox
++
++2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
++        them being touching the border
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs: Quick hack to center text better
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * ControlPaint.cs:
++        - Don't throw NotImplemented exceptions, just print a notice once
++          instead (requested by Miguel). This makes running existing SWF
++          apps a bit easier
++      * Control.cs:
++        - Commented out Drag'N'Drop XplatUI call (no driver support yet)
++        - Added context menu trigger on right click
++      * Panel.cs: Trigger invalidate on resize
++      * StatusBar.cs:
++        - Removed old double-buffer drawing
++        - Added ResizeRedraw style to force proper update of statusbar
++      * ListView.cs:
++        - Removed debug output
++      * ThemeWin32Classic.cs:
++        - Fixed drawing of status bar, now draws Text property if there
++          are no defined panels
++
++2005-03-18  Jackson Harper  <jackson@ximian.com>
++
++      * ImageList.cs: When the image stream is set pull all the images
++      from it.
++      * ImageListStreamer.cs: Implement reading image list streams.
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * ThemeWin32Classic.cs (DrawPictureBox):
++        - Fixed calculations for centered drawing
++        - Fixed drawing for normal mode, not scaling the image on normal
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
++        textbox
++      * FileDialog.cs:
++        - Made Open/Save button the accept button for FileDialog
++        - Tied the cancel button to the IButtonControl cancel button
++        - Save/Open now properly builds the pathname
++        - Now handles user-entered text
++        - Preventing crash on right-click if no item is selected
++        - Fixed Text property, now uses contents of textbox
++        - Fixed SelectedText property, now just returns the text part that
++          is selected in the text box
++
++2005-03-18  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Use the proper func for drawing the focus
++      rect, make sure to de-adjust the interior rect after drawing the
++      tab text.
++
++2005-03-18  Peter Bartok  <pbartok@novell.com>
++
++      * MenuAPI.cs: Remove menu *before* executing selected action to
++        prevent the menu from 'hanging around'
++        
++2005-03-17  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implemented WorkingArea property
++
++2005-03-17  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Fixed menu coord calculations
++      * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
++        for calculating offsets
++
++2005-03-17  Peter Bartok  <pbartok@novell.com>
++
++      * Hwnd.cs: Do not consider menu presence for default client
++        rectangle location/size
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
++        XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
++        translation functions
++      * FileDialog.cs: Fixed (what I presume is a) typo
++
++2005-03-17  Jonathan Gilbert  <logic@deltaq.org>
++
++      * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
++        X access (avoids X-Async errors)
++
++2005-03-16  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Raise the SelectedIndexChanged event.
++
++2005-03-16  Alexander Olk  <xenomorph2@onlinehome.de>
++
++      * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
++        - Removed vertical ToolBar and replaced it with a custom panel
++          (desktop and home button already work)
++        - Added Help button (some controls get resized or relocated then)
++        - Draw correct text depending on Open or Save.
++        - Fixed some typos...
++
++2005-03-16  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ScrollBar.cs:
++        - Only change Maximum and Minimum when need it (bug fix)
++
++2005-03-15  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs: Use Handle for icon, to trigger creation if
++        the window does not yet exist
++      * Control.cs:
++        - CanSelect: Slight performance improvement
++        - Focus(): Preventing possible recursion
++        - Invalidate(): Removed ControlStyle based clear flag setting
++        - WM_PAINT: fixed logic for calling OnPaintBackground
++        - WM_ERASEBKGND: Fixed logic, added call to new driver method
++          EraseWindowBackground if the control doesn't paint background
++      * XplatUIWin32.cs:
++        - Moved EraseWindowBackground() method to internal methods
++        - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
++          is sent via SendMessage on BeginPaint call on Win32
++      * XplatUIX11.cs:
++        - Added EraseWindowBackground() method
++        - No longer sends WM_ERASEBKGND on .Expose, but on call to
++          PaintEventStart, which more closely matches Win32 behaviour
++        - Fixed Invalidate() call, now updates new ErasePending Hwnd property
++        - Fixed SetFocus() to properly deal with client and whole windows
++      * Hwnd.cs: Added ErasePending property
++      * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
++      * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
++
++2005-03-12  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs:
++        - Fix hard loop when timers exist.
++        - Fix bugs with middle and right click for 3 button mice.
++
++2005-03-11  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs:
++        - get_WorkingArea: Need to call X directly, GetWindowPos only
++          returns cached data now
++        - Added sanity check to GetWindowPos hwnd usage
++
++2005-03-11  Jackson Harper  <jackson@ximian.com>
++
++      * BindingManagerBase.cs: This method isn't used anymore as
++      PullData now updates the data in the control.
++
++2005-03-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs: fixes menu drawing on X11
++      * MenuAPI.cs:  fixes menu drawing on X11
++
++2005-03-11  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Changed OnCreateControl behaviour based on a suggestion
++        from Jonathan Gilbert; should fix bug #73606
++      * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
++        in Screen coordinates. Thanks, Jordi.
++      * Form.cs: Added missing attribute
++
++2005-03-11  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs:
++        - Rudimentary Mdi support
++        - Removed outdated FormParent code
++        - Implemented lots of missing properties and methods, still missing
++          transparency support
++        - Added missing attributes
++        - Implemented support for MaximumBounds
++        - Added firing of various events
++      * XplatUI.cs: Added SetIcon() method
++      * XplatUIDriver.cs: Added SetIcon() abstract
++      * XplatUIOSX.cs: Stubbed out SetIcon() method
++      * XplatUIX11.cs:
++        - Implemented SetIcon() support
++        - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
++        - Switched to unix line endings
++      * XplatUIWin32.cs:
++        - Made POINT internal so for can access it as part of MINMAX
++        - Implemented SetIcon() support
++        - Implemented support for CLIENTCREATESTRUCT (but might have to drop
++          native Mdi support again, might have to go managed)
++      * Control.cs: Now fires the StyleChanged event
++      * MdiClient.cs: Added; still mostly empty
++
++2005-03-10  Peter Bartok  <pbartok@novell.com>
++
++      * SaveFileDialog.cs: Added emtpy file
++
++2005-03-08  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Fixed bug #73190; now invokes CreateControl (which
++        in turn triggers OnCreateContro) when creating a handle for the
++        first time.
++      * TextControl.cs: Fixed endless loop in certain cases when
++        replacing the current selection
++
++2005-03-08  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ScrollBar.cs:
++        - Honors NewValue changes in Scroll events allowing apps to change it
++        - Adds First and Last Scroll events
++        - Fixes Thumb events
++
++2005-03-07  Peter Bartok  <pbartok@novell.com>
++
++      * Hwnd.cs: Added DefaultClientRectangle property
++      * XplatUI.cs: Now using the X11 driver Where() method, which provides
++        more detailed debug information
++      * XplatUIX11.cs:
++        - Fixed size-change feedback loop, where we would pull an old size
++          off the queue and mistakenly change our window's size to an
++          earlier value
++        - Now compressing ConfigureNotify events, to reduce looping and
++          redraw issues
++      * TextBoxBase.cs: Preventing crash when no text is set and ToString()
++        is called
++
++2005-03-07  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Push data pushes from data -> property. Check if the
++      property is readonly when attempting to set it.
++
++2005-03-07  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Format and parse data correctly. Use ASsignableFrom
++      instead of IsSubclassOf. Pulling data now sets the value on the
++      control.
++      * PropertyManager.cs:
++      * CurrencyManager.cs: Just need to pull data when updating now,
++      because PullData will set the value on the control.
++
++2005-03-04  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Implement data type parsing and converting on pulled
++      data. TODO: Are there more ways the data can be converted?
++
++2005-03-04  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Support <Property>IsNull checks. Also bind to the
++      controls Validating method so we can repull the data when the
++      control loses focus.
++
++2005-03-03  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ColumnHeader.cs:
++        - Fixes null string format
++        
++      * ListView.cs:
++        - Adds enum type checks
++        - Fixes redrawing and recalc need after changing some properties
++        - Fixes on focus_item set after the event
++        - Fixes adding columns after the control has been created
++        
++      * ThemeWin32Classic.cs:
++        - Fixes CheckBox focus rectangle
++        - Fixes ColumnHeader drawing
++
++
++2005-03-03  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Bind to <Property>Changed events so we can detect
++      when properties are changed and update the data.
++
++2005-03-02  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ImageList.cs:
++        - Changes 32-bit pixel format to Format32bppArgb to allow transparency
++        - Fixes ImageList constructor with ImageList container
++        - Fixes image scaling (wrong parameters at DrawImage)
++
++2005-02-02  Jackson Harper  <jackson@ximian.com>
++
++      * Binding.cs: Make property searches case-insensitive. Eliminate
++      some duplicated code.
++
++2005-03-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs:
++              - Handle focus event
++              - Fix scrollbar events
++              - Discard highlighted item if remove it
++              - Fixes SelectedItem with strings
++
++2005-03-01  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Fixed Visible property, now follows (once again) parent chain
++          to return false if any control in the chain is visible=false
++        - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
++        - Fixed several places where is_visible instead of Visible was used
++        - Implemented FIXME related to focus selection when setting focused
++          control to be invisible
++
++      * XplatUIWin32.cs: Now using proper method to find out if window is
++        visible. Thanks to Jordi for pointing it out
++
++2005-02-28  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: show/hide scrollbar instead of creating it
++
++2005-02-27  Jackson Harper  <jackson@ximian.com>
++
++      * CurrencyManager.cs: Add PositionChanged stuff.
++
++2005-02-27  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
++      * XplatUIOSX.cs: Added GetMenuOrigin() stub
++      * XplatUIWin32.cs: Implemented GetMenuOrigin()
++      * XplatUIX11.cs:
++        - Implemented GetMenuDC()
++        - Implemented GetMenuOrigin()
++        - Implemented ReleaseMenuDC()
++        - Implemented generation of WM_NCPAINT message
++        - Implemented generation and handling of WM_NCCALCSIZE message
++      * Form.cs: Added debug helper message for Jordi's menu work
++      * Hwnd.cs:
++        - Modified ClientRect property; added setter, fixed getter to handle
++          setting of ClientRect
++        - Added MenuOrigin property
++
++2005-02-26  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs:
++        - Destroys the caret if a window that's being destroyed contains it
++        - Ignores expose events coming from the X11 queue for windows that
++          already are destroyed
++        - Now uses the proper variable for handling DestroyNotify, before we
++          marked the wrong window as destroyed
++        - Improved/added some debug output
++
++2005-02-26  Peter Bartok  <pbartok@novell.com>
++
++      * X11Keyboard.cs: Fixes to work on 64bit systems
++
++2005-02-26  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Now calling OnHandleDestroyed from DestroyHandle()
++          instead of Dispose()
++        - Removed bogus call to controls.Remove() from DestroyHandle()
++
++2005-02-26  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Properly destroy child windows when our handle is
++        destroyed
++
++2005-02-25  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs:
++        - Added 'DriverDebug' define to allow tracing XplatUI API calls
++        - Alphabetized Static Methods and Subclasses
++
++      * XplatUIX11.cs:
++        - Added XException class to allow custom handling of X11 exceptions
++        - Created custom X11 error handler, tied into XException class
++        - Added support for MONO_XEXCEPTIONS env var to allow the user
++          to either throw an exception on X errors or continue running
++          after displaying the error
++        - Added handling of DestroyNotify message
++        - Added handler for CreateNotify message (still disabled)
++        - Improved (tried to at least) Where method to provide file and lineno
++      * X11Structs.cs:
++        - Added XErrorHandler delegate
++        - Added XRequest enumeration (to suppor translation of errors)
++
++2005-02-25  Jackson Harper  <jackson@ximian.com>
++
++      * PropertyManager.cs: Implement editing features
++      * CurrencyManager.cs:
++      * Binding.cs: First attempt at UpdateIsBinding
++      * BindingManagerBase.cs: Call UpdateIsBinding before
++      pushing/pulling data.
++
++2005-02-25  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * MenuAPI.cs: Respect disabled items
++      * ThemeWin32Classic.cs
++              - Caches ImageAttributes creation for DrawImageDisabled
++              - Fixes vertical menu line drawing
++              - Draws disabled arrows in disable menu items
++
++2005-02-24  Peter Bartok  <pbartok@novell.com>
++
++      * Hwnd.cs:
++        - Added UserData property to allow associating arbitrary objects
++          with the handle
++        - Fixed leak; now removing Hwnd references from static windows array
++      * XplatUIWin32.cs:
++        - Fixed Graphics leak in PaintEventEnd
++        - Removed usage of HandleData, switched over to Hwnd class
++      * HandleData.cs: Removed, obsoleted by Hwnd.cs
++
++2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
++      * ScrollBar.cs: Fixes bug
++      * TrackBar.cs: removes death code, clipping, mimize refreshes,
++       keyboard navigation enhancements
++
++2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
++      * GroupBox.cs: Add control styles
++      * Label.cs: Add control styles
++      * UpDownBase.cs: Add control styles
++      * ListBox.cs: Add control styles
++      * XplatUIWin32.cs: Fixes wrong parameter order
++
++
++2005-02-23  Chris Bacon  <chris.bacon@docobo.co.uk>
++
++      * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
++
++2005-02-23  Jackson Harper  <jackson@ximian.com>
++
++      * PropertyManager.cs: Implement property binding. This doesn't
++      seem to work yet though as (I think) there are some bugs in
++      System.ComponentModel.PropertyDescriptor.
++      * BindingContext.cs: Use new PropertyManager constructor.
++
++2005-02-23  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ProgressBar.cs: use clip region in ProgressBar
++      * ThemeWin32Classic.cs: use clip region in ProgressBar
++
++2004-02-22  Jackson Harper  <jackson@ximian.com>
++
++      * BindingsCollection.cs: Remove some debug code.
++
++2005-02-22  Jackson Harper  <jackson@ximian.com>
++
++      * BindingContext.cs:
++      * ControlBindingsCollection.cs:
++      * CurrencyManager.cs:
++      * Binding.cs:
++      * BindingManagerBase.cs: Initial implementation
++      * BindingsCollection.cs: Add an internal contains method that the
++      BindingManagerBase uses to ensure bindings aren't added twice to
++      the collection.
++      * PropertyManager.cs: Stubbed out.
++      * Control.cs:
++      * ContainerControl.cs: Hook up databinding
++      
++2005-02-22  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs:
++        OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
++        Fixed Invalidate/Update chain.
++        Fixed tons of other minor bugs (this is almost a complete rewrite).
++
++2005-02-22  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: do subcontrol creation when the control is created
++
++2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Label.cs: fixes image drawing (image and imagelist)
++      * ThemeWin32Classic.cs: cache brushes
++      
++2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs: Move menu drawing code to Theme class
++      * ComboBox.cs: Move ComboBox drawing code to Theme class
++      * MenuItem.cs: Move menu drawing code to Theme class
++      * MenuAPI.cs: Move menu drawing code to Theme class
++      * ThemeWin32Classic.cs: New methods
++      * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
++      * ListBox.cs: Move Listbox drawing code to Theme class
++      * Theme.cs: New methods
++
++2005-02-20  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
++          only process mnemonics on those)
++        - Fixed event sequence for key handling; first calling
++          ProcessKeyEventArgs now
++      * TextBoxBase.cs:
++        - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
++          for processing non-character keys
++        - Fixed WM_CHAR to generate proper event sequence before processing
++      * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
++        generation
++
++2005-02-19  Peter Bartok  <pbartok@novell.com>
++
++      * UserControl.cs: Added TextChanged event; added attributes
++      * SizeGrip.cs: Implemented resizing and optional display of grip
++      * Form.cs: Fixed attribute
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
++        Changed meaning of ScrollWindow bool argument; instead of the
++        clear attribute (which will be true usually anyway), it gives the
++        option of moving child controls as well.
++      * XplatUIX11.cs:
++        - Changed to match new ScrollWindow argument
++        - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
++          now handles the implicit parent window a WM puts around us
++      * ScrollableControl.cs: Implemented (not the prettiest, but it seems
++        to work)
++      * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
++      * TreeView.cs: Adjusted to new ScrollWindow arguments
++
++2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs: Menu integration with non-client area
++      * MenuItem.cs: Menu integration with non-client area
++      * MenuAPI.cs: Menu integration with non-client area
++
++2005-02-18  Peter Bartok  <pbartok@novell.com>
++
++      * MethodInvoker.cs: Added
++      * MdiLayout.cs: Added
++      * SendKeys.cs: Started implementation
++      * ErrorIconAlignment.cs: Added
++
++2005-02-18  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
++      * Form.cs: Added handling for Menu-related Non-client messages
++
++2005-02-17  Peter Bartok  <pbartok@novell.com>
++
++      * UpDownBase.cs: Fixed typo, compilation errors
++      * DomainUpDown.cs: Fixed attribute value
++
++2005-02-16  Miguel de Icaza  <miguel@novell.com>
++
++      * UpDownBase.cs: Attach entry events.
++      Propagate events.
++      Add ForeColor property, Focused, InterceptArrowKeys (interception
++      does not work yet).
++
++2005-02-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs:
++              - Redraw non client are on Setmenu
++              - Calc proper menu starting point
++
++2005-02-17  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs: Fixed message_filter check
++
++2005-02-17  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs: Now calls registered message filters
++      * DockStyle.cs: Fixed attribute
++      * Form.cs: Fixed attribute
++      * Menu.cs: Fixed attribute
++      * ToolTip.cs: Fixed attribute
++      * TreeNode.cs: Added missing attributes and arranged in regions
++      * PropertyGrid.cs: Fixed signatures
++      * TreeNodeCollection.cs: Added attributes
++      * Splitter.cs: Added missing attributes; arranged into regions
++      * TabPage.cs: Added missing attributes; arranged into regions
++      * TextBoxBase.cs: Added missing attributes
++      * TextBox.cs: Added missing attributes
++      * ArrangeDirection.cs: Added missing attributes
++      * TreeNodeConverter.cs: Added stub (needed for TreeNode)
++      * ToolBarButton.cs: Fixed attributes
++      * AnchorStyles.cs: Fixed attribute
++      * TrackBar.cs: Fixed attributes
++      * TabControl.cs: Added missing attributes and arranged into regions
++      * ToolBar.cs: Fixed attribute
++      * StatusBar.cs: Fixed signature, organized into regions and added
++        attributes
++      * StatusBarPanel.cs: Fixed attributes
++      * ContentsResizedEventArgs.cs: Implemented
++      * ContentsResizedEventHandler.cs: Implemented
++      * DateBoldEventArgs.cs: Implemented
++      * DateBoldEventHandler.cs: Implemented
++      * UpDownEventArgs.cs: Implemented
++      * UpDownEventHandler.cs: Implemented
++      
++2005-02-16  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Form.cs: first Menu NC refactoring
++      * MenuAPI.cs: first Menu NC refactoring
++      
++2005-02-16  Peter Bartok  <pbartok@novell.com>
++
++      * ImeMode.cs: Added missing attributes
++      * Menu.cs: Fixed attribute
++      * GroupBox.cs: Fixed attribute
++      * Label.cs: Fixed attribute
++      * ColorDialog.cs (RunDialog): Removed TODO attribute
++      * ComboBox.cs: Fixed attributes
++      * ListControl.cs: Added missing attributes
++      * PropertyGrid.cs: Fixed attributes
++      * Control.cs: Fixed attributes
++      * ListViewItem.cs: Added TypeConverter attribute
++      * NotifyIcon.cs: Fixed attributes
++      * ListView.cs: Fixed attributes
++      * ButtonBase.cs: Fixed attribute
++      * ImageList.cs: Added missing attributes
++      * ContainerControl.cs: Fixed signature
++      * CheckedListBox.cs: Fixed attribute; added missing attributes
++      * Panel.cs: Fixed attributes
++      * PropertyTabChangedEventArgs.cs: Added missing attribute
++      * PropertyValueChangedEventArgs.cs: Added missing attribute
++      * Binding.cs: Fixed attribute
++      * ListViewItemConverter: Implemented ListViewSubItemConverter class
++      * ListBox.cs: Fixed attribute; added missing attributes;
++      * ScrollableControl.cs: Added missing attributes
++      * PictureBox.cs: Added missing attributes; implemented missing property
++      * DateTimePicker.cs: Added missing attributes
++      * Theme.cs (ToolWindowCaptionHeight): Fixed type
++      * MonthCalendar.cs: Fixed attributes
++      * StatusBarPanel.cs: Added missing attributes
++      * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
++
++2005-02-16  Peter Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs: The previous method to enforce height yet remember
++        the requested high was less than ideal, this is an attempt to do
++        it better.
++      * Control.cs: Added comment about possible problem
++      * Copyright: Updated format
++      * GridItemType.cs: Fixed swapped values
++
++2005-02-15  Jackson Harper  <jackson@ximian.com>
++
++      * BaseCollection.cs: Use property so we never access an
++      uninitialized list. Also initialize the list in the property.
++
++2005-02-15  Peter Bartok  <pbartok@novell.com>
++
++      * GroupBox.cs (ProcessMnemonic): Implemented
++      * Label.cs (ProcessMnemonic): Implemented
++      * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
++        hotkeys
++
++2005-02-15  Peter Bartok  <pbartok@novell.com>
++
++      * RadioButton.cs (ProcessMnemonic): Implemented
++      * CheckBox.cs (ProcessMnemonic): Implemented
++      * Control.cs:
++        - Added handling of WM_SYSxxx keyboard messages to support mnemonic
++          handling
++        - Added internal method to allow calling ProcessMnemonic from other
++          controls
++      * ContainerControl.cs:
++        - Started support for handling validation chain handling
++        - Implemented ProcessMnemonic support
++        - Added Select() call to Active, to make sure the active control
++          receives focus
++      * Form.cs: Setting toplevel flag for Forms (this was lost in the
++        FormParent rewrite)
++      * ThemeWin32Classic.cs:
++        - DrawCheckBox(): Fixed stringformat to show hotkeys
++        - DrawRadioButton(): Fixed stringformat to show hotkeys
++      * CommonDialog.cs: Removed WndProc override, not needed
++
++2005-02-14  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
++        missed those in the rewrite
++
++2005-02-14  Miguel de Icaza  <miguel@novell.com>
++
++      * NumericUpDown.cs (Increment, ToString): Add.
++      (DecimalPlaces): implement.
++      
++      Add attributes.
++      
++      * UpDownBase.cs: Add the designer attributes.
++
++2005-02-13  Peter Bartok  <pbartok@novell.com>
++
++      * Panel.cs: Removed border_style, now in Control
++      * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
++        ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
++
++2005-02-13  Peter Bartok  <pbartok@novell.com>
++
++      * MouseButtons.cs: Added missing attributes
++      * XplatUIStructs.cs: Added enumeration for title styles
++      * LeftRightAlignment.cs: Added missing attributes
++      * Hwnd.cs: Switched to use client_window as handle (slower, but makes
++        it compatible with Graphics.FromHwnd()
++      * SelectedGridItemChangedEventArgs.cs: Fixed property type
++      * Keys.cs: Added missing attributes
++      * SelectionRange.cs: Added missing attributes
++      * SelectionRangeConverter.cs: Added
++      * XplatUI.cs:
++        - Introduced SetBorderStyle, SetMenu, GetMenuDC and
++          ReleaseMenuDC methods
++        - Renamed ReleaseWindow to UngrabWindow
++        - Added proper startup notice to allow version identification
++      * Form.cs:
++        - Added missing attributes
++        - Removed FormParent concept
++      * Label.cs: Removed border_style field, now in Control
++      * RadioButton.cs: Now properly selects RadioButton when focus is
++        received
++      * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
++      * Control.cs:
++        - Added missing attributes
++        - Added borderstyle handling
++        - Removed FormParent concept support
++        - Fixed calls to XplatUI to match changed APIs
++        - Fixed bug that would case us to use disposed Graphics objects
++        - Removed unneeded internal methods
++        - PerformLayout(): Fixed to handle DockStyle.Fill properly
++        - SelectNextControl(): Fixed to properly check common parents
++      * TextBoxBase.cs: Removed border_style field (now in Control)
++      * MessageBox.cs:
++        - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
++          fixed calculations for form size
++        - Added support for localized strings and icons
++        - Improved form size calculations, added border
++      * ListView.cs: Removed border_style field (now in Control)
++      * X11Structs.cs: Moved several structs from X11 driver here
++      * X11Keyboard.cs: Changed debug message
++      * Application.cs: Removed FormParent concept support
++      * CommonDialog.cs:
++        - Resetting end_modal flag
++        - Removed FormParent concept support
++      * NativeWindow.cs: Removed FormParent concept support
++      * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
++        Client area and Non-Client whole window to allow support for WM_NC
++        messages
++      * XplatUIOSX.cs: Updated to match latest driver spec; added exception
++        prevent using it until it supports Hwnd as per Geoff Norton's request
++      * ToolBar.cs: Fixed drawing, was not doing proper drawing
++      * PictureBox.cs: Removed border_style field, now in Control
++      * XplatUIWin32.cs: Added new driver methods
++
++2005-02-12  Peter Bartok  <pbartok@novell.com>
++
++      * OpacityConverter.cs: Implemented
++      * Hwnd.cs: Internal class to support drivers that need to emulate
++        client area/non-client area window behaviour
++
++2005-02-11  Peter Bartok  <pbartok@novell.com>
++
++      * KeysConverter.cs: Implemented
++
++2005-02-11  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
++      * LinkLabel: Added missing attributes
++      * MainMenu.cs: fixes ToString
++      * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
++      * ListBox.cs: fixes event position
++      * TrackBar.cs: adds missing attributes and events
++      
++2005-02-10  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * MenuItem.cs: Use SystemInformation and bug fixes
++      * MenuAPI.cs: Use SystemInformation and bug fixes
++
++2005-02-09  Jackson Harper  <jackson@ximian.com>
++
++      * X11Keyboard.cs: We ignore some keys, but still need to set/reset
++      their keystate otherwise things like VK_MENU get stuck "on".
++
++2005-02-09  Kazuki Oikawa <kazuki@panicode.com>
++
++      * ListBox.cs: Fixes AddRange bug
++      
++2005-02-09  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ProgressBar.cs
++              - Add missing attributes
++              - Add missing method
++              
++      * CheckedListBox.cs: Added missing attributes
++              - Add missing attributes
++              - Remove extra method
++      
++      * ComboBox.cs: Added missing attributes
++      * VScrollBar.cs: Added missing attributes
++      * ScrollBar.cs:  Added missing attributes
++      * ListBox.cs: Fixes signature, add missing consts
++      * LinkArea.cs:   Added missing attributes
++      
++
++2005-02-08  Peter Bartok  <pbartok@novell.com>
++
++      * Menu.cs: Added missing attributes
++      * MainMenu.cs: Added missing attributes
++      * GroupBox.cs: Added missing attributes
++      * Label.cs: Added missing attributes
++      * CheckBox.cs: Implemented CheckBoxAccessibleObject class
++      * ColorDialog.cs:
++        - Added Instance and Options properties
++        - Added missing attributes
++      * Cursor.cs: Made Serializable
++      * NotifyIcon: Added missing attributes
++      * MenuItem.cs: Added missing attributes
++      * TextBoxBase.cs: Implemented AppendText() and Select() methods
++      * Panel.cs: Added Missing attributes
++      * MonthCalendar.cs: Fixed CreateParams
++
++2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * LinkLabel.cs:
++              - Fixes signature
++              - Fixes issues with links
++              - Adds the class attributes
++
++2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * ComboBox.cs:
++              - Fixes button when no items available in dropdown
++              - Fixes repainting problems
++              - Adds the class attributes
++              
++2005-02-07  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Detect the menu bar and title bar height from
++      the current theme.  Cache these on startup.
++
++2005-02-07  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
++      the scrollbar buttons when they are depressed.
++
++2005-02-07  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
++      Get the display size from the main displayid.  We currently dont
++      support multiple display configurations.
++
++2005-02-07  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
++
++2005-02-07  Miguel de Icaza  <miguel@novell.com>
++
++      * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
++
++2005-02-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
++
++2005-02-04  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Respect the clipping rect when
++      drawing. Only fill the intersection of clips and rects so there
++      isn't a lot of large fills.
++      * ScrollBar.cs: Pass the correct clipping rect to the theme
++      engine. Remove some debug code.
++
++2005-02-05  John BouAntoun  <jba-mono@optusnet.com.au>
++      
++      * DateTimePicker.cs:
++              - Fixed crash on DateTime.Parse, use Constructor instead
++
++2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * MenuItem.cs:
++      * MenuAPI.cs:
++              - Owner draw support (MeasureItem and DrawItem)
++
++2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      *  Menu.cs:
++              - Implements FindMergePosition and MergeMenu functions (very poor documented)
++              - Fixes MenuItems.Add range
++      * MenuItem.cs:
++              - MergeMenu and Clone and CloneMenu functions
++
++2005-02-03  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollBar.cs: Make abstract
++      * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
++      is abstract.
++
++2005-02-03  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollBar.cs: First part of my scrollbar fixups. This removes
++      all the unneeded refreshes and uses invalidates with properly
++      computed rects.
++
++2005-02-03  Peter Bartok  <pbartok@novell.com>
++
++      * ComponentModel.cs: Added
++      * IDataGridEditingService.cs: Added
++      * Timer.cs: Added missing attributes
++      * ToolTip.cs: Added missing attributes
++
++2005-02-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
++
++      * PropertyGridView.cs: Added. Patch by Jonathan Chambers
++
++2005-02-03  Peter Bartok  <pbartok@novell.com>
++
++      * ListBox.cs: Added missing attributes
++
++2005-02-03  Jordi Mas i Hernandez <jordi@ximian.com>
++      
++      * ListBox.cs:
++              - Fixes font height after font change
++              - Avoid generating unnecesary OnSelectedIndexChanged on clearing
++              
++2005-02-02  Peter Bartok  <pbartok@novell.com>
++
++      * HandleData.cs: Introduced static methods to allow class
++        to be more self-contained and track it's own HandleData objects
++      * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
++        HandleData to use new static methods
++
++2005-02-02  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Combobox.cs:
++              - Fixes default size and PreferredHeight
++              - Missing events
++              - ObjectCollection.Insert implementation
++              
++      * ListControl.cs
++              - Fixes signature
++      * ListBox.cs:
++              - Several fixes
++              - ObjectCollection.Insert implementation
++              - No selection after clean
++              - Small fixes
++
++2005-01-31    John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
++
++2005-02-01  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Combobox.cs:
++              - Caches ItemHeight calculation for OwnerDrawVariable
++              - Handles dropdown properly
++              - Fixes several minor bugs
++
++2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs:
++              - Fixes 71946 and 71950
++              - Fixes changing Multicolumn on the fly
++              - Fixes keyboard navigation on Multicolumn listboxes
++
++2005-01-31  Geoff Norton  <gnorton@customerdna.com>
++      
++      * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
++      crash reporter log.
++
++2005-01-31  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Allow applications to actually exit.
++
++2005-01-31  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: SetWindowStyle implemented.  Reposition views in
++      their parent at creation time rather than lazily later.  Fixes a major
++      regression we were experiencing.
++
++2005-01-31    John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * ThemeWin32Classic.cs: more date time picker painting fixes
++      * DateTimePicker.cs: more monthcalendar drop down fixes
++      * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
++
++2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ScrollBar.cs:
++              - When moving the thumb going outside the control should stop the moving
++              - Adds the firing of missing events
++              - Fixes no button show if Size is not specified
++              - End / Home keys for keyboard navigation
++
++2005-01-30  Peter Bartok  <pbartok@novell.com>
++
++      * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
++        sanity check to prevent theoretical loop
++      * XplatUIWin32.cs (SetVisible): Removed debug output
++      * XplatUIX11.cs (SystrayChange): Added sanity check
++      * ScrollableControl.cs (OnVisibleChanged): Now calls base method
++      * Control.cs (OnVisibleChanged): Added workaround for ParentForm
++        behaviour, valid until the X11 client window rewrite is done
++      * TextBox.cs (ctor): Setting proper default foreground and background
++        colors
++
++2005-01-30    John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * Theme: Added DrawDateTimePicker to interface
++      * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
++      * DateTimePicker.cs: Created (still needs keys and painting code)
++      * DateTimePickerFormat.cs: added
++      * MonthCalendar.cs: fixed CreateParams for popup window mode
++        
++2005-01-29  Peter Bartok  <pbartok@novell.com>
++
++      * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
++        this should also the calculations for ligher/darker
++      * Theme.cs: Fixed defaults for ScrollBar widths/heights
++
++2005-01-29  Peter Bartok  <pbartok@novell.com>
++
++      * ArrangeDirection.cs: Added
++      * ArrangeStartingPositon.cs: Added
++      * SystemInformation.cs: Implemented
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
++        XplatUIX11.cs, Theme.cs: Added/implemented new static properties
++        used by SystemInformation class
++      * X11Strucs.cs: Added XSizeHints structure
++      * MenuAPI.cs:
++        - Fixed CreateParams to make sure the menu window is always visible
++        - TrackPopupMenu: Added check to make sure we don't draw the
++          menu offscreen
++
++2005-01-29  Peter Bartok  <pbartok@novell.com>
++
++      * HandleData.cs: Added method for altering invalid area
++      * TextBoxBase.cs: Implemented TextLength
++
++2005-01-28  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Improvement over last patch, not sending
++        the WM_PAINT directly anymore, instead we scroll any pending
++        exposed areas and let the system pick out the WM_PAINT later
++
++2005-01-28  Peter Bartok  <pbartok@novell.com>
++
++      * SWF.csproj: Deleted, no longer used. Instead,
++        Managed.Windows.Forms/SWF.csproj should be used
++      * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
++        directly, to avoid a potential race condition with the next
++        scroll
++
++2005-01-28  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs: Made class internal
++
++2005-01-28  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * CheckedListBox.cs:
++              - Draw focus
++              - Fixed Drawing
++              - Missing methods and events
++
++2005-01-27  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs (Run): Don't use form if we don't have one
++
++2005-01-27  Peter Bartok  <pbartok@novell.com>
++
++      * TextBoxBase.cs (get_Lines): Fixed index off by one error
++
++2005-01-27  Peter Bartok  <pbartok@novell.com>
++
++      * GridEntry.cs: Added; Patch by Jonathan S. Chambers
++      * GridItem.cs: Added; Patch by Jonathan S. Chambers
++      * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
++      * GridItemType.cs: Added; Patch by Jonathan S. Chambers
++      * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
++      * PropertySort.cs: Added; Patch by Jonathan S. Chambers
++      * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
++      * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
++      * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
++      * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
++      * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
++      * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
++
++2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * Combobox.cs:
++              - Draw focus on Simple Combobox
++              - Fixes drawing issues
++              - fixes 71834
++
++2005-01-27  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs:
++        - Place window in default location, instead of hardcoded 0/0
++        - Send initial LocationChanged event
++      * Control.cs:
++        - UpdateBounds after creation to find out where the WM placed us
++        - Make sure that if the ParentForm changes location the Form
++          is notified
++      * XplatUIX11.cs: XGetGeometry will not return the coords relative
++          to the root, but to whatever the WM placed around us.
++          Translate to root coordinates before returning toplevel
++          coordinates
++      * XplatUIWin32.cs: Removed debug output
++      * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
++        flag to GetWindowPos, to allow translation of coordinates on X11
++
++2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs: connect LostFocus Event
++
++2005-01-27  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
++        XplatUIX11.cs: Extended the Systray API
++      * Form.cs: Removed debug output
++      * Application.cs: Fixed focus assignment, always need to call
++        XplatUI.Activate() since Form.Activate() has rules that may
++        prevent activation
++      * NotifyIcon.cs: Should be complete now
++      * ToolTip.cs: Worked around possible timer bug
++
++2005-01-27  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs:
++      - Only invalidate the effected tabs when the
++      selected index changes. This reduces drawing and gets rid of some
++      flicker.
++      - Only refresh if the tabs need to be shifted, otherwise only
++      invalidate the slider button.
++      - On windows the tabs are not filled to right if the slider is
++      visible.
++      
++2005-01-27  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Only refresh on mouseup if we are showing the
++      slider. Also only invalidate the button whose state has changed.
++
++2005-01-26  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
++      * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
++        and SystrayRemove() methods
++      * XplatUIOSX.cs: Stubbed Systray methods
++      * XplatUIX11.cs:
++        - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
++          methods
++        - Fixed broken XChangeProperty calls (marshalling messed up things)
++      * X11Structs.cs: Added enums and structs required for Size hinting
++      * NotifyIcon.cs: Added & implemented
++
++2005-01-26  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Space vertically layed out tabs properly.
++
++2005-01-26  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs (CreateClientParams): Always set the location to 0,0
++        since we're a child window.
++
++      * Control.cs (SetVisibleCore): Always explicitly setting the location
++        of a toplevel window, apparently X11 doesn't like to move windows
++        while they're not mapped.
++
++2005-01-26  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Implement FillToRight size mode with vertically
++      rendered tabs.
++
++2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ControlPaint.cs, ThemeWin32Classic.cs
++              - Fixes DrawFocusRectangle
++
++2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * MenuAPI.cs:
++              - MenuBar tracking only starts when item is first clicked
++              - Fixes menu hidding for multiple subitems
++              - Unselect item in MenuBar when item Executed
++              - Fixes bug 71495
++
++2005-01-25  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListControl.cs:
++              - IsInputKey for ListBox
++      * ListBox.cs:
++              - Focus item
++              - Shift and Control item selection
++              - Implement SelectionMode.MultiExtended
++              - Fixes RightToLeft
++      * ComboBox.cs:
++              - IsInputKey implemented
++              - Do not generate OnTextChangedEdit on internal txt changes
++              
++2005-01-23  Peter Bartok  <pbartok@novell.com>
++
++      * AccessibleObject.cs: Partially implemented Select()
++      * MonthCalendar.cs: Added missing attributes and events
++      * Form.cs: Fixed CreateParams behaviour, now controls derived from
++        form can properly override CreateParams.
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
++        XplatUIX11.cs: Dropped RefreshWindow method, not needed if
++        Control performs Invalidate & Update
++      * NativeWindow (CreateHandle): Added special handling for Form
++        and Form.FormParent classes to allow overriding of From.CreateParams
++      * Control.cs:
++        - ControlNativeWindow: Renamed 'control' variable to more intuitive
++          name 'owner'
++        - ControlNativeWindow: Added Owner property
++        - Removed usage of Refresh() on property changes, changed into
++          Invalidate(), we need to wait until the queue is processed for
++          updates, direct calls might cause problems if not all vars for
++          Paint are initialized
++        - Added call to UpdateStyles() when creating the window, to set any
++          styles that CreateWindow might have ignored.
++        - Added support for Form CreateParent overrides to UpdateStyles()
++      * MessageBox.cs: Removed no longer needed FormParent override stuff,
++        CreateParams are now properly overridable
++      * CommonDialog.cs: Removed no longer needed FormParent override stuff,
++        CreateParams are now properly overridable
++
++2005-01-23  Miguel de Icaza  <miguel@ximian.com>
++
++      * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
++      OnTextBoxChanged.
++
++      Capture LostFocus and OnTextBoxChanged.  The later introduces a
++      recursive invocation that I have not figured out yet.
++
++      Reset the timer when not using (it was accumulating).
++
++
++      (OnTextBoxChanged): Set UserEdit to true here to track whether the
++      user has made changes that require validation.
++
++      Reset changing to avoid loops.
++
++2005-01-22  Miguel de Icaza  <miguel@ximian.com>
++
++      * NumericUpDown.cs: Display value at startup.
++
++      * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
++      ValidateEditText.
++
++      * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
++      filled in.  Added some basic parsing of text.
++
++      Still missing the OnXXX method overrides, and figuring out the
++      events that must be emitted.
++
++      * UpDownBase.cs: Handle UserEdit on the Text property.
++      
++2005-01-22  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs:
++        - Fixes IntegralHeight
++        - ToString method
++
++2005-01-21  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Set the SelectedIndex property when SelectedTab
++      is set so that the page visibility is updated and the tabs are
++      sized correctly.
++
++2005-01-21  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Use cliping rectangle for blitting. Give the
++      theme the clipping rect so we can do clipping while
++      drawing. Remove some debug code.
++
++2005-01-21  Jackson Harper  <jackson@ximian.com>
++
++      * TabPage.cs: Add a new method so tab pages can force the tab
++      control to recalculate the tab page sizes.
++      * TabControl.cs: UpdateOwner needs to make the tab control recalc
++      sizes.
++
++2005-01-20  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
++
++2005-01-20  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Set the bounds for nodes properly. They were
++      getting screwed up when checkboxes were not enabled, but images
++      were.
++
++2005-01-20  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs:
++              - Owner draw support
++              - Fixes
++              
++2005-01-20  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIStructs.cs: More misc keys
++      * X11Keyboard.cs: Ignore some control keys.
++
++2005-01-20  Jackson Harper  <jackson@ximian.com>
++
++      * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
++      * X11Keyboard.cs: Set the AltGr mask when we get a key event.
++
++2005-01-19  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Un-selecting the control when it is loosing focus
++
++2005-01-19  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Hook up to the text controls leave event so we can
++      end editing when the users clicks outside the text box.
++      
++2005-01-19  Jackson Harper  <jackson@ximian.com>
++
++      * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
++      get set in the conversion array.
++
++2005-01-19  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs (ModalRun): Added a call to CreateControl to ensure
++        focus is properly set
++      * Button.cs:
++        - Added missing attributes
++        - removed styles, those are already set in the base class
++      * ButtonBase.cs:
++        - Added missing attributes
++        - Added clip window styles
++      * CheckBox.cs: Added missing attributes
++      * CommonDialog.cs:
++        - FormParentWindow.CreateParams: Added required clip styles
++      * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
++        also filters modifier keys
++      * MessageBox.cs:
++        - Added assignment of Accept and Cancel button to enable Enter
++          and Esc keys in MessageBox dialogs
++        - FormParentWindow.CreateParams: Added required clip styles
++      * RadioButton.cs: Added missing attributes
++      * TextControl.cs: No longer draws selection if control does not
++        have focus
++      * TextBoxBase.cs:
++        - Now draws simple rectangle around test area to make it obvious
++          there's a control. This is a hack until we properly support borders
++        - A few simple fixes to support selections better, now erases selected
++          text when typing, and resets selection when using movement keys
++
++2005-01-19  Miguel de Icaza  <miguel@ximian.com>
++
++      * UpDownBase.cs: Added some new properties.
++
++      * DomainUpDown.cs: Implement a lot to get my test working.
++
++2005-01-19  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Fix a minor bug to bring the close box back
++
++2005-01-19  Geoff Norton  <gnorton@customerdna.com>
++
++      * OSXStructs (WindowAttributes): Fixed csc complaints
++
++2005-01-19  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplayUIOSX.cs:
++        OSXStructs.cs: Initial refactor to move enums and consts into
++        OSXStructs and use them in the driver for greater readability.
++
++2005-01-19  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Initial support for Standard Cursors.
++      * OSXStructs.cs: Move our structs here; added ThemeCursor enum
++
++2005-01-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: ability to change style when the ctrl is already
++      created, missing methods and events, bug fixes, signature fixes
++
++2005-01-19  Peter Bartok  <pbartok@novell.com>
++
++      * Cursors.cs (ctor): Added ctor to fix signature
++
++2005-01-18  Peter Bartok  <pbartok@novell.com>
++
++      * Button.cs: Implemented DoubleClick event
++      * ButtonBase.cs:
++        - Fixed keyboard handling to behave like MS, where the press of
++          Spacebar is equivalent to a mousedown, and the key release is
++          equivalent to mouseup. Now a spacebar push will give the same
++          visual feedback like a mouse click.
++        - Added missing attributes
++        - Added ImeModeChanged event
++        - Added support for generating DoubleClick event for derived classes
++      * CheckBox.cs:
++        - Implemented DoubleClick event
++        - Added missing attributes
++      * CommonDialog.cs: Added missing attribute
++      * ContextMenu.cs: Added missing attributes
++      * RadioButton.cs:
++        - AutoChecked buttons do not allow to be unselected when clicked
++          (otherwise we might end up with no selected buttons in a group)
++        - Added missing attributes
++        - Implemented DoubleClickEvent
++      * ThreadExceptionDialog.cs: Enabled TextBox code
++
++2005-01-18  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs: Removed debug output
++      * Button.cs: Added support for DoubleClick method
++
++2005-01-18  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs:
++        - Added method to parent window that allows triggering size
++          calculations when a menu is added/removed
++        - set_Menu: Cleaned up mess from early days of Form and Control,
++          now properly triggers a recalc when a menu is added/removed
++        - Added case to select form itself as focused form if no child
++          controls exist
++        - Added PerformLayout call when showing dialog, to ensure properly
++          placed controls
++      * Control.cs:
++        - Select(): Made internal so Form can access it
++        - Focus(): Only call Xplat layer if required (avoids loop), and sets
++          status
++      * Application.cs (Run): Removed hack and calls PerformLayout instead
++        to trigger calculation when Form becomes visible
++
++2005-01-18  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: fixes for ownerdraw
++
++2005-01-18  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs:
++        - Sentinel is no longer static, each Document gets it's own, this
++          avoids locking or alternatively overwrite problems when more
++          than one text control is used simultaneously.
++        - Switched to use Hilight and HilightText brushes for text selection
++
++      * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
++
++2005-01-18  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Hooked up the following events:
++              o ControlAdded
++              o ControlRemoved
++              o HandleDestroyed
++              o ImeModeChanged
++              o ParentChanged
++              o TabStopChanged
++              o Invalidated
++              o SystemColorsChanged
++              o ParentFontChanged
++              o Move
++        - Removed debug output
++        - Added a call to the current theme's ResetDefaults when a color change
++          is detected
++      * Form.cs: Now setting the proper ImeMode
++      * Theme.cs: Defined a method to force recreation of cached resources
++        and rereading of system defaults (ResetDefaults())
++      * ThemeWin32Classic.cs: Added ResetDefaults() stub
++
++2005-01-17  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Added missing attributes
++
++2005-01-17  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Implement editing. Add missing properties selected
++      and visible.
++      * TreeView.cs: Implement node editing. Also some fixes to use
++      Invalidate (invalid area) instead of Refresh when selecting.
++
++2005-01-17  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Implemented InvokeGotFocus() method
++        - Implemented InvokeLostFocus() method
++        - Implemented InvokePaint() method
++        - Implemented InvokePaintBackground() method
++        - Implemented InvokeClick() method
++        - Implemented FindForm() method
++        - Implemented RectangleToClient() method
++        - Implemented ClientToRectangle() method
++        - Implemented ResetBackColor() method
++        - Implemented ResetCursor() method
++        - Implemented ResetFont() method
++        - Implemented ResteForeColor() method
++        - Implemented ResetImeMode() method
++        - Implemented ResetLeftToRight() method
++        - Implemented ResetText() method
++        - Implemented Scale() methods
++        - Implemented ScaleCore() method
++        - Implemented Update() method
++        - Removed unused variables
++        - Stubbed AccessibilityNotifyClients and
++          ControlAccessibleObject.NotifyClients() methods (dunno what to do
++          with those yet)
++        - Now setting proper default for RightToLeft property
++        - Fixed bug in SetClientSizeCore that would cause windows to get
++          really big
++        - Now sending Click/DoubleClick events
++        - Now selecting controls when left mouse button is clicked on
++          selectable control
++      * AccessibleEvents.cs: Added
++      * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
++      * XplatUIOSX.cs: Stubbed UpdateWindow() method
++      * XplatUIWin32.cs: Implemented UpdateWindow() method
++      * XplatUIX11.cs: Implemented UpdateWindow() method
++      * Form.cs: Removed stray semicolon causing CS0162 warning
++      * ThemeWin32Classic.cs: Fixed unused variable warnings
++      * ScrollableControl.cs: Now calls base method for ScaleCore
++      * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
++        style to avoid interference with internal click handler (which is
++        different than standard Control click handling)
++      * RadioButton.cs:
++        - Now unchecks all sibling radio buttons when control is
++          selected (Fixes #68756)
++        - Removed internal tabstop variable, using the one inherited from
++          Control
++
++2005-01-17  Jackson Harper  <jackson@ximian.com>
++
++      * NavigateEventArgs.cs: Fix base type.
++      * LinkLabel.cs: Sig fix
++      
++2005-01-17  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Only invalidate the effected nodes bounds when
++      selecting nodes.
++
++2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * XplatUIWin32.cs: fixes Win32 marshaling
++      * XplatUIX11.cs: fixes method signature
++
++2005-01-17  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs: Clean up resources when we no longer need them
++
++2005-01-17  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
++        OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
++        and DestroyCursor() methods.
++      * Cursor.cs: Partially implemented, now supports standard cursors;
++        still contains some debug code
++      * Cursors.cs: Implemented class
++      * Control.cs:
++        - WndProc(): Added handling of WM_SETCURSOR message, setting the
++          appropriate cursor
++        - Implemented Cursor property
++        - Replaced break; with return; more straightforwar and possibly
++          faster
++        - Now properly setting the result for WM_HELP
++      * X11Structs.cs: Added CursorFontShape enum
++      * XplatUIStructs.cs:
++        - Added StdCursor enum (to support DefineStdCursor() method)
++        - Added HitTest enum (to support sending WM_SETCURSOR message)
++      * XplatUIX11.cs:
++        - Now sends the WM_SETCURSOR message
++        - Implemented new cursor methods
++      * XplatUIOSX.cs: Stubbed new cursor methods
++      * XplatUIWin32.cs:
++        - Implemented new cursor methods
++        - Added GetSystemMetrics function and associated enumeration
++
++2005-01-15  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - WndProc(): Now handles EnableNotifyMessage
++        - SelectNextControl(): Fixed bug where if no child or sibling
++          controls exist we looped endlessly
++
++2005-01-14  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Recalculate the tab pages when a new one is added
++      so that the proper bounding rects are created.
++
++2005-01-14  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Draw a gray box instead of a grip in the lower
++      right hand corner when there are both horizontal and vertical
++      scroll bars.
++
++2005-01-14  Jackson Harper  <jackson@ximian.com>
++
++      * Control.cs: When erasing backgrounds use FromHwnd instead of
++      FromHdc when there is a NULL wparam. This occurs on the X driver.
++      * XplatUIX11.cs: Set the wparam to NULL.
++
++2005-01-13  Jackson Harper  <jackson@ximian.com>
++
++      * PictureBox.cs: Implement missing methods (except ToString, need
++      to test that on windows) and events. When visibility is changed we
++      need to redraw the image because the buffers are killed. When size
++      is changed refresh if the sizemode needs it.
++
++2005-01-13  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs (SelectNextControl): Was using wrong method to select
++        a control
++
++2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: fixes dropstyle
++
++2005-01-13  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs:
++        - Implemented Select() override
++        - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
++        - Now sets keyboard focus on startup
++      * Control.cs (SelectNextControl): Now properly handles directed=true
++      * TextBoxBase.cs:
++        - WndProc: Now passes tab key on to base if AcceptTabChar=false
++        - Added (really bad) focus rectangle (mostly for testing)
++      * TextBox.cs: Added code to handle getting/loosing focus and invalidating
++        to enforce redraw on focus changes
++      * ContainerControl.cs:
++        - Fixed detection of Shift-Tab key presses
++        - Fixed traversal with arrow keys
++      * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
++        gonna keep this or if it's complete yet
++      
++2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: missing properties, fixes
++
++2005-01-13  Peter Bartok  <pbartok@novell.com>
++
++      * Panel.cs (ctor): Setting Selectable window style to off
++      * Splitter.cs (ctor): Setting Selectable window style to off
++      * GroupBox.cs (ctor): Setting Selectable window style to off
++      * Label.cs (ctor): Setting Selectable window style to off
++
++2005-01-12  Miguel de Icaza  <miguel@ximian.com>
++
++      * UpDownBase.cs (InitTimer): If the timer has been already
++      created, enable it.
++
++      Use a TextBox instead of a Label.
++
++2005-01-12  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Refresh the tree after sorting the nodes. Always
++      draw the connecting node lines (when ShowLines is true).
++      * TreeNode.cs: The nodes index can now be updated. This is used
++      when a node collection is sorted.
++      * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
++      insert or an existing unsorted node collection can be sorted.
++      
++2005-01-12  Peter Bartok  <pbartok@novell.com>
++
++      * ContainerControl.cs: Implemented ProcessDialogKeys()
++
++2005-01-12  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Implemented SelectNextControl() method
++        - Several focus related bug fixes
++        - Fixed Docking calculations to match MS documentation and
++          behaviour
++
++2005-01-12  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
++      bug fixes
++
++2005-01-12  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs:
++        - Fixed broken Contains() method
++        - Implemented GetNextControl() method. Finally. This is the pre-
++          requisite for focus handling.
++
++2005-01-12  Peter Bartok  <pbartok@novell.com>
++
++      * OSXStrucs.cs: Added
++
++2005-01-12  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs:
++        - Removed PeekMessageFlags
++        - Implemented SetWindowStyle() method
++      * XplatUIStructs.cs: Added PeekMessageFlags
++      * X11Structs: Added missing border_width field to XWindowChanges struct
++      * XplatUIX11.cs:
++        - PeekMessage: Now throws exception if flags which are not yet
++          supported are passed
++        - Implemented SetWindowStyle() method
++        - Fixed SetZOrder to handle AfterHwnd properly
++      * XplatUI.cs: Added SetWindowStyle() method
++      * XplatUIDriver.cs: Added SetWindowStyle() abstract
++      * Control.cs:
++        - Implemented UpdateStyles() method
++        - Implemented UpdateZOrder() method
++      * XplatUIOSX.cs: Added SetWindowStyle() stub
++
++2005-01-12  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
++      button mouse).
++
++
++2005-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Still need to draw lines to siblings even if out of
++      the current node is out of the clip.
++
++2005-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: When setting the hbar/vbar/grip position use
++      SetBounds so that perform layout is only called once. Also suspend
++      and resume layout so layout is only done once for all controls.
++      - Removed some debug fluff
++      * SizeGrip.cs: Call base implmentation in overriding methods.
++      - When visibility is changed the drawing buffers are killed so we
++      need to redraw.
++
++2005-01-11  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Calculate the open node count while drawing. This
++      saves us an entire tree traversal for every paint operation. Use
++      a member var for the open node count so less vars are passed around.
++
++2005-01-11  John BouAntoun  <jba-mono@optusnet.com.au>
++
++      * MonthCalendar.cs:
++      - fixed selection to use mousemove, not mouse polling on timer
++      * ThemeWin32Classic.cs
++      - removed redundant unused variable "no_more_content"
++      
++2005-01-11  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs (DoEvents): Needs to return when no more events
++        are pending, so it now calls PeekMessage instead of GetMessage;
++        implemented a incomplete version of PeekMessage
++      
++2005-01-11  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
++        I18n issues
++      * TextBoxBase.cs: Added sending of TextChanged event
++
++2005-01-10  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Try not to draw outside the clipping rectangle on
++      each node element.
++
++2005-01-10  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: keyboard navigation, item navigation, bug fixes
++
++2005-01-10  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs:
++      - Implement fast scrolling. Now only the newly
++      exposed nodes are drawn and the old image is moved using the
++      XplatUI::ScrollWindow method.
++      - Factor in height of nodes when calculating whether or not the
++      node is in the clipping rect.
++
++2005-01-10  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNodeCollection.cs: Refresh the tree when a new node is added.
++
++2005-01-10  Peter Bartok  <pbartok@novell.com>
++
++      * Application.cs: Added temporary hack to resolve all our resize
++        required issues on startup. This will get fixed properly at
++        some point in the future
++
++2005-01-10  Jackson Harper  <jackson@ximian.com>
++
++      * SizeGrip.cs: New internal class that is used as a sizing
++      grip control...hence the name.
++
++2005-01-10  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs: Implemented proper TabIndex handling, now assigning
++        a tabindex when a control is added to a container
++      * GroupBox.cs (ctor): Now sets the Container style bit, required
++        for Control.GetNextControl()
++
++2005-01-09  Jackson Harper  <jackson@ximian.com>
++
++      * TextBoxBase.cs: Clear window when scrolling (fixes build).
++
++2005-01-09  Peter Bartok <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
++        XplatUIX11.cs: Added ability to control ScrollWindow expose and
++        an overload for ScrollWindow to allow only scrolling a rectangle
++
++2005-01-09  Peter Bartok <pbartok@novell.com>
++
++      * Form.cs:
++        - Implemented SetDesktopBounds method
++        - Implemented SetDesktopLocation method
++
++2005-01-08  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Only set the vbar's Maximum and LargeChange when
++      the node count has changed, this removes to VScroll::Refresh calls
++      when drawing.
++
++2005-01-08  Geoff Norton  <gnorton@customerdna.com>
++
++        * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
++
++2005-01-07  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Just update the single node when it is
++      checked. Don't refresh after toggling, the Expand/Collapse already
++      handles this.
++      * TreeView.cs: Respect clipping a little more when drawing. Try
++      not to redraw things that don't need to be redrawn. Just hide the
++      scrollbars when they are no longer needed instead of removing
++      them, so they don't have to be created again and again.
++      
++2005-01-07  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs (SetCaretPos):  We need to translate the view
++      coordinates to window space to place the caret properly, FIXED.
++      Implement GetWindowState & SetWindowState
++
++2005-01-06  Peter Bartok <pbartok@novell.com>
++
++      * Form.cs:
++        - Implemented ClientSize property
++        - Implemented DesktopBounds property
++        - Implemented DesktopLocation property
++        - Implemented IsRestrictedWindow property
++        - Implemented Size property
++        - Implemented TopLevel property
++        - Implemented FormWindowState property
++      * Control.cs:
++        - Implemented GetTopLevel() method
++        - Implemented SetTopLevel() method
++      * X11Structs.cs (Atom):
++        - Added AnyPropertyType definition
++        - Added MapState definiton and updated XWindowAttribute struct
++      * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
++      * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
++      * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
++      * XplatUIWin32.cs:
++        - Implemented GetWindowState() and SetWindowState() methods
++        - Fixed Win32GetWindowLong return type
++      * XplatUIX11.cs:
++        - Introduced central function for sending NET_WM messages
++        - Implemented GetWindowState() and SetWindowState() methods
++      * TextBoxBase.cs (set_Lines):
++        - Now uses Foreground color for text added via Text property (Duh!)
++        - Added code to remember programmatically requested size (fixes
++          behaviour when Multiline is set after Size)
++        - Added AutoSize logic
++
++2005-01-06  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
++
++2005-01-06  Jackson Harper  <jackson@ximian.com>
++
++      * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
++      set to less then 0.
++
++2005-01-06  Jackson Harper  <jackson@ximian.com>
++
++      * ScrollableControl.cs: Lazy init the scrollbars.
++      
++2005-01-06  Jackson Harper  <jackson@ximian.com>
++
++      * Theme.cs: Speed up getting pens and solid brushes, by using
++      their ARGB as a hash instead of tostring and not calling Contains.
++
++2005-01-06  Peter Bartok <pbartok@novell.com>
++
++      * Form.cs:
++        - Implemented OnActivated and OnDeactivate event trigger
++        - Implemented Activate() method
++        - Fixed ShowDialog() to activate the form that was active before
++          the dialog was shown
++      * XplatUIX11.cs:
++        - Added global active_window var that tracks the currently active
++          X11 window
++        - Now always grabs Property changes from the root window to always
++          catch changes on the active window property
++        - Added code to PropertyNotify handler to send Active/Inactive
++          messages when state changes. This puts X11 and Win32 en par on
++          WM_ACTIVATE notifications (except for double notifications when
++          the user clicks away from our modal window to another one of our
++          windows)
++
++2005-01-05  Jackson Harper  <jackson@ximian.com>
++
++      * ImageList.cs: Implment ctor
++
++2005-01-05  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implement Activate/SetTopmost
++
++2005-01-05  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
++
++2005-01-05  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implement GetActive/SetFocus.
++
++2005-01-05  Peter Bartok <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
++        XplatUIOSX.cs: Added GetActive method to return the currently
++        active window for the application (or null, if none is active)
++      * Form.cs:
++        - Implemented ActiveForm
++        - Commented out owner assignment for modal dialogs (causes problems
++          on Win32, since the owner will be disabled)
++        - Reworked some Active/Focus handling (still incomplete)
++      * CommonDialog.cs: Commented out owner assignment for modal dialogs
++        (causes problems on Win32, since the owner will be disabled)
++      * IWin32Window: Added ComVisible attribute
++
++2005-01-05  Peter Bartok <pbartok@novell.com>
++
++      * ToolTip.cs (WndProc): Enable setting focus now that we have the
++        required XplatUI functions.
++
++2005-01-05  Peter Bartok <pbartok@novell.com>
++
++      * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
++        XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
++        to implement focus and activation handling; still incomplete and
++        with debug output
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * TextBoxBase.cs: Changed access level for Document property to
++        match switch to internal for TextControl
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * AccessibleObject: Added ComVisible attribute
++
++2005-01-04  Jackson Harper  <jackson@ximian.com>
++
++      * X11Keyboard.cs: Remove unneeded var.
++
++2005-01-04  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
++      but PAINT.
++      * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
++      ClientMessage. This makes apps exit cleanly (more often).
++      
++2005-01-04  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
++      handling focus, return correct colors and fonts,
++      * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
++      handle selection, horizontal scrolling, and mouse interaction.
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * ICommandExecutor.cs: Added
++      * IDataGridColumnStyleEditingNotificationService.cs: Added
++      * IFeatureSupport.cs: Added
++      * IFileReaderService.cs: Added
++      * IDataObject.cs: Added ComVisible attribute
++      * AmbientProperties.cs: Added
++      * BaseCollection.cs: Added missing attributes
++      * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
++      * BaseCollection.cs: Added missing attributes
++      * Binding.cs: Added TypeConverter attribute
++      * BindingContext.cs: Added DefaultEvent attribute
++      * BindingsCollection.cs: Added DefaultEvent attribute
++      * Button.cs: Added DefaultValue attribute
++      * DragEventArgs.cs: Added ComVisible attribute
++      * GiveFeedbackEventArgs.cs: Added ComVisible attribute
++      * KeyEventArgs.cs: Added ComVisible attribute
++      * KeyPressEventArgs.cs: Added ComVisible attribute
++      * MouseEventArgs.cs: Added ComVisible attribute
++      * NavigateEventArgs.cs: Added
++      * NavigateEventHandler.cs: Added
++      * FeatureSupport.cs: Added
++      * OSFeature.cs: Added
++      * Theme.cs: Added abstract Version property to support OSFeature
++      * ThemeWin32Classic.cs: Added Version property to
++        support OSFeature.Themes
++      * ProgressBar.cs: Removed OnPaintBackground override, not required since
++        the proper styles to avoid background drawing are set, also doesn't
++        match MS signature
++      * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
++      * QueryContinueDragEventArgs.cs: Added ComVisible attribute
++      * ScrollEventArgs.cs: Added ComVisible attribute
++      * SplitterEventArgs.cs: Added ComVisible attribute
++      * AccessibleSelection.cs: Added Flags attribute
++      * Appearance.cs: Added ComVisible attribute
++      * Border3DSide.cs: Added ComVisible attribute
++      * Border3DStyle.cs: Added ComVisible attribute
++      * BorderStyle.cs: Added ComVisible attribute
++      * DragAction.cs: Added ComVisible attribute
++      * ErrorBlinkStyle.cs: Added
++      * ScrollEventType.cs: Added ComVisible attribute
++      * AnchorStyles.cs: Added Editor attribute
++      * DockStyle.cs: Added Editor attribute
++      * HorizontalAlignment.cs: Added ComVisible attribute
++      * HelpEventArgs.cs: Added ComVisible attribute
++      * PaintEventArgs.cs: Added IDisposable
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * TextControl.cs: Switched Line, LineTag and Document classes to
++        internal
++
++2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
++      Simple mode, fixes, IntegralHeight, etc.
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * TextBoxBase.cs: Using proper font variable now
++
++2005-01-04  Peter Bartok <pbartok@novell.com>
++
++      * Form.cs (ShowDialog): Set parent to owner, if provided
++      * GroupBox.cs: Removed unused vars
++      * TextControl.cs:
++        - Added GetHashCode() for Document and LineTag classes
++        - Removed unused variables
++        - Added CharIndexToLineTag() and LineTagToCharIndex() methods
++          to allow translation between continuous char position and line/pos
++      * CheckBox.cs: Removed vars that are provided by base class
++      * RadioButton.cs: Removed vars that are provided by base class, added
++        new keyword where required
++      * LinkLabel.cs: Added new keyword where required
++      * Control.cs (WndProc): Removed unused variable
++      * TextBoxBase.cs:
++        - Finished SelectionLength property
++        - Implemented SelectionStart property
++        - Implemented Text property
++        - Removed unused vars
++      * MessageBox.cs: Added new keyword where required
++      * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
++        WndProc signature
++      * MenuAPI.cs: Added new keyword where required
++      * ButtonBase.cs: Removed vars that are provided by base class, added
++        new keyword where required
++      * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
++        argument to double, to allow compiling with csc 2.0 (Atsushi ran
++        into this)
++      * Application.cs (Run): Now triggers the ThreadExit event
++      * CommonDialog.cs: Added new keyword where required; now properly sets
++        parent (owner) for dialog
++      * XplatUIX11.cs: Commented out unused vars
++      * StatusBar.cs: Fixed signature for Text property
++      * TabPage.cs: Undid Jordi's removal of unused var, now using the var
++
++2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
++      TrackBar.cs, MonthCalendar.cs: remove unused vars
++
++2005-01-03  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs:
++      * X11Keyboard.cs: Remove unused vars.
++
++2005-01-03  Peter Bartok  <pbartok@novell.com>
++
++      * TextBox.cs:
++        - set_Text: Tied into TextControl
++        - set_TextAlignment: Tied into TextControl
++      * TextControl.cs:
++        - Added alignment properties and implemented alignment handling
++          and drawing (still has a bug, not generating proper expose events)
++        - Added new Line() constructor to allow passing the line alignment
++        - Fixed selection setting, properly handling end<start now
++        - Added aligment considerations to RecalculateDocument()
++      * TextBoxBase.cs:
++        - Now properly enforces control height for single line controls
++        - Added support for CharacterCasing
++        - Added IsInputKey override
++        - Fixed Keys.Enter logic
++        - Added SetBoundsCore override
++        - Fixed mouse selection handling
++
++2005-01-03  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs:
++        - Collapse and uncheck all nodes when CheckBoxes is disabled.
++        - Checkboxes are always aligned to the bottom of the node,
++        regardless of item height.
++        - Use the node bounds to draw the text so we can center it when
++        the item height is greater then the font height.
++        - Node::Bounds are only the text part of the node.
++      * TreeNode.cs: New method to combine collapsing and unchecking all
++        nodes recursively.
++
++2005-01-02  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
++      * TreeNode.cs: Add a bounding box for the checkbox, refresh the
++      tree when a check is changed. TODO: Only refresh the checked node.
++
++2004-12-30  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
++      * TreeNode.cs: When collapsing make sure to never collapse the
++      root node.
++
++2004-12-29  Jackson Harper  <jackson@ximian.com>
++
++      * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
++      
++2004-12-28  Zoltan Varga  <vargaz@freemail.hu>
++
++      * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
++
++2004-12-28  Peter Bartok  <pbartok@novell.com>
++
++      * MessageBox.cs (get_CreateParams): Don't use owner var if it's
++        not yet assigned
++
++2004-12-28  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs (WndProc): Added WM_HELP handler, now generates
++        HelpRequested event
++      * Form.cs: Added HelpButton property and required support code
++      * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
++
++2004-12-28  Peter Bartok  <pbartok@novell.com>
++
++      * CommonDialog.cs:
++        - Made DialogForm.owner variable internal
++        - Added check to ensure owner form is set before setting
++          owner properties in CreateParams
++
++2004-12-28  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implement mouse hovering.  Fix QDPoint struct to avoid
++        swizzling.  Implement ClientToScreen and ScreenToClient.  Implement
++        GetCursorPos.  Fix major visibility issues.  Rework the windowing
++        system to support borderless/titleless windows (implements menus).
++        Fix GetWindowPos.  Implement initial background color support for
++        views.
++
++2004-12-28  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs (get_CreateParams): Make sure we have an owner before using
++        the owner variable. Implement proper default if no owner exists
++
++2004-12-28  Peter Bartok  <pbartok@novell.com>
++
++      * In preparation for making Managed.Windows.Forms the default build target
++        for System.Windows.Forms, the following stubbed files were added.
++        Dialogs are currently being implemented by contributors and are only
++        short-term place holders.
++      * ColorDialog.cs: Initial check-in (minmal stub)
++      * DataGrid.cs: Initial check-in (minimal stub)
++      * DataGridLineStyle.cs: Initial check-in (minimal stub)
++      * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
++      * DataGridTableStyle.cs: Initial check-in (minimal stub)
++      * FontDialog.cs: Initial check-in (minimal stub)
++      * FileDialog.cs: Initial check-in (minimal stub)
++      * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
++      * GridTableStylesCollection.cs: Initial check-in (minimal stub)
++      * OpenFileDialog: Initial check-in (minimal stub)
++      * IComponentEditorPageSite.cs: Initial check-in
++      * Splitter.cs: Initial check-in (for Jackson)
++      * SplitterEventArgs.cs: Initial check-in (for Jackson)
++      * SplitterEventHandler.cs: Initial check-in (for Jackson)
++      * TextBox.cs: Initial check-in; still needs some wiring to
++        TextControl backend
++      * Form.cs: Implemented ControlBox property
++      * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
++      * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
++      * TextControl.cs: Added selection functionality; added todo header
++      * TextBoxBase.cs:
++        - Implemented Lines property
++        - Implemented TextHeight property
++        - Implemented SelectedText property
++        - Implemented SelectionLength property
++        - Implemented SelectAll method
++        - Implemented ToString method
++        - Removed and cleaned up some debug code
++        - Implemented (still buggy) mouse text selection
++
++2004-12-27  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ComboBox.cs: Complete DropDownList implementation, fixes.
++
++2004-12-26  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
++      * ComboBoxStyle.cs: ComboBoxStyle enum
++      * ComboBox.cs: Initial work on ComboBox control
++
++2004-12-21  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs (ctor, CreateParams): Moved setting of is_visible
++        forward so that anything that creates a window gets the default,
++        also no longer uses Visible property in CreateParams to avoid
++        walking up the parent chain and possibly get the wrong visible
++        status. Fixed IsVisible to no longer walk up to the parent.
++
++2004-12-21  Peter Bartok  <pbartok@novell.com>
++
++      * Form.cs (ShowDialog): Unset modality for the proper window
++ 
++2004-12-20  Peter Bartok  <pbartok@novell.com>
++
++      * CommonDialog.cs: Initial check-in
++
++2004-12-20  Peter Bartok  <pbartok@novell.com>
++
++      * Control.cs (Visible): Now uses the parent window instead of the
++        client area window for the property
++
++      * Form.cs
++        - ShowDialog(): Now uses the proper window for modality
++        - The default visibility state for the form parent is now false. This
++          will prevent the user from seeing all the changes to the form and
++          its controls before the application hits Application.Run()
++        - Removed some stale commented out code
++
++      * NativeWindow.cs:
++        - Added FindWindow() method to have a method to check for existence
++          of a window handle
++        - Added ability to override default exception handling (for example
++          when debugging with VS.Net; to do this the ExternalExceptionHandler
++          define must be set
++        - Removed some useless debug output
++
++      * XplatUIX11.cs:
++        - Removed r37929 (SetModal patch from Ashwin Bharambe), was
++          not working as expected
++        - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
++          property to allow switching back to the modal window if focus is
++          given to another one of our windows (Application Modal)
++        - Now only sets override_redirect if we create a window
++          without WS_CAPTION
++        - Moved EventMask selection before mapping of newly created window
++          so we can catch the map event as well
++        - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
++        - Added various Atom related DllImports
++        - Implemented Exit() method
++        - .ctor() : No longer shows window if WS_VISIBLE is not defined
++          in the CreateParams
++
++      * MessageBox.cs: Now properly deals with the FormParent window by
++        providing an override the FormParent CreateParams property to
++        set as POPUP instead of OVERLAPPED window.
++
++2004-12-19  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Implement DestroyWindow.  Implement ScrollWindow
++      Minor code cleanup.
++
++2004-12-19  Geoff Norton  <gnorton@customerdna.com>
++      
++      * XplatUIOSX.cs (SetModal): Implement this method on OSX.
++
++2004-12-18  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
++        implementing SetModal() method
++
++2004-12-18  Peter Bartok  <pbartok@novell.com>
++
++      * X11Structs.cs (XGCValues): Fixed type of function element
++      * XplatUI.cs: Added ScrollWindow() method
++      * XplatUIDriver.cs: Added ScrollWindow() abstract
++      * XplatUIWin32.cs: Implemented ScrollWindow() method
++      * XplatUIX11.cs: Implemented ScrollWindow() method
++      * XplatUIOSX.cs: Stubbed out ScrollWindow() method
++
++2004-12-17  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs:  Fix cursor to use an Invert instead of drawing it
++      Some more keyboard support (INCOMPLETE)
++
++2004-12-17  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs:
++      - Added color attribute to line tags.
++      - Added color argument to all functions dealing with tags
++      - Added color argument support to various functions
++      - Fixed miss-calculation of baseline/shift in certain circumstances
++
++      * TextBoxBase.cs: Added new color option to test code
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * TreeNode.cs:
++      * MonthCalendar.cs: Signature fixes
++
++2004-12-17  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
++      keyboard event moved it.  Create a new graphics context for each paint resolves this
++
++2004-12-17  Geoff Norton  <gnorton@customerdna.com>
++
++      * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
++      Make caret exist and go blink blink.  Initial keyboard support.
++      Fix exception handler, Add Invalidate support.  Change way RefreshWindow
++      works.
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIStructs.cs: Updated set of virtual keycodes.
++      * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Prune old keyboard code.
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: When generating mouse wparams get the modifier
++      keys from the ModifierKeys property.
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * X11Keyboard.cs: Send up/down input when generating
++      messages. Remove some unused vars.
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs:
++      * TreeView.cs: get rid of warnings.
++
++2004-12-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
++
++2004-12-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ListBox.cs: bug fixes, changes for CheckedListBox.cs
++        CheckedListBox.cs: Implementation
++
++2004-12-17  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
++
++2004-12-16  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs:
++        - InsertCharAtCaret(): Fixed start pos fixup
++        - CaretLine_get: No longer derives the line from the tag, the tag
++          could be stale if lines in the document have been added or deleted
++        - RebalanceAfterDelete(): Fixed bug in balancing code
++        - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
++        - Line.Streamline(): Now can also elminate leading empty tags
++        - DumpTree(): Added a few more tests and prevented exception on
++          uninitialized data
++        - Added Debug section for Combining lines
++        - Delete(): Now copies all remaining properties of a line
++        
++      * TextBoxBase.cs:
++        - Left mousebutton now sets the caret (and middle button still acts
++          as formatting tester, which must go away soon)
++        - Added Debug section for Deleting/Combining lines
++        - Fixed calculations for UpdateView after Combining lines
++
++2004-12-16  Peter Bartok  <pbartok@novell.com>
++
++      * TextControl.cs: Now properly aligns text on a baseline, using the
++        new XplatUI.GetFontMetrics() method. Simplified several calculations
++      * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
++        defined
++
++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.
++
++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>
++
++      * Application.cs (OnThreadException): Use ThreadExceptionDialog.
++
++      * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
++      MinimizeBox, ShowInTaskbar, TopMost properties.
++
++      * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
++      will be implemented).
++
++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.
++      
++      * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
++      implementations.
++
++      * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
++      methods.
++
++2004-11-21  Miguel de Icaza  <miguel@ximian.com>
++
++      * Timer.cs  (Dispose): Should call the base dispose when
++      overriding.
++
++2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ScrollBar.cs: updates thumb position when max, min or increment
++      is changed
++
++2004-11-21  Ravindra <rkumar@novell.com>
++
++      * ListView.cs: Implemented item selection, activation and
++      column header style. Fixed properties to do a redraw, if
++      required. Added support for MouseHover, DoubleClick, KeyDown
++      and KeyUp event handling and some minor fixes.
++      * ListViewItem.cs: Fixed constructor.
++      * ThemeWin32Classic.cs: Improved drawing for ListView.
++
++2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      * ThemeWin32Classic.cs: initial listbox drawing code
++      * DrawMode.cs: new enumerator
++      * ListControl.cs: stubbed class
++      * ListBox.cs: initial implementation
++      * Theme.cs: new methods definitions
++      * SelectionMode.cs: new enumerator
++
++2004-11-17  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIWin32.cs: Added double-click events to the class style
++      * Control.cs (WndProc):
++        - Added handling of click-count to MouseDown/ MouseUp events.
++        - Added handling of middle and right mouse buttons
++        - Removed old debug code
++
++2004-11-17  Jackson Harper  <jackson@ximian.com>
++
++      * XplatUIX11.cs: Use the new Mono.Unix namespace.
++
++2004-11-17  Ravindra <rkumar@novell.com>
++
++      * ListView.cs: Added event handling for MouseMove/Up/Down.
++      * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
++      * ThemeWin32Classic.cs: We need to clear the graphics context and
++      draw column header in a proper state.
++
++
++2004-11-17  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      *  Menu.cs: fixes signature
++
++2004-11-16  Peter Bartok  <pbartok@novell.com>
++
++      * XplatUIX11.cs (GetMessage): Implemented generation of
++        double click mouse messages
++
++2004-11-12  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      *  Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
++      not by menu
++
++2004-11-11  Peter Bartok  <pbartok@novell.com>
++
++      * HandleData.cs: Added Visible property
++      * XplatUIX11.cs (IsVisible): Now uses Visible property from
++        HandleData
++      * XplatUIX11.cs: Removed old debug leftovers
++      * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
++      * Control.cs (WndProc): Removed old debug leftovers,
++        streamlined handling of WM_WINDOWPOSCHANGED, removed un-
++        needed WM_SIZE handling
++
++2004-11-11  Jackson Harper  <jackson@ximian.com>
++
++      * OwnerDrawPropertyBag.cs:
++      * TreeViewImageIndexConverter.cs: Initial implementation
++
++2004-11-10  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs:
++      * TabControl.cs: instead of moving tabs by the slider pos just
++      start drawing at the tab that is offset by the slider. This way
++      scrolling always moves by exactly one tab.
++
++2004-11-10  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: You can only scroll left when the slider has
++      already ben moved right.
++      
++2004-11-10  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
++      the clip area.
++      
++2004-11-10  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
++      clip area.
++      
++2004-11-09  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs (CalcXPos): New helper method so we can determine
++      the proper place to start drawing vertical tabs.
++      * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
++      
++2004-11-09  Jackson Harper  <jackson@ximian.com>
++
++      * TabControl.cs: Calculate sizing and rects for left aligned tabs.
++      * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
++      and Bottom, left and right are illegal values for this and
++      multiline is enabled when the alignment is set to left or right.
++      (DrawTab): Each alignment block should draw the text itself now
++      because Left requires special love. Also add rendering for Left
++      aligned tabs.
++      
++2004-11-09  Jordi Mas i Hernandez <jordi@ximian.com>
++
++      *  Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
++      does not destroy the windows, removes debugging messages
++
++2004-11-09  jba  <jba-mono@optusnet.com.au>
++
++      * ThemeWin32Classic.cs
++      (DrawButtonBase): Fix verticle text rect clipping in windows
++      (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
++      rendering and incorrect text rect clipping
++      (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
++      rendering and incorrect text rect clipping
++      
++2004-11-08  Jackson Harper  <jackson@ximian.com>
++
++      * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
++      bottom when they are bottom aligned so the bottoms of the tabs get
++      displayed.
++      * TabControl.cs (DropRow): Move rows up instead of down when the
++      tab control is bottom aligned.
++
++2004-11-08 13:59  pbartok
++
++      * XplatUIX11.cs:
++        - Added handling for various window styles
++        - Added handling for popup windows
++        - Added SetTopmost handling
++
++2004-11-08 13:55  pbartok
++
++      * XplatUIWin32.cs:
++        - Added argument to SetTopmost method
++        - Fixed broken ClientToScreen function
++
++2004-11-08 13:53  pbartok
++
++      * XplatUIStructs.cs:
++        - Added missing WS_EX styles
++
++2004-11-08 13:53  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs:
++        - Added argument to SetTopmost
++
++2004-11-08 13:52  pbartok
++
++      * X11Structs.cs:
++        - Added XSetWindowAttributes structure
++        - Improved XWindowAttributes structure
++        - Added SetWindowValuemask enum
++        - Added window creation arguments enum
++        - Added gravity enum
++        - Added Motif hints structure
++        - Added various Motif flags and enums
++        - Added PropertyMode enum for property functions
++
++2004-11-08 13:50  pbartok
++
++      * Form.cs:
++        - Fixed arguments for updated SetTopmost method
++
++2004-11-08 13:49  pbartok
++
++      * ToolTip.cs:
++        - Fixed arguments for updated SetTopmost function
++        - Fixed usage of PointToClient
++
++2004-11-08 13:44  pbartok
++
++      * MenuAPI.cs:
++        - Added Clipping of children and siblings
++
++2004-11-08 13:41  pbartok
++
++      * MainMenu.cs:
++        - Removed SetMenuBarWindow call. We do this in Form.cs
++
++2004-11-08 13:40  jackson
++
++      * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
++        scrolling jimmi in the correct location with bottom aligned tabs
++
++2004-11-08 13:36  pbartok
++
++      * ContainerControl.cs:
++        - Implemented BindingContext
++        - Implemented ParentForm
++
++2004-11-08 12:46  jackson
++
++      * TabControl.cs: Put bottom rendered tabs in the right location
++
++2004-11-08 07:15  jordi
++
++      * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
++        removes dead code
++
++2004-11-05 17:30  jackson
++
++      * TabControl.cs: When selected tabs are expanded make sure they
++        don't go beyond the edges of the tab control
++
++2004-11-05 14:57  jackson
++
++      * TabControl.cs: Reset show_slider so if the control is resized to
++        a size where it is no longer needed it's not displayed anymore
++
++2004-11-05 13:16  jackson
++
++      * TabControl.cs: Make tab pages non visible when added to the
++        control
++
++2004-11-05 12:42  jackson
++
++      * TabControl.cs: Implement SizeMode.FillToRight
++
++2004-11-05 12:16  jackson
++
++      * Control.cs: Do not call CreateHandle if the handle is already
++        created
++
++2004-11-05 11:46  jackson
++
++      * TabControl.cs: Remove superflous call to CalcTabRows
++
++2004-11-05 09:07  jackson
++
++      * XplatUIX11.cs: Update for Mono.Posix changes
++
++2004-11-05 07:00  ravindra
++
++      * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
++        scrolling.
++
++2004-11-04 22:47  jba
++
++      * ThemeWin32Classic.cs:
++        - Fix Button rendering for FlatStyle = Flat or Popup
++        - Fix RadioButton and CheckBox rendering when Appearance = Button
++          (normal and flatstyle).
++        - Correct outer rectangle color when drawing focus rectangle
++        - Adjust button bounds to be 1 px smaller when focused
++        - Make button not draw sunken 3d border when pushed (windows compat)
++        - Fix CPDrawBorder3D to not make bottom right hand corner rounded
++        - Offset the text in RadioButton and Checkbox when being rendered as
++        a button.
++        - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
++        radiobuttons
++        - Fixed disabled rendering for colored flatstyle radiobuttons (both)
++        - Fixed disabled text rendering for normally rendered radiobuttons
++
++2004-11-04 10:26  jackson
++
++      * TabControl.cs: Recalculate tab rows when resizing
++
++2004-11-04 07:47  jordi
++
++      * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
++        collection completion, drawing issues, missing features
++
++2004-11-04 05:03  ravindra
++
++      * ScrollBar.cs:
++              - We need to recalculate the Thumb area when
++              LargeChange/maximum/minimum values are changed.
++        - We set the 'pos' in UpdatePos() method to minimum, if it's less
++              than minimum. This is required to handle the case if large_change is
++              more than max, and use LargeChange property instead of large_change
++              variable.
++        - We return max+1 when large_change is more than max, like MS does.
++
++2004-11-04 04:29  ravindra
++
++      * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
++              - Changed default value signatures (prefixed all with ListView).
++              - Fixed/implemented layout LargeIcon, SmallIcon and List views for
++              ListView.
++        - Fixed calculations for ListViewItem and implemented Clone()
++        method.
++
++2004-11-04 04:26  ravindra
++
++      * Theme.cs, ThemeWin32Classic.cs:
++              - Changed default ListView values signatures (prefixed all with
++              ListView).
++        - Fixed default size values for VScrollBar and HScrollBar.
++              - Fixed DrawListViewItem method.
++
++2004-11-04 04:05  ravindra
++
++      * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
++
++2004-11-04 04:04  ravindra
++
++      * ImageList.cs: Implemented the missing overload for Draw method.
++
++2004-11-03 19:29  jackson
++
++      * TabControl.cs: Handle dropping rows on selection properly
++
++2004-11-03 11:59  jackson
++
++      * TabControl.cs: remove debug code
++
++2004-11-03 11:52  jackson
++
++      * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
++        the scrolly widgerywoo
++
++2004-11-02 13:52  jackson
++
++      * TabControl.cs: Resize the tab pages and tabs when the tab control
++        is resized
++
++2004-11-02 13:40  jackson
++
++      * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
++        selected tab to the bottom
++
++2004-11-02 13:39  jackson
++
++      * TabPage.cs: Store the tab pages row
++
++2004-11-02 12:33  jordi
++
++      * MenuItem.cs: fixes handle creation
++
++2004-11-02 11:42  jackson
++
++      * TabControl.cs: signature fix
++
++2004-11-02 08:56  jackson
++
++      * TabControl.cs: Calculate whether the tab is on an edge properly.
++        Remove top secret debugging code
++
++2004-11-01 19:57  jackson
++
++      * TabControl.cs: Add click handling, and proper sizing
++
++2004-11-01 19:47  jackson
++
++      * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
++        tab controls
++
++2004-11-01 19:39  jackson
++
++      * TabPage.cs: add internal property to store the bounds of a tab
++        page
++
++2004-10-30 04:23  ravindra
++
++      * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
++        values.
++
++2004-10-30 04:21  ravindra
++
++      * ListView.cs, ListViewItem.cs: Added support for scrolling and
++        fixed calculations.
++
++2004-10-30 03:06  pbartok
++
++      * XplatUIX11.cs:
++        - Removed extension of DllImported libs
++
++2004-10-29 09:55  jordi
++
++      * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
++        navigation, itemcollection completion, menu fixes
++
++2004-10-27 22:58  pbartok
++
++      * XplatUIX11.cs:
++        - Now throws a nice error message when no X display could be opened
++
++2004-10-26 13:51  jordi
++
++      * ListView.cs: removes warning
++
++2004-10-26 03:55  ravindra
++
++      * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
++        ThemeWin32Classic.cs: Some formatting for my last checkins.
++
++2004-10-26 03:36  ravindra
++
++      * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
++        control and default values.
++
++2004-10-26 03:35  ravindra
++
++      * Theme.cs: Added some default values for ListView control.
++
++2004-10-26 03:33  ravindra
++
++      * ToolBar.cs: ToolBar should use the user specified button size, if
++        there is any. Added a size_specified flag for the same.
++
++2004-10-26 03:33  ravindra
++
++      * ColumnHeader.cs: Added some internal members and calculations for
++        ColumnHeader.
++
++2004-10-26 03:32  ravindra
++
++      * ListViewItem.cs: Calculations for ListViewItem.
++
++2004-10-26 03:31  ravindra
++
++      * ListView.cs: Added some internal members and calculations for
++        ListView.
++
++2004-10-22 13:31  jordi
++
++      * MenuAPI.cs: speedup menus drawing
++
++2004-10-22 13:16  jackson
++
++      * XplatUIX11.cs: Make sure to update exposed regions when adding an
++        expose event
++
++2004-10-22 11:49  jackson
++
++      * Control.cs: oops
++
++2004-10-22 11:41  jackson
++
++      * Control.cs: Check to see if the window should have its background
++        repainted by X when drawing.
++
++2004-10-22 11:31  jackson
++
++      * XplatUIX11.cs: When invalidating areas only use XClearArea if
++        clear is true, this way we do not get flicker from X repainting the
++        background
++
++2004-10-22 11:28  jackson
++
++      * XEventQueue.cs: Queue properly
++
++2004-10-21 09:38  jackson
++
++      * XEventQueue.cs: Fix access modifier
++
++2004-10-21 09:36  jackson
++
++      * XEventQueue.cs: Don't loose messages
++
++2004-10-21 09:22  jackson
++
++      * XEventQueue.cs: Don't loose messages
++
++2004-10-20 04:15  jordi
++
++      * BootMode.cs: enum need it by SystemInfo
++
++2004-10-19 21:58  pbartok
++
++      * XplatUIWin32.cs:
++        - Small sanity check
++
++2004-10-19 21:56  pbartok
++
++      * Form.cs:
++        - Added private FormParentWindow class which acts as the container
++          for our form and as the non-client area where menus are drawn
++        - Added/Moved required tie-ins to Jordi's menus
++        - Fixed/Implemented the FormStartPosition functionality
++
++2004-10-19 21:52  pbartok
++
++      * Control.cs:
++        - Removed unneeded locals
++        - Added code to all size and location properties to understand and
++          deal with the parent container of Form
++
++2004-10-19 21:33  pbartok
++
++      * Application.cs:
++        - Fixed to deal with new Form subclasses for menus
++
++2004-10-19 17:48  jackson
++
++      * XEventQueue.cs: commit correct version of file
++
++2004-10-19 16:50  jackson
++
++      * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
++
++2004-10-19 16:15  jordi
++
++      * MenuAPI.cs: MenuBarCalcSize returns the height
++
++2004-10-19 08:31  pbartok
++
++      * Control.cs:
++        - Added missing call to PreProcessMessage before calling OnXXXKey
++        methods
++
++2004-10-19 00:04  ravindra
++
++      * ToolTip.cs: Fixed constructor.
++
++2004-10-18 09:31  jordi
++
++      * MenuAPI.cs: menuitems in menubars do not have shortcuts
++
++2004-10-18 09:26  jordi
++
++      * MenuItem.cs: fixes MenuItem class signature
++
++2004-10-18 08:56  jordi
++
++      * MenuAPI.cs: prevents windows from showing in the taskbar
++
++2004-10-18 00:28  ravindra
++
++      * ToolTip.cs: Suppressed a warning message.
++
++2004-10-18 00:27  ravindra
++
++      * Control.cs: Default value of visible property must be true.
++
++2004-10-17 23:19  pbartok
++
++      * ToolTip.cs:
++        - Complete implementation
++
++2004-10-17 23:19  pbartok
++
++      * XplatUIX11.cs:
++        - Added EnableWindow method
++        - Added SetModal stub
++        - Added generation of WM_ACTIVATE message (still needs testing)
++        - Added SetTopMost stub
++        - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
++
++2004-10-17 23:17  pbartok
++
++      * XplatUIWin32.cs:
++        - Removed VirtualKeys to XplatUIStructs
++        - Implemented SetTopMost method
++        - Implemented EnableWindow method
++        - Bugfix in ScreenToClient()
++        - Bugfixes in ClientToScreen()
++
++2004-10-17 22:51  pbartok
++
++      * XplatUIStructs.cs:
++        - Added WS_EX styles to WindowStyles enumeration
++
++2004-10-17 22:50  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs:
++        - Added method for enabling/disabling windows
++        - Added method for setting window modality
++        - Added method for setting topmost window
++
++2004-10-17 22:49  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Added ToolTip drawing code
++
++2004-10-17 22:49  pbartok
++
++      * Theme.cs:
++        - Added ToolTip abstracts
++
++2004-10-17 22:47  pbartok
++
++      * Form.cs:
++        - Fixed Form.ControlCollection to handle owner relations
++        - Added Owner/OwnedForms handling
++        - Implemented Z-Ordering for owned forms
++        - Removed unneeded private overload of ShowDialog
++        - Fixed ShowDialog, added the X11 incarnation of modal handling (or
++          so I hope)
++        - Fixed Close(), had wrong default
++        - Added firing of OnLoad event
++        - Added some commented out debug code for Ownership handling
++
++2004-10-17 22:16  pbartok
++
++      * Control.cs:
++        - Fixed/implemented flat list of controls
++
++2004-10-17 22:14  pbartok
++
++      * Application.cs:
++        - Added code to simulate modal dialogs on Win32
++
++2004-10-17 16:11  jordi
++
++      * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
++        mouse event
++
++2004-10-17 13:39  jordi
++
++      * MenuAPI.cs: menu drawing fixes
++
++2004-10-15 09:10  ravindra
++
++      * StructFormat.cs: General Enum.
++
++2004-10-15 09:09  ravindra
++
++      * SizeGripStyle.cs: Enum for Form.
++
++2004-10-15 09:08  ravindra
++
++      * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
++        in Theme for ListView.
++
++2004-10-15 09:06  ravindra
++
++      * ColumnHeader.cs: Flushing some formatting changes.
++
++2004-10-15 09:05  ravindra
++
++      * ListViewItem.cs: Implemented GetBounds method and fixed coding
++        style.
++
++2004-10-15 09:03  ravindra
++
++      * ListView.cs: Implemented Paint method and fixed coding style.
++
++2004-10-15 07:34  jordi
++
++      * MenuAPI.cs: fix for X11
++
++2004-10-15 07:32  ravindra
++
++      * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
++              - Renamed Paint() method to Draw() for clarity. Also, moved
++              DrawImage() to OnPaint().
++
++2004-10-15 07:25  ravindra
++
++      * CheckBox.cs, RadioButton.cs:
++              - Removed Redraw (), we get it from ButtonBase.
++              - Implemented Paint (), to do class specific painting.
++
++2004-10-15 07:16  ravindra
++
++      * ButtonBase.cs:
++              - Redraw () is not virtual now.
++              - Added an internal virtual method Paint (), so that
++              derived classes can do their painting on their own.
++              - Modified OnPaint () to call Paint ().
++
++2004-10-15 06:43  jordi
++
++      * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
++        MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
++
++2004-10-15 00:30  ravindra
++
++      * MessageBox.cs:
++              - MessageBox on windows does not have min/max buttons.
++              This change in CreateParams fixes this on Windows. We
++              still need to implement this windowstyle behavior in
++              our X11 driver.
++
++2004-10-14 05:14  ravindra
++
++      * ToolBar.cs:
++              - Changed Redraw () to do a Refresh () always.
++              - Fixed the MouseMove event handling when mouse is pressed,
++              ie drag event handling.
++              - Replaced the usage of ToolBarButton.Pressed property to
++              ToolBarButton.pressed internal variable.
++
++2004-10-14 05:10  ravindra
++
++      * ToolBarButton.cs:
++              - Added an internal member 'inside' to handle mouse move
++              with mouse pressed ie mouse drag event.
++              - Changed 'Pressed' property to return true only when
++              'inside' and 'pressed' are both true.
++              - Some coding style love.
++
++2004-10-14 00:17  ravindra
++
++      * Form.cs: Fixed class signature. ShowDialog (Control) is not a
++        public method.
++
++2004-10-14 00:15  ravindra
++
++      * ButtonBase.cs: Redraw () related improvements.
++
++2004-10-14 00:14  ravindra
++
++      * MessageBox.cs: Moved InitFormSize () out of Paint method and
++        removed unnecessary calls to Button.Show () method.
++
++2004-10-13 17:50  pbartok
++
++      * XplatUIX11.cs:
++        - Formatting fix
++        - Removed destroying of window until we solve the problem of X
++          destroying the window before us on shutdown
++
++2004-10-13 16:32  pbartok
++
++      * ButtonBase.cs:
++        - Now Redraws on MouseUp for FlatStyle Flat and Popup
++
++2004-10-13 14:18  pbartok
++
++      * XplatUIX11.cs:
++        - Added code to destroy the X window
++
++2004-10-13 14:18  pbartok
++
++      * XplatUIWin32.cs:
++        - Added code to destroy a window
++
++2004-10-13 14:12  pbartok
++
++      * ButtonBase.cs:
++        - Added the Redraw on Resize that got dropped in the last rev
++
++2004-10-13 09:06  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Path from John BouAntoun:
++          * Fix check rendering (centre correctly for normal style, offset
++            correctly for FlatStyle).
++          * Fix border color usage (use backcolor) for FlatStyle.Popup
++          * Use checkbox.Capture instead of checkbox.is_pressed when
++            rendering flatstyle states.
++
++2004-10-12 21:48  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Removed all occurences of SystemColors and replaced them with the
++          matching theme color
++
++2004-10-12 21:41  pbartok
++
++      * ThemeWin32Classic.cs:
++        - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
++          him using the function for flatstyle drawing
++        - Changed functions to use the new version of CPDrawBorder3D
++
++2004-10-12 21:15  pbartok
++
++      * ControlPaint.cs:
++        - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
++          match MS documentation. They need to return defined colors if the
++          passed color matches the configured control color. Thanks to John
++          BouAntoun for pointing this out.
++
++2004-10-12 20:57  pbartok
++
++      * Control.cs:
++        - Fix from John BouAntoun: Raise ForeColorChanged event when text
++          color is changed
++
++2004-10-12 20:46  pbartok
++
++      * CheckBox.cs:
++        - Fix from John BouAntoun: Now properly sets the Appearance property
++
++2004-10-12 20:45  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Fixes from John BouAntoun: now handles forecolors and backcolors
++          for flatstyle rendered controls much better; It also fixes normal
++          checkbox rendering when pushed or disabled.
++
++2004-10-08 02:50  jordi
++
++      * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
++        work
++
++2004-10-07 08:56  jordi
++
++      * ThemeWin32Classic.cs: Removes deletion of cached brushes
++
++2004-10-06 03:59  jordi
++
++      * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
++        XplatUIWin32.cs: removes warnings from compilation
++
++2004-10-05 12:23  jackson
++
++      * RadioButton.cs: Fix ctor
++
++2004-10-05 11:10  pbartok
++
++      * MessageBox.cs:
++        - Partial implementation by Benjamin Dasnois
++
++2004-10-05 10:15  jackson
++
++      * ThemeWin32Classic.cs: Improve rendering of the radio button patch
++        by John BouAntoun
++
++2004-10-05 03:07  ravindra
++
++      * ToolBar.cs:
++              - Removed a private method, Draw ().
++              - Fixed the ButtonDropDown event handling.
++              - Fixed MouseMove event handling.
++
++2004-10-05 03:04  ravindra
++
++      * ThemeWin32Classic.cs:
++              - Added DrawListView method and ListViewDefaultSize property.
++              - Changed ControlPaint method calls to CPDrawXXX wherever possible.
++              - Changed DOS style CRLF to Unix format (dos2unix).
++
++2004-10-05 03:03  ravindra
++
++      * Theme.cs:
++              - Added DrawListView method and ListViewDefaultSize property.
++
++2004-10-05 02:42  ravindra
++
++      * ToolBarButton.cs: Added an internal member dd_pressed to handle
++        clicks on DropDown arrow.
++
++2004-10-04 22:56  jackson
++
++      * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
++        ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
++        Control handle the buffers, derived classes should not have to
++        CreateBuffers themselves.
++
++2004-10-04 21:20  jackson
++
++      * StatusBar.cs: The control handles resizing the buffers now.
++
++2004-10-04 21:18  jackson
++
++      * Control.cs: When resizing the buffers should be invalidated. This
++        should be handled in Control not in derived classes.
++
++2004-10-04 14:45  jackson
++
++      * TabPage.cs: oops
++
++2004-10-04 02:14  pbartok
++
++      * LeftRightAlignment.cs:
++        - Initial check-in
++
++2004-10-04 01:09  jordi
++
++      * ThemeWin32Classic.cs: fixes right button position causing right
++        button not showing on horizontal scrollbars
++
++2004-10-02 13:12  pbartok
++
++      * XplatUIX11.cs:
++        - Simplified the Invalidate method by using an X call instead of
++          generating the expose ourselves
++        - Added an expose when the window background is changed
++        - Implemented ClientToScreen method
++
++2004-10-02 13:08  pbartok
++
++      * XplatUIWin32.cs:
++        - Added Win32EnableWindow method (test for implementing modal
++        dialogs)
++        - Added ClientToScreen method and imports
++
++2004-10-02 13:07  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs:
++        - Added ClientToScreen coordinate translation method
++
++2004-10-02 13:06  pbartok
++
++      * KeyPressEventArgs.cs:
++        - Fixed access level for constructor
++
++2004-10-02 13:06  pbartok
++
++      * NativeWindow.cs:
++        - Changed access level for the window_collection hash table
++
++2004-10-02 13:05  pbartok
++
++      * Form.cs:
++        - Added KeyPreview property
++        - Added Menu property (still incomplete, pending Jordi's menu work)
++        - Implemented ProcessCmdKey
++        - Implemented ProcessDialogKey
++        - Implemented ProcessKeyPreview
++
++2004-10-02 13:02  pbartok
++
++      * Control.cs:
++        - Added private method to get the Control object from the window
++        handle
++        - Implemented ContextMenu property
++        - Implemented PointToScreen
++        - Implemented PreProcessMessage
++        - Implemented IsInputChar
++        - Implemented IsInputKey
++        - Implemented ProcessCmdKey
++        - Completed ProcessKeyEventArgs
++        - Fixed message loop to call the proper chain of functions on key
++        events
++        - Implemented ProcessDialogChar
++        - Implemented ProcessDialogKey
++        - Implemented ProcessKeyMessage
++        - Implemented ProcessKeyPreview
++        - Added RaiseDragEvent stub (MS internal method)
++        - Added RaiseKeyEvent stub (MS internal method)
++        - Added RaiseMouseEvent stub (MS Internal method)
++        - Added RaisePaintEvent stub (MS Internal method)
++        - Added ResetMouseEventArgs stub (MS Internal method)
++        - Implemented RtlTranslateAlignment
++        - Implemented RtlTranslateContent
++        - Implemented RtlTranslateHorizontal
++        - Implemented RtlTranslateLeftRight
++        - Added generation of KeyPress event
++
++2004-10-02 05:57  ravindra
++
++      * ListViewItem.cs: Added attributes.
++
++2004-10-02 05:32  ravindra
++
++      * ListView.cs: Added attributes.
++
++2004-10-01 11:53  jackson
++
++      * Form.cs: Implement the Close method so work on MessageBox can
++        continue.
++
++2004-09-30 14:06  pbartok
++
++      * XplatUIX11.cs:
++        - Bug fixes
++
++2004-09-30 11:34  jackson
++
++      * RadioButton.cs: Fix typo. Patch by John BouAntoun.
++
++2004-09-30 07:26  ravindra
++
++      * ListViewItemConverter.cs: Converter for ListViewItem.
++
++2004-09-30 07:26  ravindra
++
++      * SortOrder.cs: Enum for ListView control.
++
++2004-09-30 07:25  ravindra
++
++      * ColumnHeader.cs: Supporting class for ListView control.
++
++2004-09-30 07:24  ravindra
++
++      * ListView.cs, ListViewItem.cs: Initial implementation.
++
++2004-09-30 07:20  ravindra
++
++      * ItemActivation.cs: Enum for ListView Control.
++
++2004-09-29 20:29  pbartok
++
++      * XplatUIX11.cs:
++        - Added lookup of pixel value for background color; tries to get a
++          color 'close' to the requested color, it avoids having to create a
++          colormap.  Depending on the display this could mean the used color
++          is slightly off the desired color. Might have to change it to a more
++          resource intensive colormap approach, but it will work as a
++        workaround to avoid red screens.
++
++2004-09-29 14:27  jackson
++
++      * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
++
++2004-09-28 12:44  pbartok
++
++      * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
++        HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
++        ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
++        Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
++        TrackBar.cs, VScrollBar.cs:
++        - Streamlined Theme interfaces:
++          * Each DrawXXX method for a control now is passed the object for
++            the control to be drawn in order to allow accessing any state the
++            theme might require
++
++          * ControlPaint methods for the theme now have a CP prefix to avoid
++            name clashes with the Draw methods for controls
++
++          * Every control now retrieves it's DefaultSize from the current
++          theme
++
++2004-09-28 12:17  jackson
++
++      * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
++        drawing
++
++2004-09-24 14:57  jackson
++
++      * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
++        Gives us a nice little performance boost.
++
++2004-09-24 12:02  jackson
++
++      * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
++        TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
++        Control and supporting classes. Initial checkin
++
++2004-09-23 13:08  jackson
++
++      * Form.cs: Temp build fixage
++
++2004-09-23 01:39  ravindra
++
++      * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
++        ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
++        ItemDragEventArgs.cs, ItemDragEventHandler.cs,
++        LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
++        EventHandlers needed by ListView Control.
++
++2004-09-22 14:12  pbartok
++
++      * ScrollableControl.cs:
++        - Implemented DockPadding property
++        - Implemented AutoScroll property
++        - Implemented AutoScrollMargin property
++        - Implemented AutoScrollMinSize property
++        - Implemented AutoScrollPosition property
++        - Implemented DisplayRectangle property (still incomplete)
++        - Implemented CreateParams property
++        - Implemented HScroll property
++        - Implemented VScroll property
++        - Implemented OnVisibleChanged property
++
++2004-09-22 14:09  pbartok
++
++      * Form.cs:
++        - Added Form.ControllCollection class
++        - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
++          RemoveOwnedForm (still incomplete, missing on-top and common
++          minimize/maximize behaviour)
++        - Added StartPosition property (still incomplete, does not use when
++          creating the form)
++        - Added ShowDialog() methods (still incomplete, missing forcing the
++          dialog modal)
++
++2004-09-22 14:05  pbartok
++
++      * Application.cs:
++        - Added message loop for modal dialogs
++
++2004-09-22 14:02  pbartok
++
++      * GroupBox.cs:
++        - Fixed wrong types for events
++
++2004-09-22 14:00  pbartok
++
++      * Shortcut.cs, FormWindowState.cs:
++        - Fixed wrong values
++
++2004-09-22 12:01  jackson
++
++      * Control.cs: Text is never null
++
++2004-09-20 22:14  pbartok
++
++      * XplatUIWin32.cs:
++        - Fixed accessibility level for Idle handler
++
++2004-09-20 18:54  jackson
++
++      * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs: New message loop that uses poll so we don't get a
++        busy loop
++
++2004-09-17 10:43  pbartok
++
++      * ScrollBar.cs:
++        - Fixed behaviour of arrow buttons. Now properly behaves like
++          Buttons (and like Microsoft's scrollbar arrow buttons)
++
++2004-09-17 10:14  pbartok
++
++      * ScrollBar.cs:
++        - Added missing release of keyboard/mouse capture
++
++2004-09-17 06:18  jordi
++
++      * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
++        Theme.cs: Very early menu support
++
++2004-09-16 17:45  pbartok
++
++      * XplatUIWin32.cs:
++        - Fixed sending a window to the front
++        - Added overload for SetWindowPos to avoid casting
++
++2004-09-16 17:44  pbartok
++
++      * Control.cs:
++        - Added SendToBack and BringToFront methods
++
++2004-09-16 07:00  ravindra
++
++      * Copyright: Added Novell URL.
++
++2004-09-16 07:00  ravindra
++
++      * ToolBar.cs: Invalidate should be done before redrawing.
++
++2004-09-15 21:19  ravindra
++
++      * ColumnHeaderStyle.cs: Enum for ListView Control.
++
++2004-09-15 21:18  ravindra
++
++      * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
++        ListView Control.
++
++2004-09-13 18:26  jackson
++
++      * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
++        properly
++
++2004-09-13 18:13  jackson
++
++      * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
++        a second thread and post messages into the main threads message
++        queue. This makes timing much more consistent. Both win2K and XP
++        have a minimum timer value of 15 milliseconds, so we now do this
++        too.
++
++2004-09-13 15:18  pbartok
++
++      * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs:
++        - Added Z-Ordering methods
++
++2004-09-13 10:56  pbartok
++
++      * Form.cs:
++        - Fixed #region names
++        - Moved properties and methods into their proper #regions
++
++2004-09-13 10:51  pbartok
++
++      * Form.cs:
++        - Added Accept and CancelButton properties
++        - Added ProcessDialogKey() method
++
++2004-09-13 08:18  pbartok
++
++      * IWindowTarget.cs:
++        - Initial check-in
++
++2004-09-10 21:50  pbartok
++
++      * Control.cs:
++        - Added DoDragDrop() [incomplete]
++        - Properly implemented 'Visible' handling
++        - Added SetVisibleCore()
++        - Implemented FindChildAtPoint()
++        - Implemented GetContainerControl()
++        - Implemented Hide()
++
++2004-09-10 19:28  pbartok
++
++      * Control.cs:
++        - Moved methods into their appropriate #regions
++        - Reordered methods within regions alphabetically
++
++2004-09-10 18:57  pbartok
++
++      * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
++        - Added method to retrieve text from window
++
++2004-09-10 18:56  pbartok
++
++      * Control.cs:
++        - Moved some internal functions into the internal region
++        - Implemented FontHeight
++        - Implemented RenderRightToLeft
++        - Implemented ResizeRedraw
++        - Implemented ShowFocusCues
++        - Implemented ShowKeyboardCues
++        - Implemented FromChildHandle
++        - Implemented FromHandle
++        - Implemented IsMnemonic
++        - Implemented ReflectMessage
++        - All public and protected Static Methods are now complete
++
++2004-09-10 16:54  pbartok
++
++      * Control.cs:
++        - Implemented remaining missing public instance properties
++        - Alphabetized some out of order properties
++
++2004-09-10 05:51  ravindra
++
++      * PictureBox.cs: Added a check for null image.
++
++2004-09-10 00:59  jordi
++
++      * GroupBox.cs: remove cvs tag
++
++2004-09-09 05:25  ravindra
++
++      * ToolBar.cs: Make redraw accessible from ToolBarButton.
++
++2004-09-09 05:23  ravindra
++
++      * ToolBarButton.cs: Changes in ToolBarButton need to make it's
++        parent redraw.
++
++2004-09-09 02:28  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Improve disabled string look
++
++2004-09-09 01:15  jordi
++
++      * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
++        args and handler
++
++2004-09-08 23:56  ravindra
++
++      * ItemBoundsPortion.cs: It's enum, not a class!
++
++2004-09-08 23:47  ravindra
++
++      * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
++        Enums for Form.
++
++2004-09-08 21:13  ravindra
++
++      * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
++        ListView control.
++
++2004-09-08 21:03  ravindra
++
++      * ThemeWin32Classic.cs: PictureBox would not draw a null image to
++        avoid crash.
++
++2004-09-08 21:01  ravindra
++
++      * ScrollableControl.cs: Removed unreachable code.
++
++2004-09-08 06:45  jordi
++
++      * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
++
++2004-09-08 01:00  jackson
++
++      * XplatUIX11.cs: Only run the timers when updating the message
++        queue. This effectively gives X messages a higher priority then
++        timer messages. Timers still need love though
++
++2004-09-07 14:01  jackson
++
++      * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
++        this for us and the handle is no longer valid.
++
++2004-09-07 13:59  jackson
++
++      * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
++        loop that manages to not crash. TODO: Add poll and cleanup timers
++
++2004-09-07 11:12  jordi
++
++      * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
++
++2004-09-07 03:40  jordi
++
++      * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
++        fixes, methods, multiple links
++
++2004-09-06 06:55  jordi
++
++      * Control.cs: Caches ClientRectangle rectangle value
++
++2004-09-05 02:03  jordi
++
++      * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
++        certain situations
++
++2004-09-04 11:10  jordi
++
++      * Label.cs: Refresh when font changed
++
++2004-09-02 16:24  pbartok
++
++      * Control.cs:
++        - Added sanity check to creation of double buffer bitmap
++
++2004-09-02 16:24  pbartok
++
++      * ButtonBase.cs:
++        - Fixed selection of text color
++        - Fixed handling of resize event; now properly recreates double
++          buffering bitmap
++        - Added missing assignment of TextAlignment
++        - Added proper default for TextAlignment
++
++2004-09-02 14:26  pbartok
++
++      * RadioButton.cs:
++        - Added missing RadioButton.RadioButtonAccessibleObject class
++
++2004-09-02 14:26  pbartok
++
++      * Control.cs:
++        - Added missing Control.ControlAccessibleObject class
++        - Started to implement Select()ion mechanisms, still very incomplete
++
++2004-09-02 14:25  pbartok
++
++      * AccessibleObject.cs:
++        - Added missing methods
++
++2004-09-02 14:23  pbartok
++
++      * AccessibleNavigation.cs, AccessibleSelection.cs:
++        - Initial check-in
++
++2004-09-02 10:32  jordi
++
++      * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
++        pool for pens, brushes, and hatchbruses
++
++2004-09-01 15:30  jackson
++
++      * StatusBar.cs: Fix typo
++
++2004-09-01 14:44  pbartok
++
++      * RadioButton.cs:
++        - Fixed state
++
++2004-09-01 14:39  pbartok
++
++      * Button.cs, RadioButton.cs:
++        - Functional initial check-in
++
++2004-09-01 14:01  pbartok
++
++      * CheckBox.cs:
++        - Added missing default
++        - Added missing region mark
++
++2004-09-01 09:10  jordi
++
++      * Label.cs: fixes method signatures, new methods, events, fixes
++        autosize
++
++2004-09-01 07:19  jordi
++
++      * Control.cs: Init string variables with an empty object
++
++2004-09-01 04:20  jordi
++
++      * Control.cs: fires OnFontChanged event
++
++2004-08-31 20:07  pbartok
++
++      * ButtonBase.cs:
++        - Enabled display of strings
++
++2004-08-31 20:05  pbartok
++
++      * Form.cs:
++        - Added (partial) implementation of DialogResult; rest needs to be
++          implemented when the modal loop code is done
++
++2004-08-31 19:55  pbartok
++
++      * CheckBox.cs:
++        - Fixed to match the removal of the needs_redraw concept
++
++2004-08-31 19:55  pbartok
++
++      * ButtonBase.cs:
++        - Removed the rather odd split between 'needs redraw' and redrawing
++        - Now handles the events that require regeneration (ambient
++          properties and size)
++
++2004-08-31 19:41  pbartok
++
++      * Control.cs:
++        - Added firing of BackColorChanged event
++        - Added TopLevelControl property
++        - Fixed handling of WM_ERASEBKGRND message
++
++2004-08-31 12:49  pbartok
++
++      * ButtonBase.cs:
++        - Removed debug
++        - Minor fixes
++
++2004-08-31 12:48  pbartok
++
++      * CheckBox.cs:
++        - Finished (famous last words)
++
++2004-08-31 04:35  jordi
++
++      * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
++        scrolling bugs, adds new methods
++
++2004-08-30 14:42  pbartok
++
++      * CheckBox.cs:
++        - Implemented CheckBox drawing code
++
++2004-08-30 14:42  pbartok
++
++      * ButtonBase.cs:
++        - Made Redraw() and CheckRedraw() virtual
++        - Improved mouse up/down/move logic to properly track buttons
++
++2004-08-30 09:44  pbartok
++
++      * CheckBox.cs:
++        - Updated to fix broken build. Not complete yet.
++
++2004-08-30 09:28  pbartok
++
++      * CheckState.cs:
++        - Initial checkin
++
++2004-08-30 09:17  pbartok
++
++      * Appearance.cs:
++        - Initial check-in
++
++2004-08-27 16:12  ravindra
++
++      * ToolBarButton.cs: Added TypeConverter attribute.
++
++2004-08-27 16:07  ravindra
++
++      * ImageIndexConverter.cs: Implemented.
++
++2004-08-27 14:17  pbartok
++
++      * Control.cs:
++        - Removed unneeded stack vars
++        - First attempt to fix sizing issues when layout is suspended
++
++2004-08-25 15:35  jordi
++
++      * ScrollBar.cs: more fixes to scrollbar
++
++2004-08-25 14:04  ravindra
++
++      * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
++        Added the missing divider code and grip for ToolBar Control.
++
++2004-08-25 13:20  pbartok
++
++      * Control.cs:
++        - Control now properly passes the ambient background color to child
++          controls
++
++2004-08-25 13:20  jordi
++
++      * ScrollBar.cs: small bug fix regarding bar position
++
++2004-08-25 12:33  pbartok
++
++      * Timer.cs:
++        - Now only calls SetTimer or KillTimer if the enabled state has
++        changed
++
++2004-08-25 12:33  pbartok
++
++      * XplatUIWin32.cs:
++        - Fixed timer handling, now seems to work
++        - Improved error message for window creation
++
++2004-08-25 12:32  pbartok
++
++      * Control.cs:
++        - Fixed generation of MouseUp message
++
++2004-08-25 12:29  jordi
++
++      * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
++        and fixes for progressbar
++
++2004-08-24 18:43  ravindra
++
++      * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
++        in ToolBar control.
++
++2004-08-24 17:15  pbartok
++
++      * Panel.cs:
++        - Added #region
++        - Added missing events
++        - Alphabetized
++
++2004-08-24 17:14  pbartok
++
++      * StatusBar.cs, PictureBox.cs:
++        - Now uses Control's CreateParams
++
++2004-08-24 16:36  pbartok
++
++      * XplatUIX11.cs:
++        - Fixed background color handling
++        - Fixed sending of enter/leave events on a grab
++
++2004-08-24 16:35  pbartok
++
++      * X11Structs.cs:
++        - Refined definitions for CrossingEvent
++
++2004-08-24 12:37  jordi
++
++      * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
++        formmating, methods signature, and adds missing events
++
++2004-08-24 12:24  jordi
++
++      * Control.cs: fire OnEnabledChanged event
++
++2004-08-24 11:17  pbartok
++
++      * XplatUIWin32.cs:
++        - Implemented SetTimer() and KillTimer()
++
++2004-08-24 11:16  pbartok
++
++      * XplatUIX11.cs:
++        - Now uses Remove instead of Add to kill the timer
++
++2004-08-24 10:16  jackson
++
++      * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
++        picture boxes in the theme now. Draw picture box borders and obey
++        sizing modes
++
++2004-08-24 05:49  jackson
++
++      * Timer.cs: Remove top secret debugging code
++
++2004-08-24 05:34  jackson
++
++      * PictureBox.cs: Temp hack to make picture boxes draw their full
++        image
++
++2004-08-24 05:29  jackson
++
++      * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs: Move timers to the driver level. On X they are
++        queued by the driver and checked on idle.
++
++2004-08-24 01:07  jackson
++
++      * XplatUIX11.cs: Use a queue for async messages instead of passing
++        them as ClientMessages since that was totally broken. Also simply
++        check for events and return an idle message if none are found. This
++        gives us an idle handler, and prevents deadlocking when no messages
++        are in the queue.
++
++2004-08-23 18:19  ravindra
++
++      * XplatUIWin32.cs: Removed the unwanted destructor.
++
++2004-08-23 17:27  pbartok
++
++      * ButtonBase.cs:
++        - Finishing touches. Works now, just needs some optimizations.
++
++2004-08-23 16:53  jordi
++
++      * ScrollBar.cs: small fix
++
++2004-08-23 16:45  pbartok
++
++      * Application.cs:
++        - Removed debug output
++        - Simplifications
++
++2004-08-23 16:43  jordi
++
++      * ScrollBar.cs: [no log message]
++
++2004-08-23 16:10  pbartok
++
++      * Form.cs:
++        - Fixed handling of WM_CLOSE message
++        - Removed debug output
++
++2004-08-23 16:09  pbartok
++
++      * Application.cs:
++        - Added handling of Idle event
++        - Added handling of form closing
++        - Fixed reporting of MessageLoop property
++        - Removed some unneeded code, should provide a bit of a speedup
++
++2004-08-23 15:22  pbartok
++
++      * Control.cs:
++        - Added InitLayout() method
++        - Added code to properly perform layout when Anchor or Dock property
++          is changed
++        - Changed 'interpretation' of ResumeLayout. MS seems to have a
++          LAMESPEC, tried to do it in a way that makes sense
++
++2004-08-23 14:10  jordi
++
++      * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
++        properties and methods
++
++2004-08-23 13:55  pbartok
++
++      * Control.cs:
++        - Properly fixed Jordi's last fix
++        - Now uses Cursor's Position property instead of calling XplatUI
++        directly
++
++2004-08-23 13:44  jordi
++
++      * PaintEventHandler.cs: Adding missing attribute
++
++2004-08-23 13:39  pbartok
++
++      * Cursor.cs:
++        - Implemented Position property
++
++2004-08-23 13:39  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
++        - Added method to move mouse cursor
++
++2004-08-23 13:39  pbartok
++
++      * XplatUIX11.cs:
++        - Fixed setting of background color
++        - Added method to move mouse cursor
++
++2004-08-23 13:16  jordi
++
++      * Control.cs: avoids null exception
++
++2004-08-22 17:46  jackson
++
++      * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
++        PictureBox
++
++2004-08-22 17:40  jackson
++
++      * XplatUIX11.cs: Add some missing locks
++
++2004-08-22 15:10  pbartok
++
++      * Control.cs, Form.cs:
++        - Removed OverlappedWindow style from Control, instead it's default
++          now is child
++        - Made form windows OverlappedWindow by default
++
++2004-08-22 13:34  jackson
++
++      * ScrollBar.cs: Update the position through the Value property so
++        the OnValueChanged event is raised.
++
++2004-08-22 12:04  pbartok
++
++      * SWF.csproj:
++        - Added Cursor.cs and UserControl.cs
++
++2004-08-22 12:03  pbartok
++
++      * Cursor.cs:
++        - Started implementation, not usable yet
++
++2004-08-22 12:00  pbartok
++
++      * UserControl.cs:
++        - Implemented UserControl (complete)
++
++2004-08-21 19:20  ravindra
++
++      * ToolBar.cs: Correcting the formatting mess of VS.NET.
++
++2004-08-21 18:49  ravindra
++
++      * ToolBar.cs: Probably this completes the missing attributes in
++        toolbar control.
++
++2004-08-21 18:03  ravindra
++
++      * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
++        Fixed toolbar control signatures.
++
++2004-08-21 16:32  pbartok
++
++      * LinkLabel.cs:
++        - Signature Fixes
++
++2004-08-21 16:30  pbartok
++
++      * Label.cs:
++        - Signature fixes
++
++2004-08-21 16:19  pbartok
++
++      * Control.cs, Label.cs:
++        - Signature fixes
++
++2004-08-21 15:57  pbartok
++
++      * ButtonBase.cs:
++        - Added loads of debug output for development
++        - Fixed typo in method name
++
++2004-08-21 15:52  pbartok
++
++      * ToolBarButtonClickEventArgs.cs:
++        - Added missing base class
++
++2004-08-21 14:53  pbartok
++
++      * Control.cs:
++        - Updated to match new GrabWindow signature
++
++2004-08-21 14:51  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Added method to get default display size
++
++2004-08-21 14:23  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Added method to query current grab state
++        - Added argument to allow confining a grab to a window
++
++2004-08-21 14:22  pbartok
++
++      * Keys.cs:
++        - Added [Flags] attribute so that modifiers can be used in bitwise
++        ops
++
++2004-08-21 14:21  pbartok
++
++      * TrackBar.cs, ScrollBar.cs:
++        - Replaced direct XplatUI calls with their Control counterpart
++
++2004-08-21 13:32  pbartok
++
++      * Control.cs:
++        - Implemented Created property
++
++2004-08-21 13:28  pbartok
++
++      * Control.cs:
++        - Implemented ContainsFocus
++
++2004-08-21 13:26  pbartok
++
++      * Control.cs:
++        - Implemented CausesValidation
++
++2004-08-21 13:21  pbartok
++
++      * Control.cs:
++        - Implemented CanFocus
++        - Implemented CanSelect
++        - Implemented Capture
++
++2004-08-21 12:35  pbartok
++
++      * XplatUIWin32.cs:
++        - Fixed bug with Async message handling
++        - Implemented getting the ModifierKeys
++
++2004-08-21 12:32  jackson
++
++      * AsyncMethodResult.cs: Make sure we have the mutex before we
++        release it. Fixes BeginInvoke on windows
++
++2004-08-21 11:31  pbartok
++
++      * XplatUIWin32.cs, XplatUIX11.cs:
++        - Drivers now return proper mouse state
++
++2004-08-21 10:54  jackson
++
++      * Control.cs: Implement EndInvoke
++
++2004-08-21 10:48  jackson
++
++      * Timer.cs: Remove unneeded finalizer
++
++2004-08-20 19:52  ravindra
++
++      * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
++        in mouse event handling in the ToolBar control.
++
++2004-08-20 19:50  ravindra
++
++      * ImageList.cs: Changed draw method to use the arguments passed in
++        to draw the image.
++
++2004-08-20 18:58  pbartok
++
++      * XplatUIStructs.cs:
++        - Added private message for async communication
++
++2004-08-20 17:38  ravindra
++
++      * Control.cs: Made RightToLeft property virtual and removed a
++        Console.WriteLine.
++
++2004-08-20 14:39  jordi
++
++      * ThemeGtk.cs: use style_attach
++
++2004-08-20 14:39  pbartok
++
++      * XplatUIWin32.cs:
++        - Added jackson's Async code from X11 to Win32
++
++2004-08-20 14:09  pbartok
++
++      * SWF.csproj:
++        - Added all new files
++
++2004-08-20 14:09  pbartok
++
++      * Control.cs:
++        - Added call to set window background color
++
++2004-08-20 14:03  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
++        - Added method for setting the window background
++
++2004-08-20 14:02  pbartok
++
++      * XplatUIWin32.cs:
++        - Added method for setting the background color
++        - Added handling for erasing the window background
++
++2004-08-20 13:45  jordi
++
++      * TrackBar.cs: fixes timer, new properties and methods
++
++2004-08-20 13:34  jackson
++
++      * ScrollBar.cs: Use the SWF timer so callbacks are run in the
++        correct thread
++
++2004-08-20 13:22  jackson
++
++      * Timer.cs: Timer Tick events are now handed through Controls Async
++        mechanism so the callbacks are executed in the same thread as X
++
++2004-08-20 13:19  jackson
++
++      * XplatUIDriver.cs: Expose functionality to send async messages
++        through the driver
++
++2004-08-20 13:18  jackson
++
++      * Control.cs: Implement Begininvoke
++
++2004-08-20 13:14  jackson
++
++      * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
++        messages through the driver
++
++2004-08-20 13:12  jackson
++
++      * XplatUIX11.cs: Lock before all X operations. Also added Async
++        method functionality through XSendEvent
++
++2004-08-20 13:11  jackson
++
++      * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
++        This will screw up on 64 bit systems)
++
++2004-08-20 13:10  jackson
++
++      * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
++        Async messages through X/Win32
++
++2004-08-19 19:39  pbartok
++
++      * XplatUIX11.cs:
++        - Updated code to match new HandleData.DeviceContext type
++
++2004-08-19 19:38  pbartok
++
++      * HandleData.cs:
++        - Made DeviceContext a generic object to allow usage from various
++        drivers
++        - Added support for queueing Windows messages
++
++2004-08-19 19:37  pbartok
++
++      * XplatUIWin32.cs:
++        - Added generation of MouseEnter, MouseLeave and MouseHover events
++        - Added cleanup on EndPaint
++
++2004-08-19 19:17  pbartok
++
++      * Control.cs:
++        - Added handling of WM_MOUSEHOVER
++        - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
++        code
++
++2004-08-19 18:55  jordi
++
++      * ThemeGtk.cs: fixes button order
++
++2004-08-19 18:12  jordi
++
++      * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
++
++2004-08-19 17:09  pbartok
++
++      * Control.cs:
++        - Added Right property
++        - Added RightToLeft property
++
++2004-08-19 16:27  jordi
++
++      * ThemeGtk.cs: experimental GTK theme support
++
++2004-08-19 16:26  jordi
++
++      * ITheme.cs, Theme.cs: move themes from an interface to a class
++
++2004-08-19 16:25  jordi
++
++      * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
++        theme enhancaments
++
++2004-08-19 16:04  pbartok
++
++      * XplatUIX11.cs:
++        - Added colormap basics
++        - Added a way to re-initialize with a different display handle
++        - Fixed setting of the window background color
++        - Added various X11 imports related to colors and colormaps
++
++2004-08-19 15:51  pbartok
++
++      * X11Structs.cs:
++        - Removed packing hints (Paolo suggested this a while back)
++        - fixed colormap type
++        - Added default Atom types
++        - Added Screen and color structs and enums
++
++2004-08-19 15:39  pbartok
++
++      * ImageList.cs:
++        - Added missing Draw() method
++        - Added missing RecreateHandle event
++
++2004-08-19 15:30  pbartok
++
++      * Form.cs:
++        - Added handling of WM_CLOSE
++
++2004-08-18 13:16  jordi
++
++      * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
++        a table
++
++2004-08-18 09:56  jordi
++
++      * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
++
++2004-08-17 15:31  ravindra
++
++      * SWF.csproj: Updated project.
++
++2004-08-17 15:25  pbartok
++
++      * Control.cs:
++        - Drawing improvement; don't call UpdateBounds if we are not visible
++          (or have been minimized)
++
++2004-08-17 15:24  pbartok
++
++      * XplatUIWin32.cs:
++        - Finished IsVisible
++        - Added Win32GetWindowPlacement
++
++2004-08-17 15:08  jackson
++
++      * Panel.cs: Initial checkin of the Panel
++
++2004-08-17 14:25  pbartok
++
++      * Control.cs:
++        - Fixed broken handling of default window sizes
++
++2004-08-17 13:29  jackson
++
++      * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
++        has a large startup time.
++
++2004-08-17 10:25  jackson
++
++      * HandleData.cs: union areas properly
++
++2004-08-17 10:12  jackson
++
++      * HandleData.cs: union areas properly
++
++2004-08-16 20:00  ravindra
++
++      * ToolBar.cs, ToolBarButton.cs: Added attributes.
++
++2004-08-16 18:48  ravindra
++
++      * ToolBar.cs: Added attributes.
++
++2004-08-16 17:17  ravindra
++
++      * SWF.csproj: Updated project.
++
++2004-08-16 17:16  jackson
++
++      * XplatUIX11.cs: Check for more expose events before sending a
++        WM_PAINT so they can all be grouped together. This makes dragging a
++        window across another window redraw in a sane way.
++
++2004-08-16 15:47  pbartok
++
++      * Control.cs:
++        - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
++          support OnMouseEnter/Leave()
++        - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
++          exposure handling
++
++2004-08-16 15:46  pbartok
++
++      * XplatUIStructs.cs, XplatUIX11.cs:
++        - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
++        OnMouseEnter/Leave()
++
++2004-08-16 15:34  jackson
++
++      * XplatUIX11.cs: Group multiple expose events in HandleData, make
++        sure messages get the message field set to WM_NULL if they are not
++        handled.
++
++2004-08-16 15:24  jackson
++
++      * HandleData.cs: HandleData is used for storing message information
++        for window handles
++
++2004-08-15 17:23  ravindra
++
++      * ColorDepth.cs: Added attribute.
++
++2004-08-15 17:23  ravindra
++
++      * SWF.csproj: Updated project for ToolBar Control.
++
++2004-08-15 17:20  ravindra
++
++      * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
++        control and also dos2unix format.
++
++2004-08-15 17:13  ravindra
++
++      * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
++        ToolBarButtonClickEventArgs.cs,
++        ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
++        ToolBarTextAlign.cs: First Implementation of ToolBar control.
++
++2004-08-15 15:31  pbartok
++
++      * ButtonBase.cs:
++        - First (mostly) working version
++
++2004-08-13 16:15  pbartok
++
++      * Control.cs:
++        - Fixed Anchor default
++
++2004-08-13 15:43  pbartok
++
++      * Control.cs:
++        - Changed GetCursorPos signature
++
++2004-08-13 15:42  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
++        - Changed signature for GetCursorPos
++
++2004-08-13 15:25  pbartok
++
++      * XplatUIX11.cs:
++        - Cleanup
++        - Fixed resizing/exposure handling
++
++2004-08-13 15:22  jordi
++
++      * ThemeWin32Classic.cs: removes redundant code and fixes issues
++        with tickposition
++
++2004-08-13 14:55  jordi
++
++      * TrackBar.cs: change from wndproc to events
++
++2004-08-13 13:00  jordi
++
++      * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs: implements PointToClient (ScreenToClient)
++
++2004-08-13 12:53  pbartok
++
++      * XplatUIWin32.cs:
++        - Changed GetWindowPos to also provide client area size
++        - Fixed broken prototypes for several win32 functions
++
++2004-08-13 12:53  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs:
++        - Changed GetWindowPos to also provide client area size
++
++2004-08-13 12:52  pbartok
++
++      * XplatUIX11.cs:
++        - Added generation of WM_POSCHANGED
++        - Changed GetWindowPos to also provide client area size
++
++2004-08-13 12:52  pbartok
++
++      * Control.cs:
++        - Added Dispose() and destructor
++        - Fixed resizing and bounds calculation
++        - Fixed Layout
++        - Added memory savings for invisible windows
++
++2004-08-13 12:46  jordi
++
++      * TrackBar.cs: adds timer and grap window
++
++2004-08-13 10:25  jackson
++
++      * Timer.cs: SWF Timer
++
++2004-08-12 16:59  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Implemented method to get current mouse position
++
++2004-08-12 14:29  jordi
++
++      * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
++        enhancement, fix mouse problems, highli thumb, etc
++
++2004-08-12 13:31  pbartok
++
++      * Control.cs:
++        - Fixed Anchoring bugs
++
++2004-08-12 13:01  jackson
++
++      * StatusBar.cs: Don't forget things
++
++2004-08-12 12:54  jackson
++
++      * ThemeWin32Classic.cs: Handle owner draw status bars
++
++2004-08-12 12:54  jackson
++
++      * StatusBar.cs: Implement missing properties, events, and methods.
++        Handle mouse clicking
++
++2004-08-12 10:19  jackson
++
++      * StatusBarPanelClickEventArgs.cs,
++        StatusBarPanelClickEventHandler.cs: Classes for handling status
++        bar panel click events
++
++2004-08-12 10:10  jackson
++
++      * Control.cs: Add missing properties
++
++2004-08-12 09:46  pbartok
++
++      * BindingsManagerBase.cs:
++        - Name changed to BindingManagerBase.cs
++
++2004-08-12 09:25  jordi
++
++      * ScrollableControl.cs: calls ctrlbase instead of exeception
++
++2004-08-11 16:28  pbartok
++
++      * InputLanguageChangingEventArgs.cs:
++        - Never check in before compiling. Fixes the last check-in
++
++2004-08-11 16:26  pbartok
++
++      * InputLanguageChangingEventArgs.cs:
++        - More signature fixes
++
++2004-08-11 16:20  pbartok
++
++      * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
++        Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
++        ImageListStreamer.cs, InputLanguage.cs,
++        InputLanguageChangedEventArgs.cs,
++        InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
++        LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
++        ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
++        XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Signature fixes
++
++2004-08-11 16:16  pbartok
++
++      * Application.cs:
++        - Fixed Signature
++        - Added .Net 1.1 method
++
++2004-08-11 15:25  pbartok
++
++      * SWF.csproj:
++        - Fixed BindingManagerBase.cs filename
++
++2004-08-11 15:22  pbartok
++
++      * BindingManagerBase.cs:
++        - Was checked in with wrong filename
++
++2004-08-11 14:50  pbartok
++
++      * SWF.csproj:
++        - Updated
++
++2004-08-11 13:41  jordi
++
++      * XplatUIWin32.cs: Fixes ClientRect
++
++2004-08-11 13:19  pbartok
++
++      * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs:
++        - We had SetWindowPos and MoveWindow to set window positions and
++          size, removed MoveWindow. We have GetWindowPos, so it made sense to
++          keep SetWindowPos as matching counterpart
++        - Added some X11 sanity checking
++
++2004-08-11 12:59  pbartok
++
++      * Control.cs:
++        - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
++          (It seems that SetBounds is just a front for SetBoundsCore and
++           SetBoundsCore updates the underlying window system and
++           UpdateBounds is responsible for updating the variables associated
++           with the Control and sending the events)
++        - Major cleanup of Size handling; we now have two sizes, client_size
++          and bounds. Bounds defines the window with decorations, client_size
++          without them.
++
++2004-08-11 12:55  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Added method to calculate difference between decorated window and
++          raw client area
++
++2004-08-11 12:54  pbartok
++
++      * Label.cs:
++        - Forcing redraw on resize
++
++2004-08-11 11:43  pbartok
++
++      * ImageList.cs:
++        - Removed disposing of the actual images when the list is disposed
++
++2004-08-11 09:13  pbartok
++
++      * Control.cs:
++        - Now properly reparents windows
++
++2004-08-11 08:37  pbartok
++
++      * Control.cs:
++        - Duh!
++
++2004-08-11 07:47  pbartok
++
++      * Control.cs:
++        - Rewrote the collection stuff. Might not be as fast now, not
++          keeping the number of children around and accessible directly, but
++          it's more straightforward
++
++2004-08-11 07:44  pbartok
++
++      * AccessibleObject.cs:
++        - Fixed to match ControlCollection rewrite
++
++2004-08-11 07:43  pbartok
++
++      * ImageList.cs:
++        - Added missing creation of the collection list
++
++2004-08-10 20:08  jackson
++
++      * StatusBar.cs: Get the paint message from WndProc
++
++2004-08-10 19:31  jackson
++
++      * ThemeWin32Classic.cs: Create Brushes as little as possible
++
++2004-08-10 19:20  jackson
++
++      * UICues.cs: Add Flags attribute
++
++2004-08-10 19:19  jackson
++
++      * StatusBarPanel.cs: Signature cleanup
++
++2004-08-10 19:10  jackson
++
++      * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
++        Initial implementation of status bar item drawing
++
++2004-08-10 17:27  jordi
++
++      * TrackBar.cs: add missing methods, properties, and restructure to
++        hide extra ones
++
++2004-08-10 16:24  jackson
++
++      * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
++        ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
++        attribute
++
++2004-08-10 13:21  jordi
++
++      * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
++        enhancements and standarize on win colors defaults
++
++2004-08-10 12:52  jackson
++
++      * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
++        ThemeWin32Classic.cs: Implement DrawItem functionality
++
++2004-08-10 12:47  jordi
++
++      * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
++
++2004-08-10 12:32  jordi
++
++      * Control.cs: throw ontextchange event
++
++2004-08-10 11:43  pbartok
++
++      * Control.cs:
++        - Added more to the still unfinished Dock/Anchor layout code
++
++2004-08-10 11:39  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
++        - Added GetWindowPos method
++
++2004-08-10 11:36  pbartok
++
++      * XplatUIWin32.cs:
++        - Implemented several methods
++
++2004-08-10 09:47  jackson
++
++      * TrackBar.cs: Allow control to handle buffering
++
++2004-08-10 09:41  jackson
++
++      * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
++
++2004-08-10 09:24  jackson
++
++      * Label.cs, LinkLabel.cs: Let Control handle buffering.
++
++2004-08-10 09:09  jackson
++
++      * StatusBar.cs: Let Control handle all the buffering.
++
++2004-08-10 09:08  jackson
++
++      * Control.cs: Control will now handle the buffering code, so each
++        control does not have to implement this.
++
++2004-08-10 08:34  jackson
++
++      * XplatUIDriver.cs: Use default colors from the theme
++
++2004-08-09 17:12  pbartok
++
++      * ImageList.cs:
++        - Fixed several bugs Ravindra pointed out
++
++2004-08-09 16:11  pbartok
++
++      * Control.cs:
++        - Added incomplete dock layout code
++        - Added support for mouse wheel
++
++2004-08-09 16:09  pbartok
++
++      * XplatUIX11.cs:
++        - Added handling for middle and right mousebutton
++        - Added handling for mouse wheel
++        - Added handling for key state and mouse state and position
++        - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
++        messages
++
++2004-08-09 15:40  jackson
++
++      * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
++        StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
++        checkin
++
++2004-08-09 15:37  jackson
++
++      * StatusBar.cs: Initial implementation of StatusBar
++
++2004-08-09 15:36  jackson
++
++      * ITheme.cs: Add support for drawing status bar and getting status
++        bar item sizes
++
++2004-08-09 15:35  pbartok
++
++      * MouseButtons.cs:
++        - Fixed values
++
++2004-08-09 15:34  jackson
++
++      * ThemeWin32Classic.cs: Add support for drawing status bar and get
++        status bar item sizes
++
++2004-08-09 15:21  jackson
++
++      * ThemeWin32Classic.cs: Use known colors for default control
++        colours
++
++2004-08-09 15:12  jackson
++
++      * ThemeWin32Classic.cs: Make the default font static, it is static
++        in control so this doesn't change functionality and creating fonts
++        is sloooooow.
++
++2004-08-09 14:56  pbartok
++
++      * X11Structs.cs:
++        - Added GrabMode enum
++
++2004-08-09 14:55  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Removed Run method, was only required for initial development
++
++2004-08-09 14:51  pbartok
++
++      * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
++        - Implemented GrabWindow/ReleaseWindow methods to allow pointer
++        capture
++
++2004-08-09 13:48  pbartok
++
++      * XplatUIX11.cs:
++        - Fixed default sizing for child windows
++
++2004-08-09 12:56  pbartok
++
++      * XplatUIX11.cs:
++        - Added generation of WM_DESTROY message
++        - Added handling of window manager induced shutdown
++
++2004-08-09 11:31  jackson
++
++      * ThemeWin32Classic.cs: New names for control properties
++
++2004-08-09 11:25  jackson
++
++      * Control.cs: Use new color names
++
++2004-08-09 11:02  jackson
++
++      * XplatUI.cs: Get default window properties from the theme
++
++2004-08-09 11:01  jackson
++
++      * ITheme.cs: The theme engine now controls default window
++        properties
++
++2004-08-09 11:00  jackson
++
++      * ThemeWin32Classic.cs: Add default window color properties
++
++2004-08-09 10:17  jackson
++
++      * ThemeWin32Classic.cs: Use correct default back color
++
++2004-08-09 10:05  jackson
++
++      * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
++        the theme now.
++
++2004-08-09 09:56  jackson
++
++      * XplatUI.cs: Remove defaults, these are handled by the theme now.
++
++2004-08-09 09:54  jackson
++
++      * Control.cs: Get default properties from the theme.
++
++2004-08-09 09:53  jackson
++
++      * ITheme.cs: Themes now handle default control properties
++
++2004-08-09 09:53  jackson
++
++      * ThemeWin32Classic.cs: Themes now handle default control
++        properties so coloring will be consistent
++
++2004-08-08 16:54  jordi
++
++      * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
++
++2004-08-08 15:08  jordi
++
++      * XplatUIX11.cs: fixes keyboard crash
++
++2004-08-08 13:47  jordi
++
++      * Label.cs: add cvs header info
++
++2004-08-08 12:09  jackson
++
++      * ThemeWin32Classic.cs: Add pen_buttonface
++
++2004-08-08 11:52  jordi
++
++      * Label.cs, LinkLabel.cs: [no log message]
++
++2004-08-08 11:34  jordi
++
++      * ThemeWin32Classic.cs: Use Windows Standard Colours
++
++2004-08-07 17:32  jordi
++
++      * TrackBar.cs: throw exceptions of invalid enums values
++
++2004-08-07 17:31  jordi
++
++      * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
++        draw method name
++
++2004-08-07 16:56  jackson
++
++      * HorizontalAlignment.cs: Initial checkin
++
++2004-08-07 13:16  jordi
++
++      * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
++        methods
++
++2004-08-07 13:05  jordi
++
++      * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
++        GetSysColor defines
++
++2004-08-06 18:01  pbartok
++
++      * ThemeWin32Classic.cs:
++        - Fixed some rounding issues with float/int
++
++2004-08-06 18:00  jackson
++
++      * DockStyle.cs, AnchorStyles.cs:
++
++                Add flags and serializable attributes.
++
++2004-08-06 17:46  pbartok
++
++      * XplatUIX11.cs:
++        - Implemented GetParent
++
++2004-08-06 17:18  pbartok
++
++      * TrackBar.cs:
++        - Fixed some rounding issues with float/int
++
++2004-08-06 17:17  pbartok
++
++      * X11Structs.cs, XplatUIX11.cs:
++        - Fixed Refresh and Invalidate
++
++2004-08-06 15:30  pbartok
++
++      * Control.cs, X11Structs.cs, XplatUIX11.cs:
++        - Fixed recursive loop when resizing
++        - Improved/fixed redrawing on expose messages
++
++2004-08-06 09:53  jordi
++
++      * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
++        keyboard navigation
++
++2004-08-06 08:02  pbartok
++
++      * X11Structs.cs, XplatUIX11.cs:
++        - Fixed reparenting
++        - Fixed window border creation
++
++2004-08-05 15:38  pbartok
++
++      * XplatUIX11.cs:
++        - Attempted fix for reparenting problems
++
++2004-08-04 15:14  pbartok
++
++      * Control.cs:
++        - Fixed Invalidation bug (calculated wrong client area)
++        - Added ClientSize setter
++
++2004-08-04 15:13  pbartok
++
++      * Form.cs:
++        - Added AutoScale properties
++
++2004-08-04 15:13  pbartok
++
++      * SWF.csproj:
++        - Added latest files
++
++2004-08-04 14:11  pbartok
++
++      * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
++        XplatUIX11.cs:
++        - Added Invalidate handling
++
++2004-08-03 17:09  jordi
++
++      * XplatUIDriver.cs: fixes spelling mistake
++
++2004-07-27 09:53  jordi
++
++      * TrackBar.cs: fixes trackbar events, def classname, methods
++        signature
++
++2004-07-27 09:29  jordi
++
++      * ScrollBar.cs: fixes scrollbar events
++
++2004-07-27 04:38  jordi
++
++      * Control.cs: changes to be able to run winforms samples
++
++2004-07-26 11:42  jordi
++
++      * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
++        ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
++
++2004-07-26 05:41  jordi
++
++      * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
++        MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
++        implementation
++
++2004-07-22 09:22  jordi
++
++      * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
++        check link overlapping, implement events, and fixes
++
++2004-07-21 10:28  jordi
++
++      * DialogResult.cs, IButtonControl.cs: fixes comments filenames
++
++2004-07-21 10:19  jordi
++
++      * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
++        LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
++        LinkLabelLinkClickedEventArgs.cs,
++        LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
++        XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
++        implementation
++
++2004-07-19 13:09  jordi
++
++      * Control.cs, Label.cs: label control re-written: added missing
++        functionlity, events, and properties
++
++2004-07-19 10:49  jordi
++
++      * Control.cs: fixes SetBounds logic
++
++2004-07-19 01:29  jordi
++
++      * Control.cs: Call RefreshWindow only if the window has created
++
++2004-07-15 14:05  pbartok
++
++      * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
++        - Implemented ImageList and ImageList.ImageCollection classes
++        - Added ColorDepth enumeration
++        - Updated SWF VS.Net project
++
++2004-07-15 11:06  jordi
++
++      * XplatUIStructs.cs: added MsgButons enum
++
++2004-07-15 11:03  jordi
++
++      * Control.cs: added basic mouse handeling events
++
++2004-07-15 03:38  jordi
++
++      * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
++        Vertical TrackBar control implementation
++
++2004-07-13 09:33  jordi
++
++      * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
++
++2004-07-13 09:31  jordi
++
++      * Control.cs, Form.cs: commit: new properties and fixes form size
++        problems
++
++2004-07-09 14:13  miguel
++
++      * ProgressBar.cs: Spelling
++
++2004-07-09 11:25  pbartok
++
++      * ProgressBar.cs:
++        - Removed usage of Rectangle for drawing. Miguel pointed out it's
++        faster
++
++2004-07-09 11:17  miguel
++
++      * ProgressBar.cs: 2004-07-09  Miguel de Icaza  <miguel@ximian.com>
++
++              * ProgressBar.cs: Fixed spelling for `block'
++
++              drawProgressBar: renamed to `DrawProgressBar' to follow the coding
++              style guidelines.
++
++              Avoid using the += on rect.X, that exposed a bug in the compiler.
++
++2004-07-08 23:21  pbartok
++
++      * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
++        AnchorStyles.cs, Application.cs, ApplicationContext.cs,
++        BaseCollection.cs, Binding.cs, BindingContext.cs,
++        BindingMemberInfo.cs, BindingsCollection.cs,
++        BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
++        BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
++        ButtonState.cs, CaptionButton.cs, CheckBox.cs,
++        ContainerControl.cs, Control.cs, ControlEventArgs.cs,
++        ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
++        ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
++        CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
++        DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
++        FrameStyle.cs, GiveFeedbackEventArgs.cs,
++        GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
++        HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
++        IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
++        InputLanguageChangedEventArgs.cs,
++        InputLanguageChangedEventHandler.cs,
++        InputLanguageChangingEventArgs.cs,
++        InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
++        InvalidateEventArgs.cs, InvalidateEventHandler.cs,
++        KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
++        KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
++        LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
++        MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
++        PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
++        QueryAccessibilityHelpEventArgs.cs,
++        QueryAccessibilityHelpEventHandler.cs,
++        QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
++        RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
++        ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
++        ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
++        TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
++        UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
++        XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
++        XplatUIX11.cs, lang.cs:
++        - Initial check-in
++