+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