+2007-03-12 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * FileDialog.cs: Use text of File name combobox to determine what
+ files the user selected. Added tokenizer to parse the file names.
+ Fixes bug #81123.
+
+2007-03-12 Jonathan Pobst <monkey@jpobst.com>
+
+ * Control.cs: We can't call SizeFromClientSize in the constructor,
+ but we still need to do the same work, so make an internal version.
+ [Fixes bug #80621]
+
+2007-03-12 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs:
+ * TreeNode.cs:
+ * OpenTreeNodeEnumerator: Match MS better for IsVisible and
+ IsExpanded.
+
+2007-03-12 Jackson Harper <jackson@ximian.com>
+
+ * TextBoxBase.cs: Now that the handles are being created a little
+ later, we need to make sure that the document is recalculated when
+ the handle is created.
+
+2007-03-11 Everaldo Canuto <everaldo@simios.org>
+
+ * Theme.cs: GetLinkFont abstract method added.
+
+ * LinkLabel.cs:
+ - Remove CalcTrimRectangle, no longer needed.
+ - Factor also remove, position issues must be fixed in libgdiplus.
+ - Move GetPieceColor to ThemeWin32Classic.cs as it is theme related.
+ - GetPieceFont, CreateLinkFont and link_font removed, theme must be
+ care about font used to draw links.
+ - Set TabStop to true when control is "Selectable", control is selectable
+ when have one or more links. Fixes #80501 (test case is also added).
+ - Set the LinkArea values after links change, LinkArea values must be
+ based in first link position and size, a test case was created.
+ - Fix ControlStyles.Selectable value, now is based on LinkArea value,
+ the attribute must be true LinkArea.Length > 0. The same was applied to
+ TabStop.
+
+ * ThemeWin32Classic.cs:
+ - LinkLabelGetPieceColor and LinkLabelGetPieceFont created and used
+ in draw method.
+ - Use CPDrawStringDisabled to draw disabled text instead of hard code
+ color change.
+ - Draw focus rectangle for every parts focused, including parts that
+ is on another line, its because regions returns various rectangles
+ and not only one. Needed to mimic W32 look.
+ - Uses Graphics.Clip to delimite region painted, it mean that now
+ complete text is passed to DrawString, with this we solve layout
+ issues without create another text renderer.
+ - Uses Region.Intersect to fix some flickers problems, now only needed
+ parts will redrawed.
+ - This changes fixes #79614 and some other unreported issues, on Linux
+ some layout problems still remain, the problem is under
+ MeasureCharacterRanges but it is an libgdiplus bug.
+
+2007-03-10 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * TextBox.cs: Set for foreground color.
+ * TextBoxBase.cs: Remove Invalidate when setting BackColor, since
+ this is already done in Control.
+
+2007-03-10 Jackson Harper <jackson@ximian.com>
+
+ * TextBox.cs: Set the background color, but reset the
+ backcolor_set flag which is just for the user setting the
+ background color.
+
+2007-03-09 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs: really remove the call to XplatUI.SetVisible from
+ CreateHandle(), like I said I did when I merged the branch.
+
+ * BindingSource.cs: implement some more of this stuff.
+
+2007-03-09 Jackson Harper <jackson@ximian.com>
+
+ * TextBox.cs: Don't explicitly set our background colors.
+ * TextControl.cs:
+ * TextBoxBase.cs: Draw readonly text.
+ - Need to invalidate when backcolor or readonly are changed.
+
+2007-03-09 Jackson Harper <jackson@ximian.com>
+
+ * TextBoxBase.cs: Don't set the forecolor until the handle is
+ created.
+ - Do not raise OnPaint, and removed some old debug code.
+
+2007-03-09 George Giolfan <georgegiolfan@yahoo.com>
+
+ * ScrollableControl.cs: Fix mouse wheel scrolling.
+
+2007-03-09 Jonathan Pobst <monkey@jpobst.com>
+
+ * Control.cs: Wire up MouseDoubleClick event.
+
+2007-03-09 Jonathan Pobst <monkey@jpobst.com>
+
+ * ToolStrip.cs: Rework AutoSize to adjust height when docked to the
+ top or bottom.
+ * ToolStripItem.cs: Make Image drawing take ImageScaling into account.
+ * ToolStripItemCollection.cs: Don't call owner.PerformLayout when a new
+ item is added. This logic was moved to ToolStrip.OnItemAdded.
+ [Fixes bug #81090]
+
+2007-03-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ListVieItem.cs: SetIndex is only valid for 2.0 profile by now.
+
+2007-03-08 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs: Show the correct image for selected node (this used
+ to work, not sure how the code got deleted). Also implemented 2.0 feature
+ SelectedImageKey.
+
+2007-03-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ListView.cs:
+ * ListViewItem.cs: Cache index in items when retrieving them
+ in VirtualMode.
+
+2007-03-08 Jonathan Pobst <monkey@jpobst.com>
+
+ * ToolStripItem.cs: Don't return the explicit_size if we are using
+ AutoSize. Fixes invalidation issue when user has explicitly set a
+ size and has AutoSize = true.
+
+2007-03-08 Jonathan Pobst <monkey@jpobst.com>
+
+ * XplatUIX11.cs: Hardcode FrameBorderSize value temporarily to fix MWF.
+
+2007-03-07 Pedro Martínez Juliá <pedromj@gmail.com>
+
+ * DataGridView.cs: Remove event handler from DataView when a
+ DataTable is used as DataSource.
+
+2007-03-08 Jonathan Pobst <monkey@jpobst.com>
+
+ * Control.cs: Create internal setter for client_size to allow it to be
+ set without triggering resizing code.
+ * Form.cs: Calculate client_size in constructor, only change client_size
+ in FormBorderStyle property if Handle has been created.
+ [Fixes #80574, #80791]
+
+2007-03-08 George Giolfan <georgegiolfan@yahoo.com>
+
+ * SystemInformation.cs: Add TerminalServerSession.
+
+2007-03-07 Jonathan Pobst <monkey@jpobst.com>
+
+ * TreeViewDrawMode.cs: Make internal for 1.1 to allow for consolidated
+ TreeView code.
+
+2007-03-07 Jonathan Pobst <monkey@jpobst.com>
+
+ * XplatUIWin32.cs: The no_activate stuff was forcing us to create a
+ Handle before we were supposed to. Now checks ActivateOnShow property
+ in Control.
+ * Control.cs: Add internal ActivateOnShow property.
+ * ComboBox.cs, Form.cs, MenuAPI.cs, ToolStripDropDown.cs: Return false
+ for ActivateOnShow.
+ * Hwnd.cs Remove no longer needed no_activate field.
+
+2007-03-07 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs: Implement owner draw tree nodes. And a couple more
+ 2.0 properties
+ * DrawTreeNodeEventHandler.cs: Add
+ * DrawTreeNodeEventArgs.cs: Correct default value.
+
+2007-03-07 Chris Toshok <toshok@ximian.com>
+
+ * XplatUIWin32.cs: create InternalWndProc so that we're guaranteed
+ to be called before NativeWindow.WndProc. Put the HwndCreating
+ magic there to hook up our Hwnd's to handles.
+
+2007-03-07 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * DataGridView.cs: Comment out debug code.
+
+2007-03-07 Chris Toshok <toshok@ximian.com>
+
+ [merge -r72718:73765 from mwf-handle-branch, and include 2 changes
+ to make the rest of the world happy]
+
+ * Control.cs (CreateHandle): there's no need to call
+ XplatUI.SetVisible here, it's effectively done by
+ XplatUI.CreateWindow on X now, and always was on windows.
+
+ * XplatUIX11.cs (WaitForHwndMessage): only use the PostQuitState
+ shortcircuit out of the loop if we have a message loop running on
+ this thread.
+
+ [Changelog from merge]
+
+ 2007-03-05 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs (AccessibilityNotifyClients): turns out in 1.1 this
+ causes handle creation.
+
+ 2007-02-28 Chris Toshok <toshok@ximian.com>
+
+ * ApplicationContext.cs: Add a flag to make sure we only raise the
+ ThreadExit event once (ExitThreadCore can be indirectly called
+ from a few places.) I don't like the additional flag, but it
+ makes the event ordering/count correct.
+
+ * Application.cs (MWFThread.LoopCount): don't use an enumerator
+ without locking the collection. An enumerator doesn't give us any
+ protection from modification anyway. Lock the thread hash and
+ replace the complicated enumerator loop with a foreach.
+ (Application.CloseForms): make internal so it can be called from
+ ApplicationContext. This should probably be moved to MWFThread.
+ (Application.ExitThread): don't call MWFThread.Current.Exit()
+ here. just call XplatUI.PostQuitMessage. We'll exit the thread
+ when the runloop exits (in response to WM_QUIT.)
+ (Application.RunLoop): add a comment (and check) for
+ context.MainForm being null after setting context.MainForm.Visible
+ = true. This is because you're perfectly free to dispose of a
+ form in VisibilityChanged. Chalk this up to another case where we
+ need to synchronously generate WM_ACTIVATE from Control.Show.
+ Also, add handling for WM_QUIT here so we'll exit the loop.
+
+ * XplatUIX11.cs: clean up MapWindow and UnmapWindow a bit. The
+ fact that we don't wait if we're only unmapping the whole_window
+ makes me a bit nervous, but it doesn't seem to cause any problems
+ yet.
+
+ also, add a comment about the stupid, broken and wrong resetting
+ of PostQuitState to false in GetMessage().
+
+ In PostQuitMessage, we need to add a WM_QUIT message to the
+ thread's queue. We use the FosterParent to get the right
+ handle/hwnd/queue.
+
+ Lastly, in SetVisible, we need to unmap both windows, since the
+ waiting only happens when we're unmapping the client window. So
+ now, the *only* time we unmap just the whole_window is in the hack
+ for resizing a control to 0,0.
+
+ 2007-02-21 Chris Toshok <toshok@ximian.com>
+
+ * Application.cs (CloseForms): rewrite this so that we don't
+ modify the list while we're traversing it.
+
+ 2007-02-20 Chris Toshok <toshok@ximian.com>
+
+ * ListBox.cs (.ctor): move the Control.AddImplicits here instead
+ of OnHandleCreated.
+ (HorizontalScrollEvent): only call XplatUI.ScrollWindow if the
+ handle is created. otherwise we'll create it here.
+ (VerticalScrollEvent): same here.
+
+ * Application.cs (CloseForms): call Form.Dispose, don't post
+ WM_CLOSE_INTERNAL.
+
+ * Form.cs (WndProc): we don't need to use CLOSE_INTERNAL
+ here. Application should Dispose() of the Form's.
+
+ * XplatUIX11.cs (WaitForHwndMessage): break out of the loop on
+ WM_DESTROY as well.
+ (MapWindow,UnmapWindow): only actually do the waiting for
+ SHOWWINDOW if the control we're dealing with is a Form.
+ (CreateWindow): if the control isn't a form, SendMessage
+ WM_SHOWWINDOW here (if the WS_VISIBLE style is set).
+
+ * Control.cs (SetVisibleCore): always use is_visible here, not
+ value. If we use value, we can end up re-setting something
+ visible if, for instance, you do Control.Hide() in a delegate
+ attached to VisibleChanged as we do in FormTest.ShowDialogTest.
+
+ 2007-02-20 Chris Toshok <toshok@ximian.com>
+
+ * XplatUIX11.cs (WaitForHwndMessage): we need to loop until we get
+ the message we need. PeekMessage returning false should not be a
+ condition under which we exit the loop.
+
+ 2007-02-15 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs (Refresh): only refresh if we've got a handle and are
+ visible.
+ (CreateAccessibilityInstance): CreateControl() here.
+ (UpdateChildrenZOrder): complicate the code loop even more by
+ taking into account controls that haven't had their handle
+ created, and those that aren't visible. But on the flip side,
+ simplify the code by splitting it into two loops. one which
+ builds up the list of child controls we're interested in, and the
+ other that sets the z order of those children.
+
+ 2007-02-14 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs: Control.AccessibilityObject causes the control to be
+ created, not just the handle.
+
+ 2007-02-14 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs: rework UpdateChildrenZOrder to correctly handle the
+ problem on X where a window might have its handle created (and be
+ visible) while the window is unmapped. calling XConfigureWindow
+ on an unmapped window is bad, and generates X errors.
+
+ 2007-02-13 Chris Toshok <toshok@ximian.com>
+
+ * Control.cs (CreateHandle): don't loop over our children setting
+ their parent here. do it when in WndProc when we're shown.
+ (UpdateChildrenZOrder): make this internal so we can call it from
+ ScrollableControl.
+ (WndProc): for WM_SHOWWINDOW, reparent the child control after
+ creating its handle. Also, remove the calls to PerformLayout from
+ here. they're done in ScrollableControl.OnVisibleChanged. Also,
+ OnVisibleChanged only seems to be called directly here for the
+ toplevel control. It's propagated down the window hierarchy by
+ calls to child.OnParentVisibleChanged.
+ (OnVisibleChanged): don't do layout here - it's done (oddly
+ enough, according to a glance at stack traces on ms.net..) in
+ ScrollableControl.
+
+ * ScrollableControl.cs (OnVisibleChanged): make sure we update the
+ z order of our children before calling PerformLayout.
+
+ 2007-02-12 Chris Toshok <toshok@ximian.com>
+
+ [big change, fixes #80020]
+
+ * AccessibleObject.cs: we need to make owner internal again to fix
+ some of ControlAccessibleObject.
+
+ * Control.cs: lots of changes here. add support for WM_CREATE,
+ for which we generate OnHandleCreated. Remove the OnHandleCreated
+ call from CreateHandle. Also add support for WM_SHOWWINDOW where
+ we create child controls. leave the MonoTODO's for the
+ accessibility calls, but fix the exceptions so the tests pass.
+
+ Add the InvalidOperationExceptions to Invoke methods, and remove a
+ couple of InvokeInternal methods we aren't using.
+
+ Also, add a couple of CreateHandle calls in places where we know
+ the handles are being created but our code doesn't reference
+ .Handle.
+
+ Make SetVisibleCore call OnVisibleChange if the handle isn't
+ created. If the handle is created, we rely on XplatUI.SetVisible
+ generating the event synchronously.
+
+ Lastly, make sure we don't use this.Handle inside CreateHandle,
+ because we can call back into client (and that code can dispose of
+ the control).
+
+ * XplatUIStructs.cs: misc/cleanup.
+
+ * XplatUIX11.cs: Map/Unmap X events correspond to WM_SHOWWINDOW,
+ although we don't populate the wParam properly.
+ (CreateWindow): generate WM_CREATE.
+ (MapWindow,UnmapWindow): make these calls synchronous, at great
+ performance expense (particularly in the unmap case), to match
+ win32 behavior.
+
+ * Form.cs (.ctor): remove the call to UpdateBounds. we don't need
+ to call it.
+ (set_MdiParent): don't recreate the handle unless it's been
+ created already.
+
+ * MdiClient.cs (OnResize): don't InvalidateNC Parent.Handle unless
+ it's created.
+
+ * NativeWindow.cs: this is probably the weirdest part of the
+ patch. We need a way to link up the window being created to the
+ WM_CREATE message. Since we can only be creating one window at a
+ time on a given thread, we keep track of a per-thread reference so
+ we can dispatch it properly. We also need to keep track of the
+ Hwnd currently being created so that the win32 backend doesn't
+ have problems.
+
+ * XplatUIWin32.cs: a similar change to the one we made in
+ NativeWindow.cs.
+
+2007-03-07 Jonathan Pobst <monkey@jpobst.com>
+
+ * ToolStripItem.cs: Make CalculatePreferredSize virtual.
+ * ToolStripMenuItem.cs: Modify CalculatePreferredSize and OnPaint
+ to draw the menu shortcut string.
+
+2007-03-07 Jackson Harper <jackson@ximian.com>
+
+ * TreeNode.cs: Add the 2.0 collapse method.
+
+2007-03-07 Pedro Martínez Juliá <pedromj@gmail.com>
+
+ * DataGridViewColumn.cs: Fix HeaderText behaviour (Bug #80746).
+
+2007-03-07 Pedro Martínez Juliá <pedromj@gmail.com>
+
+ * DataGridView.cs: Change DataSource will clear column and row
+ lists. Call Invalidate() to reflect DataSource change.
+
+2007-03-07 Pedro Martínez Juliá <pedromj@gmail.com>
+
+ * DataGridView.cs: Add rows when DataSource is System.Data.DataView
+ and a new row is added to it.
+
+2007-03-07 Pedro Martínez Juliá <pedromj@gmail.com>
+
+ * DataGridView.cs: Add columns when DataSource is en empty list but
+ is a System.Data.DataView (from a System.Data.DataTable).
+
+2007-03-06 Andreia Gaita <avidigal@novell.com>
+
+ * Label.cs: Implement AutoEllipsis (2.0)
+
+2007-03-06 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs: Implement 2.0 TopNode setter property.
+ - Use a local var instead of the skipped_nodes field for computing
+ how many nodes to skip. Otherwise we won't scroll because the
+ valuechanged handler checks if skipped_nodes is equal to the new
+ value.
+ - Implement 2.0 Sort method.
+ - Add useless 2.0 DoubleBuffer property
+ - Implement 2.0 LineColors property. Lets you change the color of
+ the lines in the tree. Terribly useful for creating non cohesive
+ desktops.
+ - Implement 2.0 image key feature.
+
+2007-03-06 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs: We can't get the bounds of the nodes before raising
+ the AfterSelect event, because that event could change the node's
+ bounds (scrolling, font change, etc).
+
+2007-03-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * XplatUIWin32.cs: When faking styles don't remove the WS_VISIBLE flag.
+ * Form.cs: Don't recreate handle when creating FormWindowManager, just
+ update window styles. In CreateParams us VisibleInternal instead of
+ VIsible to get the actual visible flag set for this form.
+ * FormWindowManager.cs: Activate the form whenever the mouse clicks on
+ the nc area. Fixes #81042. Also fix HandleTitleBarDoubleClick to
+ handle the case when the form is already maximized, in which case
+ it should be restored. Fixes #81043.
+
+2007-03-06 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * XplatUIX11.cs: Tool windows still get wm styles. Fixes toolwindows showing up with double decorations.
+
+2007-03-05 Jackson Harper <jackson@ximian.com>
+
+ * TreeViewHitTestInfo.cs: implement.
+
+2007-03-05 Jackson Harper <jackson@ximian.com>
+
+ * InternalWindowManager.cs: class status fix.
+
+2007-03-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * InternalWindowManager.cs: All windows that have a parent
+ are confined to their parent when they're being moved.
+ Fixes #80822.
+
+2007-03-04 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * SystemInformation.cs: Marked KeyboardDelay and KeyboardSpeed public
+ on 2.0 profile. Fixes bug #81018. Small code formatting fixes.
+
+2007-03-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * ThemeWin32Classic.cs: ManagedWindowSetButtonLocations: Make all
+ buttons invisible before deciding which ones should be visible
+ (fixes minimize/maximize buttons showing up in toolwindows). Remove
+ an unused variable.
+ * InternalWindowManager.cs: Remove warning.
+
+2007-03-02 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ListView.cs: Add a check in ListViewItemCollection.RemoveAt
+ to throw an InvalidOperationException is virtual mode is being used.
+
+2007-03-02 Jonathan Pobst <monkey@jpobst.com>
+
+ * SplitContainer.cs, SplitterPanel.cs, StatusStrip.cs, TableLayoutPanel.cs,
+ ToolStrip.cs, ToolStripContainer.cs, ToolStripContentPanel.cs,
+ ToolStripControlHost.cs, ToolStripDropDownItems.cs, ToolStripItem.cs,
+ ToolStripMenuItem.cs, ToolStripOverflowButton.cs, ToolStripPanel.cs,
+ ToolStripPanelRow.cs, ToolStripProfessionalRenderer.cs, ToolStripSplitButton.cs,
+ ToolStripStatusLabel.cs, ToolStripTextBox.cs: Corcompare work.
+
+2007-03-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * XplatUI.cs: Fixed returning driver.KeyboardSpeed instead of
+ driver.KeyboardDelay from XplatUI.KeyboardDelay
+ * XplatUIW in32.cs: Implemented KeyboardSpeed/KeyboardDelay properties
+ (patch by Sergey Volk)
+
+2007-03-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
+
+ * ToolWindowManager.cs: Added, contains logic for
+ tool windows.
+ * CreateParams.cs: Add a few helper methods and an
+ internal variable to know which control the CreateParams belongs
+ to.
+ * Control.cs: Call Form.ChangingParent when the
+ parent is about to be changed.
+ * XplatUIX11.cs: DeriveStyles (): Set
+ caption_height for all windows that have captions and are children.
+ Update to use ToolWindowManager instead of InternalWindowManager
+ for ToolWindows.
+ * XplatUIWin32.cs: Set fake window styles for all
+ windows that have window managers.
+ * MdiWindowManager.cs: Added MaximizedTitleButtons (buttons are
+ now duplicated for mdi windows when they are
+ maximized, first for the buttons the window itself has, then for
+ the buttons that appear in the menu bar. Makes things a little
+ easier). Updated UpdateWindowDecorations, SetWindowState and the
+ mouse eventhandlers accordingly.
+ * Form.cs: Add ChangingParent (), contains the
+ logic of what should happen when the parent changes. In MdiParent
+ don't set things that ChangingParent () is doing. When handling
+ WM_CLOSE, we can close the form if there are any other modal forms
+ and the current form is a descendent of the modal form.
+ * InternalWindowManager.cs: A lot of refactoring,
+ the title buttons are now extracted to a separate container class
+ that takes care of all button code (clicks, tooltips, etc). Moved
+ Iconic|Maximized|Normal Bounds properties to this class from
+ MdiWindowManager, so that the window state logic can succeed for
+ other than mdi wm's. Implemented general window state change logic.
+ Moved CreateButtons to ThemeWin32Classic, since the theme might
+ override which buttons are available when as well as the exact
+ location.
+ * FormWindowManager.cs: Added, contains logic for
+ normal forms.
+ * ThemeWin32Classic.cs: ManagedWindowSetButtonLocations now decides
+ which buttons go where (and if they are at all visible).
+ Removed special handling of maximized windows, since they aren't special.
+ In DrawManagedWindowDecorations don't try to draw the text if it is
+ empty.
+ * MdiClient.cs: ArrangeIconicWindows: Don't calculate any sizes,
+ use whatever the wm gives us.
+
+2007-03-02 Jonathan Pobst <monkey@jpobst.com>
+
+ * ButtonBase.cs: Add 2.0 properties.
+ * Button.cs: Override Draw for 2.0.
+ * Control.cs: Add Entered and Selected properties.
+ * FlatButtonAppearance.cs, TextFormatFlags.cs, TextImageRelation.cs,
+ TextRenderer.cs: Make internal for 1.1 to unify drawing code.
+ * Theme.cs: New abstract functions for drawing Standard, Flat, Popup
+ buttons.
+ * ThemeWin32Classic.cs: Implement layout calculations for 2.0 buttons.
+
+2007-03-01 Jonathan Pobst <monkey@jpobst.com>
+
+ * XplatUIWin32.cs: Don't use 2.0 methods in 1.1 code. :/
+
+2007-03-01 Jonathan Pobst <monkey@jpobst.com>
+
+ * XplatUIWin32.cs: Register a new class with Windows each time we get
+ a new ClassStyle. [Fixes bugs #79432, #80817]
+ * Controls.cs: Set the correct ClassStyle in CreateParams.
+ * ToolStripDropDown.cs: Don't request an invalid ClassStyle.
+
+2007-03-01 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ListView.cs: Add fireEvent argument to ReorderColumn since the
+ ColumnReordered event must not be signaled when modifying DisplayIndex
+ of a ColumnHeader. Added internal ReorderColumns method which takes
+ care of drawing, and updating the internal DisplayIndex of the
+ ColumnHeader. Added AddColumn method which is invoked from
+ ColumnHeaderCollection when adding or inserting columns, and which
+ ensures that reorder_columns_indices is kept in sync. Avoid redrawing
+ after adding each ColumnHeader in ColumnHeaderCollection.AddRange.
+ Recalculated dispay indices after removing a ColumnHeader.
+ * ColumnHeader.cs: Save DisplayIndex separately from ListView to
+ match MS. Allows last display index to be returned after ListView
+ is disposed. Update actual location of ColumnHeader when DisplayIndex
+ is modified.
+
+2007-03-01 Everaldo Canuto <everaldo@simios.org>
+
+ * LinkLabel.cs: Improve CalcTrimRectangle.
+
+ * ThemeWin32Classic.cs: Fix some compilation problem under VS 2003.
+
+2007-02-28 Everaldo Canuto <everaldo@simios.org>
+
+ * LinkLabel.cs: Rename CalcMeasurementFactor as CalcTrimRectangle and
+ get rectangle as a result value.
+
+2007-02-28 Everaldo Canuto <everaldo@simios.org>
+
+ * LinkLabel.cs: Theres some diferences between rectangle return from
+ MeasureCharacterRanges and the area used for DrawString to fix this
+ CalcMeasurementFactor method was created, it calcules the diferences
+ to be use later to adjust rectangle in draw operations. Fixes #80473.
+
+ * ThemeWin32Classic.cs: Use factor calculated by CalcMeasurementFactor
+ to adjust draw rectangle.
+
+2007-02-27 Everaldo Canuto <everaldo@simios.org>
+
+ * ThemeWin32Classic.cs: In DrawLinkLabel draw focus rectangle before draw
+ text and some other changes to reduce and optimize source code.
+
+2007-02-27 Jonathan Pobst <monkey@jpobst.com>
+
+ * RadioButton.cs: Implement 2.0 event.
+ * RelatedImageListAttribute.cs: Implement new class.
+
+2007-02-27 Everaldo Canuto <everaldo@simios.org>
+
+ * MenuAPI.cs: Change keynav_state before call SelectItem. Fixes #80901.
+
+2007-02-27 Jonathan Pobst <monkey@jpobst.com>
+
+ * CheckBox.cs: Implement 2.0 functionality.
+
+2007-02-27 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ListView.cs: Refactor Add and AddRange methods of
+ ListViewItemCollection, to not update the ListView
+ everytime an item is added in AddRange. Also move the update
+ code to a new CollectionChanged method, and call it
+ from other methods that need it as well (this should also fix some
+ bugs when Sorting is used).
+
+2007-02-27 Jackson Harper <jackson@ximian.com>
+
+ * TextControl.cs: Try to never let the caret stay in a non-text
+ tag.
+ * TextBoxBase.cs: Update the caret.
+
+2007-02-26 Jonathan Pobst <monkey@jpobst.com>
+
+ * XplatUIStructs.cs: Add some convenience methods for POINT structure.
+ * XplatUIWin32.cs: Add some convenience methods for RECT structure,
+ delete POINT structure, duplicate of one in XplatUIStructs.
+ * TextRenderer.cs: Use XplatUIWin32.RECT instead of UXTheme.RECT.
+
+2007-02-26 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ListView.cs: Initialize LabelEditEventArgs after setting Text of
+ edit box since otherwise the Label would immediately be set (even if
+ the user did not modify the label). In OnKeyDown set Handled to true
+ if Return or Escape was pressed. In ColumnHeaderCollection unlink
+ columns that are to be removed. In ListViewItemCollection unlink items
+ that are to be removed.
+
+2007-02-24 Jonathan Pobst <monkey@jpobst.com>
+
+ * TextRenderer.cs: If we set a GDI clip region, we need to clear
+ it when we are done. [Fixes bug #80949]
+
+2007-02-23 Jonathan Pobst <monkey@jpobst.com>
+
+ * Form.cs: Wrap checking ShowWithoutActivation in a NET_2_0 block.
+
+2007-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ * ListView.cs: I forgot to commit the changes for ListView
+ in my previous patch.
+
+2007-02-23 Jonathan Pobst <monkey@jpobst.com>
+
+ * Clipboard.cs: Partially implement an overload of SetDataObject.
+ * Form.cs: Implement ShowWithoutActivation.
+ * XPlatUIWin32.cs: Fix for WM_SHOWNOACTIVATE for forms.
+
+2007-02-23 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ This is a first set of changes to make the Virtual mode works,
+ by avoiding the retrieval of ListViewItem instances until
+ draw time.
+
+ * ListView.cs: Store item position in the ListView instead of the
+ ListViewItem, this way we don't request the Bounds property of
+ ListViewItem inside the ListView calculations, as well as cache the item
+ size in item_size field. Store indexes instead of ListViewItem
+ instances in the matrix used by icon view. Add a ItemMatrixLocation
+ struct to hold the row and col info of the matrix info.
+
+ * ListViewItem.cs: Don't store the location anymore, and only cache
+ the rectangles for GetBounds. Use the ListView.GetItemLocation
+ method to retrieve the actual location.
+
+2007-02-23 Jonathan Pobst <monkey@jpobst.com>
+
+ * TextRenderer.cs: Add clipping support, thanks to George.
+ [Fixes bug #80949]
+
+2007-02-23 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ListViewItem.cs: Cancel label edit when item is removed from
+ ListView.
+ * ListView.cs: Move setting of focus to EndEdit. Fire BeforeLabelEdit
+ event before the edit textbox is displayed. Added CancelEdit method
+ which is used end to editing while ignoring the value set by the
+ user. In EndEdit, set focus to ListView to avoid losing focus to
+ other controls. In ListViewItemCollection.Clear, cancel editing of
+ any of the items. In Remove, cancel editing of item being removed.
+ Avoid udplicate code by modifing RemoveAt to invoke Remove.
+
+2007-02-23 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * FileDialog.cs: Update FSEntry when move is successful. Fixes
+ bug #80948.
+
+2007-02-23 Everaldo Canuto <everaldo@simios.org>
+
+ * MainMenu.cs: Change Draw method to take care about MenuOrigin to be
+ compatible with non X11 systems. Fixes #80901.
+
+2007-02-23 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ListView.cs: Added bool argument to UpdateMultiSelection to specify
+ whether the item should be unselected and reselect. We do no want this
+ when we're starting to edit the label. Do not fire the
+ SelectedIndexChanged event from ListView when its already been fired
+ by modifying ListViewItem.Selected. Fixes bug #80943.
+
+2007-02-23 Jonathan Pobst <monkey@jpobst.com>
+
+ * TextRenderer.cs: Previos commit logic was backwards.
+
+2007-02-23 Jonathan Pobst <monkey@jpobst.com>
+
+ * TextRenderer.cs: Don't add padding on MeasureText if we were
+ sent the NoPadding flag.
+
+2007-02-23 Everaldo Canuto <everaldo@simios.org>
+
+ * ThemeWin32Classic.cs: Invert order of drawing operation with DrawImage
+ after DrawButton. To prevent image overlaps button borders SetClip and
+ ResetClip added before and after draw image. Fixes #79129.
+
+2007-02-23 Everaldo Canuto <everaldo@simios.org>
+
+ * FolderBrowserDialog.cs: Use ClientSize instead of Size to specify
+ window size, it fix problem when you run under win32 that theres
+ Size diferent than ClientSize. Also fix controls size and positions
+ to mimic Win32. Fixes #80837.
+
+2007-02-22 Everaldo Canuto <everaldo@simios.org>
+
+ * Form.cs: Handle WM_NCHITTEST and return HTMENU when point is on
+ menu area to fix some problems for non X11 systems. Fixes #80613.
+
+2007-02-22 Jackson Harper <jackson@ximian.com>
+
+ * TreeNode.cs: When a node is expanded, set its is_expanded flag
+ even if it doesn't have any children.
+
+2007-02-22 Jackson Harper <jackson@ximian.com>
+
+ * TreeView.cs: Calculate the top node 'on the fly', this
+ eliminates issues where you need to click on the tree before
+ scrolling it to get the top node computed correctly.
+ * TreeNodeCollection.cs: We don't need to mess with the top node
+ anymore.
+
+2007-02-22 Jackson Harper <jackson@ximian.com>
+
+ * DataGridViewRow.cs: Fix typo so height can actually be set.
+ Patch by Peter Grimm.
+
+2007-02-22 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * FileDialog.cs: Fixed support for renaming files and directories.
+ * ListView.cs: Do not lose focus when edit is canceled. Process
+ Escape as regular key (to prevent closing of dialogs).
+
+2007-02-22 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * ListView.cs: Removed TODO for LabelEdit. Removed extra tabs and
+ spaces. Changed spaces to tabs. Removed unnecessary init of bools.
+
+2007-02-22 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * FileDialog.cs: LabelEditEventArgs.Label now returns null when user
+ did not modify label.
+ * ListView.cs: Only set LabelEditEventArgs.Label if user actually
+ modified the text. Reset Label when user presses Escape in edit mode.
+ Move focus to ListView after having cancelled or finished editing the
+ label.
+
2007-02-21 Gert Driesen <drieseng@users.sourceforge.net>
* ComboBox.cs: Removed unnecessary initializations. Marked items field