X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Windows.Forms%2FSystem.Windows.Forms%2FChangeLog;h=d7d4a571f2405e3ce49218df265b905930a66c85;hb=bf5947a0fd2b523c30833605ee69b2b041aa43f4;hp=0bfb575050052a001fb69fed9887423483c38f61;hpb=2664e6052ad7b6ed1a7f4d281b5ab08548d9f6c0;p=mono.git diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/ChangeLog b/mcs/class/System.Windows.Forms/System.Windows.Forms/ChangeLog index 0bfb5750500..d7d4a571f24 100644 --- a/mcs/class/System.Windows.Forms/System.Windows.Forms/ChangeLog +++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/ChangeLog @@ -1,2749 +1,41074 @@ -2003-07-31 Aleksey Ryabchuk - * TreeView.cs +2010-07-08 Gonzalo Paniagua Javier + + * ThemeWin32Classic.cs: implement ResetDefaults. + Fixes bug #581956. + +2010-07-05 Dick Porter + + * MenuAPI.cs: Only handle mnemonic key shortcuts when the context + menu is visible. Fixes bug 616739. + +2010-07-02 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: The images drawn in the column header must be + vertically centered. Fixes #616432. + Patch by Thomas Goldstein (stifu@free.fr). + +2010-06-25 Carlos Alberto Cortez + + * TabControl.cs: Don't use the Font property of our TabPages - use our + own Font property instead, as .Net does. + Fixes some bits of #551032. + +2010-06-24 Carlos Alberto Cortez + + * TabControl.cs: Call Invalidate when removing a tab page. We were + depending on the redraw routines of SelectedIndex, which could be not + enough to detect the real affected area. + +2010-06-24 Carlos Alberto Cortez + + * TabControl.cs: Don't set SelectedTabIndex when getting the focus *at + all*. + Fixes #613765. + +2010-06-24 Dick Porter + + * Fix NullReferenceException when keyboard shortcut activates + disabled context menu item. Fixes bug 615940. + +2010-06-22 Dick Porter + + * TextControl.cs, XplatUIX11.cs, XplatUICarbon.cs: Expand paint + regions slightly so that the full extents of text get painted. + Fixes bug 464464. + +2010-06-21 Carlos Alberto Cortez + + * TreeNode.cs: Clone should detect the type of the current instance + and properly create the correct object. + Fixes #613708. + +2010-06-21 Carlos Alberto Cortez + + * TabControl.cs: When setting SelectedIndex and the new selected tab + bounds are obscured by the scrollers, take into account the self tab + when looking for the proper bounds to adjust the slider. This is specially + important when we need to adjust the slider pos for the *last* tab page. + Fixes #615382. + +2010-06-20 Carlos Alberto Cortez + + * TabControl.cs: Show the tooltip depending on the value + of ShowTooltips. + Fixes #615376. + +2010-06-20 Carlos Alberto Cortez + + * TabControl.cs: Implement ToolTip support for our tab pages. + Fixes part of #515045. + +2010-06-19 Jonathan Pobst + + * FontDialog.cs: Make the 16 colors in the color drop down + match .Net. Patch by Thomas Goldstein (stifu@free.fr). + [Fixes bug #506726] + +2010-06-19 Jonathan Pobst + + * FontDialog.cs: Show all 16 colors in the color drop down + to match .Net. Patch by Thomas Goldstein (stifu@free.fr). + [Fixes bug #508523] + +2010-06-17 Carlos Alberto Cortez + + * TabControl.cs: When calculating the size of our tabs use + MinimumTabWidth only if SizeMode is other than Fixed. + Patch by Thomas Goldstein (stifu@free.fr). + +2010-05-20 Andreia Gaita + + * X11Dnd.cs: Fix a few crashers, making sure the client window is valid + when dragging + +2010-05-15 Carlos Alberto Cortez + + * TabControl.cs: Properly implement ItemSize, which should depend on + Font and ImageList -if available-, instead of having a fixed height. + Setting ImageList should cause a Redraw also. + Fixes #599950. + +2010-05-15 Carlos Alberto Cortez + + * TabControl.cs: ItemSize should be returning two times the padding + values instead of one. + +2010-05-14 Carlos Alberto Cortez + + * TabControl.cs: ItemSize should include the padding value. + Update the retrieval of this info in SizeTab as well. + Fixes part of #604034. + +2010-05-11 Carlos Alberto Cortez + + * ScrollableControl.cs: It seems .Net is creating DockPadding lazyly, + which means that *any* padding for children controls is not applied + *until* DockPadding is accesed using its getter. + * FlowLayoutPanel.cs: + * TableLayoutPanel.cs: + * Form.cs: These children classes need to have the DockPadding + property available *always*, so create it for them in their respective + constructors. + Fixes #599506. + +2010-05-09 Carlos Alberto Cortez + + * ListView.cs: Properly adjust SmallChange and LargeChange values for + our scrollbars depending on the view. Also, update the maximum allowed + value when setting the values from SetScrollValue to use the already + available information contained within them. + Fixes the remaining bits of #543785. + +2010-05-06 Carlos Alberto Cortez + + * ListView.cs: When calculating the scrollbars, take into account the + height of the horizontal scrollbar (if visible) to assign the maximum + value for our vertical one. + Fixes #543785. + +2010-05-06 Carlos Alberto Cortez + + * TreeNodeCollection.cs: Do some clean up by renaming some of our + local vars in Add and AddSorted, so we have better readibility. + Patch from Thomas Goldstein (stifu@free.fr). + +2010-05-06 Carlos Alberto Cortez + + * TreeNodeCollection.cs: When adding a sorted node return the correct + position of that node instead of returning the count. + Patch from Thomas Goldstein (stifu@free.fr). + +2010-05-06 Carlos Alberto Cortez + + * TreeNodeCollection.cs: In SetupNode remove the redundant check, + since we only need to have a valid tree view to call UpdateBelow. + Patch from Thomas Goldstein (stifu@free.fr). + +2010-05-04 Geoff Norton + + * XplatUICarbon.cs: Patch from adrian.taylor@realvnc.com to avoid + blocking the message loop while processing events. + +2010-05-03 Carlos Alberto Cortez + + * ListView.cs: Just as we did with TreeView, start the drag + computation in MouseDown instead of MouseMove, in order to avoid + firing the ItemDrag event more than one time per clicked item. + +2010-05-03 Carlos Alberto Cortez + + * ComboBox.cs: our internal textbox should show selection only if it + is enabled. Don't set HideSelection since it's preventing us + from correctly hide the selection when needed. Finally connect a + handler in case our parent ComboBox gets its Enabled state changed. + Fixes #600433. + +2010-05-03 Carlos Alberto Cortez + + * TreeView.cs: Set our internal fields related to the starting drag + position from MouseDown to MouseMove - we need to make sure + that the OnItemDragged event is fired only *one* time per element + clicked. + Fixes #551734. + +2010-05-03 Carlos Alberto Cortez + + * TreeNodeCollection.cs: Instead of Sorting from SetupNode, do it + directly from Add (which uses AddSorted for this purpose) and Insert. + This way we first avoid a double sort, take advantage of our fast + version of Add for the default sorting, and also supress the call to Sort + when using our indexer setter (.Net ignores the sorting in this case). + +2010-05-02 Carlos Alberto Cortez + + * TreeNodeCollection.cs: When Adding a new node don't remove it from + any previous collection. Even if this seems a little buggy, this is + what .Net does. + Fixes #601766. + +2010-05-02 Carlos Alberto Cortez + + * StatusStrip.cs: In SetDisplayedItems call ClearInternal on + displayed_items instead of Clear, since this is only an internal + collection and we don't want to have our items have their Parent/Owner + modified. + Fixes the remaining bits of #590100. + +2010-05-02 Ivan Zlatev + + * DataGridViewCell.cs: Avoid a NRE in GetValue if the cell doesn't + have a DataGridView associated yet. + [Fixes bug #600786] + +2010-05-01 Carlos Alberto Cortez + + * ToolStripItemCollection.cs: When calling Clear set Owner and Parent + properties to null for each of the items in the collection, just as + Remove/RemoveAt do. Implement a ClearInternal method that clears the + collection without modifying the mentioned properties. + * ToolStrip.cs: + * ToolStripOverflow.cs: Call ToolStripItemCollection.ClearInternal + for our internal collections. + This should fix #590100, which producing a race when the garbage + collector was calling ToolStripItem.Dispose, which in turn was firing + a Layout in the ToolStrip. + +2010-04-27 Ivan Zlatev + + * DataGridView.cs: Fix multiple issues when inserting and adding new + columns. + +2010-04-27 Carlos Alberto Cortez + + * ToolStripSplitButton.cs: + * ToolStripDropDownItem.cs: + * ToolStripMenuItem.cs: Update overrides. + * ToolStripItem.cs: Pass the number of clicks to HandleClick when + firing OnMouseUp, so we can later fire either OnClick or + OnDoubleClick. + + Fixes #558632. + +2010-04-26 Carlos Alberto Cortez + + * RichTextBox.cs: When emitting the complete RTF value escape chars + above 0x80, at .Net seems to do. This way we are able to make + round-trip assignations between the setter and getter of the + RichTextBox.Rtf property. + Fixes part of #586901. + +2010-04-26 Ivan Zlatev + + * DataGridView.cs: Handle all possible cases for when a new column is + added and there are existing rows with existing cells both in the + non-databound and the databound scenario. + [Fixes bug #583387] + +2010-04-26 Carlos Alberto Cortez + + * XplatUIX11.cs: When retrieving data from the x11 clipboard and we + are using either XA_STRING or OEMTEXT try to detect if we have escaped + unicode chars, and unescape them as needed. This us used by some + (gnome) applications to pass unicode chars in a non-unicode context. + Fixes #596402. + +2010-04-25 Ivan Zlatev + + * DataGridViewCellCollection.cs, DataGridView.cs: + Ensure column cell templates are properly applied. + [Fixes bug #583404] + +2010-04-24 Ivan Zlatev + + * DataGridViewColumnCollection.cs: When adding a column also + set the DisplayIndex if its now set by the user already. + [Fixes bug #583387] + +2010-04-19 Carlos Alberto Cortez + + * NotifyIcon.cs: Make BalloonWindow expose the owner's Handle. + * Theme.cs: + * ThemeWin32Classic.cs: Add a HideBalloonWindow method to force to + close an active balloon window. + * XplatUIX11.cs: When removing from the system tray try to close + the balloon window. This is important when we hide a NotifyIcon and + thus need to close its related balloon window as well. + Fixes bits of #590093. + +2010-04-19 Carlos Alberto Cortez + + * XplatUIX11.cs: When adding a NotifyIcon to the system tray, mark its + Hwnd.mapped as true, since its handle is going to be mapped later by + the tray (not us), but we need to know it's alive and can later properly unmap + it. + Fixes part of #590093. + +2010-04-16 Carlos Alberto Cortez + + * TreeNodeCollection.cs: When adding/inserting/setting a new node call + TreeView.Sort if needed, and update/recalculate this entire + collection in that case. + * TreeView.cs: Make 'sorted' internal, instead of directly using + Sorted, as this one could trigger a complete Sort() operation. + +2010-04-14 Carlos Alberto Cortez + + * TreeView.cs: We must use the comparer supplied by TreeViewNodeSorter + *always*, since it is used recursively, so checking for a number of + top level nodes is useless. This should fix a case where we were not + sorting any node with a single root node. + +2010-04-14 Carlos Alberto Cortez + + * DataGridView.cs: Call the base Paint impl last, instead of do that + at the beginning, to let handlers draw on top of us. + Fixes the remaining bits of #587563. + +2010-04-14 Carlos Alberto Cortez + + * ToolStripItem.cs: Separate the background rendering from the Paint + routine, so we can both make sure the background stuff is done first, + and we also let our items fire the OnPaint event handlers before or + after their own routines. + * ToolStripLabel.cs: Move the base call to OnPaint to the end, so any + user's Paint handler can draw on top of us, like .Net does. + Fixes #587563. + +2010-04-13 Carlos Alberto Cortez + + * XplatUIX11.cs: When checking for the values returned by + _NET_WORKAREA, use current_desktop+1 instead of current_desktop, since + we need the actual value, instead of the index (which is 0 based, and + is not working in this case). Patch by Andy Stühr + (andysmuell@hammerhartes.de). + Fixes #494234. + +2010-04-04 Carlos Alberto Cortez + + * ToolTip.cs: Make TipState internal. + * ToolStrip.cs: Use the same idea of ToolTip'state to have our + internal timer close the tooltip window after a delay, instead of + waiting for the mouse to move to a different item. Also, hide the + tooltip window when the handle is destroyed, and also when the control + is getting hidden. + Fixes #581273. + +2010-03-31 Carlos Alberto Cortez + + * ListView.cs: Selection should be available after the first time the + handle has been created, even if later the handle is destroyed or + temporary invalidated. + Fixes #584070. + +2010-03-01 Carlos Alberto Cortez + + * TreeView.cs: When receiving a double click on a node, toggle it only + if it has one or more nodes - just as .net does. + Fixes #578079. + +2010-03-01 Carlos Alberto Cortez + + * X11Keyboard.cs: Small correction for the previous patch: I forgot to + take into account the case where the buffer used in XLookupString is + not empty, but filled with garbage. + +2010-03-01 Carlos Alberto Cortez + + * X11Keyboard.cs: When handling the key events, sometimes calling + either Xutf8LookupString or XLookupString with special chars (such + backspace and enter) can result in a buffer filled with garbage, or + empty - thus re-use the value returned by the same functions to fill + the gap. + Fixes #582691. + +2010-02-25 Ivan Zlatev + + * Control.cs: ControllCollaction IList implementation wasn't calling the + Add implementation causing ParentChanged and all sorts of other events not to + get fired. + [Fixes bug #580042] + +2010-02-25 Ivan Zlatev + + * DataGridView.cs: If we are setting a new data source and it is + data bindable clear DataMember before binding. + [Fixes bug #554296] + +2010-02-25 Ivan Zlatev + + * DataGridViewCheckBoxCell.cs: Toggle the checkbox on Space key press. + [Fixes bug #574259] + +2010-02-17 Carlos Alberto Cortez + + * RichTextBox.cs: When retrieving SelectedRtf/Rtf properly escape any + RTF reserved char, so we don't end up messing around the actual rtf + values. + Fixes part of #575731. + +2010-02-16 Carlos Alberto Cortez + + * Line.cs: When setting the Text property, if the new text is larger + than the previous one, call Grow to update our internal 'widths' + array, to be properly in sync with the new text. + Fixes #569530. + +2010-02-10 Carlos Alberto Cortez + + * TabControl.cs: When calculating the layout for the tab pages, take + into account the ImageList size info if it exists, even if it is + empty. + +2010-02-03 Carlos Alberto Cortez + + * StatusStrip.cs: + * XplatX11.cs: + * X11Structs: Implement the new BeginMoveResize method, designed to + instruct the window manager to init a resize operation on a top level + form. This is used by StatusStrip. + * XplatUI.cs: + * XplatUIDriver.cs: + * XplatUIWin32.cs: + * XplatUICarbon.cs: Fill the gaps by creating stubs and updating the + method calls. + Fixes #573299. + +2010-02-01 Carlos Alberto Cortez + + * ComboBox.cs: When creating DrawItemEventArgs pass the fore color and + back color arguments depending on the higlight/focus state, just like + .net. + Fixes #572643. + +2010-01-20 Carlos Alberto Cortez + + * ComboBox.cs: When the normal drop down window is closed, make sure + that the auto complete list -if any- is closed as well, instead of + stay open without need. + +2010-01-20 Carlos Alberto Cortez + + * TextBox.cs: When showing the autocomplete listbox, make sure it's on + top, by calling the raw XplatUI.SetZOrder for it, since we can't + properly call BringToFront on it as it is parentless. This fixes an + issue when using this feature with ComboBox's own parentless listbox. + Fixes the remaining bits of #489339. + +2010-01-19 Carlos Alberto Cortez + + * XplatUI.cs: + * XplatUIDriver: + * XplatUICarbon: + * XplatUIWin32: + * XplatUIX11.cs: + * XplatUIStructs: Implement support for different kind of audible + alerts in Windows, and update the requiered classes. + * MessageBox.cs: + * TextBoxBase.cs: Update calls to XplatUI.AudibleAlert. + Fixes #473725. + +2010-01-18 Carlos Alberto Cortez + + * ComboBox.cs: When use manually setting DropDownHeight, ignore the + MaxDropDownHeight property - also rename our field 'count' to + 'visible_items_count' to avoid confusion as much as possible. + Fixes an issue with several items, showing an incorrect layout. + +2010-01-18 Carlos Alberto Cortez + + * RichTextBox.cs: SelectedText should set Modified to true. Observe + that this is happening just here, not for the Text property, and + neither for the TextBoxBase impl. + Fixes #569950. + +2010-01-10 Carlos Alberto Cortez + + * ToolStripMenuItem.cs: Put the Checked/CheckState logic in a single + place and synchronize the events properly. Fixes a lack of + coordination between the events - which should be fired together. + +2010-01-09 Carlos Alberto Cortez + + * TrackBar.cs: Move our events code to a single method, allowing it to + optionally fire the Scroll event. This way we both avoid the + duplicated calls to OnScroll and also will be able to fire Scroll + *before* OnValueChanged in other places. + Fixes #568026. + +2010-01-04 Carlos Alberto Cortez + + * RadioButton.cs: When drawing, if Appearance is Button use the old + normal routine in the theme engine, instead of using the one in 2.0, + since this last one doesn't support proper rendering of the control as + a button. + Fixes #567904. + +2010-01-03 Carlos Alberto Cortez + + * GroupBoxRenderer.cs: Properly use SystemColors.GrayText to draw to + text of the group box if it is disabled. + Fixes #567847. + +2009-12-15 Carlos Alberto Cortez + + * Control.cs: When changing the cursor and updating it, do update the + cursor immediately even if there's a child control under the current + cursor position - this is exactly what .net does. + Fixes #555780. + +2009-11-19 Carlos Alberto Cortez + + * DataGrid.cs: In OnLeave, do cancel or end current edit, depending on + the commit_new_row value, instead of just trying to cancel if a new + row had been added. This is important when modifying existing rows and + then moving the focus out of the control. + +2009-11-17 Carlos Alberto Cortez + + * XplatUICarbon.cs: Implement the overriden AudibleAlert + function in XplatUICarbon. Currently it throws + NotImplementedException which will kill a WinForms application showing + a dialog box. + Patch by Erik Ylvisaker (erik@agatelib.org). + +2009-11-17 Carlos Alberto Cortez + + * DataGrid.cs: In CurrentCell, the check to do nothing in case we are + in the same cell as specified *and* not editing is wrong. + +2009-11-16 Carlos Alberto Cortez + + * DataGrid.cs: When removing the cells, don't do anything if the + specified row is the extra cell we use to add new ones. + +2009-11-16 Carlos Alberto Cortez + + * DataGrid.cs: CurrentCell should be *used* if the new value is the + same as the current one, since we could need to activate the edition + in the current row. Also, when beginning the edition, do nothing if, + basides having an empty source, we are sure we don't have the new + cell, which could obviously start it. + Fixes other bits of #323154. + +2009-11-16 Carlos Alberto Cortez + + * DataGrid.cs: When we get notified by a change in the position of our + data source, don't set CurrentRow if the source is empty, as there's + no need to do anything else in the first place, and second, the logic + in the CurrentRow setter (public property) will add a new row by + default in this case (that is, when the source is empty). + Fixes part of #323154. + +2009-11-16 Carlos Alberto Cortez + + * ToolStripMenuItem.cs: Don't try to use SystemColors.MenuText if fore + color is SystemColors.ControlText, as this system color detection + should be done *completely*. This is specially important when + detecting colors in systems running Gtk+ and dark themes. + +2009-11-11 Carlos Alberto Cortez + + * DataGrid.cs: Add a new internal property to get the maximum possible + visible rows in the grid. We cannot use VisibleRowCount since this + value can, depending on the scroll position, return a +1 or -1 value, + so we need an absolute way to know whether we need a scroll bar or + not. Also, update VLargeChange to avoid code duplication. + Fixes a vertical scroll mismatch happening trying to add a new row + while the scrollbar has reached its maximum value. + +2009-11-09 Carlos Alberto Cortez + + * DataGridTextBoxColumn.cs: + * DataGrid.cs: Position the cursor in the add row should *not* show + yet another new row - that will happen till we get any real input data + from the user. When that happens, we will also mark the new row as + ready to commit - otherwise, when the cursor moves to a different row, + the just added row will be discarded. This is exactly what .Net seems + to do. + +2009-11-09 Carlos Alberto Cortez + + * DataGrid.cs: The large value for our vertical scrollbar should + depend on the number of visible rows, instead of trying to re-use the + value of VisibleRowCount, which is the value of *current* visible + rows, and can easily end messed up if new rows are added/removed. + +2009-11-09 Carlos Alberto Cortez + + * DataGrid.cs: When moving the scroll, *dont* ever end the current + edit - this could seriously mess up our current edit cycle, specially + when adding new rows. + +2009-11-02 Carlos Alberto Cortez + + * TabControl.cs: In OnKeyDown call the base implementation first - + this way we let the user tell us whether we should handle the key or + not. + Fixes #543717. + +2009-11-02 Carlos Alberto Cortez + + * DataGrid.cs: Implement removal of rows the Correct Way by creating a + copy of the indexes, as any direct write access to the source will cause to + reset the entire selection - also, do the linear de-selection in + reverse order to avoid any index mismatch in the source, due to out of + synchronization removing the rows. + +2009-11-02 Carlos Alberto Cortez + + * DataGridTextBoxColumn.cs: + * DataGrid.cs: Don't use this add-pending behaviour to try to add a + new row until we have the first input char - it was helping us to fix + other issues we have/had, but it's not matching .net. + +2009-10-30 Carlos Alberto Cortez + + * TextBoxBase.cs: When returning the preferred height, and we are + supposed to be borderless, return the TopMargin value - usually in + borderless mode it has a value of 0, but in the ToolStrip controls we + need to set the margin manually. + Fixes #551214. + +2009-10-29 Carlos Alberto Cortez + + * ToolTip.cs: ShowAlways works at the form level, not at the control + level. Fixes #544565. + +2009-10-28 Carlos Alberto Cortez + + * ButtonBase.cs: Usually the click routines are handled in Control, + but in this class we are handling it ourselved, thus we need to have + the same calls, and we were missing the call to MouseClick. + Patch by Eric Petit . + +2009-10-26 Carlos Alberto Cortez + + * ComboBox.cs: When setting Text and data source is being used, if the + passed value is not matching any of the items in the source, don't + pass it to GetItemText, since it's useless, as GetItemText expects a + valid item. + Fixes #546009. + +2009-10-23 Carlos Alberto Cortez + + * ListView.cs: When retrieving an item in virtual mode, as part of the + process calculate its layout, instead of trying to do it later. + * ListViewItem.cs: There's no need to try to infer whether we need to + compute layout or not anymore - we just do it every time we are + returning an item. + This way we should be fixing View changes with cached items, which + were storing the previous value, and not updating their contents + properly. + +2009-10-23 Carlos Alberto Cortez + + * ColumnHeader.cs: Remove the double linear search in the Index + property, by removing the call to Contains, which is not needed. + Also, Columns collection can never be null. + +2009-10-23 Carlos Alberto Cortez + + * ColumnHeader.cs: When calculating the width and height of the + column, try to expand to the right and use all the free space if we + are the last column *and* the resize mode is set to -2/header content. + Fixes #544716. + +2009-10-14 Carlos Alberto Cortez + + * ListView.cs: When retrieving the top item, take into account the + offset represented by the header control, to retrieve the proper + value. Patch by Christoph von Wittich (Christoph at ApiViewer.de) + Fixes the remaining bits of #543773. + +2009-10-14 Carlos Alberto Cortez + + * ListView.cs: TopItem setter should set the value as the top, not + only ensuring its visibility. + Fixes part of #543773. + +2009-10-12 Carlos Alberto Cortez + + * ListView.cs: For virtual mode, when navigating the items using keyboard, + don't use the matrix of positions, and instead calculate the positions + based on the number of cols and rows, taking advantage of the fixed + positions of items. Use the same idea to implement FirstVisibleIndex, + so we avoid iterating over all the items. Patch by Stephen Robinson + mono at esar.org.uk. + Fixes part of #467418. + +2009-10-12 Dick Porter + + * Splitter.cs: Adjust offsets when more than one splitter is + present in a control. Fixes bug 509472. + +2009-10-07 Carlos Alberto Cortez + + * ListView.cs: When computing the value for groups height don't use + text_size field, since in LargeIcon view it sometimes contains a + double height value - use Font.Height directly, and also improve the + padding value. + * ThemeWin32Classic: The same as above. + This way the space between the group header, the line, and the items + area is not that big in LargeIcon view. + +2009-10-04 Carlos Alberto Cortez + + * ListView.cs: When retrieving the fixed positions for the items in + virtual mode, use the row value to compute the coords of the item, + instead of the col value, as opposed to SmallIcon/LargeIcon views. + +2009-09-29 Carlos Alberto Cortez + + * ListView.cs: The location of the items should be computed on the fly + in virtual mode - that decreased speed overall, but reduces the load + time.that decreased speed overall, but reduces the load time. Also, + handle the cases where we were using data structures we don't need to + use/create for this mode. + Fixes part of #467418. + +2009-09-28 Carlos Alberto Cortez + + * ListView.cs: Tile view and VirtualMode can't be applied together. + Patch by Stephen Robinson . + +2009-09-28 Carlos Alberto Cortez + + * ListView.cs: When calculating the layout for Details view, don't ask + for the items *at all* in case we are in virtual mode. This should + re-enable the proper behaviour of virtual mode. + +2009-09-26 Jonathan Pobst + + * TreeNode.cs: When we invalidate a node, make sure we start at + 0, instead of the node's Bounds.Left, which does not include + the +/-, checkbox, or stateimages. + [Fixes bug #542481] + +2009-09-24 Ivan N. Zlatev + + * DataGridView.cs: Compare the name and not displayname of properties + when checking if the column is already bound. + +2009-09-21 Carlos Alberto Cortez + + * RichTextBox.cs: For SelectedRtf, after inserting the stream, adjust + the position of the caret by adding the needed chars represented by the new line chars, + according to the system, using rich *or* hard new lines as needed. Also do a + check to be sure we don't move the cursor position beyond the limits + of our text. This should avoid problems with text being pasted, + regarding the position of the caret. + +2009-09-16 Carlos Alberto Cortez + + * RichTextBox.cs: When SelectedRtf is set, and we are in the 0 + position in the x axis, force to re-use any already available line, + even if it is not empty. This way pasting text into our textbox in the + beginning for non empty lines should work fine. + +2009-09-14 Carlos Alberto Cortez + + * RichTextBox.cs: When we are inserting a flow of rtf text, and we are + *not* loading it from a file, try to re-use a line if already + available, since the default behaviour of the parser is to create new + lines for the document. + This should fix a regressions we found after the last fix for #513030. + +2009-09-14 Tom Hindle + + * ToolStripOverflow.cs: Fixes #536036 by adding null ptr check. + +2009-09-11 Ivan N. Zlatev + + * PropertyGrid.cs: Hide the splitter when the help is hidden. + +2009-09-11 Ivan N. Zlatev + + * InternalWindowManager.cs: Call Invalidate-Update instead of + Refresh for MS compitability. Note also that Refresh is virtual + and several controls override it in order to provide data refresh + functionallity on top of the redraw and they do not expect this + extra refresh call. + * Control.cs: In Refresh Invalidate the control and all children + insead of calling Refresh for each of them. + [Fixes bug #538336] + +2009-09-11 Ivan N. Zlatev + + * PropertyGrid.cs: Always set the help panel properties on the + internal control, because they are inherited and can change with + the parent. + [Fixes bug #525305] + +2009-09-08 Carlos Alberto Cortez + + * RichTextBox.cs: When processing rtf, don't add a new line if we + already have one for that position. This way we avoid overriding by + mistake our lines when copying/pasting. + Fixes #513030. + +2009-09-07 Carlos Alberto Cortez + + * TextControl.cs: When inserting new lines, look for the end of file + char, and remove chars after it. This is unlikely to happeng either + loading a file, pasting text or pressing a char, but can happen using + the TextBox.Text property. + Fixes #535884. + +2009-09-06 Carlos Alberto Cortez + + * Line.cs: In DeleteCharacters, cache line.Length for every tag, since + tag.Start changes will modify it indirectly and then we would end up + with wrong values. + Fixes #512521. + +2009-09-03 Ivan N. Zlatev + + * BindingSource.cs: Implement support for chained data sources. + * ListBindingHelper.cs: Add support for ICurrencyManagerProvider and + clean up. + [Fixes part of bug #536547] + +2009-09-01 Carlos Alberto Cortez + + * RichTextBox.cs: When saving the text to a file using SaveFile use + Environment.NewLine to separate the lines. This way we should be + saving the files according to the system. + Fixes the remaining part of #511515. + +2009-08-31 Carlos Alberto Cortez + + * RichText.cs: Remove some unix new line characters and use + Environment.NewLine. Fixes part of #511515. + +2009-08-28 Carlos Alberto Cortez + + * TextBoxBase.cs: Modified should *not* be modified from the Text + property, as our new tests show. It should be to false, however, in + Append and Clear; and Paste, Cut, Undo, and direct user input should set it + to true. Also, as opposed to what the .net docs say -but proven by our + tests-, the changes should be generating a ModifiedChanged event + (thus we set the property, instead of the field). + Fixes #511267. + +2009-08-27 Ivan N. Zlatev + + * DataGridView.cs: Fire the CellDoubleClicked event. + [Fixes bug #533430] + +2009-08-27 Ivan N. Zlatev + + * DataGridView.cs: Add support for column DataGridViewAutoSizeColumnMode + DisplayedCells and DisplayedCellsExceptHeader. + [Fixes bug #533435] + +2009-08-27 Carlos Alberto Cortez + + * TextControl.cs: When removing a simple char, actually record the + action in the undo manager. This way we both support undoing the + removal of chars using backspace/delete, as well as keeping data + integrity when other undo tasks are performed. + Fixes #531983. + +2009-08-24 Carlos Alberto Cortez + + * Control.cs: Remove the ancient code in ResetText, which was setting + the internal field to String.Empty, instead of doing it for our Text + property, as .net does (which also causes a TextChanged event and all + the other related routines). + Fixes #531587. + +2009-08-24 Carlos Alberto Cortez + + * TreeNodeCollection.cs: Correctly implement Contains by using a + linear search - there's no possible way to use a binary search, since + the node instances are not implementing IComparable, nor have a + specific order. + Fixes #529927. + +2009-08-24 Carlos Alberto Cortez + + * DataGrid.cs: If we are *not* changing a row + already added to the source, and thus we are adding a new + row instead, try to move to the previous row when Esc is + pressed -if possible-. + Fixes some bits of #322974. + +2009-08-24 Carlos Alberto Cortez + + * DataGridTextBoxColumn.cs: + * DataGrid.cs: Moving the cell to the add row (the last one) should + not immediately add a new row - this should happen until the very + first change happens in that textbox. + Fixes part of #322974. + +2009-08-19 Carlos Alberto Cortez + + * ToolStripDropDown.cs: When assigning the owner item, use its Font as + well. + +2009-08-17 Carlos Alberto Cortez + + * ToolStripItem.cs: When the owner changes its Font, call the + OnFontChanged event, so we let our users know that we likely have a + new font - since Font is an ambient property. + * ToolStripDropDownItem.cs: When our Font changes, propagate that + information to our DropDown control, if any. + Fixes #531515. + +2009-08-17 Carlos Alberto Cortez + + * DataGrid.cs: + * ThemeWin32Classic.cs: When the user clicks on a new cell, we should reset any + previous selection, just like .net does. Also, in the cases where a + cell is being edited and it keeps the selected status, use the normal + colors for it, and use the selected colors for the rest of the columns of + that row. + Fixes the remaining bits of #323051. + +2009-08-16 Carlos Alberto Cortez + + * DataGrid.cs: When getting ProcessKeyPreview fired, call Edit() if we + are not editing already - so the edition is actually active on our + column style textbox. Also, it seems the code handling process the + grid keys is repeated, but instead of removing it, just comment it for + now. + Fixes part of #323051. + +2009-08-13 Carlos Alberto Cortez + + * AsyncMethodResult.cs: Store a exception field in case the called + method actually caused an exception. This way we can throw it later. + * XplatUIDriver.cs: Check if the async method result has an exception + - throw it if needed. + The idea is that Control.Invoke throws the exception from the thread + that called it, not the main MWF thread. + Patch by Tom Spink . Fixes #497175. + +2009-08-12 Carlos Alberto Cortez + + * DataGrid.cs: In mouse move we need to shift the selection in case + the pointer is on the row headers. + Fixes #323052. + +2009-08-11 Ivan N. Zlatev + + * SplitContainer.cs: Avoid updating the splitter distance if it hasn't + moved. Updating the distance was causing a re-layout which was resetting + the clicks counter and preventing DoubleClick from every firing. + [Fixes bug #521387] + +2009-08-11 Carlos Alberto Cortez + + * DataGrid.cs: When a new TableStyle is added, don't create new + columns for it unless it is empty - this is the correct way to both + respect the columns if they were provided by our user, or create them + for him in case the column collection is empty. + Fixes #323111. + +2009-08-10 Carlos Alberto Cortez + + * DataGrid.cs: Actually call BindColumns in the handler for + ListManager.MetaDataChanged, since the current code is already taking + into account the scenario when a custom table style is used - this was + confusing us before, and that's why we commented the call to + BindColumns. Also call CallAreasAndInvalidate, to properly reflect the + changes as needed. + Fixes #465021. + +2009-08-10 Carlos Alberto Cortez + + * DataGrid.cs: When setting the data source, if we have a user + provided table style available, force a complete bind in case the + column styles for that table style is empty. + +2009-08-09 Ivan N. Zlatev + + * DataGridViewCell.cs: Handle null and DBNull values. + +2009-08-07 Rodrigo Kumpera + + * ListBindingHelper.cs: Fix the 1.0 build by making this type available + under that profile. + +2009-08-07 Ivan N. Zlatev + + * CurrencyManager.cs: Remove duplicate code. + +2009-08-07 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewCell.cs, DataGridViewColumn.cs: + Massive population performance boost. From seconds to ms. + [Fixes bug #528887] + +2009-08-04 Carlos Alberto Cortez + + * DataGrid.cs: When handling mouse down on a column, don't do any sort + even if the list supports it if we are empty. This way we avoid an exc + sorting the empty list, and keep the UI compatible with .net. + +2009-08-04 Carlos Alberto Cortez + + * DataGrid.cs: In Edit () check we have any row before trying to use + the current row. Fixes a IOOR exc with an empty data grid. + +2009-08-03 Carlos Alberto Cortez + + * DataGridColumnStyle.cs: Don't call CheckValidDataSource when setting + the owner DataGrid - even if this seems to be the right thing to do, + .net is not doind this check at this point, but in later operations. + Fixes #465019. + +2009-07-28 Mike Gorse + + * ToolStripMenuItem.cs: Added UIA CheckOnClickChanged event. + +2009-07-28 Carlos Alberto Cortez + + * Application.cs: Make FilterMessage internal for 1.1. Fixes the 1.1 build. + +2009-07-28 Carlos Alberto Cortez + + * XplatUIX11.cs: + * XplatUIWin32.cs: We need to filter the messages using + Application.FilterMessage for our DoEvents implementations. Observe + that I don't like the idea of XplatUI call the upper level Application + class, but at this point is easier and simpler to do this call - based + on the fact it's only one simple call. + Fixes #516735. + +2009-07-28 Carlos Alberto Cortez + + * TreeNodeCollection.cs: When removing the selected node, set the + SelectedNode value of TreeView to null if there aren't more nodes left - + this is better than to clear the selected node in Clear, since we need + to handle the situation in the Remove methods as well. + Fixes #525002. + +2009-07-24 Carlos Alberto Cortez + + * ToolStripItemCollection.cs: Find should do a case insensitive + search, and should throw an ArgumentNullException if the parameter is + an empty string. + +2009-07-23 Carlos Alberto Cortez + + * PropertyGrid.cs: Use click handlers for each ToolStripButton instead + of using a global handler for the ToolStrip. This way the buttons can + be recovered and can have its PerformClick method called properly. + Fixes #522454. + +2009-07-20 Carlos Alberto Cortez + + * X11Dnd.cs: Implement support for XdndActionList, so we can get the + complete list of the supported actions in the drag source, and use the + action passed in the Position message only as a fallback. This will + help us with dnd operations with non winforms apps. + Fixes #402158. + +2009-07-20 Carlos Alberto Cortez + + * ToolStripItemCollection.cs: Use a List<> instead of an ArrayList in + Find. This should fix the exception we were getting when trying to + convert the ArrayList to an array of objects (since we were losing the + type parameter). + Fixes #519944. + +2009-07-17 Carlos Alberto Cortez + + * RadioButton.cs: Setting Checked when none of the sibligs is checked + should happen *not* in GotFocus, but in the Enter event. This is + specially important since we should get that Checked behaviour even if + no handle is created yet - and thus, no actual GotFocus call happens at + the time. + Fixes #520764. + +2009-07-16 Carlos Alberto Cortez + + * ComboBox.cs: Adjust manually the top border for out internal + ComboBox, since removing the border from it leaves it without any + margin. This is not noticeable in a default ComboBox, but it is in an + instance shown on top of ToolStrip. + Fixes the remaining part of #507462. + +2009-07-13 Carlos Alberto Cortez + + * TextBoxBase.cs: Expose the margin top width as a property, to keep + the code clean. + * ToolStripTextBox.cs: Since we are actually using no border in the + default TextBox impl, and we are drawing the border ourselves, we need + to manually set the top margin. + Fixes part of #507462. + +2009-07-06 Carlos Alberto Cortez + + * PrintPreviewDialog.cs: Record when left was pressed, so we can + simulate Tab+Alt when moving the focus throughout our buttons and + controls. + Fixes the remaining bits of #509142. + +2009-07-05 Carlos Alberto Cortez + + * TabControl.cs: When computing the width of each tab page, use the + page's Font instead of the tab control one. + Fixes #514368. + +2009-07-03 Carlos Alberto Cortez + + * MenuAPI.cs: When handling the Keys.Left key, don't close the menu if + the current menu is specifically a ContextMenu (this is what .net does + as well). This way we also avoid a crash caused by MenuTracker trying + to use the menu when it was already hidden. + +2009-07-03 Carlos Alberto Cortez + + * PrintPreviewDialog.cs: Remove the code used to handle the + DropDown menu, since we are now doing it by default in ToolBar, and + just call the base impl as needed.Also, deactivate the dropdown menu + before moving the focus to a different button in our toolbar, as .net + does. + * ContextMenu.cs: + * MenuAPI.cs: Make as internal the needed bits to deactivate a + ContextMenu, and also to keep some beauty in our api. + +2009-07-02 Carlos Alberto Cortez + + * ToolBar.cs: When handling the key down message, if we are on a + drop down button, either show the DropDownMenu or pass the key to its + ProcessCmdKey method as needed. + Fixes the remaining bits of #509985. + +2009-06-29 Carlos Alberto Cortez + + * ToolBar.cs: Isolate the event logic related to OnButtonClick. Also + set current_item when navigating with the keyboard, so we can use it + properly later. Finally, handle both Enter and Space to fire + OnButtonClick *only*, without any other impact, as .net does. + Fixes part of #509985. + +2009-06-29 Carlos Alberto Cortez + + * MenuAPI.cs: Close any active menu when we get a simple Alt. + Fixes #509299. + +2009-06-26 Carlos Alberto Cortez + + * ToolBar.cs: In OnButtonClick only change the Pushed value for + buttons with toogle style. We were previously doing it for + DropDownButton's buttons, but that's not what .net is doing. + Fixes #510030. + +2009-06-26 Atsushi Enomoto + + * XplatUICarbon.cs : support multi-byte text input. + Fixed bug #501276. + +2009-06-22 Carlos Alberto Cortez + + * ListBox.cs: When creating DrawItemEventArgs, pass either + Theme.ColorHighlightText or ForeColor depending on the selected state + of our item, as .net does. + Fixes #512115. + +2009-06-22 Carlos Alberto Cortez + + * ComboBox.cs: When handling WM_CHAR, process the message first, and + send it to the textbox only if it wasn't handled. + Fixes #507459. + +2009-06-18 Jonathan Pobst + + * ComboBox.cs: Only do my big sort at the end of AddRange if + the combobox is actually set to Sorted. + +2009-06-18 Tom Hindle + + * XplatUIX11.cs: Enabled Text to coexist with custom data formats. + Fixes #511849. + +2009-06-18 Carlos Alberto Cortez + + * ListBox.cs: When calculating the scrollbars for non MultiColumn + mode, force the use of the horizontal scrollbar only if + ScrollAlwaysVisible is true as well. + Fixes #513029. + +2009-06-17 Jonathan Pobst + + * ComboBox.cs: When using AddRange on a sorted combobox, don't + try to use our inefficient sorted insert method, just append + it and sort the whole thing at then end. + [Fixes bug #511247] + +2009-06-16 Carlos Alberto Cortez + + * ToolBar.cs: Expose as internal the code used to show a dropdown menu. + * PrintPreviewDialog.cs: Handle the down/up arrow keys for our + DropDown element. + Fixes #509152. + +2009-06-16 Ivan N. Zlatev + + * DataGridView.cs: Scrolling fixes. + [Fixes bug #512816] + +2009-06-16 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewRowCollection.cs: Clean up a bit and + optimize for batch adding rows. + +2009-06-16 Ivan N. Zlatev + + * DataGridView.cs: Avoid calling ReBind twice during the initial data + binding. + [Fixes bug #512807] + +2009-06-16 Ivan N. Zlatev + + * DataGridView.cs: Suppress invalidation during data binding. + [Fixes part of bug #512807] + +2009-06-15 Carlos Alberto Cortez + + * PrintPreviewDialog.cs: Tune the navigation among the buttons and + controls that are part of our ToolBar, so we can mimic the behaviour + observed in .Net, by handling also the arrow keys and doing the + preprocess for them too. + Fixes the remaining bits of #509142. + +2009-06-12 Carlos Alberto Cortez + + * ToolBar.cs: Expose the current item as internal. + * PrintPreviewDialog.cs: Tune the TabStop property for + PrintPreviewControl/ToolBar so we match the .net scenario regarding + Tab navigation. Also implement support to navigate throughout the + items in the ToolBar. + Fixes #509142. + +2009-06-09 Ivan N. Zlatev + + * DataGridViewComboBoxCell.cs, DataGridViewComboBoxColumn.cs: + Implement items syncing in the non-databound scenario. + [Fixes bug #494031] + +2009-06-09 Ivan N. Zlatev + + * DataGridView.cs: Call OnCellValidating and OnCellValidated and + handle the Cancel accordingly. + [Fixes bug #506838] + +2009-06-09 Ivan N. Zlatev + + * DataGridViewBand.cs: Fix a typo in DefaultHeaderCellType. + [Fixes bug #506796] + +2009-06-09 Ivan N. Zlatev + + * DataGridViewColumnCollection.cs, DataGridViewRowCollection.cs, + DataGridView.cs: Fire CollectionChangeAction.Refresh collection + changed when Clearing the collections so that the DataGridView + can know and reset the current cell. + [Fixes bug #492549] + +2009-06-09 Ivan N. Zlatev + + * BindingSource.cs: In ResetBindings use the ListChangedEventArgs ctor + with the PropertyDescriptor parameter instead of index, because the + latter will set some irelevant indices. Fixes a bug uncovered by recent + fix to ListChangedEventArgs. + +2009-06-09 Carlos Alberto Cortez + + * DataObject.cs: When looking for any specific format, do a case + insensitive search, as .net does. + Fixes #509199. + +2009-06-09 Ivan N. Zlatev + + * CurrencyManager.cs: In AllowNew firstly check if the list is a + IBindingList and proxy to AllowNew. IBindingList has slightly differet + logic and eventhough it's an IList IsReadOnly should not be used in this + case as it might be True but AllowNew could be True as well. + Fixes a bug uncovered by a fix to the Array class. + +2009-06-08 Carlos Alberto Cortez + + * ListBindingHelper.cs: In GetListItemType do a null check when + looking for IList.Item, since the impl could be explicit, and thus + private. Fix by Florent Fayolle (p.ricca at odyssee-ingenierie.com). + Fixes the remaining part of #507120 + +2009-06-07 Carlos Alberto Cortez + + * DataObject.cs: Map StringFormat/Text/UnicodeText formats properly, + to match them in all the cases, as this is exactly what .net does. + Fixes #510728. + +2009-06-06 Carlos Alberto Cortez + + * ListBindingHelper.cs: In GetListItemType handle gracefully the case + where an instance of IEnumerator returns a null value for its Current + property. Fix by Florent Fayolle (p.ricca at odyssee-ingenierie.com). + Fixes #507120. + +2009-06-05 Carlos Alberto Cortez + + * ComboBox.cs: Properly detect whether we need to use our vertical + scrollbar or not, specially for DropDownList/DropDown styles, + depending on the value of DropDownHeight. + Fixes #508541. + +2009-06-01 Carlos Alberto Cortez + + * ToolTip.cs: Call the base implementation in Dispose, but do it + before anything else to avoid a regression. This way we do the default + routines related to any System.ComponentModel.Container. + Fixes #508586. + +2009-06-01 Carlos Alberto Cortez + + * Clipboard.cs: + * XplatUIX11.cs: + * DataFormats.cs: Implement support for serializable types in our + clipboard. + Fixes #357642. + +2009-05-25 Carlos Alberto Cortez + + * ColorDialog.cs: Actually add the help button to the form, so it can + be visible. + Fixes #478555. + +2009-05-25 Carlos Alberto Cortez + + * PrintPreviewDialog.cs: Don't use Dock.Fill for the + PrintPreviewControl, since it will be hidden in the top by our + toolbar. Use manual location and anchoring instead. + Fixes #474889. + +2009-05-25 Carlos Alberto Cortez + + * FileDialog.cs: When saving the size of the dialog, use the + ClientSize instead of Size, so we have always the same size for the + form. Patch by Alex Shulgin. + Fixes #503064. + +2009-05-25 Carlos Alberto Cortez + + * MessageBox.cs: When showing the dialog call XplatUI.AudibleAlert to + show a beep, similar to what .net does. + Fixes #473725. + +2009-05-23 Carlos Alberto Cortez + + * ContainerControl.cs: + * MenuStrip.cs + * ToolStrip.cs: Implicit mnemonic processing should happen for every + ToolStrip child, not only for MenuStrip, so we are going to do that in + ToolStrip.ProcessMnemonic, where we already had that exactly + functionality, but we are only just checking that either this instance + is a ToolStripDropDownMenu instance or Alt has been pressed. Finally + remove the extra code, since we are not going to use it now. + Fixes the remaining bits of #503663. + +2009-05-21 Neville Gao + + * ContextMenu.cs: Cleaned up UIA properties. + +2009-05-20 Dick Porter + + * XplatUICarbon.cs: Add more locking around MessageQueue + manipulations. + +2009-05-18 Carlos Alberto Cortez + + * DateTimePicker.cs: Call Focus in HideMonthCalendar to avoid + duplication of code, as well as actually getting the focus back in + *any* scenario where the drop down is closed. + +2009-05-18 Tom Hindle + * ScrollableControl.cs: Ignore setting properties HScroll and + VScroll when AutoScroll is true. + [Fixes bug #500213] + +2009-05-18 Jonathan Pobst + + * ToolStripRenderer.cs: Apply patch from Thomas Goldstein to make + disabled graphics look closer to the ones that .Net produces. + [Fixes bug #473660] + +2009-05-18 Carlos Alberto Cortez + + * DateTimePicker.cs: When calculating the max width for the year part, + use the current value, since *all* the possible values are exactly a 4 + digits number. This way we avoid a ArgumentOutOfRangeException trying + to check against different values. + Fixes #500917. + +2009-05-15 Carlos Alberto Cortez + + * MessageBox.cs: When handling ProcessDialogChar, check that + CancelButton is not null before trying to use it, to avoid a null ref + exception. We don't need to do that on the ok/yes buttons, since they + always exist. + Fixes #503935. + +2009-05-15 Carlos Alberto Cortez + + * ListBox.cs: Handle the key down event in WndProc instead of doing it + in an event handler, as we need to avoid any operation in case + the user has handled it in its own OnKeyDown handler, and this can't + be achieved since our handler would be the first one always. + * FontDialog.cs: Update the calls since our method handling key down + has been renamed. + Fixes #503469. + +2009-05-15 Carlos Alberto Cortez + + * Application.cs: We should dismiss the active ToolStrip when we + receive a WM_SYSKEYDOWN message, instead of WM_SYSKEYUP, so the next + keyboard short cut can be properly processed by another menu item. + Fixes part of #503663. + +2009-05-13 Andreia Gaita + + * HtmlDocument.cs: If the objects are strings, wrap them in "" + +2009-05-13 Andreia Gaita + + * HtmlDocument.cs: Fix InvokeScript call (duh). + +2009-05-11 Carlos Alberto Cortez + + * TextBox.cs: Expose IsAutoCompleteAvailable as internal. + * ComboBox.cs: If auto complete is being used, it is needed to update + the actual value of the combo box, doing it immediately if the user + presses Enter, or doing it when our combo box loses focus. Finally, + when handling Enter and Escape keys for the combobox, don't try to + hide the listbox if it is not visible in the first place. + Fixes part of #489339. + +2009-05-11 Carlos Alberto Cortez + + * ToolStripDropDownMenu.cs: Use the height returned by + ToolStripItem.GetPreferredHeight to calculate our own height. + +2009-05-10 Carlos Alberto Cortez + + * TreeNode.cs: When setting Checked, do a double null check, since the + current node can still get a null parent handling + TreeView.OnAfterCheck. + Fixes #502567. + +2009-05-10 Carlos Alberto Cortez + + * Control.cs: When assigning ContextMenu, do a null check before + assigning its container field. + +2009-05-08 Brad Taylor + + * DateTimePicker.cs: Add a UIA-specific property to ensure that if + is_checkbox_checked is changed, we won't break. + +2009-05-08 Andrés G. Aragoneses + + * ToolStripItem.cs: Prevent NRE when our holder is a + ToolStripDropDownButton and we get Select()ed. + +2009-05-08 Carlos Alberto Cortez + + * ToolStripControlHost.cs: DefaultSize must return the current size of + the Control, not the value returned by GetPreferredSize. Also connect + a handle to the control Resize event, and use it to fire + OnHostedControlReize. + Fixes the remaining bits of #483146. + +2009-05-08 Carlos Alberto Cortez + + * ToolStripDropDown.cs: When performing the layout, use + ToolStripItem.GetPreferredSize ().Height instead of + ToolStripItem.Height, since we are already using it that way in this + same method. + Fixes part of ##483146. + +2009-05-08 Brad Taylor + + * DateTimePicker.cs: Wrap UIA specific code in NET_2_0 wrappers. Send + OnUIASelectionChanged when ShowCheckbox is true and the checkbox + recieves focus. Part of fix for #502029. + +2009-05-06 Mike Gorse + + * FileDialog.cs: Add UIAFocusedItemChanged to PopupButtonPanel. + Add PerformClick and PerformDoubleClick to PopupButton. + Fixes #499851. + +2009-05-04 Andrés G. Aragoneses + + * TabControl.cs: call Focus() to emit GotFocus event at the + proper time when SelectionIndex changes. Fixes #499887. + +2009-05-03 Carlos Alberto Cortez + + * MonthCalendar.cs: In SetBoundsCore always do the bounds check to + have valid values, even if BoundSpecified is not including + Size/Height/Width - this is useful when we are in a control using Dock + or Anchor. + Fixes part of #483146. + +2009-04-27 Carlos Alberto Cortez + + * ComboBox.cs: When losing the focus, if our textbox is not null, + close its auto complete list, if any. + Fixes part of #489339. + +2009-04-27 Andrés G. Aragoneses + + * ListView.cs: Make OnColumnClick +internal to be used by a11y. + +2009-04-27 Brad Taylor + + * ToolStripButton.cs: Emit an internal event when CheckOnClick is + changed. + +2009-04-26 Carlos Alberto Cortez + + * XplatUIX11.cs: Properly support UTF8 when handling the + SelectionRequest event - this is helpful supporting some window + managers, such KDE, that explictly request the text in utf8, as + opposed to gnome, that supports ascii. + Fixes #489393. + +2009-04-26 Carlos Alberto Cortez + + * ToolStripDropDownItem.cs: When assigning a new + ToolStripDropDownMenu, let it know we are its OwnerItem. This way the + Capture duties performed by Application/ToolStripManager are handled + nicely and we don't end up in an inconsisten stat. + Fixes #492815. + +2009-04-25 Carlos Alberto Cortez + + * ToolStrip.cs: Even if we are not exactly a MenuStrip instance, close + any ToolStripDropDownItem when receiving a mouse down event in an + empty area. + +2009-04-24 Andrés G. Aragoneses + + * ToolBarButton.cs: add UIA events for style and dropdownmenu changes. + +2009-04-24 Andrés G. Aragoneses + + * ToolBarButton.cs: rename a method to include UIA prefix. + +2009-04-24 Andrés G. Aragoneses + + * ToolBarButton.cs: change visibility of some UIA methods from + protected virtual to private. + +2009-04-24 Carlos Alberto Cortez + + * ToolStripDropDown.cs: In OnVisibleChanged, if we have an OwnerItem, + fire OnDropDownOpened/OnDropDownClosed depending on the new + visibility. This also ensures that any direct access to this instance + will fire the mentioned events for the OwnerItem. + * ToolStripDropDownItem.cs: Remove the invocations to + OnDropDownOpened/OnDropDownClosed, since they are handled in + ToolStripDropDown, as well as updating the + OnDropDownHide/OnDropDownShow calls to be in the right order. + Fixes #496193. + +2009-04-21 Carlos Alberto Cortez + + * Control.cs, ContextMenuStrip.cs, ToolStripMenuItem.cs: Only process any + shortchut in ToolStripMenuItem.ProcessCmdKey if the control generating the + event is the same as the owner of the menu item. Also set properly + SourceControl for ContextMenuStrip, as well as add an internal field to + contain the control that owns the ContextMenuStrip (we need to know this + even before the public property is assigned). + Fixes bits of #393775. + +2009-04-20 Carlos Alberto Cortez + + * StatusStrip.cs: Use the same icon as .net when the mouse is over the + size grip. + Fixes #492828. + +2009-04-20 Carlos Alberto Cortez + + * ComboBox.cs: When calculating the height of the ComboListBox, + specially for the 2.0 profile, use MaxDropDownItems if the + DropDownHeight property hasn't been set, and use the later if it has + been set. This way we support both properties. + Fixes #493308. + +2009-04-14 Carlos Alberto Cortez + + * ThreadExceptionDialog.cs: Draw the error icon, previously missing. + Fixes #474253. + +2009-04-14 Carlos Alberto Cortez + + * ContainerControl.cs: Implement support for Control.CausesValidation, + by adding a pending list of controls to be validated in the top + container control, and postpone validation as needed. + Also remove any control in the validation chain in case it gets removed + from its owner before the pending validation actually happens. + Fixes #457170. + +2009-04-09 Carlos Alberto Cortez + + * ListBox.cs: The default instance StringFormat field used to draw our + items should use the StringFormatFlags.NoWrap value, so it doesn't try + to put in a different line the text that doesn't fit our bounds, but + show it partially. + Fixes #475581. + +2009-04-09 Carlos Alberto Cortez + + * CheckedListbox.cs: When executing OnItemClick check that the index + is different to -1 before trying to retrieve an item using that value. + Fixes a ArgumentOutOfRangeException thrown when the horizontal + scrollbar was visible but not needed, and then a clicked was received + on its area. + +2009-04-08 Carlos Alberto Cortez + + * MaskedTextBox.cs: If Insert is pressed, change the internal + overwrite mode for our default value. + Fixes some bits of #477395. + +2009-04-06 Carlos Alberto Cortez + + * ListView.cs: In EnsureVisible avoid any direct access to items if we + are using virtual mode - otherwise use the bounds stored in a specific + item in a given index. This is specially important when using groups + or when items are re-arranged, since the position in the items + collection can be different than that one being displayed. + Fixes the rest of ##491978. + +2009-04-06 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: Include the previous check for ListView in a + 2.0 define as needed. + +2009-04-06 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: Don't draw ListView's gridlines if we are using groups. + Fixes part of #491978. + +2009-04-06 Carlos Alberto Cortez + + * ToolTip.cs: New fields to store the title/icon information. + * ThemeWin32Classic.cs: Implement support for tooltip's title and + icon. + Fixes #491978. + +2009-04-03 Carlos Alberto Cortez + + * TabControl.cs: When removing a tab that was previously selected, set + internally the value of selected_index to -1, to avoid trying to + access the previous one when trying to set the new one (and was + already removed from the collection). This is what .net seems to do + too. + Fixes #490937. + +2009-04-02 Carlos Alberto Cortez + + * XplatUIX11.cs, X11Clipboard.cs: Text and Rtf formats must be + separated, and we cannot fallback on Text if Rtf is requested but not + present. + * Clipboard.cs: Actually use the format specified by our user when + putting data. + +2009-03-31 Carlos Alberto Cortez + + * X11Clipboard.cs: Actually look for the RtfText format when calling + GetRftText in our clipboard formats list, instead of using the + generical Text format. + +2009-03-30 Carlos Alberto Cortez + + * TextBox.cs: Process auto completion properly when we are using the + internal source provided by ComboBox, and also remove some repeated + checks. + Fixes #489339. + +2009-03-30 Tom Hindle + + * DataGridView added Support for Invisible Columns to + AutoFillColumnsInternal method. + +2009-03-30 Carlos Alberto Cortez + + * X11Structs: + * X11Clipboard.cs: Move internal ClipboardStruct from X11Structs to + its own file, since it is adding some functionality and thus is not a + simple struct as before. + * XplatUIX11.cs: Add support to store different formats that could + have been specified by the user when puting data in the Clipboard - + this is important when more than one format is supported (such plain + text and rtf text). Update in the needed places, as well as simplify + the code. + Fixes #489625. + +2009-03-30 Carlos Alberto Cortez + + * XplatUIX11.cs: When handling the SelectionRequest event, use + SelectionRequestEvent instead of SelectionEvent, so we get the right + data for the app asking for clipboard data. Set the member of + SelectioneEvent.property to indicate the place where we are storing + the information as well - this is specially important for gnome/kde + apps using the TARGETS atom to ask for the supported permission before + actually asking for a specific format. + Fixes #489393. + +2009-03-28 Ivan N. Zlatev + + * DataGridViewCell.cs: We don't support drawing all types of cell borders, + so fallback and at least draw something instead of nothing. + +2009-03-27 Ivan N. Zlatev + + * DataGridView.cs: If the column header isn't visible allow resizing + using the cell column border. Also be sure to reset the cursor properly. + [Fixes bug #489929] + +2009-03-26 Carlos Alberto Cortez + + * ToolStrip.cs: When disposing, iterate over the items in reverse + order, since disposing the items modifies the collection. + * ToolStripItem.cs: Remove from the owner when disposing. + Fixes #485769. + +2009-03-26 Ivan N. Zlatev + + * DataGridView.cs: Add an implementation for UpdateRowHeightInfo. No + longer throws a NotImplementedException. + Based on a patch by Tom Hindle + [Fixes bug #488319] + +2009-03-26 Ivan N. Zlatev + + * DataGridView.cs: Implement IsCurrentRowDirty. No longer throws + NotImplementedException. + +2009-03-26 Ivan N. Zlatev + + * DataGridViewColumn.cs, DataGridViewTextBoxColumn.cs: + Fix SortMode clash handling. + [Fixes bug #488263] + +2009-03-26 Ivan N. Zlatev + + * DataGridView.cs: Do not show the vertical scrollbar if there is only + one row or less. For the sake of MSNET compatibility. + [Fixes bug #487988] + +2009-03-26 Ivan N. Zlatev + + * DataGridView.cs: When the current cell is moved out of the editing row + be sure to reset it back to a place holder row. + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs: If IsHandleCreated and the very first row is added + to the grid in a non-databound scenario - select the first cell. + [Fixes bug #486881] + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs: If we are not databound and empty once the first row + gets added select the first cell. + [Fixes bug #486881] + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewColumn.cs: Do not set Row/CellTemplate's + DataGridView. They do not belong to a DataGridView. + [Fixes bug #486645] + +2009-03-19 Ivan N. Zlatev + + * DataGridViewCellCollection.cs, DataGridViewColumnCollection.cs: + Set indices and associate with DataGridView only after the item is + add to the internal list. + [Fixes part of bug #486645] + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs: Do not add any cells to the FullRowTemplate in RowCount. + FullRowTemplate already contains all the cells. + [Fixes part of bug #486645] + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewCellCollection.cs: Split the column removal + to perform Pre and Post removal actions to allow the current cell to be + moved and all events fired properly before the column is removed. + +2009-03-19 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewRow.cs: Split the row removal to perform Pre and + Post removal action to allow the current cell to be moved and all events fired + properly before the row is removed. + +2009-03-18 Ivan N. Zlatev + + * DataGridView.cs: Fire CellEnter and CellLeave events for the Cell. + [Fixes bug #486640] + +2009-03-18 Jonathan Pobst + + * XplatUICarbon.cs: Commit patch from Alex Shulgin that fixes window + placement of popup windows on OSX. + +2009-03-18 Matt Guo + + * FontDialog.cs: Override "ToString" for FontDialog.ColorComboBox.ColorComboBoxItem + [Fixes bug #482690] + +2009-03-18 Ivan N. Zlatev + + * DataGridView.cs: Implement the CellMouseDoubleClick event. + [Fixes bug #486262] + +2009-03-18 Ivan N. Zlatev + + * DataGridView.cs: Fix scrolling to take into account that the + scrollbars are actually inside the client area of the datagridview. + +2009-03-18 Ivan N. Zlatev + + * DataGridView.cs: Implement mouse wheel scrolling. + [Fixes bug #486159] + +2009-03-17 Ivan N. Zlatev + + * DataGridView.cs: When DataSource changes the rebinding should happen + not if IsHandleCreated but if BindingContext != null. + [Fixes bug #486013] + +2009-03-17 Ivan N. Zlatev + + * DataGridView.cs: Browsable(false) properties should be skipped when + autogenerating the columns. + [Fixes bug #486021] + +2009-03-16 Carlos Alberto Cortez + + * DomainUpDown.cs: When ReadOnly is true, all the text entered by the + user should use a different handling, trying to use every pressed char + as a unique and only one prefix to compare against the items. Also, + refactor some input check code to avoid duplication. + Fixes #458607. + +2009-03-16 Ivan N. Zlatev + + * DataGridViewCell.cs: In OwningColumng Handle invalid column index + silently. + [Fixes bug #485278] + +2009-03-16 Ivan N. Zlatev + + * DataGridViewBand.cs: Update our State whenever a property changes. + * DataGridView.cs: Don't be so generous in reseting Displayed, because + it will spawn lots and lots of unneeded State changed events. + [Fixes bug #484989] + +2009-03-16 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewRow.cs, DataGridViewColumn.cs: + Add support for invisible rows and columns. + [Fixes bug #484951] + +2009-03-16 Ivan N. Zlatev + + * DataGridViewCell.cs: Escape literal { in ToString. + * DataGridViewTextBoxCell.cs: Fix ToString. + [Fixes bug #484923] + +2009-03-16 Carlos Alberto Cortez + + * MenuAPI.cs: When navigating items using the keyboard properly handle + the case when no item is selected - this way we should try to select + the first or the last item depending on the direction, but no the + second or third one, etc. + +2209-03-15 Carlos Alberto Cortez + + * Form.cs: When calling ProcessCmdKey, just after checking for any + MainMenu, check if there's an active ContextMenu that is *not* owned + by the form - this is needed when a non-focusable control owns a + ContextMenu but its ProcessCmdKey method can't be called since it + can't receive any input. + Fixes #477655. + +2009-03-13 Neville Gao + + * ToolBar.cs: Sent ButtonClick events when button style is DropDown. + * ContextMenu.cs: Add UIA Framework property UIAVisible to detect if + ContextMenu is displayed. + +2009-03-12 Carlos Alberto Cortez + + * XplatUIX11.cs: In GetMessage when F1 gets pressed, besides sending a + WM_HELP message for the associated window, don't call + NativeWindow.WndProc *at all*, since this could send a WM_* + key-related to Control.WndProc. Also, return the keypress message, in + case it needs to be preprocessed for any menu. + Fixes #478476. + +2009-03-08 Ivan N. Zlatev + + * DataGridView.cs: When removing the first displayed row and moving + the current cell up one we must invalidate the first displayed row + index before calculating the row heights, etc. + [Fixes bug #483202] + +2009-03-08 Ivan N. Zlatev + + * DataGridView.cs: Fix three column bugs: + - Rows should be cleared (but not removed) if columns become 0. + - The current cell should get moved + - ColumnCount increase was adding too many columns. + +2009-03-07 Ivan N. Zlatev + + * DataGridView.cs: Fix RowCount decrease which wasn't working well + in both scenarions - with and without editing row. + +2009-03-06 Ivan N. Zlatev + + * DataGridView.cs: Be compatible with MS in that the scroll to + selection has a synchronous effect. The trick here is that in + order to avoid unnecessary calculations each time a row/column + is added/removed we recalculate the whole grid size just before + just before the scroll to selection. + [Fixes bug #482478] + +2009-03-06 Carlos Alberto Cortez + + * RichTextBox.cs: LoadFile(string path) should pass by default + RichTextBoxStreamType.RichText, without caring about the detection or + extension of the file. + +2009-03-06 Carlos Alberto Cortez + + * RichTextBox.cs: When calling LoadFile, remove the extra EOL + introduced by StreamReader, since it will convert the EOF to an EOL. + Fixes #479646. + +2009-03-06 Jonathan Pobst + + * ToolStripDropDownMenu.cs: Use Math.Max instead of calculating + preferred size twice. + +2009-03-06 Jonathan Pobst + + * ToolStripMenuItem.cs: Don't draw the dropdown arrow or shortcut + string if we aren't on a ToolStripDropDownMenu. + +2009-03-06 Jonathan Pobst + + * ToolStripDropDownButton.cs, ToolStripItem.cs: Refactor some Button + code from Item to Button. Patch from Alex Shulgin. + +2009-03-05 Jonathan Pobst + + * ToolStripDrowDown.cs: Remove some hardcoded values and assumptions. + * ToolStripDropDownButton.cs: This should use a ToolStripDropDownMenu, + not a ToolStripDropDown. + * ToolStripItem.cs: Don't use the item margins on a ToolStripDropDown. + +2009-03-04 Ivan N. Zlatev + + * DataGridView.cs: Fix RowCount/ColumnCount decreasing. + + Based on a patch by Tom Hindle + [Fixes bug #482133] + +2009-03-04 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewElement.cs: + - Always calls OnDataGridViewChanged() if the new DGV is + not the same/null as the current one. + - Do not throw NREs when setting TopLeftHeaderCell to null + - Unset the DGV for TopLeftHeaderCell when replacing it + Based on a patch by Tom Hindle + [Fixes bug #481681] + +2009-03-04 Jonathan Pobst + + * ToolStripDropDown.cs: When dismissing control due to ESC, don't + hit a NRE if we are a ContextMenuStrip and do not have a parent. + [Fixes bug #478616] + +2009-03-01 Carlos Alberto Cortez + + * ListView.cs: When removing items from a ListViewItemCollection + contained in ListView (not in ListViewGroup), before actually removing + the items remove them also from their -if any- associated groups. If + the item is present in ListViewGroup.Items but not in ListView.Items, + then don't remove it - this is *exactly* what .net seems to do. + Fixes the remaining bits of #478689. + +2009-02-28 Carlos Alberto Cortez + + * ListView.cs: In our MouseDown handler in ItemControl use the item in + the very specific *real* position where the mouse was pressed, using + GetItemAtDisplayIndex for that purpose, instead of directly accessing + Items - this is specially useful when groups with Details view is + used. This is what we do in other places when using groups. + Fixes part of #478689. + +2009-02-27 Carlos Alberto Cortez + + * MaskedTextBox.cs: Properly replace selection when a new valid key + is pressed - even when IsOverwriteMode is false. This is what .net + does. + +2009-02-27 Carlos Alberto Cortez + + * MaskedTextBox.cs: When setting Text and RejectOnFirstFailure is + true, use MaskedTextProvider.Set instead of MaskedTextProvider.Replace, + since Set will keep the previous value in case of error (just what we + need), but still call MaskedTextProvider.Clear if + RejectOnFirstFailure is false - match .net. + +2009-02-26 Carlos Alberto Cortez + + * MaskedTextBox.cs: When setting Text use the very precise algorithm + that .net uses: iterate over every char of the new value, trying to + use every char, and use a normal call to MaskedTextProvider.Replace + call if RejectInputOnFirstFailure is true. Fire OnMaskInputRejected + in case of error in both cases, as well. + Fixes #477408. + +2009-02-25 Neville Gao + + * ColorDialog.cs: Added UIA Framwork Property: + UIASelectedSmallColorControl. + +2009-02-25 Carlos Alberto Cortez + + * MaskedTextBox.cs: Forgot to update the call of the new method + introduces in the previous patch. + +2009-02-25 Carlos Alberto Cortez + + * MaskedTextBox.cs: Handle OnKeyDown to properly process the Delete + key. Also create a new method to avoid code duplication between + OnKeyDown and OnKeyPress. + Fixes #477388. + +2009-02-24 Ivan N. Zlatev + + * DataGridViewCell.cs: Invalidate the datagrid when the cell is selected + or deselected. + [Fixes bug #479124] + +2009-02-23 Carlos Alberto Cortez + + * MaskedTextBox.cs: In OnKeyPress the IsOverwriteMode check is + actually inversed, so put it the right way. Also, don't automatically + look for the next editable item after adding a new one, but way for + the next insertion (this is what .net does) - this is not needed when + MaskedTextProvider.InsertAt is called however, since it already looks for the + next editable position. + Fixes the remaining bits of #477383. + +2009-02-23 Carlos Alberto Cortez + + * MaskedTextBox.cs: In OnKeyPress handle backspace by calling + MaskedTextProvider.RemoveAt method. Also for setting the SelectionStart + property after the text was modified, adjust the testPosition value + depending on what method was called. + Fixes part of #477383. + +2009-02-23 Carlos Alberto Cortez + + * ListView.cs: For EnsureVisible, adjust the view port bounds based on + the existence of the column headers, as well as using this information + to adjust the vscrollbar value, so items never get hidden by the + column headers. + Fixes #478498. + +2009-02-23 Ivan N. Zlatev + + * DataGridView.cs: Make the ScrollBars property work properly. + +2009-02-22 Carlos Alberto Cortez + + * TextBox.cs: Some code lifting for AutoComplete's support. First, + when handling non-navigation keys, save the original Text typed by the + user, and don't motify it BEFORE. This was a design mistake, since the + re-assignation happens only when navigating the append/suggest list, + not while creating the matches. Also, process the Delete key just like + the backspace one. Finally, when handling WM_CHAR, ignore both Escape + and Enter keys. + Fixes some missing bits of #469967. + +2009-02-22 Ivan N. Zlatev + + * DataGridView.cs: Fix row removal in the data-bound scenario. + +2009-02-19 Ivan N. Zlatev + + * DataGridViewCell.cs: Use strict equality comparison in order to + prevent superfluous CellValueChanged events. + +2009-02-19 Ivan N. Zlatev + + * DataGridView.cs: Do not reset the columns when the data list changes, + but only the rows. Fixes multiple bugs related to sorting, custom + column styles being reset and more. + +2009-02-19 Jonathan Pobst + + * ThemeWin32Classic.cs: Respect a PictureBox's Padding when + drawing the image. + +2009-02-18 Andrés G. Aragoneses + + * ToolBarButton.cs: Oops, use the correct event (fix r127298). + +2009-02-17 Andrés G. Aragoneses + + * ToolBarButton.cs: Event for Enabled property (needed to fix + UIA #474197). + +2009-02-16 Carlos Alberto Cortez + + * TextBox.cs: When handling WndProc with autocomplete activated, + event if the new text is not causing any change in the look up + algorithm, save it as we normally do when numbers and letters. + Fixes #469967. + +2009-02-16 Carlos Alberto Cortez + + * TreeNode.cs: When Text/StateImageIndex/StateImageKey/NodeFont change + Invalidate the proper bounds in the TreeView, not only resetting the + width. + Fixes #475542. + +2009-02-09 Carlos Alberto Cortez + + * TreeNode.cs: Don't return TreeView.BackColor when retrieving our own + BackColor property. This is what .net does in both 1.1 and 2.0. + * TreeView.cs: When selected_node is not the same as highlighted_node, + we need to handle the back color in a different way, trying to use the + node's BackColor if it's not Color.Empty. + Fixes #464200. + +2009-02-09 Carlos Alberto Cortez + + * TreeView.cs: When canceling selection in our MouseUp handler, + invalidate also the previous selected node bounds. + Fixes #464191. + +2009-02-07 Ivan N. Zlatev + + * DataGridView.cs: End or if end fails then cancel the current edit + operation before clearing the data source. + +2009-02-07 Ivan N. Zlatev + + * DataGridView.cs: Data-bind only after the handle is created. + [Fixes bug #473680] + +2009-02-06 Carlos Alberto Cortez + + * TreeView.cs: When handling the MouseMove event, check if + focused_node and selected_node fields are null - usually they are non + null, since we have always a selected node, but canceling selection by + handling BeforeSelect event leaves the two of them as null. + Fixes #470451. + +2009-02-06 Neville Gao + + * TabControl.cs: Control enabled to support accessibility. + [Fixes Bug #472428] + +2009-02-05 Ivan N. Zlatev + + * DataGridViewRowCollection.cs, DataGridView.cs: Fix row insertation: + - Use ArrayList.Insert instead of the Item property so that the item + is actually inserted and not an existing item replaced. + - Call DataGridView.OnRowsAddedInternal and drop internal from + OnRowsAdded for binary compitability. This also fixes several + redrawing issues. + [Fixes bug #472968] + +2009-02-05 Andrés G. Aragoneses + + * ToolBarButton.cs: Doh, fire OnUIATextChanged *after* setting + the value. + +2009-02-04 Andrés G. Aragoneses + + * ToolBarButton.cs: Add another event (OnUIATextChanged). + +2009-02-04 Andrés G. Aragoneses + + * ToolBarButton: Fix typo in previous commit (r125704). + +2009-02-04 Andrés G. Aragoneses + + * ToolBar.cs, ToolBarButton.cs: Add new UIA events to know + when a button gets focus, firing the events from the ToolBar. + r: jpobst + +2009-02-04 Mario Carrion + + * ColumnHeader.cs: Raising ListView.ColumnWidthChanged when setting + Width. + * ListView.cs: Internal method added: RaiseColumnWidthChanged, used by + ColumnHeader to raise ColumnWidthChanged. + [Fixes Bug #467086] + +2009-02-03 Ivan N. Zlatev + + * DataGridViewRowCollection.cs, DataGridView.cs: Move row completion + code in the row collection code, so that the completion happens before + the CollectionChanged event, also better encapsulation. + [Fixes bug #471987] + +2009-02-02 Ivan N. Zlatev + + * DataGridView.cs: When editing is finished do not remove the editing + row, because it has already become a real one. Instead add a new one. + [Fixes bug #471754] + +2009-02-02 Carlos Alberto Cortez + + * TreeView.cs: When drawing the node's image, check that the index + specified by the node is valid for the ImageList. + Fixes #471094. + +2009-02-02 Andrés G. Aragoneses + + * ToolBar.cs: Add new UIAPerformClick method to be called by + UIAutomationWinforms when someone calls Invoke() on the + ToolBarButtonProvider. r: jpobst + +2009-02-02 Carlos Alberto Cortez + + * XplatUIX11.cs: Don't send a WM_SHOWWINDOW message when receiving + MapNotify/UnmapNotify events - we are already firing those events in + the proper places, so we avoid this way to send the same message two + times. I'm leaving the handling code in case we could break something + in the future, as this change seems dangerous (but needed). + Fixes #467546. + +2009-02-01 Ivan N. Zlatev + + * DataGridView.cs: Complete incomplete rows when they are added to + the grid. + [Fixes bug #471068] + +2009-02-01 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewColumnCollection.cs: Ensure that the + binding is cleared prior to setting it to null. Fixes a regression + causing exceptions when the DataSource is set to null and then set + again to a data source. + +2009-02-01 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewImageColumn.cs, DataGridViewCell.cs: + - Make Image/Bitmap cells work. + - Handle images with size greater than the cell. + - Default to MiddleCenter alignment for image cells. + [Fixes bug #471101] + +2009-01-30 Ivan N. Zlatev + + * UpDownBase.cs: Force Height to PreferredHeight. + +2009-01-29 Carlos Alberto Cortez + + * XplatUIX11.cs: We should use utf8 handling clipboard transference + with other x11 applications, and use utf16 when handling clipboard + data in the class library. Update the related points as well. + Fixes #468683. + +2009-01-28 Ivan N. Zlatev + + * DataGridViewCell.cs: Format strings according to the supplied + CellStyle.Format. + [Fixes bug #470384] + +2009-01-28 Ivan N. Zlatev + + * DataGridView.cs: Reset the hover cell if it gets moved due to row(s) + addition or removal. Fixes multiple crashes in OnMouseMove. + +2009-01-27 Ivan N. Zlatev + + * DataGridView.cs: Fix a NRE when setting the CurrentCell to null. + +2009-01-27 Ivan N. Zlatev + + * XplatUIX11.cs: Fire Timer.Tick even if there is no MainForm for the + current context. + [Fixes bug #469239] + +2009-01-26 Andreia Gaita + + * WebBrowser.cs: fix initial value of ScrollbarsEnabled, so they + won't be disabled by default. + Fixes #468690 + +2009-01-26 Ivan N. Zlatev + + * DataGridView.cs: Do not clear the rows if we are not databound. + +2009-01-26 Ivan N. Zlatev + + * DataGridView.cs: Do not be too smart about selecting the first cell + when the first row is added as this is not what MS does. Fixes the + failing unit tests. + +2009-01-26 Carlos Alberto Cortez + + * TreeNode.cs: NextVisibleNode and PrevVisibleNode properties don't + take into account the fact that OpenTreeNodeEnumerator needs to call + MoveNext/MovePrevious to actually put the passed node as the one + retrieved in Current. This way this property should work as really + expected in .net. + Fixes part of #467225. + +2000-01-26 Carlos Alberto Cortez + + * TreeView.cs: When calculating the scrollbars, don't use + TreeNode.Bounds, since it still can have the values of the previous + -and now invalid- layout -which depends on TreeView.skipped_nodes, and + could not have been updated as well-, and use the actual number of + visible number of nodes to compute the height needed to contain all + the nodes. Also reset the value of vbar to 0 when disabled - this way + we make sure that, when re-enabled, it will update the visible area of + the treeview, even if the previous value before disabling it is the + same as now. Finally don't do anything for the vbar.ValueChanged + handler - for the case wheer we manually set the value but don't the + vbar is disabled already. + Fixes part of #467225. + +2009-01-23 Jonathan Pobst + + * ToolStrip.cs: Switch from foreach to for, in case the collection + somehow changes while enumerating it. + +2009-01-23 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewCell.cs: Fix crashes when there is no + editing control. + +2009-01-23 Ivan N. Zlatev + + * DataGridView.cs: Fix new row adding/editing in the non-databound + scenario. + +2009-01-21 Mike Gorse + + * TrackBar.cs: Make LargeIncrement/Decrement internal so that UIA can + use them. + Added UIAValueParamChangedEvent. + +2009-01-21 Carlos Alberto Cortez + + * TreeView.cs: In CollapseAll, set vbar to the maximum value, instead + of trying to set as top node the highest parent of the previous top + node. Moving to the bottom of the TreeView after a call to CollapseAll + is exactly what .net does. This should avoid some nasty issue when + CollapseAll is called and we don't need the vertical scroll bar. + +2009-01-21 Mario Carrion + + * Form.cs: UIA Support: Internal events added: UIAWindowStateChanged + and UIATopMostChanged. + +2009-01-21 Sandy Armstrong + + * MenuItem.cs: Add UIACheckChanged, UIARadioCheckChanged, + UIAEnabledChanged, and UIATextChanged events. + + * Form.cs: Add UIAMenuChanged event. + + * Menu.cs: + * MenuAPI.cs: Note which internal APIs are being used by UIA. + +2009-01-21 Neville Gao + + * ToolBar.cs: Control enabled to support accessibility. + [Fixes Bug #455950] + +2009-01-19 Carlos Alberto Cortez + + * TreeView.cs: When handling mouse up event, check whether + highlighted_node is null or not - usually it should be non-null + alwaays, since the mouse down handler sets it, but some externa + operations, such TreeNodeCollection.Clear, could set it to null. + Fixes #438650. + +2009-01-19 Ivan N. Zlatev + + * ThemeWin32Classic.cs: Draw the menu item shortcut even if the menu + item is disabled. + +2009-01-19 Ivan N. Zlatev + + * MenuAPI.cs: Do not handle shortcuts if the menu item is disabled. + [Fixes bug #467285] + +2009-01-19 Carlos Alberto Cortez + + * MonthCalendar.cs: When handling the selection changes using the + mouse, don't set SelectionRange if the selection range didn't actually + change. This matters because, even if we set the range to the same + previous range, an extra DateChanged event is fired. Just to be clear: + SelectionRage property doesn't check whether the new value is + different to the previous one (by ref equals doesn't work here). + Fixes other bits of #364914. + +2009-01-19 Carlos Alberto Cortez + + * MonthCalendar.cs: Remove the extra OnDateChanged call when handling + selection using the keyboard, since we are already firing this event + when setting SelectionRange. Also don't set SelectionRange if the + previous and the new value are the same (the property, just as .net + does, doesn't check whether the previous value and the new one are the + same). This saves us from firing OnDateChanged event if the selection + range didn't change actually. + Fixes the remaining bits of #364914. + +2009-01-19 Carlos Alberto Cortez + + * ListBox.cs: When removing an item and the last item is selected, + remove it from the selection, and if selection mode is One try to + select the new last item. + Fixes #465422. + +2009-01-16 Mike Gorse + + * Splitter.cs: Make MaxSize internal so that UIA code can use it. + +2009-01-16 Mario Carrion + + * ColumnHeader.cs: UIA Support: raising internal event UIATextChanged + when changing Text. + +2009-01-16 Carlos Alberto Cortez + + * X11Structs.cs: + * XplatUIX11.cs: Properly encode/decode the unicode strings we + store/retrieve in the Clipboard. Also, since we try to convert the + data to different formats, separate the source and the result of + it, so we can always fallback to the original and don't mix wrong + conversions. + +2009-01-16 Mike Gorse + + * TextControl.cs: Add UIASelectionChanged event. + +2009-01-16 Ivan N. Zlatev + + * DataGridView.cs: Forward the first key events to the editing control. + [Fixes bug #457307] + +2009-01-14 Andrés G. Aragoneses + + * Application.cs: Oops, launch the copied handler of PreRun instead of + the global one (gendarme would bark otherwise). (Improving r123375) + +2009-01-14 Andrés G. Aragoneses + + * XplatUI.cs: + * Application.cs: Move the PreRun event fire to the end of the XplatUI + static ctor (we don't move the PreRun event to this class because its + usage would cause the call to the static ctor). This way we can get + a11y support for dialogs that run without App.Run. + +2009-01-14 Andrés G. Aragoneses + + * ListView.cs: New internal property to know the inner array's length of + the location of items, in order to avoid a try-catch strategy for the + case when this array has not been resized yet (for reference, look at + r123288). r: jpobst + +2009-01-13 Andrés G. Aragoneses + + * Application.cs: Simplify UIA initialization, reducing it from 4 to 1 + reflection calls. This requires UIAutomationWinforms r123213. + +2009-01-12 Carlos Alberto Cortez + + * MonthCalendar.cs: Detect selection changes in MouseDown/MouseMove + handlers and fire the DateSelected event until MouseUp is reached, + like .net does, instead of firing it for each mouse event. + Fixes part of #364914. + +2009-01-12 Carlos Alberto Cortez + + * TreeView.cs: When the selection gets canceled using the BeforeSelect + event, invalidate the previous highlighted_node bounds, to show the + user that the item was *not* selected. + Fixes #464191. + +2009-01-11 Carlos Alberto Cortez + + * ComboBox.cs: Separate some scroll logic: setting SelectedIndex, as + well as -in DropDown and Simple modes- writing in the textbox should + try to set the requested item as the top one, but navigating with the + keyboard and handling mouse selection don't need that behaviour. Also, + when resetting selected_index handling key press events, reset + ComboListBox.HighlightIndex. + Fixes the remaining bits of #464188. + +2009-01-11 Ivan N. Zlatev + + * DataGridView.cs: Fix crashes when shortcut keys are pressed, but + there are no cells: + - CurrentCellAddress should be -1, -1 and not 0, 0. + - Be tolerant and fall back to clearing the current cell if either + column or row is -1 in MoveCurrentCell. + - Misc. more -1 checks. + +2009-01-11 Ivan N. Zlatev + + * DataGridView.cs: Preserve the column index. Fixes a regression + introduced by the data binding position tracking code. + +2009-01-11 Ivan N. Zlatev + + * DataGridView.cs: If the bottom of the row matches the client height + do not regard the row as partially visible. Fixes the weird scrolling + when there is no scrollbar. + +2009-01-11 Ivan N. Zlatev + + * DataGridViewComboBoxCell.cs: Implement/Fix the data binding. + +2009-01-09 Mario Carrion + + * MessageBox.cs: Fixed internal UIAIconRectangle property. + +2009-01-09 Ivan N. Zlatev + + * DataGridViewCheckBoxCell.cs: Respect the ReadOnly state of the Cell. + +2009-01-09 Ivan N. Zlatev + + * DataGridView.cs: Track the Position in the CurrencyManager. + +2009-01-09 Ivan N. Zlatev + + * DataGridView.cs: Implement data-bound new item editing/addition. + * DataGridViewRowCollection.cs: Make it possible for us to internally + remove the edit row. + [Fixes bugs #457107, #457308, #325240] + +2009-01-09 Ivan N. Zlatev + + * CurrencyManager.cs: Even if Position is set to a greater value than the + list count reset it to position of the last item. + +2009-01-09 Ivan N. Zlatev + + * BindingSource.cs: AddNew doesn't set index/add_pending for IBindingList. + Fix that in order to make CancelNew to work. + +2009-01-09 Ivan N. Zlatev + + * BindingSource.cs: When adding a new item try to delegate to the internal + list first before throwing an exception. + +2009-01-09 Carlos Alberto Cortez + + * ComboBox.cs: When setting the text and adjusting the top_item, do it + *only* if the current item is *not* visible already. + Fixes part of #464188. + +2009-01-09 Ivan N. Zlatev + + * DataGridView.cs: Requesting the CurrencyManager for the first time can + lead to unexpected OnBindingContextChanged calls and recursive rebinding. + Fix that. + [Fixes bug #464493] + +2009-01-08 Brad Taylor + + * ComboBox.cs: Expose a few private fields as internal UIA properties. + +2009-01-07 Mario Carrion + + * DataGrid.cs: CWL removed. + +2009-01-06 Carlos Alberto Cortez + + * RadioButton.cs: When setting Checked, we should first update the + check state of the current RadioButton, as well as invalidating it, + and after that actually update the siblings. This is done to match + .net. + Fixes the remaining bits of #463028. + +2009-01-05 Carlos Alberto Cortez + + * RadioButton.cs: Setting Checked to false should set TabStop to stop + as well. Also, when we get the focus and no other RadioButton is + selected in the parent control, we should mark ourselves as Checked. + Fixes part of #463028. + +2009-01-05 Mario Carrion + + * DataGrid.cs: UIA suppport. internal events: + UIAGridCellChanged, UIAColumnsHeadersVisibleChanged, + UIASelectionChanged, UIACollectionChanged. Internal properties: + UIARowHeight, UIACellsArea, UIACaptionArea, + UIAColumnHeadersArea, UIASelectedRows, UIACurrentTableStyle, + UIAVScrollBar and UIAHScrollBar. + +2009-01-05 Jonathan Pobst + + * ToolStripSplitStackLayout.cs: Enable the overflow button if any + of the buttons are set to Overflow = Always. + [Fixes bug #463013] + +2009-01-03 Carlos Alberto Cortez + + * BindingNavigator.cs: Properly enable/disable the toolstrip buttons, + based on whether the binding source is availble or not. Fixes #463008. + +2009-01-03 Ivan N. Zlatev + + * DataGridViewCell.cs: We should return a value even if we are not bound + to a DataGridView. + +2009-01-02 Ivan N. Zlatev + + * CurrencyManager.cs, DataGrid.cs: + - Rename CanAddRows to AllowNew. The CurrencyManager has no + concept of "rows". + - Add two more internal properties AllowRemove and AllowEdit. + * DataGridView.cs: Refactor in a data-bound situation AllowUserToAddRows, + AllowUserToDeleteRows and cell ReadOnly state to be also checked against the + CurrencyManager data source. + +2009-01-02 Ivan N. Zlatev + + * DataGridView.cs: Fix crashes caused by assigning negative values to + ScrollBar.LargeIncrement when the ClientSize.Width/Height is less than + the column/row heights/widths. + [Fixes bug #462684] + +2009-01-02 Ivan N. Zlatev + + * DataGridView.cs: Non-autogenerated columns that have a data property + set that exists in the current datasource should be set to be data-bound. + +2009-01-02 Ivan N. Zlatev + + * DataGridView.cs: Fix column sorting for columns containing null + values. A "null" value is not always "null" (e.g could be String.Empty) + and thus parsing numeric types throwed an exception for "null" values. + +2009-01-02 Ivan N. Zlatev + + * DataGridView.cs: Detach the editing control when the edit is + finished. + +2009-01-02 Ivan N. Zlatev + + * DataGridView.cs: Multiple fixes to handle last column/row removal + and cell movement after that instead of throwing exceptions. + +2009-01-02 Ivan N. Zlatev + + * DataGridViewCellCollection.cs: When cells are removed the column + indices become invalid if the cell is not the last one and have to + be refreshed. + +2009-01-01 Ivan N. Zlatev + + * DataGridView.cs: Return false in CommitEdit if there was an error. + +2009-01-01 Ivan N. Zlatev + + * DataGridView.cs: Remove a leftover Console.WriteLine. + +2009-01-01 Ivan N. Zlatev + + * DataGridViewRow.cs: Access the indexer of the data manager directly + instead of the internal list. + +2009-01-01 Ivan N. Zlatev + + * DataGridViewCell.cs, DataGridView.cs, DataGridViewCheckBoxCell.cs: + Rewrite the value getting, setting, parsing, formatting logic: + - If data-bound value get/set should actually get and set from the + data source. + - Make proper usage of TypeConverters for value parsing/formatting. + - Raise DataError if setting the new value fails. + - Get rid off the internal valueType field and get/set the ValueType + property instead. + [Fixes bug #462051] + +2009-01-01 Ivan N. Zlatev + + * DataGridView.cs: Rewrite the DataBinding layer: + - Get rid off all BindingSource/IBindingList/DataSet/DataTable + specific code. + - Get rid off the per DataSource type column autogeneration code. + - Use the CurrencyManager for everything that is DataBinding related. + +2009-01-01 Ivan N. Zlatev + + * CurrencyManager.cs: Do not fire duplicate ListChanged events. + +2008-12-31 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewRow.cs: Add a new internal property + DataManager to fetch the CurrencyManager for the DataGridView and to + spare this logic for the other components to follow. + +2008-12-31 Mario Carrion + + * MessageBox.cs: UIA support: new properties: UIAMessage, + UIAMessageRectangle and UIAIconRectangle. + +2008-12-31 Sandy Armstrong + + * FileDialog.cs: Add PopupButtonPanel.PopupButton.PerformClick method + and DirComboBox.DirComboBoxItem.ToString override for UIA support. + +2008-12-31 Ivan N. Zlatev + + * DataGridView.cs: Do not autogenerate duplicate column for a + data member that has already problematically been assigned one. + [Fixes bug #457305] + +2008-12-30 Jonathan Pobst + + * ProfessionalColorTable.cs: Better detection of user's theme. + [Fixes bug #462766] + +2008-12-30 Ivan N. Zlatev + + * DataGridView.cs: In the case where there are no autogenerated + columns and the user adds columns problematically we must generate + the rows after the very first column is added. + +2008-12-30 Carlos Alberto Cortez + + * DateTimePicker.cs: When increasing/decreasing the value of month + with ShowUpDown set to true, moving from december to january, and + moving from january to december should adjust the year to the next and + the previous year, respectively. + Fixes the remaining bits of #459674. + +2008-12-30 Ivan N. Zlatev + + * DataGridView.cs: If a new cell is selected edit mode should be + immediately enabled only if EditOnEnter is set. Whether the mouse + or not was used to select the cell is irrelevant. + +2008-12-29 Ivan N. Zlatev + + * DataGridView.cs: Remove a bogus ReBind call, which was causing + recursive rebinding. + +2008-12-24 Carlos Alberto Cortez + + * DateTimePicker.cs: Handle the "MMMM" month format. + Fixes #459674. + +2008-12-23 Ivan N. Zlatev + + * DataGridView.cs: + - Make ReBind private and refactor various calls to call ReBind + instead of ClearBinding/DoBinding + - Rebind when the column collection changes + * DataGridViewColumnCollection.cs: + - Leave the rebinding on change to be handled by the DataGridView. + +2008-12-23 Jonathan Pobst + + * DataGridView.cs: Add a ReBind convenience method. + * DataGridViewColumnCollection.cs: Rebind when a column is added. + [Fixes bug #462019] + +2008-12-23 Neville Gao + + * StatusBar.cs: Modified argument variable. + * SplitContainer.cs: Control enabled to support accessibility. + [Fixes Bug #455950] + +2008-12-22 Jonathan Pobst + + * ToolStripMenuItem.cs: Guard against an NRE. + [Fixes bug #457110] + +2008-12-22 Mario Carrion + + * Control.cs: AccessibleXXXX properties don't return + AccessibleObject.XXXX, instead a local referece is returned. + +2008-12-22 Neville Gao + + * PrintPreviewControl.cs: Added internal properties to support + accessibility. + [Fixes Bug #459699] + +2008-12-19 Mario Carrion + + * Control.cs: Reverted r121561. + +2008-12-19 Andrés G. Aragoneses + + * X11DesktopColors.cs: Since r121873 we don't need gtk a11y checks here, + it has been moved to the bridge. + +2008-12-18 Brad Taylor + + * DateTimePicker.cs: Add a few UIA specific events, and a couple + internal methods useful for UIA. + +2008-12-18 Mario Carrion + + * ListBox.cs: Fixed GetItemRectangle when MultiColumn is true. + [Fixes Bug #455752] + +2008-12-17 Mike Gorse + + * ListView.cs, ListViewItem.cs: Send OnUIAFocusedItemChanged if an + item's Focused property is set. + +2008-12-17 Sandy Armstrong + + * TreeView.cs: + * TreeNode.cs: + * TreeNodeCollection.cs: Add events for UIA support: + UIACheckBoxesChanged, UIALabelEditChanged, UIANodeTextChanged, and + UIACollectionChanged. + +2008-12-17 Bill Holmes + + * ListViewItem.cs (ListViewSubItem.ctor): Initalizing the + SubItemStyle member field. + + Contributed under MIT/X11 license. + +2008-12-16 Carlos Alberto Cortez + + * ListBox.cs: In MultiColumn mode don't use top_index to calculate the + y coord, since it's useless in this case, and we need to rely only on + the number of rows and ItemHeight to compute this value. + Fixes part of #257471. + +2008-12-15 Mike Gorse + + * StatusBar.cs: Send OnUIACollectionChanged in Remove(). + +2008-12-15 Mario Carrion + + * Control.cs: Accessibility properties instantiate AccessibilityObject when + needed. + [Fixes Bug #459223] + +2008-12-15 Brad Taylor + + * ToolStripItem.cs: Add a UIA specific event for listening for when a + ToolStripItem becomes selected or deselected. + +2008-12-15 Carlos Alberto Cortez + + * MonthCalendar.cs: Select the date in MouseDown, not in MouseUp, as + .net does. Use the date in the point of the mouse move coords as the + new range as well, if the left button of the mouse is being pressed. + Fixes #364914. + +2008-12-12 Carlos Alberto Cortez + + * MonthCalendar.cs: When modifying either AnnuallyBoldedDates, + MonthlyBoldedDates or BoldedDates call UpdateBoldedDates, to + effectively repaint the control. + Fixes the remaining bits of #417961. + +2008-12-12 Carlos Alberto Cortez + + * MonthCalendar.cs: When setting MaxDate/MinDate, adjust the selected + range to contain only dates within the new possible range. + Fixes part of #417961. + +2008-12-11 Carlos Alberto Cortez + + * MaskedTextBox.cs: MaskedTextService.Replace doesn't expect the + length of the text, but the end position, so we need to substract 1 to + have a valid value. Also, in the same InputText method, don't use + SelectionLength as the length of the text, since the selected text + could actually be empty, but we need to set the value anyway. + Fixes #457370. + +2008-12-10 Carlos Alberto Cortez + + * TextBox.cs: Don't do any auto complete task if the custom source is + null or empty. Also avoid duplication of code. + Fixes #457743. + +2008-12-09 Ivan N. Zlatev + + * DataGridView.cs: Refresh column sizes when new rows are added. + [Fixes bug #457050] + +2008-12-09 Carlos Alberto Cortez + * RichTextBox.cs: When parsing the contents of a rtf file, don't call + Split to create a line - we are already doing this, by _adding_ a new + one when rtf_cursor_x is 0 (this field gets this value just after we + receive the newline param as true). This avoids having a proportional number + of empty lines in the end of the rich text box. + Fixes #396664. + +2008-12-09 Carlos Alberto Cortez + + * RichTextBox.cs: When saving the contents as a plain text, don't add + a new line for every Line structure, since the data in Document + already contains the new line characters. This avoids duplicated new + lines using the Save methods. + Fixes #445618. + +2008-12-09 Sandy Armstrong + + * TreeView.cs: Expose ScrollBars as internal properties, for use by UIA + framework. Fixes bug #457678. + +2008-12-08 Ivan N. Zlatev + + * DataGridViewRow.cs: Prevent an exception on a not yet databound grid, + where datasource is null. + [Fixes exception reported in bug 441240] + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: EndEdit validation fixes. + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: This is the cool patch that adds support for + actually updating the data in the databinding backend after editing. + With bonus firing and handling the DataError event. + +2008-12-08 Carlos Alberto Cortez + + * Line.cs: When calculating the text tags's Shift value, store it as + pixels instead of points. This way we can actually handle different + fonts in the same RichTextBox, as well as the right size of the caret. + Fixes part of #351938. + +2008-12-08 Ivan N. Zlatev + + * DataGridViewCheckBoxCell.cs: Fix to make it work. Wrong value was + casted to CheckState causing InvalidCastExceptions. + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: Fix the DataGridViewEditMode.EditOnEnter behavior + to not depend on the item being clicked. + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: Implement NotifyCurrentCellDirty, so that it no + longer throws a NotImplementedException. + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: Set EditingControlFormattedValue when preparing an + IDataGridViewEditingControl for editing. + +2008-12-08 Ivan N. Zlatev + + * DataGridViewComboBoxCell.cs: Implement data binding support. + +2008-12-08 Ivan N. Zlatev + + * DataGridView.cs: Use the CurrencyManager to update the data source + binding position instead of casting the data sourcde to BindingSource. + This enables position updating for other type of data sources. + +2008-12-08 Ivan N. Zlatev + + * ComboBox.cs: Update the SelectedIndex before updating the Text + in OnDisplayMemberChanged. + +2008-12-07 Ivan N. Zlatev + + * DataGridView.cs: Fix our support for IDataGridViewEditingControl. + [Fixes bug #457112] + +2008-12-06 Ivan N. Zlatev + + * DataGridView.cs: Sorting fixes: + - Be strict when sorting is enabled. + - If there is a data source delegate the sorting request. + +2008-12-06 Ivan N. Zlatev + + * Binding.cs: When converting the data also try with the destination + type typeconverter. This indirectly adds support for Nullable types + in our databinding layer. + +2008-12-06 Ivan N. Zlatev + + * DataGridView.cs: When cell editing is finished focus back the + DataGridView. Fixes keyboard navigation post-editing. + +2008-12-06 Ivan N. Zlatev + + * DataGridView.cs: Fix the cell editing by delaying the currentCell + setting to after EndEdit is called for the old cell. + +2008-12-06 Ivan N. Zlatev + + * BindingSource.cs: Reset the bindings. Fixes a NotWorking test. + +2008-12-06 Ivan N. Zlatev + + * XplatUIX11.cs: Send WM_HELP only to the focused window. + +2008-12-05 Ivan N. Zlatev + + * CurrencyManager.cs: Fix exceptions when resetting the data source + for the same time (e.g. in ComboBox): + - Do not set the list position if we are still transferring data + - When resetting the list firstly push the data then update the + binding. + * Binding.cs: Check BindingManager.Position == -1 instead of + BindingManager.Current == null in order to avoid unexpected + exceptions. + +2008-12-05 Brad Taylor + + * MonthCalendar.cs: Add UIA specific events so that we can know when + the selection changes, and when MaxSelectedCount changes. + +2008-12-05 Ivan N. Zlatev + + * DataGridView.cs: Cleanup rows_displayed out of OnPaint. It's not + used for anything. + +2008-12-05 Ivan N. Zlatev + + * DataGridView.cs: Fix scrolling and selection of cells/rows prior + to the control being drawn for the first time by: + - Implement DisplayedRowsCount to not rely on the control being + already painted. Also added support for the partial row flag. + - Fix scrolling to take into account partial rows and scroll to + them. + [Fixes bug #456527] + +2008-12-05 Ivan N. Zlatev + + * DataGridView.cs: Do not reset the CurrentCell when the handle is + created if the user has already set it. + +2008-12-05 Ivan N. Zlatev + + * DataGridView.cs: Fix CurrentCell to actually select the cell. + +2008-12-01 Carlos Alberto Cortez + + * XplatUIX11.cs: Add support to RichTextFormat by reading it as ascii + text and then let the underneath users of IDataObject interpret and + parse by themselves. + Fixes #439251. + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Fix my previous commit to actually update what it + was supposed to. + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Ensure that when a row is removed the all the + current row/column/cell get updated. Fixes multiple exceptions. + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Fix scrolling to the current cell when key navigation + is used. + [Fixes bug #443560] + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewCell.cs: Fire CellStateChanged events. + * DataGridViewCell.cs: Set the cell as selected prior to setting the + new state. + [Fixes issue 1 in bug #443560] + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Invalidate after the current row/column seletion + chagnes. + [Fixes bug #438434] + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Refresh the data if the data list is reset, etc. + +2008-12-01 Ivan N. Zlatev + + * DataGridView.cs: Handle datasource state changes: + - IBindingList - list changes + - BindingSource - list changed and datasource changes + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Select the first cell when databound. + Visually select when CurrentCell is set. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Set the current cell before raising CellClick. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Cleanup MoveCurrentCell to not fire any CellEnter, + CellLeave events as this is already done in SetCurrentCellAddressCore. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Set the minimum size for the columns to be the + width of their header, so that the columns don't get squashed + all together. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: After the data is bound PerformLayout, so that + the columns get autosized. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Move all currentCell setting code into + one central place - SetCurrentCellAddressCore. That way the + current cell is properly updated when programatically set. + Fire RowEnter/Leave events. + +2008-11-30 Ivan N. Zlatev + + * DataGridView.cs: Update the CurrencyManager.Position, so that + when a BindingSource is used BindingSource.Current will be correct. + +2008-11-30 Ivan N. Zlatev + + * GroupBoxRenderer.cs: Fix when VisualStyles disabled: + - No caption text is drawn because Color.Empty is used. + - Fix top and height off by 1. + +2008-11-30 Ivan N. Zlatev + + * DataGridViewRow.cs: Implement DataBoundItem. + +2008-11-30 Ivan N. Zlatev + + * BindingSource.cs: Return null for Current if there is no data present. + +2008-11-29 Carlos Alberto Cortez + + * MenuAPI.cs: Add a Menu.SelectedItem null check when navigating the + menus using the arrow keys. Also when handling the left arrow key, don't + assign the current menu to the parent one, if the parent is null. + Fixes #446392. + +2008-11-24 Everaldo Canuto + + * PrintPreviewDialog.cs: Fix toolbar size, height must be 26. Fixes bug + #413501. + +2008-11-24 Carlos Alberto Cortez + + * Scrollbar.cs: + * ScrollableControl.cs: Simplify the code to manually set the size of + the thum area, avoiding duplication of code, and also preserving the + right value for different code paths - this can happen when size + changes are made to the scrollbar after setting LargeChange, Maximum + or related properties for the ScrollBar. + +2008-11-24 Carlos Alberto Cortez + + * ScrollableControl.cs: When scrolling, don't invalidate the entire + area, and call to XplatUIX11.ScrollWindow instead. This is exactly + what .Net does: copy the visible area, and only invalidate the part of + the area that wasn't visible before scrolling. + Fixes #441738. + +2008-11-24 Jonathan Pobst + + * DataGridView.cs: Listen for a DataTable's TableCleared event so we + can clear ourselves when it is raised, we don't have a newrowindex + if we don't have any columns. + * DataGridViewRowCollection.cs: Ensure we always delete all the rows, + re-index after each delete so the NewRow will have the correct index. + [Fixes bug #448005] + +2008-11-24 Jonathan Pobst + + * Form.cs: Don't change min/max size if it is empty. + [Fixes bug #447873] + +2008-11-23 Carlos Alberto Cortez + + * ScrollBar.cs: + * ScrollableControl.cs: When the manual thumb size is used, the + maximum allowed value should depend on that thumb size, instead of + LargeChange (using the maximum - LargeChange + 1 value). But + LargeChange should be used normally when incrementing/decrementing. + Fixes the remaining part of #441546. + +2008-11-23 Andreia Gaita + + * WebBrowser.cs, WebBrowserBase.cs: Delay loading of DocumentStream + until an about:blank has been loaded (according to spec). Fix + ScrollbarsEnabled to set when a document is loaded (since we use js + for it). Fix url so it reflects the current loading document and not + the previous one. Send StatusChanged events. + +2008-11-23 Andreia Gaita + + * Application.cs: If a message comes in for an embedded control + (like webbrowser) when we're capturing the keyboard, release the + capture and continue. + [fixes #429462] + +2008-11-22 Andreia Gaita + + * XplatUI.cs: Only use PlatformID.MacOSX enum when not building on VS + +2008-11-21 Andreia Gaita + + * WebBrowser.cs, HtmlDocument.cs: Fixes for #428172 + +2008-11-21 Carlos Alberto Cortez + + * ScrollBar.cs: + * ScrollableControl.cs: Set manually the thumb size for the + ScrollableControl scrollbars, so any further changes to the underneath + scrollbars respect the original size. + Fixes part of #441546. + +2008-11-21 Geoff Norton + + * XplatUI.cs: Ensure that we can run on .net 2.0 with mono 2.2 where + PlatformID.MacOSX now exists. + +2008-11-20 Jonathan Pobst + + * TextBoxBase.cs: Provide a default implementation for ChangeBackColor. + Having something internal abstract isn't very nice for people who want + to inherit from this class. + +2008-11-20 Jonathan Pobst + + * ToolStripItem.cs: Don't crash if ImageIndex or ImageKey is set to an + invalid value. Just return null for the Image, and use the ImageList's + ImageSize for calculations. + +2008-11-20 Jonathan Pobst + + * ComboBox.cs: Call HideWindow instead of Hide when closing the dropdown + through DroppedDown so the proper events get called and state gets reset. + [Fixes bug #446805] + +2008-11-18 Jonathan Pobst + + * DataGridViewColumnCollection.cs: Make sure we re-index the columns after + the collection is modified. + +2008-11-17 Jonathan Pobst + + * DomainUpDown.cs: Remove string cache and reflection optimizations. They + aren't always correct, and fixing them for every case is not worth the + negligible benefit they provide. + [Fixes bug #445713] + +2008-11-17 Jonathan Pobst + + * DataGridView.cs: We should never add actual cells to the RowTemplate. + Internally, use RowTemplateFull to give us a new row with cells. + * DataGridViewColumnCollection.cs: Clear Rows when we clear Columns. + * DataGridViewRowCollection.cs: Use RowTemplateFull. + +2008-11-17 Carlos Alberto Cortez + + * XplatUIX11.cs: Forms without borders should be able to change its + size - specially they should be able to be maximized, adding the + respective MotifFunctions.Resize bit when setting window properties as + well as *not* marking the Hwnd as size fixed. + Fixes #444347. + +2008-11-12 Jonathan Pobst + + * DataGridViewCellStyle.cs: Allow SelectionBackColor to have + an alpha value. + [Fixes bug #444348] + +2008-11-11 Andrés G. Aragoneses + + * Application.cs: After UIA assembly is successfully loaded, + dump any exception that happens on initialization to stderr. + +2008-11-11 Jonathan Pobst + + * DataGridView.cs: Add internal to OnAutoSizeColumnModeChanged. + * DataGridViewColumn.cs: Recalculate columns when AutoSizeMode changes. Raise + AutoSizeColumnModeChanged. + [Fixes bug #443609] + +2008-11-11 Jonathan Pobst + + * DataGridViewRowCollection.cs: Guard against the user deleting the + NewRow. Add an internal delete so we can still delete it. + * DataGridView.cs: Use the new internal delete when deleting the NewRow. + [Fixes bug #442181] + +2008-11-10 Jonathan Pobst + + * TextControl.cs: Add some order of operation to our math so + we don't end up with a negative height for our invalidate rect. + [Fixes bug #381889] + +2008-11-10 Jonathan Pobst + + * Control.cs: When our enabled changes, notify our implicit children + controls as well as our regular controls. + [Fixes bug #441523] + +2008-11-08 Andreia Gaita + + * HtmlElement.cs: Small code cleanup + +2008-11-06 Carlos Alberto Cortez + + * BindingNavigator.cs: MoveFirstItem should be enabled only if + position is larger than 0, not only different than 0. Also Position + and Count items should be enabled if the BindingSource is non null and + non empty. + Fixes #439961. + +2008-11-05 Jonathan Pobst + + * TabControl.cs: Don't raise SelectedIndexChanged until we have + actually modified the tab collection, so TabCount will be correct. + [Fixes bug #441896] + +2008-11-05 Sandy Armstrong + + * ListViewItem.cs: Mark ListViewSubItem.UIATextChanged event as + NonSerialized to fix serialization of ListViewItem. + +2008-11-04 Mike Gorse + + * ListView.cs: Call OnUIAFocusedItemChanged after completing the + focus change, and always call in SetFocusedItem. + * ListBox.cs: Add UIAFocusedItemChanged as in ListView. + +2008-11-04 Jonathan Pobst + + * ComboBox.cs: Only call OnDrawItem when we are using an OwnerDraw + mode. Based on a patch by John Mortlock. + [Fixes bug #436790] + +2008-11-04 Carlos Alberto Cortez + + * ListView.cs: Use the UsingGroups property where needed, instead of + duplicating the check in other places. + +2008-11-04 Carlos Alberto Cortez + + * ListView.cs: When calculating layout, refresh the count of items + belonging to the default item, insteas of doing it only one time. This + was already working fine for icon views, not not for details. + Fixes #438948. + +2008-11-03 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: + * ThemeWin32Classic.cs: Don't render Tile view if there wasn't a call + to Applicatin.EnableVisualStyles, and use LargeIcon view, as .net + does. + Fixes #437933. + +2008-11-03 Sandy Armstrong + + * ListView.cs: Wrap call to OnUIAFocusedItemChanged with #if NET_2_0. + +2008-11-03 Sandy Armstrong + + * ListView.cs: Add internal UIAFocusedItemChanged event. Fixes bug + #441280, patch by Mike Gorse . + +2008-11-03 Jonathan Pobst + + * TreeView.cs: When doing ExpandAll, don't scroll to the bottom + if there is no scrollbar. + [Fixes bug #440885] + +2008-11-03 Jonathan Pobst + + * ProgressBar.cs, ThemeWin32Classic.cs, ThemeVisualStyles.cs: Commit + patch from Andy Hume that fixes many issues with ProgressBar. + [See bug #440220] + +2008-11-03 Jonathan Pobst + + * Form.cs: Don't allow MinimumSize and MaximumSize to conflict. + [Fixes bug #438866] + +2008-11-03 Sandy Armstrong + + * UpDownBase.cs: + * DomainUpDown.cs: + * NumericUpDown.cs: Internal events added to UpDownBase: + UIAUpButtonClick and UIADownButtonClick. Patch by Neville Gao + . + +2008-11-03 Sandy Armstrong + + * ToolStripLabel.cs: Internal event added: UIAIsLinkChanged. + +2008-11-02 Carlos Alberto Cortez + + * ListView.cs: + * ThemeWin32Classic.cs: Don't use groups nor insertion mark in + Application.EnableVisualStyles hasn't been called. + Fixes part of #437933. + +2008-10-31 Andreia Gaita + + * Form.cs (SetVisibleCore): since set_ActiveControl no longer calls focus + if the container is not focused already, we need to specifically set + focus to the first available control, or to the form itself if there + are no controls. + +2008-10-31 Andreia Gaita + + activate message fix: a call to .Show now waits until both WM_SHOWWINDOW and + WM_ACTIVATE have been processed before returning, so it is guaranteed that + once it returns and the form is visible, it is actually on the screen on X11 + + * ContainerControl.cs: Only send focus to the control if the top container + is already focused. This is so that, when a form is first shown, all + the enter/leave events are done first before any focus stuff comes in. + If a control has no top container, there's an extra check on Control.Focus + to make sure it gets focused in this particular case. + + * Control.cs: Force focus if the control is active but did not receive + focus after being set as active. + + * MdiClient.cs: Dispose the form when closing + + * XplatUIX11.cs: When mapping and unmapping windows, make sure the call + doesn't return until both WM_SHOWWINDOW and WM_ACTIVATE have come in + if the window is a top Form. + Reset all hwnd properties when the window has been destroyed so that + we don't land in any codepaths that might try to do something with it. + Added a bunch of debugging messages. If TRACE is defined, all X calls + are logged through DebugHelper. Set a few missing EntryPoint attributes. + +2008-10-29 Mario Carrion + + * ListViewItem.cs: Control enabled to support Accessibility: + - Internal events: UIATextChanged, UIASubItemTextChanged. + - Internal event UIATextChanged in ListViewSubItem that triggers + UIASubItemTextChanged. + * ListView.cs: Control enabled to support Accessibility: + - Internal events: UIACheckBoxesChanged, UIAMultiSelectChanged, + UIAShowGroupsChanged, UIAViewChanged and UIALabelEditChanged. + - Internal event UIACollectionChanged in ColumnHeaderCollection. + - Internal event UIACollectionChanged in ListViewItemCollection. + - Internal properties: UIAHeaderControl, UIAColumns, UIARows, + UIADefaultListViewGroup, UIAHScrollBar and UIAVScrollBar. + - Internal methods: UIAGetHeaderBounds. + +2008-10-25 Carlos Alberto Cortez + + * ScrollableControl.cs: Actually fire the 2.0 Scroll event when we get + the event from the respective scrollbars. + Fixes #436709. + +2008-10-24 Carlos Alberto Cortez + + * ComboBox.cs: Use the new CanNavigateAutoCompleteList property of the + textbox to know whether any navigation key will be handled or not. If + not, don't pass the message to the textbox, and use it here instead. + * TextBox.cs: Define a new CanNavigateAutoCompleteList property -which + is more precise- than the previous AutoCompleteMatches one. + This should the keyboard navigation in ComboBox when using auto + complete modes. + +2008-10-24 Jonathan Pobst + + * ComboBox.cs: Fix item height calculation based off Font to match .Net. + [Fixes bug #436730] + +2008-10-24 Jonathan Pobst + + * ToolStripDropDownItem.cs: Call OnClick instead of base.OnClick so + overridden methods will get called. + * ToolStripItem.cs: Raise Click before MouseUp. + * ToolStripSplitButton.cs: Fix up some bounding rectangles to take + the item's location into account. + [Fixes bug #437683] + +2008-10-24 Neville Gao + + * NumericUpDown.cs: Control enabled to support accessibility. + [Fiexes bug #438135] + +2008-10-23 Carlos Alberto Cortez + + * TextBox.cs: Check that we actually have items no navigate, select + text when pressing enter, as well as handle direction keys only if + mode is different to Suggest or the suggest listbox is visible. + +2008-10-23 Andreia Gaita + + * WebBrowser.cs: Use the new ContentStream property to retrieve + a stream encoded from the document content + +2008-10-23 Andreia Gaita + + * HtmlDocument.cs, + HtmlElement.cs, + HtmlWindow.cs: Fix GetHashcode for null objects + +2008-10-22 Andreia Gaita + + * HtmlDocument.cs, + HtmlElement.cs, + HtmlWindow.cs: Fix equality operators (fixes #428173) + +2008-10-21 Jonathan Pobst + + * XplatUIWin32.cs: Apply patch from John Mortlock that ensures + mouse_state gets set during WM_MOUSEMOVE and WM_NCMOUSEMOVE. + [Fixes bug #436772] + +2008-10-21 Jonathan Pobst + + * ComboBox.cs: Fire SelectedIndexChanged when the user selects the + same item with the mouse as was already selected. + [Fixes bug #436789] + +2008-10-21 Brad Taylor + + * TextControl.cs: Break out code to get the visible range into + GetVisibleLineIndexes to be used in UIA code. + + * Line.cs: + * TextControl.cs: + * TextBoxBase.cs: Add comments indicating that the method or property + is used via reflection from UIA code. + +2008-10-20 Carlos Alberto Cortez + + * ListViewItem.cs: Match .net serialization. + Fixes remaining part of #417520. + +2008-10-20 Jonathan Pobst + + * ToolStripProfessionalRenderer.cs: Don't paint over a set BackgroundImage. + +2008-10-20 Mario Carrion + + * ErrorProvider.cs, ToolTip.cs, HelpProvider.cs: UIA internal property + added: UIAToolTipRectangle. + +2008-10-19 Carlos Alberto Cortez + + * ListViewItem.cs: When deserializing enumerate over the data, instead + of accessing the data directly. This way we handle much better the + cases were we lack information. + Fixes #417520. + +2008-10-19 Carlos Alberto Cortez + + * ListView.cs: When removing an item from a main ListView.Items + collection (and not a ListViewGroupCollection.Items one), remove it + also from the group, as .net does. Patch by Mario Carrion (mario at + novell dot com). + Fixes #436653. + +2008-10-19 Andreia Gaita + + * Form.cs: Forms that get closed without a handle being created are + disposed in 2.0. Fixes failing FormTest.FormClose and + FormTest.FormClose2 on windows. + +2008-10-18 Carlos Alberto Cortez + + * ListView.cs: If both scrollbars are visible, the vertical one + shouldn't extend too far down. + Fixes #435771. + +2008-10-17 Jonathan Pobst + + * DataGridView.cs: Add the ability to resize columns and rows with + the mouse. Also support double-clicking to autoresize. + * DataGridViewColumn.cs: Invalidate the grid if a column's width changes. + * DataGridViewRow.cs: Invalidate the grid if a row's height changes. + * DataGridViewTextBoxCell.cs: Add 1 to preferred width so ellipsis + isn't shown on autoresize. + [Fixes bug #420193] + +2008-10-17 Mario Carrion + + * ComboBox.cs: Remove UIAListbox. + +2008-10-17 Mario Carrion + + * ComboBox.cs, ListBox.cs: Using added/removed item in + OnUIACollectionChangedEvent instead of index. + +2008-10-17 Jonathan Pobst + + * ComboBox.cs: When we are sorting the items, if the item's type + doesn't support IComparer, use a default one that compares based + off the item's visible text. + [Fixes bug #436328] + +2008-10-17 Carlos Alberto Cortez + + * ColumnHeader.cs: Invalidate ListView.header_control when setting + ImageIndex/ImageKey. + * ThemeWin32Classic.cs: When drawing the column header, draw a image + for the column if available, and make the required adjustments to the + text location. + Fixes #435105. + +2008-10-17 Neville Gao + + * StatusBarPanel.cs: Control enabled to support accessibility. + [Fixes bug #435988] + +2008-10-16 Jonathan Pobst + + * DataGridView.cs: When a user begins an edit in the 'new row', + make that a real row, and add a new 'new row'. If the user + cancels the edit, remove the new 'new row' and reset everything. + Also, ensure UserAddedRow and UserRemovedRow events are raised. + [Fixes bug #430954] + +2008-10-16 Ivan N. Zlatev + + * TableLayoutSettings.cs: Fix NREs when deserializing and + panel is not yet set. + [Fixes bug #436199] + +2008-10-16 Jonathan Pobst + + * DataGridView.cs: Invalidate after deleting a row. + +2008-10-16 Jonathan Pobst + + * DataGridView.cs: Handle Enter and Escape keys. + - Move call to EndEdit to MoveCurrentCell. + - Remove call to EndEdit from navigation key routines. + - Fire CellLeave and CellEnter. + +2008-10-16 Jonathan Pobst + + * DataGridViewCell.cs: Some fixes to the new cell border + painting code. + +2008-10-16 Jonathan Pobst + + * ThemeEngine.cs: Enable visualstyles rendering by default + (on platforms that support it). + +2008-10-15 Ivan N. Zlatev + + * XplatUIX11.cs, XplatUICarbon.cs: Do not Timer.Tick before + MainForm.OnLoad has completed unless DoEvents is forced. + [Fixes bug #412536] + +2008-10-15 Jonathan Pobst + + * ToolTip.cs: Ensure that Timer.Internal cannot be set to 0. + +2008-10-15 Jonathan Pobst + + * Control.cs: Make our implementation of DrawToBitmap better + match WmPaint. [Fixes bug #435579] + +2008-10-14 Andreia Gaita + + * WebBrowser.cs: Use DocumentElement as the document's root for the + whole content. Should fix DocumentText and DocumentStream problems. + +2008-10-14 Jonathan Pobst + + * DataGridViewColumnCollection.cs: Remove calls to OnColumnAddedInternal, + these will get called in DGV.OnCollectionChanged. Make sure + OnCollectionChanged always gets called. + * DataGridView.cs: Make a OnColumnRemovedInternal that removes the cells + from every row. Call this in OnCollectionChanged. + [Fixes bug #433669] + +2008-10-13 Carlos Alberto Cortez + + * ComboBox.cs: WM_KEYDOWN and WM_KEYUP messages should be sent to the + textbox if auto complete is used, since we need to navigate over it. + And in this case don't pass this messages to the base impl. Also hide + the auto complete list box when displaying the drop down listbox. + * TextBox.cs: new internal members to expose some of the auto complete + functionality to combobox. + +2008-10-13 Ivan N. Zlatev + + * XplatUIX11.cs, XplatUICarbon.cs, Form.cs: Do not Timer.Tick before + MainForm.OnLoad has completed. + [Fixes bug #412536] + +2008-10-13 Carlos Alberto Cortez + + * TextBox.cs: Apply an old-approved patch that adds autocomplete's + Append support to this controls. We need it to apply new patches. + +2008-10-12 Carlos Alberto Cortez + + * Control.cs: When updating z order in child controls, send to back + the implicit controls. Also, do it explicitly, instead of making + GetAllControls return the implicit controls in a specific order, and + thus avoid depending on that, which could change in the future. + Fixes #434304. + +2008-10-11 Carlos Alberto Cortez + + * X11Dnd.cs: Try to call Application.DoEvents before returning in a + call to StartDrag, since we must fire DragDrop/DragLeave *before* + that, as .net does - instead of firing DragDrop/DragLeave *after* the + call to Control.DoDragDrop has completed. This is needed since at the + point of returning, we have sent related dnd ClientMessages, but we + need to wait for them to fire the wmf respective ones. + Fixes #325076. + +2008-10-09 Everaldo Canuto + + * LinkLabel.cs: Recreate link pieces when change Padding. + +2008-10-09 Everaldo Canuto + + * LinkLabel.cs: Take Padding into account when recreate link pieces. + [Fixes bug #412530] + +2008-10-08 Everaldo Canuto + + * Control.cs: Implement internal property PaddingClientRectangle, it will be + useful for drawing controls that must take care about Padding property. + +2008-10-08 Jonathan Pobst + + * BindingSource.cs: Make item_type internal so we can access it in DGV. + * DataGridView.cs: Add support for autogenerating columns from a + BindingSource. + +2008-10-07 Jonathan Pobst + + * DataGridView.cs: Comment out an exception that is getting thrown + too often currently. + +2008-10-07 Jonathan Pobst + + * DataGridView.cs: Always rebind to the datasource, as things may + have changed in it that we aren't capturing yet. + +2008-10-07 Jonathan Pobst + + * DataGridViewTextBoxCell.cs: Don't default to VerticalCenter font + drawing mode. If we are top aligned, give ourselves some top padding. + +2008-10-06 Carlos Alberto Cortez + + * X11Dnd.cs: When firing the default dnd enter/leave events, fire the + events on the control under the mouse pointer, instead of firing them + on the window generating the dnd operation. To achieve this re-use the + code used to get the window under the pointer when getting MouseMove + events. + Fixes #381876. + +2008-10-06 Carlos Alberto Cortez + + * X11Dnd.cs: Don't check that that the window sending the dnd events + is the owner of the selection. Although Gtk+ sets it that way, it's + not a requirement of the XDnd protocol, and Qt doesn't seem to do it. + So, just as Gtk+ does, we set our window sending the dnd events as the + owner of the selection, but don't check it when receiving them. This + should fix interoperability with Qt/Kde. + Fixes #324251. + +2008-10-06 Jonathan Pobst + + * DataGridView.cs: Make sure we take the vertical scrollbar into + account when autosizing columns. + +2008-10-06 Jonathan Pobst + + * DataGridView.cs: Handle sorting datetimes. + +2008-10-04 Ivan N. Zlatev + + * ButtonBase.cs, Control.cs, Label.cs, PictureBox.cs, TabControl.cs, + TextBoxBase.cs, ToolBar.cs, TrackBar.cs, TreeView.cs: Cleanup + compilation warnings. + +2008-10-03 Ivan N. Zlatev + + * RTF.cs, Application.cs, BindingContext.cs, BindingSource.cs, + ContextMenuStrip.cs, Control.cs, Hwnd.cs, Line.cs, MaskedTextBox.cs, + ProgressBar.cs, SaveFileDialog.cs, TextControl.cs, Theme.cs, + ToolBar.cs, ToolStripItemCollection.cs, TrackBar.cs: Cleanup + compilation warnings. + +2008-10-03 Ivan N. Zlatev + + * DataGridView.cs, DataGridViewCell.cs, + DataGridViewCellValidatingEventArgs.cs, + DataGridViewComboBoxEditingControl.cs, DataGridViewHeaderCell.cs, + DataGridViewRow.cs, DataGridViewRowHeaderCell.cs, + DataGridViewTextBoxEditingControl.cs: Cleanup compilation warnings. + +2008-10-03 Ivan N. Zlatev + + * HtmlElementEventArgs.cs, HtmlWindowCollection.cs: + Cleanup compilation warnings. + +2008-10-03 Ivan N. Zlatev + + * XplatUIWin32.cs: Cleanup compilation warnings. + +2008-10-03 Ivan N. Zlatev + + * PropertyGrid.cs: Cleanup compilation warnings. + +2008-10-02 Jonathan Pobst + + * DataGridViewRow.cs: Only clear the row background if we + are going to paint a new background. + +2008-10-02 Jonathan Pobst + + * DataGridViewCell.cs, DataGridViewColumnHeaderCell.cs, + DataGridViewRowHeaderCell.cs: Remove PaintPartBorder and + use PaintBorder instead. + +2008-10-02 Jonathan Pobst + + * DataGridView.cs: When CellBorderStyle is set, update the + AdvancedCellBorderStyle to match. + +2008-10-02 Jonathan Pobst + + * DataGridViewCell.cs: Add helper methods to convert Alignment + to TextFormatFlags and align rectangles. + * DataGridViewTextBoxCell.cs: Use Alignment when painting text. + * DataGridViewImageCell.cs: Use Alignment when painting the image. + +2008-10-02 Ivan N. Zlatev + + * ToolTip.cs: Display tooltips only for controls on the active form. + [Fixes bug #428115] + +2008-10-02 Jonathan Pobst + + * DataGridView.cs: Make OnCellValueNeeded internal. + * DataGridViewCell.cs: Raise the CellValueNeeded event so the + user can supply their own value if they choose. + +2008-10-02 Jonathan Pobst + + * DataGridViewColumnHeaderCell.cs: Create a new style object + so the DefaultCellStyle doesn't get changed. + +2008-10-02 Jonathan Pobst + + * ToolStripItem.cs: Check to make sure the owner is actually + changing in InternalOwner before doing any work. Fixes some + failing tests. + +2008-10-01 Jonathan Pobst + + * DataGridViewColumnHeaderCell.cs: Correctly calculate style. + * DataGridView.cs: Use a column header's inherited style instead + of just using the default. + +2008-10-01 Jonathan Pobst + + * SplitContainer.cs: Raise SplitterMoved when the splitter is + moved through code. + +2008-10-01 Mario Carrion + + * ScrollBar.cs: Internal property added: UIAThumbPosition. + +2008-10-01 Jonathan Pobst + + * ToolStripOverflowButton.cs: Use InternalOwner instead of Owner. + +2008-10-01 Jonathan Pobst + + * ToolStripItem.cs: When the user sets Owner, we need to remove + it from its previous owner and then add it to the new owner's + item collection. Also, create InternalOwner, so we can set the owner + that doesn't do this new stuff. + * ToolStripItemCollection.cs: Use InternalOwner instead of Owner. + +2008-10-01 Jonathan Pobst + + * ToolStripItem.cs: When our parent changes, recalculate our text + size, since we may be getting our Font from our parent. When our + owner's Font changes, recalculate ourselves as we may be using + that font. + +2008-10-01 Everaldo Canuto + + * MenuAPI.cs: Select the first option of a popup when opening the popup via + return key. [Fixes bug #413792]. + +2008-10-01 Jonathan Pobst + + * ToolStripItem.cs: Make Font, BackColor, and ForeColor be + ambient properties. (Get their value from their parents if + values haven't been set.) + +2008-10-01 Jonathan Pobst + + * ToolStripSystemRenderer.cs: Call overridden methods' bases + after our logic, so users can do painting by handling the events. + Currently, we draw over any user painting. + +2008-10-01 Jonathan Pobst + + * ToolStripProfessionalRenderer.cs: Call overridden methods' bases + after our logic, so users can do painting by handling the events. + Currently, we draw over any user painting. + +2008-09-30 Everaldo Canuto + + * MenuAPI.cs: Prevent NRE when deactivate menu. Fixes #413636. + +2008-09-30 Jonathan Pobst + + * TreeNode.cs, TreeView.cs: Move logic that determines the node + image to draw to TreeNode. Give Index/Keys put on the node + precedence over the global one for the TreeView. + +2008-09-30 Jonathan Pobst + + * TreeNode.cs: Setting ImageIndex or ImageKey should reset the other. + +2008-09-29 Mario Carrion + + * ListBox.cs: Index fixed. + +2008-09-29 Carlos Alberto Cortez + + * TabControl.cs: When expanding the tab -because it's selected now-, + using Right alignment, instead of adding some selected delta value to + the X origin, substract it, so it gets a location adjacent to the panel, + instead of be more separated. + Fixes #409170. + +2008-09-29 Jonathan Pobst + + * MessageBox.cs: Use SystemIcons for graphics instead of keeping our + own copies of them. + +2008-09-29 Carlos Alberto Cortez + + * X11Dnd.cs: source and related fields should be set to IntPtr.Zero, + as well as the other static fields, to avoid using their previous + values my mistake when handling the dnd events. This should avoid + handling any status event after the drop has been finalized/cancelled. + +2008-09-28 Carlos Alberto Cortez + + * X11Dnd.cs: We have to send a dnd enter event as soon as we start the + operation, instead of waiting until we get any movement - this will + help us to have the data available in case no movement was detected + and _still_ we have to fire DragEnter and DragLeave/DragDrop events. + Finally add a windows.forms-only fallback to fire the mentioned events + if no movement at all was detected, just like .net does. + Fixes #381876. + +2008-09-27 Jonathan Pobst + + * ThemeWin32Classic.cs: When drawing a status bar panel, don't + return early if the text is empty because the icon doesn't get + drawn then. [Fixes bug #428113] + +2008-09-25 Carlos Alberto Cortez + + * FileDialog.cs: Implement basic support for sorting by columns in + Details view. Patch by Eric Petit. + Fixes #428006. + +2008-09-25 Carlos Alberto Cortez + + * ThemeWin32Classis.cs: When drawing gridlines take into account the + case where ListView.ItemSize hasn't been computed, and provide a + fallback as well. This prevents a division by 0. + +2008-09-24 Jonathan Pobst + + * ThemeVisualStyles.cs: Use ClientRectangle instead of Bounds to + correctly draw tooltip backgrounds. + +2008-09-24 Jonathan Pobst + + * ImageList.cs: Change CopyTo implementation to ensure clones are + created of our images. + [Fixes bug #409169] + +2008-09-24 Jonathan Pobst + + * Control.cs: When setting fonts, we need to ensure we change our + reference to the new font object, even if it represents the same + font as before. If we don't, the original font can get disposed + and we will still try to use it. + [Fixes bug #386450] + +2008-09-24 Carlos Alberto Cortez + + * FileDialog.cs: Take into account Tile view when selecting the view + (2.0 profile). + +2008-09-24 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: When drawing gridlines for ListView don't use + the item bounds, since we can't iterate over them in virtual mode. + Also fix wrong calculation of the gridlines when using scrolling. + Fixes #400390. + +2008-09-23 Carlos Alberto Cortez + + * XplatUIX11.cs: When handling EnterNotify events, take into account + both the public and implicit controls when trying to detect the + grab/ungrab process. This should fix ListView selection in Details + view. + +2008-09-23 Jonathan Pobst + + * TreeView.cs: Redraw the whole node area when the selected node changes. + Things like state images were not getting redrawn because the invalid + rectangle was too small. + [Fixes bug #428211] + +2008-09-23 Mario Carrion + + * ListBox.cs: UIA Selection Pattern fully supported in ListBox control. + [Fixes bug #428993] + +2008-09-23 Jonathan Pobst + + * Form.cs: Do not set the Form's icon in the backend if showicon = false. + [Fixes bug #428114] + +2008-09-23 Jonathan Pobst + + * ThemeWin32Classic.cs: Allow tooltips to be multiline. + [Fixes bug #427884] + +2008-09-23 Jonathan Pobst + + * StatusBar.cs: Add tooltip support. + [Fixes bug #428113] + +2008-09-23 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: Use StringAlignment.Center for the vertical + alignments of sub items in Details view. Patch by John Mortlock (johnm at + hlaustralia.com.au). + Fixes #425360. + +2008-09-23 Neville Gao + + * StatusBar.cs: Add UIA event in AddInternal () to support accessibility. + [Fixes bug #419079] + +2008-09-22 Jonathan Pobst + + * TextBoxBase.cs: Set Text to "" instead of null in Clear(). + [Fixes bug #428107] + +2008-09-22 Carlos Alberto Cortez + + * ListView.cs: Don't do anything when EnsureVisible is called inside a + BeginUpdate/EndUpdate block. + Fixes #425049. + +2008-09-22 Carlos Alberto Cortez + + * ListViewItem.cs: The semantics for the public .ctor of + ListViewSubItemCollection need us to already have a Text value for the + item, which in our implementation have as available *after* adding the + first sub item. So create an internal .ctor that satisfies our needs + and let the public .ctor have the same semantics as .net. + Fixes #427561. + +2008-09-19 Carlos Alberto Cortez + + * ListControl.cs: Changes in Formatting related values should call + RefreshItems, as .net does. + * ComboBox.cs: + * ListBox.cs: In the respective overrides of RefreshItems calculate + layout as well as refreshing - again, this is what .net does. + Fixes #426168. + +2008-09-19 Carlos Alberto Cortez + + * ListBox.cs: In UpdateTopItem, don' call to XplatUI.ScrollWindow, + since we are already doing that when we change the value of the + scrollbar or force the call to ScrollWindow in the same method. This + way we don't cause a Invalidate call for all the listbox bounds for + methods calling UpdateTopItem with an already updated top item. This + was happening specially calling EnsureVisible with already visible + items. + +2008-09-18 Mike Gorse + + * Application.cs, IKeyFilter.cs, X11Keyboard.cs, XplatUI.cs, + XplatUIStructs.cs: Added KeyFilter + [Fixes bug #427039] + +2008-09-18 Carlos Alberto Cortez + + * RelatedPropertyManager.cs: The properties returned by + GetItemProperties should be that ones of the *actual* object returned + by the property, not the property type - this is very special when the + property exposes a type, but the returned object actually is a child + class and implements more functionality and properties. + +2008-09-18 Carlos Alberto Cortez + + * Binding.cs: Don't look for the property in the data source if the + passed string is empty. + +2008-09-18 Ivan N. Zlatev + + * XplatUIX11.cs: Comment out _NET_WM_WINDOW_TYPE_DIALOG in order to + fix unused variable warnings. + +2008-09-18 Ivan N. Zlatev + + * XplatUIX11.cs: Send WM_HELP when F1 is pressed. + [Fixes bug #427073] + +2008-09-18 Ivan N. Zlatev + + * XplatUIX11.cs: + - Do not set _NET_WM_WINDOW_TYPE_DIALOG for modal forms, because this + leads to the window manager overriding our border style and zorder. + - Allow the activation of non-modal forms, which are children of a + modal form. + [Fixes bug #423417] + +2008-09-17 Ivan N. Zlatev + + * XplatUIX11.cs, X11Structs.cs: For mapped windows SetTopMost should + ask the window manager to do the work instead of changing the property + directly. + [Fixes bug #423417] + +2008-09-17 Everaldo Canuto + + * CurrencyManager.cs: Check for positon before call ChangeRecordState in + AddNew to fix some navigation for empty datasets. [Fixes #323053] + +2008-09-17 Everaldo Canuto + + * FileDialog.cs: Remove OnPaint method on PopupButtonPanel and set + InternalBorderStyle to BorderStyle.Fixed3D. It is the best way to get 3d + border and fixes some drawing issues when resize form. + +2008-09-17 Everaldo Canuto + + * FileDialog.cs: Lots of layout fixes to mimic Win32. [Fixes #408752] + + * ThemeWin32Classic.cs: We don't need to reduce button size when it is + AcceptButton. + +2008-09-17 Ivan N. Zlatev + + * TextBoxBase.cs: For standard textbox the scrollbars are always + visible if Multiline is true. + [Fixes bug #426896] + +2008-05-12 Everaldo Canuto + + * DataGridTextBoxColumn.cs: Uncomment code accidentally commited in last + patch. + +2008-05-12 Everaldo Canuto + + [Fixes most od DBNull and HeadersVisible problems] + + * DataGrid.cs: + - ShowingColumnHeaders removed because we dont need it, ColumnHeadersVisible + returns the value that we need. + - Fixed FromPixelToColumn method that return zero for first column and for + row header cell, now it returns -1 for row header cell. + - Fixed HitTest to check row header cell in column header area, it now + returns HitTestType.None. [Fixes #322864] + - Fixed the calculation of visible columns in UpdateVisibleColumn, now it + checks for RowHeadersVisible and other things. + - If an exception occurs when setting CurrentCell and user type 'yes' in + message dialog, invalidade current and new cell and set setting_current_cell + to false to prevent future errors. [Partially fixes #323050] + + * DataGridColumnStyle.cs: Don't call EndEdit after set property_descriptor + value (SetColumnValueAtRow), it must be done by grid to properly show + messages. [Fixes #323050] + + * ThemeWin32Classic.cs: Lots of fixes in DataGridPaintColumnHeaders to + better draw column and row header. Also dont draw anything when column + headers is not visible. + +2008-09-16 Jonathan Pobst + + * ThemeWin32Classic.cs: Hook ListViewItems into the ShowFocusCues + logic. + +2008-09-16 Jonathan Pobst + + * TreeView.cs: Don't start editing a node on right click, only + left click. + +2008-09-16 Jonathan Pobst + + * NativeWindow.cs: Reenable the ThreadExceptionDialog I accidentally + disabled over a year ago. + * Form.cs: Wrap calling Load in a try/catch because it can happen + before the catch-all one in NativeWindow. + [Fixes bug #425414] + +2008-09-16 Jonathan Pobst + + * ToolStripDropDownMenu.cs: Calculate the connected area better + to take into account when the drop down is not directly under the + owner item. + * ToolStripProfessionalRenderer.cs: Draw the whole unconnected area. + +2008-09-16 Mario Carrion + + * ScrollBar.cs: New event added: UIAValueChanged, generated when + LargeChange, SmallChange, Maximum or Minimum values are changed. + [Fixes bug #426464] + +2008-09-16 Mario Carrion + + * ErrorProvider.cs: Component enabled to support accessibility. + * Application.cs: Updated to Initialize UIA in ErrorProvider. + [Fixes bug #426459] + +2008-09-16 Jonathan Pobst + + * TextBoxBase.cs: Flag has_been_focused when SelectionStart is set + so we don't highlight on first focus. + [Fixes bug #360869] + +2008-09-16 Jonathan Pobst + + * TextControl.cs: Correctly calculate the height of the area we + need to invalidate when we have started scrolling and viewport_y + is used. [Fixes bug #387608] + +2008-09-16 Jonathan Pobst + + * TextControl.cs: When getting the SelectedText, don't add in + NewLine characters, as they are already contained in the lines. + [Fixes bug #388115] + +2008-09-16 Jonathan Pobst + + * TextBoxBase.cs: Replace the buggy Lines setter with one that + simply concats the lines and send it to the Text setter. + [Fixes issue #2 and #3 of 388115] + +2008-09-16 Carlos Alberto Cortez + + * Binding.cs: The default value of DataSourceNullValue should be + Convert.DBNull actually. Also, the NullValue should only be used *if* + itself is not null, and use the null/Convert.DBNull value instead. + +2008-09-15 Jonathan Pobst + + * TextControl.cs: Add a method to convert a string newline to the + newline enum. + * TextBoxBase.cs: When the user hits enter, insert a native newline. + [Fixes part 1 of bug #388115] + +2008-09-15 Mario Carrion + + * ToolTip.cs: UnPopup event set to internal to match public API. + +2008-09-15 Jonathan Pobst + + * TextBoxBase.cs: If the user is using Ctrl-Tab to move focus, we + have to remove the Ctrl in order for the focus moving code to kick in. + [Fixes bug #426170] + +2008-09-15 Jonathan Pobst + + * CheckedListBox.cs: Return the real item index from Add. It may not be + the last item if the list is sorted. The user can change the NewValue in + the ItemCheck event, we need to use that value if so. + * ListBox.cs: Return the real item index from a sorted Add. + [Fixes bug #426166] + +2008-09-15 Ivan N. Zlatev + + * MimeIcon.cs: Add null checks in the GnomeHandler, because it might + happen that the icons from the theme is missing or the particular size + unavailable. + [Fixes bug #424981] + +2008-09-15 Carlos Alberto Cortez + + * Binding.cs: When assigning null or DBNull depending on value/ref type, + use IsValueType instead to get the precise desired value. + Fixes #424276. + +2008-09-12 Jonathan Pobst + + * TreeNodeCollection.cs: When adding a new node to an opened node, + we have to invalidate everything below the parent node because + every node scoots down and we have to repaint them. + [Fixes bug #411386] + +2008-09-12 Jonathan Pobst + + * ThemeWin32Classic.cs: Take CheckBox and RadioButton's CheckAlign + property into account when drawing. + [Fixes bug #416064] + +2008-09-12 Carlos Alberto Cortez + + * ListBox.cs: When calling Items.Clear(), call + SelectedIndexCollection.ClearCore instead of normal Clear method, to + not fire any Selected*Changed event - this is done to match .net and + don't have invalid values when changing the DataSourceProperty. + Fixes #424273. + +2008-09-12 Mario Carrion + + * HelpProvider.cs: Control enabled to support accessibility. + * Application.cs: Updated to Initialize UIA in HelpProvider. + [Fixes bug #425988] + +2008-09-12 Jonathan Pobst + + * Form.cs: When we are showing a dialog box, if its owner is TopMost, + make the dialog TopMost as well. + [Fixes bug #425984] + +2008-09-12 Jonathan Pobst + + * Win32DnD.cs, XplatUIWin32.cs: Applied patch from Andy Hume that handles + clipboard data better. + [Fixes bug #414446] + +2008-09-12 Jonathan Pobst + + * TextBoxBase.cs: Applied patch from John Mortlock that ensures + TextChanged and SelectionChanged events fire in the same order as .Net. + [Fixes bug #425725] + +2008-09-12 Jonathan Pobst + + * DataGridView.cs: When sorting a column, if it only contains numbers, + do a numeric sort instead of a string sort. + [Fixes bug #425849] + +2008-09-12 Jonathan Pobst + + * TableLayoutSettings.cs, TableLayoutStyleCollection.cs: Guard + against NRE's when the settings have a null panel. + * TableLayoutPanel.cs: When setting the TableLayoutSettings, ensure + the panel gets set. + [Fixes bug #425647] + +2008-09-11 Mario Carrion + + * ToolTip.cs: Control enabled to support accessibility. + * Application.cs: Updated to Initialize UIA in ToolTip. + [Fixes bug #425277] + +2008-09-11 Jonathan Pobst + + * Control.cs: Make the custom Enumerator internal to fix build. + +2008-09-11 Jonathan Pobst + + * DataGridViewCheckBoxCell.cs: If our content is clicked and we aren't + already in edit mode, begin edit mode. Generally edit mode isn't + started until the second click, but CheckBoxes are special. + +2008-09-11 Jonathan Pobst + + * ErrorProvider.cs: Never try to add our icons to ContainerControl, + since that can be set to anything. Always add them to the Control's + parent. [Fixes bug #416058] + +2008-09-11 Jonathan Pobst + + * ListView.cs: Use a custom enumerator for ListViewItemCollection + so items can be deleted in a foreach. + [Fixes bug #425342] + +2008-09-11 Jonathan Pobst + + * DataGridViewRow.cs: Better implementation of GetPreferredHeight. + Store the user set explicit height so that the row can be AutoSized + and then when AutoSize is turned off, it can get its original size back. + * DataGridView.cs: Use the Row's GetPreferredHeight instead of + duplicating the logic. When setting AutoSizeRowsMode to None, reset + rows' heights back to their explicit values. + [Fixes bug #415780] + +2008-09-11 Carlos Alberto Cortez + + * DateTimePicker.cs: When getting focus, select the checkbox if we are + already showing it. Also, don't change its value when pressing space + if the checkbox is not visible (ShowCheckBox as false). Finally, the + checkbox should remain selected as long as Checked is false, and the + other parts are disabled. + Fixes #424267. + +2008-09-11 Jonathan Pobst + + * MessageBox.cs: Handle shortcut keys to dialog buttons. + [Fixes bug #425425] + +2008-09-11 Carlos Alberto Cortez + + * Binding.cs: When the value retrieved from the control property is + null, don't return Convert.DBNull for Nullable instances, since they + can *actually* get a null value. + Fixes #424265. + +2008-09-10 Jonathan Pobst + + * Control.cs: Add an internal field to force doublebuffering regardless + of what the public mechanisms are set to. This is because MS's native + controls are doublebuffered even though their .Net bits are set to false. + * ProgressBar.cs: Set force_double_buffer to true. + [Fixes bug #406595] + +2008-09-10 Jonathan Pobst + + * DataGridViewCheckBoxColumn.cs: Use the threestate constructor for + the cell template. + * DataGridViewCheckBoxCell.cs: Add proper support for threestate. + * DataGridViewCell.cs: Implement GetEditedFormattedValue for types + without EditingControls, paint background selection for types without + EditingControls, reset the EditingCellValueChanged flag when the + cell's value is committed. + * DataGridView.cs: Make BeginEdit and EndEdit work with cells that don't + have EditingControls, remove a double call to a cell's OnContentClickInternal, + don't do cell changing logic in OnMouseDown if the cell didn't change. + [Fixes bug #420351] + +2008-09-10 Carlos Alberto Cortez + + * DateTimePicker.cs: Fix the edition of am/pm specifier. + +2008-09-09 Jonathan Pobst + + * TextControl.cs: Add "&" to the list of valid characters in a URL. + +2008-09-09 Carlos Alberto Cortez + + * DateTimePicker.cs: Before incrementing or decrementing any part in + the textbox, end any current edit. Also when ending the current edit + use the editing_part_index field instead of the current selected + value, since they can be out of synch, and we really need to work on + the *real* current edit part. Finally when PartData.Selected changes, + always try to end any ongoing edit. + This should fix some small errors handling mouse navigation and + increase/decrease operations. + +2008-09-09 Carlos Alberto Cortez + + * DateTimePicker.cs: 'hh' and 'HH' formats (12 and 24 hour formats + respectively) should handled different, since the 12 hours format + needs the value typed by the user to be adjusted depending on the + a.m/p.m value, so it is preserved, and only changed when the value + reaches the 12 value (when it changes from a.m to p.m). + Fixes part of #416555. + +2008-09-08 Jonathan Pobst + + * ToolStrip.cs: Ensure MouseDown gets called for MenuStrip items. + * ToolStripDropDownItem.cs: Don't fire events and such again if + ShowDropDown is called on an already dropped down item. + * ToolStripMenuItem.cs: Call ShowDropDown even if there aren't any + subitems, the user may add some in the DropDownOpening event. + [Fixes bug #417877] + +2008-09-08 Jonathan Pobst + + * ComboBox.cs: Fix IOORE when setting SelectedItem to null. + [Fixes bug #424270] + +2008-09-08 Jonathan Pobst + + * MdiClient.cs: When looking for menustrips on a child form to merge, + look inside ToolStripContainers. + [Fixes bug #424264] + +2008-09-08 Ivan N. Zlatev + + * ErrorProvider.cs: Unbreak my previous commit. + +2008-09-08 Ivan N. Zlatev + + * ErrorProvider.cs: Icon should always be 16x16. + [Fixes bug #424380] + +2008-09-07 Ivan N. Zlatev + + * GridEntry.cs: Invalidate the child items cache when the property + value changes. + +2008-09-07 Ivan N. Zlatev + + * GridEntry.cs, PropertyGridView.cs: + - Update the ReadOnly detection and rendering to finally hopefully + match the one of MSFT. + - Niceify and move the debug CWLS. + [Fixes bug #409028] + +2008-09-05 Carlos Alberto Cortez + + * ListView.cs: Don't call Invalidate at all from SetItemLocation, + since we are already calling Invalidate for the entire control when + needed - and call Redraw() when size changes, since we need to paint + there by ourselved and not anymore from the mentioned method. + This should improve the layout process. Also clean some not needed calls + here and there. + +2008-09-05 Jonathan Pobst + + * MenuAPI.cs: Add a null check to the Alt-F4 code. + [Fixes bug #420309] + +2008-09-05 Jonathan Pobst + + * ThreadExceptionDialog.cs: Disable AutoScaling for this dialog. + [Fixes bug #423040] + +2008-09-04 Ivan N. Zlatev + + * GridEntry.cs, CategoryGridEntry.cs, RootGridEntry.cs, PropertyGrid.cs, + PropertyGridView.sc: Implement lazy/delayed propertygrid population + on item expansion. Improves performance and fixes bug #417955. + [Fixes bug #417955] + +2008-09-05 Stephane Delcroix + + * Control.cs: only check for OptimizedDoubleBuffer in NET_2_0. + fix the build. + +2008-09-04 Jonathan Pobst + + * TextControl.cs: Add "_" to the list of valid characters in a URL. + [Fixes bug #423408] + +2008-09-04 Jonathan Pobst + + * Control.cs: If using OptimizedDoubleBuffer, ensure the clip + region gets set. + [Fixes bug #414166] + +2008-09-04 Jonathan Pobst + + * FontDialog.cs: When storing our font size from the starting font, + use SizeInPoints instead of Size in case Size is a different unit + from Points. + [Fixes bug #416489] + +2008-09-04 Jonathan Pobst + + * FileDialog.cs: When enter is pressed on a SaveFileDialog and we + don't use it for anything else, check if a directory is highlighted. + If it is, navigate into it. + [Fixes bug #422087] + +2008-09-04 Carlos Alberto Cortez + + * Binding.cs: When acquiring a BindingManagerBase for the first time, + check that the specified property actually exists in the data source, + and throw an ArgumentException if that's not the case - this is only + done for this scenario, since for later cases (such Position changes) + we throw different exceptions (match .Net). + +2008-09-03 Ivan N. Zlatev + + * ButtonBase.cs CheckBox.cs, Control.cs, FlowLayoutPanel.cs, + FlowLayoutSettings.cs, GroupBox.cs, Label.cs, ListBox.cs, + PropertyGrid.cs, RadioButton.cs, TableLayoutPanel.cs, + TableLayoutSettings.cs, ToolStrip.cs, ToolStripDropDownButton.cs, + ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripSplitButton.cs, + ToolStripStatusLabel.cs: Add missing PerformLayout calls to various + properties. + [Fixes bug #418684] + +2008-09-03 Neville Gao + + * StatusBar.cs: Control enabled to support accessibility. + [Fixes bug #419079] + +2008-09-02 Carlos Alberto Cortez + + * Binding.cs: When connecting the event handler for the "Changed" + event for the property, only do it for PropertyManager, and not for + CurrencyManager - this is exactly what does .Net, totally ignoring any + change in the property of the elements of a list. + Fixes the tests. + +2008-09-02 Jonathan Pobst + + * XplatUIWin32.cs: Ensure we never send the WS_EX_MDICHILD flag + to Windows when creating a window, as we fake MDI stuffs. + [Fixes bug #421858] + +2008-09-01 Ivan N. Zlatev + + * TextBox.cs: Invalidate after UseSystemPasswordChar, so that the + change takes effect. + +2008-08-24 Ivan N. Zlatev + + * XplatUIX11.cs: Provide MouseButtons/State information to the XPlatUI. + [Fixes bug #419001] + +2008-08-27 Jonathan Pobst + + * DataGridView.cs: Raise CellContentClick event. + [Fixes part of bug #420351] + +2008-08-27 Mario Carrion + + * ScrollBar.cs: Control enabled to support accessibility. + [Fixes bug #416759] + +2008-08-27 Mario Carrion + + * ComboBox.cs: Control enabled to support accessibility. + [Fixes bug #416663] + +2008-08-27 Mario Carrion + + * ListBox.cs: Control enabled to support accessibility. + [Fixes bug #416640] + +2008-08-27 Jonathan Pobst + + * ComboBox.cs: Don't suppress the TextChanged event when changing + the SelectedIndex. + * ToolStripComboBox.cs: Listen to the ComboBox's TextChanged event + and re-raise it. + [Fixes bug #420673] + +2008-08-26 Jonathan Pobst + + * ErrorProvider.cs: Fix a regression NRE when setting properties + for a control before it has a parent. + [Fixes bug #420305] + +2008-08-25 Carlos Alberto Cortez + + * Binding.cs: Use the BindingManagerBase.Current value to obtain + connect the property "Changed" event, instead of using the data + sources - this is useful when the property specifies actually a + multiple objects path. + Fixes part of #417973. + +2008-08-24 Carlos Alberto Cortez + + * RelatedPropertyManager.cs: PropertyManager instances associated to a + nested properties should return not the properties of the data source + itself, but the properties of the type of a specific property in the + data source - match .net. + +2008-08-24 Gert Driesen + + * ListBox.cs (IntegerCollection): To avoid duplication, moved code for + AddRange overloads into AddItems method, and added missing NULL check. + Added extra argument check to RemoveAt for compatibility with MS. + Modified IList implementation of Add, Contains, IndexOf and Remove to + throw an ArgumentException if item is not an int. Modified IList.Insert + to throw a NotSupportException instead of an Exception. Implemented + ICollection. + (ObjectCollection): To avoid duplication, use AddItems method from + AddRange overloads. On 1.0 profile, first perform NULL check on items + in AddItems. + +2008-08-23 Gert Driesen + + * Control.cs: Do not modify bounds directly in .ctor's. Fixes bug + #419087. + +2008-08-22 Atsushi Enomoto + + * X11Keyboard.cs : comment out some Console.WriteLine(). + +2008-08-22 Atsushi Enomoto + + * X11Keyboard.cs : fixed wrong call to XOpenIM() which happened + even if premises are not filled. Also XLookupString() was not + receiving correct input, which blocked precise input handling + on non-XIM mode. + +2008-08-20 Carlos Alberto Cortez + + * ListView.cs: When calling OnCacheVirtualItems, cast to the right + type of delegate, instead of EventHandler - this was causing a type + cast exception in all apps handling this event. + Fixes #417876. + +2008-08-20 Jonathan Pobst + + * ToolStripDropDownItem.cs: Always raise DropDownOpening in + ShowDropDown to give the user a chance to dynamically add + drop down items. [Step 1 of fixing bug #417877] + +2008-08-20 Carlos Alberto Cortez + + * X11Dnd.cs: Don't fire pseudo motion DragOver events if we haven't + had any mouse motion since the call to StartDrag, to match the dnd + behaviour of .net. + Fixes part of #381876. + +2008-08-20 Carlos Alberto Cortez + + * XplatUIX11.cs: Only do the children control bounds check for EnterNotify + if mode is NotifyUngrab, and let it flow if mode is NotifyNormal. + Also, if we are actually moving into a different window after + grabbing, generate a LeaveNotify event for the previous window, since + we need to fire the leave events until the grab ends, not when + actually moving outside of the control. + +2008-08-19 Carlos Alberto Cortez + + * XplatUIX11.cs: The check inside EnterNotify case to fire MouseEnter + events only for client windows was wrong - we need to compare the + client window against the window receiving the EnterNotify event, not + against zero (since client window is never Zero, btw). + This prevents having unnecessary handling of EnterNotify events for + non-client windows when a gran begins. + +2008-08-19 Carlos Alberto Cortez + + * XplatUIX11.cs: Handling X ButtonPress events, we must *not* generate + MouseMove/MotionNotify events at all (which should only happen after + MouseUp/ButtonRelease, as .Net does). + This avoids firing an extra and unnecessary MouseMove event just after + every MouseDown event. + +2008-08-19 Jonathan Pobst + + * LinkLabel.cs: Always clear any previous links when LinkArea + is set. [Fixes bug #410709] + +2008-08-19 Jonathan Pobst + + * ToolStripProfessionalRenderer.cs: Revert last change. + * ProfessionalColorTable.cs: For Classic, use SystemColors.Window + for ToolStripDropDownBackground. + +2008-08-19 Jonathan Pobst + + * ToolStripProfessionalRenderer.cs: Use Window color for the + background of dropdowns to match .Net when the user is not + using the default white. [Fixes bug #418108] + +2008-08-19 Atsushi Enomoto + + * XplatUIWin32.cs : SetTimer() used to set wrong window handle and + it caused timer registration twice. Fixed bug #418107. + +2008-08-18 Carlos Alberto Cortez + + [Correction: This is the actual change to X11Dnd issue, not the + previous one, which was actually a different issue.] + + * X11Dnd.cs: Increase the interval for the Timer, to not fire our + pseudo motion HandleMouseOver method so aggresive. Also, don't call it + when the pointer is actually in motion, but only when the pointer + seems to stop (as .net does). + Fixes part of #381876. + + +2008-08-18 Jonathan Pobst + + * ListBox.cs: Fix CopyTo implementation. + [Fixes bug #409169] + +2008-08-18 Jonathan Pobst + + * ThemeWin32Classic.cs: Use ClientRectangle instead of Bounds when + drawing a ComboBox's background. Fixes bad disabled rendering when + the control is not at 0,0. + [Fixes bug #416063] + +2008-08-16 Ivan N. Zlatev + + * GridEntry.cs: Leave the ICustomTypeDescriptor handling up to the + ComponentModel layer, which will properly prioritize the attributes. + Avoids wrong prioritization of duplicate attributes when retrieving + the converter and editor. + [Fixes bug #417729] + +2008-08-15 Carlos Alberto Cortez + + * XplatUIX11.cs: Increase the interval for the Timer, to not fire our + pseudo motion HandleMouseOver method so aggresive. Also, don't call it + when the pointer is actually in motion, but only when the pointer + seems to stop (as .net does). + Fixes part of #381876. + +2008-08-15 Ivan N. Zlatev + + * GridEntry.cs: Perform stricter check for the ParentEntry's + PropertyDescriptor/PropertyOwner for the ICustomTypeDescriptor + implementation. + [Fixes bug #417567] + +2008-08-14 Geoff Norton + + * XplatUICarbon.cs: Properly implement PeekMessage and DoEvents. + Fixes #396983. Properly fix ActiveWindow trackin and do not + prematurely show POPUP windows. + +2008-08-12 Carlos Alberto Cortez + + * XplatUIX11.cs: Handle the obscured regions while scrolling using + GraphicsExpose event, processing it just after we copy the scrolled + area. This ensures that the next calls to ScrollWindow will copy + regions already updated, and the scrolling will be smooth. Also remove + the code that was trying to detect the obscured regions, since we are + not using it anymore (too slow). + +2008-08-12 Carlos Alberto Cortez + + * ListBox.cs: Fix the -temporary- broken selection in ListBox for + MultiExtended mode, by separating some logic between the ctrl/shift + handling. Also ignore any MouseMove events generated together with + MouseDown events - we are only interested in the real motion event. + Fixes part of #414963. + +2008-08-08 Jonathan Pobst + + * DataGridViewCell.cs: Guard against an AOORE when checking if a cell + is selected. [Fixes bug #414143] + +2008-08-07 Ivan N. Zlatev + + * GridEntry.cs: Check if current property is a ICustomTypeDescriptor + and not the parent one (the propertyowner). Fixes the behavior of + GetConverter/GetEditor. + [Fixes bug #415452] + +2008-08-07 Ivan N. Zlatev + + * PropertyGrid.cs: Refresh should also repopulate the PropertyGrid. + [Fixes part of bug #415452] + +2008-08-05 Ivan N. Zlatev + + * GridEntry.cs: ITypeDescriptorContext should be relative to the parent + GridEntry, not the current. + [Fixes bug #413896] + +2008-08-04 Ivan N. Zlatev + + * TextBoxBase.cs: De-internalize max_length field. + * RichTextBox.cs: Use base.MaxLength - both TextBoxBase and RichTextBox + share the same logic. + [Fixes bug #414454] + +2008-08-03 Carlos Alberto Cortez + + * ListBox.cs: Selection changes made in the MouseDown handler should + use the *Core versions of selection in SelectedIndices collection, + since the SelectedIndexChanged/SelectedValueChanged events are fired + until we get a MouseUp event, and thus we need to separate the logic + from the events, as done in the keyboard navigation. Also, fire those + selection events from keyboard navigation in SelectionMode.None, even + if we don't have a selection, as .Net does. + +2008-08-01 Jonathan Pobst + + * ToolStripButton.cs, ToolStripMenuItem.cs: Guard against a NRE my + last change introduced when an item is clicked but isn't on a toolstrip. + +2008-07-31 Carlos Alberto Cortez + + * ListBindingHelper.cs: When looking for an object's properties, check + if it implements ICustomTypeDescriptor, in which case we should + resolve the propertu based on its GetProperties method, not in its + actual properties. This is what .Net seems to do. + Fixes a UsingWebBrowser problem during initialization. + +2008-07-31 Jonathan Pobst + + * ToolStrip.cs: Fix an NRE caused by clicking on a ToolStripButton + sitting on a MenuStrip. + +2008-07-31 Jonathan Pobst + + * ToolStripButton.cs: If we "click" a top button on a menustrip that has + no children with the keyboard, we need to release the keyboard capture. + [Fixes bug #413567] + +2008-07-31 Jonathan Pobst + + * ToolStripMenuItem.cs: If we "click" a top level menu item that has + no children with the keyboard, we need to release the keyboard capture. + [Fixes bug #413567] + +2008-07-31 George Giolfan + + * ThemeVisualStyles.cs: Made ScrollBar rendering less strict so it supports + the GTK+-based implementation of VisualStyles. + * ThemeWin32Classic.cs: Exposed various layout values for use in the + GTK+-based implementation of VisualStyles: ListViewGetHeaderHeight(Font), + ListViewGetHeaderHeight(), ProgressBarChunkSpacing, ProgressBarGetChunkSize(), + ProgressBarGetChunkSize(int), ProgressBarDefaultHeight, + TrackBarGetThumbSize(), TrackBarVerticalTrackWidth, + TrackBarHorizontalTrackHeight. + +2008-07-31 George Giolfan + + * TabControl.cs: Added hot style handling for the scroll buttons. + right_slider_state, left_slider_state are now of type PushButtonState to + allow for a hot state. Added tracking of the mouse button being held down + on a tab page. Extracted HasHotElementStyles, RightScrollButtonArea, + LeftScrollButtonArea. + * Theme.cs, ThemeWin32Classic.cs: Removed TabControlGetLeftScrollRect, + TabControlGetRightScrollRect. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: Check for null GrabControl on ProcessMnemonic to prevent + runtime errors. + +2008-07-30 Ivan N. Zlatev + + * Form.cs: Ensure that we reset the shown_raised flag after + the form is closed, so that we raise the show events the next + time the form is shown. + [Fixes bug #413141] + +2008-07-30 Ivan N. Zlatev + + * Form.cs: Ensure closing events are raised only once. + [Fixes bug #413143] + +2008-07-30 Ivan N. Zlatev + + * X11Keyboard.cs: Refactor SendKeyboardInput to accept the keycode, + so that we can successfully generate the LParam in-place instead of + in KeyEvent, which isn't called for e.g. MainMenu. Fixes keyboard + navigation for menus. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: When montion don't set the keyboard navigation state to + 'navigating'. Fixes bug #411356. + +2008-07-30 Everaldo Canuto + + [Fixed remaining issues of #406773 (#1)] + * MenuItem.cs: UpdateMenuItem added to track the shotcut changes. + + * MenuAPI.cs: Don't create tracker on TrackPopupMenu, it will be created in + MainMenu (already done) and ContextMenu creation. + + * ContextMenu.cs: Create tracker on construction. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: For ContextMenu set GrabControl on TrackPopupMenu, it make + possible to instantiate MenuTracker without GrabControl. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: On constructor dont set the GrabControl for non ContextMenu. + + * MainMenu.cs: Set GrabControl on SetForm using current form. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: Chage grab_control to GrabControl and make it public. + +2008-07-30 Everaldo Canuto + + * MenuAPI.cs: Check if menu is activated before deactivate it in + ProcessShortcut. + +2008-07-30 Ivan N. Zlatev + + * TableLayoutStyleCollection, TableLayoutStyle.cs, RowStyle.cs, + ColumnStyle.cs: + Make the TableLayoutStyle owned by the the TableLayoutPanel, so that: + - One style instance can only participate in a single style collection. + - Styles can request their owner to layout whenever their properties + change. + [Fixes bugs #412583 and #412582] + +2008-07-29 Ivan N. Zlatev + + * X11Keyboard.cs: Implement the generation of the LParam for + all keyboard messages. + [Fixes bug #378728] + +2008-07-29 Jonathan Pobst + + * ListBox.cs: Don't let the user set TopIndex so high that it + scrolls up far enough to show empty items. + [Fixes bug #412728] + +2008-07-29 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: Actually commit the changes to fix #410880 + (I'm an idiot and forgot to commit the actual changes, as well as + specify the right file, which is this one, not ListView.cs). + +2008-07-28 Carlos Alberto Cortez + + * ListView.cs: Don't draw ListViewSubItem instances from + DrawListViewItem - we need to reuse the main item's drawing for the + first sub item in case owner draw is true, but wants the system to + do the default draw for the first sub item, without incurring in a + recursion problem. + Fixes #410880. + +2008-07-28 Jonathan Pobst + + * ToolStripButton.cs: Update Checked for CheckOnClick before + raising the Click event. [Fixes bug #412505] + +2008-07-28 Ivan N. Zlatev + + * Form.cs: Remove some seems leftover code for non-TopLevel's + CreateParams, which is breaking ClientSize sizing, because it + removes the border window styles. + +2008-07-27 Ivan N. Zlatev + + * PropertyGrid.cs: Invalidate the View when the PropertyTab + changes. + +2008-07-25 Gert Driesen + + * WebBrowser.cs: Removed debug output. + +2008-07-25 Jonathan Pobst + + * FileDialog.cs: Apply patch from Ernesto to clean up some + dialog messages. + +2008-07-25 Ivan N. Zlatev + + * TableLayoutPanel.cs: Perform layout on GrowStyle change, so + that the change has an immediate effect. + +2008-07-25 Ivan N. Zlatev + + * ScrollableControl.cs: Update PerformLayout calls to include + provide the name of the property that changed. + +2008-07-25 Ivan N. Zlatev + + * TableLayoutPanel.cs: Draw relative to the DisplayRectangle + location. Fixes drawing of border and cell borders if scrollable. + +2008-07-25 Ivan N. Zlatev + + * ScrollableControl.cs: Perform layouting after the AutoScroll + properties have changed, so that the changes have immediate + effect. + [Fixes bug #409090] + +2008-07-25 Ivan N. Zlatev + + * XplatUIX11.cs: Non Client area is actually Client such in the + case of NotifyIcon, so double check WholeWindow == ClientWindow + when adding an expose. + [Fixes bugs #324237 and #357022] + +2008-07-25 Ivan N. Zlatev + + * TableLayoutPanel.cs: Invalidate after layouting, so that we + repaint the cell borders. + +2008-07-25 Ivan N. Zlatev + + * PropertyGridTextBox.cs: Stop filtering messages prior to our + disposal to avoid unexpected ObjectDisposedExceptions. + +2008-07-24 Ivan N. Zlatev + + * TableLayoutPanel.cs: Layout on Row/Column count change. + +2008-07-22 Gert Driesen + + * ListViewItem.cs: Changed binary serialization to match MS. Fixes + bug #409351. + * PictureBox.cs: When ImageLocation is set to null or an empty string, + only set image to null if it was previously initialized from an url + (or using ImageLocation). In ImageLocation, load specified image + asynchronously if WaitOnLoad is false. Added support for local file + paths to LoadAsync, and added missing argument check. + +2008-07-22 Carlos Alberto Cortez + + * DateTimePicker.cs: + * ThemeWin32Classic.cs: Add a editing capability to DateTimePicker, in + order to set the value as required (which means: when selection + changes for a part being edited, and not before that if not needed). + Also use an enum to describe which part are we using, and use the + selection as a property in PartData, in order to notify the + DateTimePicker owner that we need to end the current edit. + Fixes #383462. + +2008-07-17 Ivan N. Zlatev + + * PropertyGridTextBox.cs: Validation should be performed only if we + are focused. We can lose focus for example if the Return key is used + to set the entry and there is an error. When the message box is + displayed we would have validate on click in the message box. + +2008-07-16 Ivan N. Zlatev + + * GridEntry.cs: Checking for DesignerSerializaitonVisibility.Content + in order to determine that we are expandable is wrong. There was a bug, + now fixed, in TypeDescriptor that was causing the wrong converter to be + returned which caused GetPropertiesSupported == false in most cases. + [Fixes bug #409027] + +2008-07-15 Jonathan Pobst + + * ImageList.cs: Fix ICollection.CopyTo implementation for + ImageListCollection. [Fixes bug #409169] + +2008-07-14 Jonathan Pobst + + * MenuAPI.cs, ToolStripDropDown.cs: Use VirtualScreen instead of + WorkingArea so that menus can appear on the second monitor + when one has dual monitors. + +2008-07-14 Carlos Alberto Cortez + + * TextBox.cs: Auto complete stuff in WndProc should be 2.0 only. + Fixes build. + +2008-07-14 Carlos Alberto Cortez + + * TextBox.cs: Implement navigation support for auto complete in + TextBox, as well as refactor the code to show the auto complete window + when receiving a WM_CHAR message, instead of TextChanged, since + autocomplete itself should be able to set the Text a lot of times and + finally only typing should show it, not changes from code. + +2008-07-14 Carlos Alberto Cortez + + * TabControl.cs: When expanding the selected tab, don't adjust the + width if alignment is Right, since it has a different offset than 0, + as opposed to the other alignments. + Fixes the selected tab not being painted at all with alignment = Right + and using FillToRight size mode. + +2008-07-14 Jonathan Pobst + + * TreeView.cs: Fix ToString to match MS. [Fixes bug #409029] + +2008-07-14 Jonathan Pobst + + * NumericUpDown.cs: Apply patch from Andy Hume to clamp out of range + values from the textbox to the boundary values. [Fixes bug #409026] + +2008-07-14 Jonathan Pobst + + * TreeNodeCollection.cs: We were copying one too many elements when + doing our array copy. Fixes a crash when RemoveAt is called. + [Fixes bug #408999] + +2008-07-14 Carlos Alberto Cortez + + * TabControl.cs: When doing the layout and need to call FillRow -using + FillToRight size mode-, use the overload receiving a bool param + indicating whether we need to do a vertical or horizontal calculation. + Fixes part of #399583. + +2008-07-13 Carlos Alberto Cortez + + * TextBox.cs: When painting, use the value returned by + GetLastVisibleItem instead of using the cached last_item field, since + there could be a desynchronization between the layout and the + painting. Fixes a AOOR exception in auto complete mode. + +2008-07-12 George Giolfan + + * ThemeVisualStyles.cs: Disabled when Application.VisualStyleState is + NonClientAreaEnabled until our VisualStyles is modified to allow it. + +2008-07-12 Gert Driesen + + * TextBox.cs: Fixed NRE in LostFocus. Avoid unnecessary initialization. + +2008-07-11 Carlos Alberto Cortez + + * TextBox.cs: When focus is lost, if the auto complete listbox is + visible, hide it. + +2008-07-11 George Giolfan + + * InternalWindowManager.cs: HandleSizing: Implemented a better minimum + tracking size for tool windows. + * Theme.cs, ThemeWin32Classic.cs : Extracted + ManagedWindowSpacingAfterLastTitleButton. + +2008-07-11 Jonathan Pobst + + * ThemeEngine.cs: Remove the clearlooks, nice, and old gtk themes. + They are bit-rotted and have always been listed as "unsupported". + +2008-07-11 Jonathan Pobst + + * PictureBox.cs: Don't crash if ImageLocation is set to "" or null. + +2008-07-11 George Giolfan + + * ThemeVisualStyles.cs: Fixed minimized window height adjustment. + +2008-07-10 Jonathan Pobst + + * ListBox.cs: Make sure last_item_visible gets reset before we try + to do a layout due to scrollbars appearing or disappearing. + [Fixes bug #408139] + +2008-07-10 Jonathan Pobst + + * XPlatUIWin32.cs: Change GetMenuOrigin to calculate borders better + for different window themes. [Fixes bug #339140] + +2008-07-10 George Giolfan + + * ThemeWin32Classic.cs: Implemented minimized window border width properly, + in ManagedWindowBorderWidth. + +2008-07-10 Jonathan Pobst + + * InternalWindowManager.cs: Change MouseMove to take a point, so + we can use the same point later on. + * MdiWindowManager.cs: Store point sent to MouseMove so we can + later reset to it. On Windows, the Cursor.Position had already + changed by the time we were resetting to it. + [Fixes bug #363239] + +2008-07-10 Jonathan Pobst + + * InternalWindowManager.cs: Ignore mouse actions on TitleButtons that + are inactive. + * ThemeWin32Classic.cs: Disable or hide MinimizeBox/MaximizeBox if + user requested it. + [Fixes bug #398686] + +2008-07-10 Jonathan Pobst + + * MdiWindowManager.cs: Double-clicking on the title bar should not + maximize a MDI form if MaximizeBox = false. + +2008-07-10 George Giolfan + + * ThemeVisualStyles.cs: Fixed a warning. + +2008-07-10 George Giolfan + + * ThemeVisualStyles.cs: Fixed warnings and formatted. + +2008-07-10 George Giolfan + + * ThemeVisualStyles.cs: Removed ManagedWindowGetMenuButtonSize. The base + implementation produces a better result. + +2008-07-10 George Giolfan + + * ThemeVisualStyles.cs: Adjusted height and border rendering for minimized + windows. + +2008-07-10 George Giolfan + + * Application.cs: Added VisualStylesEnabled because XplatUI.ThemesEnabled + cannot be used from the ThemeEngine constructor. + * ThemeEngine.cs: Changed the XplatUI.ThemesEnabled check to + Application.VisualStylesEnabled because it does not work on X11. + +2008-07-09 Jonathan Pobst + + * StatusBar.cs: Apply patch from Andy Hume to remove lazy instantiation + that we did not always check for, as well as fixes to the IList + implementations. [Fixes bug #402703] + +2008-07-09 George Giolfan + + * IDeviceContext.cs: Added Dispose. + +2008-07-09 George Giolfan + + * Control.cs: Added OnSizeInitializedOrChanged. + * Form.cs: OnLoadInternal: Added a call to + Control.OnSizeInitializedOrChanged. + * InternalWindowManager.cs: + * HandleTitleBarMouseMove: No longer invalidates the parent window. + * DrawTitleButton: Extracted Theme.ManagedWindowDrawMenuButton. + * TitleButton: Added Entered. + * TitleButtons.MouseMove: Added handling of TitleButton.Entered. + * MdiWindowManager.cs: + * HandleTitleBarMouseMove: Now invalidates the parent window when a mouse + move over the maximized title buttons causes a change. + * IsActive: Can now be called before the window is added to a MDI parent. + * Theme.cs: Added ManagedWindowTitleButtonHasHotElementStyle, + ManagedWindowDrawMenuButton, ManagedWindowOnSizeInitializedOrChanged. + * ThemeVisualStyles.cs: Implemented proper managed window rendering. + * ThemeWin32Classic.cs: + * Extracted ManagedWindowDrawTitleBarAndBorders, ManagedWindowDrawTitleButton. + * DrawTitleButton takes a new form parameter. + * Added ManagedWindowTitleButtonHasHotElementStyle, + ManagedWindowDrawMenuButton, ManagedWindowOnSizeInitializedOrChanged. + +2008-07-09 George Giolfan + + * ThemeEngine.cs: ThemeVisualStyles is now selected if + Application.EnableVisualStyles has been called, even if the current system + configuration does not support rendering with Visual Styles. + * ThemeVisualStyles.cs: Now falls back to ThemeWin32Classic when Visual + Styles should not be used. + +2008-07-08 Jonathan Pobst + + * ComboBox.cs: PreferredHeight is not tied to ItemHeight. Fixes 3rd + ComboBox in FormsTest. + +2008-07-08 Ivan N. Zlatev + + * ThemeWin32Classic.cs: (ManagedWindowBorderWidth): width 3 is only + for fixed toolwindows. + +2008-07-08 George Giolfan + + * Form.cs: SetBoundsCore: Added minimum size for minimized windows. + +2008-07-07 Ivan N. Zlatev + + * Control.cs: CreateControl just returns if the Control is diposed + and doesn't throw ObjectDisposedException. + [Fixes bug #406566] + +2008-07-07 Ivan N. Zlatev + + * Control.cs: Do not create the control if the parent isn't created + yet, e.g in the case of a parented form on which .Show is called. + It will be created when the parent is made visible/created. + Improves #402446. + +2008-07-07 Ivan N. Zlatev + + * Form.cs: Avoid recursively calling OnSizeChanged due to recursive + WM_WINDOWPOSCHANGED caused by the layouting code on win32. + [Fixes bug #406786] + +2008-07-07 Ivan N. Zlatev + + * Form.cs: When disposed set owner to null. Improves #402446. + +2008-07-07 Ivan N. Zlatev + + * Form.cs, FlowLayoutPanel.cs: When calculating the PreferredSize + use children's PreferredSize if in AutoSize mode and ExplicitBounds + if not. + * Form.cs: Take the Padding into account for the PreferredSize. + [Fixes bug #402849] + +2008-07-07 Carlos Alberto Cortez + + * TabControl.cs: Since we don't support more than one direction in + TabControl rows alignment (this is, the row becomes the + bottom row when selected), make Direction return always 1. This way + the layout doesn't get confused about a bad calculation. + Fixes #399582. + +2008-07-07 Ivan N. Zlatev + + * XplatUIX11.cs: Implement NC hit-testing for mouse down/up messages, + so that the wparam is properly set. + Fixes form moving in the test case in bug 402446. + +2008-07-07 Jonathan Pobst + + * FolderBrowserDialog.cs: If we can't find the SelectedPath, display + the full tree instead of nothing. [Improves bug #406584] + +2008-07-07 George Giolfan + + * ThemeWin32Classic.cs: Adjusted minimized window painting. + +2008-07-07 George Giolfan + + * InternalWindowManager.cs: No longer draws decorations for maximized MDI + children. + +2008-07-04 Jonathan Pobst + + * TreeView.cs: Add a null check when using CollapseAll on an + empty tree. [Fixes bug #406449] + +2008-07-03 Jonathan Pobst + + * Form.cs: Make OnMenuComplete internal so we can call it. + * MenuAPI.cs: Raise Form.MenuComplete when a menu item is clicked. + [Fixes bug #399321] + +2008-07-03 Jonathan Pobst + + * TabControl.cs: Handle Up and Down keys when TabControl is in + vertical alignment. + [Fixes bug #399585] + +2008-07-03 Jonathan Pobst + + * TabControl.cs: Invalidate when we remove a tab. Guard against + an AOORE when trying to remove a tabpage that is not owned by the + parent control. + [Fixes bug #399927] + +2008-07-03 Jonathan Pobst + + * ScrollBar.cs: Change the LargeChange calculation to be correct. + Ensure we are using LargeChange instead of large_change so we our + calculations are correct. + [Fixes bug #403122] + +2008-07-03 Jonathan Pobst + + * TableLayoutPanel.cs: When we change to a serialized TableLayoutSettings, + we need to ensure the ColumnCount/RowCount gets set. + [Fixes bug #404851] + +2008-07-02 Carlos Alberto Cortez + + * ListBox.cs: When handling item navigation, if selection mode is + None, call EnsureVisible, since scrolling is normally handled by + selection, that we are not calling in this case. + Fixes #398345. + +2008-07-02 Jonathan Pobst + + * ContainerControl.cs: Apply a patch from Ernesto Carrea that adds + a null check to our focus walking code. [Fixes bug #394332] + +2008-07-02 Andy Hume + + * ComboBox.cs: Case missed in bug 379596 "Support item + navigation by entering text": On _close_ drop-down select + the first item matching the text in the textbox. [Fixes bug #397265] + +2008-07-02 Jonathan Pobst + + * DataGridView.cs: Fix a crash when sorting by column headers, + mentioned in bug #404841. Remove some dead switch cases. + +2008-07-01 Carlos Alberto Cortez + + * ComboBox.cs: + * TextBox.cs: Implement AutoComplete support for ComboBox, which just + uses the AutoComplete support in the internal TextBox. Also TextBox + can store a reference to ComboBox, in case AutoCompleteSource is set + to ListItems (this is, ComboBox's items, and we don't want to pass an + additional collection). + +2008-07-01 Carlos Alberto Cortez + + * ListViewItem.cs: Restore the initial value of bounds rect to + Rectangle.Empty, and is this value for Layout detection in virtual + mode. Fixes the tests. + +2008-06-30 Jonathan Pobst + + * XPlatUI.cs: Remove references to "new" X11 backend. + +2008-06-28 Ivan N. Zlatev + + * Control.cs: Add an internal virtual OnDragDropEnd method + to allow controls such as ListBox, which depend on a sequence + of MouseDown+Move+End events, to handle the lack of a MouseUp + when a DnD operation is started in MouseDown. + * ListBox.cs: If a DnD operation is started in MouseDown we won't + get a MouseUp, so reset our state whenever a DnD operation ends. + +2008-06-28 Ivan N. Zlatev + + * PropertyGrid.cs: Clear the root griditem first thing when + new object/s is/are selected. Fixes some rare cases where + the View will get a paint request and won't know that the + grid is in the process of repopulating. + +2008-06-27 Ivan N. Zlatev + + * XplatUIX11.cs, InternalWindowManager.cs: + If WS_EX_TOOLWINDOW is set in the CreateParams for a form MS + doesn't automagically update the FormBorderStyle, so we must + double check the CreateParams explicitly to determine if the + window is a toolwindow. + * ThemeWin32Classic.cs: Use InternalWindowManager.IsToolWindow + instead of doing custom checks. + + Fixes toolwindows for the test case in bug #402446 + +2008-06-27 Ivan N. Zlatev + + * Control.cs: Visibility of the control should be false + when the handle is destroyed in WmDestroy and not immediately + in Dispose(). This is effectively where the disposing process + ends even though the control is marked as Disposed immediately + after calling Dispose(). + [Fixes bug #402446] + +2008-06-27 Ivan N. Zlatev + + * PropertyGridTextBox.cs: Start monitoring the mouse clicks + when the textbox gets focus. + [Fixes bug #402704] + +2008-06-27 Ivan N. Zlatev + + * PropertyGridTextBox.cs, PropertyGridView.cs: + - Alt + Down should show the drop down editor. + - Focus the editor when showing it + [Fixes bug #402710] + +2008-06-25 Jonathan Pobst + + * ThemeWin32Classic.cs: Fix from Andy for panel text for panels + that are not the first panel. + * StatusBar.cs: Ensure that the X coordinate of panels is always + stored. Fix IList implementation of StatusBarPanelCollection to + call the regular methods. + [Fixes bug #403599, #402165] + +2008-06-23 Jonathan Pobst + + * ThemeWin32Classic.cs: Fix position calculation for centered + text on status bar panels. [Fixes bug #402165] + +2008-06-22 Ivan N. Zlatev + + * Splitter.cs: Fix Splitter to: + - Work for arbitrary splitter size + - Handle MinSize and MinExtra properly + - Get rid of absolute positioning during drag and use relative + - Multiple other fixes + [Fixes bug #338966] + +2008-06-22 Ivan N. Zlatev + + * Cursor.cs: Show shouldn't hide the cursor. + +2008-06-21 Carlos Alberto Cortez + + * ListViewItem.cs: When invalidating, add some extra space to bounds, + since focus rectangle and selection can add some space and need to + take into account those small offsets - specially in Details view. + * ListView.cs: Instead of invalidate using item Bounds directly, call + item.Invalidate, to have the code centralized. + Fixes focused/selection garbage when selecting and deselecting items + that are close. + +2008-06-21 Carlos Alberto Cortez + + * ListViewItem.cs: Set bounds initially to -1 values - thus in virtual + mode we can check whether we have to force a Layout or not, and can + cache based on this, instead of avoiding caching all the the time. Do + this check in GetBounds and TextBounds. + Fixes selection in Details view. + +2008-06-20 Carlos Alberto Cortez + + * ListView.cs: Make HeaderControl internal, thus the theme engine can + get its *real* height instead of trying to infere it. + * ThemeWin32Classic.cs: When drawing gridlines, don't iterate over the items to + get the position of them, since it's in general a bad idea in general, + and because we can't do that in virtual mode. Instead get the first + visible item as well as item height, and draw them. + Fixes #400390. + +2008-06-20 Jonathan Pobst + + * ToolStripSplitButton.cs: We can't add in extra width if + the button is not AutoSize. [Fixes bug #401279] + +2008-06-20 Ivan N. Zlatev + + * PaddingConverter.cs: + - Implement conversion to InstanceDescriptor + - Handle "All" in CreateInstance by using the supplied + ITypeDescriptorContext. + [Fixes bugs #396076 and #396078] + + Patch by Andy Hume + Code contributed under MIT/X11 license. + +2008-06-19 Andy Hume + + * ComboBox.cs, ListControl.cs, Control.cs, Button.cs, + ButtonBase.cs: + Add Category attributes. + Code is contributed under the MIT/X11 license. + +2008-06-18 Ivan N. Zlatev + + * Form.cs: + - Fix a NRE when unparenting a form. + - Do not recreate or destroy a parented form when + unparenting. + +2008-06-18 Carlos Alberto Cortez + + * TextBox.cs: Implement basic support for AutComplete with custom + sources. + +2008-06-18 Jonathan Pobst + + * ToolStripSplitButton.cs: Left and Top of ButtonBounds, SplitterBounds, + DropDownButtonBounds should be from the origin of the button, not the + ToolStrip. [Fixes bug #401279] + +2008-06-16 Sandy Armstrong + + * X11DesktopColors.cs: Clear GTK_MODULES environment variable before + running gtk_init_check. This prevents GAIL from loading + unnecessarily, which was breaking UIA support. Initial fix for bug + #375987. + * Application.cs: Add UIA support to Winforms. New static constructor + uses reflection to initialize UIAutomationWinforms assembly. Added + PreRun event so UIA can initialize before the mainloop starts, and + FormAdded event so UIA can provide a11y support for new Forms in an + Application. + +2008-06-16 Jonathan Pobst + + * DataGridView.cs: When binding to a dataset, subscribe to table + and column change events. Unsubscribe to these when we clear bindings. + [Fixes bug #399601] + +2008-06-14 Everaldo Canuto + + [DataGrid drawing refactory] + + * DataGrid.cs: Fix the caption size, we need one pixel more for divider. + + * DataGridColumnStyle.cs: Removing PaintHeader code, the draw operations + must be handle by Theme, now it call DataGridPaintColumnHeader. + + * DataGridTextBoxColumn.cs: Fix the textbox size. It must be one pixel less, + test cases must be also fixed because it checks for wrong size. + + * ThemeWin32Classic.cs: + - Draw the bottom line of grid caption. + - Prevent to draw caption text when it is empty. + - Use CPDrawBorder3D for 3D efects to simplify code. + - Uses 3D (when not flat) to paint corner shared between row and column + header. + - Fix header drawing issues on win32, now borders are drawing. + - Fix column header paint issues to mimic win32. + - Adjust header drawing for last column, like first one it must be draw + different. + - Added DataGridPaintRowHeaderStar to draw star like .net does, it is + not an character. + - DataGridPaintColumnHeader created to draw column headers, it also + paint stuff right on Win32. + - Use DataGridPaintColumnHeader method instead of DataGridColumnStyle + class. + + * Theme.cs: + - DataGridPaintRowHeaderStar method added. + - DataGridPaintColumnHeader method added. + +2008-06-13 Jonathan Pobst + + * Control.cs: Don't reset to Dock style layout if DockStyle is + set to none. [Fixes bug #399316] + +2008-06-12 Everaldo Canuto + + * Win32DnD.cs: Fix the check for control not equal null. + Fixes bug #341420 and #381886. + +2008-06-12 Jonathan Pobst + + * DataGridViewRowCollection.cs: Update the indexes of rows after + one has been removed. + * DataGridViewSelectedRowCollection.cs: Add internal clear method. + * DataGridViewSelectedColumnCollection.cs: Add internal clear method. + * DataGridView.cs: Add support for deleting rows via Delete key, deleting + rows for the Rows collection, or deleting rows from the bound DataSet. + +2008-06-12 Jonathan Pobst + + * DataGridView.cs: Listen to a DataSet's changed event even + when autogeneratecolumns is false. Refactor the changed event's + add row code to use the same as the existing add row code. + [Fixes bug #399601] + +2008-06-11 Jonathan Pobst + + * TextBoxBase.cs: We need to call RaiseSelectionChanged pretty + much any time the caret moves and there is text, not just when + the selection changes as one would think. + * RichTextBox.cs: Override RaiseSelectionChanged and fire + SelectionChanged. + [Fixes bug #397271] + +2008-06-11 Jonathan Pobst + + * FontDialog.cs: Forward ListBox keyboard events to the ListBox + instead of trying to duplicate the code. + * ListBox.cs: Make method internal so we can send keyboard events. + [Fixes bug #398344] + +2008-06-11 Jonathan Pobst + + * TextBoxBase.cs: When pasting and checking the max length, + subtract the selected text length (the text we will be replacing) from + the document length. + * TextControl.cs: Ensure every character insertion is reflected in + charcount, so max length will work properly. + [Fixes bug #398605] + +2008-06-11 Jonathan Pobst + + * ListBox.cs: Ensure scrollbars are updated when a single + column listbox with an already set top-index is created. + [Fixes bug #398342] + +2008-06-11 Jonathan Pobst + + * FontDialog.cs: Typing in the font/style textboxes should search + the list boxes case-insensitively. [Fixes bug #398343] + +2008-06-11 George Giolfan + + * ThemeWin32Classic.cs: Managed window title bar layout now uses actual + widths of icon and buttons instead of hard coded values. + +2008-06-10 Carlos Alberto Cortez + + * ListBox.cs: When SelectionMode is None, clicking an item should move focus + as well as generating a SelectedIndexChanged event, just like .Net does + -surprise-. + Fixes #398345. + +2008-06-10 Carlos Alberto Cortez + + * ListBox.cs: When navigating items visually, use FocusedItem as the + reference point instead of SelectedIndex, since even in + SelectionMode.None we need to support navigation, and in that case we + just can't use SelectedIndex. + Fixes part of #398345. + +2008-06-10 Jonathan Pobst + + * Control.cs: Make a SetBoundsInternal that avoids the new + SetBounds code. + * ComboBox.cs, Form.cs, ListBox.cs, ScrollableControl.cs: Use + SetBoundsInternal instead of SetBoundsCoreInternal. + +2008-06-10 Ivan N. Zlatev + + * ScrollableControl.cs: Use SetBoundsCoreInternal instead of + SetBounds for the scrollbars. + +2008-06-10 Andreia Gaita + + * HtmlDocument.cs: Implement RightToLeft, ContextMenuShowing, + FocusingEvent, LosingFocusEvent, OnMouseDown, OnMouseLeave, + OnMouseMove, OnMouseOver, OnMouseUp + * HtmlElement.cs: Optimize InsertBefore. Implement RemoveFocus, + ScrollIntoView, Focusing, GotFocus, LosingFocus, LostFocus. + * HtmlElementCollection.cs, HtmlWindowCollection.cs: Keep a reference + to the WebControl object to pass to new collection objects + * HtmlHistory.cs: Implement support for individual window histories. + * HtmlWindow.cs: Implement History, Position, Size, WindowFrameElement, + AttachEventHandler, DetachEventHandler, RemoveFocus, Error, + GotFocus, LostFocus, OnLoad, OnUnload + * WebBrowser.cs: Implement EncryptionLevel, ScrollBarsEnabled, + ContextMenu + * WebBrowserBase.cs: Implement Cursor, Enabled, UseWaitCursor, Add + security level changes and context menu event support. + +2008-06-10 Carlos Alberto Cortez + + * ComboBox.cs: Pressing Enter should close the dropdown listbox, just + as happens with Esc, patch my Andy Hume. + Fixes #396294. + +2008-06-10 George Giolfan + + * MdiWindowManager.cs: DrawMaximizedButtons now uses + ManagedWindowGetMenuButtonSize instead of ManagedWindowButtonSize. + * Theme.cs: Made MenuButtonSize platform dependent. Added + ManagedWindowButtonSize. + * ThemeWin32Classic.cs: Added ManagedWindowGetMenuButtonSize. + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added MenuButtonSize. + +2008-06-10 George Giolfan + + * DateTimePicker.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: + Added support for rendering with VisualStyles. + +2008-06-10 George Giolfan + + * ComboBox.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added + support for rendering the border with VisualStyles. + +2008-06-10 George Giolfan + + * InternalWindowManager.cs: Added ShowIcon. Fixed IconRectangleContains when + the icon is not shown. + * ThemeWin32Classic.cs: Now uses InternalWindowManager.ShowIcon instead of + its own logic. + +2008-06-10 George Giolfan + + * InternalWindowManager.cs: Draw minimized windows even if they don't have + borders. + +2008-06-09 Jonathan Pobst + + * ComboBox.cs, ListBox.cs: Use SetBoundsInternalCore instead of SetBounds. + +2008-06-09 Jonathan Pobst + + * Control.cs: Fill in the defaults for unspecified bounds in SetBounds. + [Fixes bug #397943] + +2008-06-06 Carlos Alberto Cortez + + * ComboBox.cs: When snaping height -because of IntegralHeight set to + true- with ComboBoxStyle.Simple, set the height to PreferredHeight + if the requested height leaves the listbox area with *less* than the + required are to see one item. We were setting it to PreferredHeight + even for values matching the height for a single item. + Fixes #396297. + +2008-06-06 Jonathan Pobst + + * DataGridViewCell.cs: Simplify GetInheritedStyle by using ApplyStyle. + +2008-06-06 Jonathan Pobst + + * DataGridViewCell.cs: Use property instead of field. + +2008-06-06 George Giolfan + + * InternalWindowManager.cs, ThemeWin32Classic.cs: Removed useless Form.Icon + null checks. + +2008-06-06 George Giolfan + + * Theme.cs: Added #region around the managed window code. Made the managed + window methods abstract. + * ThemeWin32Classic.cs: Added #region around the managed window code. + +2008-06-06 George Giolfan + + * InternalWindowManager.cs: Now only calls Theme.DrawManagedWindowDecorations + if it has borders. + * ThemeWin32Classic.cs: Removed HasBorders checks in + DrawManagedWindowDecorations. + +2008-06-06 George Giolfan + + * InternalWindowManager.cs, Theme.cs, ThemeWin32Classic.cs: Refactored: + Extracted ManagedWindowGetTitleBarIconArea. + +2008-06-05 Jonathan Pobst + + * DataGridViewCellStyle.cs: Don't clone the font. + +2008-06-05 Jonathan Pobst + + * DataGridViewCell.cs: Ensure we don't pass null to GetConverter. + +2008-06-05 Carlos Alberto Cortez + + * XplatUIX1..cs: Use IntPtr size instead of int, as wee need to work + also on 64 bit machinges. Fixes the BadWindow errors while scrolling + in 64 bit machines. + +2008-06-05 Jonathan Pobst + + * DataGridViewCell.cs: Correctly get converters for FormattedValue. + Use Format/FormatProvider before trying converters. + * DataGridViewCellStyle.cs: ApplyStyle should only apply things that + are 'set'. Change constructor to not use ApplyStyle since it wants + everything applied. Clone the Font. + * DataGridViewRowHeaderCell.cs: Start with DefaultCellStyle and + ApplyStyle the rest. + +2008-06-05 Carlos Alberto Cortez + + * ListView.cs: We need to calculate the scrollbars even if the handle + hasn't been created - this is needed when methods using scrollbars + info, such EnsureVisible, are called before control has been created. + Fixes #397272. + +2008-06-05 George Giolfan + + * ThemeVisualStyles.cs: ScrollBar is now rendered with the VisualStyles API + only if the elements are defined. + +2008-06-04 Carlos Alberto Cortez + + * ComboBox.cs: I'm an idiiot - forgot to commit the last ComboBox + section. Also, when setting bounds, snap height as well as save the + requested height if Dock has any value affecting the height: Left, + Right and Bottom - important if using IntegralHeight as true. + +2008-06-04 Carlos Alberto Cortez + + * ComboBox.cs: When calling UpdateComboBoxBounds, adjust the height + passed to SetBounds to reflect the new adjusted height (Integral-wise), + instead of doing that only in our SetBoundsCore override, since the + bounds cached can be the same as saved one and we could not get the + new height applied. + Fixes #396297. + +2008-06-04 George Giolfan + + * Theme.cs: Made ToolWindowCaptionButtonSize platform dependent. + * XplatUI.cs: Added ToolWindowCaptionButtonSize. + * XplatUIDriver.cs: Changed SmallCaptionButtonSize to 15,15. Added + ToolWindowCaptionButtonSize. + * XplatUIWin32.cs: Added ToolWindowCaptionButtonSize. + +2008-06-04 George Giolfan + + * MdiWindowManager.cs: Now uses SystemInformation.DoubleClickTime instead of + hard coded values. + * Theme.cs: Made DoubleClickTime plaform dependent. + +2008-06-04 George Giolfan + + * Theme.cs: Made ToolWindowCaptionHeight platform dependent. + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added + ToolWindowCaptionHeight. + +2008-06-04 George Giolfan + + * InternalWindowManager.cs: The adjustment to ensure positive client area + sizes is now platform dependent (disabled on Windows). + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added + RequiresPositiveClientAreaSize. + +2008-06-04 George Giolfan + + * Form.cs: Fixed null handling in Icon (see SettingIconToNull in the tests). + +2008-06-04 George Giolfan + + * InternalWindowManager.cs: Changed IconicSize to use + SystemInformation.MinimizedWindowSize. + * XplatUICarbon.cs, XplatUIX11.cs: Removed MinimizedWindowSize. + * XplatUIDriver.cs: Changed MinimizedWindowSize to provide a default value. + +2008-06-04 Carlos Alberto Cortez + + * ComboBox.cs: If the combobox is anchored both on top and bottom, + adjust height if IntegralHeight is true when calling SetBoundsCore (as + likely the height was modified even if Height wasn't specified in + BoundsSpecified parameter). + Fixes part of #396297. + +2008-06-04 George Giolfan + + * InternalWindowsManager.cs: Changed minimum window size while resizing to + SystemInformation.MinWindowTrackSize. + * XplatUICarbon.cs, XplatUIX11.cs: Removed MinWindowTrackSize. + * XplatUIDriver.cs: Changed MinWindowTrackSize to provide a default value. + +2008-06-03 George Giolfan + + * MenuItem.cs: Fixed Dispose. + +2008-06-03 George Giolfan + + * ColumnHeader.cs: CalcColumnHeader now uses the theme to get the height. + * DataGridView.cs: * EnableHeadersVisualStyles: Fixed default value. + EnteredHeaderCell, PressedHeaderCell: Added. + * DataGridViewCell.cs: Refactored: Extracted GetBorderPen. + * DataGridViewColumnHeaderCell.cs, DataGridViewRowHeaderCell.cs: Gave the + theme a chance to override default painting. + * ListView.cs: Added EnteredColumnHeader. Refactored: Extracted + GetColumnHeaderInvalidateArea, Invalidate(ColumnHeader). + * Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added members for + ListView and DataGridView header rendering. + +2008-06-03 Ivan N. Zlatev + + * RichTextBox.cs: GetPositionFromCharIndex should return the + visual position of the character relative to the viewport. + [Fixes part of bug #396664] + +2008-06-03 Ivan N. Zlatev + + * GridEntry.cs: Make HasCustomEditor check for EditStyle != None + and not just for the existance of an UITypeEditor. In some cases + there is an editor associated just to do PaintValue, but which + doesn't actually support editing. + [Fixes bug #396632] + +2008-05-02 Carlos Alberto Cortez + + * ComboBox.cs: page_size as well as vscrollbar.LargeChange should be 1 + if needed, instead of 0 - this should help us in the corner case where + we have more than one item but we are only partially showing 1 item. + Fixes part of #374713. + +2008-05-02 Carlos Alberto Cortez + + * XplatUiX11.cs: When scrolling and detecting the obscured areas in a + control, return immediately if the any parent control's handle hasn't + been created or isn't visible, as well as avoiding creating the parent + Form if the handle hasn't been previously created. + Fixes tests. + +2008-06-02 Jonathan Pobst + + * TableLayoutPanel.cs: Use border sizes when calculating the + panel's preferred size. [Fixes part of bug #396433] + +2008-06-02 Ivan N. Zlatev + + * SplitContainer.cs: + - Fix SplitterDistance to update only if needed. + - Make it force min and max validation. + - Handle properly mouse moves outside the resizeable area. + [Fixes bug #396232] + +2008-06-02 Andreia Gaita + + * WebBrowserBase.cs: Implement support for ScriptErrorsSuppressed + (which also suppresses all popup dialogs). Throw NotSupported + exceptions for activex getters/setters. + * WebBrowser.cs: Implement DocumentStream, DocumentType, IsBusy, + IsOffline, ReadyState, ScriptErrorsSuppressed, ScrollbarsEnabled, + StatusText, Version, GoSearch + * HtmlDocument.cs: Add DocType support + +2008-06-02 Andy Hume + + * TextBox.cs: Implement TextBoxAutoCompleteSourceConverter. + [Fixes bug 396124] + +2008-06-02 Ivan N. Zlatev + + * GridEntry.cs: Pass the ITypeDescriptorContext everywhere. + +2008-06-02 Jonathan Pobst + + * TableLayoutPanel.cs: When calculating preferred size, use the + actual number of columns and rows, not what the user set them to. + [Fixes bug #396141] + +2008-06-02 George Giolfan + + * Form.cs: Enabled managed handling of tool window MDI children. Fixes bug + 394311. + +2008-06-01 Carlos Alberto Cortez + + * XplatUIX11.cs: When detecting areas obscured in a control by other + toplevel windows while scrolling, return if the control hasn't a + container form. + Fixes some tests. + +2008-05-01 Carlos Alberto Cortez + + * XplatUIX11.cs: Properly detect the visible area of a control being + scrolled (obscured by other winforms controls and any X toplevel + windows), to mark as invalid the requested area to be scrolled that + isn't visible and thus can't be copied. + Fixes #324513. + +2008-05-30 Carlos Alberto Cortez + + * ListBox.cs: Compute the precise amount to vertically scroll when + using DrawMode.OwnerDrawVariable. + Patch by jkeymer (j.keymer@gmx.net). + +2008-05-30 Carlos Alberto Cortez + + * ComboBox.cs: Use ListBox-like scrollbar values In ComboListBox + to avoid setting an invalid value for the verticall scrollbar + when navigating items. And, duh, also remove my silly debug messages + from previous commits. + Fixes #374713. + +2008-05-30 Ivan N. Zlatev + + * FlatButtonAppearance.cs: Make FlatButtonAppearanceConverter exandable and + make it MS compatible. + +2008-05-30 Ivan N. Zlatev + + * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs: + - Allow the editing of entries even if their parent is read-only. + - Do not render expandable properties read-only. + - Refactor expansion checks form PropertyGrid into PropertyGrid. + +2008-05-30 George Giolfan + + * ScrollBar.cs, Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs: Added + support for the hover style. + +2008-05-29 Andreia Gaita + + * ContainerControl.cs: Check for null dead-end when traversing the tree + of parent controls. + + [Fixes #394332, patch by Ernesto Carrea] + +2008-05-29 Geoff Norton + + * XplatUICarbon.cs: Fix a culture-dependent conversion to be the + constant that it is. Fixes #393981 + +2008-05-29 Jonathan Pobst + + * Form.cs: Add a MonoTODO to the AutoScaleBaseSize setter explaining + that the user probably doesn't want to set this. + +2008-05-29 Jonathan Pobst + + * ThemeWin32Classic.cs: Don't let the text size be bigger than + the control size for CheckBox/RadioBox. + [Fixes part of bug #394645] + +2008-05-29 Ivan N. Zlatev + + * PropertyGrid.cs: Update the state of the sorting buttons in + the toolbar if PropertySort is set programatically. + +2008-05-29 Ivan N. Zlatev + + * GridItemCollection.cs: Add multiple items with conflicting names + support and also preserve name ordering. + [Fixes #395345] + +2008-05-29 Ivan N. Zlatev + + * GridItemCollection.cs: Revert my multiple items with same + name patch. + +2008-05-28 Carlos Alberto Cortez + + * ScrollBar.cs: Scrollbars should only react to left-clicks, not right + or middle ones. + Fixes part of #393908. + +2008-05-28 Jonathan Pobst + + * ToolStripDrowDown.cs: When using the Show () methods that have a + Control parameter, set the menu owner to that Control. + [Fixes bug #394345] + +2008-05-28 Ivan N. Zlatev + + * PropertyGridTextBox.cs, PropertyGridView.cs: Implement validation. + [Fixes bug #362756] + +2008-05-27 Ivan N. Zlatev + + * GridItemCollection.cs: Refactor to support multiple items with the + same name. + [Fixes bug #394314] + +2008-05-27 Jonathan Pobst + + * Control.cs: The 2.0 check for illegal cross thread calls in + Control.Handle were throwing an exception when we were getting + the Handle in order to invoke correctly. Created a private + version that does not contain this check. + [Fixes bug #394531] + +2008-05-27 Ivan N. Zlatev + + * PropertyGrid.cs: Respect DefaultTabType. + +2008-05-27 Ivan N. Zlatev + + * ListView.cs: SPACE selects an item. + [Fixes bug #393023] + +2008-05-27 Ivan N. Zlatev + + * ListView.cs: Reset the search string whenever the items are + modified. + [Fixes bug #393020] + +2008-05-25 Carlos Alberto Cortez + + * ListControl.cs: For the first added item PositionChanged is fired + _before_ ItemChanged, which leave us in a temporary invalid state - so + we need to set the selected index from ItemChanged handler *if* we + know that the first item has just been added *and* the items have been + actually added to the ListControl. + Fixes #369048. + +2008-05-24 Carlos Alberto Cortez + + * TabControl.cs: Only clicks with the left button should be + handled. + Fixes #393908. + +2008-05-24 Carlos Alberto Cortez + + * ComboBox.cs: + * FIleDialog.cs: + * TextBox.cs: Expose an internal method in TextBox to restore the + original context menu, and call it from ComboBox to re-use it in the + combobox containing the file name in FileDialog.cs. + Fixes part of #393775. + +2008-05-24 George Giolfan + + * ThemeVisualStyles.cs: Added support for the hot ComboBox drop down button + style. + +2008-05-24 George Giolfan + + * ComboBox.cs, Theme.cs, ThemeWin32Classic.cs: Added support for the hot drop + down button style. + +2008-05-23 Carlos Alberto Cortez + + * ComboBox.cs: Minor correction to previous patch: PageDown should + also *try* to move by one item if the computed offset is negative, + just like the PageUp case. + +2008-05-23 Carlos Alberto Cortez + + * ComboBox.cs: When navigating using PageDown/PageUp the navigation + should be done for at least 1 item, and not stay at the same item. + Fixes part of #374713. + +2008-05-23 Jonathan Pobst + + * FileDialog.cs: Add a FSEntryComparer, and use it to sort the + directories. [Fixes bug #393931] + +2008-05-22 Andreia Gaita + + * WebBrowser.cs: Implement DocumentText. Implement AllowNavigation. + Don't fire events until the initial about:blank page has finished + loading. Clean up events. + +2008-05-22 Atsushi Enomoto + + * XplatUIX11.cs : when we call WM_SETFOCUS, call X11Keyboard + FocusIn() too. This should fix the issue on switching + scim keyboards. + +2008-05-22 Atsushi Enomoto + + * X11Keyboard.cs : set XIM font size to somewhat reasonable + number (ideally the input textbox size, but that could be + too messy). + +2008-05-22 Jonathan Pobst + + * ToolStripTextBox.cs: List for the TextBox's TextChanged and fire + the ToolStripItem's TextChanged. [Fixes bug #393597] + +2008-05-21 Carlos Alberto Cortez + + * TabControl.cs: When invalidating in SelectedIndex and we need to + inflate to take into account the border of the tabs, make sure that + the invalidated rect doesn't overflow the control bounds, since that + would avoid updating at all. + +2008-05-21 Carlos Alberto Cortez + + * TabControl.cs: Don't substract scroller width from the row width, + since we need to take into account the total width of the control when + calculating the position of the tabs. This avoids showing scroller + when it is actually not needed. + Fixes part of #322325. + +2008-05-21 George Giolfan + + * ThemeVisualStyles.cs: Added support for TextBoxBase. + +2008-05-21 George Giolfan + + * RichTextBox.cs, TextBoxBase.cs, Theme.cs, ThemeWin32Classic.cs: Refactored: + Extracted TextBoxBase.Draw and Theme.TextBoxBase*. + +2008-05-21 Jonathan Pobst + + * DataGridView.cs: Only paint the top left header cell if there + are columns. + +2008-05-21 Jonathan Pobst + + * DataGridView.cs: When binding to a BindingSource, get the underlying + list to bind to. [Fixes bug #345483] + +2008-05-21 Jonathan Pobst + + * DataGridView.cs: Do not bind to collection properties. + [Fixes bug #337470] + +2008-05-21 George Giolfan + + * ThemeVisualStyles.cs: Added support for the hot TrackBar thumb style. + +2008-05-21 George Giolfan + + * Theme.cs, ThemeWin32Classic.cs, TrackBar.cs: Added support for the hot + thumb style. + +2008-05-21 George Giolfan + + * ThemeVisualStyles.cs: Added support for ToolTip transparent background. + +2008-05-21 George Giolfan + + * Theme.cs, ThemeWin32Classic.cs, ToolTip.cs: Added support for transparent + background. + +2008-05-21 George Giolfan + + * ThemeVisualStyles.cs: Added support for ToolBar hot and hot checked styles. + +2008-05-21 George Giolfan + + * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs: Added support for hot and hot + checked styles. + +2008-05-21 George Giolfan + + * TabControl.cs: Extended to handle the hot style. + +2008-05-21 George Giolfan + + * Theme.cs, ThemeVisualStyles.cs, ThemeWin32Classic.cs, UpDownBase.cs: + Extended UpDownBase code to handle hot and disabled styles. + +2008-05-20 Jonathan Pobst + + * DataGridView.cs: Handle databinding to generic list type things. + [Fixes bug #325239] + +2008-05-20 Jonathan Pobst + + * DataGridViewCellCollection.cs: Add a method to find the cell + with the given DataPropertyName. + * DataGridViewColumn.cs: Track if the column was autogenerated or not. + * DataGridViewColumnCollection.cs: Add a method to clear all + autogenerated columns. + * DataGridView.cs: If AutoGenerateColumns is false, don't autogenerate + columns. + [Fixes bug #348082] + +2008-05-20 Jonathan Pobst + + * DataGridView.cs: Don't try to update the RowTemplate with + a null CellTemplate. + +2008-05-20 Jonathan Pobst + + * DataGridViewColumn.cs: Allow IsDataBound to be set internally. + * DataGridViewColumnCollection.cs: Ensure OnColumnAdded is called. + * DataGridView.cs: Lots of fixes/enhancements to databinding to + a DataSet. + +2008-05-20 Jonathan Pobst + + * Control.cs: Remove invalidating implicit child controls when + control is invalidated. It was causing too many redraws on + controls with implicit scrollbars. + * ListView.cs: Listen to the Invalidated event and invalidate + child controls. + +2008-05-20 Andreia Gaita + + * WebBrowserBase.cs, WebBrowser.cs: Hook up page loading events + * HtmlDocument.cs: Check for nulls + +2008-05-19 Carlos Alberto Cortez + + * Control.cs: In ControlCollection.RemoveInternal, remove the + internal control before calling PerformLayout and OnControlRemoved, + which was leaving us in an invalid state and causing a X error (bad + match). Observe that Remove () call has the same order. + Fixes an X error changing ComboBoxStyle.DropDownStyle. + +2008-05-19 Carlos Alberto Cortez + + * TabControl.cs: Don't paint by ourselved and instead let OnPaint + being fired if ControlStyles.UserPaint style is activated. + Fixes #371905. + +2008-05-19 Ivan N. Zlatev + + * GridEntry.cs: Don't be so strict when setting the value - + do not check if what we set is what we get. + [Fixes bug #389245] + +2008-05-19 Ivan N. Zlatev + + * XplatUIX11.cs: If there are no timers timeout should be 0 + [Fixes bug #363522] + +2008-05-19 Jonathan Pobst + + * Control.cs: As a followup to invalidating implicit children when + a control is invalidated, only invalidate them if they are in the + clip rectangle. + +2008-05-19 George Giolfan + + * ThemeVisualStyles.cs: Implemented partial support for ToolTip. + +2008-05-19 George Giolfan + + * ThemeWin32Classic.cs: Refactored: Extracted ToolTipDrawBackground. + +2008-05-19 George Giolfan + + * GroupBoxRenderer.cs: Fixed text area clipping in the Visual Styles case. + * XplatUIWin32.cs: Made Win32DeleteObject public. + +2008-05-19 Ivan N. Zlatev + + * GridEntry.cs: Determine HasDefaultValue more strictly by using + PropertyDescriptor.ShouldSerializeValue. + [Fixes bug #391924] + +2008-05-19 George Giolfan + + * ThemeVisualStyles.cs: Enabled support for ScrollBar element styles not present + in the classic theme. + +2008-05-19 George Giolfan + + * ScrollBar.cs: Added FirstButtonEntered, SecondButtonEntered, ThumbEntered, + ThumbPressed. + * Theme.cs, ThemeWin32Classic.cs: Added ScrollBarHasHotElementStyles, + ScrollBarHasPressedThumbStyle. + +2008-05-19 George Giolfan + + * TextRenderer.cs: Included some methods in the 1.1 profile. + +2008-05-19 Jonathan Pobst + + * Control.cs: When we make a control visible, it may have been + previously visible and while it wasn't visible, the z-order of + things may have been shuffled, so the control needs to have its + z-order updated just in case. [Fixes bug #391518] + +2008-05-19 George Giolfan + + * ThemeVisualStyles.cs: Added support for GroupBox. + +2008-05-19 George Giolfan + + * GroupBoxRenderer.cs: Included in the 1.1 profile. + +2008-05-16 Atsushi Enomoto + + * XplatUIX11.cs, X11Keyboard.cs : redoing r103060 with fix for + bug #389996; XSelectInput() behaved as mouse handler robber, + so remove extra call to it. + +2008-05-15 Jonathan Pobst + + * Control.cs: Simplify ControlCollection.Contains method. + +2008-05-15 Jonathan Pobst + + * DataGridViewRow.cs: Implement GetPreferredSize. + +2008-05-15 Jonathan Pobst + + * DataGridViewComboBoxCell.cs: Don't declare text twice. Fixes build. + +2008-05-15 Jonathan Pobst + + * DataGridViewComboBoxCell.cs: Implement some NIEX stuffs, better + painting and edit control fixes. + +2008-05-14 Jonathan Pobst + + * DataGridView.cs, DataGridViewCell.cs: Work around some external + checks to make sure we are in an actual row/col for top left header cell. + * DataGridViewTopLeftHeaderCell.cs: Implement some NIEX's. + +2008-05-14 Jonathan Pobst + + * Control.cs: Use long instead of int when handling WParam from + mousewheel scrolling. Int was overflowing on Win64. + +2008-05-14 Jonathan Pobst + + * FlowLayoutPanel.cs, ScrollableControl.cs: We need to layout the + flow panel without scrolling first, and then calculate the + scrolling based on the new layout. [Fixes bug #390149] + +2008-05-14 Jonathan Pobst + + * ListBox.cs: Invalidate after scrolling up when selected index + changes. [Fixes bug #390151] + +2008-05-13 Carlos Alberto Cortez + + * ComboBox.cs: When setting mode to Simple *and* height hasn't been + set, default height to 150. I tried first with DefaultSize, but this + is not generating a SetBoundsCore call before handle creation time, so + we can take it into account. This is just what .net does. + +2008-05-13 Jonathan Pobst + + * XplatUIX11.cs, X11Keyboard.cs: Had to revert eno's r103060, + as it broke some stuff. Calberto is filing a bug for eno to + work with. + +2008-05-13 Carlos Alberto Cortez + + * ComboBox.cs: When handling PageDown pressed event, set SelectedIndex + to 0 is the current value is -1, and if style is not Simple, just + return, like .net does. + Fixes part of #374713. + +2008-05-13 Jonathan Pobst + + * ThemeWin32Classic.cs, ThemeVisualStyles.cs: When calculating + progress bar stuffs, use doubles instead of ints to prevent + overflow. [Fixes bug #389798] + +2008-05-13 Atsushi Enomoto + + * XplatUIX11.cs, X11Keyboard.cs : + Significant refactoring on XIM support. Now IM engine UI + should show up, at mostly-correct preedit position. + - Eliminated use of FocusWindow, as it is never mapped + and hence blocks correct preedit position. XIC is now + created per window, and it must be destroyed too when + the window is destroyed. + - WM_QUIT messages should not be filtered even when hwnd + is zombie. Filtering it could cause endless loop. + - Preedit position must move only when the window is alive. + - Make it IDisposable and make sure to release XIM/XICs. + +2008-05-13 Atsushi Enomoto + + * Timer.cs, Control.cs, Form.cs, ApplicationContext.cs, + XplatUIX11.cs, XplatUIWin32.cs : + fix for bug #325033 and #387693; + - WM_QUIT should not be sent when no running application + exists. + - SetTimer/KillTimer (especially on win32) should be + invoked for the window that the timer is/will_be attached. + - There could be unattached timers to a window when it's + started. For those timers, hold pending timers and when + a window is mapped, attach them to it. + - WaitForHwndMessage() could run into loop when + WM_SHOWWINDOW is handled before this method is called. + So, strictly check wm_showwindow state. + - Tick handler should not be invoked while one Tick handler + call is still running (introduced Busy state). + +2008-05-13 Andreia Gaita + + * WebBrowserBase.cs: Override Internal alternative methods for + SetBoundsCore and OnResize instead of the protected ones. + * Control.cs: Move SetBoundsCore and OnResize implementations to + SetBoundsCoreInternal and OnResizeInternal, so they can be + overriden internally (WebBrowserBase needs to catch them but can't + override the protected methods without api compat problems) + +2008-05-13 Andreia Gaita + + * WebBrowserBase.cs: Hiding away non-public overrides for api compat + +2009-05-12 Carlos Alberto Cortez + + * Binding.cs: + * ListView.cs: Remove debug messages. + +2008-05-12 Carlos Alberto Cortez + + * ComboBox.cs: Don't do any calculation for simple mode if the listbox + area is empty. Also calculate scrollbars in Simple mode based in area + height and total number of items, not in MaxDropDownItems. + Fixes part of #371991. + +2008-05-12 Jonathan Pobst + + * PictureBox.cs: Always invalidate on resize. Fixes an app for jhill. + +2008-05-12 Jonathan Pobst + + * BindingSource.cs: GetListSortDescription is not public. + +2008-05-12 Jonathan Pobst + + * WebBrowser.cs, WebBrowserBase.cs, WebBrowserSiteBase.cs: corcompare. + +2008-05-12 Jonathan Pobst + + * HtmlElement.cs: Fix parameter names to match MS. + * HtmlWindowCollection.cs: Should not be sealed. + +2008-05-12 Jonathan Pobst + + * ThemeWin32Classic.cs: Always draw the scrollbar area under the thumb + button, because the thumb button will not get drawn if the scrollbar + is disabled. [Fixes bug #389262] + +2008-05-12 Jonathan Pobst + + * ListBox.cs: Handle End key for multi-column listboxen. + [Fixes bug #389266] + +2008-05-12 Jonathan Pobst + + * ListBox.cs: Fix algorithm to determine which column our item is in. + [Fixes bug #389265] + +2008-05-12 Jonathan Pobst + + * ListBox.cs: Invalidate when the listbox is resized. + [Fixes bug #389256] + +2008-05-12 Jonathan Pobst + + * ListBox.cs: There is always at least one row in the ListBox (if + we are doing these calculations.) [Fixes bug #389253] + +2008-05-12 Jonathan Pobst + + * ListBox.cs: There is always at least one column in the ListBox. + [Fixes bug #389250] + +2008-05-10 Carlos Alberto Cortez + + * ComboBox.cs: When handle is created call UpdateComboBoxBounds to + ensure in Simple mode that the height is exactly the requested one. + Also add the ComboBoxListControl to the controls collection in Simple + mode even if handle hasn't been created. + Fixes part of #371991. + +2008-05-10 Carlos Alberto Cortez + + * ComboBox.cs: For ComboListBox control -specially in Simple mode-, give focus to + our ComboBox owner instead of giving it back to the previous control ( + as done in other controls). Also remove the empty override of Select + method, since we want to be selected *and* give focus to our owner. + This should let the user do keys-navigation in Simple mode. + +2008-05-10 Geoff Norton + + * XplatUICarbon.cs: Dont use HIViewScrollRect as it's causing painting + problems with rapid scrolling of treeviews. Fixes #381084 + +2008-05-10 Geoff Norton + + * XplatUICarbon.cs: Deactivate the active window before + activating the desired window. Completes fixing #386504 + +2008-05-09 Carlos Alberto Cortez + + * ListView.cs: When calculating scrollbars, set horizontal scroll bar + SmallChange to the item size width plus the padding, to match .net. + +2008-05-09 Carlos Alberto Cortez + + * FileDialog.cs: Apply the custom filter typed by the user in the file + name combobox as much as possible while navigating in the file dialog. + Fixes #385261. + +2008-05-09 Carlos Alberto Cortez + + * Binding.cs: Actually use NullValue if the retrieved value of + data source is null or DBNull. Makes a test pass. + +2008-05-09 Jonathan Pobst + + * ErrorProvider.cs, Form.cs: Get icons from ResourceImageLoader. + * MimeIcon.cs: Provide a way to get icons from resources. + +2008-05-08 Carlos Alberto Cortez + + * Binding.cs: When the value retrieved from the control to be assigned + to the data source is null, actually use the 2.0 DataSourceNullValue + value. Make pass a data binding test. + +2008-05-08 Jonathan Pobst + + * Control.cs: We need to invalidate implicit children even when + invalidate is called with invalidatechildren = false. (Implicit + children are really part of the parent.) + * ListView.cs: Double-buffer internal child controls for less + flicker. + * ThemeWin32Classic.cs: Remove an extra nested loop in drawing + owner ListView subitems for greatly increased performance. + [Fixes bug #388477] + +2008-05-08 Carlos Alberto Cortez + + * FileDialog.cs: When the user types a wildcard character in the + filename combobox, update the contents of the folder using the text as + a filter. + Fixes part of #385261. + +2008-05-08 Jonathan Pobst + + * ListBox.cs: Various fixes for MultiColumn listboxen. + [Fixes bug #388114] + +2008-05-08 Andreia Gaita + + * HtmlElement.cs: Implement Style property + +2008-05-08 Jonathan Pobst + + * ListBox.cs: Respect checkboxes when measuring item size. + * ThemeWin32Classis.cs: When drawing list items, don't draw + text outside of the item's bounds to prevent overlapping. + (.Net actually overlaps, but that's just silly.) + [Fixes bug #388117] + +2008-05-08 Everaldo Canuto + + * NotifyIcon.cs: Call SetForegroundWindow before show context menu. Thanks + Gert Driesen. Fixes bug #324830. + +2008-05-07 Everaldo Canuto + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: SetForegroundWindow + method implemented. + +2008-05-07 Carlos Alberto Cortez + + * BindingSource.cs: When calling IsSynchronized, return the value of + the related IList list. + +2008-05-07 Carlos Alberto Cortez + + * ListBindingHelper.cs: Fix some bits in GetListItemProperties, to + make a test pass. + +2008-05-07 Jonathan Pobst + + * DataGridView.cs: Implement PageUp/PageDown keys. Extend keyboard + navigation to scroll the grid if the current cell is not visible. + +2008-05-07 Andreia Gaita + + * HtmlElement.cs: Implement TabIndex + +2008-05-07 Jonathan Pobst + + * ListBox.cs: Respect ScrollAlwaysVisible and HorizontalScrollbar + properties, even when there are no items. + [Fixes bug #387611] + +2008-05-07 Ivan N. Zlatev + + * NativeWindow.cs: Add support for multiple handles per window. + * NativeWindows.cs, LibSupport.cs, Control.cs, XplatUIX11GTK.cs, + XplatUIX11.cs, X11Display.cs: Do not access NativeWindow.windows_collection + directly - use FromHandle instead. + [Fixes bug #374660] + +2008-05-07 Andreia Gaita + + * HtmlElement.cs: Implement InnerHTML setter + +2008-05-07 Andreia Gaita + + * HtmlDocument.cs: Implement Focused + +2006-05-06 Carlos Alberto Cortez + + * BindingSource.cs: Minor fixes to the the ApplySort and Remove sort + methods, as well as add messages to the exceptions. + +2006-05-06 Carlos Alberto Cortez + + * BindingSource.cs: Setting DataSource should only reset DataMember if + the previous value was null (make pass a not working test). + +2006-05-06 Carlos Alberto Cortez + + * BindingSource.cs: When EndInit call is postponed and is called until + DataSource.EndInit is called, remove the handler for data source. + +2008-05-06 Jonathan Pobst + + * ToolStripManager.cs: Don't use IsAlive, race condition, etc. etc. + +2008-05-06 Jonathan Pobst + + * ToolStripManager.cs: Store references to toolstrips as + weak references so they do not prevent forms from getting collected. + [Fixes bug #386483] + +2008-05-06 Jonathan Pobst + + * TrackBar.cs: We can't set ResizeRedraw because it isn't set + on .Net. So do the same thing in WndProc. + +2008-05-06 Jonathan Pobst + + * TrackBar.cs: Commit patch from Andy Hume that corrects + the clickable areas to better match .Net. + [Fixes bug #387074] + +2008-05-06 Jonathan Pobst + + * TrackBar.cs: Commit patch from Andy Hume that adds the + ResizeRedraw control flag so the track bar repaints itself + when it is resized. [Fixes bug #387072] + +2008-05-06 Jonathan Pobst + + * TrackBar.cs: Commit patch from Andy Hume that adds better + support for keyboard navigation when the TrackBar is vertical. + [Fixes bug #387071] + +2008-05-06 Carlos Alberto Cortez + + * BindingSource.cs: Implement ISupportInitializeNotification support. + +2008-05-06 George Giolfan + + * ThemeVisualStyles.cs: Added support for ToolBar. + +2008-05-06 George Giolfan + + * ToolBar.cs: Made the Vertical property internal. + +2008-05-05 George Giolfan + + * ThemeVisualStyles.cs: Added support for TrackBar. + +2008-05-05 George Giolfan + + * ThemeWin32Classic.cs: Refactored: Extracted TrackBarGetThumbSize, + TrackBarDrawVerticalTrack, TrackBarDrawVerticalThumbRight, + TrackBarDrawVerticalThumbLeft, TrackBarDrawVerticalThumb, + TrackBarGetVerticalTickPainter, TrackBarDrawHorizontalTrack, + TrackBarDrawHorizontalThumbBottom, TrackBarDrawHorizontalThumbTop, + TrackBarDrawHorizontalThumb, TrackBarGetHorizontalTickPainter. + +2008-05-05 George Giolfan + + * ThemeVisualStyles.cs: Added support for UpDownBase. + +2008-05-05 George Giolfan + + * Theme.cs, ThemeWin32Classic.cs, UpDownBase.cs: Refactored: + Extracted Theme.UpDownBaseDrawButton. + +2008-05-05 Jonathan Pobst + + * ToolStrip.cs, ToolStripDropDownItem.cs: Make sure toolstrips are + removed from the static toolstrips collection in ToolStripManager + when they are disposed. Provides a workaround for bug #386483. + +2008-05-05 Ivan N. Zlatev + + * GridEntry.cs: Read-only properties with Editor with + UITypeEditorEditStyle.Modal shouldn't be read-only in the PropertyGrid. + [Fixes bug #384184] + +2008-05-05 Jonathan Pobst + + * MenuStrip.cs, ToolStrip.cs: Guard against an NRE when pressing + the menu key and there are no items on the menu. + [Fixes bug #386644] + +2008-05-05 Sebastien Pouliot + + * Control.cs: Avoid calling ToString on a string. + * Form.cs: Avoid calling ToString on a string. Found using Gendarme. + * GroupBox.cs: In FlatStyle property throw, not just create, the + exception. Avoid calling ToString on a string. + * ProgressBar.cs: Avoid calling ToString on a string. + * ScrollBar.cs: Avoid calling ToString on a string. + [All issues were found using Gendarme] + +2008-05-05 Everaldo Canuto + + * NotifyIcon.cs: Prevent click events to be trigger after double click + events. Fixes remaining issues of bug #324832. + +2008-05-05 Everaldo Canuto + + * NotifyIcon.cs: Trigger click and mouseclick events after mouseup event + to mimic win32 behavior. Partially fixes bug #324832. + +2008-05-04 Carlos Alberto Cortez + + * BindingSource.cs: Implement Find methods. + +2008-05-04 Carlos Alberto Cortez + + * BindingSource.cs: Implement Sort, ApplySort overloads, and + RemoveSort methods. + +2008-05-04 Carlos Alberto Cortez + + * ListBindingHelper.cs: When calling GetListItemProperties and the + passed object is ITypedList, return the result of + ITypedList.GetItemProperties instead. + +2008-05-04 Everaldo Canuto + + * LinkLabel.cs: Set default value of name on constructor of Link class + only for 2.0 profile. + +2008-05-04 Everaldo Canuto + + * LinkLabel.cs: Fix implementation of LinkCollection.LinksAdded property. + Fixes remaining issues of bug #346154. + +2008-05-04 Everaldo Canuto + + * LinkLabel.cs: Set a default value for name on internal contructor of + Link class. It fixes assert B5 of LinkCollectionTest.Constructor1. + +2008-05-04 Everaldo Canuto + + * LinkLabel.cs: Move links collection from LinkCollection to LinkLabel + and refer all instances to owner.links. Partially fixes #346154. + +2008-05-03 Everaldo Canuto + + * LinkLabel.cs: Fix linkarea values for empty text, must have start and + length equal zero. Also called CreateLinkPieces in constructor. It fixes + the LinkLabel test 'TestLinkArea'. + +2008-05-03 Everaldo Canuto + + * Form.cs: Remove menu before close form to prevent form to be not gaced. + [Fixes #386460] + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Dispose popup window after hide. Thanks to Jesse Jones. + [Fixes #386463] + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Implemented keyboard navigation for ContextMenu. + [Fixed bug #357004] + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Remove unused ProcessCmdKey method. + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Prevent NRE in menu deactivation when shortcut is used. + [Fixes bug #375398] + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Enable implicit mnemonics for menus. Fixes remaining issues + of bug #367492. + +2008-05-03 Everaldo Canuto + + * MenuAPI.cs: Check if mouse down comes from menu, we need it because + sometimes we open a conext menu on mouse down of some controls and the mouse + up is dispatched to menu and dont need to. It fix remaining issues of + #363711 and other problems related to menu mouse click events. + +2008-05-02 Everaldo Canuto + + * MonthCalendar.cs: Implemented "Go to today" context menu, also changed + some var names to better fit changes, now we have month_menu and today_menu + vars. Fixes bug #363711. + +2008-05-02 Everaldo Canuto + + * MonthCalendar.cs: Handle every right mouse click to open context menu, + right now the default month menu but it will be change to have "Go to today" + menu. + +2008-05-02 Jonathan Pobst + + * FileDialog.cs, MaskedTextBox.cs, OpenFileDialog.cs: corcompare. + +2008-05-02 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix MonthCalendar arrows drawing. + +2008-05-02 George Giolfan + + * ThemeVisualStyles.cs: Added support for TreeView. + +2008-05-02 George Giolfan + + * Theme.cs, ThemeWin32Classic.cs, TreeView.cs: Refactored: + Moved TreeView.DrawNodePlusMinus to Theme.TreeViewDrawNodePlusMinus. + +2008-05-02 Jonathan Pobst + + * OpenFileDialog.cs: Implement 2.0 SP1 stuffs. + +2008-05-02 Jonathan Pobst + + * FileDialogCustomPlace.cs, FileDialogCustomPlacesCollection.cs: + Implement 2.0 SP1 stuffs. + +2008-05-02 Jonathan Pobst + + * FileDialog.cs: Implement 2.0 SP1 stuffs. + +2008-05-02 Jonathan Pobst + + * Control.cs, ContainerControl.cs, DataGridView.cs, TextBoxBase.cs: + Implement CanEnableIme property. (2.0 SP1) + +2008-05-02 Jonathan Pobst + + * BindingManagerBase.cs, PropertyManager.cs: Hide GetItemProperties + from the 2.0 API. + +2008-05-02 Jonathan Pobst + + * Control.cs: Provide an internal way for a control to override + the setting of Height. + * DateTimePicker.cs: Remove SetBoundsCore from 2.0 profile, + set height using new method. + +2008-05-02 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawMixedCheckBox. + +2008-05-02 George Giolfan + + * ControlPaint.cs, Theme.cs, ThemeWin32Classic.cs: Refactored: + ControlPaint.DrawMixedCheckBox now calls Theme.CPDrawMixedCheckBox. + +2008-05-02 George Giolfan + + * ThemeVisualStyles.cs: Added support for StatusBar. + +2008-05-02 Jonathan Pobst + + * DataObject.cs: Add the other IDataObject interface. + +2008-05-02 George Giolfan + + * ThemeWin32Classic.cs: Refactored: extracted DrawStatusBarBackground, + DrawStatusBarSizingGrip, DrawStatusBarPanelBackground. + +2008-05-02 Jonathan Pobst + + * DataGridViewCheckBoxCell.cs, DataGridViewImageCell.cs: Fix parameter names. + * ListView.cs: Hide non-public API. + * MaskedTextBox.cs: Remove extra attribute. + +2008-05-02 Jonathan Pobst + + * DataGridViewImageCell.cs: Use formatted value instead of value + to calculate preferred size. + +2008-05-01 Jonathan Pobst + + * ListBox.cs: Move some initialization around so that selected_indices + is not accessed before it is created. + +2008-05-01 Jonathan Pobst + + * InputLanguageCollection.cs: Implement the collection better. + [Fixes bug #385506] + +2008-05-01 Jonathan Pobst + + * ToolStripDropDownItem.cs: Get the correct event object for + DropDownItemClicked. + * ToolStripMenuItem.cs: Raise DropDownItemClicked on our owner. + [Fixes bug #385475] + +2008-05-01 Jonathan Pobst + + * DataGridViewRowCollection.cs: We don't currently support shared + rows. Should fix test failures caused by previous commit. + +2008-04-30 Jonathan Pobst + + * DataGridViewRow.cs: Fixes for cloning the row, ensure header cell's + datagridview gets set. Only paint cells in visible columns. + * DataGridViewCell.cs: Draw border after cell content. + * DataGridView.cs: Invalidate after setting some properties. Only + use visible columns. Fit hit test bug with areas in the col/row header + area but not in a row or col. Implement UpdateCell/Row methods. + +2008-04-30 Jonathan Pobst + + * DataGridViewElement.cs: Don't throw NIEX. + * DataGridViewColumnHeaderCell.cs: Draw error icons for top left header cells. + * DataGridViewColumnDesignTimeVisibleAttribute.cs: Don't throw NIEX. + * DataGridViewCheckBoxColumn.cs: Implement ToString. + * DataGridViewCheckBoxCell.cs: Allow DBNull as a value. + * DataGridViewCell.cs: Don't raise CellFormatting for RowHeader cells, + if the user filled in the formatting Value, use it. + +2008-04-30 Jonathan Pobst + + * DataGridViewTextBoxCell.cs: Fix for objects that cannot be cast + to a string. + +2008-04-29 Carlos Alberto Cortez + + * BindingSource.cs: Some corrections to Filter property, as well as + setting it for our list when resetting it. + +2008-04-29 Jonathan Pobst + + * ScrollBar.cs: Don't let dragging the thumb grip set the value greater + than the maximum. Fixes reopened bug #384182. + +2008-04-28 Everaldo Canuto + + * ToolStripDropDown.cs: Fix offscreen position for DropDown itens. + Fixes remaining issues of #367490. + +2008-04-28 Everaldo Canuto + + * ToolStripDropDown.cs: Screen.Bound dont return right value then use + SystemInformation.WorkingArea to get max_screen value. + +2008-04-28 Carlos Alberto Cortez + + * BindingSource.cs: Implement Filter and RemoveFilter. + +2008-04-28 Everaldo Canuto + + * MenuAPI.cs: Prevent sub-menu positon to be less than zero. + +2008-04-28 Carlos Alberto Cortez + + * X11Dnd.cs: When trying to convert data and we know we started the + dnd loop, don't try to use the cached data if the loop is not running, + which means that the data has been resetted. + Fixes #378191. + +2008-04-28 Everaldo Canuto + + * MenuAPI.cs: Force first menu subitem to show from left to right to mimic + win32 behavior. + +2008-04-28 Everaldo Canuto + + * MenuAPI.cs: Check the screen limits before show sub-menus and prevent + it to drawn off screen edge. Fixes bug #367490. + +2008-04-28 Everaldo Canuto + + * MenuAPI.cs: In PopupWindow.RefreshItems uses a temp point var to store + menu position to have only one assignment of Location var. + +2008-04-28 Everaldo Canuto + + * MenuAPI.cs: Implement the right key for sub-menus. Thanks Ernesto Carrea + for this patch. Fixes bug #384115. + +2008-04-28 Jonathan Pobst + + * ScrollBar.cs: If SmallChange is larger than LargeChange, make them + the same. If LargeChange is zero, set a minimum size for the scroll + thumb grip. [Fixes bug #384182] + +2008-04-28 Jonathan Pobst + + * TextBoxTextRenderer.cs: Don't turn &A into a prefix for textboxen. + [Fixes bug #384181] + +2008-04-28 Jonathan Pobst + + * ListBox.cs: Math.Min should be Math.Max. [Fixes bug #384183] + +2008-04-28 George Giolfan + + * ThemeVisualStyles.cs: Added partial support for ScrollBar (based on the + patch from Ernesto). + +2008-04-28 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawComboButton. + +2008-04-28 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawButton. + +2008-04-28 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawRadioButton. + +2008-04-28 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawScrollButton. + +2008-04-27 George Giolfan + + * ThemeVisualStyles.cs: Added support for ButtonBase.UseVisualStyleBackColor. + +2008-04-27 Andreia Gaita + + * HtmlWindow.cs, HtmlHistory.cs: Throw on DomHistory getter (it's + supposed to return a reference to an mshtml interface, which we + don't support). + * HtmlElement.cs: Throw on DomElement getter (it's supposed to return a + reference to an mshtml interface, which we don't support). Code + formatting cleanup. + * HtmlDocument.cs: Add DefaultEncoding getter implementation. Throw on + DomDocument getter (it's supposed to return a reference to an + mshtml interface, which we don't support). Code formatting cleanup. + +2008-04-26 Carlos Alberto Cortez + + * ListView.cs: Ouch, forgot to commit. + +2008-04-26 Carlos Alberto Cortez + + * ListView.cs: + * ThemeWin32Classic.cs: Fire the -until now- forgotten CacheVirtualItems event. + +2008-04-26 Carlos Alberto Cortez + + * ListView.cs: When calculating box selection for virtual mode, don't + look for intersection with item's text, but item bounds, since that + would mean read ListViewItem's text for _every_ item, and that's + something we just can't do in virtual mode (items are only requested + when drawn). + +2008-04-26 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawCaptionButton and + partial support for managed windows (based on the patch from Ernesto). + +2008-04-25 Carlos Alberto Cortez + + * ListView.cs: When doing a key search use FindItemWithText method + instead of doing the search by ourselves, this way we avoid + duplicating the code and also we handle the special case for virtual + mode. To achieve that make our private overload of FindItemWithText + internal and also have a 'roundtrip' parameter. + +2008-04-25 Carlos Alberto Cortez + + * ListView.cs: When doing the layout don't request the + ListViewItem instance if we are in virtual mode (since we can't request it + until the item is actully drawn). + +2008-04-25 George Giolfan + + * ThemeVisualStyles.cs: Added support for ProgressBar (based on the patch + from Ernesto). + +2008-04-25 George Giolfan + + * ThemeVisualStyles.cs: Added support for ControlPaint.DrawCheckBox (based on + the patch from Ernesto). + +2008-04-25 George Giolfan + + * ThemeEngine.cs: Added code to select ThemeVisualStyles. + * ThemeVisualStyles.cs: Added. + +2008-04-25 George Giolfan + + * IDeviceContext.cs: Added a missing using. + +2008-04-25 George Giolfan + + * ButtonBase.cs: Made IsDefault protected internal. + * ButtonRenderer.cs: Made GetPushButtonRenderer(PushButtonState) internal. + +2008-04-25 George Giolfan + + * Application.cs: Included VisualStyles-related members in the 1.1 profile. + * ButtonRenderer.cs, CheckBoxRenderer.cs, Padding.cs, PaddingConverter.cs, + RadioButtonRenderer.cs: Included in the 1.1 profile. + * IDeviceContext.cs: Added. + * TextRenderer.cs: Included a member in the 1.1 profile. + +2008-04-25 George Giolfan + + * ThemeWin32Classic.cs: Added ShouldPaintFocusRectangle(ButtonBase). + +2008-04-24 Jonathan Pobst + + * ErrorProvider.cs: Make the error icons come after the control + they refer to. It isn't the way the MS does it, but its better + than what we were doing. See bug #368587. + +2008-04-24 Jonathan Pobst + + * InputLanguage.cs, InputLanguageCollection.cs: Apply patch + from Eric Albright that lazy loads the input language as ensures + everything gets properly initialized. Fixes bug #373871. + +2008-04-24 Jonathan Pobst + + * ToolStrip.cs: Don't use ToolStripControlHosts when figuring up + implicit mnemonics. [Fixes bug #383000] + +2008-04-23 Carlos Alberto Cortez + + * X11Dnd.cs: When canceling the operation, automatically restore the + default cursor - normally the default cursor is restored when the + mouse buttons are released, but we should be able to restore it even + if the buttons are still pressed (for example, when pressing ESC to + cancel). + Fixes #381894. + +2008-04-23 Carlos Alberto Cortez + + * X11Dnd.cs: When starting a new drad and drop operation, set control + field to null, just as the other fields, to avoid calling any + operation on a previous control. Also, when calling DndLeave on a + control, set it to null, thus we don't fire that event multiple times + for that control. + Fixes #209264. + +2008-04-23 Geoff Norton + + * XplatUICarbon.cs: Ensure that we have a valid hwnd before accessing + the whole_window object. Fixes #377084. + +2008-04-23 Andreia Gaita + + * HtmlElement.cs: Implement RaiseEvent (event injection into the + embedded browser) + +2008-04-23 Jonathan Pobst + + * DataGridViewColumnHeaderCell.cs: Implement some NIEX stuffs. + +2008-04-23 Andreia Gaita + + * HtmlElement.cs, HtmlDocument.cs: Implement javscript method + invocation + +2008-04-23 Andreia Gaita + + * HtmlElement.cs, HtmlDocument.cs: Implement custom event handler + attaching/detaching + +2008-04-23 Carlos Alberto Cortez + + * X11Dnd.cs: When the drop was cancelled, or could just not be + performed, return DragDropEffect.None always (match .net). + +2008-04-22 Jonathan Pobst + + * DataGridViewRowHeaderCell.cs: Fill in some NIEX stuff. + +2008-04-22 Jonathan Pobst + + * DataGridViewRowCollection.cs: Revert something I didn't mean to commit. + +2008-04-22 Jonathan Pobst + + * DataGridView.cs: Add support for error icon tool tips. + * DataGridViewCell.cs: ErrorIconBounds needs to call GetErrorIconBounds. + * DataGridViewRowHeaderCell.cs: Need internal way to get ErrorIconBounds. + +2008-04-22 Ivan N. Zlatev + + * X11Structs.cs: Add mouse button masks enum. + * XplatUIX11.cs, Hwnd.cs: Send WM_ENTERSIZEMOVE and + WM_EXITSIZEMOVE only once at the beginning and at the end of the + form resize/move operation instead of for each step of it. + [Fixes bug #346529 for the x11 backend] + +2008-04-21 Jonathan Pobst + + * DataGridView*: Implement support for drawing error icons. + +2008-04-21 Jonathan Pobst + + * TreeView.cs: Make vbar and hbar internal. + * TreeNode.cs: If collapsing the node removes one of the TreeView's + scrollbars, invalidate the whole thing. + [Fixes bug #382001] + +2008-04-21 Jonathan Pobst + + * TreeView.cs: Calling Sort() sets Sorted = true. + * TreeNodeCollection.cs: Try to find the owner TreeView to determine + if the nodes need to be sorted. + [Fixes bug #382028] + +2008-04-21 Ivan N. Zlatev + + * Form.cs: Fire SizeChanged for both when the form is minimized and + restored. + * XplatUIX11.cs: Instead of tracking minimization on UnmapNotify track it + on PropertyNotify of _NET_WM_STATE. Much much cleaner. + +2008-04-21 Jonathan Pobst + + * ComboBox.cs: If the combobox is disabled, draw a disabled + background before painting anything else. + [Fixes bug #381729] + +2008-04-20 Carlos Alberto Cortez + + * X11Dnd.cs: Wehn the drag and drop operation is cancelled don't + forget to send a Leave event to the target window - just as .net does + when cancelling dnd operations. + +2008-04-20 Carlos Alberto Cortez + + * X11Dnd.cs: Stop tracking messages as part of the dnd operation as + soon as possible - this happens when we send the drop message to the + target window. This way we avoid firing any DragOver _after_ drop finished. + Fixes #378179. + +2008-04-20 Ivan N. Zlatev + + * XplatUIX11.cs: Send WM_WINDOWPOSCHANGED when a toplevel is minimized. + * Form.cs: Handle form minimization as a special state, where size doesn't + change, but we have to fire SizeChanged. + [Fixes bug #325122 for the win32 and x11 backends] + +2008-04-20 Ivan N. Zlatev + + * XplatUIX11.cs: Win32 doesn't send WM_(KILL|SET)FOCUS + if the handle is disabled. + [Fixes bug #371751] + +2008-04-20 Ivan N. Zlatev + + * XplatUIX11.cs: Enable Maximize/Minimize/Close ability (not decorations) + for forms with FormBorderStyle.None. + [Fixes bug #349571] + +2008-04-20 Ivan N. Zlatev + + * XplatUIX11.cs: Implement support for WM_ENTERSIZEMOVE and + WM_EXITSIZEMOVE. + [Fixes bug #346529 for the X11 backend] + +2008-04-19 Ivan N. Zlatev + + * XplatUIX11.cs: + - Send a mouse Enter message after say dragging the mouse with a + button down and then release it in another client. + - Reset the cursor to prevent X11 from remembering it and setting it + before the control gets WM_SETCURSOR. + - Qeueue a mouse move after a mouse enter like win32. + [Fixes bug #323234] + +2008-04-19 Ivan N. Zlatev + + * XplatUIX11.cs: Implement limited support for WM_SYSCOMMAND. + It's sent when the form gets moved, resized, closed. + * XplatUIStructs.cs: Add SystemCommands enum for WM_SYSCOMMAND. + [Fixes bug #359193 for X11] + +2008-04-19 Ivan N. Zlatev + + * Form.cs: Add a ValidateChildren for the 1.1 profile. Fixes + the build. + +2008-04-19 Ivan N. Zlatev + + * ListView.cs: Move CalculateDetailsGroupItemsCount to the NET_2_0 + group. Fixes the 1.1 build. + +2008-04-18 Carlos Alberto Cortez + + * ListView.cs: Use display indexes for selection in Details view, as + well as do the proper layout based on display indexes for that view + too. + +2008-04-18 Carlos Alberto Cortez + + * ListView.cs: Focused item information is now stored as a display + index, and display indexes are used all over the place for selection, + instead of ListViewItem.Index values, which doesn't give us enough + information to modify the selection in groups mode, and was broken. + +2008-04-18 Ivan N. Zlatev + + * Control.cs: Do not fire MouseDown if validation of the control has + failed. + * Form.cs: Validate the form before closing. + [Fixes bugs #330501 and #353310] + +2008-04-18 Andreia Gaita + + * WebBrowserBase.cs: Added WndProc, DrawToBitmap, + CreateWebBrowserSiteBase implementations + * HtmlElement.cs: Add missing OuterHTML, OuterText setters, stubbed + Style and TabIndex setters + +2008-04-18 Carlos Alberto Cortez + + * ListViewGroup.cs: When returning the actual item count, return the + proper count for default group. + Fix the tests. + +2008-04-18 Carlos Alberto Cortez + + * ListView.cs: + * ListViewGroup.cs: When calculating groups layout, get the actual + number of items per group, since groups added to the group BUT not + added to the ListView are just ignored, and can cause some nasty + exceptions because of the lack of synchronization. Also for + ListViewGroup don't use lazy initialization for items, since we + the common scenario is to use it always - and it helps us to refactor + and clean the .ctor overloads. + +2008-04-18 Carlos Alberto Cortez + + * ListView.cs: When adding an item to a ListViewItemCollection + belonging to a group (ListViewGroup.Items), don't generate a redraw if + the added item hasn't beeen previously added to the ListView instance + refered by the group, since it will be ignored. This should avoid some + really nasty flickering. + +2008-04-17 Carlos Alberto Cortez + + * ListView.cs: When accessing an item in a specific display + position, use the helper method GetItemAtDisplayIndex, instead of + direct access to the reordered_items_indices array. When doing layout + for groups set the correct Items index for the display position (since + in groups mode items don't have the same position as in Items + collection). + * ListViewGroup.cs: Add a field to store the starting item number, + which is later used when calculating the layout. + + Fixes #360805. + +2008-04-17 Gert Driesen + + * Application.cs: Fixed ProductVersion to fallback to the assembly + version. Fixes regression for bug #325413. + +2008-04-16 Carlos Alberto Cortez + + * ListView.cs: New helper method to retrieve an item in a _specific + display_ position (the items can be displayed in a different order + than one of Items collection). + * ThemeWin32Classic.cs: When drawing, instead of iterating over Items + collection, use ListView.GetItemAtDisplayIndex, to get an item in a + specific display position (again remember that items can be sorted + different than Items). + +2008-04-16 Jonathan Pobst + + * DataGridViewColumnCollection.cs: Create a cached copy of our sorted + list and update it when the collection changes. We were recreating + this several times per row paint and for every pixel the mouse moved + across the grid. + * DataGridViewColumn.cs: Regenerate cached sorted list when DisplayIndex + changes. + +2008-04-16 Jonathan Pobst + + * DataGridViewColumnCollection.cs: Convert our internal sorted columns + list to use generics. + * DataGridView.cs, DataGridViewRow.cs: Use generic sorted column list + and remove unneccessay casts. + +2008-04-16 Jonathan Pobst + + * DataGridViewBand.cs: Add internal way to set displayed variable. + * DataGridViewRow.cs: Don't paint cells in non-displayed columns. + * DataGridView.cs: Make sure we always keep track of Displayed + rows and columns, and only draw things that are displayed. + +2008-04-16 Atsushi Enomoto + + * X11Keyboard.cs, XplatUIX11.cs : manage key state regardless of + whether the key events are filtered or not. Introduced + PreFilter() process for this purpose. This fixes atokx3/iiimx + shift state issue. + +2008-04-16 Andreia Gaita + + * HtmlHistory.cs: Implement Length property + +2008-04-15 Jonathan Pobst + + * DataGridView.cs: Call EndEdit when a sort is performed so we take + away the edit textbox. Refactor to reuse column sort code. + +2008-04-12 Everaldo Canuto + + * MenuAPI.cs: Remove the code that save and restore capture status of + grab_control, this fixes some Menu and Context menu bugs but maybe it can + cause some others, I cant figure the possible problems of this patch but + right now remove the code looks to be better than keep it. This patch fixes + bugs #357638, #378721 and #379570. + +2008-04-12 Andreia Gaita + + * HtmlDocument.cs, HtmlElement.cs, HtmlHistory.cs, WebBrowser.cs: + Implement OuterHtml, OuterText, Enabled, Scroll*, *Rectangle properties, + add missing properties and event handlers. + +2008-04-14 Jonathan Pobst + + * ListBox.cs: Make sure the LargeChange we are setting is at least + zero, to prevent an IOORE. [Fixes bug #379531] + +2008-04-13 Andy Hume + + * ComboBox.cs: Support item navigation by entering text. Firstly, + in DropDownList mode, for each key-press select the next item + starting with that letter. + For other modes, when no item selected, on arrow-up/-down and open + drop-down select the first item matching the text in the textbox. + +2008-04-14 Atsushi Enomoto + + * X11Keyboard.cs : Control.FromHandle() could return null + in MoveCurrentCaretPos(). + +2008-04-12 Carlos Alberto Cortez + + * ListView.cs: When changing the size in VirtualMode, also Reset the + selection. + * ListViewItem.cs: Don't call SelectedIndexCollection.Reset when + changing selection info for VirtualMode. + Fixes #372618. + +2008-04-12 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: When drawing ListViewItem instancesin Details + view, don't use LineLimit for the first item - use NoWrap *always* + instead, since ListView.LabelWrap is not used for this view. + Fixes #378054. + +2008-04-12 Carlos Alberto Cortez + + * Binding.cs: Call UpdateIsBinding when setting control - probably + Binding is already usable and we don't need to wait to check the + IsBinding state. Also for 1.1 profile use IsHandleCreated instead of + Created, just like 2.0 does. + * CurrencyManager.cs: I'm so lame - the previous check was wrong. + +2008-04-11 Carlos Alberto Cortez + + * Binding.cs: Just realized we don't need to have a handler for + BindingContextChanged, since this info should be now consumed directly + in the BindingManagerBase. And also, the manager.IsBindingSuspended + state info is checked directly, instead of caching it. + + * CurrencyManager.cs: IsSuspended should return always false if Count + == 0. + +2008-04-11 Carlos Alberto Cortez + + * Binding.cs: When calling PushData, return if manager.Count == 0, + since we just don't have data to be read. Also, when setting the + Control for binding, hook up some events to refresh the IsBinding + state when BindingContext change or control gets created; use + Control.IsHandleCreated instead of Control.Created check to set + IsBinding state - we *actually* need to modify IsBinding when control + is created, but we don't have any Created event, only HandleCreated. + Fixes part of #349364. + +2008-04-11 Geoff Norton + + * XplatUICarbon.cs: Expose Caret to the Carbon layer. Guard against + warping a null Caret. + +2008-04-11 Jonathan Pobst + + * DataGridView.cs: Implement row/column autosizing methods. Implement + autosorting. + * DataGridViewColumnHeaderCell.cs: Add painting of the sort glyph. + * DataGridViewRowCollection.cs: Add an internal sorting method. + +2008-04-11 Jonathan Pobst + + * ThemeWin32Classic.cs: Apply patch from Ernesto to cache an expensive + value in ListView drawing code. + +2008-04-11 Jonathan Pobst + + * FileDialog.cs: Only call FileOk when Ok is clicked, not when Cancel + is clicked. Respect the user setting Cancel in FileOk. + +2008-04-11 Geoff Norton + + * ListView.cs: Avoid setting and resetting control Width/Heights and + calculate the final value and set it once. Prevents a feedback loop + on the mac. + +2008-04-10 Jonathan Pobst + + * TreeView.cs: Clamp setting the scrollbar value using SafeValueSet. + [Fixes bug #378869] + +2008-04-10 Atsushi Enomoto + + * X11Keyboard.cs, X11Structs.cs : make over-the-spot mode default. + Add some on-the-spot code, but it seems we don't need it. + +2008-04-10 Jonathan Pobst + + * Form.cs: Add method for DataGridView to trigger focus cues + even when it handles the tab keypress. + +2008-04-10 Jonathan Pobst + + * DataGridView.cs: More keyboard handling, tab, esc. + * DataGridViewTextBoxEditingControl.cs: Don't request arrow keys + when at the beginning or end of the text in the text box. + +2008-04-09 Jonathan Pobst + + * DataGridViewCell.cs: Guard against an NRE causing a test to fail. + +2008-04-09 Jonathan Pobst + + * DataGridView.cs: Some fixups for showing and adding the edit control. + * DataGridViewButtonColumn.cs: Implement ToString. + * DataGridViewCell.cs: Size and position the control simultaneously. + * DataGridViewTextBoxCell.cs: Use base to position control. + +2008-04-09 Jonathan Pobst + + * DataGridViewCell.cs: Fix up some formatting and painting code. + * DataGridViewImageCell.cs: Implement some NIEX methods. + +2008-04-09 Jonathan Pobst + + * ToolStripItemCollection.cs: What moving an item from one owner + to another, remove from source owner before adding to destination. + [Fixes bug #378109] + +2008-04-09 Jonathan Pobst + + * PictureBox.cs: Call Load when ImageLocation is set. + [Fixes bug #378308] + +2008-04-09 Atsushi Enomoto + + * X11Keyboard.cs, XplatUIX11.cs : + Implement over-the-spot mode (with some odd offsets). + - set preedit position when caret is set. + - Wrap XMoveResizeWindow() to move preedit position. + +2008-04-08 Everaldo Canuto + + * X11keyboard.cs: Fix last patch, maxval must be less not greater than + array lenght. + +2008-04-08 Everaldo Canuto + + * KeyboardLayouts.cs: Uses GENERATING_RESOURCES to make VKeyTableIndex + and ScanTableIndex public, it fix compilations errors when compiling + WinForms to generate keyboard layout resources. + +2008-04-08 Everaldo Canuto + + * X11keyboard.cs: Prevent keyboard errors when vitual table theres + different element count than scan table. It prevents some errors in non + standard keyboards. + +2008-04-08 Jonathan Pobst + + * DataGridViewHeaderCell.cs: Implement some NIEX methods. + +2008-04-08 Jonathan Pobst + + * DataGridView.cs: Call OnContentClick. + * DataGridViewCell.cs: Do a null check on ValueType instead + of valueType. + * DataGridViewCheckBoxCell.cs: Implement. + +2008-04-08 Atsushi Enomoto + + * X11Keyboard.cs : Do not cast IntPtr to int. Use long. + +2008-04-08 Atsushi Enomoto + + * X11Keyboard.cs : Check XGetIMValues() return value in + case it does not return input styles in some environment. + +2008-04-08 Atsushi Enomoto + + * X11Keyboard.cs : sizeof(IntPtr) != 4 on amd64. + +2008-04-07 Carlos Alberto Cortez + + * BindingContext.cs: Stub UpdateBinding method. + +2008-04-07 Atsushi Enomoto + + * X11Structs.cs : added couple of structs for XIM support. + * X11Keyboard.cs : + Release XIM in case it failed to create XIC. + Use consts for XNblah string. + Add support for IM style customization and XIC creation + for preedit-position and preedit-callback. + Right now use MONO_WINFORMS_XIM_STYLE environment variable + (list of: over-the-spot | on-the-spot | root). Only root + mode works so far. + + (redoing r99172 with fix.) + +2008-04-07 Jonathan Pobst + + * TreeView.cs: Center the checkbox a little better. + +2008-04-07 Jonathan Pobst + + * ThemeClearlooks.cs, ThemeGtk.cs, ThemeNice.cs, ThemeWin32Classic.cs: + Apply very nice patch from Ernesto Carrea that simplifies our + scrollbar drawing. [From bug #376146] + +2008-04-07 Jonathan Pobst + + * TreeView.cs: Correct the location of the root node checkbox when + ShowRootLines = false. Don't draw the root lines for the root node + when ShowRootLines = false. [Fixes bug #377535] + +2008-04-06 Gert Driesen + + * WebBrowserBase.cs: Added missing attributes and fixed attributes. + Fixed line endings. + * WebBrowser.cs: Added missing attributes and fixed attributes. Fixed + line endings. + * MaskedTextBox.cs: Added missing attribute. Code formatting. + * PageSetupDialog.cs: Added missing attribute. Code formatting. + * HtmlWindowCollection.cs: Code formatting. Fixed line endings. + * ImeMode.cs: Added missing field. + * HtmlWindow.cs: Code formatting. Fixed line endings. + * HtmlElement.cs: Code formatting. Fixed line endings. Fixed compiler + warnings. + * HtmlHistory.cs: Code formatting. Fixed line endings. + * HtmlDocument.cs: Code formatting. Fixed line endings. + * ToolStripPanel.cs: Added missing IList implementation. + * HtmlElementCollection.cs: Code formatting. Fixed line endings. + +2008-04-06 Gert Driesen + + * BindingContext.cs: Changed argument names to fix corcompare errors. + * DataGridView.cs: Removed extra explicit interface implementation + of IDropTarget. Code formatting. + * FlowLayoutPanel.cs: Changed argument names to fix corcompare errors. + * ComboBox.cs: Changed argument names to fix corcompare errors. + * DataGridTextBoxColumn.cs: Changed argument names to fix corcompare + errors. + * GridColumnStylesCollection.cs: Changed argument names to fix + corcompare errors. Removed extra tabs. + * GridTableStylesCollection.cs: Changed argument names to fix corcompare + errors. + * Control.cs: Changed argument names to fix corcompare errors. Code + formatting. Removed extra explicit IList implementation. + * TextBox.cs: Changed argument names to fix corcompare errors. Code + formatting. Use string.Empty instead of "". + * GridItemCollection.cs: Changed argument names to fix corcompare + errors. Code formatting. + * DataGridViewTopLeftHeaderCell.cs: Changed argument names to fix + corcompare errors. Code formatting. + * ImageList.cs: Changed argument names to fix corcompare errors. + * ToolStripItem.cs: Changed argument names to fix corcompare errors. + * DataGridViewRowCollection.cs: Changed argument names to fix + corcompare errors. Code formatting. + * TableLayoutPanel.cs: Changed argument names to fix corcompare errors. + * DataGridViewSelectedCellCollection.cs: Changed argument names to + fix corcompare errors. Code formatting. + * DataGridViewComboBoxCell.cs: Changed argument names to fix + corcompare errors. Code formatting. + * LinkLabel.cs: Changed argument names to fix corcompare errors. + * TreeNode.cs: Changed argument names to fix corcompare errors. Code + formatting. + * PropertyGrid.cs: Changed argument names to fix corcompare errors. + Code formatting. + * BindingSource.cs: Changed argument names to fix corcompare errors. + Removed extra explicit interface implementations. + * DataGridViewSelectedRowCollection.cs: Changed argument names to + fix corcompare errors. Code formatting. + * ToolStripItemCollection.cs: Removed extra explicit interface + implementation of IList.ReadOnly. + * DataGridViewColumnCollection.cs: Changed argument names to fix + corcompare errors. Code formatting. + * DataGridViewRow.cs: Rename converter to match MS. Code formatting. + * ListView.cs: Changed argument names to fix corcompare errors. + * DataGridViewHeaderCell.cs: Changed argument names to fix corcompare + errors. + * DataGridBoolColumn.cs: Changed argument names to fix corcompare + errors. + * ListBindingHelper.cs: Changed argument names to fix corcompare + errors. + * DataGridViewSelectedColumnCollection.cs: Changed argument names to + fix corcompare errors. Code formatting. + * ToolStripPanel.cs: Removed extra explicit implementation of + IDropTarget interface. + * ListBox.cs: Changed argument names to fix corcompare errors. Code + formatting. Removed extra tabs and spaces. + * DataGridViewCellCollection.cs: Changed argument names to fix + corcompare errors. + * Help.cs: Changed argument names to fix corcompare errors. Code + formatting. + * TabControl.cs: Changed argument names to fix corcompare errors. + * DataGridColumnStyle.cs: Changed argument names to fix corcompare + errors. + * TableLayoutSettings.cs: Changed argument names to fix corcompare + errors. + +2008-04-05 Carlos Alberto Cortez + + * ListBindingHelper.cs: When returning properties, only return those + that are browsable. Also, don't do a linear search of the properties, + but use the indexer of the PropertyDescriptorCollection class. + +2008-04-05 Carlos Alberto Cortez + + * BindingSource.cs: Implement GetRelatedCurrencyManager by adding a + Dictionary containing the related (child) currency managers. Also, + when setting DataSource, add datasource to our List if it is not a list. + +2008-04-05 Ivan N. Zlatev + + * PropertyGridTextBox.cs: Fix background color of the buttons. + * PropertyGridView.cs: Make the entry less jumpy. + +2008-04-05 Ivan N. Zlatev + + * PropertyGrid.cs: Fix unused variable warnings. + +2008-04-05 Ivan N. Zlatev + + * PropertyGridView.cs: Fix expansion via [+] misbehavior on + double-click. It expanded it once in the mouse down and then + again in the double-click handler. + +2008-04-04 Ivan N. Zlatev + + * GridEntry.cs: ICustomTypeDescriptor support for PropertyOwner, + TypeConverter and UITypeEditors. + +2008-04-04 Ivan N. Zlatev + + * Control.cs: Visibility should be set synchronously, + so we must also redraw once it is and not rely on layouting or + other code to repaint. + [Fixes bug #339898] + +2008-04-04 Jonathan Pobst + + * DataGridViewCell.cs: Respect DataGridView.GridColor. + +2008-04-03 Jonathan Pobst + + * Control.cs: Invalidate when the alpha channel is less than 255, + not only when control is transparent. + +2008-04-03 Jonathan Pobst + + * DataGridViewRowPrePaintEventArgs.cs, DataGridViewRowPostPaintEventArgs.cs: + Implement some painting convenience methods that threw NIEX. + +2008-04-03 Jonathan Pobst + + * DataGridView.cs: Call CellMouse[Enter|Move|Leave] properly. + * DataGridViewLinkCell.cs: Implement. + +2008-04-03 Ivan N. Zlatev + + * GridEntry.cs: Report the conversion exception error description. + [Fixes bug #375792] + +2008-04-03 Ivan N. Zlatev + + * PropertyGridView.cs: Do not scroll to item on resize. + [Fixes bug #375789] + +2008-04-02 Carlos Alberto Cortez + + * BindingContext.cs: When retrieving a BindingManagerBase, if the + dataSource parameter is ICurrencyManagerProvider, then return + ICurrencyManagerProvider.CurrencyManager/GetRelatedCurrencyManager + instead of creating a new one. + +2008-04-02 Carlos Alberto Cortez + + * BindingSource.cs: Implement support for Type instances as + DataSource. + +2008-04-02 Jonathan Pobst + + * DataGridView.cs: Minor cleanups and call CellMouseUp. + * DataGridViewCell.cs: Make some painting routines internally virtual. + * DataGridViewButtonCell.cs: Implement. + +2008-04-02 Jonathan Pobst + + * Control.cs: We always need to invalidate our children with + transparent backgrounds when we are invalidated. + [Fixes bug #376081] + +2008-04-01 Carlos Alberto Cortez + + * BindingSource.cs: EndEdit and CancelEdit should call EndCurrentEdit + and CancelCurrentEdit on CurrencyManager respectively. Implement + support for ICancelAddNew too. + +2008-04-01 Carlos Alberto Cortez + + * CurrencyManager.cs: When calling EndCurrentEdit/CancelCurrentEdit, + call EndNew/CancelNew if list is ICancelAddNew. + +2008-04-01 Jonathan Pobst + + * DataGridView.cs: Guard against an exception while painting + if there are no rows. + +2008-04-01 Jonathan Pobst + + * DataGridView.cs: Implement a bunch of keyboard commands. + +2008-03-31 Jonathan Pobst + + * ToolBar.cs: Don't do our painting if UserPaint is set. If UserPaint + isn't set, don't call OnPaint. [Fixes bug #375300] + +2008-03-30 Carlos Alberto Cortez + + * BindingSource.cs: IsBindingSuspended, ResumeBinding and + SuspendBinding depend on CurrencyManager. Implement RemoveCurrent, + hookup the remaining events related to CurrencyManager, and fire + OnListChanged also for the Clear () method. + +2008-03-30 Carlos Alberto Cortez + + * BindingSource.cs: Use Current and Position implementations in + CurrencyManager instead of using our own routines, since we need + to be in synch with it. Count should NEVER return a -1 value, and + also report ListChanged events for both simple IList data + sources (manually) as well for IBindingList ones (by hooking up an + event handler for it). + +2008-03-28 Carlos Alberto Cortez + + * BindingSource.cs: Make one .ctor call the another, to avoid + duplicate code. Add the CurrencyManager property, and also for AddNew + throw the proper exceptions and show better error messages. + +2008-03-28 Jonathan Pobst + + * ComboBox.cs: Only adjust selectedindex if Handle has been + created. Fixes failing test. + +2008-03-28 Jonathan Pobst + + * ComboBox.cs: Adjust selectedindex if we insert a new item + above the current selectedindex in a sorted ComboBox. + [Fixes bug #374654] + +2008-03-28 Jonathan Pobst + + * ComboBox.cs: Support PageUp/PageDown when dropdown is closed. + [Fixes bug #374712] + +2008-03-28 Jonathan Pobst + + * DataGridViewTextBoxCell.cs: Implement stuffs. + +2008-03-27 Jonathan Pobst + + * TreeView.cs: Create the scrollbars even earlier to be + double dog certain they are created before they are accessed. + +2008-03-27 Jonathan Pobst + + * XplatUIX11.cs: Remove a no-op line that csc was choking on. + +2008-03-27 Jonathan Pobst + + * ScrollBar.cs: Create an internal safe Value setter so we + won't crash if we try to set a value outside the min and max. + * TextBoxBase.cs: Use safe value setter to guard against a + potential NRE that is being reported by Reflector. + +2008-03-27 Jonathan Pobst + + * TreeView.cs: Create the scrollbars earlier in the constructor + to attempt to guard against an NRE in SetTop in Reflector. + +2008-03-27 Jonathan Pobst + + * DataGridView.cs, DataGridViewCell.cs, DataGridViewCell.cs, + DataGridViewRowCollection.cs: Do not scroll column and row headers, + show messagebox on data format error, use column display index + correctly, make sure HitTest supports new layout stuff, + make sure scrollbars support new layout stuff. + +2008-03-27 Atsushi Enomoto + + * XplatUIX11.cs : Patch by Doug Rintoul. + For some IM engines, keypress events need to delay call + to XPending() and XNextEvent() in the loop so that it + does not mess the orders in XIM commit callback. + Some KeyRelease events such as shift keys need to be + processed both in the IM engine and winforms driver + itself since winforms holds its own state check. + + For details, see: http://lists.ximian.com/pipermail/mono-winforms-list/2008-March/003279.html + +2008-03-27 Atsushi Enomoto + + * X11Keyboard.cs, XplatUIX11.cs : + add primitive support for XIM input support (preedit- + nothing and status-nothing). It requires precise event + capturing (XSelectInput/"filterEvents") and different + call to XFilterEvent against root window. + Get composed string and send dummy WM_IME_COMPOSITION. + Free XIM and XIC instances in finalizer. + + (This first patch does not include suggested changes + by Doug Rintoul. It will follow.) + +2008-03-26 Jonathan Pobst + + * DataGridView.cs: When binding to a property, if the property + doesn't have a setter, set the column to readonly. + [Fixes bug #343965] + +2008-03-26 Jonathan Pobst + + * ComboBox.cs: Guard against NRE if an arrow key is hit while + we aren't dropped down. Support Home/End in DropDownList mode. + [Fixes bug #371990] + +2008-03-26 Jonathan Pobst + + * TreeNodeCollection.cs: Don't increment count until we've + saved our index to return. + [Fixes bug #373603] + +2008-03-25 Jonathan Pobst + + * Label.cs: Add padding to the label's AutoSize calculation. + [Fixes bug #373792] + +2008-03-25 Carlos Alberto Cortez + + * ListBindingHelper.cs: Actually implement GetListName method. + +2008-03-25 Carlos Alberto Cortez + + * BindingSource.cs: Throw the propert expceptions for some methods, as + well as detect the list item type for Add method if DataSource is null. + +2008-03-25 Jonathan Pobst + + * DataGridViewCell.cs: I don't know why I commented this out, + putting it back for now. + +2008-03-25 Jonathan Pobst + + * DataGridViewCell.cs: Remove storage for owning column, just + use column index. + * DataGridViewColumn.cs: Make getter for HeaderTextSet. + * DataGridViewColumnHeaderCell.cs: If the header text has been + explicitly set, return it. + [Fixes bug #325979] + +2008-03-25 Jonathan Pobst + + * DataGridViewRowCollection.cs: Disable row sharing when + using data binding. Its a great feature, but lets work on + getting DGV usable first before we worry about optimizations. + +2008-03-24 Carlos Alberto Cortez + + * BindingSource.cs: When resetting our internal list, compute list + item type information to be used for indirect list access. Also + implement/tune some properties and methods related to the list access + too. + * ListBindingHelper.cs: Add a stub for GetListName method, used from + BindingSource. + +2008-03-24 Jonathan Pobst + + * DataGridView.cs: If RowCount is increased while ColumnCount + is zero, add a column. [Fixes bug #331649] + +2008-03-24 Jonathan Pobst + + * DataGridViewRowCollection.cs: When adding new rows for + databinding, make sure they are place before the add row. + [Fixes bug #343961] + +2008-03-24 Jonathan Pobst + + * DataGridViewRow.cs: Draw cells in column DisplayIndex order + instead of Index order. + +2008-03-24 Jonathan Pobst + + * DataGridView.cs: If columns are added by increasing ColumnCount, + they need to be DataGridViewTextBoxColumns, not DataGridViewColumn. + [Fixes bug #325588] + +2008-03-24 Jonathan Pobst + + * DataGridView.cs: Turn off and on the "new row" when + AllowUserToAddRows is toggled. When the handle is created, + set current cell and selected cell/row/col. + +2008-03-24 Jonathan Pobst + + * ComboBox.cs: When navigating the drop down by keyboard, we + need to scroll the list box if our selection moves out of the + currently shown items. [Fixes bug #371990] + +2008-03-24 Luke Page + + * RichTextBox.cs: Handles visible rtf tag and no longer shows the text + on the control. Also now handles unicode compatibility characters and + stores the unicode compatibility length on the stack. Fixes Bugs + #355198 and #366436. + +2008-03-23 Carlos Alberto Cortez + + * BindingSource..cs: Take into account DataMember when re-creating the + List property, and also create a specific kind of list as needed. + +2008-03-23 Carlos Alberto Cortez + + * ListBindingHelper.cs: Add a new case for GetList () method - when we + get an empty IEnumerable, try to detect whether the datamember is + valid or not for that type, if true, return null, and throw exception + otherwise. + +2008-03-22 Jonathan Pobst + + * ComboBox.cs: Alt-Down should drop down the list, Esc should + retract it. [Fixes bug #371989] + +2008-03-22 Ivan N. Zlatev + + * PropertyGrid.cs: Initialize the sorting button as pushed. + +2008-03-22 Ivan N. Zlatev + + * PropertyGrid.cs: + - Visually select the PropertyTab. + - Filter Properties by Attributes properly. + +2008-03-21 Jonathan Pobst + + * MenuItem.cs: Remove menu item from parent when disposed. + [Fixes bug #372845] + +2008-03-21 Jonathan Pobst + + * ToolBar.cs: Don't reset layout_type if Dock = None. + +2008-03-21 Andreia Gaita + + * UserControl.cs: Select the first available control when we get focus. + Fixes #372616 + +2008-03-21 Jonathan Pobst + + * DataGridViewCell.cs, DataGridViewTextBoxCell.cs: Don't paint + the content if we are in edit mode. [Fixes bug #343964] + +2008-03-21 Jonathan Pobst + + * DataGridViewCell.cs: Fix border painting for column headers. + +2008-03-20 Carlos Alberto Cortez + + * BindingSource.cs: When setting or resetting data source, + use ListBindingHelper.GetList () method, since it will get the list in + case datasource is IListSource. + +2008-03-20 Jonathan Pobst + + * DataGridViewCell.cs: Implement lots more stuffs. + +2008-03-20 Ivan N. Zlatev + + * PropertyGridView.cs, GridEntry.cs: Implement support for + UITypeEditor.IsDropDownResizable. + +2008-03-20 Jonathan Pobst + + * DataGridViewCell.cs: Remove unused variables, improve how + several of the property getters work. + * DataGridViewRow.cs: Don't call setSize on a cell, cell should + get its size from the parent row/col. + +2008-03-20 Ivan N. Zlatev + + * PropertyGrid.cs: Ensure PropertiesTab is visible even if the + user alters manually the PropertyTabs collection via the + PropertyTabs property. + +2008-03-20 Carlos Alberto Cortez + + * ListBindingHelper.cs: Implement -previously- ignored cases. We have + new tests for them to be sure to be compatible with .net. + +2008-03-20 Andreia Gaita + + * WebBrowserBase.cs: Fix attributes, add events + * WebBrowser.cs: Fix Padding signature + +2008-03-20 Ivan N. Zlatev + + * PropertyGrid.cs, PropertyGridView.cs: Implement PropertyTab support. + +2008-03-19 Jonathan Pobst + + * DataGridView.cs, DataGridViewCell.cs, DataGridViewCellStyle.cs, + DataGridViewLinkCell.cs, DataGridViewRow.cs, DataGridViewRowHeaderCell.cs, + DataGridViewTextBoxCell.cs: Changes so that DataGridViewCell + passes the new suite of tests for it. + +2008-03-18 Andreia Gaita + + * WebBrowser.cs: Add missing attributes, missing Padding and + DefaultSize properties, remove extraneous getters + +2008-03-17 Carlos Alberto Cortez + + * ListBindingHelper.cs: Implement a pair of GetListItemProperties + method overloads. + +2008-03-16 Jonathan Pobst + + * ComboBox.cs: Move resetting the selected index to keypress + instead of textchanged. Changing the text programmatically + should not trigger resetting the selected index. Fixes test. + +2008-03-16 Jonathan Pobst + + * ComboBox.cs: When the user types into the textbox, reset + the selected index to -1. [Fixes bug #371672] + +2008-03-16 Jonathan Pobst + + * FileDialog.cs: Support Control-A for selecting everything + in an OpenFileDialog. [Fixes bug #371564] + +2008-03-15 Jonathan Pobst + + * DataGridView.cs: When row/column visible/height properties + change, invalidate. Take the NIEX out of InvalidateRow/Column + etc. We don't support them yet, but we can just invalidate + everything until we do support them. (Added MonoTODO). Set + proper control styles. + * DataGridViewRow.cs: Don't call PaintHeader if row headers + are turned off. + +2008-03-15 Carlos Alberto Cortez + + * ListBindingHelper.cs: Implement 2.0 GetListItemType methods. + +2008-03-14 Jonathan Pobst + + * DataGridViewRow.cs: Only paint the white background in + cell bounds, the row bounds extends past the cells if the + grid width isn't as wide as the DGV. + +2008-03-14 Jonathan Pobst + + * DataGridView*: Completely revamp the drawing to match the + public API. Our grids now look better, and call all the + appropriate methods and event to allow users to override + the painting and do their own. + +2008-03-13 Carlos Alberto Cortez + + * ListBindingHelper.cs: Implement 2.0 GetList methods. + +2008-03-13 Jonathan Pobst + + * DataGridView.cs: Implement BorderStyle. + +2008-03-13 Jonathan Pobst + + * FileDialog.cs: Apply patch from Andy Hume: Any time we + are comparing attributes, make sure we only look at the + one we are interested. These calls were failing if there + were more than one attribute. + [Fixes bug #370385] + +2008-03-13 Jonathan Pobst + + * DataGridColumnStyle.cs: Hide ctor from 1.1 profile. + +2008-03-12 Jonathan Pobst + + * PageSetupDialog.cs: Stub EnableMetric. + * PrintControllerWithStatusDialog.cs: Implement IsPreview. + * PrintPreviewDialog.cs: Add ProcessDialogKey, + ProcessTabKey. + +2008-03-12 Jonathan Pobst + + * MonthCalendar.cs: Remove unused variable. + +2008-03-12 Jonathan Pobst + + * DataGridView*.cs: corcompare stuffs. + +2008-03-11 Jonathan Pobst + + * MonthCalendar.cs: Remove an incorrect invalidate optimization. + The savings aren't worth the extra code to fix the optimization. + [Fixes bug #368585] + +2008-03-11 Jonathan Pobst + + * ToolBar.cs: Always call base.Dock in the Dock override so that + Control's layout_type gets reset correctly. + [Fixes bug #368882] + +2008-03-11 Ivan N. Zlatev + + * X11Dnd.cs: End DnD operation also for the middle mouse button. + +2008-03-11 Jonathan Pobst + + * ContainerControl.cs: We can't do MenuStrip implicit mnemonics + at the same time we do explicit ones, because we have to give all + other controls on the container a chance to handle explicit ones + first. If no one has an explicit mnemonic, then we can let the + MenuStrip have a shot at implicit mnemonics. + * MenuStrip.cs: Create an implicit mnemonic function. + * ToolStrip.cs: When processing explicit mnemonics, don't do implicit + mnemonics for MenuStrips. + [Fixes bug #368493] + +2008-03-11 Jonathan Pobst + + * AxHost.cs, Binding.cs, DataGridView.cs, DataGridViewCell.cs, + DataGridColumnStyle.cs: corcompare stuffs. + +2008-03-10 Carlos Alberto Cortez + + * FileDialog.cs: Don't add any ColumnHeader to Columns if view is not + Details - This is needed after we added the bits to use any available + column also for List and SmallIcon view. + +2008-03-09 Carlos Alberto Cortez + + * ListBox.cs: Fire SelectedIndexChanged and SelectedValueChanged events + at the proper place, not only when changing SelectedIndex and changing + the selection using keys/mouse, as .net does. + +2008-03-07 Carlos Alberto Cortez + + * ControlBindingsCollection.cs: Implement last 2.0 + DefaultDataSourceUpdateMode property. Also fix a wrong instruction + in the new 2.0 Add methods. + +2008-03-07 Carlos Alberto Cortez + + * ListBox.cs: When calling SelectedIndexCollection.Clear, + return if no items are previously selected - this is done to avoid + firing OnSelectedIndexChanged without need to do so. Also, + when creating handle ensure that the focused item is visible (as + .net does). + +2008-03-06 Carlos Alberto Cortez + + * ListBox.cs: Rewrote/refactored most of selection code. We require + the following things in selection: a) keep selection sorted (both + indices and items), b) SelectedIndices automatically detect the + selection mode, c) SelectedIndex should be the first selected item + index, d) Need to Focus/adjust scroll bar when selecting a new item, + not only for SelectedIndex, which is specially important in Multi* + selection modes. To achieve this we are moving the selection core to + SelectedIndexCollection and make depend all selection modifications on + it. + Fixes #366438. + +2008-03-06 Jonathan Pobst + + * ToolStrip.cs: Enable implicit mnemonics for drop down + menu strips. [Fixes part of bug #367692] + +2008-03-06 Jonathan Pobst + + corcompare - fix parameter names [stragglers]. + Binding.cs, BindingsCollection.cs, GridColumnStylesCollection.cs, + HelpEventHandler.cs, Label.cs, ListView.cs, Message.cs, + TabControl.cs. + +2008-03-06 Jonathan Pobst + + Control.cs: Don't call ProcessMenuKey on WM_SYSKEYUP if there + was a mnemonic pressed as well as Alt. Also, if nothing handles a + mnemonic, let the ToolStripManager have it even if it doesn't + have a matching mnemonic. + [Fixes bug #367499] + +2008-03-06 Jonathan Pobst + + corcompare - fix warning about implicit implementation + * ToolStrip.cs: Add IToolStripData interface. + * IToolStripData.cs: Add. + +2008-03-06 Jonathan Pobst + + corcompare - fix warning about implicit implementation + * Control.cs, ToolStripPanelRow.cs: Add IBounds interface. + * IBounds.cs: Add. + +2008-03-05 Jonathan Pobst + + corcompare - fix parameter names [N-Z]. + LinkArea.cs, NativeWindow.cs, NotifyIcon.cs, PageSetupDialog.cs, + Panel.cs, PrintDialog.cs, PrintPreviewControl.cs, PropertyGrid.cs, + PropertyManager.cs, RichTextBox.cs, + ScrollBar.cs, SelectionRange.cs, SplitContainer.cs, StatusBar.cs, + StatusBarDrawItemEventArgs.cs, StatusBarPanelClickEventArgs.cs, + StatusStrip.cs, TabControl.cs, TableLayoutColumnStyleCollection.cs, + TableLayoutRowStyleCollection.cs, TableLayoutStyleCollection.cs, + TextBoxBase.cs, ThreadExceptionDialog.cs, ToolStrip.cs, + ToolStripContentPanel.cs, ToolStripDropDown.cs, + ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripMenuItem.cs, + ToolStripPanel.cs, ToolStripSeparator.cs, + TreeNode.cs, TreeView.cs, TreeViewHitTestInfo.cs, + UICuesEventHandler.cs, UpDownBase.cs. + +2008-03-05 Jonathan Pobst + + corcompare - fix parameter names [G-M]. + GridColumnStylesCollection.cs, GridItemCollection.cs, + GridTableStylesCollection.cs, GroupBox.cs, Help.cs, + HelpProvider.cs, ImageListStreamer.cs, InputLanguageCollection.cs, + Label.cs, LayoutEngine.cs, LinkClickedEventArgs.cs, + LinkLabel.cs, ListBox.cs, ListView.cs, ListViewGroupCollection.cs, + ListViewItem.cs, Menu.cs, MenuItem.cs, MenuStrip.cs, MouseEventArgs.cs. + +2008-03-05 Jonathan Pobst + + corcompare - fix parameter names [A-F]. + Control.cs, DataGridBoolColumn.cs, DataGridColumnStyle.cs, + DataGridTextBoxColumn.cs, DataGridViewButtonCell.cs, + DataGridViewCellCollection.cs, DataGridViewCellParsingEventArgs.cs, + DataGridViewCheckBoxCell.cs, DataGridViewColumnDesignTimeVisibleAttribute.cs, + DataGridViewComboBoxCell.cs, DataGridViewHeaderCell.cs, + DataGridViewImageCell.cs, DataObject.cs, DomainUpDown.cs, + DrawItemEventArgs.cs, FolderBrowserDialog.cs, FontDialog.cs, Form.cs. + +2008-03-03 Ivan N. Zlatev + + * GridEntry.cs: Do not convert not only if the types match, + but also if the property type is assigneable from the value's + type. + [Fixes bug #366566] + +2008-03-03 Ivan N. Zlatev + + * PropertyGridView.cs: + - Subscribe to the listbox only once and not everytime. + - Update the textbox even if SetValue fails. + - Close the listbox before calling TrySetValue just in case. + [Fixes bug #366569] + +2008-03-03 Jonathan Pobst + + * Control.cs: Hide ICollection.CopyTo from the 1.1 profile. + +2008-03-02 Carlos Alberto Cortez + + * ListView.cs: Implement support for custom column width based on + Columns collection (we were previously using this collection only + with Details view). + Fixes #364484. + +2008-03-01 Carlos Alberto Cortez + + * ListViewItem.cs: For Tile view, always set bounds for the first + subitem (which is the main one), and also don't let Width be larger + than ListView.TileSize.Width. Improve code readibility also. + * ThemeWin32Classic.cs: When painting the ListViewItem instances + in Tile view, _always_ use the NoWrap flag. + Fixes #360798. + +2008-02-29 Ivan N. Zlatev + + * PropertyGrid.cs: Check for null PropertyDescriptor.Name just + in case. + * GridEntry.cs: For MS compitability make all child properties + readonly if the parent is readonly. Ugh. + [Fixes bug #365945 and #365944] + +2008-02-29 Andreia Gaita + + * HtmlHistory.cs: Fix sigs for Forward and Back to navigate by index + relative to the history + +2008-02-29 Andreia Gaita + + * HtmlElement.cs: More handlers for mouse and key events + +2008-02-28 Andreia Gaita + + * WebBrowserBase.cs: MouseClick sig changed. + * HtmlHistory.cs: Implement history navigation + * HtmlElement.cs: Add event handlers, and connect them. + +2008-02-28 Ivan N. Zlatev + + * GridEntry.cs: + - Use PropertyDescriptor.DisplayName instead of .Name for Label, + so that DisplayNameAttribute doesn't get ignored. + - Check for ParenthesizeNameAttribute and parenthesize the Label. + - Add support for PasswordPropertyTextAttribute + * PropertyGridView.cs: Check if an entry is a password. + [Fixes bugs #365589, #365586, #365588] + +2008-02-28 Andreia Gaita + + * PropertyGridView.cs: Revert the message filtering change, as we + need it to block after all. Remove block parameter, unnecessary. + +2008-02-27 Jonathan Pobst + + * UserControl.cs: Better implementation of GetPreferredSize. + First step to fixing bug #361441. + +2008-02-26 Carlos Alberto Cortez + + * Binding.cs: Actually implement data binding support for + classes implementing IBindableComponent. + * ControlBindingsCollection.cs: Likewise. + +2008-02-26 Andreia Gaita + + * PropertyGridView.cs: Use a message filter to check when to + close the dropdown + +2008-02-26 Andreia Gaita + + * Application.cs: Change the message_filters loop so a filter + can be removed while looping. + +2008-02-26 Ivan N. Zlatev + + * GridEntry.cs: Optimization in ToggleValue so that it caches + the current value. + * PropertyGridView.cs: An optimization so that the property isn't + re-read twice for each StandardValue added to the drop-down menu. + Patch by Andy Hume under the MIT/X11 + license. + [Fixes bug #362755] + +2008-02-26 Jonathan Pobst + + * Application.cs: Apply patch from Justin Cherniak to match + MS better for ProductName, ProductVersion, and CompanyName. + [Fixes bug #361709] + +2008-02-25 Carlos Alberto Cortez + + * Binding.cs: Actually implement 2.0 NullValue property. Also + when changing the formatting related properties, only update the state + if formatting_enabled is true (we don't mind otherwise). + +2008-02-25 Jonathan Pobst + + * ToolStrip.cs: Don't raise ItemClicked for disabled items. + [Fixes bug #364486] + +2008-02-25 Ivan N. Zlatev + + * GridEntry.cs: Use the PropertyDescriptor.PropertyType instead + of GetType on the current value as it uses reflection to + determine the type. This fixes the case where the new value is + null. + +2008-02-25 Ivan N. Zlatev + + * PropertyGridView.cs: Limit mousewheel scrolling to not scroll + past the view. + +2008-02-24 Luke Page + + * Line.cs, TextControl.cs: Implement offset x and y so that a + document doesn't have to begin at (0,0) on the viewpoint. + * TextBox.cs, TextBoxBase.cs: RightToLeft switches the scroll + bars and switches the text alignment (and therefore is now + implemented for textbox). Fixes #321383. + +2008-02-23 Carlos Alberto Cortez + + * Binding.cs: Actually implement 2.0 FormatString and FormatInfo + properties. Also when changing FormattingEnabled update the control + property -as .Net does-. + +2008-02-22 Carlos Alberto Cortez + + * ControlBindingsCollection.cs: Add the missing 2.0 Add overloads. + * Binding.cs: Add stubs for the overloads of the Add method in + CBCollection. + +2008-02-22 Carlos Alberto Cortez + + * Binding.cs: PullData () returns a false value if we got an exception. + Also when validating the control and we get an error, instead of + setting the value of the previous one, cancel the event (tested in 1.1 + and 2.0). + +2008-02-22 Jonathan Pobst + + * TreeView.cs: Make selected_node and highlighted_node internal. + * TreeNodeCollection.cs: Reset selected_node and highlighted_node + to null when Nodes.Clear is called. + [Fixes bug #363884] + +2008-02-21 Jonathan Pobst + + * FontDialog.cs: Ensure that when the Font is set in code, + all the gui pieces are updated accordingly. + [Fixes bug #361020] + +2008-02-21 Jonathan Pobst + + * TextRenderer.cs: Respect proposed size for MeasureString. + * ThemeWin32Classics.cs: If our CheckBox/RadioButton isn't + autosize, use a proposed width to force wrapping for long text. + [Fixes bug #360981] + +2008-02-21 Jonathan Pobst + + * TreeView.cs: Factor in checkboxes = false and state images in + to HitTest. [Fixes bug #363360] + +2008-02-21 Jonathan Pobst + + * ThemeWin32Classic.cs: Only look at the Date part of a DateTime + when drawing the selected range. + [Fixes bug #363648] + +2008-02-21 Jonathan Pobst + + * ToolStripContainer.cs: Add SupportsTransparentBackColor and + ResizeRedraw control styles. + [Fixes bug #363555] + +2008-02-20 Jonathan Pobst + + * TreeView.cs: StateImages are basically custom checkboxes, so + factor their size the same as real checkboxes when determining + what got clicked. + [Fixes bug #363367] + +2008-02-20 Jonathan Pobst + + * MessageBox.cs: Make the message box wider if the form caption + is longer than the text in the form. + [Fixes bug #361137] + +2008-02-20 Ivan N. Zlatev + + * PropertyGridView.cs: Fix a NRE when closing the drop down form. + +2008-02-20 Jonathan Pobst + + * TreeNode.cs: Guard against an NRE when the parent's + StateImageList hasn't been set. + [Fixes bug #363353] + +2008-02-20 Jonathan Pobst + + * SplitContainer.cs: Add SupportsTransparentBackColor and + OptimizedDoubleBuffering control styles. + [Fixes bug #363303] + +2008-02-20 Jonathan Pobst + + * Application.cs: For the app data paths and the registry key paths, + ensure they are created before returning them to the user. + [Fixes bug #361709] + +2008-02-20 Jonathan Pobst + + * Application.cs: Guard against an NRE in CompanyName and + ProductName. + +2008-02-20 Jonathan Pobst + + * Application.cs: For CompanyName, ProductName, and ProductVersion, + make sure we handle all three cases correctly: attribute is present, + attribute is present but is an empty string, and attribute is not + present. + +2008-02-20 Ivan N. Zlatev + + * PropertyGridView.cs: + - Fix a NRE that caused a test failure + - Another performance improvement - cache the standard values + listbox. + +2008-02-19 Jonathan Pobst + + * ComboBox.cs: Fix previous change to affect both 1.1 and 2.0 + code paths. + +2008-02-19 Ivan N. Zlatev + + * PropertyGridView.cs: Fix a big performance bug. + +2008-02-19 Jonathan Pobst + + * SelectionRange.cs: Apply patch from Andy Hume to make + constructor behavior more accurate. [Fixes bug #362117] + +2008-02-19 Andreia Gaita + + * Control.cs: Added a new flag is_disposing to track if the + window is currently in the process of being disposed of. + This is used so that, when firing visibility changes triggered + by unparenting controls during Dispose, the control doesn't + get created again. + +2008-02-19 Jonathan Pobst + + * ComboBox.cs: Set height to preferred height when the handle + is created. [Fixes bug #360862] + +2008-02-18 Andreia Gaita + + * XplatUIX11.cs: Create FosterParent with border width at 0. + With the previous value of 4, everytime a control got reparented + from parent = null, it's location would be shifted right and + down by 4, since these coordinates would be offset by the + FosterParent's border width. + +2008-02-18 Ivan N. Zlatev + + * Control.cs: During diposing firstly remove ourselfes from + the parent and *then* destroy our handle, because removing + ourselfes from the parent controls collection causes + VisibilityChange, etc events, which require a handle and end + up recreating the control. + +2008-02-17 Ivan N. Zlatev + + * GridEntry.cs: Set expanded state before notifying that the + expansion has taken place. + * PropertyGridView.cs: + - Set the propertygridtextbox text to the selected + StandardValue before proceeding to setting it. + - Scrolling bugfixes. + +2008-02-16 Ivan N. Zlatev + + * GridEntry.cs: + - Fix ValueText to not return null. + - Fix conversion error reporting to actually happen. + * PropertyGridView.cs: Set entry only if the text has changed. + [Fixes bug #362116] + +2008-02-16 Ivan N. Zlatev + + * GridEntry.cs: + - Fix handling of a null current value. + - Swallow editor exceptions. + [Fixes bug #362114] + +2008-02-16 Ivan N. Zlatev + + * PropertyGrid.cs: Clear current items first thing before + repopulating subitems. + * GridEntry.cs: + - Handle null StandardValuesCollection. + - Mark as not editable if there is no PropertyDescriptor and + if the Converter cannot convert from string. + [Part of fix for bugs #360666 and #358332] + +2008-02-15 Luke Page + * MaskedTextBox.cs: Now skips non editable characters after a + character has been entered and we are progressing to the next + position in the MaskedTextBox. + +2008-02-15 Luke Page + * TextBoxBase.cs: Handles MouseDown when shift key is clicked so + that it changes the selection rather than just repositioning the + cursor. Fixes Bug #360873. + +2008-02-15 Luke Page + * TextBoxBase.cs, TextControl.cs, RichTextBox.cs: TextChanged fires + when Undo/Redo changes the text. Undo/Redo/Undo/Redo now works + correctly. See #359330 + +2008-02-15 Andreia Gaita + + * XplatUIX11.cs: If the handle is null when posting a message, use the + current thread queue to post instead. Fixes #332409 + + * SendKeys.cs: Slight optimization + +2008-02-14 Ivan N. Zlatev + + * PropertyGrid.cs, PropertyGridView.cs: + Fix multiple scrolling and sizing issues. + [Fixes bug #359199] + +2008-02-12 Ivan N. Zlatev + + * PropertyGridView.cs: Ensure that drop down editors are shown + in the WorkingArea of the screen. + [Fixes bug #359807] + +2008-02-12 Ivan N. Zlatev + + * GridEntry.cs: Fail silently when UITypeEditor is missing. + [Fixes bug #360666] + +2008-02-11 Carlos Alberto Cortez + + * Binding.cs: Implement 2.0 DataSourceNullValue property. + +2008-02-11 Ivan N. Zlatev + + * PropertyGridView.cs: + - Clear the controls in the drop down form after it is hidden. + - Fix Width sizing of the dropdown editors to match MSFT. + +2008-02-11 Ivan N. Zlatev + + * PropertyGridView.cs: + - Fix height for drawing the grid entry + text value, so that it clips multiline text properly. + - Fix unfocusing to match MSFT. + +2008-02-11 Ivan N. Zlatev + + * PropertyGrid.cs: Do not populate subgriditems unless expandable. + Fixes a bug where on repopulation after value changed items become + expandable. + +2008-02-10 Carlos Alberto Cortez + + * Binding.cs: For the 2.0 profile, look for a + 'PropertyChanged' event in the target control, and add checks for + DataSourceUpdateMode property to change -or not- the data source + from validation/control property change. + +2008-02-10 Atsushi Enomoto + + * Binding.cs : build fix (operator == is not overriden in 1.x. Do + not compare struct with null in 2.0). + +2008-02-10 Luke Page + + * MaskedTextBox.cs: UseSystemPasswordChar updates PasswordChar, PasswordChar + updates the provider and if not using a provider, uses the internal document + class implementation of password char. Also when showing text, uses display string + from the provider, instead of the actual text. + +2008-02-09 Carlos Alberto Cortez + + * Binding.cs: Ooooops, forgot to take into account the data_source + and binding_member_info null case (it was breaking the Binding tests). + +2008-02-09 Carlos Alberto Cortez + + * Binding.cs: Implement support for data source changes exposed by + 'PropertyNameChanged' events, and update the control property as + needed. + +2008-02-08 Carlos Alberto Cortez + + * Binding.cs: Implement 2.0 WriteValue method. + +2008-02-08 Jonathan Pobst + + Commit patch from James Purcell for better AutoScale implementation: + + * ScaleControl should call GetScaledBounds with the control's total size rather + than client size. GetScaledBounds should handle ignoring the borders in its + calculations. Cleaned up ScaleControl/GetScaledBounds overrides in controls + (for the most part they just call the base code now since that is fixed). + * Added ScaleChildrenInternal to allow controls to disable scaling of children + without having to override ScaleChildren (since none of .NET's controls do). + This is required for most controls in Mono that have scrollbars to prevent the + scrollbars from being moved/resized. + * Nested ContainerControls can have a different scale mode than their parent. + This is briefly mentioned in MSDN but is buggy in MS.NET (the runtime and + designer produce different results both of which look incorrect). + * Default AutoScaleMode for ContainerControl should be Inherit. + * Simplified workaround for ComboBox scaling issue. + * 1.0 style auto-scaling now uses its own methods instead of sharing 2.0's. + 1.0 style auto scaling should scale the whole control's size instead of + ignoring the borders (except for Form) and the rounding is done differently to + preserve control alignment. + * ApplyAutoScaling (used for 1.0 style) should use the rounded result of + GetAutoScaleSize. + * Cleaned up fix for "Bug 355703 - Setting AutoScale = true doesn't stick". + * CurrentAutoScaleDimensions should round the estimated character width instead + of truncating. + * ListBox's GetScaledBounds should always use the height it was set to instead + of the height that was passed in. This prevents rounding errors from + accumulating quickly with IntegralHeight. + [Bug #359098] + +2008-02-08 Andreia Gaita + + * Form.cs: Add a null check (darn it). + +2008-02-08 Jonathan Pobst + + * MdiClient.cs: Make sure the requesting form actually owns the + control menu items before removing them. Also, use + Suspend/ResumeLayout when adding or removing items so we only + layout once. + [Fixes bug #359887] + +2008-02-08 Jonathan Pobst + + * Control.cs: Guard against an NRE in ShowFocusCues. + [Fixes bug #359830] + +2008-02-08 Carlos Alberto Cortez + + * Binding.cs: Implement 2.0 ReadValue method and ControlUpdateMode + property, as well as stubbing DataSourceUpdateMode. + +2008-02-08 Andreia Gaita + + * Form.cs: When closing forms, get focus back to the active control of the + active form. [Fixes #341314, corner case] + +2008-02-07 Jonathan Pobst + + * MdiClient.cs: After we move the scrollbars, invalidate the NC + area, so any old scrollbar artifacts are cleaned up. + [Fixes bug #336305] + +2008-02-07 Jonathan Pobst + + * MdiWindowManager.cs: If we are maximized and using MainMenuStrip + for our menus, display that control box menu instead of the 1.1 + menu one. + +2008-02-07 Jonathan Pobst + + * MdiControlStrip.cs: Add property to access the mdi form tied to + each toolstripitem. + * MdiClient.cs: Be smarter about removing and adding toolstripitems + to the implicitly merged menu. Every time we clicked the form, items + were getting removed and the re-added, causing the form to jump around + as the menu resized. + +2008-02-07 Jonathan Pobst + + * MdiClient.cs: Make sure the NormalBounds always gets set. It + was being reset by the implicit menu merge for menustrips. + [Fixes bug #336296] + +2008-02-07 Jonathan Pobst + + * Form.cs: Don't do the previous change when WindowState = Normal, + or it messes up where the window is placed. Fixes test failure. + +2008-02-07 Jonathan Pobst + + * Form.cs: When becoming visible, if we are an MDI child, call + SetWindowState with a dummy old_state so that changes will actually + be made. + [Fixes the 2nd part of bug #325473] + +2008-02-07 Andreia Gaita + + * Control.cs: Reset properties to their pre parent-change values in case + the new parent == null (in which case we're basically removing the control, + and don't want any events fired due to fake property changes) + [Fixes #355850] + +2008-02-06 Ivan N. Zlatev + + * PropertyGridView.cs: + - Refactor SetValue to allow setting the value + when a custom editor is used, but the entry is not editable. + - Remove the custom editor control on CloseDropDown. + [Fixes #359196] + +2008-02-06 Andreia Gaita + + * PrintControllerWithStatusDialog.cs: Set PrintFileName value through + reflection only on 1.1, this property is public on system.drawing on 2.0. + Fixed #359247 + +2008-02-06 Andreia Gaita + + * WebBrowser.cs: Do a normal page refresh by default. + +2008-02-05 Andreia Gaita + + * XplatUIWin32.cs, XplatUICarbon.cs: set the hwnd.Mapped flag when we create + the window so that the check on Control.UpdateZOrderOfChild passes on non-X + platforms. Fixes #359036 + + Note: Control.UpdateZOrderOfChild needs to be rewritten to not rely on + platform-specific flags. + +2008-02-05 Carlos Alberto Cortez + + * Binding.cs: Add 2.0 BindableComponent property - just return control + by now. + +2008-02-05 Everaldo Canuto + + * MenuAPI.cs: Check if control is disposable when track popup menu. Thanks + Jonathan for this patch. Fixes #358442. + +2008-02-05 Jonathan Pobst + + * Form.cs: If we change the active MDI child form, let the others + know they need to repaint their title bar so it will appear inactive. + [Fixes part 1 of bug #325473] + +2008-02-05 Ivan N. Zlatev + + * PropertyGridView.cs: Do not trucate custom editors' width + and align them to the left. + [Fixes #358353 and #358349] + +2008-02-04 Carlos Alberto Cortez + + * BindingsCollection.cs: Implement 2.0 CollectionChanging event. + Also fix the arguments passed to CollectionChangeEventArgs in the + related methods. + +2008-02-04 Geoff Norton + + * Hwnd.cs: The conversion to Quartz coordinates happens in + System.Drawing. Removing this translation from here. + +2008-02-04 Ivan N. Zlatev + + * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs, + CategoryGridEntry.cs, RootGridEntry.cs, GridItem.cs, + GridItemCollection.cs: + PropertyGrid rewrite part 2. Tons of bugfixes and new features. + +2008-02-04 Geoff Norton + + * X11Keyboard.cs: VK_MENU should send a KEYUP instead of + SYSKEYUP if any other key has been pressed in the mean time. + Fixes #324404 + +2008-02-04 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.ItemsMouseMove, only fire ItemDrag event + when the item in current position is different than 0. Also, save the + item index in the beginning of the operation, instead of getting the + index of the item when the event is actually performed. Lastly clean + the related fields in ItemsMouseUp if the ItemDrag operation wasn't + triggered. + [Fixes #357873] + +2008-02-03 Jonathan Pobst + + * Form.cs: Alt-Minus for MDI children system menu should work + with both the minus keys on the keyboard. + [Fixes bug #336295] + +2008-02-03 Jonathan Pobst + + * Control.cs: Don't invalidate on region change. The WM should + take care of this automagically. Keeps us out of an infinite + paint loop if someone changes the Region in the OnPaint. + [Fixes bug #358327] + +2008-02-04 Ivan N. Zlatev + + * ImageIndexConverter.cs: ConvertFrom must handle "(none)". + +2008-02-03 Jonathan Pobst + + * DateTimePicker.cs: Apply patch from Srikanth Madikeri so we drop + down the MonthCalendar only on F4, not Alt+F4. + * MonthCalendar.cs: If we are a popup, close ourselves on Alt+F4. + [Fixes bug #358340] + +2008-02-03 Jonathan Pobst + + * ThemeWin32Classic.cs: For MonthCalendar, draw a dark border + if its part of a DateTimePicker, else, use the back color. + [Fixes bug #358339] + +2008-02-03 Jonathan Pobst + + * Hwnd.cs: Use GraphicContext instead of the uninitialized bmp_g. + [Fixes bug #358342] + +2008-02-03 Carlos Alberto Cortez + + * CurrencyManager.cs: When we get a ListChanged event from our source, + always fire our own ListChanged event, as .Net does. + +2008-02-03 Luke Page + + * RichTextBox.cs: AutoSize now defaults to false. Fixes Bug + #358379. + +2008-02-03 Luke Page + + * TextBoxBase.cs, RichTextBox.cs, TextControl.cs: Sets richtext + property. Removed if for richtext property that was always true. + PgUp/PgDn at top/bottom fixed for RTB. Fixes bug #358237. + +2008-02-03 Luke Page + + * TextBoxBase.cs - commited patch from James Purcell that + correctly sets the FixedHeight control style when the MultiLine + property is changed on a TextBox control. Fixes bug 358229. + +2008-02-02 Luke Page + + * Line.cs, LineTag.cs, RichTextBox.cs, TextControl.cs + Fixes bug 351938 - caret is positioned correctly when drawn + and when calculating textual position of caret, no longer + has a NRE in certain situations. + +2008-02-01 Geoff Norton + + * Hwnd.cs: Ensure that windows moved into -'ve coordinate space + get that region removed from the paint event. + * XplatUICarbon.cs: Remove the window mapping after disposing of + window. Prevents a crash with handle reuse. Optimize exposes + only onto visible windows (rare; but possible). + +2008-02-01 Jonathan Pobst + + * UpDownBase.cs: Make sure the internal textbox calls the base's + OnMouseDown and OnMouseUp so the textbox will function correctly. + There were notes saying it doesn't chain up, but its an internal + class, so our implementation may differ. + [Fixes bug #357482] + +2008-02-01 Jonathan Pobst + + * ListBox.cs: Fix a logic error and don't process MouseDown + for mouse buttons other than Left. + +2008-02-01 Jonathan Pobst + + * Control.cs: Remove HeightInternal. + * ListBox.cs: Commit patch from James Purcell that correctly + calculates heights for ListBoxen. + [Fixes bug #357152] + +2008-02-01 Jonathan Pobst + + * Label.cs: Apply patch from James Purcell that corrects the + signature of the AutoSize property. + [Fixes bug #357605] + +2008-02-01 Jonathan Pobst + + * ListBox.cs: Don't throw [Mouse]Click events for buttons + other than the left mouse button. + +2008-01-31 Jonathan Pobst + + * Control.cs: Remove my awesome optimization as it caused some + regressions with control ordering. :( + [Fixes bug #357467] + +2008-01-31 Ivan N. Zlatev + + * PropertyGridView.cs: Fix a NRE on double click when there is no + selected object. + +2008-01-30 Carlos Alberto Cortez + + * BindingManagerBase.cs: Implement IsBindingSuspended 2.0 property. + +2008-01-30 Jonathan Pobst + + * ListBox.cs: Call MouseClick and MouseDoubleClick. + [Fixes bug #357146] + +2008-01-29 Jonathan Pobst + + * Hwnd.cs: Make bmp, bmp_g variables threadstatic and private. + * Control.cs, DataGridViewCell.cs, LineTag.cs: Use Hwnd.GraphicsContext + instead of Hwnd.bmp_g. + +2008-01-29 Jonathan Pobst + + * TextRenderer.cs: Don't maintain private bitmap/graphics contexts. + Use the Hwnd one instead. + +2008-01-29 Jonathan Pobst + + * Form.cs: Remove duplicated copy of GetAutoScaleSize. + +2008-01-29 Jonathan Pobst + + * Form.cs: corcompare for RestoreBounds. + +2008-01-29 Jonathan Pobst + + * Control.cs: Add MarshalAs attribute to Font getter for corcompare. + +2008-01-29 Jonathan Pobst + + * Form.cs: Handle Alt-Minus for MDI children forms. + * MdiWindowManager.cs: Make ShowPopup internal so Form can call it. + Add mnemonics to the control menu. + [Fixes bug #336295] + +2008-01-28 Carlos Alberto Cortez + + * Binding.cs: Initial implementation bits of FormattingEnabled + property and BindingComplete event (2.0). + * BindingCompleteEventArgs.cs: Internal methods for setting error text + and exception. + +2008-01-28 Jonathan Pobst + + * TableLayoutPanel.cs: Draw the table border at 0,0 instead of + table.Location. [Fixes bug #354672] + +2008-01-28 Jonathan Pobst + + * Form.cs: Handle WM_ENTERSIZEMOVE and WM_EXITSIZEMOVE to raise + ResizeBegin and ResizeEnd. [Fixes bug #346529 for win32] + +2008-01-28 Carlos Alberto Cortez + + * ComboBox.cs: When OnDisplayMemberChanged method is reached, instead + of doing all the re-bound work, just invalidate and call SetControlText + to set the updated text of selected item to our textbox. + Fixes #333750. + +2008-01-28 Andreia Gaita + + * HtmlWindow.cs: Add event handler support. Add Document, Frames, + IsClosed, Opener, StatusBarText, Url properties, stub out the remaining + missing properties and methods. Add Load, Unload, Error, GotFocus, + LostFocus, Resize, Scroll events (only load and unload are connected) + +2008-01-27 Gert Driesen + + * AccessibleObject.cs: Modified argument names to match MS. + * Button.cs: Modified argument names to match MS. + * BindingContext.cs: Modified argument names to match MS. + * BindingMemberInfo.cs: Modified argument names to match MS. + * ButtonBase.cs: Modified argument names to match MS. + * ComboBox.cs: Modified argument names to match MS. + * Control.cs: Modified argument names to match MS. + * CheckedListBox.cs: Modified argument names to match MS. + * CommonDialog.cs: Modified argument names to match MS. + * DataGrid.cs: Modified argument names to match MS. + * CursorConverter.cs: Modified argument names to match MS. + * ControlPaint.cs: Modified argument names to match MS. + * CheckBox.cs: Modified argument names to match MS. + * ControlBindingsCollection.cs: Modified argument names to match MS. + * BindingSource.cs: Modified argument names to match MS. + * DataFormats.cs: Modified argument names to match MS. + * ContainerControl.cs: Modified argument names to match MS. + * CurrencyManager.cs: Modified argument names to match MS. + * Application.cs: Modified argument names to match MS. + * ContextMenuStrip.cs: Modified argument names to match MS. + * ContextMenu.cs: Modified argument names to match MS. + * BindingManagerBase.cs: Modified argument names to match MS. + * WindowsFormsSection.cs: Fixed line ending. + +2008-01-27 Andreia Gaita + + * PropertyGridView.cs: Rearrange the dropdown loop so that it exits when + detecting that the dropdown toolwindow is hidden. EndLoop outside the + while. + +2008-01-26 Gert Driesen + + * PropertiesTab.cs: Fixed argument name of GetDefaultProperty to match + MS. Code formatting. + +2008-01-26 Carlos Alberto Cortez + + * Binding.cs: Don't avoid the Format event if the control + property type is object. Also, if the value retrieved by + the data source is null _and_ the control proeprty type + is object, return Convert.DBNull (match .Net). + Fixes part of #324286. + +2008-01-26 Carlos Alberto Cortez + + * ListControl.cs: Since we are getting two BinginContextChanged events + for the same binding context instance (when the control is added to + form, and when the form is actually shown), take it into account only the + first time for a given binding context instance. + Fixes part of #324286. + +2008-01-26 Ivan N. Zlatev + + * PropertryGridView.cs: Ops. + +2008-01-26 Ivan N. Zlatev + + * PropertyGridView.cs: Close dropdown form if the owner form is + moved or minimized. + [Fixes bug #322446] + +2008-01-25 Ivan N. Zlatev + + * PropertyGrid.cs, PropertyGridView.cs, GridEntry.cs, GridItem.cs, + RootGridEntry.cs, CategoryGridEntry.cs: + PropertyGrid rewrite. + - Rewrite all of the control logic in PropertyGrid. + - Rewrite all of the ComponentModel logic in GridEntry. + - Rewrite all UI work in PropertyGridView. + - Many bugfixes, etc. + +2008-01-24 Jonathan Pobst + + * TableLayoutPanel.cs: Enhance GetPreferredSize to take into account + when all contained controls are autosize or dock-fill. Also take into + account when the total percentage of column/row sizes is not 100%. + [Fixes bug #354672] + +2008-01-24 Andreia Gaita + + * HtmlDocument.cs: + - Save a reference to the IDocument in the instance and + use that one instead of going to WebHost.Document; the document that the + WebHost returns might not be the right one (in case of frames). + - Use the hashcode returned from the IDocument interface. + - Implemented: ActiveElement, ActiveLinkColor, All, BackColor, Cookie, + Domain (setter is not supported), Encoding, ForeColor, Forms, Images, + LinkColor, Url, VisitedColor, Window + + * HtmlElement.cs: + - Implemented: CanHaveChildren, Children, Document, GetAttribute, + set_Attribute, NextSibling, Parent, TagName, AppendChild, + GetElementsByTagName, GetHashCode, HasAttribute, InsertAdjacentElement, + SetAttribute, Equals, equality operators. + - Added stubs for: AttachEventHandler, DetachEventHandler, Focus, + InvokeMember, RaiseEvent, RemoveFocus, ScrollIntoView, + + * HtmlElementCollection.cs: Change implementation to use a generic + collection. Implemented Enumerator and CopyTo + + * HtmlHistory.cs: Add constructor, no implementation yet. + + * HtmlWindow.cs: Initial implementation with: Name, Parent, Alert, + Confirm, Prompt, Navigation, ScrollTo, Open, OpenNew, GetHashCode, + Equals, equality operators. + + * HtmlWindowCollection.cs: Implemented. + + * WebBrowser.cs: Use the Navigation object to navigate (WebHost.Navigate + has been deprecated). + + * WebBrowserBase.cs: Use Completed event to track document loading + (Navigated has been deprecated) + +2008-01-24 Jonatham Pobst + + * ThemeWin32Classic.cs: Add tab stops and NoWrap to dropdown MenuItems. Top + level MenuItems do not respect tabs. + [Fixes bug #355196] + +2008-01-23 Geoff Norton + + * XplatUICarbon.cs: Ensure that windows are created in their initial + FormWindowState. Finished fixing Fullscreen windows on Carbon + +2008-01-23 Everaldo Canuto + + * MenuAPI.cs: When FindForm fails uses FindRootParent to find the control to + be used as grab_control. Also save status of capture before show ContextMenu + and restore it after close. + +2008-01-23 Everaldo Canuto + + * Control.cs: Internal FindRootParent method added to return high control + in parent tree. + +2008-01-23 Geoff Norton + + * Hwnd.cs: Refactor Whole/Client pointer to 1 element for Cursors. + * XplatUICarbon.cs: Refactor some dead code out to Cursor.cs and make + it work again. Handle HITTEST events. + +2008-01-23 Geoff Norton + + * XplatUICarbon.cs: Ensure that we always have a host window. Prevents + a crash in certain cases. Support for fullscreen windows in certain cases. + +2008-01-23 Jonathan Pobst + + * Form.cs: Don't set AutoScaleMode in AutoScale if we don't have to. + [Fixes bug #355703] + +2008-01-23 Geoff Norton + + * XplatUICarbon.cs: Remove some dead code that was causing warnings. + +2008-01-23 Geoff Norton + + * XplatUICarbon.cs: Re-enabled Carets in QuickDraw as a overlay window. + +2008-01-23 Everaldo Canuto + + * SplitContainer.cs: Remove unused declarations. + * Binding.cs: Remove unused declarations. + +2008-01-23 Everaldo Canuto + + * Form.cs: Remove unused declaration of 'active' in Activate method. + * Control.cs: Move declaration of nested_layout inside '#if NET_2_0" to + prevent compilation warnings. + * TextControl.cs: Remove unused declaration of selection_pos_on_line. + * Hwnd.cs: Remove unused declaration of clip in GetClippingRectangles. + * Bindings.cs: Remove unused formatting_enabled declaration. + * ToolTip.cs: Put some methods inside '#if NET_2_0" to prevent compilation + warnings. + * TreeView.cs: Put some methods inside '#if NET_2_0" to prevent compilation + warnings. + * PropertyGridView.cs: Remove usused 'ex' declaration. + * DataGridView.cs: Remove unused declarations. + +2008-01-23 Everaldo Canuto + + [Fixes bugs #343966, #338511 and other non reported (context)menu bugs] + + * Form.cs: Remove all active_tracker (used by menu) stuff, it is now moved + to Control class, it makes possible to grab menu to controls that can't + reach Form using parent tree. Handle for WmButtonUp, WmButtonDown and + WmMouseMove removed since it was used only to track menu events. + + * Control.cs: + - Moved all active_tracker stuff from Form. + - ProcessActiveTracker added to prevent code duplicity, now mouse events + can call this method instead of reimplement all necessary code handle for + menu tracker. + - Call to ProcessActiveTracker for mouse events (WmButtonUp, WmButtonDown + and WmMouseMove). + + * MenuAPI.cs: + - Remove special handle to ToolStripOverflow, now we can grab menu to + controls that can't reach Form using parent tree. + - Change type of grab_control from Form to Control. + +2008-01-22 Geoff Norton + + * TextBoxBase.cs: Split up the sizing of controls and placing of + controls. Fixes a bug where scrollbars in Reflector could be sized + wrong and have non-working thumbers. + +2008-01-23 Geoff Norton + + * XplatUI.cs: Refactor environment variables to default support to the + Carbon driver on the Mac. + +2008-01-23 Everaldo Canuto + + * Label.cs: Uses new LabelPainter for drawing operations. + * ThemeWin32Classic.cs: DrawLabel and LabelDefaultSize removed. + * Theme.cs: DrawLabel and LabelDefaultSize removed. + +2008-01-22 Geoff Norton + + * XplatUICarbon.cs: Enable packing scroll delta into the mouse wParam + +2008-01-22 Jonathan Pobst + + * ThemeWin32Classic.cs: Run Flat, Button appearance, 2.0 CheckBoxes + through the normal flat button code and don't draw the checkbox glyph. + * Theme.cs: Button->ButtonBase signature change. + [Fixes bug #324755] + +2008-01-22 Everaldo Canuto + + * LinkLabel.cs: Uses new class LinkLabelPainter. + +2008-01-22 Everaldo Canuto + + * MessageBox.cs: Adjust right border space, we don't need to add + "space_border*2" two times. + +2008-01-22 Jonathan Pobst + + * ScrollableControl.cs: With the advent of 2.0's Padding, DockPadding + becomes a wrapper around Padding. + [Fixes a part of bug #354676] + +2008-01-22 Geoff Norton + + * Mime.cs: Avoid a needles exception on OSX if we dont have a buffer + acquired. Also ensure the buffer is large enough to grab the header + we need on linux boxes. + +2008-01-22 Jonathan Pobst + + * Control.cs: Implement a custom enumerator so people can delete + from the Controls collection while in a foreach. + [Fixes bug #355074] + +2008-01-22 Ivan N. Zlatev + + * PropertyGridView.cs: Fix focusing behavior: + - Tab should focus the grid text box. + - Clicking on the labels shouldn't focus the grid text box. + +2008-01-22 Ivan N. Zlatev + + * PropertyGridView.cs: IsValueTypeGridItem should return true + for Arrays as well. + +2008-01-22 Ivan N. Zlatev + + * PropertyGrid.cs, GridEntry.cs, PropertyGridView.cs: + - Renamed GridEntry.SelectedObjects to TargetObjects to better + reflect the property name role. + - PropertyGrid.GetTarget is not required as the target is known + (TargetObjects). + - Setting values will handle value types as a special case now and + populate them up in the chain. + [Fixes #354990] + +2008-01-21 Jonathan Pobst + + * Hwnd.cs: Create a public property for the Graphics we keep around. + +2008-01-21 Ivan N. Zlatev + + * PropertyGridView.cs: Just hide the grid textbox and do nothing more + when the current object selection changes. + Fixes failing test SelectedObject_Null2.B5. + +2008-01-21 Ivan N. Zlatev + + * PropertyGrid.cs: Process Browsable properties with + DesignerSerializationVisibilityAttribute.Content as being expandable. + This seems also what MS does. Without this e.g SplitContainer.Panel1/2 + will not be expandable. We should be nested components-friendly now. + +2008-01-21 Andreia Gaita + + * WebBrowserBase.cs: Check if control was loaded properly, + don't bind if it wasn't. + + * HtmlDocument.cs: Implement CreateElement, Equals, Focus, + GetElementFromPoint, equality operators, OpenNew, Write. + Remove extra set_Body + +2008-01-18 Jonathan Pobst + + * ContainerControl.cs, Control.cs: Apply patch from James Purcell + that makes our AutoScale* stuff more tolerant to different orders + of being set. [Fixes bug #354669] + +2008-01-18 Ivan N. Zlatev + + * PropertyGridView.cs, PropertyGridTextBox.cs: + Drop WM_LBUTTONDOWN msg sending and use focusing instead. + [Fixes #339005 and #348209] + +2008-01-18 Ivan N. Zlatev + + * PropertyGridView.cs: Hide the grid text box before adjusting it + for the newly selected GridItem. + [Fixes #338999] + +2008-01-18 Jonathan Pobst + + * Form.cs: Give MDI children the opportunity to cancel the parent form + attempting to close. Ensure that all [Form]Clos[ing,ed] events get called + properly for both the parent and child. + * Application.cs: Signature of internal method changed, pass the previous + default of false. + [Fixes bug #354286] + +2008-01-17 Ivan N. Zlatev + + * PropertyGridView.cs: Set the property value only if it has changed. + [Fixes bug #338997] + +2008-01-17 Jonathan Pobst + + * MenuAPI.cs: Windows sends us MOUSEMOVE messages when any key is pressed. + If the mouse hasn't actually moved, ignore these messages so the currently + highlighted menuitem isn't reset to the one under the mouse. + [Fixes bug #333668] + +2008-01-17 Ivan N. Zlatev + + * PropertyGridView.cs: When the property changes Invalidate the GridItem + in order for the properties with UITypeEditor.GetPaintValueSupported == true + to reflect the change visually. + [Fixes bug #338998] + +2008-01-17 Jonathan Pobst + + * ButtonBase.cs: Add LineLimit to 1.1 button drawing, and TextBoxControl + to 2.0 button drawing. + * ThemeWin32Classic.cs: Ensure that the rectangle we are using to draw + the button text is tall enough for one line. LineLimit says it will + always draw at least one line, but it is a lie. + [Fixes bug #324941] + +2008-01-17 Atsushi Enomoto + + * XplatUIStructs.cs, X11Keyboard.cs : + added some more VK_* keys to be handled. + +2008-01-16 Andreia Gaita + + * Control.cs: Check if there is a container before setting or getting + the validation flag. + +2008-01-16 Andreia Gaita + + * ContainerControl.cs: Add flag to track if a control cancels validation, + so we don't fire click events. + + * Control.cs: + - (HandleClick) Check if validation was cancelled before firing the click + events (doubleclicks are fired, but not clicks) + - (WmLButtonDown) Reset validation flag. The flag is normally reset on + ContainerControl.set_ActiveControl, but in the case of non-selectable + controls, like a Label, activecontrol is not set. + + * ButtonBase.cs: Only fire clicks if validation passes. + + Fixes #353310 + +2008-01-16 Geoff Norton + + * XplatUICarbon.cs: Implement GetAutoScaleSize to fix Reflector on + trunk + +2008-01-16 Jonathan Pobst + + * FolderBrowserDialog.cs: If we cannot interpret the user's requested + SelectedPath, just display the default dialog instead of crashing. + [Fixes bug #348989] + +2008-01-16 Geoff Norton + + * XplatUICarbon.cs: Flicker be gone! Generate our messages in + AddExpose instead of trusting apples compositing manager which doesn't + work for our use case. Remove some dead code causing warnings and + redecorate some other code to prevent warnings. + +2008-01-16 Geoff Norton + + * XplatUICarbon.cs: Avoid some unecessary invalidation calls when + carbon signals us to redraw. Fixes another portion of the flickering bug + +2008-01-16 Everaldo Canuto + + * Form.cs: Prevent the MdiParent property to be set when value is the same + as value already set. Fixes bug #328019. + +2008-01-16 Everaldo Canuto + + * Form.cs: Don't set mdi_parent as null when mdi window close is prevented, + it prevents NRE when closing mdi child windows. Fixes bug #325211. + +2008-01-16 Everaldo Canuto + + * InternalWindowManager.cs: Invalidade close button after mouse up when + mdi form is prevented to close. + +2008-01-16 Everaldo Canuto + + * MdiClient.cs: Fix the minimum bounds on child window sizes when cascade, + thanks to Andy Hume. Fixes bug #325433. + +2008-01-16 Andreia Gaita + + * LinkLabel.cs: Reset focused_index when resellecting the control. + Fixes #323190 + +2008-01-15 Geoff Norton + + * XplatUICarbon.cs: Rework Grab/Ungrab handling to send some needed + messages. + +2008-01-15 Jonathan Pobst + + * Form.cs: Change 2 more AutoScaleBaseSize calculation to round instead + of truncate. + +2008-01-15 Jonathan Pobst + + * ContainerControl.cs: Setting AutoScaleMode to anything should set + Form.AutoScale to false. + * Form.cs: Setting AutoScale to true should set AutoScaleMode to None. + AutoScaleBaseSize should be changed on Font change unless it has been + explicitly set. + [Fixes bug #353827] + +2008-01-15 Everaldo Canuto + + * MenuAPI.cs: On instance of MenuTracker check if source control is + ToolStripOverflow and use properly method to find form. + [Fixes bug #338511] + +2008-01-15 Everaldo Canuto + + [Fixes bug #323241 Transparent toolbar support] + + * ToolBar.cs: Define ToolBarStyles.TBSTYLE_FLAT in CreateParams when toolbar + is flat. + + * Control.cs: Paint background as transparent in case of TBSTYLE_FLAT is + defined in control style to mimic win32 behavior. + + * ThemeWin32Classic.cs: Don't paint background for flat apparence toolbar, + it will be transparent. + +2008-01-14 Everaldo Canuto + + * XplatUIStructs.cs: Implement ToolBarStyles to use in Style property of + CreateParams for ToolBar controls. + +2008-01-14 Jonathan Pobst + + * Form.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs: Forms with + FixedToolWindow, SizeableToolWindow, or None for border styles have + different minimum sizes than regular forms. Implemented to fix + regression in PDN with toolbox being too wide. + +2008-01-14 Andreia Gaita + + * HtmlElementCollection.cs: Implemented + + * HtmlElement.cs: Implemented: + - All + - InnerHtml + - InnerText + - Id + - Name + - FirstChild + + * HtmlDocument.cs: Implemented GetElementsByTagName. + +2008-01-14 Jonathan Pobst + + * Screen.cs: Stub BitsPerPixel to always return 32. + +2008-01-14 Jonathan Pobst + + * Form.cs: Implement RestoreBounds. + +2008-01-14 Jonathan Pobst + + * RichTextBox.cs, ToolStrip.cs: Fix some typos pointed out by + Sebastien and his fabulous magical problem-finding machine: + Gendarme. Also put a MonoTodo on AutoWordSelect since we don't + respect the value set. + +2008-01-14 Everaldo Canuto + + * Form.cs: In WmWindowPosChanged call base.WndProc including when state is + minimized. Fixes bug #325122 for Win32. Thanks Srikanth Madikeri. + +2008-01-12 Carlos Alberto Cortez + + * X11Dnd.cs: Since we don't propagate the WM_LBUTTONUP/WM_RBUTTONUP + messages (to match .Net), we need to remove the capture ourselves. + +2008-01-11 Jonathan Pobst + + * MenuAPI.cs: If we get an Alt-F4, release our capture so Windows + will process the message and close our window. + [Fixes bug #324328] + +2008-01-10 Geoff Norton + + * XplatUICarbon.cs: Clip the Graphics context to the invalid area + tracked in the Hwnd. Only invalidate the dirty region to the Carbon + window manager. + +2008-01-10 Jonathan Pobst + + * Form.cs: Enforce the Form minimum size in SetBoundsCore. Fixed + failing test. + +2008-01-10 Jonathan Pobst + + * XplatUIX11.cs: Set a minimum window size and enforce it. Even though + Linux doesn't care, having a minimum matches MS and keeps the window + from becoming too small to use window decorations. + [Fixes bug #338996] + +2008-01-10 Jonathan Pobst + + * ThemeWin32Classic.cs: Tie CheckBox/RadioButton focus rectangles to + ShowFocusCues. Make focus rectangles fit the text instead of the whole + control. [Fixes bug #325419] + +2008-01-10 Jonathan Pobst + + * ComboBox.cs: Guard against an NRE if the user open a new form from a + SelectedIndexChanged event. This closes the combobox dropdown, and we + were trying to dispose it. [Fixes bug #352830] + +2008-01-09 Jonathan Pobst + + * Control.cs, Form.cs: Implement the necessary semantics for + ShowFocusCues. All paint code will need to check Control.ShowFocusCues + to determine if a focus rectangle should be drawn. + * PropertyGrid.cs: Fix property visibility to match override. + * ThemeWin32Classic.cs: Use ShowFocusCues for Button. + +2008-01-09 Jonathan Pobst + + * Application.cs: Use GetCommandLineArgs to calculate ExecutablePath. + [Fixes bug #323552] + +2008-01-09 Geoff Norton + + * XplatUICarbon.cs: Scroll windows in the correct direction. + +2008-01-09 Geoff Norton + + * XplatUICarbon.cs: Track all created utility windows so we can hide them + when the app is deactivated or spaces is enabled. + +2008-01-08 Carlos Alberto Cortez + + * ListViewItem.cs: Cosmetic fix - When calculating layout for item, don't add an + extra separation pixel for the label rect origin if SmallImageList is + null, and thus we don't need that separation between icon and label + rects. + Patch by Ernesto Carrea. + Fixes # 340195. + +2008-01-08 Jonathan Pobst + + * StatusStrip.cs: Invalidate after completing a layout. The base + OnLayout does this, but we don't call the base. + * ToolStripItem.cs: Revert the previous change to invalidate after + the item moves. + [Fixes bug #351341 better.] + +2008-01-07 Geoff Norton + + * XplatUICarbon.cs: WM_DESTROY is a teardown of a single window + not a notification to exit the application. Listen for WM_QUIT + instead. + +2008-01-07 Andreia Gaita + + * HtmlDocument.cs: Fix case on GetElementById (interface changed) + +2008-01-07 Jonathan Pobst + + * ToolStripItem.cs: If the bounds of an item changes, invalidate it + so it can repaint at the correct location. + [Fixes bug #351341] + +2008-01-06 Carlos Alberto Cortez + + * ListControl.cs: SelectedValue should return a null value if + SelectedIndex is -1. Also, when setting it, it should throw an + ArgumentNullException if the value is null, as well as taking + into account the String.Empty value, instead of ignoring it (we have + tests for that now). + Fixes part of #324286. + +2008-01-06 Jonathan Pobst + + * TextBoxBase.cs, TextControl.cs: Patch from Luke Page to ensure + SelectionStart is updated after pressing enter. Fixes bug #351918. + +2008-01-05 Jonathan Pobst + + * TextControl.cs: Revert a piece r92316 that prevented the fix + from working when there were multiple tags in the text box. + Fixes bug #351881. + +2008-01-05 Jonathan Pobst + + * TextControl.cs: Apply patch from Luke Page that prevents an + NRE when determining the beginning of a paragraph. + Fixes bug #351886. + +2008-01-05 Jonathan Pobst + + * TextBoxBase.cs: Apply patch from Luke Page that ensures the + caret gets moved with clicking away from a selected block of + text. Fixes bug #351885. + +2008-01-05 Jonathan Pobst + + * TextControl.cs: Apply patch from Luke Page that takes line + alignment into account for mouse selection, so that center and + right aligned text can be selected. + Fixes bug #351881. + +2008-01-05 Jonathan Pobst + + * RichTextBox.cs: Apply patch from Luke Page that fixes some caret + issues after loading an RTF file by using the correct line feeds. + Fixes bug #351841. + +2008-01-05 Jonathan Pobst + + * TextControl.cs: When deleting multiple line selections, we need + to invalidate every line beginning at the first line of the selection. + Patch from Luke Page fixes bug #351791. + +2008-01-04 Carlos Alberto Cortez + + * ListControl.cs: When getting a CurrencyManager.PositionChanged + event, don't set SelectedIndex if the number of items is 1. This is + because, for the first item, PositionChanged is fired _before_ + ItemChanged (the place where we actually populate the items), and + leave us in a temporary invalid state (since items collection is + empty). + Fixes #349655. + +2008-01-04 Geoff Norton + + * XplatUICarbon.cs: Create native toolwindows instead of + the managed drawing ones. + +2008-01-03 Jonathan Pobst + + * LineTag.cs: If the line doesn't have any characters, return + 0 for GetCharIndex. Fixes an AOORE exception after certain + caret movements. Fixes bug #351683. Patch by Luke Page. + +2008-01-03 Jonathan Pobst + + * TextBoxBase.cs: Apply patch from Luke Page so when backspace + is hit when there is selected text, only the selected text gets + deleted, not the character in front of the selection as well. + Fixes bug #351578. + +2008-01-03 Carlos Alberto Cortez + + * ComboBox.cs: When the values are displayed, calculate the + ComboListBox scrollbar's LargeChange based on the visible area's + height and the actuall ItemHeight, instead of calculating it + based on MaxDropItems value, since it's not used by our _current_ + 2.0 profile. + Fixes #332366. + +2008-01-03 Jonathan Pobst + + * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: + Patch from Luke Page that fixes issues with font colors and styles + not showing up in a readonly RichTextBox. Fixes bug #324354. + +2008-01-03 Jonathan Pobst + + * Line.cs, RichTextBox.cs, TextControl.cs: Another awesome patch + from Luke Page. This one fixes bug #349926. + +2007-12-30 Carlos Alberto Cortez + + * CurrencyManager.cs: Actually fire the 2.0 ListChanged event when + an item in the IBindingList source changes with + ListChangedType.ItemAdded. Ignore for now firing the event for other + changes, since we want to have tests for those cases as well. + +2007-12-28 Jonathan Pobst + + * TextBoxBase.cs: Don't store a 1x1 Bitmap for every TextBox + created. + +2007-12-28 Jonathan Pobst + + * TextBoxTextRenderer.cs: Implement a cache for measuring each + character. This is effective because the typical usage of a + TextBox is with a limited amount of fonts and characters, and + the current implementation of TextBox measures everything one + character at a time. Another second or two speedup for bug #347238. + +2007-12-28 Jonathan Pobst + + * Control.cs: Rewrite the Font getter to only query the parent's + Font property once instead of twice. Since this operation is + recursive, the queries were growing exponentially as the control + tree got deeper. Another second or two speedup for bug #347238. + +2007-12-28 Jonathan Pobst + + * Control.cs: Avoid setting a parent (and more importantly, updating + the zorder of all its children) if the parent is already correct in + WmShowWindow. Decreases the startup time of the test case on bug + #347238 from 35 seconds to 11 seconds. + +2007-12-27 Carlos Alberto Cortez + + * X11Dnd.cs: When the dnd operation has started and we are + in the dnd loop, don't dispatch either WM_LBUTTONUP nor WM_RBUTTONUP. + This is done to match .Net, which doesn't send those messages after + dnd operation was completed/cancelled. + Fixes #349922. + +2007-12-27 Jonathan Pobst + + * ToolStrip.cs: Previous change should be != null, not == null. + Thanks Gert! + +2007-12-27 Jonathan Pobst + + * ToolStrip.cs: Guard against an NRE after ItemClicked is called, the + user may have moved the mouse off the current item during the event. + +2007-12-23 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.ItemsMouseMove, try to avoid + calling GetItemAt for every MouseMove event by also taking into + account whether any mouse button is pressed (probably dragging); + if so, we can call GetItemAt, and if not, try to not call it + (GetItemAt can be quite expensive when used with a large number of items). + +2007-12-22 Carlos Alberto Cortez + + * ListView.cs: Implement -finally- support for dnd, by calling + OnItemDrag as needed. Also, remove the dnd TODO, and add myself to the + authors list ;-). + * ListViewInsertionMark.cs: Implement NearestIndex method, by doing a + simple calculation of distances for all the items in the owner + listview. + +2007-12-21 Geoff Norton + + * XplatUICarbon.cs: Ensure that we create WindowMapping handles + for windows that are originally created as invisible. Fixes missing + main window in paint-mono. + +2007-12-21 Geoff Norton + + * XplatUICarbon.cs: Register our D&D handler. Register our custom + subclass handler for com.novell.mwfview subclassing HIView. Implement + Pasteboard and Dnd methods. + +2007-12-20 Carlos Alberto Cortez + + * ListBox.cs: When we got focus, give focus to first item if there + wasn't any pervious focused item. Also update navigation to depend on + SelectedIndex rather than FocusedItem, just as .Net does. + Fixes #349174. + +2007-12-19 Carlos Alberto Cortez + + * ListBox.cs: Both FindString and FindStringExact methods must do an + case insensitive search, should allow the last valid index to be + passed in the overload taking an initial index, and should also + continue searching from the top back to the specified index when it + reaches the bottom. + +2007-12-19 Jonathan Pobst + + * TextControl.cs: Apply patch from Luke Page that fixes a scrolling + redraw issue, and allows RichTextBox to draw colored text even while + disabled or readonly. + +2007-12-19 Jonathan Pobst + + * RichTextBox.cs, TextBoxBase.cs: Apply patch from Luke Page that + disallows cut/paste in a readonly textbox, adds support for Shift-Insert, + and doesn't grey text in a disabled RichTextBox. + +2007-12-19 Jonathan Pobst + + * RichTextBox.cs: Apply patch from Luke Page that adds better support + for many RTF commands: quad alignment, separate formatting for blocks + inside groups, and ParDef support. Makes the test case from bug #324589 + look much better. + +2007-12-19 Jonathan Pobst + + * LineTag.cs: Fix an error in the new Draw method that caused + a crash when rendering the document on bug #324589. + +2007-12-19 Jonathan Pobst + + * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs, + TextControl.cs: Apply patch from Luke Page that adds support + for URL links in RichTextBox. + [Fixes enhancement #342516] + +2007-12-18 Everaldo Canuto + + * MenuItem.cs: When cloning menuitem clone also name and tag properties for + 2.0 profile. Thanks Ernesto Carrea and Luke Page. Fixes bug #340289. + +2007-12-18 Carlos Alberto Cortez + + * ListBox.cs: When a key gets pressed, try to find a string + if the key is a character or a digit. + Fixes #343971. + +2007-12-17 Jonathan Pobst + + * TableLayoutPanel.cs: Remove some unused variables. + +2007-12-17 Jonathan Pobst + + * DateTimePicker.cs: Commit patch from Luke Page that ensures + we don't end up at an invalid date when we click the up/down + spinner to change the month or year. Fixes bug #348682. + +2007-12-17 Jonathan Pobst + + * Application.cs: Calling Exit in 2.0 should chain to the + Exit (CancelEventArgs) version so it can be cancelled. + * Form.cs: Create a flag to allow raising the Closing + events to be skipped. We raise them once in Application.Exit + and don't want to raise them again when the Form is actually + closed. [Fixes bug #349073] + +2007-12-16 Jonathan Pobst + + * ToolStripDropDown.cs: Guard against an NRE when there + hasn't been a mainform set in the application context. + [Fixes bug #349108] + +2007-12-15 Carlos Alberto Cortez + + * ListBox.cs: When SetBoundsCore gets called, besides + calling UpdateScrollBars, update the value of + last_visible_index, since we could need to show more items + than before, and we need to let the paint routines know that. + Fixes #344445. + +2007-12-14 Carlos Alberto Cortez + + * ListView.cs: Add DesignerSerializationVisibility attribute to + InsertionMark property. + * ListViewItem.cs: Add same attribute to Position property. + +2007-12-14 Carlos Alberto Cortez + + * ListViewItem.cs: .ctor (SerializationInfo, StreamingContext) + is 2.0 only. + +2007-12-14 Jonathan Pobst + + * ThemeWin32Classic.cs: Don't draw the background on a + flat button if there is a background image. + [Fixes bug #348649] + +2007-12-13 Carlos Alberto Cortez + + * ListBox.cs: If we remove the item currently selected, + remove it not only from SelectedItems, but also + resetting selected_index. Moreover, set focused_item to Items.Count - 1 if + the items count decreased and focused_item has bigger value than that. + +2007-12-13 Jonathan Pobst + + * Control.cs: Perform our layout after we resize ourselves + if we had to adjust our AutoSize. Missed commit for bug + #346246. + +2007-12-13 Jonathan Pobst + + * TableLayoutPanel.cs: Override GetPreferredSizeCore so + we can provide an implementation of AutoSize. + [Fixes bug #346246] + +2007-12-12 Carlos Alberto Cortez + + * ListBox.cs: Add the internal overload Sort (bool paint), + to indicate whether we actually need a paint or we will + call Refresh ourselves. This way we don't request a paint + _before_ having an updated and valid layout. + Fixes #347233. + +2007-12-12 Andreia Gaita + + * XPlatUIX11.cs: Send paint messages when updating a systray icon + * NotifyIcon.cs: Invalidate the window before doing a systray change so it is + properly invalidated. + Fixes #324237 + +2007-12-10 Carlos Alberto Cortez + + * ListViewItem.cs: When using a .ctor taking a ListViewGroup, + don't simply assign it to our internal group field, but instead + use our Group property, which should do all the neccessary work + required to support groups. Fixes an issue reported to me (mail) by a + guy using this new feature. + +2007-12-11 Jonathan Pobst + + * Control.cs: Use Scale instead of ScaleControl to ensure the + whole hierarchy gets scaled. + [Fixes bug #347282] + +2007-12-10 Jonathan Pobst + + * DateTimePicker.cs: Don't set the internal MonthCalendar's + Parent property. Doing this causes the control to be hosted by + the Form instead of being a popup window. + [Fixes bug #347665] + +2007-12-10 Jonathan Pobst + + * ToolStripItemCollection.cs: If we try to insert a ToolStripItem + at an index higher than Count, just use Add instead of Insert. + [Fixes bug #347669] + +2007-12-10 Jonathan Pobst + + * ThemeWin32Classic.cs: Don't draw a PictureBox's background in + DrawPictureBox, this is handled by Control.PaintBackground. + [Fixes bug #347276] + +2007-12-10 Everaldo Canuto + + * MenuAPI.cs: When process menu keys return true by default only if menu is + active. Fixes bug #342892. + +2007-12-09 Andreia Gaita + + * Control.cs: check if windows are actually mapped before + trying to zorder. Fixes #342509, #346955 + +2007-12-07 Carlos Alberto Cortez + + * ListView.cs: + * ListViewInsertionMark.cs: + * ThemeWin32Classic.cs: Implement the drawing side of the + new 2.0 ListView.InsertionMark property. + +2007-12-07 Jonathan Pobst + + * CurrencyManager.cs: Silence some debug spew. + +2007-12-07 Geoff Norton + + * Hwnd.cs: Refactor GetClippingRectangles to suppose returning the + masks for our children as well as siblings to avoid having to query + Quartz for this information. + * XplatUICarbon.cs: Implement a delegate based system to pass + information to System.Drawing. Implement Async methods. Remove + the hack for the resize thumb and imlpement a transparent Grow Box. + Rework the messaging system to proplery create window's and messages, + fixes TabControl. + +2007-12-06 Andreia Gaita + + * X11Keyboard.cs: Use Xutf8LookupString to support international + characters under alternate codepages. Patch from #340878 + +2007-12-06 Carlos Alberto Cortez + + * ListView.cs: When doing layout computations, set position in the + ListView instances (we cache the position just as .Net does). + * ListViewItem.cs: New internal setter method for Position. Also set + position field as also available in 1.1, since we are going to use it + now in the common case. + +2007-12-06 Andreia Gaita + + * Control.cs: When removing controls, get the actual container + to notify about active control changes. Fixes 341314. + +2007-12-06 Carlos Alberto Cortez + + * ListViewItem.cs: Forgot to add Font to our serialization stuff. + +2007-12-05 Andreia Gaita + + * Control.cs: When updating the zorder, ignore windows that are not + mapped. Fixes #342509 + +2007-12-05 Carlos Alberto Cortez + + * ListViewItem.cs: Actually implement serialization on this class. + +2007-12-05 Gert Driesen + + * LinkLabel.cs: Fixed paramname of ArgumentNullException in ctor of + LinkCollection. Spaces to tabs, and removed extra tabs. + +2007-12-04 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Make toolwindows' decorations show up without causing any + tests to fail (hopefully). + +2007-12-03 Jonathan Pobst + + * ToolStripDropDownMenu.cs: Fill in AffectedBounds when drawing + the image margin so custom renderers can correctly place it. + +2007-12-03 Jonathan Pobst + + * StatusStrip.cs: Fill in AffectedBounds when drawing the grip + so custom renderers can correctly place it. + +2007-12-03 Jonathan Pobst + + * Application.cs: Let WM_CHAR messages flow through to controls + hosted in Strips. [Fixes bug #343972] + +2007-12-02 Jonathan Pobst + + * ToolStripManager.cs: Guard against an NRE I ran into. + +2007-12-02 Jonathan Pobst + + * LinkLabel.cs: Apply patch from George to fix bug 344012. If + a Link is manually added to the Links collection, we need to set + its owner, so it can invalidate properly. + [Fixes bug #344012] + +2007-11-24 Carlos Alberto Cortez + + * ListView.cs: When changing ListViewItem.Position (which calls + ListView.ChangeItemLocation), invalidate not only the area + corresponding to the main item, but also to the area occupied + by the items being moved. + +2007-11-23 Carlos Alberto Cortez + + * ListView.cs: When changing the position of a given item, + don't use item bounds, but item areas (which includes the item spacing + between them). Also, use first/last position if the requested + position is outside bounds (as .Net does). Invalidate the previous and + new bounds. Finally, in ItemControl.ItemsMouseDown use the actual item + in a specific position, instead of directly accessing Items collection + (this is done to get the right item - remember an Item can have a + different position in the grid than in the Items collection). + +2007-11-23 Everaldo Canuto + + * MessageBox.cs: Calculate text area instead of just top left, this rect + area will be used in DrawString. Fixes bug #343364. + +2007-11-23 Everaldo Canuto + + * MessageBox.cs: Calculate max amount for text area width, it must be 60% of + screen width. Partially fixes bug #343364. + +2007-11-23 Everaldo Canuto + + * NotifyIcon.cs: Remove duplicated code before call realculate and put this + code inside recalculate, it makes code more simple. + +2007-11-22 Everaldo Canuto + + * NotifyIcon.cs: When recalculate icon verify if icon is active to decide + between update or add icon. Fixes bug #324344. + +2007-11-21 Andreia Gaita + + * XPlatUIX11.cs: Do not treat tool windows as if they have no + window manager, since that stretches the drawing area to include + the window decorations, and they get hidden. Reverts r84444 and fixes + #335849 and #342790 (mdi and pdn3 regression) + +2007-11-20 Carlos Alberto Cortez + + * ListView.cs: When setting focused item, try to give focus to the + previous one _only_ if the previous one remains valid. + Fixes #342504. + +2007-11-20 Jonathan Pobst + + * Application.cs: Revert r89650, as it broke a common case to fix + an obscure case. Fixes bug #342606. + +2007-11-20 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix extra space on end of tooltip. + +2007-11-20 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix tooltip text align removing horizontal + alignment. [Fixes #324228] + +2007-11-19 Jonathan Pobst + + * ToolStrip.cs: Handle flow layout in GetPreferredSize to fix PDN3. + [Fixes bug #342123] + +2007-11-19 Everaldo Canuto + + * Form.cs: Check for empty Text before assign to cp.Caption in CreateParams + it prevent problems when empty captions. [Fixes #342141] + +2007-11-19 Jonathan Pobst + + * Label.cs: Use Size instead of None. Fixes bug #342077. + +2007-11-18 Carlos Alberto Cortez + + * ListViewItem.cs: Implement 2.0 FindNearestItem method. + +2007-11-17 Jonathan Pobst + + * MenuStrip.cs: Guard against a NRE when a MdiWindowItem is set + but there isn't a MdiContainer. + [Fixes bug #342358] + +2007-11-17 Jonathan Pobst + + * TextControl.cs: Don't recalculate document if the recalc_start and + recalc_end hasn't changed. + [Fixes bug #342505] + +2007-11-17 Gert Driesen + + * DataGridViewTextBoxCell.cs: Removed CWL. + +2007-11-16 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 SearchForVirtualItem event support. + +2007-11-16 Jonathan Pobst + + * TextControl.cs: Missed some code for bug 341534 to trigger a + recalculation when the font changes. + +2007-11-16 Andreia Gaita + + * Control.cs: When updating the zorder, check if the child to update is + the same control that is set to always be on top (i.e., scrollbars), and + just put it on top directly. Fixes BadMatch error on pdn3 + +2007-11-16 Carlos Alberto Cortez + + * ListView.cs: Throw the needed exceptions for FindNearestItem. + +2007-11-16 Jonathan Pobst + + * Control.cs: Don't perform a new layout when a label changes its text, + cause label handles its own autosizing. + [Fixes bug #342077] + +2007-11-16 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 FindNearestItem methods. + +2007-11-15 Jonathan Pobst + + * ToolStripPanel.cs: Make Join at least add the control to the panel, + even if the rest of what Join does isn't supported. Add some more + support for vertical toolbars. + * ToolStripPanelRow.cs: Add some more support for vertical toolbars. + [Fixes the application breaking parts of bug #341998] + +2007-11-15 Jonathan Pobst + + * ToolStripItem.cs: When determining if we have a check/image margin, + we need to look at ShowCheckMargin as well as ShowImageMargin. + +2007-11-15 Geoff Norton + + * XplatUIOSX.cs: Rename to... + * XplatUICarbon.cs: and refactor all event handling out to the new event handling + system in System.Windows.Forms.CarbonInternal. Lots of code cleanup as well. + +2007-11-15 Jonathan Pobst + + * KeysConverter.cs: The default values should be an array of Keys, not + strings. Also, the array has more values for 2.0. + [Fixes bug #341851] + +2007-11-14 Jonathan Pobst + + * Application.cs: Change ExecutablePath to use + Process.GetCurrentProcess ().MainModule.FileName instead of Assembly.GetEntryAssembly. + [Fixes bug #323552] + +2007-11-14 Jonathan Pobst + + * LineTag.cs: Don't attempt to draw '\r', treat it like it doesn't exist. + When measureing CR or LF, use /u000D instead of /u0013. (Hex, not decimal.) + * TextControl.cs: Fix a case in GetLineEnding where a \n before a \r would + be ignored. Create a new GetLineEnding that can specify which types of + line endings to look for. On Insert, only create new lines for \n and \r\n. + [Fixes bug #324274] + +2007-11-14 Jonathan Pobst + + * TextBoxBase.cs: As we loop through each line changing the font, tell + the document that the line needs to be recalculated. Fixes bug #341534. + +2007-11-13 Jonathan Pobst + [Another round of refactoring] + * Line.cs: Add DeleteCharacters. + * LineTag.cs: Add Delete. + * TextBoxBase.cs: Update to use new methods. + * TextControl.cs: Refactor the Delete* methods. + +2007-11-13 Everaldo Canuto + + * Win32DnD.cs: Implement Win32 Drop files, thank you Srikanth Madikeri for + the patch. [Fixes #324856] + +2007-11-12 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: Add an initial implementation of + 2.0 ListViewItem.Position getter. + +2007-11-12 Carlos Alberto Cortez + + * ListView.cs: Add a reordered_items_indices array, to allow us + to have a different sorting than that of Items (the sorting in Items + could not match the actual sorting in screen). This is needed to + implement a pair of 2.0 features. + * ListViewItem.cs: Add a DisplayIndex property to keep track of the + actual position in the ListView grid, since it could have a position + different than its Index (position in ListViewItemCollection). + +2007-11-09 Jonathan Pobst + + * Label.cs: Add StringFormatFlags.LineLimit. This tells DrawString to + not draw partial lines. + * LinkLabel.cs: Change FormatFlags setter from = to |= so that the + LineLimit flag from the base is preserved. + Fixes the windows part of bug #338965. + +2007-11-09 Jonathan Pobst + + * TextBoxBase.cs: Move handling of the enter key from KEYDOWN to CHAR + so that it can be canceled in KeyPress. + Fixes bug #340078. + +2007-11-08 Carlos Alberto Cortez + + * ListView.cs: In ItemControl, reset mouse-handling related + fields even if we dont' have items (we still should reset them when + we had items but then called Items.Clear). Partially based in a patch + by George Giolfan. + Fixes #338399. + +2007-11-08 Gert Driesen + + * Application.cs: In ProductVersion first try AssemblyFileVersion + before falling back to assembly version. Fixes bug #339787. + +2007-11-08 Andreia Gaita + + * HtmlElement.cs: Implement InnerText setter. + * WebBrowserBase.cs: Implement Navigated event support. + Add flag to track when the browser "document" is ready to be retrieved. + * WebBrowser.cs: Implement CanGoBack, CanGoForward, Title, Url. + Make sure browser document is ready before retrieving it. + Clean up cached objects (document) when moving to a new page through + any of the navigation methods. + Use the new Mono.WebBrowser.INavigation interface to control navigation. + Implement OnNavigated event. + +2007-11-07 Jonathan Pobst + + * ThemeWin32Classic.cs: Don't draw the background in DrawLabel or + DrawLinkLabel, this is handled by OnPaintBackground. + Fixes bug #339565, part II. + +2007-11-07 Andreia Gaita + + * Control.cs: Revert r88915. Selecting text on a textbox depends on + getting a Select call on click, so this call needs to be here for now. + Unfixes #325809 + +2007-11-07 Geoff Norton + + * OSXStructs.cs: Add the kEventClassApplication constants. + * XplatUIOSX.cs: Send a WM_LBUTTONDOWN to the Grab window when the + application is deactivated otherwise Menu overlays linger on top of + other application windows. + +2007-11-07 Geoff Norton + + * XplatUIOSX.cs: Dont throw an exception on OverrideCursor as we + dont support cursors yet anyways. This allows Reflector to run. + +2007-11-07 Geoff Norton + + * XplatUIOSX.cs: Implement DragSize. + +2007-11-07 Carlos Alberto Cortez + + * ListView.cs: When we receive a WM_LBUTTONDOWN message in + ItemControl, request the focus, as .Net does. This is needed after + Control does not request focus anymore when it receives a + WM_LBUTTONDOWN. + +2007-11-06 Jonathan Pobst + + * Label.cs: Make DrawImage internal so it can be called from Theme code. + Remove the DrawImage call from OnPaint. + * LinkLabel.cs: Remove the DrawImage call from OnPaint. + * ThemeWin32Classic.cs: Call DrawImage after we paint the background, + but before we draw the text for DrawLabel and DrawLinkLabel. + Fixes bug #339565. + +2007-11-05 Andreia Gaita + + * Control.cs: Remove select call on click. Fixes #325809 + +2007-11-05 Carlos Alberto Cortez + + * ListViewItem.cs: Add 2.0 Position property getter. + +2007-11-04 Carlos Alberto Cortez + + * ListView.cs: Add 2.0 BackgroundImageTiled property. + Also, to make it work properly, change item's BackColor and + BackgroundImageLayout as needed. + * ThemeWin32Classic.cs: Don't fill any background rectangle + in ListView.ItemControl when drawing items; just let the Control + base implementation fill it. + +2007-11-04 Carlos Alberto Cortez + + * ListViewGroup.cs: Adda TypeConverter attribute for this class, + as well as adding a custom 'dummy' Converter, as .net does. + +2007-11-04 Carlos Alberto Cortez + + * PropertyGridView.cs: When clicking drop-down button, + select an index in the listbox only if our standard values collection + has one or more items. + +2007-11-04 Carlos Alberto Cortez + + * ListViewItem.cs: Add a DefaultValue attribute to 2.0 IndentCount + property. + +2007-11-04 Gert Driesen + + * PropertyGrid.cs: In PropertySort, update the toolbar buttons even if + the value is not changed. This ensure a pushed button remains in that + state when clicked again. When switching the value of PropertySort + between Categorized and CategorizedAlphabetical, do not update the + grid items and do not fire a PropertyChangedEvent. When clicking the + sorting buttons, do not modify the PropertySort value when switching + between Categorized and CategorizedAlphabetical but only update the + button state. + +2007-11-04 Gert Driesen + + * Label.cs: Make AutoEllipsis internal on 1.0 profile. Code + formatting. + * PropertyGrid.cs: Also put Categorized button in pushed state when + PropertySort is CategorizedAlphabetical. Set AutoEllipsis to true + for help description label. + +2007-11-03 Carlos Alberto Cortez + + * ListView.cs: When calculating the biggest item for a given column, + take into account 2.0 LIstViewItem.IndentCount, since it directly affects + the item's width. + +2007-11-03 Gert Driesen + + * PropertyGrid.cs: Fixed default value for PropertySort. Allow invalid + value for PropertySort on 1.0 profile. PropertySortChanged event + should only be fired on 2.0 profile. Fixed NullReferenceException + in UpdateSortLayout when PropertyGrid contains no items. + +2007-11-02 Jonathan Pobst + + * MessageBox.cs: Patch from George to implement MessageBoxDefaultButton. + [Fixes bug #338554] + +2007-11-01 Carlos Alberto Cortez + + * ListViewItem.cs: Implement 2.0 IndentCount property. + +2007-11-01 Carlos Alberto Cortez + + * X11Dnd.cs: When sending status in a dnd operation, compare current + effect with the 'allowed' field instead of 'drag_data.Allowed', since + the later is only created when a Winforms application is both the + source and the target, but not when we are the target only. + Fixes part of #324251. + +2007-11-01 Geoff Norton + + * XplatUI*.cs: Add GetPreviousWindow utility method to return windows in + order of Z-Order. + * Hwnd.cs: Add initial implementation of GetClippingRectangles to clip sibling + children out of the drawing view on mac. + * XplatUIOSX.cs: Code cleanup. Handle more window grab cases. Fix SetParent + to handle the orphan and invisible case (1/2 fixes TabStrip drawing in FormsTest) + +2007-11-01 Jonathan Pobst + + * ToolStrip.cs: Don't process MouseUp for a ToolStripControlHost, clicking + on the non-hosted-control part of it shouldn't do anything. + Fixes part of bug #327498. + +2007-11-01 Andreia Gaita + + * WebBrowserBase.cs: revert previous change, resize can be called anytime + +2007-11-01 Jonathan Pobst + + * Application.cs: When a toolstrip has the keyboard input loop, let messages + it does not use flow through to controls that are hosted in menus. + Same with mouse clicks. + * Form.cs: Don't close all menus on click if the click is on a + control hosted in a menu. + Fixes part of bug #327498, and part of bug #325969. + +2007-10-31 Andreia Gaita + + * WebBrowserBase.cs: Only call resize on gluezilla when it is active + +2007-10-31 Jonathan Pobst + + * TextBoxBase.cs: Use int.MaxValue for MaxLength instead of magic number. + Addresses an issue raised in bug #336218. + +2007-10-30 Jonathan Pobst + + * Form.cs: Patch from George that moves the conversion of ClientSize->Size + for PreferredSize from OnLayout to PreferredSize. Fixes bug #325242. + +2007-10-30 Andreia Gaita + + * ContainerControl.cs: Check if the active control is a + child of a removed control and update active_control accordingly. + Fixes #329718 + +2007-10-29 Jonathan Pobst + + * DateTimePicker.cs: Throw ArgEx if the Value is set outside the MinDate + or the MaxDate. Fixed bug #337693. + +2007-10-29 Jonathan Pobst + + * XplatUIWin32.cs: Always call SetWindowPos with SWP_FRAMECHANGED flag + after calling SetWindowLong for a form, to force an immediate NC refresh. + Fixes first part of bug #325150. + +2007-10-29 Jonathan Pobst + + * ComboBox.cs: Don't try to resize the listbox when we are DropDownStyle + simple. Fixes the last part of bug #322668. + +2007-10-29 Jonathan Pobst + + * MessageBox.cs: If the owner is TopMost, then the MessageBox form + needs to be TopMost as well, or else the MessageBox is under the form. + Patch by George fixes bug #325300. + +2007-10-27 Carlos Alberto Cortez + + * X11Dnd.cs: When starting a new drag operation, reset the static + 'dropped' field to false (previously the implementation didn't reset + it and got confused after the first drag). + Fixes #325071. + +2007-10-27 Carlos Alberto Cortez + + * PropertyGrid.cs: When PropertySort changes, re-organize the grid + items instead of re-creating them all. For this purpose we now cache + both CategoryGridEntry items and the GridEntries for the main object's + properties. + * GridItem.cs: Make SetParent method abstract. + * GridEntry.cs: Override the SetParent method (already there, but now + we override it). + Fixes #324866. + +2007-10-24 Carlos Alberto Cortez + + * PropertyGridView.cs: Set the plus/minus bounds of a grid item + depending on its depth (as .Net does). Update the needed values in + MouseDown handler. Also draw the plus/minus rect after the label, + so we don't draw on top of it. + +2007-10-24 Everaldo Canuto + + * MenuAPI.cs: Return true as default in ProcessKeys to prevent keys to be + processed by forms or controls when menu is active. [Fixes #333548] + +2007-10-24 Jonathan Pobst + + * ToolStripItem.cs: Don't focus a ToolStripControlHost on Select of the + parent doesn't have focus. This was causing ToolStripTextBoxes to take + focus on mouse over. + +2007-10-24 Jonathan Pobst + + * TextControl.cs: Code cleaning, simplifying. + +2007-10-24 Geoff Norton + + * XplatUIOSX.cs: Route mouse events to the grab hwnd on mouse down as well. + * XplatUIStructs.cs: Fix the ToString method of POINT and MSG. + +2007-10-24 Jonathan Pobst + + * TextBoxBase.cs: If the user sets maxlength to 0, it should mean + the cap is maxvalue, not actually 0. [Fixes bug #336218] + +2007-10-24 Andreia Gaita + + * SendKeys.cs: apply jpobst's patch to bug #332409 + +2007-10-23 Andreia Gaita + + * TextBoxTextRenderer.cs: Lower bounds max size to Int16.MaxValue, the + Windows 2000 gdi DrawText call doesn't draw if it's higher than that + for some reason + +2007-10-23 Carlos Alberto Cortez + + * PropertyGridView.cs: If a property has an UIEditor available, + make the drop-down/editor button available only if the property + is _not_ read only. + +2007-10-23 Carlos Alberto Cortez + + * PropertyGridView.cs: Don't make the grid item textbox + editable when a drop-down control is available, but + CanConvertFrom (typeof (string)) is false or GetStandardValuesExclusive () is + true. The same bur the color of the grid item value's label. + +2007-10-22 Geoff Norton + + * OSXStructs.cs: Add the needed constants for keyboard modifiers. + * OSXKeyboard.cs: Initial support for keyboard and limited modifiers. + * XplatUIOSX.cs: New reversible frame support. Wire in the new keyboard + driver. Padd the bottom of all real windows so the resize thumb doesn't + obscure scroll/status bars. + +2007-10-22 Jonathan Pobst + + * WindowsFormsSection.cs: Implement. + +2007-10-22 Everaldo Canuto + + * MdiClient.cs: Maximize new active mdi child when a maximized child is + closed see #325434 patch. + +2007-10-22 Everaldo Canuto + + * MdiClient.cs: Fix remaining issues from layout vertical and horizontal, + see #325434 patch. + +2007-10-21 Carlos Alberto Cortez + + * PropertyGridView.cs: When showing the textbox for a grid item, + have two local variables to store the read-only and non-editable + status of a grid item (we were previously using just one variable + to do this, when actually they are slightly different). + Fixes part of #325023. + +2007-10-21 Carlos Alberto Cortez + + * PropertyGridView.cs: When showing a drop-down list, try to get the + values using TypeConverter.ConvertTo (to convert to a string). Fixes + part of #325023. + +2007-10-19 Carlos Alberto Cortez + + * PropertyGrid.cs: When updating a property and populating sub grid + items, remove the previous ones, and invalidate the specific area. + * PropertyGridView.cs: A new InvalidateBelowGridItem to invalidate the + area behind a grid item. + * GridItemCollection.cs: Add an internal Clear method, to allow us to + clean the items if needed (specially for controls implementing + ICustomTypeDescriptor and returning a variable number of properties). + Fixes #324865. + +2007-10-19 Jonathan Pobst + + * TextControl.cs: Clean up and document the Insert function. + +2007-10-17 Jonathan Pobst + + * TextControl.cs: Make sure we know our start point for updating the view + in ReplaceSelection. Fixes an issue where pasting multiline text wouldn't + update the view. + +2007-10-17 Jonathan Pobst + + * ListView: Couple of corcompare fixes. + +2007-10-17 Geoff Norton + + * XplatUIOSX.cs: Implement support for window icons in the dock. Set + the title caption of real window. + +2007-10-17 Jonathan Pobst + + * ErrorProvider.cs: Add the error provider's internal window to a + containercontrol when the parent changes. [Fixes bug #329714] + +2007-10-17 Geoff Norton + + * XplatUIOSX.cs: Implement ScrollWindow. Properly create TOOLWINDOWs. + When we make a new window; restore the old active window - fixes dialogs. + +2007-10-17 Carlos Alberto Cortez + + * PropertyGridView.cs: Look for RefreshPropertiesAttribute + when modifying a property, and if found then invalidate as + requested. + Fixes part of #324865. + +2007-10-17 Geoff Norton + + * XplatUIOSX.cs: Re-enable the native driver on the Mac. This is still + highly experimental. Fixed coordinate translation. Fixed window locations. + Initial support for clipping. Implemented NC areas and menus. Support for + launching from command line from Will Johansson (wjohansson@atacomm.com). + * OSXStructs.cs: Add ProcessSerialNumer (Patch from Will Johansson + wjohansson@atacomm.com) + * Hwnd.cs: Add some internal structures for tracking Mac cursors. + Hwnds now track the existence of all of their children for Mac clipping. + * XplatUI.cs: Re-enabled the native driver on the Mac. + +2007-10-17 Jonathan Pobst + + * Line.cs: Move the InsertString function to here. + * TextControl.cs: Cleanup some duplicate code, move some InsertString + functionality to Line. + +2007-10-17 Geoff Norton + + * ComboBox.cs: Destroy the popup after hiding it. Fixes #322582 + +2007-10-16 Gert Driesen + + * ButtonBase.cs: Fixed IsDefault to use assigned value instead of + always setting value to true. + * Form.cs: When changing AcceptButton, notify new and original button. + +2007-10-16 Jonathan Pobst + + * Form.cs: Guard against an NRE when the user sets the AcceptButton to + a custom control that implements IButtonControl instead of an actual + button. [Fixes bug #334244] + +2007-10-15 Everaldo Canuto + + * Form.cs: Change SelectActiveControl to internal, we need to call it in + MdiWindowManager. + + * MdiWindowManager.cs: In RaiseActivated call SelectActiveControl to select + active control when activate a new mdi window. + + [Fixes bug #330495] + +2007-10-15 Everaldo Canuto + + * ComboBox.cs: Dont implicit add listbox_ctrl on OnHandleCreated because it + is already added. + [Fixes bug #333617] + +2007-10-15 Jonathan Pobst + + * TextControl.cs: When SuspendRecalc is first called, reset the recalc_start + to MaxValue and recalc_end to MinValue. Currently, recalc_start is always 1, + so we always recalculate the whole document instead of just the new part. + [Fixes bug #325082] + +2007-10-15 Jonathan Pobst + + * LineTag.cs: Fix a case where the GetCharIndex would not return 0 + when the mouse was to the left of the first character in the line. + +2007-10-15 Jonathan Pobst + + * TextBox.cs, TextBoxBase.cs: When setting the document's password + character, use the property instead of the variable so that the + UseSystemPasswordChar property is taken into account. + [Fixes bug #333748] + +2007-10-13 Carlos Alberto Cortez + + * FolderBrowserDialog.cs: When a node is right clicked and the "New + folder" contex menu appears, actually add the new folder to it, even + if the node is not currently selected. Still use SelectedNode in case + there wasn't found a node under the pointer. + Fixes #325452. + +2007-10-13 Carlos Alberto Cortez + + * ListViewItem.cs: When retrieving the focused state, the index check + should be done only when ListView is in virtualmode, as it is an + expensive check for normal mode. + +2007-10-13 Carlos Alberto Cortez + + * ListViewItem.cs: Make the focus state information be stored + in the ListView, not in the items. This is done to match the MS + behaviour for items that are not yet part of a ListView control; + besides that, since just one item can be focused at the same time, + we save a little space in our items. + Fixes part of #331643. + +2007-10-13 Gert Driesen + + * ComboBox.cs: When focus is lost, deselect the text. When setting + text of control, select all text. Do not hide selection when control + does not have focus. Fixes bug #333663. + +2007-10-13 Gert Driesen + + * TextBoxBase.cs: On 2.0 profile, throw ArgumentOutOFRangeException + instead of ArgumentException when SelectionLength is set to negative + value. Added same check to SelectionStart. Code formatting. + +2007-10-13 Gert Driesen + + * TextBoxBase.cs: Invalidate selection before changing SelectionLength + or SelectionStart. Code formatting. + +2007-10-12 Carlos Alberto Cortez + + * TreeView.cs: drag_begin_x and drag_begin_y are now set to -1, + indicating that there was not a previous drag-and-drop operation going + on. + Fixes part of #325071. + +2007-10-12 Carlos Alberto Cortez + + * X11Dnd.cs: When DragEventArgs.Effect is set to a value not part of + AllowedEffect, don't let the drop operation happen. + Fixes #32580. + +2007-10-12 Jonathan Pobst + + * TextRenderer.cs: Use GDI on Windows in both the 1.1 and 2.0 profiles. + +2007-10-12 Jonathan Pobst + + * Line.cs, LineTag.cs: Guard against an exception when Document.Clear + is called. + +2007-10-12 Jonathan Pobst + + * Line.cs: Add a method that finds the tag that contains an x-coord. + * LineTag.cs: Add a method that finds the character at an x-coord using + a binary search, the old way was a linear search. + * TextControl.cs: Change FindCursor to use the above new methods. + +2007-10-11 Carlos Alberto Cortez + + * DragEventArgs.cs: Allow Effect to have a non allowed value (a + value different than AllowedEffect). This should be possible to + indicate that dragging is not possible in some control/area. + +2007-10-11 Jonathan Pobst + + * LineTag.cs: Encapsulate all variables with properties. Calculate ascent/ + descent internally when font changes instead of outside code being responsible + for setting it. + * Line.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: Use Tag properties + instead of accessing internal variables. + +2007-10-09 Everaldo Canuto + + * MdiClient.cs: Always call ArrangeIconicWindows before any arrangement and + remove special treatment for ArrangeIcons since it is already arranged. + +2007-10-09 Jonathan Pobst + + * TextBoxTextRenderer.cs: Draw takes a Color now instead of a Brush, as + the Win32 backend uses Color. + * Line.cs, LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: + Refactor to store a Color instead of a Brush for Color. + +2007-10-09 Jonathan Pobst + + * Line.cs, LineTag.cs: Override GetHashCode to make a compiler warning go + away. I didn't realize I needed this when I refactored these earlier. + +2007-10-09 Jonathan Pobst + + * LineTag.cs, RichTextBox.cs, TextBoxBase.cs, TextControl.cs: Refactor to + store a Color structure and use the ResPool for back color instead of + holding onto brushes. + +2007-10-09 Jonathan Pobst + + * TextControl.cs: Fix how we calculate the end of the tag we are drawing. + [Fixes bug #325592] + +2007-10-08 Jonathan Pobst + + * MonthCalendar.cs: When ShowWeekNumbers is changed, force the calendar + to recalculate its size. Fixes a part of bug #331052. + +2007-10-08 Jonathan Pobst + + * NotifyIcon.cs: Set the correct mouse button when handling right mouse + button. Fixes a part of bug #331052. + +2007-10-08 Jonathan Pobst + + * Form.cs: Trim NewLine before setting XPlatUI.SetText, and when setting + the CreateParams. + * ThemeWin32Classic.cs: Trim NewLine before drawing MDI children window + decorations. + [Fixes bug #330986] + +2007-10-08 Jonathan Pobst + + * TextBoxTextRenderer.cs: Don't make this a static class, as static + doesn't exist in 1.1. (Thanks jb!) + +2007-10-08 Jonathan Pobst + + * TextBoxTextRenderer.cs: Abstract text measuring and drawing to this + class to allow us to use different backends on different platforms. + Linux uses the current [Draw|Measure]String backend. Windows uses + the TextRenderer.[Draw|Measure]Text backend, which uses GDI instead + of GDI+. This leads to better looking text and more accurate measurements + on Windows, fixing many of the reported issues. + * Line.cs, LineTag.cs: Update to use TextBoxTextRenderer. + +2007-10-07 Carlos Alberto Cortez + + * FolderBrowserDialog.cs: When running on Windows, + try to detect paths such "C:" and add Path.DirectorySeparatorChar, + since we must match both "C:" and "C:\" forms. A little hackish, but + works. + Fixes #325247. + +2007-10-07 Carlos Alberto Cortez + + * ListView.cs: When calling EndEdit (after editing an item), + create a new instance of LabelEditEventArgs to keep clean the fields + in case we get a new call to BeginEdit; also do Application.DoEvents + to have focus in synch. This is a fix similar to TreeView's #325244. + +2007-10-07 Andreia Gaita + + * HtmlDocument.cs, HtmlElement.cs, WebBrowser.cs: Added dom support + * WebBrowserBase.cs: Added dialog support, calling the + WebBrowserDialogs classes for each specific dialog type. + +2007-10-06 Carlos Alberto Cortez + + * ListView.cs: When the last item is focused and is removed, + move the focus to the previous item (in Items order). This is what MS + does. + Fixes #330415. + +2007-10-06 Carlos Alberto Cortez + + * ListView.cs: In ListViewItemCollection, make Remove call RemoveAt, + instead of the opposite (RemoveAt call Remove). This is a better + approach since we don't need to to a pair of traversals when using + RemoveAt. + +2006-10-05 Carlos Alberto Cortez + + * TreeView.cs: When Keys.Left is pressed, before trying to Collapse + check that the node actually has nodes, and if not, move to the + parent node instead. + Fixes #325265. + +2006-10-05 Carlos Alberto Cortez + + * TreeView.cs: Move the previous change to the general case (to + call Application.DoEvents in cases where the method was called by + different places). + +2007_10-05 Carlos Alberto Cortez + + * TreeView.cs: When calling EndEdit and we need to hide the textbox, + call Application.DoEvents. This is neccessary when we get a call to + BeginEdit from an AfterLabelEdit handler, because the focus always + goes to the TreeView, even if we try to give it to our + LabelEditTextBox. The call do Application.DoEvents seems to + synchronize the focus, basically. + Fixes #325244. + +2007-10-04 Carlos Alberto Cortez + + * TreeView.cs: When AfterLabelEdit event is fired, TreeNode.IsEditing + should be false. This also removes some nasty recursive paths. Fixes + part of #325244. + +2007-10-04 Everaldo Canuto + + * MdiClient.cs: When cascade (layout) mdi window that is maximized, set the + state to normal. Also resize window when cascading. Fixes #325433. + +2007-10-04 Jonathan Pobst + + * RichTextBox.cs: When SelectionColor is set to Color.Empty, use + DefaultForeColor, as drawing empty colored lines isn't very useful. + [Fixes the not drawn lines part of bug #324358] + +2007-10-04 Jonathan Pobst + + * TextControl.cs: Move Line and LineTag classes into separate files to + make things easier to find. + * Line.cs, LineTag.cs: Bring coding standards up to Mono's guidelines. + * RichTextBox.cs: Capitalize LineTag.Length property access. + - This is purely an organizational/formatting change, no logic changed. - + +2007-10-03 Everaldo Canuto + + * ThemeWin32Classic.cs: Do not show focus rectangle in radio buttons when + text is empty. + +2007-10-03 Everaldo Canuto + + * ThemeWin32Classic.cs: Do not show focus rectangle in checkboxes when + text is empty. + +2007-10-03 Everaldo Canuto + + * ComboBox.cs: On contructor use backgound_color instead of BackColor to + prevent calling of OnBackColorChanged. Fixes #325321. + +2007-10-03 Everaldo Canuto + + * TextBox.cs: When check enabled uses Enabled property instead of is_enabled + because control can be disabled because owner is disabled. + +2007-10-02 Jonathan Pobst + + * ComboBox.cs: For the 1.1 profile, the default SelectedText is + string.Empty, test failed from previous change. + +2007-10-02 Jonathan Pobst + + * TextBoxBase.cs: For the 1.1 profile, the default SelectedText + is null, not String.Empty. See bug #323038. + +2007-10-01 Jonathan Pobst + + * TextControl.cs: Change the margins to match MS a little better. + Still not perfect for X11 due to some DrawString differences, but + is still an improvement over the old stuff. + Partially fixes #324467. + +2007-09-30 Carlos Alberto Cortez + + * FolderBrowserDialog.cs: When using MyComputer as + RootFolder, let absolute paths be considered as valid ones. Also, use + Path.DirectorySeparatorChar instead of Path.AltDirectorySeparatorChar, + for Windows compatibility. + Partially fixes #325247. + +2007-09-29 Carlos Alberto Cortez + + * FolderBrowserDialog.cs: Fix the recursive FindPathInNodes method. + Also remove the stack.Count > 0 check in FBTreeView.SetSelectedNode + method, since it causes the dialog to not select folders directly + under the root path (when setting SelectedPath property). + +2007-09-29 Carlos Alberto Cortez + + * TreeNode.cs: When calling Expand/Collapse and need to call + ExpandBelow/CollapseBelow respectively, take into account + partially visible nodes (previously Expanding/Collapsing + a partially visible node in the bottom was not updating its +- sign). + +2007-09-28 Carlos Alberto Cortez + + * TreeView.cs: When calling Expand on a TreeNode, and we need to + expand nodes below (ExpandBelow), scroll the entire Viewport + area if the node is above it and not visible (instead of scrolling + the area from node's Bottom, which applies only when the node is + visible). + Fixes #325266. + +2007-09-28 Carlos Alberto Cortez + + * TreeView.cs: When calling ExpandAll, set SelectedNode to the top + node in the bottom area (as .Net does). This is done to preserve the + scroll position when ExpandAll is called before handle is created for + the 1.1 profile (bottom area, as opposed to top area in 2.0). + Fixes #324103. + +2007-09-28 Carlos Alberto Cortez + + * TreeView.cs: When calling ExpandAll, don't move the scroll to the + bottom area if we are in fact not using the vertical scroll bar. + Fixes #324824. + +2007-09-27 Jonathan Pobst + + * Control.cs: Comment out a double buffering optimization that doesn't + take into account invalidates created in OnPaint, causing the control + to never be redrawn. It would take quite a bit of work to work around + this, but I left it commented with an explanation for later possible + optimization. + [Fixes bug #328681] + +2007-09-27 Jonathan Pobst + + * Control.cs: Ask parent to perform a layout if control is AutoSize and + the text changes. + * RadioButton.cs: Implement GetPreferredSizeCore. + [Fixes bug #328672] + +2007-09-26 Jonathan Pobst + + * RichTextBox.cs, TextBoxBase.cs, WindowsFormsSynchronizationContext.cs: + corcompare stuffs. + +2007-09-26 Jonathan Pobst + + * Application.cs: Move the sync context stuff to Run instead of RunLoop + so that it doesn't get uninstalled on modal forms. + * Control.cs: Install a sync context when a control is created. + * WindowsFormsSyncronizationContext.cs: Create a private static control + to invoke on. This is easier than trying to find a created control we + can use. + [Fixes bug #327608] + +2007-09-25 Jonathan Pobst + + * Application.cs: Install a WindowsFormsSynchronizationContext in the + run loop, and uninstall it when done. + * WindowsFormsSynchronizationContext.cs: Implement. + [Fixes the common case in bug #327608] + +2007-09-23 Gert Driesen + + * DataGridViewCellCollection.cs: Added argument checks for indexers. + Use case-insensitive lookup of column name in indexer. Code + formatting. + +2007-09-21 Carlos Alberto Cortez + + * TreeNode.cs: When collapsing or expanding a node, check whether its + change will affect the visible area (we were previously doing a + IsVisible check, but that check is not enough since children nodes + could be still visible). Fixes part of #325266. + +2007-09-21 Jonathan Pobst + + * TreeView.cs: Always select the first node when the TreeView gets + focus if there is no currently selected node. + [Fixes bug #324279] + +2007-09-21 Jonathan Pobst + + * TreeView.cs: Do not raise BeforeSelect or AfterSelect when the + node being selected is null. + [Patch from Yves Bastide fixes bug #326858] + +2007-09-20 Carlos Alberto Cortez + + * TreeNode.cs: Add an internal ArePreviousNodesExpanded, to know + whether all the parent nodes are expanded. + * TreeNodeCollection.cs: When adding a new node an calling SetupNode, + call RecalculateVisibleOrder if all previous nodes are expanded. + Before that we were doing a IsVisible check, but sometimes the node + is not in the visible area, but _should_already be ready, because of + all previous nodes are expanded. Fixes #325259. + +2007-09-20 Jonathan Pobst + + * ToolStripSplitButton.cs: Call the ButtonClick event if the button + portion of the item is clicked. + +2007-09-20 Jonathan Pobst + + * TextControl.cs: Do not tell the system to move the cursor if the + textbox isn't focused. Fixes part of bug #322668. + +2007-09-20 Jonathan Pobst + + * ComboBox.cs: When there are no items, do not show the dropdown if + the down arrow is clicked. Fixes part of bug #322668. + +2007-09-20 Jonathan Pobst + + * ToolStripComboBox.cs: Manually set the size of this control in the + constructor, as it doesn't seem to be the same as DefaultSize. + Fixes a failing monobuild test. + +2007-09-19 Jonathan Pobst + + * DateTimePicker.cs: If the user sets MinDate to DateTime.MinValue, + change it to DateTimePicker.MinDateTime. [Fixes bug #326609] + +2007-09-19 Jonathan Pobst + + * Theme.cs: FileDialogs should be using DesktopDirectory instead of + Desktop. This lets it work for people who have moved their desktops + from the default location on windows. For people who have not, both + values are the same, so it shouldn't hurt anything. [Fixes bug #325270] + +2007-09-18 Jonathan Pobst + + * ToolStripControlHostTest.cs: DefaultSize is based off hosted control, + but when the base constructor sets this, the control is null. Set it + again in the constructor. Fixes a failing monobuild test. + +2007-09-18 Jonathan Pobst + + * ToolStripDropDownItem.cs: Make sure Click and DropDownOpened events + get called. + * ToolStripSplitButton.cs: Make sure MouseDown and MouseUp events get + called. + +2007-09-18 Jonathan Pobst + + * ToolStrip.cs: Don't show tooltips for ToolStripTextBoxes, they + will handle it themselves. + * ToolStripItem.cs: When deciding what the text of a tooltip should + be, use the Text property instead of the text field. + * ToolStripTextBox.cs: Handle tooltips. + [Fixes bugs #325417 and #325973] + +2007-09-18 Jonathan Pobst + + * ToolStripDropDownButton.cs: Only drop down overflow menu with a + left click. Fixes the easy part of bug #325969. + +2007-09-18 Jonathan Pobst + + * ToolStrip.cs: Set AutoSizeMode back to GrowAndShrink to refix + bug #325406, but set a minimum for StatusStrip to 22 to keep + bug #325390 fixed. I think this minimum would have been figured + up automatically if the grip was actually a ToolStripItem, but it + currently is not. + +2007-09-18 Carlos Alberto Cortez + + * ListView.cs: max_label_wrapping is now 30 pixels instead of 38, + as this is apparently the actual value used by .Net. Also apply + ItemPadding in Details view only, and decrease the general width padding, + to have only the needed. This should fix #324340 in Windows too. + +2007-09-18 Carlos Alberto Cortez + + * ListViewItem.cs: Don't Invalidate item if parent is inside + a BeginUpdate/EndUpdate block. This prevents to have differences + between the ListView and items state, as well as avoid some exceptions + there. + * ListView.cs: Make 'updating' field internal. + +2007-09-17 Jonathan Pobst + + * ToolStripControlHost.cs: Realign control when ControlAlign changes. + * ToolStripItem.cs: Use ImageScalingSize when calculating preferred + size if appropriate. + Fixes reopened bug #325414. + +2007-09-17 Jonathan Pobst + + * ToolStrip.cs: Set AutoSizeMode back to GrowOnly. + * ToolStripItem.cs: Invalidate before and after our new autosize when + text changes. + Fixes reopened bug #325390. + +2007-09-17 Jonathan Pobst + + * ToolStripMenuItem.cs: Make sure we invalidate when clicked so + mnemonics can be drawn or undrawn correctly. Fixes reopened bug + #325044. + +2007-09-17 Jonathan Pobst + + * Control.cs: Do WM_CONTEXTMENU before OnMouseUp. [Fixes bug #325535] + +2007-09-14 Carlos Alberto Cortez + + * ColumnHeader.cs: When drawing column text, use EllipsisCharacter + instead of EllipsisWord (by equistango at gmail.com). Fixes part of + #82734. + +2007-09-14 Jonathan Pobst + + * ToolStrip.cs: Make ToolStrip selectable when TabStop = true. Find an + item to select when the ToolStrip is selected. + * ToolStripControlHost: Realign the control when the bounds or visibility + change. + * ToolStripItem.cs: When selected, if it's a control host, focus the control. + * ToolStripOverflow.cs: When laying out the drop down, respect the item's + preferred height. + * ToolStripTextBox.cs: OnPaintInternal should call base.OnPaintInternal, not + base.OnPaint. Was causing text not to be drawn. + +2007-09-14 Jonathan Pobst + + * SplitterPanel.cs: Ignore attempts to set AutoSizeMode. + +2007-09-13 Carlos Alberto Cortez + + * TreeView.cs: When creating the label edit text box, + set is initially to Visible = false. This is done to + prevent a confusion in the layout which makes it to lose + focus when shown the first time. Fixes part of #82592. + +2007-09-13 Andreia Gaita + + * WebBrowserBase.cs: add FocusOption enumeration for finer focus control + +2007-09-13 Jonathan Pobst + + * ToolStrip.cs: Take Margin into account when calculating preferred + size. Also, allow preferred size to get smaller than the explicit + size. + * ToolStripTextBox.cs: Don't change the GetPreferredSize implementation. + First step towards fixing bug #82747. + +2007-09-13 Jonathan Pobst + + * TreeView.cs: Applied patch from latency@gmx.de to not paint the + full row select background over the plus/minus glyph. Also, turn + off the focus rectangle for full row select since MS doesn't seem + to ever paint it. [Fixes bug #81839] + +2007-09-13 Jonathan Pobst + + * ToolStrip.cs: Don't FocusInternal if there is no selected item. + This was causing keyboard opened dropdowns to lose focus. + [Fixes bug #82803] + +2007-09-13 Jonathan Pobst + + * Control.cs: If Rectangle.Empty is passed to Invalidate, use + ClientRectangle instead. [Fixes bug #82838] + +2007-09-13 Jonathan Pobst + + * SplitContainer.cs: We can't reset Visible on every layout because + someone may have set Visible = false explicitly on a SplitterPanel. + Make sure when we switch orientation the SplitterDistance does not + change. Fixes two failing tests. + +2007-09-12 Carlos Alberto Cortez + + * TreeView.cs: Use MeasureTextInternal instead of MeasureText in + TextRenderer, since the latter is only available in 2.0. + +2007-09-13 Ivan N. Zlatev + + * Cursor.cs: Fix Cursor.Current to apply Cursor.Default. + * SplitContainer.cs: Implement FixedPanel layouting. + +2007-09-12 Andreia Gaita + + * WebBrowserBase.cs: setup shutdown routine + +2007-09-12 Andreia Gaita + + * Application.cs: Let keyboard events that are targetted + to non-mwf windows hosted inside mwf (as in, webbrowser), + propagate properly. Fixes keyboard handling on the webbrowser. + +2007-09-12 Carlos Alberto Cortez + + * ListView.cs: When handling MouseUp event and we are + highligting a node with the mouse right button, don't trigger + Before/AfterSelecting event, since we are not actually selecting + the node. + +2007-09-12 Carlos Alberto Cortez + + * TreeView.cs: When editing a node, modify the edit text box + depending on the text length (as you are typing), like MS does. + +2007-09-12 Jonathan Pobst + + * ToolStrip.cs: Fixup preferred size calculations for vertical toolbars. + Override GetPreferredSizeCore to perform calculations. Remove custom + autosize logic. [Fixes bug #82739] + +2007-09-12 Jonathan Pobst + + * TextBoxBase.cs: Modified should default to false. + +2007-09-11 Jonathan Pobst + + * Control.cs: Update the anchoring distances even when layout is supspended. + Patch provided by George fixes bug #82805. + +2007-09-11 Jonathan Pobst + + * Control.cs: Provide a setter for ExplicitHeight. + * TextBoxBase.cs: Now that we have the implementation for explicit heights, + remove the hacks in here for requested_height. + [Fixes bug #82749] + +2007-09-11 Jonathan Pobst + + * ScrollBar.cs: Fix an issue reported on the lists where setting a scrollbar's + Maximum to lower that its current Value caused an ArgumentException by setting + the Value to the new Maximum. + +2007-09-11 Jonathan Pobst + + * ThemeWin32Classic.cs: Math is hard! Fix some math so that the TrackBar + handle moves to the closest tick when it is being dragged. + [Fixes bug #82751] + +2007-09-11 Jonathan Pobst + + * ToolStripManager.cs: When we have added MDI buttons onto a MenuStrip, we + can't let them count as real items when calculating where to merge in the + user's items. [Fixed bug #82786] + +2007-09-10 Jonathan Pobst + + * ToolStripMenuItem.cs: Add a parent type check so we don't crash on people + who want to add a menu item directly onto a toolstrip. + [Fixes bug #82775, part II] + +2007-09-10 Jonathan Pobst + + * StatusStrip.cs: Synchronize SetDisplayedItems with the ToolStrip version. + * ToolStrip.cs: If a ToolStripItem set to not visible is added to a ToolStrip, + don't set it to available. + * ToolStripItem.cs: When Visible is changed, tell the owner to perform a layout. + [Fixes bug #82727, part II] + +2007-09-10 Jonathan Pobst + + * StatusStrip.cs: Change item placement to None if not visible. + * ToolStripItem.cs: Invalidate when InternalVisible changes. + These should have been committed to fix 82723, but I missed them. + +2007-09-10 Jonathan Pobst + + * ToolStrip.cs: Make sure ItemClicked is raised before the ToolStripItem's + Click, and that it is only called once. + * ToolStripMenuItem.cs: Call OnClick even when there are dropdown items. + * ToolStripDropDownItem.cs: Override HandleItemClick so dropdowns stay + dropped down. + [Fixes bug #82775] + +2007-09-08 Carlos Alberto Cortez + + * ColumnHeaderSample.cs: Use 5 pixels as extra height instead of 8 + to match .Net. + * ThemeWin32Classic.cs: For the columns text, use 5 pixels as left padding + instead of 8, just like above. Partially fixes #82734. + +2007-09-08 Carlos Alberto Cortez + + Patch by Ernesto Carrea . Partially + fixes #82734. + + * ListView.cs: Remove extra space between rows in Details view (match + .Net). + * ThemeWin32Classic.cs: Header text should use ListView.Font, not + the DefaultFont. + +2007-09-08 Gert Driesen + + * Application.cs: Modified ProductVersion to return value of + AssemblyInformationVersion if available, and fallback to assembly + version. Fixes bug #82746. Code formatting. + * BindingSource.cs: Remove NIE from Dispose, and mark it MonoTODO + instead. + +2007-09-07 Carlos Alberto Cortez + + * Control.cs: When updating ZOrder for a child control, + take into account the implicit ones (we need it in our controls + using them). Fixes #82642. + +2007-09-07 Jonathan Pobst + + * ToolStripItem.cs: Add support for animated images. + [Fixes bug #82726] + +2007-09-07 Jonathan Pobst + + * ToolStrip.cs: Make sure we aren't drawing anything that isn't + visible. [Fixes bug #82727] + +2007-09-06 Jonathan Pobst + + * ToolStripItem.cs: If AutoSize changes the size of our item, invalidate + so we repaint using the new size. [Fixes bug #82723] + +2007-09-06 Jonathan Pobst + + * TreeView.cs: If ShowLines is true, we should ignore the FullRowSelect + option. [Fixes bug #81779] + +2007-09-06 Jonathan Pobst + + * TreeView.cs: Override HandleClick because the StandardClick style is + set to false. According to MSDN (and testing), the click events should + only be raised when the click occurs on a TreeNode. [Fixes bug #81739] + +2007-09-06 Jonathan Pobst + + * ToolStripTextBox.cs: Invalidate our textbox when it loses focus, so + the border will disappear. Fixes reopened #82653. + +2007-09-06 Jonathan Pobst + + * Control.cs: If the control is autosize, and its preferred size changes + when it lays out its children, tell its parent so it can be re-layed out. + Fixing some of the fallout from r85433. + +2007-09-06 Jonathan Pobst + + * ThemeWin32Classic.cs: Fix a NRE caused by r85427 because RadioButton + and CheckBox share some code. + +2007-09-06 Jonathan Pobst + + * TrackBar.cs: Only call OnScroll if we actually changed the Value of + the TrackBar, not every mouse move. [Fixed bug #82718] + +2007-09-06 Jonathan Pobst + + * ThemeWin32Classic.cs: Allow a CheckBox to be rendered like a Button + under 2.0 rendering. [Fixes bug #82657] + +2007-09-06 Jonathan Pobst + + * TreeView.cs: If we found a TreeNode to display a context menu, but + it doesn't have one to show, let the TreeView display its menu + instead. [Fixes bug #82680] + +2007-09-06 Jonathan Pobst + + * ToolStripTextBox.cs: TextBox no longer call OnPaint, we need to use + OnPaintInternal instead. Give the internal TextBox a Border property + so it can draw itself more correctly. [Fixes bug #82653] + +2007-09-06 Zoltan Varga + + * HtmlHistory.cs HtmlWindow.cs HtmlWindowCollection.cs ListBindingHelper.cs WindowsFormsSection.cs WindowsFormsSynchronizationContext.cs: Stubs for missing 2.0 classes. + +2007-09-05 Everaldo Canuto + + * ComboBox.cs: Adjust combobox button state to reflect current state when + back to enabled = true. Fixes first issue of #82654. + +2007-09-05 Everaldo Canuto + + * Control.cs: Fix last patch regression, prevent forms to update zorder when + setting visible property. + +2007-09-05 Everaldo Canuto + + * Control.cs: Update zorder after control creation in SetVisibleCore, it + fix zorder for controls initially created as non visible. Fixes #82667. + +2007-09-04 Everaldo Canuto + + * ThemeWin32Classic.cs: Adjust checkbox light color to ControlLightLight to + mimic win32 look. Fixes #82656. + +2007-09-01 Zoltan Varga + + * FileDialogCustomPlace.cs FileDialogCustomPlacesCollection.cs: + Stubs for new net 3.5 classes. + +2007-08-31 Carlos Alberto Cortez + + * ListViewItem.cs: In ListViewItemCollection operations calculate + Layout for owner as well as invalidate it. Fixes part of #82642. + +2007-08-31 Jonathan Pobst + + * ToolStripItem.cs: Take Parent/Owner's Enabled state in to account + when returning Enabled. [Fixes bug #82651] + +2007-08-30 Everaldo Canuto + + * ToolBar.cs: Fix button size for non flat toolbars. Fixes #82368. + +2007-08-30 Carlos Alberto Cortez + + * ListView.cs: Put item padding info in a single place + (Theme.ListViewItemPaddingWidth) to have working AutoResize on + columns again. + * ThemeWin32Classic.cs: + * Theme.cs: Likewise. + +2007-08-30 Carlos Alberto Cortez + + * ListView.cs: When a ListViewSubItem instance is invalidated, + invoke Invalidate on parent ListViewItem, not parent ListView. + Fixes #81570. + +2007-08-30 Jonathan Pobst + + * ListView.cs, ListViewItem.cs: corcompare stuffs. + +2007-08-30 Jonathan Pobst + + * BindingMemberInfo.cs: Implement == and != operators. + +2007-08-30 Jonathan Pobst + + * HtmlElementEventArgs.cs: Implement properties. + +2007-08-29 Jonathan Pobst + + * HtmlElementErrorEventArgs.cs, HtmlElementErrorEventHandler.cs: Added. + +2007-08-29 Jonathan Pobst + + * TabControl.cs: I was looking into the MonoTODO on TabPageCollection. + Add (string,string,string) to implement the imagekey. It turns out, we + use the requested imagekey whereas .Net does not. So I broke ours to match + theirs. :( + +2007-08-29 Jonathan Pobst + + * Form.cs, UserControl.cs: Override ValidateChildren, AutoValidate. + +2007-08-29 Jonathan Pobst + + * ContainerControl.cs: Implement ValidateChildren and new Validate overload. + +2007-08-29 Gert Driesen + + * FolderBrowserDialog.cs: Set Tag of newly created node, and keep it + up-to-date. Fixes bug #82618. + +2007-08-29 Everaldo Canuto + + * TextBoxBase.cs: Call CalculateDocument after changes Lines property to + reflect document changes. Fixes #82367. + +2007-08-29 Carlos Alberto Cortez + + * ListView.cs: Add/fix some override differences between 1.1 and 2.0, + as well as add new ones. This should make work the BackgroundImage + property for ListView again. + +2007-08-28 Jonathan Pobst + + * DataGrid.cs, DataGridViewButtonColumn.cs, DataGridViewCheckBoxColumn.cs, + DataGridViewComboBoxColumn.cs, DataGridViewImageColumn.cs, DataGridViewLinkColumn.cs, + DataGridViewTextBoxColumn.cs, ToolTip.cs: corcompare stuffs. + +2007-08-28 Jonathan Pobst + + * Control.cs, XPlatUI.cs, XPlatUIDriver.cs, XPlatUIWin32.cs: Implement + IsKeyLocked. + +2007-08-28 Jonathan Pobst + + * Cursor.cs: Add HotSpot, hook into XPlatUI.GetCursorInfo. + * XPlatUIWin32.cs: Implement hotspot lookup in GetCursorInfo. + +2007-08-28 Jonathan Pobst + + * RadioButton.cs: Use 2.0 rendering. Use base implementation of TextAlign. + * Theme.cs, ThemeWin32Classic.cs: Implement 2.0 rendering for RadioButton. + +2007-08-27 Ivan N. Zlatev + + * CursorConverter.cs: Implement conversion to InstanceDescriptor. + +2007-08-27 Ivan N. Zlatev + + * GridEntry.cs: Implement GetService. + +2007-08-27 Jonathan Pobst + + * LabelEditTextBox.cs, TreeView.cs: After hiding the textbox used + for label editting, make sure we focus back on the TreeView. + [Fixes bug #82590] + +2007-08-27 Carlos Alberto Cortez + + * ListView.cs: Add some 2.0 overrides. + +2007-08-27 Everaldo Canuto + + * Form.cs: Uses opacity var instead of Opacity property in CreateHandle + because getter dont returns right value before handle creation. Thanks + to George. Fixes #82569. + +2007-08-27 Everaldo Canuto + + * Theme.cs: Revert last patch, it causes error under win32. + +2007-08-27 Everaldo Canuto + + * Theme.cs: Uses Environment.SpecialFolder.DesktopDirectory instead of + Environment.SpecialFolder.Desktop in Places method, Desktop returns the + logical Desktop rather than the physical file system location. Fixes #82603. + +2007-08-26 Everaldo Canuto + + * MessageBox.cs: Add clipboard copy (ctrl+c) to messagebox. Thanks Andy Hume + for the patch. Fixes #82568. + +2007-08-26 Carlos Alberto Cortez + + * ListView.cs: Add a pair of missing 2.0 ListViewItemCollection.Insert + methods. + +2007-08-26 Carlos Alberto Cortez + + * ListViewInsertionMark.cs: New stubbed class. + +2007-08-25 Gert Driesen + + * FolderBrowserDialog.cs: When adding folder, immediately create the + directory with temporary name and rename the directory when editing + finishes. This matches MS. Ensure the node for the new folder is + selected and LabelEdit is disabled, when editing is either finished + or cancelled. + +2007-08-25 Gert Driesen + + * TreeView.cs: When editing label of node, ensure node is visible. + +2007-08-25 Ivan N. Zlatev + + * PropertyGridView.cs: Set the value only if it has changed. + +2007-08-24 Carlos Alberto Cortez + + * ListView.cs: Some more code refactoring to add support sorting + with groups (now for Details view). Remove unused code also. + +2007-08-24 Jonathan Pobst + + * NodeLabelEditEventArgs.cs: EndEdit immediately when CancelEdit is called. + Not a big fan of reacting immediately to a field in an EventArg, but that's + the way it's done. (This is part of the previous commit that got left out.) + +2007-08-25 Gert Driesen + + * FolderBrowserDialog.cs: Removed need for separate description field. + Replaced "" with string.Empty. Fixed tabindex. Ensure OK button + has focus when dialog box is displayed again, regardless of what + button was pressed the previous time. Set RootFolder and SelectedPath + each time dialog box is displayed. This ensures the treeview is + refreshed, and fixes bug #82579. Do no hide selected node in TreeView + when it does not have focus. Added support for more special folders. + +2007-08-24 Jonathan Pobst + + * TreeView.cs: Create a CancelEdit method. Clone the edit_args in EndEdit + before calling AfterLabelEdit. If the user calls BeginEdit in that event, + it resets the edit_args. + * TreeNode.cs: Call CancelEdit if the user passes cancel = true to EndEdit. + [Fixes bug #82577] + +2007-08-24 Gert Driesen + + * FolderBrowserDialog.cs: Modifies form caption and text of new folder + button to match MS. Provide more meaningful exception message for + invalid RootFolder value. Use zero-length string when SelectedPath + is set to null. Allow non-rooted paths in SelectedPath, but ignore + them in FolderBrowserTreeView. Allow folders to be created in + RootFolder. Fixes bug #82576. + +2007-08-24 Carlos Alberto Cortez + + * ListView.cs: Correctly compute the layout_ht (height) when using groups, + since we need to take into account the group headers and the margin + between them. + * ListViewGroup.cs: Add a rows field to store the number of rows per + group. + +2007-08-24 Rolf Bjarne Kvinge + + * DateTimePicker.cs: The MS' MTB has a really stupid year formatting. + Anyways, let's just follow the lead. + +2007-08-24 Jonathan Pobst + + * CheckBox.cs: Set the AutoSizeMode to GrowAndShrink. + * Form.cs, GroupBox.cs: Don't skip Right or Bottom anchored + controls in GetPreferredSizeCore. + * ThemeWin32Classic.cs: Tweak text drawing of CheckBoxes. + [Fixes bug #82488] + +2007-08-24 Jonathan Pobst + + * PrintDialog.cs: Need to instantiate the form variable here too. + +2007-08-24 Carlos Alberto Cortez + + * ListView.cs: Do some reorganization to support sorting in groups, + by doing the layout sequentially in ListView.Items. Also add support + for the Default Group, which should be available for items with no + group assigned. + * ListViewGroup.cs: Add support for DefaultGroup. Include new members + for storing layout info also. + * ListViewGroupCollection.cs: Add a DefaultGroup as part of the + collection, as well as providing internal members to do a traversal + including the default group (needed when doing layout/drawing). + * ThemeWin32Classic.cs: When drawing group headers use internal + ListViewGroupCollection members to take into account the default + group. + +2007-08-23 George Giolfan + + * FlowLayoutPanel.cs: Add GetPreferredSizeCore. [Fixes bug #82537] + +2007-08-23 Jonathan Pobst + + * TreeView.cs: IsInputKey: don't ask for any keys if the handle hasn't + been created. If handle is created, we want arror keys. If we are editing + a node, we want things like enter, esc, home, end, page up, page down. + Allows Esc to work for FolderBrowserDialog. + +2007-08-23 Jonathan Pobst + + * ColorDialog.cs, FontDialog.cs: Set the form's CancelButton so that + they close when ESC is pressed. Thanks Andy! + +2007-08-23 Jonathan Pobst + + * CommonDialog.cs: Do not instantiate form, leave that for derived classes. + This way we can tell if this is a CommonDialog provided with mono, or one + that is being implemented outside by a developer. If it is an external one, + the developer is responsible for showing their own form. We were showing + our blank form after the developer showed his. + * ColorDialog.cs, FileDialog.cs, FolderBrowserDialog.cs, FontDialog.cs, + PageSetupDialog.cs: Instantiate form variable in our constructor. + [Fixes bug #82531] + +2007-08-23 Jonathan Pobst + + * ListBox.cs, ListView.cs, TreeView.cs: Override IsInputCharInternal + and always return true. [Fixes bug #81616] + +2007-08-23 Jonathan Pobst + + * TextBoxBase.cs: Allow 2.0 AutoSize to change the height of the + TextBox. [Fixes bug #82549] + +2007-08-23 Gert Driesen + + * FileDialog.cs: When Save/Open is clicked and no filename is selected + or entered then do not close the dialog. Fixes bug #82539. Removed + CWLs. + +2007-08-22 Everaldo Canuto + + * FileDialog.cs: Create UpdateRecentFiles and move the recent files refresh + code to this method. It is calling every time filter changes. This method + will help to fix the bug #80887. + +2007-08-22 Jonathan Pobst + + * CheckBox.cs: Implement AutoSize calculation. + +2007-08-22 Jonathan Pobst + + * CheckBox.cs: Use new 2.0 rendering for 2.0. + * Theme.cs: Method declarations for 2.0 rendering path. + * ThemeWin32Classic.cs: 2.0 rendering implementation for CheckBox. + +2007-08-21 Carlos Alberto Cortez + + * ListViewGroupCollection.cs: Fix a typo of the previous patch. + +2007-08-21 Carlos Alberto Cortez + + * ListViewGroupCollection.cs: Implement AddRange the right way, to + only call Redraw on the parent one time. + +2007-08-21 Rolf Bjarne Kvinge + + * DataGridViewRowHeaderCell.cs, DataGridViewColumnHeaderCell.cs: Implemented + GetClipboardContent. + * DataGridViewCell.cs: Implemented GetClipboardContent, + GetEditedFormattedValue, GetFormattedValue. + * DataGridView.cs: Implemented GetClipboardContent, TopLeftHeaderCell. + +2007-08-21 Jonathan Pobst + + * TableLayoutStyleCollection.cs: corcompare fix. + +2007-08-21 Rolf Bjarne Kvinge + + * DataObject.cs: Implemented retrieval of convertible / not convertible + objects. + +2007-08-21 Jonathan Pobst + + * ToolStripItem.cs: When changing the item's text, invalidate before we resize + ourselves. This ensures the entire old bounds are repainted, in case our new + size is smaller. [Fixes bug #82518] + +2007-08-20 Everaldo Canuto + + * XplatUIX11.cs: Apply patch from #81588, it makes use of PointerMotionHintMask + flag to make fast handle of mouse events, without this the mouse move is + handled in some manner, whether it is a mouse move or not. Fixes #81588. + +2007-08-20 Carlos Alberto Cortez + + * ListView.cs: When doing layout calculations don't use a ref + param to keep the current item; instead use its Index value (this + is specially important when doing the layout with Groups + and Items being sparse). Also don't take into account items added to + the Group but not yet added to the main ListView.Items collection. + +2007-08-20 Carlos Alberto Cortez + + * ListViewGroupCollection.cs: Forgot to mimic an issue + in the indexer (don't assign the ListView owner for new values). + +2007-08-20 Carlos Alberto Cortez + + * ListViewGroupCollection.cs: Make the string indexer use + the int based indexer to re-use code, instead of duplicate the code. + Also Redraw as needed and take into account null values. + +2007-08-20 Jonathan Pobst + + * StatusStrip.cs: Make sure the item's parent gets set in SetDisplayedItems. + [Fixes bug #82481] + +2007-08-20 Jonathan Pobst + + * ToolStrip.cs: Add some logic to un-focus controls in ToolStripControlHosts + when other buttons are clicked or navigated to. + +2007-08-20 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Treat toolwindows as if they had no window manager, since + it's XplatUIX11 that attaches them. + +2007-08-20 Rolf Bjarne Kvinge + + * DataGridView.cs: If a column has been added, recreate the editing row. + Fixes #82226. + +2007-08-20 Rolf Bjarne Kvinge + + * TextControl.cs: Use Math.Max instead of Math.Min when deciding the length + of the tag to draw. Makes disappearing text show up again. + +2007-08-20 Rolf Bjarne Kvinge + + * StatusBar.cs: Take into account any icons when a panel has AutoSize = + Contents. Fixes #82487. + +2007-08-19 Andreia Gaita + + * Added HtmlElement.cs, HtmlElementCollection.cs, + HtmlElementEventArgs.cs, HtmlElementEventHandler.cs + +2007-08-19 Andreia Gaita + + * BindingSource.cs: Implement this, dispose and getenumerator. + * DataGridViewRowCollection.cs: Move the InvalidOperationException + out of AddInternal, throw it only on public Add calls. The + UsingWebBrowser sample was blowing up with this when setting the + DataSource after adding DataBindings, so it's likely that .net + only throws this exception when Add is called directly. + + * ToolStripControlHost.cs: Return the hosted control's text + property, and not the ToolStripItem one (it would always return + the initial value). + + * HtmlDocument.cs: Implement GetElementById and All + * WebBrowser.cs: Remove exception on set_DocumentStream. + +2007-08-19 Everaldo Canuto + + * Form.cs: Fix the max and min value for opacity (0~1). + +2007-08-19 Everaldo Canuto + + [Fixes #80118] + * DataGridTableStyle.cs: Default header font is now null, on getter it + returns datagrid font when is null. On setter permits null. + + * DataGrid.cs: + - When ResetHeaderFont set header font to null. + - On EndInit set grid_style.DataGrid. + +2007-08-19 Everaldo Canuto + + * TabControl.cs: Fix regression in default padding x. + +2007-08-19 Everaldo Canuto + + * TabControl.cs: Fix tab page text area removing padding. Fixes #82471. + +2007-08-19 Everaldo Canuto + + * TabControl.cs: Fix first tab drawing, when selected it must have x = 0 + not 2. Fixes #82229. + +2007-08-18 Everaldo Canuto + + * TabControl.cs: Fix tab size when image height is less than text height. + Partially fixes #81837. + +2007-08-18 Everaldo Canuto + + * Form.cs: Add WS_EX_CONTROLPARENT to forms to make it selectable using + "alt + tab". It works only for Win32, for X11 theres no way to remove window + from taskbar and keep it on "alt_tab". Fixes #81722. + +2007-08-18 Everaldo Canuto + + * XplatUIX11.cs: Apply patch from Jurek Bartuszek to fix DrawReversibleFrame + and DrawReversibleLine, also apply same behavior to FillReversibleRectangle. + Fixes #80877 and #79418. + +2007-08-18 Everaldo Canuto + + * MenuAPI.cs: Fix popup menu position when the size is larger than distance + between position and one of the screen borders. Fixes #82349. + +2007-08-18 Everaldo Canuto + + * MessageBox.cs: When there is no form that invoked the MessageBox, shows + the MessageBox in the taskbar. Fixes #82457. + +2007-08-18 Everaldo Canuto + + * MessageBox.cs: Fix form size when icon is set and text height is bigger + than icon. Fixes #82468. + +2007-08-18 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: A FixedToolWindow has border size 3. + * InternalWindowManager.cs: Change HandleCalcSize to return a boolean value + if handled or not. Implement WM_NCCALCSIZE for WParam == 0 as well. + Refactored HandleNCCalcSize somewhat to avoid code duplication. + * Form.cs: Add is_clientsize_set, set in set_ClientSize, used by + FormBorderStyle to decide if we're calculating a new size from the + client size or not. CreateParams: Don't fake tool windows, only the X11 + backend manages toolwindows manually. + +2007-08-17 Jonathan Pobst + + * Form.cs: Only reset is_visible if !IsDisposed to prevent an + ObjectDisposedException. + +2007-08-17 Jonathan Pobst + + * Form.cs: Reset is_visible back to true after OnLoad. Setting this + in OnLoad should not have any effect. [Fixes bug #82470] + +2007-08-17 Jonathan Pobst + + * ToolTip.cs: Add a hack to ToolTipWindow so it will still size and + paint for controls that create their own ToolTipWindow instead of + going through ToolTip. + +2007-08-17 Jonathan Pobst + + * ToolTip.cs: Make Hide internal instead of public to match MS API. + +2007-08-17 Carlos Alberto Cortez + + * ListViewGroupCollection.cs: Use generic List instead of an + ArrayList, since this collection is 2.0 only. + +2007-08-17 Jeffrey Stedfast + + * ToolTip.cs (Hide): Made public to make the build work (should + this not be public?). + +2007-08-17 Jonathan Pobst + + * ToolBar.cs, ToolStrip.cs, TreeView.cs: Use a ToolTip instead of a + ToolTipWindow. + * ToolTip.cs: Add an internal Visible property to facilitate transition. + +2007-08-17 Jonathan Pobst + + * DrawToolTipEventArgs.cs, DrawToolTipEventHandler.cs, PopupEventArgs.cs, + PopupEventHandler.cs: Make these internal for 1.1. + * ThemeClearlooks.cs, ThemeWin32Classic.cs: Use TextRenderer, and modify to not + use ToolTipWindow internals. + * ToolTip.cs: Add 2.0 modal Show methods. Had to move a lot of stuff around to + support this. A lot of stuff in the ToolTipWindow got moved to the ToolTip. + +2007-08-17 Rolf Bjarne Kvinge + + * X11Dnd.cs: Add a null check. + +2007-08-17 Rolf Bjarne Kvinge + + * X11Dnd.cs: MwfWindow: Try to load the control directly from the handle if + nothing else succeeds. Fixes #82453. + +2007-08-17 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: PaintEventStart: validate the entire source client + rectangle if we're painting to another window than the one the paint + message was generated on. Simplify the code somewhat, which makes + PaintEventEnd also simpler. + +2007-08-17 Rolf Bjarne Kvinge + + * Control.cs: When changing parent of a form, let the form decide whether + XplatUI.SetParent should be called or not. + * Form.cs: ChangingParent: only call XplatUI.SetParent if we're not + recreating the handle. If the new parent's handle isn't created, don't + recreate our handle, just destroy it. CreateParams: Check if the + parent's handle is created before fetching it. + +2007-08-17 Rolf Bjarne Kvinge + + * Control.cs, Form.cs, InternalWindowManager.cs, MainMenu.cs, MdiClient.cs: + Update calls to PaintEventStart/End to take a Message argument. + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Update PaintEventStart/End to + take a Message argument. + * XplatUIWin32.cs, XplatUIX11.cs: Update PaintEventStart/End to take a + Message argument, and handle the case where we don't paint to the window + for which the paint message was generated. + +2007-08-17 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: Don't call Win32GetLastError directly, use + Marshal.GetLastWin32Error. Plug nasty memory leak in + PaintEventStart/End, we were creating a DC we weren't releasing. + +2007-08-17 Carlos Alberto Cortez + + * ListView.cs: Add Groups support in Details view. Also have a small + method to do the layout of the group header. Don't use a separate + method to do the groups calculation in Icons view, since our methods + are now a little simpler. + * ListViewGroup.cs: Use the more accurate `HeaderBounds' name than + `Bounds'. + * ThemeWin32Classic.cs: Likewise. + +2007-08-16 Jonathan Pobst + + * Application.cs: Add FilterMessage method and rework our message loop + logic to use it. + +2007-08-16 Jonathan Pobst + + * Application.cs: Add some methods and stub a few methods that are + pretty much never used. + +2007-08-15 Jonathan Pobst + + * TreeNode.cs: Add some serialization methods. + +2007-08-14 Carlos Alberto Cortez + + * ListView.cs: In ListViewItemCollection have a + 'is_main_collection' field to not modify ListViewItem.ListView + when using it as ListViewGroup.Items (and not ListView.Items) + and also don't modify selection state (.Net behaviour). + Instead, set group for items contained in a ListViewGroup.Items collection. + * ListViewItem.cs: Simplify some code in Group setter. + * ListViewGroup.cs: use the new .ctor to pass the current instance + to the ItemsCollection. + * ListViewGroup.cs: Set the ListView property for ListViewGroup + instances when adding/removing. Also make Remove use RemoveAt, which + should perform better. + +2007-08-14 Jonathan Pobst + + * Message.cs, TabControl.cs, TextBox.cs, TextBoxBase.cs: Hide some 2.0 API + that crept into the 1.1 profile. + +2007-08-14 Jonathan Pobst + + * ToolBarButton.cs: Implement ImageKey. + +2007-08-14 Jonathan Pobst + + * ToolBar.cs: Implement ScaleControl/ScaleCore. + +2007-08-13 Rolf Bjarne Kvinge + + * PictureBox.cs: OnAnimateImage/UpdateAnimateImage: Check if handle is still + created, it might have gotten destroyed since we last checked. Fixes + #82405. + +2007-08-11 Jonathan Pobst + + * ToolTip.cs: Remove mouse in control check from mouseleave handler so + tooltip will hide when mouse is moved off the control. + [Fixes bug #82407] + +2007-08-11 Andreia Gaita + + * WebBrowserBase.cs, WebBrowser.cs: add implementation + using Mono.Mozilla for loading and navigating webcontrol + with xulrunner. + The initial implementation was done on + /trunk/mozembed/tests/browser , and copied here. + +2007-08-11 Gert Driesen + + * ThemeWin32Classic.cs: On 2.0 profile, use ForeColor and BackColor of + ToolTipWindow for drawing the tooltip. Fixes bug #82408. + +2007-08-10 Rolf Bjarne Kvinge + + * DataGridView.cs: Add support for an editing row. Fixes #82226. + RowTemplateFull: throw an exception if a column doesn't have a template. + * DataGridViewRowCollection.cs: AddInternal: if there are any editing rows, + add the row just before it. + * DataGridViewTextBoxCell.cs: Don't paint cells which are in edit mode as + selected. + * DataGridViewSelectedRowCollection.cs: Don't return the editing row. Add a + DataGridView field to be able to reach the grid's editing row. + +2007-08-10 Jonathan Pobst + + * ToolTip.cs: If the control's handle hasn't been created when it has a + tooltip set on it, don't check to see if we need to show the tooltip. This + check was causing the control's handle to be created. + [Fixes bug #82399] + +2007-08-10 Jonathan Pobst + + * TextBoxBase.cs: Fix SelectionLength when no text selected to match MS: + 1.1 2.0 + Handle Not Created -1 0 + Handle Created 0 0 + [Fixes bug #82371] + +2007-08-10 Jonathan Pobst + + * ToolTip.cs: Hide the tooltip if the control is clicked to match MS behavior. + [Fixes bug #82348] + +2007-08-09 Jonathan Pobst + + * DrawToolTipEventArgs.cs: Don't dispose a brush we got from the respool. + * ToolTip.cs: Implement some properties and owner draw. + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridView.cs: OnPaint: don't set scrollbar visibility to false then + show them again, since setting visibility causes a paint, causing an + endless loop (instead use a temporary and set it all when it's known if + they should be shown or not). Fixes #79265. + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridView.cs: Only do a full column/row selection if a header was + clicked and we're in Column/RowHeader selection mode. If shift and ctrl + isn't pressed, deselect everything before selecting something. + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridView.cs: Fix SelectedRows and SelectedColumns to match MS + behaviour according to bug #81075 - they are returned in the order they + are selected. Fix HitTest to check if the point is within any of the + headers. Allow for row/column selection when in ColumnHeader or + RowHeader selection mode. Add SetSelected[Column|Row]CoreInternal for + the row and column to call when their selected state changes, and + updated selected_[rows|columns] whenever SetSelected* is called. + * DataGridViewBand.cs: Initialize isRow correctly. Call + SetSelected[Row|Column]CoreInternal when the selected state changes, and + add a SelectedInternal to avoid StackOverflows. + * DataGridViewColumn.cs, DataGridViewRow.cs: If DGV is ReadOnly, we're also + ReadOnly no matter what. + * DataGridViewSelectedColumnCollection.cs, + DataGridViewSelectedRowCollection.cs: Add an InternalAddRange that adds + the items in reverse order (just as MS does...) + +2007-08-09 Jonathan Pobst + + * Application.cs: Only release menustrips if Alt (MenuKey) is pressed by + itself, not part of a mnemonic. [Fixes bug #82378] + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridView.cs: BeginEdit: don't allow editing of readonly cells. + * DataGridViewCell.cs: Implement ReadOnly better: the cell is ReadOnly if + the DGV, the column, the row, or the cell itself is readonly. + +2007-08-09 Gert Driesen + + * ThemeNice.cs: Use XplatUI.RunningOnUnix instead of checking + OSVersion.Platform. + * FileDialog.cs: Same. + * TextRendered.cs: Same. + * FolderBrowserDialog.cs: Same. + * TextBoxBase.cs: Same. + * Application.cs: Same. + * Cursors.cs: Same. + * ThemeClearLooks.cs: Same. + +2007-08-09 Gert Driesen + + * XplatUI.cs: Added RunningOnUnix property to be used by controls + instead of duplicating these checks everywhere. + * FileDialog.cs: Use case-insensitive comparison for populating the + DirComboBox when not running on unix. Fixes bug #82385. + * OpenFileDialog.cs: to match MS, change label of DirComboBox to + "Look in". + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridView.cs: SelectedRows: we need to check if selectionMode is + FullRowSelect (not FullColumnSelect). Fixes #81075. Implemented + BeginEdit, EndEdit, SetSelectedCore. Implemented row, + cell and column selection with ctrl and shift pressed. Call the correct + BeginEdit/EndEdit whenever we start/end editing. Move painting code to + the corresponding virtual method (PaintBackground to paint background, + etc). + * DataGridViewCell.cs: Implement Selected correctly, we're selected if + either the column, row or the cell itself is selected. + * DataGridViewRowCollection.cs: Use DGV.OnRowsAddedInternal instead of + OnRowsAdded. + * DataGridViewRow.cs: Moved some of the painting code from DataGridView + here. When the row is selected, don't select all cells. Each cell now + queries the row to see if the row is selected. + +2007-08-09 Rolf Bjarne Kvinge + + * DataGridViewColumn.cs: Throw if the SortMode conflicts with DataGridView's + SelectionMode. + +2007-08-08 Carlos Alberto Cortez + + * ListView.cs: In ListViewItemsCollection check that owner is + not null before trying to access it (this happens quite often + using Groups). Also don't duplicate calls by calling CollectionChanged + method. + +2007-08-08 Jonathan Pobst + + * ToolStrip.cs: Record if we were activated by mouse or keyboard. Redraw + when we are dismissed to clear keyboard mnemonics. + * MenuStrip.cs, ToolStripDropDown.cs, ToolStripItem.cs, + ToolStripMenuItem.cs: Record if we were activated by mouse or keyboard. + * ToolStripItemTextRenderEventArgs.cs: Draw mnemonic underlines if menu + was activated by keyboard or the OS tells us to always draw them. + * ToolStripManager.cs: Setup storage for activated by mouse or keyboard. + [Fixes bugs #82376, #82377] + +2007-08-08 Jonathan Pobst + + * Control.cs: If no one accepts a mnemonic, let the MenuStrip have a + shot at having it because Alt was pressed. + * MenuStrip.cs: When handling Alt, don't select a SystemMenuItem, select + the first real menu item. + * ToolStrip.cs: Don't crash when looking for a ToolStripItem to handle + a mnemonic if Text is null. + [Fixes bug #82374] + +2007-08-08 Carlos Alberto Cortez + + * ListView.cs: In ListViewItemCollection.AddItem, don't do a linear + search do check whether the item is already contained in the + collection or not; instead check if the owner of the item is the same + as ours. Also, remove a redundant check in the same method. + +2007-08-08 Jonathan Pobst + + * Control.cs: Allow the clip region to be set back to null. + * XplatUIWin32.cs: If we are sent a null clip region, use IntPtr.Zero. + [Fixes button still showing up in bug #82370 when Show Through is turned off] + +2007-08-08 Rolf Bjarne Kvinge + + * GridEntry.cs: Add a null check. + * PropertyGrid.cs: When checking for existing grid entries, ignore category + entries. Fixes #82297. + +2007-08-07 Jonathan Pobst + + * OwnerDrawPropertyBag.cs: Make the serialization constructor protected + for 2.0. + +2007-08-07 Jonathan Pobst + + * ListBox.cs: Implement ScaleControl. + +2007-08-07 Rolf Bjarne Kvinge + + * Form.cs: Add a few ActiveMenu null checks. ActiveMenu might be null if we + have a menu strip. + * MdiWindowManager.cs: Don't create a maximized menu if the child or it's + parent has a menu strip. Fixes #81689. + +2007-08-07 Rolf Bjarne Kvinge + + * ToolTip.cs: We don't get mouse events on all platforms in the exact same + moments, so apply some fuzzy logic to determine if the mouse is still + inside a control or not. Fixes #82288 (for the third time). + +2007-08-07 Rolf Bjarne Kvinge + + * Control.cs: CreateControl: create implicit children as well. Fixes #82344. + Don't create the child if it has been disposed already (may happen if + the user closes the form the Load event). + +2007-08-07 Rolf Bjarne Kvinge + + * ToolTip.cs: If ReshowDelay is 0, show the tooltip immediately. Fixes + #82288. + +2007-08-07 Rolf Bjarne Kvinge + + * Control.cs: Add a null check in OnParentBindingContextChanged. The parent + might call us after we've been destroyed, in which case our own private + parent field is null. Fixes #82326. + +2007-08-06 Jonathan Pobst + + * ToolStripDropDown.cs: Fix a failing test on X11 by adding a null + check for setting the dropdown's owner. + +2007-08-06 Jonathan Pobst + + * MdiClient.cs: Fix some failing tests on X11 by adding a null check + before removing system menu items. + +2007-08-02 Jonathan Pobst + + * MdiClient.cs, MdiWindowManager.cs: Support 2.0 Mdi MenuStrip + folding. + * MdiControlStrip.cs: Added. These are the menu items used in mdi + folding. + * ToolStrip.cs: Add a null check to mnemonics. + * ToolStripDropDownMenu.cs: When using a SystemMenuItem, there is + no ConnectedArea. + [Fixes most of bug #81689] + +2007-08-02 Rolf Bjarne Kvinge + + * PropertyGrid.cs: Add a null-check. Fixes #82289/SVGPad. + +2007-08-02 Rolf Bjarne Kvinge + + Use InitialDelay if ReshowDelay is zero. Fixes #82288. + +2007-08-01 Rolf Bjarne Kvinge + + * DataGridViewCell.cs: EditType: returns + DataGridViewTextBoxEditingControl always. + +2007-08-01 Jonathan Pobst + + * TextRenderer.cs: Remove the LineLimit string format flag from the + DrawString fallback method so that things like buttons that aren't + tall enough to draw a full line will still draw part of the text. + [Fixes part of bug #82272] + +2007-08-01 Rolf Bjarne Kvinge + + * DataGridView.cs: Implemented AutoResizeColumn(s). + * DataGridViewCellStyle.cs: Added SetAlignment, fills in a StringFormat + according to the Alignment. + * DataGridViewColumnHeaderCell.cs, DataGridViewTextBoxCell.cs: + Implement alignment and padding when painting. + * DataGridViewRow.cs: SetValues: Don't create a cell if it already + exists. + * DataGridViewCell.cs: Implement BorderWidths in the most primitive + way. + * DataGridViewColumnCollection.cs: Raise OnColumnAdded on the DGV when + a column is added. + +2007-07-31 Jonathan Pobst + + * TextBoxBase.cs: Use Control.ExplicitBounds instead of explicit_bounds, + which is internal. + +2007-07-31 Jonathan Pobst + + * ToolStrip.cs: Stub out drag and drop methods, fix some corcompare stuff, + hide GetPreferredSize from public API. + * ToolStripDropDown.cs: Override AllowItemReorder, fix AccessibleObject. + * ToolStripItem.cs: Stub out drag and drop methods and events. + * ToolStripManager.cs: Stub out Save/LoadSettings. + * ToolStripOverflow.cs: Use renamed ToolStrip.GetPreferredSize. + * ToolStripPanel.cs: Fix corcompare error. + * ToolStripPanelRow.cs: Use renamed ToolStrip.GetPreferredSize. + * ToolStripSplitButton.cs: Fix AccessibleObject stuff. + * ToolStripSplitStackLayout.cs: Use renamed ToolStrip.GetPreferredSize. + +2007-07-31 Jonathan Pobst + + * TextBoxBase.cs: In our new GetPreferredSizeCore, return the explicit + bounds height instead of PreferredHeight. Puts things back the way + they were for height while still fixing the width. Fixes broken unit + tests. + +2007-07-31 Rolf Bjarne Kvinge + + * Binding.cs: Implement 2.0 constructors and add a null check. + +2007-07-31 Rolf Bjarne Kvinge + + * DataGridViewRowCollection.cs: Allow a null DGV in the constructor, + and fix row index (off by one). + +2007-07-31 Rolf Bjarne Kvinge + + * PropertyGridView.cs: Remove debug output. + +2007-07-31 Rolf Bjarne Kvinge + + * Control.cs: We need to reset the is_created flags when the handle is + destroyed. Fixes #82187. + * XplatUIWin32.cs: In GetWindowRect don't offset screen coordinates to + client coordinates if the window doesn't have a parent. + Win32GetParent returns the parent or the owner, and for top-level + windows with no parent (but with an owner) we were calculating the + location from the location of the owner. + * Form.cs: Remove incorrect fix for #82187. Don't raise OnLoad if the + form has been disposed. + * MdiClient.cs: Add a null-check. + +2007-07-30 Jonathan Pobst + + * TextBoxBase.cs: TextBoxBase reports itself at AutoSize, but doesn't + actually do auto-sizing. Override the internal GetPreferredSizeCore + so we can provide an implementation that returns the current width + and preferred height. Allows anchor = right to work with TextBox 2.0. + [Fixes bug #82233] + +2007-07-30 Carlos Alberto Cortez + + * ListView.cs: Add support for navigating items in Groups mode, by + creating a big matrix containing all rows and cols of all groups. When + are in other mode than Details, pressing Up should have a similar + behaviour as that one of Down (moving to the next available column if + current one doesn't have an item in the requested row). Also, don't + proceed to use groups if ShowGroups is false. + * ListViewGroup.cs: Add an internal int field to store the starting + row of the group (used by the big matrix used for navigating the + ListView). + * ThemeWin32Classic.cs: Don't draw headers if ListView.ShowGroups is + false. + +2007-07-30 Jonathan Pobst + + * ToolStripDropDown.cs: When we do Show, start with the + DefaultDropDownDirection, but if our popup menu is going to off-screen, + modify the direction to keep it on screen. [Fixes bug #82210] + +2007-07-29 Gert Driesen + + * FileDialog.cs: Accept any FilterIndex value, and store it + unmodified. When FilterIndex is less than 1, or greater than number + of filters, then default to first filter. Only add filter extension to + file if user did not specifiy an extension. When type of dialog is + OpenFileDialog and DefaultExt is set, then only use filter extension + if: CheckFileExists is true and no file wih the default extension + exists, or CheckFileExists is false, and user specified file does not + exist. When CheckFileExists is true, then add first extension of + selected filter that matches existing file. Perform checks for + existing file, overwrite and create after extension has been added to + file name. When CheckFileExists is true and type is SaveFileDialog, + then only consider first filter extension if DefaultExt is set. + When CheckFileExists is true, then ignore DefaultExt if file with that + extension does not exist. Also perform check for existing file when + type is SaveFileDialog. Changed some field to constants. + +2007-07-27 Carlos Alberto Cortez + + * ListView.cs: Take into account the region used by header + control when doing the vertical scroll (this way we invalidate + the precise area, and don't get any dirty one). + +2007-07-27 Everaldo Canuto + + * FileDialog.cs: Check for valid filterIndex on button open/save. + Fixes #82184. + +2007-07-27 Carlos Alberto Cortez + + * ListView.cs: Update some layout calculations in details view + and clean the code in a pair of assignations. + +2007-07-26 Jonathan Pobst + + * ComboBox.cs, ContainerControl.cs, DataGrid.cs, FontDialog.cs, Label.cs, + LinkLabel.cs, ListBox.cs, ListView.cs, ListViewItem.cs, MessageBox.cs, + MonthCalender.cs, StatusBar.cs, ThemeClearlooks.cs, ThemeWin32Class.cs, + ToolBar.cs, TreeView.cs: First pass at using thread-safe string measuring. + +2007-07-26 Jonathan Pobst + + * TextRenderer.cs: Use [ThreadStatic] instead of locks to improve + performance of thread-safe Graphic methods. (Thanks rolf!) + +2007-07-26 Carlos Alberto Cortez + + * ListView.cs: When doing the layout calculations, don't calculate + scroll bars before handle is created. This is unnecessary and also + calculating them before handle creation item causes a number of random + bugs (which begin to appear after Chris' big patch for handle creation + fixes). + +2007-07-26 Jonathan Pobst + + * TextRenderer.cs: Create thread-safe versions of Graphics.MeasureString + for things that don't have a Graphics object. Currently, things just use + the static Hwnd.bmp_g which is not thread safe. + +2007-07-26 Rolf Bjarne Kvinge + + * Form.cs: ShowDialog: don't destroy handles if the dialog is a common + dialog. Fixes #82187. + +2007-07-26 Rolf Bjarne Kvinge + + * DataGridViewElement.cs: Initialize state. + * DataGridView.cs: Forward a few Mouse events to cells. Add + GetRowInternal and GetCellInternal that doesn't unshare rows. + Implement GetCellDisplayRectangle. HitTest: if the row is shared, + don't use the index, but look it up. Add + DataGridViewControlCollection.RemoveInternal to remove controls + that Remove won't remove (scrollbars, edit control). + * DataGridViewColumn.cs: Initialize State correctly. + * DataGridViewColumnHeaderCell.cs, DataGridViewComboBoxCell.cs, + DataGridViewHeaderCell.cs, DataGridViewRowHeaderCell.cs: Started + implementing this. + * DataGridViewRowCollection.cs: Implemented shared rows. + * DataGridViewRow.cs: Throw exceptions as MS do. + * DataGridViewCell.cs: A few properties are implemented by a + Get method, so move implementation there and remove the + NIEX in the method. Add a bunch of OnXInternal that DataGridView + calls when necessary. + * DataGridViewComboBoxEditingControl.cs: Remove a few NIEX'es that just + complicates matters. + * DataGridViewCellCollection.cs: Add a GetCellInternal that doesn't + unshare any rows. + +2007-07-25 Jonathan Pobst + + * UpDownBase.cs: We cannot override SetBoundsCore for 2.0, which was relayout-ing + the children controls. Instead, we will just set up the proper docking for the + children controls so we don't have to worry about it. [Fixes bug #82188] + +2007-07-25 Jonathan Pobst + + * TreeView.cs, NodeLabelEditEventArgs.cs, LabelEditTextBox.cs: Support edit + canceling and correct Before/AfterLabelEdit properties as layed out in bug + 81847. [Fixes bug #81847] + +2007-07-25 Jonathan Pobst + + * Label.cs: If AutoSize = true and a width or height is set, ignore it and + redo the autosize. VS2005 defaults to setting the AutoSize, and then setting + an explicit size based on the design-time size of the text. Since our fonts + may not match this explicit size, we tend to cut off the ends of people's labels. + +2007-07-24 Jonathan Pobst + + * Menu.cs: Add some missing methods to MenuItemCollection. + +2007-07-24 Rolf Bjarne Kvinge + + * DataGridView.cs: Added RowTemplateFull, creates a row from the templates in the columns. + * DataGridViewBand.cs: DefaultHeaderCellType: initialize correctly. Resizable: if not set, check DGV. + * DataGridViewColumn.cs: InheritedAutoSizeMode: if not set, check DGV. Resizable: delegate to base class. ToolTipText: Never return null. Initialize a few other properties correctly. + * DataGridViewColumnCollection.cs: Add: Default column is a TextBoxColumn. + * DataGridViewComboBoxCell.cs: Started implementing this, lots left still. + * DataGridViewElement.cs: State defaults to Visible. + * DataGridViewRowCollection.cs: Add: creates the new row based on a template. + * DataGridViewTextBoxColumn.cs: SortMode: delegate to base class, but initialize to Automatic. ToString: implement correctly. + +2007-07-24 Rolf Bjarne Kvinge + + * Control.cs: Minor 1.1 corcompare fix. + +2007-07-23 Jonathan Pobst + + * LinkLabel.cs, PrintPreviewDialog.cs, TabPage.cs, TextBox.cs, + TextBoxBase.cs, ToolBar.cs: 2.0 corcompare work. + +2007-07-23 Rolf Bjarne Kvinge + + * DataGridViewLinkColumn.cs, DataGridViewRowCollection.cs, + DataGridViewImageColumn.cs, DataGridViewSelectedCellCollection.cs, + DataGridViewComboBoxCell.cs, DataGridViewLinkCell.cs, + DataGridViewSelectedColumnCollection.cs, + DataGridViewSelectedRowCollection.cs: Corcompare work. + +2007-07-23 Jonathan Pobst + + * PrintDialog.cs: Stub UseEXDialog. I chose to stub this because + it is autoset by VS2005 designer and the effect is barely noticeable. + +2007-07-23 Jonathan Pobst + + * TreeView.cs: Implement HitTest. + +2007-07-23 Rolf Bjarne Kvinge + + * DataGridViewTextBoxCell.cs: Use DGV.EditControlInternal instead of + manually adding and removing the control from the Controls + collecftion. + * DataGridView.cs: Implement DataGridViewControlCollection. Add an + EditingControlInternal property that tracks the editing control. + Always keeping the scrollbars in the Controls collection, as MS + testing confirms is the right behaviour. + +2007-07-23 Rolf Bjarne Kvinge + + * ScrollableControl.cs: Fix implementation of AutoScrollPosition + according to MSDN and new test. + +2007-07-20 Jonathan Pobst + + * TreeNode.cs: Implement ToolTipText. + * TreeView.cs: Implement tooltips, NodeMouse* events. + +2007-07-20 Jonathan Pobst + + * TreeView.cs: Implement OnNodeMouseClick and OnNodeMouseDoubleClick. + +2007-07-20 Jonathan Pobst + + * TreeNode.cs: Implement ContextMenu, ContextMenuStrip, and Level. + * TreeView.cs: Use the node's contextmenu[strip] if applicable. + +2007-07-20 Ivan N. Zlatev + + * Control.cs, Form.cs, ContainerControl.cs, + ScrollableControl.cs, ButtonBase.cs: Added ShouldSerialize + for misc properties. + +2007-07-20 Jonathan Pobst + + * TreeNode.cs: Implement StateImageIndex and StateImageKey. + * TreeView.cs: Implement StateImageList. + +2007-07-20 Rolf Bjarne Kvinge + + * Form.cs: Don't check if the current form is the active form before + activating it. Fixes #81904. + +2007-07-20 Rolf Bjarne Kvinge + + * Form.cs: Don't check if the current form is the active form before + activating it. Fixes #81904. + +2007-07-20 Rolf Bjarne Kvinge + + * TreeView.cs: Apply patch from Tyron (tmm@aon.at). Fixes #81847. + +2007-07-20 Rolf Bjarne Kvinge + + * Form.cs: Don't try to position the form after loading if the form was + disposed. Fixes #81969. + +2007-07-20 Rolf Bjarne Kvinge + + * PropertyGrid.cs, PropertyGridView.cs: Implemented 2.0 methods and + properties. Had to change ToolBar into ToolStrip, which required a + few #ifs. + +2007-07-20 Rolf Bjarne Kvinge + + * PropertyGrid.cs: PropertyToolBar: Redraw the entire toolbar when it's + resized, fixes part of #79829 (vertical lines in toolbar). + PropertyGrid: Refactored Populate* to something that's easier to + follow at least for me, as well as splitting it up into several new + methods, required to update only subitems when something has + changed by a popup editor or listbox. Don't use events to check + when any values are changed, since the events are unreliable (we're + changing the objects the events are registered with, and if the + event handling requires the objects to be immutable (objects stored + in hashtables for instance), the events will never be raised). + * PropertyGridView.cs: Call PropertyGrid.PropertyValueChangedInternal + everytime we change a value, since events are unreliable. + DropDownButtonClicked: For the same reason don't compare objects to + check if it has changed or not, it would require all objects to + derive Equals. Fix dialog location on windows, MS is doing weird + things when creating parented forms. + * GridEntry.cs: Add a SelectedObject setter. + +2007-07-19 Jonathan Pobst + + * TreeNode.cs: Add some corcompare attributes. + * TreeNodeCollection.cs: Implement 2.0 stuffs. + * TreeView.cs: Implement some 2.0 stuffs. + +2007-07-18 Andreia Gaita + + * WebBrowser.cs, WebBrowserBase.cs: add some more MonoTODOs now + for moma. + +2007-07-19 Jonathan Pobst + + * ListBox.cs: Implement custom tab offsets. + +2007-07-18 Jonathan Pobst + + * ToolStripContentPanel.cs: Support System renderer. + * ToolStripControlHost.cs: Set RightToLeft to default to No. + +2007-07-18 Jonathan Pobst + + * ScrollableControl.cs: Don't mess up the user's explicit bounds. + +2007-07-18 Jonathan Pobst + + * CheckBox.cs: Chain TextAlign to base implementation instead of + maintaining another one. + +2007-07-18 Jonathan Pobst + + * ButtonBase.cs: Fix an incorrect string constant. + +2007-07-18 Jonathan Pobst + + * TextRenderer.cs: Use the static Graphics context in Hwnd instead + of creating one for measuring strings. + +2007-07-18 Jonathan Pobst + + * ToolStrip.cs, ToolStripDropDown.cs, ToolStripDropDownMenu.cs: + Implement MaxItemSize. + +2007-07-17 Jonathan Pobst + + * Control.cs: Remove per-control 1x1 Bitmap and Graphics context used + for DeviceContext. Instead, use the static one available in Hwnd. + Informal tests show this saves about 500k on formtest.exe. + +2007-07-17 Jonathan Pobst + + * ContainerControl.cs: Implement 2.0 AutoScaling. + +2007-07-17 Rolf Bjarne Kvinge + + * ComboBox.cs: Work around bug #82120 (bug in mcs). + +2007-07-16 Jonathan Pobst + + * ThemeWin32Classic.cs: Allow a Flat button to be Focused and Entered. + Darken the focus color. + +2007-07-16 Jonathan Pobst + + * ListBox.cs: When measuring items, if it's a CheckedListBox, add room + for the checkbox. + * ThemeWin32Classic.cs: Make the checkbox bigger in a CheckedListBox and use + X, Y instead of a rect for drawing text. + - For ControlPaint.DrawCheckBox, center the check a little better when the + checkbox is odd width. When drawing a flat checkbox, use a white background + when state != inactive. + [Fixes bugs #82097, 82100] + +2007-07-16 Gert Driesen + + * ListControl.cs: When changing CurrencyManager, disconnect event + handlers from previous one. Fixes bug #81771. Code formatting. + +2007-07-15 Andreia Gaita + + * PrintPreviewControl.cs: Remove extraneous Invalidate calls. Separate + full preview invalidation from layout invalidation, and only invalidate + the layout when setting zoom or other properties. Invalidation should + always be done even when resetting properties with the same values as + what is there. Fixes #81744 and #79830. + +2007-07-15 Carlos Alberto Cortez + + * ListView.cs: Implement initial support for Groups. Split some of the + LayoutIcons code to render a partial list of the items (needed by + items contained in ListViewGroup instances). Let the + ListViewItemsCollection.ListView property be modifiable (needed when + using Groups, too). + * ListViewGroup.cs: Use a Bounds property rather than a Location + one. Also invalidate the bounds when they get changed. + * ThemeWin32Classic.cs: When drawing items, also draw the group header + if ListView.Groups.Count is bigger than 0. Add a DrawListViewGroupHeader + method as well. + +2007-07-15 Carlos Alberto Cortez + + * ListView.cs: When space gets pressed and CheckBoxes is true, + don't invoke the Begin and EndUpdate methods. We are generating + a redraw of the entire control without need to do so. + +2007-07-13 William Holmes + + * Control.cs: Changing logic in FindFlatForward and + FindFlatBackward to handle multiple Controls with + the same TabIndex. + This fixes bug 81687. + +2007-07-13 Jonathan Pobst + + * OSFeature.cs: Enable IsPresent. + +2007-07-13 Rolf Bjarne Kvinge + + * Control.cs: Don't do anything in WmShowWindow if the control has been + disposed. We can get WM_SHOWWINDOW after a control is disposed: a + control is created, put on a form, the control is disposed (the + form is never shown), and then we get a MapNotify, triggering a + WM_SHOWWINDOW. + * Form.cs: Exclude the current form when sending Deactivate to all + MdiChildren. + * NativeWindow.cs: Set WindowCreating to null as soon as possible, + there was a race condition because assigning the handle raises + events, we can get more messages, therefore trying to assign the + handle again, which would fail if any of those event handlers + closed/disposed the control. + +2007-07-13 Rolf Bjarne Kvinge + + * Form.cs: Make the fix for #80775 windows-only (fixes #81957). + +2007-07-12 Jonathan Pobst + + * SystemInformation.cs, Theme.cs, XplatUI.cs, XplatUIDriver.cs, + XplatUIWin32.cs: Implement SystemInformation 2.0 properties. + +2007-07-12 Rolf Bjarne Kvinge + + * DateTimePicker.cs: If there's no part format specifier, return an + empty string. + +2007-07-12 Jonathan Pobst + + * FlatButtonAppearance.cs: Throw NotSupportedException for a + Transparent BorderColor. + +2007-07-12 Rolf Bjarne Kvinge + + * DataGridView.cs, TextControl.cs, ProgressBar.cs, PrintDialog.cs, + MessageBox.cs, ButtonBase.cs, PageSetupDialog.cs, NumericUpDown.cs, + X11Dnd.cs, Binding.cs, DataGrid.cs, AxHost.cs, + LinkLabelLinkClickedEventArgs.cs, TextRenderer.cs, Label.cs, + LinkLabel.cs, TreeNode.cs, BindingSource.cs, TabPage.cs, + TextBoxBase.cs, BindingNavigator.cs, Application.cs, + ToolStripPanel.cs, TabControl.cs, ThemeClearlooks.cs, TreeView.cs: + Remove warnings. + * X11Structs.cs: Remove warnings, add ToString implementations. + +2007-07-11 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Translate min/max size according to the actual min/max + size, and not the current size. Fixes #81798. + +2007-07-11 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Fix #80822 again (DefWndProc can be reached before + XplatUI.CreateWindow returns, in which case the hwnd isn't assigned + to the control yet). + +2007-07-11 Rolf Bjarne Kvinge + + * PropertyGridTextBox.cs: Add a method that sends any forwarded + mousedowns to the contained textbox. + * X11Structs.cs: More ToString implementation. + * PropertyGridView.cs: Forward any mousedowns to the textbox, fixes + #81791. + +2007-07-11 Rolf Bjarne Kvinge + + * PropertyGridView.cs: Add a null-check, fixes a few tests. + +2007-07-10 Jonathan Pobst + + * TableLayoutPanelCellPosition.cs: TypeConverter. + +2007-07-10 Rolf Bjarne Kvinge + + [ Fixes #79761] + + * PropertyGridTextBox.cs: Propagate any color changes to all contained + controls. + * PropertyGridView.cs: A few color fixes. + +2007-07-10 Jackson Harper + + * TextControl.cs: Remove some old unused text formatting stuff. + +2007-07-10 Jackson Harper + + * TreeView.cs: Update full row select invalidation to match the + newer DrawSelection... method. + - Make sure to invalidate the entire width when selecting a new + node, if we have full row selection enabled. + +2007-07-10 Rolf Bjarne Kvinge + + * PropertyGridView.cs: Fix for #81800, makes text show up on initial + display of properties again. + +2007-07-10 Jonathan Pobst + + * ListBox.cs: Add IntegerCollection and Add, Clear, Remove + to existing collections. + +2007-07-09 Jonathan Pobst + + * AccessibleObject.cs, RadioButton.cs: Fix some base classes + that changed between 1.1 and 2.0. + +2007-07-09 Jonathan Pobst + + * PowerStatus.cs: Added. This is just a data class, it is filled + in by SystemInformation. + +2007-07-09 Jonathan Pobst + + * Message.cs: Add op_Equality and op_Inequality. + +2007-07-09 Jonathan Pobst + + * MenuStrip.cs: Finish corcompare work. + +2007-07-09 Jonathan Pobst + + * LinkArea.cs: Add op_Equality and op_Inequality. + +2007-07-09 Jonathan Pobst + + * Application.cs: Add MessageLoopCallback delegate. + +2007-07-09 Jonathan Pobst + + * ListBox.cs: First set of 2.0 stuffs. + +2007-07-09 Jonathan Pobst + + * Control.cs: Make an internal Height property we can override + without messing up the public API. + * ListBox.cs: Override HeightInternal to always return the size + the user set. [Fixes bug #80466] + +2007-07-08 Jonathan Pobst + + * TableLayoutPanel.cs: Add a null check so we don't NRE trying to + paint cell borders if we haven't calculated where they go yet. + [Fixes bugs #82040 and #82041] + +2007-07-07 Carlos Alberto Cortez + + * ListView.cs: In Details view, set the location of item_control + in the (0,0) position (and the header_control is thus on the + item_control). This way the Bounds of the Items are relative to the + ListView control (before this, they had a Bounds value without the + header_control offset, which wasn't matching .Net). Fixes #82004. + +2007-07-07 Carlos Alberto Cortez + + * ListControl.cs: When DataSource is set to null, pass an empty + array of object to SetItemsCore. This is done to clean the items + in the ListContol children. Fixes #81788. + +2007-07-06 Jonathan Pobst + + * ListControl.cs: Add 2.0 stuffs. + +2007-07-06 Jonathan Pobst + + * Label.cs: Finish up 2.0 stuffs. Replace calls to Refresh with Invalidate, + Refresh is overkill for just about every repaint request. + +2007-07-06 Jonathan Pobst + + * ToolStripItem.cs: TextDirection getter handles looking up Inherit for us, + so remove my custom Get method and fix the property getter. + +2007-07-06 Jonathan Pobst + + * Label.cs: DefaultMargin for 2.0. + +2007-07-06 Jonathan Pobst + + * ComboBox.cs: Override IsInputCharInternal and return true. Fixes + reported issue where other controls with mnemonics would steal strokes + from a selected ComboBox. + +2007-07-06 Jonathan Pobst + + * ScrollOrientation.cs: Make internal for 1.1. + * ScrollEventArgs.cs: Add 2.0 stuffs. + +2007-07-05 Jonathan Pobst + + * ToolStrip.cs, ToolStripControlHost.cs, ToolStripDropDown.cs, + ToolStripItem.cs, ToolStripItem.cs, ToolStripItemTextRenderEventArgs.cs, + ToolStripRenderer.cs, ToolStripSeparator.cs: Implement TextDirection. + +2007-07-05 Carlos Alberto Cortez + + * ListViewItem.cs: Implement the small 2.0 GetSubItemAt method. + +2007-07-05 Carlos Alberto Cortez + + * ListView.cs: Implement the so-incredibly broken 2.0 + VirtualItemsSelectionRangeChanged event. + +2007-07-05 Carlos Alberto Cortez + + * ListView.cs: When enter is pressed and selection is non empty, + an OnItemActivate event must be fired. + +2007-07-05 Carlos Alberto Cortez + + * ListView.cs: Store the FocusedItem information as an + int instead of a ListViewItem (needed by VirtualMode). + Update the calls to SetFocusedItem to pass an index instead of + an item. + * ListViewItem.cs: Likewise. Also, in VirtualMode retrieve + the Focused state from the owner ListView. + +2007-07-04 Carlos Alberto Cortez + + * ListView.cs: Set ListView.focused_item from ListViewItem.Focused + property. Also, invalidate previous focused item in the mentioned + property (match .Net). + +2007-07-04 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 FocusedItem property setter. + +2007-07-03 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 TopItem property setter. + +2007-07-03 Jonathan Pobst + + * StatusStrip.cs: The default renderer is System. + * ToolStrip.cs, ToolStripManager: Now that we have System renderer, use it + if the user specifies it. + * ToolStripDropDown.cs: Don't reset our Renderer on changing OwnerItem + if we are ManagerRenderMode. + * ToolStripMenuItem.cs: Calculate our text color better. + * ToolStripRenderer.cs, ToolStripProfessionalRenderer.cs: Move some stuff + from Professional to the base class based off working with the System renderer. + * ToolStripSystemRenderer.cs: Added. + +2007-07-02 Carlos Alberto Cortez + + * ListView.cs: I'm so lame - the real name is HitTest, not HitInfo. + +2007-07-02 Jonathan Pobst + + * ToolTip.cs: Implement 2.0 Tag property. + +2007-06-25 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 HitTest methods. + +2007-06-24 Carlos Alberto Cortez + + * ListViewItem.cs: Add a 2.0 bool Hot property, to tell whether the + item is under the pointer or not (sugar). Also remove the TODO + regarding to the cursor changes in OneClick activation. + * ThemeWin32Classic.cs: When HotTracking is true and we are drawing + the subitems use the parent's HotFont if UseItemStyleForSubItems is + true; otherwise don't show the underline style. + +2007-06-22 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.ItemsMouseMove, refactor + the code to retrieve the item at position only one time. Also + change cursor when Activation is ItemActivation.OneClick as well + as invalidate the item if HotTracking is true (to show/hide the + underline style). Add an internal HotItemIndex property to retrieve + the current hot item's index. + * ListViewItem.cs: Add an internal HotFont property to cache the + font used when HotTracking is true and the pointer moves within the + item's borders. + * ThemeWin32Classic.cs: When drawing the item's text, use Font or + HotFont depending on the hot state of the item. + +2007-06-22 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 HotTracking property. + +2007-06-21 Jonathan Pobst + + * ToolStripControlHost.cs: If our hosted control never got created, + don't try to dispose it. [Fixes bug #81909] + +2007-06-21 Jonathan Pobst + + * TableLayoutPanel.cs: Implement ScaleCore, ScaleControl. + +2007-06-21 Jonathan Pobst + + * TableLayoutPanel.cs: Implement CellBorderStyle. [Fixes bug #81884] + +2007-06-20 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: In OwnerDraw mode draw subitems only for + Details view. + * DrawListViewColumnHeaderEventArgs.cs: + * DrawListViewSubItemEventArgs.cs: Add padding to the bounds when drawing text + using the DrawText () methods. + +2007-06-19 Jonathan Pobst + + * ToolStripProfessionalRenderer.cs: Put back clearing a ToolStripDropDown's + background which got erased in my changes yesterday. + +2007-06-19 Carlos Alberto Cortez + + * ListViewItem.cs: Actually set bounds for subitems in Details view + (2.0 feature). + * ThemeWin32Classic.cs: Refactor the drawing code for subitems, so we + can invoke from the owner draw routines if we need it. Also, add + support for Owner draw in Details view. + +2007-06-18 Jonathan Pobst + + * ToolStripDropDownMenu.cs, ToolStripItem.cs, ToolStripLabel.cs, + ToolStripMenuItem.cs, ToolStripProfessionalRenderer.cs: Respect the + ShowImageMargin setting, properly align text in a ToolStripLabel + hosted on a ToolStripDropDown. + +2007-06-18 Jonathan Pobst + + * ToolStrip.cs, ToolStripContentPanel.cs, ToolStripDropDownMenu.cs, + ToolStripProfessionalRenderer.cs: Refactor and clean up some rendering code. + +2007-06-18 Carlos Alberto Cortez + + * DrawListViewSubItemEventArgs.cs: Actually implement its methods. + +2007-06-18 Jonathan Pobst + + * ToolStripLabel.cs: If the label is on a dropdown, adjust the text + location to match ToolStripMenuItems. + +2007-06-15 Carlos Alberto Cortez + + * DrawListViewColumnHeaderEventArgs.cs: + * ThemeWin32Classic.cs: Implement 2.0 OwnerDraw support for + column headers in ListView. + +2007-06-15 Jonathan Pobst + + * UserControl.cs: Implement AutoSize. + +2007-06-15 Carlos Alberto Cortez + + * DrawListViewItemEventArgs.cs: + * ListView.cs: + * ThemeWin32Classic.cs: Implement basic support for 2.0 OwnerDraw in + ListView. + +2007-06-15 Jonathan Pobst + + * ToolStripDropDownItemAccessibleObject.cs: Added. + * ToolStripDropDownItem.cs, ToolStripItem.cs, ToolStripMenuItem.cs, + ToolStripOverflow.cs, ToolStripOverflowButton.cs, ToolStripPanel.cs, + ToolStripProgressBar.cs, ToolStripSeparator.cs, ToolStripSplitButton.cs, + ToolStripTextBox.cs: corcompare work. + +2007-06-14 Jonathan Pobst + + * OSFeature.cs, StatusStrip.cs, TabControl.cs, TableLayoutSettings.cs, + TableLayoutStyle.cs, TableLayoutCollection.cs, ToolStripContentPanel.cs, + ToolStripControlHost.cs, ToolStripDropDown.cs, ToolStripDropDownButton.cs: + corcompare. + +2007-06-14 Jonathan Pobst + + * OSFeature.cs: Add IsPresent. + * PrintPreviewControl.cs: Add RightToLeft. + * SplitContainer.cs: Add AutoScrollOffset, ScaleControl. + * SplitterPanel.cs: Add AutoSizeMode. + +2007-06-13 Jonathan Pobst + + * LayoutEventArgs.cs: Add 2.0 AffectedComponent. + * MdiClient.cs: Add 2.0 ScaleControl. + * NativeWindow.cs: Implement 2.0 interface IWin32Window. + * NumericUpDownAccelerationCollection.cs: Add [ListBinding]. + +2007-06-13 Jonathan Pobst + + * Form.cs: Implement some scaling methods, stub some RTL methods, + corcompare work. + +2007-06-13 Jonathan Pobst + + * Control.cs: corcompare work. + * FlatButtonAppearance.cs, FolderBrowserDialog.cs: Add TypeConverters. + +2007-06-13 Jonathan Pobst + + * ControlPaint.cs, Theme.cs, ThemeWin32Classic.cs: Implement + ControlPaint 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * ThreadExceptionDialog.cs: Add 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * UpDownBase.cs: Add 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * NumericUpDown.cs: Add 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * NotfiyIcon.cs: Add MouseDoubleClick event, hook up MouseClick event. + +2007-06-12 Jonathan Pobst + + * ErrorProvider.cs: Implement 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * DomainUpDown.cs: Implement 2.0 stuffs. + +2007-06-12 Jonathan Pobst + + * CheckedListBox.cs: Fix RefreshItems signature. + +2007-06-12 Jonathan Pobst + + * PictureBox.cs: Implement 2.0 stuffs. + +2007-06-12 Andreia Gaita + + * TabControl.cs: Check if there are tabpages before checking + the selected index - fix #81802 (font changes raise a ResizeTabs + call on controls.add, which blew up nicely with no tabpages) + +2007-06-11 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: Implement 2.0 ItemSelectionChanged event. + +2007-06-11 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: In VirtualMode the selection information + resides in the ListView, rather than in the Items. Also, throw + InvalidOperationExceptions when VirtualMode is being used and + CheckedItemCollection is accessed. + +2007-06-08 Jonathan Pobst + + * ComboBox.cs: Add ScaleControl. + +2007-06-08 Jonathan Pobst + + * ButtonBase.cs: ButtonBaseAccessibleObject.State should not be visible to 1.1. + +2007-06-08 Jonathan Pobst + + * GroupBox.cs: Add 2.0 stuffs. + +2007-06-08 Jonathan Pobst + + * Panel.cs: Add autosize properties/event. + +2007-06-07 Jonathan Pobst + + * Control.cs: + - When we remove a control, remove it from the collection before performing the layout. + - Setup an internal property for explicit_bounds. + - Don't let the UpdateBounds in CreateHandle overwrite our explicit bounds. + - Perform a layout when we set a new AutoSizeMode. + +2007-06-07 Jonathan Pobst + + * ScrollableControl.cs: Add 2.0 stuffs. + +2007-06-06 Jonathan Pobst + + * ScrollBar.cs: Add 2.0 stuffs. + +2007-06-06 Jonathan Pobst + + * Splitter.cs: Add 2.0 stuffs. + +2007-06-06 Jonathan Pobst + + * SplitContainer.cs: Apply patch from Neil Cawse + to have BindingContext simply use base implementation. + +2007-06-06 Jonathan Pobst + + * ColumnHeader.cs: corcompare fix. + +2007-06-06 Jonathan Pobst + + * Button.cs: corcompare fixes. + * ButtonBase.cs: corcompare fixes, add ButtonBaseAccessibleObject.State. + +2007-06-06 Jonathan Pobst + + * Button.cs: Override GetPreferredSizeCore. + * ButtonBase.cs: PerformLayout after changing properties that can affect + AutoSize. Simplify some mouse/keyboard code. + * Control.cs: PerformLayout after changing Padding if AutoSize = true. + * MouseEventArgs.cs: Make Location internal for 1.1. + * TextRenderer.cs: Make MeasureTextInternal (string, Font, bool) internal for 1.1. + * Theme.cs: Add CalculateButtonAutoSize. + * ThemeWin32Classic.cs: Implement CalculateButtonAutoSize. + +2007-06-05 Miguel de Icaza + + * TreeNodeCollection.cs: Applied patch from Neil Cawse + +2007-06-05 Carlos Alberto Cortez + + * ListViewItem.cs: We can't cache Bounds in VirtualMode + since we can get different item instances every time we retrieve it. + +2007-06-04 Carlos Alberto Cortez + + * ListView.cs: Work around for #81602, since an unkown an pretty + infrequent condition appears only in some systems (old linux boxes, it + seems). + +2007-06-04 Jonathan Pobst + + * Button.cs: Completely reformat and a little refactor to bring + this closer to Mono circa 2007. + +2007-06-04 Jonathan Pobst + + * CheckBox.cs, Form.cs, RadioButton.cs: Change call to ButtonBase.Redraw + to be ButtonBase.Invalidate. + +2007-06-04 Jonathan Pobst + + * ButtonBase.cs: GetPreferredSize is 2.0 only. Fixes build. + +2007-06-04 Jonathan Pobst + + * ButtonBase.cs: Completely reformat and a little refactor to bring + this closer to Mono circa 2007. + +2007-06-01 Everaldo Canuto + + * Label.cs: Fixes preferred sizes for 2.0 profile, also adjust some + values for autosize. Fixes #80137. + +2007-06-01 Jonathan Pobst + + * Control.cs: Don't perform layout when AutoSize changes. + * Form.cs: Perform layout in AutoSize override. Don't set ClientSize + directly when autosizing, use SetBounds with BoundsSpecified.None. + Fixes unit tests my last commit broke. + +2007-06-01 Jonathan Pobst + + * Control.cs: Perform layout when AutoSize changes. + * Form.cs: Implement AutoSizing. + +2007-06-01 Chris Toshok + + * DataGrid.cs: remove the XXX'ed check at the top of + ProcessGridKey. fixes #80464. + +2007-06-01 Chris Toshok + + * DataGridTextBoxColumn.cs: TextBox.TextChanged event handler + adding idempotent (add/remove in Edit()), and also make sure we + don't add it until after we set the text, so it's not tripped in + Edit(). Fixes unit test regression. + +2007-06-01 Jonathan Pobst + + * Control.cs: In UpdateBounds, only recalculate anchor distances if the + change is user explicit, not when the layout engine moves stuff. Fixes + anchoring to bottom and right. [Fixes bug #81790] + +2007-06-01 Andreia Gaita + + * PrintDialog.cs: Add collation preview thumbnails. Fixes #80726. + +2007-06-01 Andreia Gaita + + * ContainerControl.cs: + Fire enter event for common ancestor if it is not a ContainerControl. + Send focus to the active_control and not the 'value', the active + control might have been changed in one of the events fired. + Definitely fixes #80159. + +2007-06-01 Andreia Gaita + + * DataGrid.cs: Finish editing when focus leave the datagrid. Fixes #80159. + +2007-06-01 Rolf Bjarne Kvinge + + * PropertyGrid.cs: Anchor the help description to the bottom of the + help panel and refactor SelectGridItem into a + SelectGridItemInternal that can be set to null (and update it to + clear the help texts when it is set to null). Set root item to null + when there's no SelectedObject. Fixes #80438. + * ScrollableControl.cs: In Recalculate we need to ResumeLayout(true) + when we're recalculating after a resize (only). + +2007-05-31 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 RedrawItems method. + +2007-05-31 Carlos Alberto Cortez + + * ListControl.cs: Disconnect PositionChanged and ItemChanged + handlers from previous data manager when DataSource is set to + null. Fixes #81771. + +2007-05-31 Jackson Harper + + * TextBoxBase.cs: These seem to be the correct values. + +2007-05-31 Everaldo Canuto + + * FileDialog.cs: When close dialog with ok set filterindex using combobox + value. Fixes #81784. + +2007-05-31 Jonathan Pobst + + * Control.cs: Implement 2.0 scaling methods. + +2007-05-31 Rolf Bjarne Kvinge + + * ProgressBar.cs, WebBrowserBase.cs, Control.cs, MaskedTextBox.cs, + MessageBox.cs, PropertyGrid.cs, RichTextBox.cs: Fix warnings and + corcompare issues. + +2007-05-31 Rolf Bjarne Kvinge + + * ProgressBar.cs: Implemented missing 2.0 members. + +2007-05-31 Rolf Bjarne Kvinge + + * Control.cs: Corcompare issues. + * MessageBox.cs: Implemented missing 2.0 functions. + +2007-05-31 Rolf Bjarne Kvinge + + * CheckedListBox.cs, ListBox.cs, ListControl.cs, ComboBox.cs: + Implemented more 2.0 members. + +2007-05-31 Rolf Bjarne Kvinge + + * Application.cs: Try to avoid NRE when Assembly.GetEntryAssembly is + null (strange, but it seems to happen when running unit tests). + +2007-05-30 Andreia Gaita + + * ContainerControl.cs: Set active_control even earlier, before + firing any events, and undo it if validation returns false. + +2007-05-30 Andreia Gaita + + * ContainerControl.cs: Raise Validation and Enter/Leave events + even if there is no Form and set active_control earlier, just + before firing Enter events (toshok's patches). Fixes #80647. + +2007-05-30 Jackson Harper + + * TextControl.cs: Redid the pageup/pagedown a little to simplify + things and fix bug #81311. + +2007-05-30 Jackson Harper + + * X11Dnd.cs: Now that we have our own event loop, we need to + cancel when we get a mouseup but it won't be accepted. + +2007-05-30 Chris Toshok + + * DataGrid.cs (set_CurrentCell): guard against negative + column/row. + + * DataGridColumnStyle.cs (CheckValidDataSource): just use the + array index syntax instead of looping over the property names. + + * DataGridTextBoxColumn.cs: add a changed handler on the textbox, + and set IsInEditOrNavigateMode to false there. + +2007-05-30 Jackson Harper + + * TreeView.cs: Make sure we don't get a bad visible order when + setting to the top node. Fixes some misc crashing in + ControlInspector. + +2007-05-30 Andreia Gaita + + * UserControl.cs: Add 2.0 AutoSizeMode + +2007-05-29 Everaldo Canuto + + * DataGridTextBoxColumn.cs: Fix textbox horizontal offset. + +2007-05-29 Everaldo Canuto + + * DataGridTextBoxColumn.cs: Fix textbox position to prevent override grid + lines. Fixes #80285. + +2007-05-29 Everaldo Canuto + + * DataGridColumnStyle.cs: Add char trimming column header text format. + +2007-05-29 Everaldo Canuto + + * DataGridColumnStyle.cs: Fix grid header arrow drawing over column name. + Fixes #80147. + +2007-05-29 Jackson Harper + + * TreeNode.cs: Fix off by one on calculating whether or not a node + is visible. + +2007-05-29 Jonathan Pobst + + * Control.cs: ResumeLayout(false) should recalculate anchor distances. + * ScrollableControl.cs: Force an UpdateDistances when we move the + scrollbars. + [Fixes bug #80605] + +2007-05-29 Andreia Gaita + + * PageSetupDialog.cs: Fix #80728 - Changing the printer doesn't + update the page setup screen. + +2007-05-29 Andreia Gaita + + * PageSetupDialog.cs: Fix landscape mode. + +2007-05-28 Carlos Alberto Cortez + + * SystemInformation.cs: Add 2.0 IconSizeVerticalSpacing and + IconSizeHorizontalSpacing. + +2007-05-28 Carlos Alberto Cortez + + * ListView.cs: The declaration of prev_tooltip_item should be inside + a NET_2_0 conditional (avoid a warning). + +2007-05-28 Andreia Gaita + + * PageSetupDialog.cs: Implement PrintPreview control to display + the preview thumbnail. Change unit conversion to use + PrinterUnitConvert methods. + + Note: there is a huge bug in ms.net where the default margins are + interpreted as centimeters (?), when in fact they are set in inches. When + loading the page setup dialog initially (ms.net), the default margins + are set to 1 inch, and the dialog shows them with value 10, when in fact + it should be 25 (properly converted). Our dialog doesn't have this bug. + + * Theme.cs, ThemeWin32Classic.cs: Add a CPDrawBorder override for + RectangleF. + * ControlPaint.cs: Add a DrawBorder internal method for RectangleF. + +2007-05-28 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: Implement 2.0 ToolTipText support for listview + items. + +2007-05-28 Andreia Gaita + + * X11Dnd.cs: A direct cast to VirtualKeys is not allowed from + an IntPtr on csc (it builds fine on mcs, could it be a compiler + bug?), convert the ptr to Int32 first. + +2007-05-28 Jackson Harper + + * X11Dnd.cs: Add a timer, so after drop, if a finish is not + recieved, we will exit the dnd tracking loop. + +2007-05-28 Jackson Harper + + * X11Dnd.cs: Keep tracking until the xdnd finished event is + recieved. TODO: I should probably stick a timer on the dropped + event, and finish the drag if the XDND Finished event never shows + (because some apps don't seem to send it). + +2007-05-28 Everaldo Canuto + + * ToolBar.cs: Fix toolbar default width for button with image. Fixes + #81733. + +2007-05-28 Rolf Bjarne Kvinge + + * MonthCalendar.cs: Only mark the keypresses we actually handle as + handled. + +2007-05-28 Rolf Bjarne Kvinge + + * MonthCalendar.cs: Set the size after initializing all the relevant + variables. Fixes #81742. + +2007-05-28 Rolf Bjarne Kvinge + + * KeyEventArgs.cs: Fix typo. + +2007-05-28 Gert Driesen + + * DateTimePicker.cs: Changed exceptions thrown by MinDate and MaxDate + to match MS. Fixed MinDate to only accept value less than or equal + to MaxDate on 2.0 profile and less than MaxDate on 1.0 profile. + Removed TODO's that are now verified by unit tests. + +2007-05-27 Gert Driesen + + * TreeNodeCollection.cs: Minor corrections to exceptions to match + MS. + +2007-05-25 Jackson Harper + + * X11Dnd.cs: Rework to make StartDrag a blocking call that runs + it's own message loop. + * XplatUIX11.cs: Remove some of the dnd hooks + +2007-05-25 Gert Driesen + + * XplatUIX11.cs: Change MinimumWindowSize to {Width=0,Height=0} + instead of MinimizedWindowSize. + +2007-05-25 Jackson Harper + + * TextBoxBase.cs: Raise textchanged when cutting and pasting text. + +2007-05-25 Rolf Bjarne Kvinge + + * KeyEventArgs.cs: Added SuppressKeyPress. + * Control.cs: Added support for SuppressKeyPress. + +2007-05-24 Andreia Gaita + + * NumericUpDown.cs: Refactor code to fix regressions on #79950 and + problems with PieChart. suppress_validation should not be a counter, + if there are several BeginInit calls, the first EndInit will + activate validation. Fix exceptions thrown by set_Value. + * UpDownBase.cs: ValidateText only if it's the user editing it. + +2007-05-24 Carlos Alberto Cortez + + * ListControl.cs: FilterItemOnProperty should return the filtered + item proeprty even if DataSource is null. The same applies for + GetItemText. Fixes #80427. + +2007-05-24 Jonathan Pobst + + * Control.cs: If a control doesn't have a parent when it's Dock is + set, but it has children, it needs to do a layout. Fixes some nested + controls issues. [Fixes bug #81199] + +2007-05-24 Rolf Bjarne Kvinge + + * ComboBox.cs: If there are few items in the drop down list, make it + the exact size the items need, no bigger. Fixes #81612. + +2007-05-24 Jonathan Pobst + + * Application.cs: When we have captured the keyboard for a menu, + check for mouse down events in case we need to close the menu. + * Control.cs, Form.cs: Remove mouse down checks for menus. + +2007-05-24 Jackson Harper + + * TextControl.cs: Handle tabs in non multiline mode a little + differently. + +2007-05-24 Jackson Harper + + * TextControl.cs: We need to manually break apart tabbed text and + move the tabs, since the system.drawing tabbing mechanism relies + on tab stops. + * TextBoxBase.cs: Move the caret properly when the user enters a + tab. + +2007-05-24 Jonathan Pobst + + * ContainerControl.cs: Don't check CanSelect before calling + ProcessMnemonic. + * ToolStrip.cs: Only do implicit mnemonics on MenuStrips. Don't + release a KeyboardActive on click if it's not ours. + +2007-05-23 Andreia Gaita + + * ColumnHeader.cs: Add TypeConverter + +2007-05-23 Everaldo Canuto + + * LinkLabel.cs: Implement LinkCollection.Add with Link parameter (2.0). + +2007-05-23 Everaldo Canuto + + * LinkLabelLinkClickedEventArgs.cs, LinkLabel.cs: Implement Button property. + +2007-05-23 Everaldo Canuto + + * LinkLabel.cs: Implement public Padding property. + +2007-05-23 Everaldo Canuto + + * LinkLabel.cs: Implement public FlatStyle. + +2007-05-23 Jonathan Pobst + + * Control.cs: Apply patch from George to call parent.PerformLayout + when Visible is changed. [Fixes bugs #81118, 81718] + +2007-05-23 Everaldo Canuto + + * MainMenu.cs, MenuAPI.cs: Implement Collapse event for MainMenu (2.0). + +2007-05-23 Everaldo Canuto + + * ContextMenu.cs: Implement ProcessCmdKey with control parameter. + +2007-05-23 Everaldo Canuto + + * ContextMenu.cs: Implement Collapse. + +2007-05-23 Rolf Bjarne Kvinge + + * ToolBarButton.cs: Implement Name. + +2007-05-22 Everaldo Canuto + + * ToolBar.cs: Fix OnButtonDropDown to save item used in dropdown instead of + use current_item, it prevents some NRE. Fixes #81675. + +2007-05-22 Andreia Gaita + + * NumericUpDown.cs: Fix PieChart by not returning from UpdateEditText + without updating the text. + +2007-05-22 Jonathan Pobst + + * XplatUIWin32.cs: Plug a GDI leak caused by calling Font.ToHfont () + without calling DeleteObject. [Should fix bug #81709] + +2007-05-22 Jackson Harper + + * RichTextBox.cs: Set the line endings correctly, when flushing + RTF text. + +2007-05-22 Gert Driesen + + * XplatUIX11.cs: MinimumWindowSize on X11 is actually + {Width=0,Height=0}. + +2007-05-22 Jackson Harper + + * TreeView.cs: Setting top with a null node should set to the very + top. + +2007-05-22 Rolf Bjarne Kvinge + + * Form.cs: ShowDialog: destroy the handle when message loop is + finished, matches MS behaviour. Refactor parts of WmClose into + RaiseCloseEvents, that only raises events if they haven't already + been raised. Fixes #81688 and #81521. + * Application.cs: Don't call close on the form when exiting a modal + loop, it will raise all the (Form)Closed/Closing events again if + WM_CLOSE has been sent earlier on, instead call RaiseCloseEvent, + which doesn'r raise any events it they have been raised before. + +2007-05-22 Jonathan Pobst + + * Control.cs: Add OnPrint. + * ToolStrip.cs: Add GetChildAtPoint. + * ToolStripContainer.cs: Add OnRightToLeftChanged. + * ToolStripRenderer.cs: Make CreateMirrorImage internal. + +2007-05-22 Everaldo Canuto + + * MenuAPI.cs: Prevent context menu to be typed as MainMenu. Fixes #81509. + +2007-05-22 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: ToolTipShow: Don't show tooltip if the form + isn't visible anymore. Fixes #81651. + +2007-05-22 Rolf Bjarne Kvinge + + * Control.cs: WmShowWindow: Update children's z-order after setting + their parent. SetParent may show the window, thereby corrupting + z-order, since the window will be shown on top. + * XplatUIWin32.cs: SetParent: don't call SetVisible on forms. Prevents + multiple (and redundant) WM_SHOWWINDOW messages. + * MdiWindowManager.cs: RaiseDeactivate: only raise after an Activate + event has already been raised. + * Form.cs: Change is_changing_visible_state to a counter, since + SetVisibleCore can be called recursively. CreateHandle: when + creating mdi children, send (De)Activated events. + * MdiClient.cs: Update use of is_changing_visible_state. + * Application.cs: OnThreadException: Surround exception handling with + try/finally to ensure we always reset the error-handling state + before leaving. + +2007-05-22 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: DrawProgressBar: Avoid a DivideByZero exception + (#81704). + +2007-05-21 Carlos Alberto Cortez + + * ListView.cs: Use Theme.ListViewHorizontalSpacing for List and + SmallIcon views, now that we have a standarized horizontal spacing. + + * ThemeWin32Classic.cs: ListViewHorizontalSpacing now has a value of + 4, just like the other views (Match .Net). + +2007-05-21 Jonathan Pobst + + * Control.cs: Delay calculating anchor distances until we actually layout. + Always query the WM for the actual size and location it put us at instead of + only when we send negative values. + [Fixes bugs #81694, 81695] + +2007-05-21 Rolf Bjarne Kvinge + + * Application.cs: Avoid a possible stack overflow when trying to exit + the application. + +2007-05-19 Marek Safar + + * Theme.cs (GetHatchBrush): A key uses internal value instead of formated + enum value. + +2007-05-19 Andreia Gaita + + * NumericUpDown.cs: Added 2.0 methods (spin acceleration) + * NumericUpDownAcceleration.cs, + NumericUpDownAccelerationCollection.cs: Added 2.0 + implementation. + +2007-05-19 Gert Driesen + + * RichTextBox.cs: Recalculate the document after the ScrollBars + property is changed. Fixes bug #81681. + +2007-05-18 Jonathan Pobst + + * DataObject.cs: Implement 2.0 methods. + +2007-05-18 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: Draw the check marks in ListViewItems + in the center of the checkbox, not in the left-top corner. + Fixes #80037. + +2007-05-18 Jackson Harper + + * RichTextBox.cs: Recalculate the document after the scrollbars + property is changed. + * TextBoxBase.cs: ScrollBars is not a flags enum...This fixes + 81486. + +2007-05-18 Rolf Bjarne Kvinge + + * CreateParams.cs: Make HasWindowManager marginally faster. + * XplatUIX11.cs, Hwnd.cs: CreateWindow: Move the default location code + into Hwnd so that other drivers can use it as well. + * XplatUIWin32.cs: CreateWindow: If the window has a window manager get + the default location from Hwnd. Fixes MDI client windows always + showing up at (0,0) in Windows (Win32 won't set the default + location since the window styles aren't correct). + +2007-05-18 Gert Driesen + + * TreeView.cs: Modified DoubleBuffered to just use the base + implementation. + +2007-05-18 Jackson Harper + + * TreeView.cs: Set the top node to the last child node when + expanding all + - When we get focus, if there is no selected node, use the top + node. + +2007-05-18 Jonathan Pobst + + * KeysConverter.cs: Add CanConvertTo. + * LinkLabel.cs: Add some 2.0 constructors and properties to LinkLabel.Link. + * LinkConverter.cs: Added. + +2007-05-18 Everaldo Canuto + + * Cursor.cs: Apply Sebastien patch from #81669 to open file in read mode, + it prevents error when file dont have write access. Fixes #81669 and #81667. + +2007-05-18 Everaldo Canuto + + * ThemeWin32Classic.cs: Check for ShowKeyboardCues true when draw toolbar + button text. Fixes #79640. + +2007-05-18 Everaldo Canuto + + * Control.cs: According to MSDN controls created in the designer theres + keyboard accelerators visible by default. So included check for design + in ShowKeyboardCuesInternal. + +2007-05-18 Everaldo Canuto + + * ThemeWin32Classic.cs: Check for ShowKeyboardCues true when draw combobox + text. Fixes #81621. + +2007-05-18 Everaldo Canuto + + * Control.cs: ShowKeyboardCuesInternal add to expose ShowKeyboardCues + for 1.0, becuse ShowKeyboardCues is protected on 1.0. + +2007-05-17 Everaldo Canuto + + * Control.cs: Finish implementation of UI State using WmChangeUIState + to send WM_UPDATEUISTATE to all child controls. Some hack will be needed + in some controls to check for show_keyboard_cues to draw accell keys "_". + +2007-05-17 Carlos Alberto Cortez + + * ListBox.cs: When calculating the horizontal scrollbar + in single column mode, don't use values less than 0 for + Maximum. Fixes #81474. + +2007-05-17 Carlos Alberto Cortez + + * ListBox.cs: Throw the some missing exceptions in + ListBox.ObjectCollection methods. + +2007-05-17 Jackson Harper + + * TextBoxBase.cs: Recalculate the document when the word wrap + value has changed. This fixes 81488. + +2007-05-17 Jonathan Pobst + + * Clipboard.cs: Implement missing GetText overload. + +2007-05-17 Chris Toshok + + * Control.cs (CheckDataBindings): remove the binding_context arg + to binding.Check. + + * CurrencyManager.cs (OnItemChanged): fix this now that + BindingManagerBase is fixed. also remove the comment telling where + the fix should go. We set transfering_data to true/false around + the call to PushData to keep UpdateIsBinding from being called. + (ListChangedHandler): remove the extra OnMetaDataChanged call for + PropertyDescriptorAdded in the 1.1 case. The extra call is + actually generated by System.Data generating 2 metadata changed + events of its own per column add. The fix should go there. Add a + comment to that affect in our test's Assert.Ignore. + + * BindingManagerBase.cs: Rework PullData and PushData slightly. + we keep a boolean flag (transfering_data) that keeps us from + calling UpdateIsBinding multiple times if we re-enter either of + them. + + * ControlBindingsCollection.cs (AddCore): remove the + binding_context arg to binding.Check. + + * Binding.cs (IsBinding): don't check if we're binding here, just + return our cached value. we update it in UpdateIsBinding. + (Check): don't take the binding_context arg, we'll just use our + control's. Also, for some reason MS doesn't use the data member + field when getting the bindingmanager for this binding. it just + uses the datasource. Make this method callable multiple times, + and only do the is_null_desc stuff if manager.Position != -1 (so + we don't get an exception accessing manager.Current). + (UpdateIsBinding): move the code from IsBinding here. + (PositionChangedHandler): call Check here to we can initialize + things that require a non- -1 position. + +2007-05-17 Everaldo Canuto + + * Form.cs: When alt keys is pressed send WM_CHANGEUISTATE to top level + control. + +2007-05-17 Andreia Gaita + + * TabControl.cs: Add 2.0 methods and events, including + OnEnter / OnLeave and raises it for tabpages (fixes #79869) + * TabPage.cs: Add 2.0 methods + +2007-05-17 Everaldo Canuto + + * Control.cs: Implement WmUpdateUIState, show_focus_cues and + keyboard_cues is properly handled by message method. + +2007-05-17 Jonathan Pobst + + * TreeViewImageIndexConverter.cs: Add 2.0 methods. + +2007-05-17 Jonathan Pobst + + * ToolStripTextBox.cs: Wire up new 2.0 Textbox methods/properties. + +2007-05-16 Everaldo Canuto + + * Control.cs: + - WmUpdateUIState added to handle state changes, it make call to + OnChangeUICues event. + - Fixed ShowKeyboardCues to check for MenuAccessKeysUnderlined in + SystemInformation. + +2007-05-16 Jonathan Pobst + + * ImageKeyConverter.cs: Added. + * TreeViewImageKeyConverter.cs: Added. + +2007-05-16 Carlos Alberto Cortez + + * ToolTips.cs: Update Text if SetToolTip is called for a control + already showing the tooltip, as well as restarting its timer; show + tooltip if we are inside the control bounds by the time of calling + SetToolTip. Inside ShowTooltip remove the check to not show the + tooltip again for the active control (it is allowed by .Net to + show the tooltip on the same control multiple times). + +2007-05-16 Rolf Bjarne Kvinge + + * MaskedTextBox.cs: Small fix for Text that fixes a broken test. + +2007-05-16 Andreia Gaita + + * ContainerControl.cs: only process tab key if there are no + modifier keys present, otherwise the control does the + tab processing, if it needs to. Fixes #81622 + * TabControl.cs: Fixes calculation for which tab to select on + shift+ctrl+tab. + +2007-05-16 Rolf Bjarne Kvinge + + * MaskedTextBox.cs: Small fix for Text that fixes a broken test. + +2007-05-15 Jonathan Pobst + + * Control.cs: Make IsInputCharInternal to allow controls to + override it and still match MS API. + * TextBoxBase.cs: Override IsInputCharInternal and always + return true. + [Fixes bug #81616] + +2007-05-15 Jackson Harper + + * TextBox.cs: Disable some of the menu options when using a + readonly textbox. + +2007-05-15 Jackson Harper + + * TextBox.cs: + * TextBoxBase.cs: + * RichTextBox.cs: Some new 2.0 methods + +2007-05-15 Gert Driesen + + * FileDialog.cs: On 1.0 profile, do not support multidotted + extensions. + +2007-05-14 Jackson Harper + + * TextBoxBase.cs: Implement some of the new 2.0 methods. + * RichTextBox.cs: We need to override these methods on 2.0. + * MaskedTextBox.cs: These are implemented now + * TextControl.cs: This was off by one. + +2007-05-14 Jackson Harper + + * TextControl.cs: Because the line endings are including in the + text, we don't need to add them in anymore. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: Fix autosize and get it working only after hadle is created, + also prevent redraw in set_autosize if handle is not created. Fixes #81523. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: Adjust size to default size when button theres no text and + image, it fixes remaining issues from #81524. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: + - When not flat call redraw to recalculate sizes on creare handle to match + win32 behavior. + - Revert 77220 because it causes some regressions in toobar + button. + +2007-05-11 Rolf Bjarne Kvinge + + * MaskedTextBox.cs: Update the base text whenever the text changes. MTB + now actually enters a usable state. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: Check for handle created in redraw to prevent unneeded size + calculations, it reduces the size cauculation from 7 to 3 on a toolbar with + 3 buttons. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: Save default_size on create handle to use later for buttons + without text, needed to mimic win32 behavior. + +2007-05-11 Everaldo Canuto + + * ToolBar.cs: Fix button layour to best fit width or height according to + vertical or not. Fixes #81524. + +2007-05-10 Everaldo Canuto + + * ToolBarButton.cs: When change style call ToolBar.Redraw to update + toolbar size info because different styles theres different sizes. + Fixes #81522. + +2007-05-10 Carlos Alberto Cortez + + * ThemeWinClassic.cs: For .Net 2.0 don't draw any image + if we are using checkboxes, checked is true, and we have less + than two images in StateImageList; for the 1.1 in the same scenario + draw the first image if we have at least one image in StateImageList. + Fixes part of #81191. + +2007-05-10 Jonathan Pobst + + * ToolStrip.cs, ToolStripManager.cs: We need to remove items from + the owner's Items collection on merge. + +2007-05-10 Jonathan Pobst + + * ToolStrip.cs: Use new internal ToolStripItemCollection constructor. + * ToolStripItemCollection.cs: Lots of fixes to when events get called + and parent/owner gets changed based on gert's unit tests. + +2007-05-10 Rolf Bjarne Kvinge + + * MaskedTextBox.cs: Started implementing parts of it. + +2007-05-10 Carlos Alberto Cortez + + * ListView.cs: When clicking the checkbox on the items + take into account the double clicks even if we have only + one image in StateImageList (only for 1.0/1.1). Also + generate an extra change of checked state when we receive + the second click on checkbox (match .Net behaviour). + Fixes part of #81191. + +2007-05-10 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix text rectangles in Tooltips. + +2007-05-10 Jonathan Pobst + + * Form.cs: Move some of OnLoad to OnLoadInternal so it gets called + even if OnLoad is overriden and base.OnLoad is not called. + [Fixes bug #81582] + +2007-05-10 Andreia Gaita + + * TableLayoutSettings.cs: A big doh! fix and bowing down of head in + shame. (I blame my ever-persisting and annoying cold) + +2007-05-09 Jonathan Pobst + + * ListView.cs: Don't eat navigation keys. Let them flow through to + KeyDown/KeyPress routines. [Fixes bug #81569] + +2007-05-09 Jonathan Pobst + + * ListView.cs: When handling keys for selecting the item based off + keyboard input, do not consider keys pressed with Alt or Control. Also, + correctly handle keys when the Shift key is down. [Fixes bug #81578] + +2007-05-09 Jonathan Pobst + + * Control.cs: When using UseWaitCursor, we have to store the requested + Cursor to use when UseWaitCursor is turned off. + +2007-05-09 Jonathan Pobst + + * Control.cs: Implement PreProcessControlMessage. Default IsInputChar + to false. + * Application.cs: Use PreProcessControlMessage instead of + PreProcessMessage. + * PreProcessControlMessage.cs: Make internal for 1.1. + +2007-05-08 Carlos Alberto Cortez + + * Control.cs: Add InternalContains focus property, which hast the same + functionality of ContainsFocus, but also including implicit controls. + * ListViewItem.cs: Use InternalContainsFocus instead of ContainsFocus, + since we need to know if the focus is contained in our implicit + ItemControl when calculating Layout. Fixes part of #80888. + +2007-05-08 Everaldo Canuto + + * ToolTip.cs: Remove center form string alignment as it must be align to + left. + +2007-05-08 Jonathan Pobst + + * ToolStripItemCollection.cs: Set the new item's parent and owner + in Insert like we do in Add. [Fixes bug #81568] + +2007-05-08 Jackson Harper + + * TreeView.cs: GotFocus differences between 1.1 and 2.0. + - Off by one error in SetTop + - Disable DoubeBuffering + +2007-05-08 Rolf Bjarne Kvinge + + * ScrollableControl.cs: ScrollIControlntoView: we now only move the + control as much as necessary in order to make it entirely visible, + instead of centering the control in the container (matches MS + behaviour). CalculateCanvasSize: we need to take the current scroll + position into account when calculating the maximum canvas, + otherwise the following scenario will fail: resize so that the + scrollbars appear, use the scrollbars to scroll, resize again + smaller, and now the canvas size is too small. Recalculate: when + showing scrollbars make sure they start off at 0, and try to scroll + the active control into view. Fixes #79540. HandleScrollBar: don't + scroll anywhere if the scrollbar isn't visible. + +2007-05-07 Carlos Alberto Cortez + + * ListView.cs: When focus changed, call Layout/Invalidate + in the focused item to update the selected state (should show + entire label when ListView is focused, and a part of it if is not). + * ListViewItem.cs: When doing layout for LargeIcon, take into account + for displaying the entire label not only the Focused state of the + item, but also the Focused state of the ListView (match .Net + behaviour). + +2007-05-07 Jonathan Pobst + + * Control.cs: Stub CanRaiseEvents, IsMirrored, and NotifyClients. + Implement UseWaitCursor. + +2007-05-07 Jonathan Pobst + Applying contributed patch from Sergey Volk. + + * Clipboard.cs: Implement SetDataObject retry logic and new overload + of SetDataObject. + * XplatUIWin32.cs: Throw an ExternalException if the clipboard set fails. + +2007-05-07 Jonathan Pobst + + * Control.cs: Implement DrawToBitmap. + +2007-05-07 Jonathan Pobst + Applying contributed patch from Stefan Noack. + + * Control.cs: Add [Get|Set]AutoSizeMode. + +2007-05-07 Jonathan Pobst + + * MdiClient.cs: Unmerge menus when the last child is closed. + +2007-05-07 Jonathan Pobst + + * ToolStrip.cs: Do not call BeginMerge on DropDowns. + * ToolStripManager.cs: Call Merge on DropDowns. + [Fixes bug #81477] + +2007-05-07 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: Changed Win32CreateWindow to take enums instead of + uints. + * Form.cs: CreateParams: don't set WS_VISIBLE if we're changing + visibility. We can't create forms visible, since we have to set the + owner before making the form visible (otherwise Win32 will do + strange things with task bar icons). The problem is that we set the + internal is_visible to true before creating the control, so + is_changing_visible_state is the only way of determining if we're + in the process of creating the form due to setting Visible=true - + this works because SetVisibleCore explicitly makes the form + visibile afterwards anyways. Fixes #80775. + +2007-05-04 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: When drawing ListViewItems, + use StringTrimming.EllipsisCharacter if the view is Tile, Details, + or LargeIcon _and_ item is not focused (match .Net behaviour). + +2007-05-04 Jonathan Pobst + + * Control.cs, Form.cs: Fix some obsolete method warnings. + +2007-05-04 Jonathan Pobst + + * Control.cs: Implement GetChildAtPoint and OnParentCursorChanged. + * GetChildAtPointSkip.cs: Make internal for 1.1 profile. + +2007-05-04 Andreia Gaita + + * ContainerControl.cs: Fix active_control attribution when going + up the parent chain so that the first parent container gets the control + and the rest of the parent containers get the child containers (skips + non-containers). Fixes #80729 + +2007-05-04 Randolph Chung + + * FileDialog.cs: Implement the SupportMultiDottedExtensions property. + [Fixes bug #81499] + +2007-05-04 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Add a TranslateWindowSizeToXWindowSize overload that + takes a size parameter, since the CreateParam's size isn't true for + minimized forms. Fixes #81518, + +2007-05-04 Rolf Bjarne Kvinge + + * Form.cs: Add OnDeactivateInternal. + * MdiClient.cs: Raise Deactivate event. Fixes #81409. + +2007-05-04 Rolf Bjarne Kvinge + + * DateTimePicker.cs: CalculateDropDownLocation: do a null check before + accessing the parent. Fixes #81508. + +2007-05-03 Chris Toshok + + * CurrencyManager.cs (CurrencyManager.ListChangeHandler): in the + 2.0 block, pass listposition + 1 to ChangeRecordState when a row + was added before the current listposition. Fixes the + TestInsertRowBeforeCurrent unit test. + +2007-05-03 Jonathan Pobst + + * Application.cs: Add RaiseIdle. + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, + XplatUIX11.cs: Implement RaiseIdle. + +2007-05-02 Jonathan Pobst + corcompare work: N - Z + * NotifyIcon.cs + * ProgressBar.cs + * RadionButton.cs + * ScrollableControl.cs + * SplitContainer.cs + * SplitterPanel.cs + * StatusBar.cs + * SystemInformation.cs + * TabControl.cs + * TableLayoutControlCollection.cs + * TableLayoutPanel.cs + * TabPage.cs + * ToolBar.cs + * ToolBarButton.cs + * ToolStrip.cs + * ToolStripComboBox.cs + * ToolStripContainer.cs + * ToolStripContentPanel.cs + * ToolStripDropDown.cs + * ToolStripDropDownItem.cs + * ToolStripDropDownMenu.cs + * ToolStripItem.cs + * ToolStripItemCollection.cs + * ToolStripMenuItem.cs + * ToolStripPanel.cs + * ToolStripSplitButton.cs + * ToolTip.cs * TreeNode.cs * TreeNodeCollection.cs - * win32enums.cs - * win32functions.cs : more implementation added - -2003-08-03 Alexandre Pigolkine - * CheckBox.cs 12x12 checkmark dimensions for a moment - * ControlPaint.cs DrawRadioButton implemented - * RadioButton.cs painting is in OnPaint - -2003-08-02 Alexandre Pigolkine - * CheckBox.cs painting in OnPaint implemented - * CheckedListBox.cs changes to painting code - * Button.cs code cleanup - * Control.cs call to subclassed control can be controlled by mask - * Message.cs helper properties - * win32Enums.cs new values - -2003-08-01 Alexandre Pigolkine - * ControlPaint.cs DrawStringDisabled changed - * Label.cs painting moved inside OnPaint function - * Button.cs disposing Graphics in OnPaint - * win32functions.cs StringFormat2DrawTextFormat added - -2003-07-31 Alexandre Pigolkine - * Control.cs : do not keep oldBounds if LAYOUT_SUSPENDED is true, - call OnMouseDown/Up functions + * TreeNodeMouseHoverEventArgs.cs + * TreeView.cs + +2007-05-01 Everaldo Canuto + + * ContextMenu.cs: Add public method Show with alignment property to 2.0 + stuff. Thanks aatdark for the patch. + +2007-05-01 Jonathan Pobst + + * GridItem.cs: Implement 2.0 Tag property. + +2007-05-01 Frederik Carlier + + * TreeNodeCollection.cs: Fix ContainsKey and IndexOfKey methods to use + count instead of Nodes.Length. [Fixes bug #81448] + +2007-05-01 Jonathan Pobst + + * ComboBox.cs: Fix paramName sent to ArgumentOutOfRangeException's. + [Fixes bug #81506] + +2007-05-01 Jonathan Pobst + corcompare work: A - M + * BindingNavigator.cs * Button.cs - * ButtonBase.cs painting moved inside OnPaint function - * NativeWindow.cs (commented) debug output added + * ButtonBase.cs + * CheckBox.cs + * Control.cs + * FlowLayoutPanel.cs + * Form.cs + * Label.cs + * LinkLabel.cs + * ListView.cs + +2007-05-01 Jonathan Pobst + + * Application.cs: Give toolstrips a chance to process mnemonics. + * ToolStrip.cs, ToolStripDropDownButton.cs, ToolStripItem.cs, + ToolStripItemTextRenderEventArgs.cs, ToolStripLabel.cs, + ToolStripMenuItem.cs, ToolStripSplitButton.cs: Implement keyboard mnemonics. + +2007-05-01 Jackson Harper + + * TextBoxBase.cs: Better preferred height, FixedSingle gets the + wider area too. + - Don't set the BoundsSpecified + +2007-04-30 Jonathan Pobst + + * Application.cs: When using the toolstrip shortcut mechanism, allow the + message to pass through to a regular control if it hosted by a toolstrip. + * ToolStrip.cs, ToolStripControlHost.cs, ToolStripDropDown.cs, + ToolStripManager.cs: Enable keyboard navigation for ToolStrips. + +2007-04-30 Jonathan Pobst + + * TextRenderer.cs: Use the flags argument when using the MeasureString + fallback algorithm. + +2007-04-30 Jonathan Pobst + + * MenuStrip.cs: Don't let multiple ToolStripSeparators get added to + the MDI menu item. [Fixes bug #81483] + +2007-04-30 Gert Driesen + + * DataGridViewColumn.cs: Initialize value of headercell to zero-length + string. When setting Name to null, use zero-length string instead. + +2007-04-29 Andreia Gaita + + * TabControl.cs: Implement missing 2.0 methods (SelectTab, + DeselectTab). Implement missing 2.0 TabPageCollection methods + (Add, ContainsKey, RemoveByKey, IndexOfKey) + +2007-04-29 Pedro Martínez Juliá + + * DataGridViewColumn.cs: Make HeaderText take preference over Name. + +2007-04-29 Gert Driesen + + * RichTextBox.cs: In LoadFile, use StreamReader to read plain text. + Fixes bug #81479. Include details of exception when LoadFile fails. + +2007-04-28 Alan McGovern + + * DrawListViewSubItemEventArgs.cs: Added missing setter + +2007-04-27 Andreia Gaita + + * ToolTip.cs: Add missing 2.0 properties. Implement 2.0 Show and + Hide methods (not complete). Implement missing 2.0 OnPopup event. + +2007-04-27 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.OnMouseDown restore a pair of braces I + removed in ly last commit (it was breaking the Label edit feature). + + * ThemeWin32Classic.cs: When drawing a ListViewItem use + StringAlignment.Near for LineAlignment (match .Net). + +2007-04-27 Andreia Gaita + + * TabControl.cs: Change SetTab so it adds the tabpage to the list + of controls if it isn't already there - was blowing up when doing + tabcontrol.TabPages[i]=new TabPage(). + SetTab now does a replace by removing the page at the index. + Add a new InsertTab method that inserts a page in a given index + instead of replacing. + Implements TabPageCollection.Insert(int, TabPage). + +2007-04-27 Chris Toshok + + * BindingManagerBase.cs: fill in CurrentItemChanged (and have an + internal handler that can be invoked from our subclasses.) Also, + add a comment to PushData about how we need to fix it. + + * CurrencyManager.cs: tons of changes here. trying to get things + matching the behavior of .net wrt event orders (ItemChanged, + CurrentChanged, PositionChanged.) I've implemented a private .net + symbol (ChangeRecordState) that appears in stack traces because + it's actually easier to do this than to effective inline all its + various behaviors at every call site. + + * RelatedPropertyManager.cs: guard against an exception here by + not using parent.Current if the position is set to -1 (if the + parent datasource is cleared, for instance). + + * Binding.cs: don't parse data in PushData (this might be wrong, + but it jives with MS's behavior.) Also, don't call PushData when + we get a CurrentChanged event. + +2007-04-27 Andreia Gaita + + * WebBrowser.cs, + WebBrowserBase.cs, + WebBrowserSiteBase.cs, + HtmlDocument.cs: Added stubbed out classes, no real implementations + yet. + +2007-04-27 Everaldo Canuto + + * MainMenu.cs: In draw method without parameters call draw method with + PaintEvent, another one (just rect) adjust rectangle and we dont need it + as Rect property is already adjusted. Fixes #80694. + +2007-04-27 Jonathan Pobst + + * Application.cs: Need to handle keyboard menu deselection here. + * Control.cs: Use WM_SYSKEYUP instead of WM_SYSCOMMAND to start menu keyboard + navigation, allowing keyboard to work on X11. + * ToolStrip.cs: Don't worry about handling the Menu key here anymore. + +2007-04-27 Everaldo Canuto + + * MenuAPI.cs: When deactivate menu verify if hotkey (_) is active and redraw + menu bar. It fixes some drawing issues in menu bar. + +2007-04-27 Everaldo Canuto + + * MenuAPI.cs: Remove unneeded "keynav_state = KeyNavState.Idle" before + Deactivate calls, Deactivate method already do it. Also ser ActiveTracker + when key is pressed. + +2007-04-26 Everaldo Canuto + + * XplatUIX11.cs: Simplify SystrayRemove to be like other libraries, Gtk as + example just set visible to false and make this prevent from other problems. + In SystrayAdd always remove pending expose. Fixes #81072. + +2007-04-26 Marek Safar + + * TextBoxBase.cs (CaretMoved): Consider scroll maximum when scroll + value is set. + +2007-04-26 Alan McGovern + + * ListView.cs: Added three missing 2.0 events and corresponding + EventHandlers. Added the OwnerDraw property. + * DrawListViewColumnHeaderEventHandler.cs: fixed typo + +2007-04-26 Alan McGovern + + * DrawListViewItemEventArgs.cs + * DrawListViewSubItemEventArgs.cs: Brought classes up to 2.0 status. + +2007-04-26 Alan McGovern + + * TextControl.cs: Fixed typo in constructor + +2007-04-26 Jonathan Pobst + + * Application.cs: Create a shortcut path so that currently selected + MenuStrips can intercept keyboard events without having focus. + * Control.cs: Handle WM_SYSCOMMAND message to activate MenuStrips. + * MenuStrip.cs, ToolStrip.cs, ToolStripDropDown.cs, ToolStripDropDownItem.cs, + ToolStripItem.cs, ToolStripManager.cs, ToolStripMenuItem.cs: Support + keyboard navigation (arrows, tab, enter, esc) on Windows. Still need to + generate WM_SYSCOMMAND message in X11 for other platforms. + * ToolStripProfessionalRenderer.cs: ToolStripMenuItems need to be painted + in OnRenderMenuItemBackground instead of OnRenderButtonBackground. + * ToolStripSplitButton.cs: Add DefaultItem property. + +2007-04-26 Everaldo Canuto + + * MainMenu.cs: In OnMenuChanged pass PaintEventArgs to Draw method, it + fixes some menu draw problem on Windows with border diferent from default + it also fixes #81403. + +2007-04-26 Rolf Bjarne Kvinge + + * Form.cs: Refactor WndProc into separate methods, just like Control is + doing it. + +2007-04-26 Rolf Bjarne Kvinge + + * Control.cs: set_Text: move the call to the driver into a seperate + virtual method so that Form can override it. + * MaskedTextBox.cs: Corcompare fixes. + * Form.cs: Override UpdateWindowText and only update the styles if the + form has been shown (fixes #81405). + +2007-04-25 Jonathan Pobst + + * Control.cs, Form.cs: Use the better supported WM_?BUTTONDOWN and + WM_ACTIVATE messages instead of WM_MOUSEACTIVATE and + WM_ACTIVATEAPP. This fixes menus not disappearing on X11 when + the form lost focus or another control was clicked. + +2007-04-25 Gert Driesen + + * DataGrid.cs: Uncomment MakeTransparent calls since bug #80151 is + fixed. + +2007-04-25 Rolf Bjarne Kvinge + + * DrawListViewColumnHeaderEventHandler.cs, DrawToolTipEventArgs.cs, + DrawListViewItemEventHandler.cs, + DrawListViewSubItemEventHandler.cs, DrawToolTipEventHandler.cs: + Added. + * X11Structs.cs: More ToString implementation. + +2007-04-25 Jonathan Pobst + + * ToolStripDropDownItem.cs: Don't lazy create a DropDown in Dispose. + * ToolStripOverflowButton.cs: Don't lazy create a DropDown in HasDropDownItems. + +2007-04-25 Rolf Bjarne Kvinge + + * Control.cs: Only raise OnVisibleChanged if we're not recreating the + handle. + * FormCollection.cs: Don't add a form if it's already in the + collection. + * Form.cs: Change ShowDialog () to call ShowDialog (owner) with a null + according to behaviour and MSDN. The ownerWin32 is the active + window at the moment when we call ShowDialog, not the context's + main form (the context's main form may open another form that opens + a form with ShowDialog, the win32 owner is the second form). Add + and remove forms to the Application.OpenForms in other places to + better match MS behaviour. Add an IsActive property that raises + On(de)Activated only if the active state has changed (we were + raising OnDeactivated before OnActivated while creating forms). + * Application.cs: Refactor Enabling/Disabling of windows for modal + dialog loops out to separate methods, and restore the thread + context when we quit the method. Fixes #81407. + +2007-04-25 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.HandleClicks, also fire + 2.0 MouseClick or MouseDoubleClick events on the parent, + not only the Click/DoubleClick events. + +2007-04-24 Andreia Gaita + + * TableLayoutSettings.cs: + - Added a GetControls method and a support structure to help the + TypeConverter to enumerate the controls for serialization. + - Added a new serialization constructor. + - Added a isSerialized flag initialized to true on the + serialization constructor so that the TableLayoutPanel.LayoutSettings + setter does not throw the designed NotSupportedOperation exception + when the object is built through deserialization. + - Implemented GetObjectData + + * TableLayoutPanel.cs: Added check on LayoutSettings. + +2007-04-24 Carlos Alberto Cortez + + * ListView.cs: Report Click and DoubleClick events to the parent + from ItemsMouseUp, instead of ItemsMouseDown. This prevents us + from breaking the click count state when using dialog forms (Control + reports the clicks in a similar fashion). In the previous behaviour + the last WM_LBUTTONUP message in a double click was sent to the + ListView's form, instead of the ListView, which was breaking the click + count for it. Fixes #80387. + +2007-04-24 Alan McGovern + + * BindingNavigator.cs : fixed bugs revealed by new nunit tests + +2007-04-24 Jonathan Pobst + + * ToolStripDropDownItem.cs: Lazy initialize the DropDown. This prevents + us from created dropdowns for menu items that do not have subitems. + * ToolStripItem.cs, ToolStripProfessionalRenderer.cs, ToolStripSplitButton.cs: + Check HasDropDownItems before calling DropDown so a dropdown will not be + created if it isn't needed. + +2007-04-24 Jackson Harper + + * TreeView.cs: Set the first node to the selected node when we get + focus if there is no selected node. + +2007-04-24 Andreia Gaita + + * MimeIcon.cs: remove using blocks so that image streams are + not disposed of. Fixes #80151 + +2007-04-24 Jackson Harper + + * TextBoxBase.cs: Fixup the height of textboxes when the control + is created. + +2007-04-24 Jonathan Pobst + + * ToolStrip.cs: Fully implement GetNextItem. Call OnParentRightToLeftChanged + for each ToolStripItem when the parent's RightToLeftChanged is called. + +2007-04-24 Rolf Bjarne Kvinge + + * ComboBox.cs: Forward ContextMenu to the underlying textbox, if any. + Fixes #80163. + * Control.cs: Replace GetContextMenuInternal() with ContextMenuInternal + property, so that the setter can be overriden too. + * TextBox.cs: Change GetContextMenuInternal() to use + ContextMenuInternal. + +2007-04-24 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: Use a black pen to draw checkboxes, fixes + #81406. + +2007-04-24 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: Use a black pen to draw checkboxes, fixes + #81406. + +2007-04-24 Rolf Bjarne Kvinge + + * MaskedTextBox.cs: Commit this so nobody else starts working on it and + avoid duplicate work. Mostily skeleton code, it's not working at + all yet. + +2007-04-20 Leszek Ciesielski + + * NotifyIcon.cs : stub for MouseClick event + * Application.cs: stub for SetUnhandledExceptionMode + +2007-04-24 Alan McGovern + + * BindingNavigator.cs : Initial (partial) implementation + +2007-04-23 Jackson Harper + + * TreeView.cs: Do not create the treeview's handle when setting + the scroll position. + - ExpandAll needs to compute the scrollbars so it knows which + position to set the bar too. + * TreeNode.cs: + * TreeNodeCollection.cs: Pass new flag to UpdateScrollBars + +2007-04-23 Jackson Harper + + * TextBoxBase.cs: Non multiline textboxes shouldn't take the enter + key. Fixes #81408. + +2007-04-23 Jonathan Pobst + + * ToolStripItem.cs: Make GetImageSize internal. + * ToolStripMenuItem.cs: Use GetImageSize to determine the size we + need to draw an item. Fixes a reported issue where images on menus + that were not 16x16 were drawing incorrectly. + +2007-04-21 Miguel de Icaza + + * Padding.cs: Use the converter, fixes the resgen2 issue with + XMLNotePad. + +2007-04-21 Jackson Harper + + * TreeView.cs: Dont try to unhighlight the selected node if there + isn't a selected node. + +2007-04-21 Jackson Harper + + * UpDownBase.cs: + * TextBoxBase.cs: + * ListView.cs: + * ListBox.cs: + * TreeView.cs: Use the InternalBorderStyle property to set the + initial border style, this forces the client rectangle to be sized + correctly. + +2007-04-20 Jackson Harper + + * TreeView.cs: Simplify scrolling to the last node after expanding + all. + - Fix some off by ones with setting the bottom. + +2007-04-20 Jonathan Pobst + + * Control.cs: Use DefaultSize for Size, calculate ClientSize from + that. We were incorrectly doing it the other way around. Also, + update ClientSize if we change the BorderStyle before the control + is created. + +2007-04-20 Gert Driesen + + * XplatUI.cs: Added Border3DSize, BorderSize, CaptionButtonSize, + DoubleClickSize, DoubleClickTime and FixedFrameBorderSize. Renamed + XplatUIDriver.Caption to CaptionHeight. Spaces to tabs. + * XplatUIDriver.cs: Added Border3DSize, BorderSize, CaptionButtonSize, + DoubleClickSize, DoubleClickTime and FixedFrameBorderSize. Renamed + Caption to CaptionHeight. + * XplatUIX11.cs: Renamed Caption to CaptionHeight. + * Theme.cs: Modified Border3DSize, BorderSize, CaptionButtonSize + and FixedFrameBorderSize to return value from current XplatUI driver. + * XplatUIWin32.cs: Implemented Border3DSize, BorderSize, + CaptionButtonSize, DragFullWindows, DoubleClickSize, DoubleClickTime + and FixedFrameBorderSize using win32 API. Renamed Caption to + CaptionHeight. + * XplatUIOSX.cs: Renamed Caption to CaptionHeight. + * SystemInformation.cs: Fixed typo in BorderSize. + +2007-04-20 Gert Driesen + + * XplatUI.cs: Added MenuAccessKeysUnderlined. + * XplatUIDriver.cs: Added MenuAccessKeysUnderlined. + * XplatUIX11.cs: Implemented MenuAccessKeysUnderlined by always + returning false. + * Theme.cs: Modified MenuAccessKeysUnderlined to return corresponding + value from XplatUI driver. + * XplatUIWin32.cs: Implemented MenuAccessKeysUnderlined using + SystemParametersInfo. + * ThemeWin32Classic.cs: Remove obsolete MenuAccessKeysUnderlined + override. + * XplatUIOSX.cs: Implemented MenuAccessKeysUnderlind by always + returning false. + +2007-04-20 Rolf Bjarne Kvinge + + * XplatUIX11.cs, Hwnd.cs: Remove warnings. + +2007-04-20 Rolf Bjarne Kvinge + + * MessageBox.cs, XplatUIX11.cs, Hwnd.cs: Remove warnings. + +2007-04-20 Jonathan Pobst + + * ToolStripManager.cs: Fix a reported InvalidCastException when unmerging + MenuStrips that contain ToolStripSeparators. + +2007-04-20 Rolf Bjarne Kvinge + + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Add + DefineStdCursorBitmap. + * Cursor.cs: Add an internal constructor so that the Cursor knows if it + has been created off a standard cursor. This is used to get a + bitmap of the standard cursor when Draw or DrawStretched is called + in order to draw the cursor. + * X11Structs.cs: Added XcursorImage and XcursorImages. + * XplatUIX11.cs, XplatUIWin32.cs: Add and implement + DefineStdCursorBitmap. + * Cursors.cs: Update all relevant creations of Cursor to use the new + internal constructor. + +2007-04-19 Jackson Harper + + * TextBox.cs: Move the has_been_focused into the base control, so + some of the text adding methods can manipulate it (probably time + for a better name for this flag too). + - Call a new version of selectall that doesn't scroll + * TextBoxBase.cs: When we append text, if the document is empty, + don't scroll. If the document has text already, we scroll to the + end of the appended text. + - When the text is changed, we reset the has_been_focused, so the + next time the control gets focused, all the text is selected. + +2007-04-19 Jackson Harper + + * TextControl.cs: Move the margins to the document, add a method + so the margin sizes can be updated. + * TextBoxBase.cs: When the border style is changed, update the + border sizes. + +2007-04-19 Jonathan Pobst + + * Control.cs: Respect DefaultPadding. + * GroupBox.cs: Implement DefaultPadding, DisplayRectangle takes + padding into account. + * ToolStrip.cs: Remove setting padding to DefaultPadding in constructor. + +2007-04-19 Jackson Harper + + * TextControl.cs: Oops, we need to use the ClientRect not the + bounds here. + +2007-04-18 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.ItemsMouseDown, take into + account the double clicks when CheckBoxes are used and + the pointer is inside the checkbox. Fixes part of #81191. + +2007-04-18 Jackson Harper + + * TextControl.cs: Pressing the end key shouldn't move the caret + past the line ending. + * TextBoxBase.cs: We can still delete if we are in the line + ending and the combine will just kill the existing line ending. + +2007-04-18 Jackson Harper + + * TextControl.cs: We can't move lines, then invalidate their + bounds, we need to get the old bounds and combine that with the + new bounds. + * TextBoxBase.cs: Before combining two lines for a delete, we need + to invalidate the area of the old line, since that will be moved + in the combine operation. + +2007-04-18 Everaldo Canuto + + * LinkLabel.cs: In OnPaint invoke draw background to fix problems + with transparent background. Fixes #80482. + +2007-04-18 Jonathan Pobst + + * PictureBox.cs: Refresh on resize when SizeMode = Zoom. + * ThemeWin32Classic.cs: Implement PictureBox.SizeMode = Zoom. + [Fixes bug #81391] + +2007-04-18 Rolf Bjarne Kvinge + + * CreateParams.cs: Add a couple of helper methods and do a less string + concatenation in ToString. + * XplatUIX11.cs: Add an TranslateClientRectangleToXClientRectangle + overload that takes a Control parameter, since this method may be + called before a control is assigned to the hwnd (from + CreateWindow), and update CreateWindow to use the new overload. In + GetMenuOrigin subtract the title bar from the y position if the + form has a window manager (since we're painting it and not X). + * XplatUIWin32.cs: If we can get a form in GetMenuOrigin use the form's + CreateParams to calculate the origin (since border sizes may vary). + In ScreenToMenu only subtract the title height if we actually have + a title. + * MdiWindowManager.cs: Override MenuHeight to always return 0, since + mdi children never have menus of themselves. + * InternalWindowManager.cs: Implement menu handling like form does. + Added GetMenuOrigin to calculate the menu origin, can't use the + CreateParams from the form like normally since it's lying. + * Hwnd.cs: Implement GetBorderSize better (in the sense more + windows-like) and add Inflate and comparison operators to the + Borders type. When calculating MenuOrigin and it's a form with a + window manager, use the window manager to calculate it. + +2007-04-17 Chris Toshok + + * Control.cs (CreateControl): turns out in 2.0 we don't need this + OnBindingContextChanged thing here. It's only generated from + ContainerControl.OnCreateControl. Fixes a newly written unit test + - BindingTest.BindingContextChangedTest4. + +2007-04-17 Jackson Harper + + * ScrollBar.cs: When setting values, make sure the current + position stays within the new values range. + +2007-04-17 Chris Toshok + + * Control.cs (CreateControl): talk about a bizarre corner case. + Don't emit OnBindingContextChanged here if we're a parentless + control (i.e. if we're a form.). Fixes + BindingTest.BindingContextChangedTest2. + +2007-04-17 Everaldo Canuto + + * ButtonBase.cs: Remove TextFormatFlags.WordBreak to mimic same behavior + from win32. Fixes #81255. + +2007-04-17 Everaldo Canuto + + * ThemeWin32Classic.cs: Remove text offset from DrawButtonText as it is + already present in CalculateButtonTextAndImageLayout. + +2007-04-17 Rolf Bjarne Kvinge + + * XplatUIX11.cs: When setting min/max size for a window we need to + translate the coordinates to x coordinates. Create an overload of + SetWindowMinMax that takes a CreateParams handling this, and change + SetWMStyles to call this function (can't use Control.FromHandle in + the SetWindowMinMax to get the control/CreateParams from the handle + because the handle might not have been assigned to the control + yet). Fixes #81371. + +2007-04-16 Carlos Alberto Cortez + + * ListView.cs: In ItemControl.ItemMouseDown, don't change check state + if StateImageList is non-null and it has less than two items (match MS + behaviour). Also, in HandleNavKeys handle the Space key, calling + the new ToggleItemsCheckState method, which tries to change the + checked state of the selected items. Fixes part of #81191. + +2007-04-16 Jackson Harper + + * RichTextBox.cs: namespace cleanup. + +2007-04-16 Everaldo Canuto + + * XplatUIWin32.cs: Back last parameter to true in SetClipRegion. + +2007-04-16 Everaldo Canuto + + [Fixes #79447] + * Control.cs: Call invalidate in set_Region. + + * XplatUIX11.cs, XplatUIWin32.cs: Remove invalidate from SetClipRegion as + it dont works here. + +2007-04-16 Jackson Harper + + * TextBoxBase.cs: When enter is pressed, we need to update all + lines below the current. + +2007-04-16 Jonathan Pobst + + * MdiClient.cs: Implement implicit menu merging for MDI + children. When a child form is active, if it has a menustrip + and the parent form has a MainMenuStrip, automatically merge + the menus. + +2007-04-15 Andreia Gaita + + * TabControl.cs: Refactored sizing methods to not repeat + code all over the place. Tab bounds are now calculated + as if alignment is top and single line, and only when + setting the bounds are the positions adjusted according + to alignment. Replaced hardcoded positions, spacings and + paddings by getting the values the ThemeEngine. + Fixes #79619. + + * Theme.cs: Change TabControl properties and methods so + that all start with TabControl*. Added more properties + to help remove hardcoded values on tabcontrol. + Add CPDrawBorder3D declaration so the Theming classes + can access it. + + * ThemeClearlooks.cs, ThemeNice.cs: Method signature changes from Theme. + + * ThemeWin32Classic.cs: Rector TabControl out to the TabControlPainter + on the Theming namespace, and call the appropriate methods here. + Change CPDrawBorder3D to public. + +2007-04-13 Carlos Alberto Cortez + + * Control.cs: In WmRButtonUp, send the WM_CONTEXTMENU message to + the control after firing the OnMouseUp event, instead of sending + the message before the mentioned event. This is so we can match the + MS behaviour. Fixes part of #80385. + +2007-04-13 Jonathan Pobst + + * ToolStripItem.cs: Call the RightToLeftChanged event when setting the + RightToLeft property. + +2007-04-13 Jonathan Pobst + + * ToolStrip.cs: Add properties and internal methods to support merging. + * ToolStripItem.cs: Add MergeAction and MergeIndex. + * ToolStripItemCollection.cs: Add Insert and Remove methods that do + not trigger reparenting or layouts. + * ToolStripManager.cs: Add Merge and RevertMerge methods. + * ToolStripOverflow.cs: Add a convenience method to find the ToolStrip that + is hosting the overflow menu. + +2007-04-13 Jackson Harper + + * TextControl.cs: Set the line ending correctly for the first + inserted line. + +2007-04-13 Sebastien Pouliot + + * Theme.cs: Update GetMethod to get the new definition for + KnownColors.Update (and fix theme color updates). + +2007-04-12 Everaldo Canuto + + * MessageBox.cs: Fix some test and button position. + +2007-04-12 Carlos Alberto Cortez + + * Form.cs: Consider the implicit controls in + GetRealChildAtPoint. We need it since this method + is called on Form when handling the some messages in + WndProc, and need to consider those implicit ones too. + Fixes #80385. + +2007-04-12 Jonathan Pobst + + * ToolStripMenuItem.cs: Display the ShortcutKeyDisplayString even + if there are no ShortcutKeys set. + * ToolStripProfessionalRenderer.cs: If an item has had its BackColor + set, use it when painting. + +2007-04-12 Jackson Harper + + * TextControl.cs: Fix some off-by-one issues in line duplication + and insertion in the undo manager. Also, overwrite the first tag + of a line on insert, if it is just a zero lengthed tag. This + prevents us from getting an extra stranded tag at the beginning of + the first line. + +2007-04-11 Everaldo Canuto + + * Label.cs: Remove check for handle created in CalcAutoSize, we need + to calculated proper size including when handle was not created yet. + +2007-04-11 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: When moving a form, allow the form to be moved + when the mouse is outside of it's parent's client rectangle. Fixes + #79982 (take 3, part 2). + +2007-04-10 Rolf Bjarne Kvinge + + * X11Structs.cs: Add a few ToString() overrides. + * XplatUIX11.cs: Added GetTopLevelWindowLocation to try to calculate + the window location in a window-manager independent way. Reworked + FrameExtents, it now actually works. Reworked AddConfigureNotify + and ReparentNotify handling to use GetTopLevelWindowLocation + instead of the earlier, more hacky solution. Reworked SetWMStyles, + hopefully for the better: we now set _NET_WM_WINDOW_TYPE* for all + windows, DIALOG for modal windows, UTILITY for toolboxes and NORMAL + for all other windows (fixes #81281 part 1), a toolwindow is hidden + from the taskbar if it has a parent (fixes #81281 part 2 for kwin), + and generally refactored to do as few calculations as possible + inside the lock. + +2007-04-09 Sebastien Pouliot + + * Theme.cs: Change "reflective-contract" between MWF and SD to + minimize # of calls, avoid Color serialization and avoid updating + every "known colors" each time a single one is updated. + +2007-04-09 Gert Driesen + + * DataGridTextBoxColumn.cs: Only set IsInEditOrNavigateMode to false + when not readonly and the text is explicitly set. Code style updates. + * DataGridTableStyle.cs: Removed extra line. + * DataGrid.cs: Code style updates. Removed extra whitespace. + * DataGridColumnStyle.cs: Code style updates. Removed extra + whitespace. + +2007-04-09 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Added comment that "fixes" #80021. + +2007-04-09 Jackson Harper + + * TextControl.cs: We don't need this -1 on the line count anymore. + +2007-04-09 Gert Driesen + + * DataGridTextBoxColumn.cs: In Commit, use TypeConverter to convert + entered value to underlying type, and convert it back to a string to + apply formatting. Modified GetFormattedValue to use TypeConverter + if available. + +2007-04-08 Gert Driesen + + * ListViewItem.cs: Added null checks. Avoid duplicating code in ctors. + Use SubItems property when we want to ensure there's at least one + subitem. Modified SubItems property to ensure there's always at least + one subitem. Avoid using ListViewSubItemCollection.AddRange to match + the NRE's reported by MS. + +2007-04-07 Gert Driesen + + * ProgressBar.cs: On 2.0 profile, default forecolor is Highlight. Added + ResetForeColor override on 2.0. Fixed a few API compatibility issues. + Spaces to tabs. Removed extra tabs. + +2007-04-06 Jonathan Pobst + + * ToolStripSplitStackLayout.cs: If we run out of things to hide, don't + infinite loop. (Forgot to copy to the horizontal toolstrip case.) + +2007-04-06 Jackson Harper + + * TextBoxBase.cs: When a delete removes a line, recalculate all + lines below that line (they need to get offsets setup correctly) + and invalidate. + +2007-04-05 Jackson Harper + + * TextControl.cs: We need to invalidate across the width of the + document when we are invalidating multiple lines. + * TextBoxBase.cs: Don't delete into the line ending. + +2007-04-05 Carlos Alberto Cortez + + * ListView.cs: Restore the check for the MouseHover event + in ListView. It looks like the ListView fires more than one MouseHover + event when HoverSelection is true _only_ in weird-corner scenarios, but + in most of the cases it only fires one. Also, add the 2.0 ItemMouseHover + event. + +2007-04-05 Mike Kestner + + * ListView.cs : raise MouseDown before updating selection. + [Fixes #80373 tab 1&3] + +2007-04-05 Jonathan Pobst + + * ToolStripRenderer.cs: Add static method to mirror image. + * ToolStripProfessionalRenderer.cs: Support ImageTransparentColor + and RightToLeftAutoMirrorImage. + * ToolStripItem.cs: Remove MonoTODO from ImageTransparentColor. + +2007-04-05 Jonathan Pobst + + * ToolStripSplitStackLayout.cs: Support Alignment property. + * ToolStripItem.cs: Remove MonoTODO from the Alignment property. + +2007-04-05 Jackson Harper + + * TextControl.cs: Move around the line endings when crossing line + boundaries. + - When combining lines, strip the ending text off the first line. + +2007-04-05 Jackson Harper + + * TextControl.cs: + * TextBoxBase.cs: Try to never move the cursor into the line + ending. + +2007-04-04 Jonathan Pobst + + * ToolStripItem.cs: Make sure we aren't firing mouse events when + the item is disabled. Also add a few missing methods. + +2007-04-04 Carlos Alberto Cortez + + * ListView.cs: We don't need the MouseEnter/MouseLeave check + to fire just one MouseHover event when HoverSelection is true, since + .Net does fire more than one MouseHover event in that scenario. Also, + fix the selection in HoverSelection, by invoking UpdateMultiSelect + if MultiSelect is true, instead of only setting ListViewItem.Selected. + Finally, we need to reset the Hover logic in MouseMove, even when we + don't have a selected item. + +2007-04-04 Jonathan Pobst + + * ToolStrip.cs: Add several missing methods, properties, and events. + +2007-04-04 Chris Toshok + + * DataGridTextBoxColumn.cs: set the bounds of the text box to + (0,0,0,0) in Commit, as MS does. + + * DataGrid.cs: call EndEdit() from Select() as microsoft does, and + make sure we set CurrentRow on a row header click *before* calling + Select. This moves the current cell (and the textbox) to the new + row. The call to Select then hides the textbox, giving us the + correct behavior. Fixes #80362. + + * CurrencyManager.cs (UpdateIsBinding): raise ItemChanged (-1). + (ListChangedHandler): reorder the position/current changed events, + and call UpdateIsBinding in the ItemAdded case. + + * GridColumnStylesCollection.cs: add some columns events, one of + which raises the CollectionChanged event. + +2007-04-04 Jackson Harper + + * TextControl.cs: When we delete multiple selection lines + invalidate the selection area, don't need to do that for single + lines because the final update view will handle it. + +2007-04-04 Jonathan Pobst + + * Control.cs: When we CreateControl, we need to also create all of the + control's children. The child's OnLoad must also fire before the parent's + OnLoad. Fixes the toolbox size in PDN. + +2007-04-04 Jackson Harper + + * TextBoxBase.cs: When the user presses enter, insert a line + ending into the text. (Maybe this would be a good spot for + Environment.NewLine). + * TextControl.cs: Remove undo manager hack, line endings get + inserted properly now. + +2007-04-04 Everaldo Canuto + + * MenuAPI.cs: + - Remove unneeded parameters in UpdateCursor. + - Fix UpdateCursor to check if menu is active. + - Call UpdateCursor when menu deactivate my click. + [Fixes remaining issues from #80410] + +2007-04-04 Everaldo Canuto + + * Control.cs: GetRealChildAtPoint method added, it make an + recursive child control search for the point. + + * Form.cs: Makes use of GetRealChildAtPoint in mouse event after closes + menu. + + * MenuAPI.cs: Makes use of GetRealChildAtPoint in UpdateCursor. + +2007-04-03 Everaldo Canuto + + * Form.cs: Fix mouse position when send back mouse event after closes + menu. + +2007-04-03 Everaldo Canuto + + * Form.cs: Simplify the BUTTONDOWN for active tracker. + +2007-04-03 Jonathan Pobst + + * Control.cs: Fix an issue where if a user resized a control inside + a sizing method like OnResize, we would overwrite their explicit + value. Also, only call DefaultSize once in the constructor instead + of 4 times. Also, do not call SetBoundsCore from SetBounds if + nothing actually changed. + +2007-04-03 Jackson Harper + + * TextControl.cs: Don't attempt to copy text for lines with no + text in them (technically this shouldn't happen, but we aren't + always inserting line endings when we should be). + +2007-04-03 Jackson Harper + + * TextBoxBase.cs: Calculate the scrollbars before calculating the + document, because this sets some of the document size properties + that are needed. + +2007-04-03 Jackson Harper + + * TextBoxBase.cs: We need to calculate maximums even if this is + not a multiline control, because the maxs are used for scrolling. + - Display the caret after doing a page up/down, we need to + manually display it because a proper CaretMoved event isn't + triggered (this is because of the way the math is done to + determine how far to scroll). + +2007-04-03 Jonathan Pobst + + * ToolBar.cs: Fix some breakage caused by the SetBoundsCore change. + (ToolBar was relying on SetBoundsCore to default the values sent + base off of BoundsSpecified.) + +2007-04-03 Rolf Bjarne Kvinge + + * DateTimePicker.cs: Change Text so that when a null value or empty + string is assigned to the test we always raise ValueChanged and + TextChanged (earlier implementation would only raise ValueChanged + if the current date value was different from DateTime.Now). + +2007-04-03 Andreia Gaita + + * ButtonBase: Call update after invalidation, fixes #80194 + +2007-04-03 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: Draw StatusBar using double buffering. Fixes + #79335. + +2007-04-03 Rolf Bjarne Kvinge + + * XplatUIX11.cs: SetWMStyles: If the control is a form with + FormBorderStyle = None, don't give the window any decorations. + Fixes #81276. + +2007-04-03 Rolf Bjarne Kvinge + + * XplatUI.cs, XplatUIDriver.cs: Updated CalculateWindowRect parameters. + * CreateParams.cs: Fix IsSet, wasn't working correctly when the style + to check for is a mix of several styles (such as WS_CAPTION for + instance). + * Control.cs: Don't paint an area bigger than the client area when + painting the background colour. Add an internal GetCreateParams. + Update calls to XplatUI.CalculateWindowRect due to API change. + * XplatUIX11.cs: In PerformNCCalc set the initial size to the whole + window's size, and handle WM_NCCALCSIZE in DefWndProc to calculate + the size if it hasn't been handled by any windows. When creating + and moving windows, X wants the location of the entire window, but + the size of the client window, so add + TranslateClientRectangleToXClientRectangle, + TranslateWindowSizeToXWindowSIze and + TranslatedXWindowSizeToWindowSize to cope with this, and call them + before every window creation and move. Update CalculateWIndowRect + to use Hwnd.GetWindowRect (one step towards removing DeriveStyles). + In AddConfigureNotify don't do anything if the hwnd is a zombie + (fixes the BadWindow we were getting while running the tests), + always calculate the offsets when it's a parentless window, not + only when reparented, and translate the window size, since we're + getting the client size of the whole window, excluding entire + window. + * Theme.cs: Added BorderSizableSize. + * XplatUIWin32.cs: Fix RECT Height and Width. Don't fake styles here + anymore. Update calls to XplatUI.CalculateWindowRect due to API + chang + * Form.cs: Update calls to XplatUI.CalculateWindowRect due to API + change. Fake the window styles here instead of in XplatUIWin32 so + that all back-ends get the same window styles (and it's Form that's + deciding when to use wm, not the Win32 backend anyways) + * Hwnd.cs: Completely reworked GetWindowRectangle and + GetClientRectangle - they are now passed a CreateParams and they + only use Style and ExStyle to determine the rectangles (they should + now work just like Win32AdjustWindowRectEx - though quite a few + special cases are probably missing). They should also be 100% + complimentary (i.e. GetWindowRectangle (GetClientRectangle (rect)) + == rect), and all numbers (borders, menu sizes) are taken from the + current theme. Added a GetBorders helper function that will return + the borders for any given CreateParams (including captions and + menus), and GetBorderSize that returns the given border size only. + * XplatUIOSX.cs: Update calls to CalculateWindowRect and + Hwnd.GetClientRectangle. + +2007-04-02 Chris Toshok + + * DataGridBoolColumn.cs: rewrite things a bit, and fix up the + logic between the values we present to the user and the values + which are stored in the column's property. Also, don't call + GetPreferredSize - it's virtual. Along the way, fix bug #80965. + +2007-04-02 Jackson Harper + + * TextBoxBase.cs: Scroll faster! + +2007-04-02 Jonathan Pobst + + * StatusStrip.cs: Layout fixes for PDN. + * ToolStrip.cs: Set item's available to true, and placement to main when + added. + * ToolStripItem.cs: Fix an Available issue, check that Parent is really + changing in setter before doing any work, add InternalVisible. + * ToolStripPanel.cs: Remove unused variable to fix compiler warning. + * ToolStripSplitStackLayout.cs: If we run out of things to hide, don't + infinite loop. + +2007-04-02 Jackson Harper + + * TextBox.cs: LBUTTON does not make the textbox select all of it's + text on focus. + +2007-04-02 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: Use the previous change in SetParent for forms only. + Makes ToolStripComboBoxes show up again. + +2007-04-02 Carlos Alberto Cortez + + * ListView.cs: Add a hover_pending field in ListView + to fire just one OnMouseHover event for each MouseEnter/MouseLeave + cycle (we are resetting the MouseHover logic in XplatUI + to handle HoverSelection). Fixes #80429. + +2007-04-02 Jackson Harper + + * TextControl.cs: Make sure the attributes get set on the last + tag. + - Still have to do the end tag if we have stepped all the ways to + the end. + +2007-04-02 Sebastien Pouliot + + * XplatUIOSX.cs, XplatUIX11.cs, XplatUIX11GTK.cs: Remove dependency + on an internal libgdiplus call when the information is already + available via the public API. + +2007-04-02 Rolf Bjarne Kvinge + + * Control.cs: Call ContainerControl.ChildControlRemoved whenever a + control is removed from a control collecftion. + * XplatUIX11.cs: The first location for toplevel form is (22, 22). + Fixes FormPropertyTest (failed on rare occasions). + * XplatUIWin32.cs: Add a workaround in SetParent for strange behaviour + of Win32SetParent (when changing from no parent to a parent it + might add the new parent's location in screen coordinates to this + window's location). + * Form.cs: Rework ChangingParent once again, now the handle is + recreated whenever a FormWindowManager is added or removed (that is + whenever a normal form is parented or abandoned). Also change + CreateParams so that all non-toplevel windows always get the + specified sice (StartupPosition is never considered for + non-TopLevel forms). + * ContainerControl.cs: Add ChildControlRemoved, the container control + needs to be notified when a control is removed from it's + collection, in the case the removed control is the active control. + +2007-04-02 Jackson Harper + + * RichTextBox.cs: Use the new methods for setting the font and + color, these methods set the specified attribute without + overriding the other attributes. + +2007-04-02 Jonathan Pobst + + * ToolStripPanel.cs: Fixes for better layouts in PDN. + +2007-03-31 Gert Driesen + + * TextBox.cs: Added internal ChangeBackColor method to special-case + Color.Empty. Added check for invalid ScrollBars value. + * TextBoxBase.cs: Added internal ChangeBackColor method. + * RichTextBox.cs: Only set backcolor_set on 2.0 profile. Added + internal ChangeBackColor method to special-case Color.Empty. Added + check for invalid ScrollBars value. + +2007-03-30 Everaldo Canuto + + * MenuItem.cs: On invalidate prevent form to create handle. [Fixes #81272] + +2007-03-30 Jonathan Pobst + + * ScollableControl.cs: Add HorizontalScroll and VerticalScroll properties. + * ScrollProperties.cs, HScrollProperties.cs, VScrollProperties.cs: Added. + [Based on submitted patch from Olivier Duff.] + +2007-03-30 Jackson Harper + + * TextBox.cs: Only select all on initial focus if the user has not + specified a selection area. + +2007-03-30 Jonathan Pobst + + * UserControl.cs: Override CreateParams. + +2007-03-30 Rolf Bjarne Kvinge + + [ Fixes #80995 ] + + * XplatUI.cs, XplatUIDriver.cs: Updated CalculateWindowRect parameters. + * CreateParams.cs: Fix IsSet, wasn't working correctly when the style to + check for is a mix of several styles (such as WS_CAPTION for instance). + * Control.cs: Don't paint an area bigger than the client area when painting + the background colour. Add an internal GetCreateParams. Update calls to + XplatUI.CalculateWindowRect due to API change. + * XplatUIX11.cs: In PerformNCCalc set the initial size to the whole window's + size, and handle WM_NCCALCSIZE in DefWndProc to calculate the size if it + hasn't been handled by any windows. When creating and moving windows, X + wants the location of the entire window, but the size of the client + window, so add TranslateClientRectangleToXClientRectangle, + TranslateWindowSizeToXWindowSIze and TranslatedXWindowSizeToWindowSize + to cope with this, and call them before every window creation and move. + Update CalculateWIndowRect to use Hwnd.GetWindowRect (one step towards + removing DeriveStyles). In AddConfigureNotify don't do anything if the + hwnd is a zombie (fixes the BadWindow we were getting while running the + tests), always calculate the offsets when it's a parentless window, not + only when reparented, and translate the window size, since we're getting + the client size of the whole window, excluding entire window. + * Theme.cs: Added BorderSizableSize. + * XplatUIWin32.cs: Fix RECT Height and Width. Don't fake styles here + anymore. Update calls to XplatUI.CalculateWindowRect due to API change. + * Form.cs: Update calls to XplatUI.CalculateWindowRect due to API change. + Fake the window styles here instead of in XplatUIWin32 so that all + back-ends get the same window styles (and it's Form that's deciding when + to use wm, not the Win32 backend anyways) + * Hwnd.cs: Completely reworked GetWindowRectangle and GetClientRectangle - + they are now passed a CreateParams and they only use Style and ExStyle + to determine the rectangles (they should now work just like + Win32AdjustWindowRectEx - though quite a few special cases are probably + missing). They should also be 100% complimentary (i.e. GetWindowRectangle + (GetClientRectangle (rect)) == rect), and all numbers (borders, menu + sizes) are taken from the current theme. Added a GetBorders helper + function that will return the borders for any given CreateParams + (including captions and menus), and GetBorderSize that returns the given + border size only. + * XplatUIOSX.cs: Update calls to CalculateWindowRect and + Hwnd.GetClientRectangle. + +2007-03-30 Rolf Bjarne Kvinge + + * Form.cs: Don't layout mdi children on MdiParent creation, the initial + layout of the mdi children is handled by CreateParams. Fixes + #79964, + +2007-03-29 Everaldo Canuto + + * MenuAPI.cs: Make OnMouseDown returns a boolean to identify if event is + processed. + + * Form.cs: When active tracker mouse down is not processed, send event + back to control inside mouse position. [Fixes #81227] + +2007-03-29 Jonathan Pobst + + * ComboBox.cs: Override the ComboListBox's ActivateOnShow property and + remove WS_VISIBLE from CreateParams to prevent combobox dropdowns from + stealing focus from the active form on Windows. (Control will be made + visible in ShowWindow.) + +2007-03-29 Mike Kestner + + * ImageList.cs : add internal Changed event. + * ListView.cs : hook up to StateImageList.Changed to perform + invalidations when the the state icon list changes. [Fixes #81191] + +2007-03-29 Jonathan Pobst + + * ToolTip.cs: Override the ToolTipWindow's ActivateOnShow property + to prevent tooltips from stealing focus from the active form on Windows. + +2007-03-29 Everaldo Canuto + + * ThemeWin32Classic.cs: Small stetic fixes in notifyicon balloon. + + * ThemeClearlooks.cs: Implement notifyicon balloon for clearlooks theme. + +2007-03-29 Everaldo Canuto + + * NotifyIcon.cs, ThemeWin32Classic.cs: Icon support added to notifyicon + balloons. + +2007-03-29 Jackson Harper + + * TextControl.cs: When deleting text from non multiline textboxes, + we need to update the entire document, because line offsets will + be shifting. + +2007-03-29 Everaldo Canuto + + * XplatUIX11.cs, ThemeWin32Classic.cs, Theme.cs: ShowBalloonWindow method + added to theme, now we can create themes that uses diferent notify engines + like notification-daemon from galago project or growl for Mac OS. + +2007-03-28 Everaldo Canuto + + * NotifyIcon.cs: Prevent Balloon to show in task bar. + +2007-03-28 Everaldo Canuto + + * XplatUIX11.cs: Prevent system to open more than one balloon. + + * NotifyIcon.cs: Prevent system to open more than one balloon and remove + some compiler warning messages. + +2007-03-28 Everaldo Canuto + + [Fixes #79149] + + * XplatUIX11.cs: Implement SystrayBalloon for X11 systems. + + * ThemeWin32Classic.cs, Theme.cs: DrawBalloonWindow and BalloonWindowRect + implemented, this methods is used by NotifyIcon.BalloonWindow class. + + * NotifyIcon.cs: BalloonWindow class added to support Balloon in X11 + systems. + +2007-03-28 Carlos Alberto Cortez + + * ListViewItem.cs: Forgot to make Invalidate internal. + +2007-03-28 Carlos Alberto Cortez + + * ListView.cs: Add a InvalidateSelection method to + invalidate methods which are currently selected, and call + it when setting FullRowSelect and HideSelection, instead of + calling Redraw. + +2007-03-28 Chris Toshok + + * XplatUIX11.cs (UnmapWindow): reindent this block. + + * DataGrid.cs (UpdateSelectionAfterCursorMove): we need to update + the selection_start if we're moving the selection (that is, not + extending it). Fixes bug #80461. + +2007-03-28 Jonathan Pobst + + * ProgressBar.cs: Make the default MarqueeAnimationSpeed = 100. + * ToolStripPanel.cs: Fix RowMargin, Renderer, RenderMode, and + create private ControlCollection. + +2007-03-28 Jonathan Pobst + + * Control.cs: We need to call OnVisibleChanged for our implicit + children as well as our normal children. Fixes scrollbars in + comboboxes not showing up. + +2007-03-28 Jonathan Pobst + + * Control.cs, Form.cs: Anywhere we call CreateHandle, we need to do + the check for IsHandleCreated first. The check in CreateHandle is not + good enough because CreateHandle can be overriden, and the override + should not be called if the handle is already created. + +2007-03-28 Jonathan Pobst + + * ToolStrip.cs: Remove MonoTODO for tooltips. + * ToolStripComboBox.cs: Fix MonoTODO for DropDownHeight and events. + * ToolStripContainer.cs: Add custom ControlCollection class. + * ToolStripContentPanel.cs: Fix Renderer setting to match MS behavior. + * ToolStripDropDown.cs: Add some missing properties/methods. + * ToolStripDropDownMenu.cs: Override OnLayout and SetDisplayedItems. + * ToolStripItem.cs: Remove MonoTODO for tooltips. + * ToolStripManager.cs: Add IsShortcutDefined. + * ToolStripOverflow.cs: Override LayoutEngine. + * ToolStripProgressBar.cs: Add MarqueeAnimationSpeed. + * ToolStripSeparator.cs: Add ImageKey. + +2007-03-28 Jackson Harper + + * TextControl.cs: If a char delete removes a line ending, we need + to update the ending style. + - Make sure the line ending calcs get called. + +2007-03-28 Rolf Bjarne Kvinge + + * XplatUIX11.cs: CreateWindow: Remove old default form location code, + it was making the new code not work. Fixed a typo in the new code + as well. Fixes #79826. + +2007-03-27 Everaldo Canuto + + * XplatUIWin32.cs: + - NIF_STATE and NIF_INFO added to NotifyIconFlags. + - NOTIFYICONDATA properties sizes fixed, szTip is 128, not 64. + - SystrayBalloon method implemented. + [Add support for notifyicon balloon on win32, #79149] + +2007-03-27 Mike Kestner + + * ThemeWin32Classic.cs : update StateImageList selection to mirror + the ms behavior when only one image is added to the list. + [Fixes #81191] + +2007-03-27 Jackson Harper + + * TextControl.cs: Improvements to non multiline line ending + drawing/measuing. + +2007-03-27 Everaldo Canuto + + * XplatUIX11.cs: Fix the time which tooltip is opened for NotifyIcon. + +2007-03-27 Everaldo Canuto + + * NotifyIcon.cs: + - Balloon message handling added. + - Call XplatUI.SystrayBalloon in ShowBalloonTip. + + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, + XplatUIOSX.cs, XplatUIX11-new.cs: ShowBalloonTip method renamed + to SystrayBalloon to me like other Systray method, also a + handle parameter added. + +2007-03-27 Carlos Alberto Cortez + + * ListView.cs: Show scrollbars even when items.Count == 0 + but the columns Width is bigger than the ListView.Width. + Also, when columns.Count == 0 set layout_wd and layout_ht + to the ClientRectangle values, so we don't show any scrollbar + in that case. + +2007-03-27 Everaldo Canuto + + * XplatUIStructs.cs: Balloon (NIN_BALLOON*) constants added. + +2007-03-27 Jackson Harper + + * RichTextBox.cs: The RTF library decodes the text properly for us + now. + +2007-03-27 Carlos Alberto Cortez + + * ListView.cs: Display HeaderControl even when columns.Count == 0. + * ThemeWin32Classic.cs: Use SystemBrushes.Control to draw the + ListView header (HeaderControl), instead of Control.BackColor. + +2007-03-27 Jonathan Pobst + + * Control.cs: Call OnVisibleChanged in SetVisibleCore for non-forms. + Fixes tab control issues where controls would not show up because they + never received their OnVisibleChanged call. + +2007-03-27 Everaldo Canuto + + * NotifyIcon.cs: Balloon events added (BalloonTipClicked, BalloonTipClosed, + BalloonTipShown). + +2007-03-27 Jonathan Pobst + + * Control.cs: We won't get a WM_SHOWWINDOW when we create a window that + is maximized or minimized, so move CreateControl to Control.OnVisibleChanged. + * Form.cs: After we set the form visible, send a fake WM_SHOWWINDOW if we + are max or min. Remove WS_VISIBLE from CreateParams unless we are recreating + the handle. Fix WindowState by using the internal variable until we are + sure that we've been shown. + * XplatUIX11.cs: Do not generate a WM_SHOWWINDOW message if new form is + max or min. + [Fixes bug #81198] + +2007-03-27 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Windows without WS_CAPTION can still get decorations + (at least borders). Fixes #79386 on Linux (with a small difference + in behaviour: when trying to resize a caption-less window metacity + shows the sysmenu. Resizing is still possible though). + * XplatUIWin32.cs: When setting window styles send request an extra + WM_NCCALCSIZE when it's a form without title (due to no text and no + caption), since Win32 seems to calculate it wrong the first time we + get the message, though the second time things work as they should. + * Form.cs: Reorder a few statements in ChangingParent, otherwise the + newly reparented window might show up unparented. Update + CreateParams to exclude WS_DLGFRAME if ControlBox is false and + there's no title text. Fixes #79386. + +2007-03-27 Mike Kestner + + * ListBox.cs : don't perform invalidations if the handle hasn't been + created. [Fixes #80753] + +2007-03-27 Mike Kestner + + * ListBox.cs : don't adjust top item when SelectedIndex is set to -1. + [Fixes #80428] + +2007-03-26 Everaldo Canuto + + * XplatUIWin32.cs: Complete NOTIFYICONDATA structure, additional fields + needed to implement Balloon. + +2007-03-26 Carlos Alberto Cortez + + * ListViewItem.cs: In the constructors that take + an array of strings, don't use ListViewSubItemCollection.AddRange + method to add items, since we need to have a different behaviour (in + the constructors we add an item for each null string, opposed to + the behaviour of AddRange, which adds nothing). + +2007-03-26 Andreia Gaita + + * NumericUpDown.cs: Fix broken 1.1 api for ParseEditText + +2007-03-26 Jackson Harper + + * TextControl.cs: Draw and measure line endings when in non + multiline mode. + - When searching the text, count the end of the last line as a + word boundary. + +2007-03-26 Jackson Harper + + * RichTextBox.cs: The selection_start and selection_end don't + really track the correct tags for the selection. So we'll manually + compute the correct tag here. + +2007-03-26 Rolf Bjarne Kvinge + + * ProgressBar.cs, ThemeWin32Classic.cs: Implemented drawing of Marquee + and Continuous styles. Fixes #79469. + +2007-03-26 Jonathan Pobst + + * ToolStrip.cs: Implement Tooltips. + * ToolStripItem.cs: Create internal method for determining tooltip. + +2007-03-26 Jonathan Pobst + + * PropertyGrid.cs: Hide a EditorBrowsable attribute from 1.1 API. + +2007-03-26 Everaldo Canuto + + * NotifyIcon.cs: On disposing verify if icon is visible and hide it, + it prevents a problem thak keeps icon visible after application + closes on win32. + +2007-03-26 Everaldo Canuto + + * NotifyIcon.cs: Balloon properties and methods created. + + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, + XplatUIOSX.cs, XplatUIX11-new.cs: Implement ShowBalloonTip method. + +2007-03-25 Jonathan Pobst + + * ToolStripComboBox.cs: Default the ComboBox's FlatStyle to Popup. + +2007-03-24 Jonathan Pobst + + * Control.cs: Make SetBoundsCore match MS better. The BoundsSpecified + parameter indicates which aspects were explicit/user-set. + * ComboBox.cs, ListBox.cs: Call SetBoundsCore correctly. (no 0 parameters). + +2007-03-24 Jonathan Pobst + + * ProgressBar.cs: Throw AOORE instead of AE for property Value (2.0). + * ScrollBar.cs: Throw AOORE instead of AE for properties LargeChange, + SmallChange, and Value (2.0). + * Timer.cs: Throw AOORE instead of AE for property Interval (2.0). + +2007-03-23 Carlos Alberto Cortez + + * ListView.cs: Always set item_control.Width in LayoutDetails + if View is Details. Setting it later in CalculateScrollBars + in a not-so-corner scenario (the sum of columns width is + not bigger than the ListView width when handle is created, and then + that sum gets bigger by increasing the width of the columns) + causes a very weird recursion path (which shouldn't be happening, + since header_control sets it in CalculateScrollBars too). This bug + appeared after Chris' fixes for handle created issues, so probably + it's related to some handle-creation time. + +2007-03-23 Chris Toshok + + * DataGrid.cs (GetVisibleRowCount): increase the row count in the + case where there's an add row, just so we don't end up in a case + where it's not displayed (this happens when the row is partially + obscured). Fixes bug #79574. + +2007-03-23 Jackson Harper + + * TextControl.cs: + * TextBoxBase.cs: + * RichTextBox.cs: Preserve line endings in the lines text buffer, + also added an enum that represents the line ending type. + +2007-03-23 Andreia Gaita + + * NumericUpDown.cs: Fix logic so Text and Value properties are not + messed with in every method call, but only from DownButton, + UpButton, UpdateEditText() and ValidateText. Fixes #80346 + +2007-03-23 Chris Toshok + + * DataGridTextBoxColumn.cs (GetFormattedValue): don't try to + format objects if the format spec is "". Fixes bug #80889. + +2007-03-22 Miguel de Icaza + + * ToolStripPanel.cs (Join): added stubs to build PDN3 + + * Control.cs (AutoScrollOffset): Add. + + * SystemInformation.cs (MouseWheelScrollDelta): Expose this + property, its only implemented for Win32, on X11 it defaults to + some hardcoded value. + + * ToolStripItem.cs (AllowDrop): Add property + +2007-03-22 Mike Kestner + + * ListView.cs : in FullRowSelect Details mode, only enable box + selection if the user clicks over the "item" column outside of the + text area. Mmmmm, compatibility. [Fixes #80374 subpart 7] + +2007-03-22 Rolf Bjarne Kvinge + + * Control.cs: ChangeParent: Call Form's ChangingParent even if the + handle is not created yet. + * Form.cs: Select: Don't call CreateHandle if the handle is already + created, avoids a stack overflow on Windows when we are recreating + controls. + * ScrollableControl.cs: Set the correct z-order for the scrollbars when + they are made visible, and override AfterTopMostControl to keep + them on top when other controls are brought to front. + CalculateCanvas: Scrollbars are only visible if auto_scroll is true + or force_*scroll_visible is true (old implementation always shows + scrollbars when needed, no matter what auto_scroll was set to). + * InternalWindowManager.cs: UpdateWindowDecorations: Add a + IsHandleCreated check. + +2007-03-22 Andreia Gaita + + * DataGrid.cs: Implement Column and Row auto sizing when double-clicking on + row or col separator. + * DataGridTextBoxColumn.cs: Implement GetPreferredHeight and GetPreferredSize + +2007-03-22 Everaldo Canuto + + * MenuAPI.cs: Remove unneeded check for grab_control in UpdateCursor. + +2007-03-22 Everaldo Canuto + + * MenuAPI.cs: UpdateCursor method added, it is calling in OnMotion to update + cursor for child controls. In ShowWindow and HideWindow now call SetCursor + every time. Fixes #80410. + +2007-03-22 Chris Toshok + + * BindingSource.cs (AddNew): partially implement. + + remove a couple of NotImplementedException's + to get bug #81148 closed. + +2007-03-22 Everaldo Canuto + + [Fixes #80380] + + * Control.cs: + - UpdateCursor method added to update the screen cursor. + - GetAvailableCursor method added to return cursor for enabled tree, + it searches for cursor on control and it's parent's for enabled control. + - Call UpdateCursor method on setter of Cursor property. + - On setter of Enabled call UpdateCursor when it is false, we need to + change cursor to normal (or to this parent cursor) because cursor + setting theres no effect to disabled controls. + - Some minor source changes to follow the coding style guidelines. + + * XplatUIX11.cs: In MotionNotify only dispatch SET_CURSOR event for enabled + controls. + +2007-03-22 Chris Toshok + + * XplatUIX11.cs: ignore the BadPicture errors cairo+render + generates. + +2007-03-22 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Implement default locations for forms. + * Form.cs: Completely rework startup location for forms. Fixes #79964. + * Hwnd.cs: Add previous_child_startup_location (to track the current + startup location for any child forms of the current form) and + previous_main_startup_location (to track the startup location for + the current toplevel form). + +2007-03-21 Jonathan Pobst + + * Control.cs: Don't trigger a layout if an implicit control is added + that isn't visible. Also, don't notify the owner when an implicit control + is added. (Owners shouldn't even know about their implicit controls.) + +2007-03-21 Jonathan Pobst + + * ScrollableControl.cs: Add implicit controls with AddRangeImplicit + to save some re-layouts. + +2007-03-21 Everaldo Canuto + + * MenuAPI.cs: In ProcessKeys returns false when key is not processed. + [Fixes #81203] + +2007-03-21 Jonathan Pobst + + * FlowLayoutSettings.cs, ToolStrip.cs, ToolStripPanel.cs, + ToolStripPanelRow.cs: Lazy instantiate the LayoutEngine. + +2007-03-21 Mike Kestner + + * ListView.cs : disable selection update for non-left button clicks + with mods and over selected items. [Fixes #80524] + +2007-03-20 Jackson Harper + + * TextControl.cs: + * TextBoxBase.cs: Allow different types of line endings. \r, \r\n, + \r\r\n, \n. + +2007-03-20 Rolf Bjarne Kvinge + + * ComboBox.cs: PreferredHeight seems to be ItemHeight + 6, but there is + very probably a more complicated calculation there. Update the + textbox' ForeColor and BackColor when the ComboBox' colors are + changed. Change the border change in LayoutComboBox to only affect + the textbox, not all the calculations there. Seems to fix most of + #79436. + +2007-03-20 Rolf Bjarne Kvinge + + * ComboBox.cs: Handle Home and End keys as well as all combinations of + modifiers + navigation keys as input keys, enables advanced text + selection in the combobox (like Shift+Left Arrow for instance). + ComboTextBox now overrides Focused and returns whatever + ComboBox.Focused returns, since it really should be focused + whenever the ComboBox is. Fixes #80795. Also make the border around + the text box one pixel bigger, as mentioned in #79436. + +2007-03-20 Jackson Harper + + * TreeView.cs: Don't offset the images, this was causing some + artifacts when expanding/collapsing with images that were the + exact height of the treenode. + +2007-03-20 Rolf Bjarne Kvinge + + * TrackBar.cs: Query the theme for the correct value when the mouse + moves and the thumb is pressed. + * Theme.cs: Added TrackBarValueFromMousePosition + * ThemeWin32Classic.cs: Reworked TrackBar drawing. Earlier + implementation was updating the trackbar value when drawing, now + the drawing methods only draw. Fixes #80900. Refactored the + calculations out to TrackBarValueFromMousePosition and + GetTrackBarDrawingInfo, so that TrackBar can get the correct value + according to the mouse position whenever it wants to. Changed the + light coloured pen when drawing the thumb from ControlLight to + ControlLightLight, because the ControlLight is the same colour as + the background so the 3D effect is lost. + +2007-03-20 Everaldo Canuto + + * Form.cs: In ShowDialog uses MainForm as transient form when no form is + defined. Fixes #80784. + +2007-03-20 Marek Habersack + + * ContextMenuStrip.cs: align with the change introduced in + revision 74664. + +2007-03-20 Everaldo Canuto + + * XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs, + XplatUI.cs, Form.cs, ToolTip.cs: Remove unneeded parameter owner + in SetTopmost. + +2007-03-19 Chris Toshok + + * Control.cs (WmPaint): don't make use of the Handle property + after an event is emitted, as the user could have closed the + form/destroyed the control. Store the Handle in a local variable + and make use of that. Fixes bug #80768. + +2007-03-20 Everaldo Canuto + + * XplatUIX11.cs: Set _NET_WM_STATE_ABOVE on SetTopmost, it fixes Topmost + behavior in X11 environments. + +2007-03-20 Everaldo Canuto + + * Form.cs: Call SetTopmost in CreateHandle when window is topmost, its + because on setter of topmost we dont call SetTopmost when handle is not + created. + +2007-03-20 Jackson Harper + + * TextControl.cs: Need to use SelectionLength () not + selection_length, since that var is reset to -1. + - Draw the caret when we don't have focus. + * TextBox.cs: The selectall actually doesn't occur until the first + focus. + * TextBoxBase.cs: Need to update the caret position after a + selectall. + +2007-03-20 Carlos Alberto Cortez + + * ListView.cs: Enable scrolling when using Tile view. + +2007-03-20 Everaldo Canuto + + [Fixes #80902] + + * XplatUIDriver.cs: Abstract SetOwner method created. + + * XplatUIOSX.cs: Override SetOwner to prevent compilation errors method + must be implemented and was masked as todo. + + * XplatUIWin32.cs: SetOwner implemented using SetWindowLong with + GWL_HWNDPARENT. + + * XplatUIX11.cs: SetOwner implemented using same code from SetTopmost but + cheking for null owner to remove transient. The SetTopmost will be change + on a decond step. + + * Form.cs: In set_Owner and CreateHandle uses new SetOwner instead of + SetTopmost. Now owned forms will work properly in win32 and X11. + +2007-03-20 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: Update function name. + * Form.cs: After closing a form MdiParent is always null. + * MdiClient.cs: Rename CloseChildForm to ChildFormClosed to explain + better what it should do: necessary book-keeping when the form is + closed, it should not close the form itself. + +2007-03-19 Andreia Gaita + + * ListViewItem.cs: Fix back and fore color. The subitems only + use their own colors if they are set, otherwise use the listview's + colors. Don't set default colors on constructor for subitem. + Fixes #79315. + +2007-03-19 Mike Kestner + + * ListView.cs : make box selection for Details views with + FullRowSelect conform to MS behavior when clicking in the "item" + column and clicking outside the defined columns. + [Fixes case 5-6 of #80374] + +2007-03-19 Chris Toshok + + * ScrollableControl.cs: create the controls from within the ctor, + but don't actually add them until our handle is created. this + fixes a NRE possibility jpobst found (if you override OnLayout in + a subclass, it's called before your ctor). Also, add a + IsHandleCreated guard to UpdateSizeGripVisibility as well. + +2007-03-19 Jackson Harper + + * TextBox.cs: Reduce the amount of invalidation we do. + * TextBoxBase.cs: Make shortcuts enabled true by default, at least + some of them are true by default on MS. + - Add some functions to reduce the amount of invalidates we do. + * TextControl.cs: Less invalidation. + +2007-03-19 Chris Toshok + + [ Fixes #81773, and *seems* to fix #81553 as well ] + + * XplatUIX11.cs: remove the assignment of hwnd.zombie = true from + AccumulateDestroyedHandles. We need to do it *after* we send + WM_DESTROY, as the user's code can access Control.Handle in + OnHandleDestroyed, and this shouldn't cause a recreation. Also, + move the WM_DESTROY/zombie handling to before the call to + XDestroyWindow. For some reason without this ordering + FormTest.RecreateHandle hangs. This ordering is semantically + equivalent, however, as XDestroyWindow is async anyway. + +2007-03-19 Gert Driesen + + * RichTextBox.cs: Reset backcolor_set after setting default. + +2007-03-19 Chris Toshok + + * ScrollableControl.cs: the scroll position should not effect the + canvas size. commit patch from georgegiolfan@yahoo.com, which + fixes some really bizarre behavior on resizing. Fixes bug #80778. + +2007-03-19 Chris Toshok + + * ScrollableControl.cs: clean this up a bit. create the + scrollbars in the ctor and just show/hide them as needed. Also, + make hscroll_visible/vscroll_visible internal to Recalculate, and + just use hscrollbar.VisibleInternal/vscrollbar.VisibleInternal + everywhere else. This seems to fix the scrollbars appearing + beneath the content for me (i have *no* idea why that is, + however.) + +2007-03-19 Jonathan Pobst + + * ToolStrip.cs: Don't call DoAutoSize when we change Dock. Also, remove + some redundacy for stuff in Anchor and Dock that base will take care of. + [Fixes #80762] + +2007-03-19 Mike Kestner + + * ListView.cs : make box selection for Details views without + FullRowSelect dependent on the text bounds, not item bounds. + * ListViewItem.cs : add an internal property to obtain the TextBounds + in Details view. [Fixes case 1-4 of #80374] + +2007-03-19 Andreia Gaita + + * PaintEventArgs.cs (Dispose): Only dispose of graphics object if + we're < 2.0. #78448 && #80316 + +2007-03-19 Jonathan Pobst + + * FontDialog.cs: Don't crash when we switch to a new font that doesn't + have the same style available as the previously selected one. Also, + support FixedPitchOnly property. [Fixes bugs #80918, #80947] + +2007-03-19 Jackson Harper + + * TextControl.cs: Add an alignment property that all new lines + will be given. + - Make sure to use the align shift when calculating the line's X + position. + * TextBox.cs: Set the alignment on the document as well as on all + the document lines. + +2007-03-19 Rolf Bjarne Kvinge + + * Control.cs: ControlCollection.Add: Remove a couple of duplicated casts and + throw if setting the parent of an mdichild that already has an + mdiparent. Update signature for 2.0 profile. ProductName: If there's no + AssemblyProductAttribute in the assembly, use the type's namespace (as + MS seems to do). CreateControl: don't create the handle if the control + is not visible (according to MS behaviour and spec). SetTopLevel: Only + create handle if the control is not a form. Change FocusInternal to + virtual so that it can be overriden by Form. + * TextBox.cs: Update call to FocusInternal. + * Form.cs: Always create the handle when calling Focus on a MdiChild. The + form is not a toplevel form when it's a mdi child, so update is_toplevel + accordingly. ShowIcon/TransparencyKey: avoid creating the handle if it + hasn't been created. Show (IWin32Window): Don't allow this overload for + toplevel windows. CenterToParent/CenterToScreen/Select: create the + handle as MS does. SetVisibleCore: if called on a MdiChild and the + parent isn't visible yet, save the visibility and restore it when the + parent is made visible. + * ScrollableControl.cs: Refactor out scrollbar visibility code to separate + methods, since the visibility of the scrollbars can be changed from + several places, not only from AutoScroll. + [Fixes #81179] + +2007-03-19 Jackson Harper + + * RichTextBox.cs: Enable shortcuts by default. + * TextBoxBase.cs: Add conditional shortcuts. + +2007-03-19 Everaldo Canuto + + * MenuItem.cs: Dont call OnDrawItem when OwnerDraw is false (#81182). + +2007-03-19 Chris Toshok + + [ Fixes bug #80604] + + * XplatUIX11.cs (WaitForHwndMessage): change this to actually + swallow the message we're waiting on, instead of delivering it, as + this is only used for the WM_SHOWWINDOW raised from + MapWindow/UnmapWindow, and the message needs to be generated + (MapWindow, UnmapWindow): generate the WM_SHOWWINDOW message + before doing the Map/Unmap. Also make sure that the Hwnd is still + alive after the message has been handled. + + *before* the window is shown. + + * Control.cs (CreateControl): guard a few more things inside the + if (!is_created) block, as we might end up being called again - + yay .net. + (WmShowWindow): call CreateControl if we're showing the control. + +2007-03-19 Rolf Bjarne Kvinge + + * Control.cs: Fix 2.0 signature for Invoke. Support invoking on + controls without a handle if they have any parent with a handle. In + Dispose add a check whether the handle is created or not before + calling BeginInvoke, this removes the need of the extra disposing + parameter (which was bogus anyway since it didn't prevent the + invoke from happening, it only skipped the check for an existing + handle, meaning that the invoke would call on an inexistent + handle). + +2007-03-19 Everaldo Canuto + + * MessageBox.cs: Remove WS_POPUP from CreateParams style, with it form + appears in taskbar. + +2007-03-18 Everaldo Canuto + + * MessageBox.cs: + - Fixed a problem that dont show help button for messages with 3 buttons. + - Refactory button size and position calculations, now dont use fixed + values, also fixed button sizes (#80043) and form's border space. + - AddButton method created, now all other AddButton methods call this one. + - Some other source code cosmetic changes. + +2007-03-18 Jackson Harper + + * RichTextBox.cs: Don't do this all fonts must match check if + there is only one char selected. + +2007-03-18 Jackson Harper + + * TreeView.cs: ScrollWindow works properly now, so we don't need + to screw around with the scroll area. This fixes some artifacts + when expanding and collapsing. + +2007-03-18 Jackson Harper + + * TextBoxBase.cs: Allow updating the selection position when the + cursor is outside the textarea, but we have a capture. + * TextControl.cs: A special case for when the cursor is outside + the bounds of the TB. + +2007-03-18 Jackson Harper + + * TextBoxBase.cs: Remove image pasting code for now. There is no + way to get an image on the clipboard right now anyways. + * TextControl.cs: + * RichTextBox.cs: Use the new RTF Picture class for pictures. + +2007-03-18 Everaldo Canuto + + * MessageBox.cs: + - Set window properties in constructor intead of on CreateParams. + - Remove topmost from Window ExStyle. + - Set ShowInTaskbar to false. + - Set form border to FixedDialog. + - Some cosmetic changes and remove unneeded comments. + - It fixes itens 2,3 and 4 of bug #80043. + +2007-03-18 Gert Driesen + + * TextBoxBase.cs: In setter for ReadOnly, only chance BackColor if + none was explicitly set. Fixes part of bug #79949. + +2007-03-16 George Giolfan + + * ToolStripComboBox.cs: Add AutoComplete*. + +2007-03-16 George Giolfan + + * ToolStripComboBox.cs: Add FlatStyle. + +2007-03-16 Jonathan Pobst + + * ToolStrip.cs, ToolStripProfessionalRenderer.cs, + ToolStripSplitStackLayout.cs: Implement some basic vertical toolbar support. + +2007-03-16 Rolf Bjarne Kvinge + + * ButtonBase.cs, ToolStrip.cs, SendKeys.cs, TextRenderer.cs, + CheckBox.cs, RadioButton.cs, BindingSource.cs, + DataGridColumnStyle.cs: Remove warnings. + +2007-03-16 Rolf Bjarne Kvinge + + * Menu.cs: MergeMenu: Check menu argument for null before looping over + it. + * MdiWindowManager.cs: Add IsVisiblePending to track the pending + visibility of mdi child forms. FormSizeChangedHandler: update the + maximized size if size has changed while maximized. + * MdiClient.cs: SizeScrollbars/ArrangeWindows/ActivateChild: Avoid + creating the handle. + * InternalWindowManager.cs: UpdateBorderStyle/FormSizeChangedHandler: + avoid creating the handle if not created. + * XplatUI.cs: Update debug output. + * XplatUIStructs.cs: Added ToString's for a couple of structs. + +2007-03-16 Jonathan Pobst + + * ContainerControl.cs: Give ToolStripManager the opportunity to handle + ProcessCmdKey(). + * ToolStripDownItem.cs, ToolStripItem.cs, ToolStripItemCollection.cs, + ToolStripItemEventType.cs, ToolStripManager.cs, ToolStripMenuItem.cs: + Implement keyboard shortcuts. + +2007-03-15 Everaldo Canuto + + * CommonDialog.cs: Set StartPosition to CenterScreen on form's constructor. + Fixes #79560 and #80200, it also fix problem in FileDialog, SaveDialog, + ColorDialog and all derived classes. + +2007-03-15 Everaldo Canuto + + [ Fixes bug #79828 ] + + * ToolBar.cs: + - Rename ToolBarButtonInfor to ToolBarItem. + - Add all layout and calculation stuff gtom ToolBarButton to ToolBarItem. + - Maintain an array of ToolBarItem, used instead of ToolBarButton + collection to be able add same button more than one time on a toolbar. + - Refactory all properties and methods to use ToolBarItem. + + * ToolBarButton.cs: + - Remove all propeties and methods that is now in ToolBarItem. + - Rectangle propery now gets the rectangle from first ToolBarItem to + mimic win32 behavior. + - Size calculation and layout methods also removed. + + * ThemeWin32Classic.cs: Change all ToolBar drawing methods to receive + ToolBarItem instead of ToolBarButton to right drawing buttons when + same button/separator was added more than one time to ToolBar. + + * ThemeNice.cs: Same as above. + +2007-03-15 Andreia Gaita + + * XplatUIX11.cs: Fire extra MouseMove events right after + MouseDown and MouseUp, emulating win32's behaviour + for apps that rely on it. + +2007-03-15 Jackson Harper + + * TextControl.cs: + * TextBoxBase.cs: On MS, a fixed single border is not in NC area, + it is drawn on the controls client window and there is no NC + area. + - Set the background color to gray on 2.0 when we are readonly. + +2007-03-15 Chris Toshok + + [ Fixes bug #81144 ] + + * XplatUIX11.cs: implement VirtualScreen independently of + WorkingArea, by querying the _NET_DESKTOP_GEOMETRY root window + property. + +2007-03-15 Chris Toshok + + * Hwnd.cs: add an internal field for the cached_window_state. + + * XplatUIX11.cs: cache the window state, invalidating the cache + (and thus re-querying the X server) only when we see an update to + the _NET_WM_STATE property. + +2007-03-15 Chris Toshok + + * BindingSource.cs: get a lot of the unit tests working. + +2007-03-15 Jonathan Pobst + + * Control.cs: Modify UpdateStyles to store distances when bounds >= + 0 instead of just bounds > 0. [Fixes bug #80912] + +2007-03-15 Jonathan Pobst + + * ToolStrip.cs, ToolStripItem.cs: Implement several new properties + and methods. + +2007-03-15 Ivan N. Zlatev + + * ComboBox.cs, Control.cs, XplatUIStructs.cs, XplatUIX11GTK.cs, + XplatUIX11.cs, XplatUIWin32.cs, InternalWindowManager.cs, + XplatUIOSX.cs, TextControl.cs: Replaces all uses of the custom + WM_MOUSE_LEAVE with the system WM_MOUSELEAVE message. + +2007-03-15 Chris Toshok + + [ Fixes #81101 ] + + * Control.cs: add Ivan's fix for 81101, with a slight modification + - you can set control.Target to null. + +2007-03-14 Jonathan Pobst + + * ToolStripItem.cs: If our OwnerItem is null, we can't use + HideDropDown, use Hide instead to prevent an NRE. + [Fixes bug #81147] + +2007-03-14 Jackson Harper + + * TextBoxBase.cs: Mess with the creation stuff a little. We need + to calculate the document before the handle is created, in some + cases. (Actually just one case). + +2007-03-14 Jackson Harper + + * TextBoxBase.cs: Need to display the caret after letting the base + wndproc handle the focus methods, because the caret display + methods check the focus state. + - Try to display the caret after updating it's position with SelectWord. + - Don't need to do an immediate update on this recalc, since there + will be an invalidate anyways. + +2007-03-14 Jackson Harper + + * TreeView.cs: Some workarounds so that we can match event order a + little better. + +2007-03-14 Gert Driesen + + * ErrorProvider.cs: Invoke default ctor from 2.0-only ctor. Fixes bug + #80803. Avoid NullReferenceException when Control does not have + parent. Fixed different blinkstyle issues. Only subscribe to Tick + event a single time. Only draw error icon when control is created and + visible. Fixes failing unit tests. + +2007-03-14 Andreia Gaita + + * TabControl.cs: Add support for 2.0 Deselecting, Deselected and + Selecting events. Fire Leave and Enter events when changing tabs. + +2007-03-14 George Giolfan + + * TreeView.cs: Add TreeViewNodeSorter. + * TreeNodeCollection.cs: Add sorter parameter to Sort method. + +2007-03-14 Chris Toshok + + * Form.cs: go ahead and remove the RecreateHandles that jpobst + removed earlier and I had him add back it. It turns out metacity + *does* in fact handle the MOTIF_WM_HINTS property changing, it + just doesn't redraw the window titlebar until you resize the + window. This also means we aren't recreating the entire window + hierarchy on X when you change this property. And it looks better + on windows, too. + +2007-03-14 Carlos Alberto Cortez + + * ListViewItem.cs: + * ListView.cs: Collecting selection information + is now done in SelectedIndexCollection rather than in + SelectedListViewItemCollection. This is done so we can + have the selection information code in one single place + (virtual mode selection information entirely depends on + SelectedIndexCollection). + +2007-03-13 Miguel de Icaza + + * ErrorProvider.cs: Add stubs for ISupportInitialize + +2007-03-13 Carlos Alberto Cortez + + * ListViewItem.cs: Trigger the ItemCheck and ItemChecked events + in the right order with the right values, from the Checked property, + just as MS does (instead of triggering them from ListView). + + * ListView.cs: Make OnItemCheck and OnItemChecked internal. + +2007-03-13 Carlos Alberto Cortez + + * ListView.cs: Implement ItemChecked 2.0 event. Also cast to + the correct handler in OnItemCheck method (ItemCheckEventHandler + instead of EventHandler). This used to throw an InvalidCastException. + +2007-03-13 Jackson Harper + + * TextBoxBase.cs: Calculate the document before the handle is + created, so there isn't an extra invalidate called. + +2007-03-13 Jonathan Pobst + + * Form.cs: Don't set owner in ShowDialog until we are sure + that we aren't going to throw an exception. [Fixes bug #80773] + +2007-03-12 George Giolfan + + * TreeView.cs: Make it compile. + +2007-03-12 Jonathan Pobst + + * Control.cs: Another place we don't call SizeFromClientSize. + * Form.cs: Another place we don't call SizeFromClientSize. + [Fixes bug #81125] + +2007-03-12 Jackson Harper + + * TreeView.cs: Basically emulating some strangness here with + exanding nodes and setting node positions when windows aren't + created. + - Also attempting to walk the node tree less than previously, and + just use visible order calculations for determining offsets. + - oops made scrolling backwards. + * TreeNode.cs: We need to start nodes with a zero visible order, + because the order calcs are based on the first nodes order. + +2007-03-12 Jonathan Pobst + + * Form.cs: Don't exit the program if RecreateHandle is called on + the main form. + +2007-03-12 Chris Toshok + + * XEventQueue.cs: remove the use of PostQuitState. + + * XplatUIX11.cs: remove the use of PostQuitState. If we get a + WM_QUIT message in GetMessage, return false (and if we're in the + nested WaitForHwndMessage, repost the WM_QUIT message). + +2007-03-12 Jonathan Pobst + + * Form.cs: Don't call RecreateHandle when we change the MinimizeBox + or the MaximizeBox properties. [Part of bug #80640] + +2007-03-12 Everaldo Canuto + + * LinkLabel.cs: When calculate pieces make LinkArea empty if theres + no links. + +2007-03-12 Jonathan Pobst + + * ToolStripItem.cs: Fix some tests I broke by checking Visible + instead of visible. + +2007-03-12 Gert Driesen + + * 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 + + * 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 + + * TreeView.cs: + * TreeNode.cs: + * OpenTreeNodeEnumerator: Match MS better for IsVisible and + IsExpanded. + +2007-03-12 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ScrollableControl.cs: Fix mouse wheel scrolling. + +2007-03-09 Jonathan Pobst + + * Control.cs: Wire up MouseDoubleClick event. + +2007-03-09 Jonathan Pobst + + * 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 + + * ListVieItem.cs: SetIndex is only valid for 2.0 profile by now. + +2007-03-08 Jackson Harper + + * 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 + + * ListView.cs: + * ListViewItem.cs: Cache index in items when retrieving them + in VirtualMode. + +2007-03-08 Jonathan Pobst + + * 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 + + * XplatUIX11.cs: Hardcode FrameBorderSize value temporarily to fix MWF. + +2007-03-07 Pedro Martínez Juliá + + * DataGridView.cs: Remove event handler from DataView when a + DataTable is used as DataSource. + +2007-03-08 Jonathan Pobst + + * 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 + + * SystemInformation.cs: Add TerminalServerSession. + +2007-03-07 Jonathan Pobst + + * TreeViewDrawMode.cs: Make internal for 1.1 to allow for consolidated + TreeView code. + +2007-03-07 Jonathan Pobst + + * 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 + + * 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 + + * 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 + + * DataGridView.cs: Comment out debug code. + +2007-03-07 Chris Toshok + + [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 + + * Control.cs (AccessibilityNotifyClients): turns out in 1.1 this + causes handle creation. + + 2007-02-28 Chris Toshok + + * 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 + + * Application.cs (CloseForms): rewrite this so that we don't + modify the list while we're traversing it. + + 2007-02-20 Chris Toshok + + * 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 + + * 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 + + * 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 + + * Control.cs: Control.AccessibilityObject causes the control to be + created, not just the handle. + + 2007-02-14 Chris Toshok + + * 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 + + * 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 + + [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 + + * ToolStripItem.cs: Make CalculatePreferredSize virtual. + * ToolStripMenuItem.cs: Modify CalculatePreferredSize and OnPaint + to draw the menu shortcut string. + +2007-03-07 Jackson Harper + + * TreeNode.cs: Add the 2.0 collapse method. + +2007-03-07 Pedro Martínez Juliá + + * DataGridViewColumn.cs: Fix HeaderText behaviour (Bug #80746). + +2007-03-07 Pedro Martínez Juliá + + * DataGridView.cs: Change DataSource will clear column and row + lists. Call Invalidate() to reflect DataSource change. + +2007-03-07 Pedro Martínez Juliá + + * 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á + + * 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 + + * Label.cs: Implement AutoEllipsis (2.0) + +2007-03-06 Jackson Harper + + * 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 + + * 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 + + * 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 + + * XplatUIX11.cs: Tool windows still get wm styles. Fixes toolwindows showing up with double decorations. + +2007-03-05 Jackson Harper + + * TreeViewHitTestInfo.cs: implement. + +2007-03-05 Jackson Harper + + * InternalWindowManager.cs: class status fix. + +2007-03-05 Rolf Bjarne Kvinge + + * 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 + + * SystemInformation.cs: Marked KeyboardDelay and KeyboardSpeed public + on 2.0 profile. Fixes bug #81018. Small code formatting fixes. + +2007-03-02 Rolf Bjarne Kvinge + + * 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 + + * ListView.cs: Add a check in ListViewItemCollection.RemoveAt + to throw an InvalidOperationException is virtual mode is being used. + +2007-03-02 Jonathan Pobst + + * 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 + + * 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 + + * 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 + + * 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 + + * XplatUIWin32.cs: Don't use 2.0 methods in 1.1 code. :/ + +2007-03-01 Jonathan Pobst + + * 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 + + * 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 + + * LinkLabel.cs: Improve CalcTrimRectangle. + + * ThemeWin32Classic.cs: Fix some compilation problem under VS 2003. + +2007-02-28 Everaldo Canuto + + * LinkLabel.cs: Rename CalcMeasurementFactor as CalcTrimRectangle and + get rectangle as a result value. + +2007-02-28 Everaldo Canuto + + * 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 + + * 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 + + * RadioButton.cs: Implement 2.0 event. + * RelatedImageListAttribute.cs: Implement new class. + +2007-02-27 Everaldo Canuto + + * MenuAPI.cs: Change keynav_state before call SelectItem. Fixes #80901. + +2007-02-27 Jonathan Pobst + + * CheckBox.cs: Implement 2.0 functionality. + +2007-02-27 Carlos Alberto Cortez + + * 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 + + * TextControl.cs: Try to never let the caret stay in a non-text + tag. + * TextBoxBase.cs: Update the caret. + +2007-02-26 Jonathan Pobst + + * 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 + + * 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 + + * 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 + + * Form.cs: Wrap checking ShowWithoutActivation in a NET_2_0 block. + +2007-02-23 Carlos Alberto Cortez + + * ListView.cs: I forgot to commit the changes for ListView + in my previous patch. + +2007-02-23 Jonathan Pobst + + * 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 + + 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 + + * TextRenderer.cs: Add clipping support, thanks to George. + [Fixes bug #80949] + +2007-02-23 Gert Driesen + + * 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 + + * FileDialog.cs: Update FSEntry when move is successful. Fixes + bug #80948. + +2007-02-23 Everaldo Canuto + + * MainMenu.cs: Change Draw method to take care about MenuOrigin to be + compatible with non X11 systems. Fixes #80901. + +2007-02-23 Gert Driesen + + * 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 + + * TextRenderer.cs: Previos commit logic was backwards. + +2007-02-23 Jonathan Pobst + + * TextRenderer.cs: Don't add padding on MeasureText if we were + sent the NoPadding flag. + +2007-02-23 Everaldo Canuto + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * DataGridViewRow.cs: Fix typo so height can actually be set. + Patch by Peter Grimm. + +2007-02-22 Gert Driesen + + * 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 + + * 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 + + * 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 + + * ComboBox.cs: Removed unnecessary initializations. Marked items field + private. Clear textbox when Text is set to null and SelectedIndex is + already -1. + * FileDialog.cs: Removed unnecessary initializations. Removed + workarounds for ComboBox bugs that are now fixed. Modified + DefaultExt, InitialDirectory and Title property to change null to + zero-length string in getters. Avoid directly accessing fields. + +2007-02-20 Jackson Harper + + * TextControl.cs: Remove RecalAlignments call, that was some + debugging leftovers. + - Don't use the line indent when we shouldn't. + * RichTextBox.cs: Add support for paragraph left indents. + +2007-02-20 Rolf Bjarne Kvinge + + * Control.cs: Fix BeginInvoke signature for 2.0 profile. + Seems like the class status pages doesn't catch params differences. + +2007-02-19 Gert Driesen + + * ComboBox.cs: Removed extra tabs. Changes spaces to tabs. + +2007-02-19 Gert Driesen + + * ComboBox.cs: Setting Text should have no effect if item text of + selected item exactly matches value. First lookup text using + case-sensitive comparison, and fallback to case-insensitive comparison. + FindString(Exact) returns -1 if search string is null. On 2.0 profile, + allow startIndex to be last index. Changed ArgumentOutOfRangeException + paramname to match MS. Restart from first item if string is not found + after startIndex. Fixed paramname of ArgumentNullException that is + thrown for null value in ObjectCollection.Contains. + +2007-02-19 Everaldo Canuto + + * XplatUIStructs.cs: WM_XXX UISTATE elements uncommented. + +2007-02-19 Rolf Bjarne Kvinge + + * ListControl.cs: In SelectedValue use value.Equals to compare for + equality instead of ==, otherwise it will fail for strings. + Fixes #80794. + +2007-02-19 Rolf Bjarne Kvinge + + * ComboBox.cs: Switch the order to ShowSelection and ActivateCaret, + since the caret won't show up unless ShowSelection is true. + Fixes #80795. + +2007-02-19 Rolf Bjarne Kvinge + + * Application.cs: When disabling all forms but the main form, do not + disable any descendants of the main form (such as mdi children or + other parented forms). Fixes #80822 on Windows. + * Form.cs: If we have a parent, set the WS_CHILD style. + * Control.cs: Update the window styles if the control whose parent has + changed is a form (the WS_CHILD style has to be switched). + +2007-02-19 Everaldo Canuto + + * XplatUIStructs.cs: MsgUIState structure added. + +2007-02-18 Gert Driesen + + * FileDialog.cs: Removed need for separate fileName field. On 2.0 + profile, do not check filename(s) for illegal character if filename(s) + were set non-interactively but always check on 1.0 profile. Fixed NRE + in DefaultExt and only strip off first leading dot. Improve exception + message when invalid Filter is set. Do not ignore InitialDirectory if + it does no exist. Store specified Title, and if empty use default + title (depending on type of dialog). Added an internal DialogTitle + property for retrieving dialog title. Fixed logic of displayed dir to + more closely match MS. Avoid setting ComboBox.Text to a zero-length + string as its buggy. + * OpenFileDialog.cs: In OpenFile, throw ArgumentNullException if + FileName is a zero-length string (it can never be null). Override + DialogTitle property to set default title of dialog box. + * SaveFileDialog.cs: Override DialogTitle property to set default + title of dialog box. + +2007-02-18 Gert Driesen + + * FileDialog.cs: Modify default text of filename and filetype labels + to match that of MS. Reset do_not_call_OnSelectedIndexChanged... + after we've updated the SelectedIndex. Fixes part of bug #80887. + * SaveFileDialog.cs: Set text of filetype label. + +2007-02-16 Carlos Alberto Cortez + + * LabelEditEventArgs.cs: New internal SetLabel method, to set the + label field. Needed by latest Jackson's fixes for ListView. + +2007-02-16 Andreia Gaita + + * PrintPreviewControl/PrintPreviewDialog: Properly dispose of + print preview images. + +2007-02-16 Jackson Harper + + * ListView.cs: Make AfterLabelEdit work correctly. + * FileDialog.cs: After changing the name of the folder, we have to + make sure that it is created, or that we pop up an error because + it already exists. + +2007-02-16 Jackson Harper + + * X11Dnd.cs: Implement aliases on mime handlers, so things like + System.String are mapped to text. + - Handle dataobjects, getting all the possible formats out of them + - We dont need the drag event args before we give feedback. This + allows feedback cursors to be immediate before selections have + been converted. + +2007-02-16 Jackson Harper + + * TextBoxBase.cs: Modified the method for inserting images to + taking a line and position instead of tag and position. + * RichTextBox.cs: Handle PngBlip data by inserting the png image + into the RTF file. + * TextControl.cs: Allow images to be inserted as the first tag of + a line. + - Fix some off by one issues when we assume the first tag is a + text tag, not an image tag. + +2007-02-15 Carlos Alberto Cortez + + * ListView.cs: Set focus to ListView when ItemControl gets a + WM_RBUTTONDOWN message, to mimic .Net behaviour. + Fixes part of #80467. + +2007-02-15 Rolf Bjarne Kvinge + + * DateTimePicker.cs: Call RecreateHandle if the Format changes and + validate Text input (if null or empty string reset Value to default + value). Fixes #80830. + +2007-02-14 Carlos Alberto Cortez + + * ListView.cs: Set owner as null for columns and items when + Dispose is invoked. Fixes #80607. + +2007-02-14 Jonathan Pobst + + * ToolStrip.cs: Allow LayoutStyle.Flow, make sure to call OnOpening when + showing DropDowns, don't show a Grip when doing Flow layout. + [This fixes the toolbox in PDN 2.72.] + * ToolStripItem.cs: Add Anchor property and some internal properties to + reduces needed changes to FlowLayout. + * ToolStripOverflow.cs: Remove unused variable. + * ToolStripSplitStackLayout.cs: If a ToolStripItem isn't visible, don't + use it in the layout calculations. + +2007-02-13 Everaldo Canuto + + * ToolTip.cs: Add HotkeyPrefix.Hide to MeasureString format, it fix an issue + reported in #79640. + + * ThemeWin32Classic.cs: Uses format for MeasureString in ToolTipSize to fiz + size calculation. + +2007-02-13 Everaldo Canuto + + * ToolBar.cs, ToolBarButton.cs: Revert and remove HotkeyPrefix from + MeasureString format, it can make button very large in some cases, it is + strange but is what win32 do. + +2007-02-13 Everaldo Canuto + + * ToolBar.cs, ToolBarButton.cs: Uses format in MeasureString to fix string + size calculation. + + * ThemeWin32Classic.cs: Set HotkeyPrefix in toolbar text format to fix text + rendering, the value is based on MenuAccessKeysUnderlined. + +2007-02-13 Everaldo Canuto + + * Theme.cs: Change MenuAccessKeysUnderlined to "true" that is value used + for most themes. + + * ThemeWin32Classic.cs: Override MenuAccessKeysUnderlined as false. + + * ThemeNice.cs, ThemeGtk.cs, ThemeClearlooks.cs: Remove always_draw_hotkeys + and use MenuAccessKeysUnderlined instead. + +2007-02-13 Andreia Gaita + + * ContainerControl.cs: Focus fix for nunit treeview selection bug. + A selected control would not get a Focus call if: + - the default active control of the container is the same as + the one that was selected + - we are switching from one container to another + Under these conditions, the container being selected already has + an active_control, which is the same as the one being activated, + so set_ActiveControl would always return and not send the Focus + call. Fix to check if the currently active control of the container + is actually focused. + +2007-02-13 Jonathan Pobst + + * StatusStrip.cs: Implement the spring layout. + * ToolStripControlHost.cs: Make sure the hosted control's visibility + always matches the host. + * ToolStripItem.cs: Write a more accurate layout for TextBeforeImage + and TextAfterImage. + +2007-02-13 Andreia Gaita + + * Control.cs: Code reorganization only. + - Reorganize the WndProc cases so that each case has it's own handling method, + to help with the no-line-numbering stack traces. + - Formatting changes (it's vstudio's fault, really :p) + +2007-02-13 Rolf Bjarne Kvinge + + * MonthCalendar.cs: Switch to using Thread.CurrentCulture instead of + Thread.CurrentUICulture to match DateTimePicker's (and MS) + behaviour. + +2007-02-12 Jackson Harper + + * RichTextBox.cs: + * TextBox.cs: By default we have a non multiline document + - use the multiline property instead of the internal variable + * TextBoxBase.cs: Treat multiline and non multiline the same in + most places. + - Use the documents multiline flag instead of tracking it ourself + * TextControl.cs: Attempt at getting multiline to match MS + behavior. Lines now track an offset, which is either their X or Y + offset depending on whether or not we are in multiline mode. + - Update all the methods to understand that lines have an X value. + - Fix crash in Undo::Duplicate when empty lines are deleted. + +2007-02-12 Everaldo Canuto + + * Label.cs: CalcPreferredHeight and CalcPreferredWidth methods removed and + code moved to properties PreferredHeight and PreferredWidth. It solve the + all problems when preferred sizes must be recalculated. Fixes #80801. + +2007-02-12 Everaldo Canuto + + * Label.cs: Fix CalcPreferredHeight for 2.0 that must return only + font height when compatible_text_rendering is false. Partially fix #80801. + +2007-02-09 Gert Driesen + + * Form.cs: Fixed typo in exception message. Fixes bug #80779. + +2007-02-09 Gert Driesen + + * Form.cs: Improved exception messages in ShowDialog. + +2007-02-09 Gert Driesen + + * PrintDialog.cs: On 1.0 profile, throw ArgumentException in RunDialog if + PrinterSettins has not been set. On 2.0 profile, initialize PrinterSettings + if not set. Fixes bug #80764. Avoid accessing current_settings field + directly. + +2007-02-08 Everaldo Canuto + + * Theme.cs: An new property MenuAccessKeysUnderlined added with default value + false. + + * SystemInformation.cs: An new property MenuAccessKeysUnderlined added, it is + public in 2.0 and for easy maintenance and dont break compatibility it is + internal in 1.1. + +2007-02-08 Jonathan Pobst + + * ToolStripItem.cs: Implement using images from ImageList. + +2007-02-08 Rolf Bjarne Kvinge + + * DateTimePicker.cs: Change default date-formatting culture from + CurrentThread.CurrentUICulture to CurrentThread.CurrentCulture, + seems to be the way MS does it. + +2007-02-08 Andreia Gaita + + * PrintPreviewControl.cs: rewrite toolbar code to fix #80725. Correct 6-up image + (the 6 was cut off on the right side) + +2007-02-08 Jonathan Pobst + + * Form.cs: Tell MenuStrips to close when the form is clicked. + * MenuStrip.cs, ToolStrip.cs, ToolStripControlHost.cs, + ToolStripDropDown.cs, ToolStripDropDownItem.cs, ToolStripItem.cs, + ToolStripItemCollection.cs, ToolStripMenuItem.cs, ToolStripProfessionalRenderer.cs, + ToolStripSplitButton.cs, ToolStripSplitStackLayout.cs: Add + support for Overflow, where items that do not fit are automatically + reparented to a drop down menu. + * ToolStripOverflow.cs, ToolStripOverflowButton.cs: Added. + Also: fixes bug #80747. + +2007-02-08 Rolf Bjarne Kvinge + + * ComboBox.cs: Remove warning (unused code). + * ScrollableControl.cs: Remove warning for 1.1 profile. + +2007-02-08 Rolf Bjarne Kvinge + + * Form.cs: Remove a warning. + +2007-02-08 Rolf Bjarne Kvinge + + * DateTimePicker.cs: Fixed a NRE if CustomFormat was null. Handles the + 'g' specifier, not documented anywhere, but seems to always show up + as a single space (might have something to do with the DateTime 'g' + specifier, which is the era format, but since DateTimePicker can't + go earlier than 1753 it wouldn't matter) . Fixed quote handling, + won't crash if the format has an unmatched quote. Now shows + single-character formats correctly. Fixes #80744. + +2007-02-08 Jonathan Pobst + + * StatusStrip.cs: Stretch property needs to call base.Stretch, + not this.Stretch to fix stack overflow. [Fixes bug #80760] + +2007-02-07 Chris Toshok + + * ThemeWin32Classic.cs (DrawButtonBase): don't clear to the + background color. it overwrites the background image we've + already painted. Fixes #80599. + +2007-02-07 Chris Toshok + + * DataGrid.cs: return immediately from Edit() when there are no + columns. Fixes #80662. + +2007-02-07 Chris Toshok + + * MessageBox.cs: fix #80625. don't always show the Help button in + 2.0. use the displayHelpButton parameter to determine if we + should show it. Also, make the internal show_help field private. + +2007-02-07 Chris Toshok + + * Control.cs (SetVisibleCore): check in the proposed patch for + 80604, and set is_visible before calling CreateControl. + +2007-02-07 Jonathan Pobst + + * ListView.cs: UseCompatibleStateImageBehavior setter changed from NIEX to + MonoInternalNote. This is added automagically by VS2005, so let's not crash + on it. + +2007-02-06 Everaldo Canuto + + * MenuAPI.cs: hotkey_active internal field added, it is required because + we need to know when hotkeys must be draw, before this change a keystate + Navigating was used but we can have menu in navigating state without + hotkeys. Fixes #80694. + + * ThemeWin32Classic.cs: Only draw hot keys when hotkey_active is true. + +2007-02-06 Rolf Bjarne Kvinge + + * Control.cs: Handle WM_CAPTURECHANGED in 1.1 code as well, and change + corresponding events and methods to be internal for 1.1 profile and + public for 2.0 profile (required by SizeGrip). + * Form.cs: Use SizeGrip as a virtual SizeGrip (and don't add it to the + implicit control list). Don't set the size nor the location of the + SizeGrip anymore as it's not needed. + * SizeGrip.cs: Rewrote large parts, it now supports a virtual mode to + draw directly on the captured control (fixes #80656). Removed + ShowGrip (it wasn't used anywhere), redraw (always true), added + GetDefaultSize and GetDefaultRectangle to calculate defaults. + * ScrollableControl.cs: Make UpdateSIzeGripVisible internal so it can + be called from SizeGrip. + +2007-02-06 Rolf Bjarne Kvinge + + * Timer.cs: Throw ArgumentException if Interval <= 0. + +2007-02-05 Jackson Harper + + * TreeView.cs: We need to check scrollbar visibility when window + visibility is updated, because non visible trees don't ever add + scrollbars. + * Cursor.cs: We want the override cursor to be reset to NULL when + we set current cursor to the default cursor. + +2007-02-05 Jackson Harper + + * TextControl.cs: Don't have crlfs when we are non multiline. + - Consolidate the line position. + +2007-02-05 Jackson Harper + + * X11Keyboard.cs: BACK+CTRL gets a special char code. + +2007-02-03 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Implemented WM_CAPTURECHANGED support, we're now + handling LeaveNotify->NotifyUngrab in order to send + WM_CAPTURECHANGED. However sometimes the NotifyUngrab arrives late + after calling XUngrabPointer, so we call WindowUngrabbed directly + from UngrabWindow in order to send WM_CAPTURECHANGED immediately. + * Control.cs: Handle WM_CAPTURECHANGED in order to raise + MouseCaptureChanged correctly. Also create handles if changing + Capture (matches MS behaviour). + +2007-02-02 Rolf Bjarne Kvinge + + * SizeGrip.cs: Make the last change 2.0 only. + +2007-02-02 Rolf Bjarne Kvinge + + * SizeGrip.cs: If resizing and the capture is lost, revert any size + changes to initial size (fixes #80597). + +2007-02-02 Rolf Bjarne Kvinge + + * SizeGrip.cs: Use the normal icon for SizeGrip if it is disabled. + +2007-02-02 Rolf Bjarne Kvinge + + * SizeGrip.cs: Only draw sizegrip if enabled (but always draw + background) and only allow dragging if enabled. This way the + sizegrip can be used to fill the open square that otherwise would + have been shown in the bottom right corner of ScrollableControl + when ScrollableControl is not suppose to support sizing. + * ScrollableControl.cs: Create UpdateSizeGripVisible to decide when the + sizegrip is shown and enabled, and hook up with necessary events. + +2007-02-01 Chris Toshok + + * DataGridTextBoxColumn.cs: clean up the + GetFormattedString/GetColumnValueAtRow combination of functions. + Also fix UpdateUI, and the initial state of + IsInEditOrNavigateMode. + + * DataGridTextBox.cs: don't chain up to base.OnMouseWheel - we + aren't supposed to scroll the textbox here, we're supposed to + scroll the datagrid. + +2007-02-01 Chris Toshok + + * ComboBox.cs: use vscrollbar_ctrl.Dock instead of explicitly + setting the position. + +2007-02-01 Chris Toshok + + * DataGrid.cs (OnLeave): we can now do the CancelCurrentEdit thing + here, since the most recent focus fixes keep us from generating + the Leave event when our textbox gets focus. + (Edit): we should be passing null for the column style's + instantText parameter. + +2007-02-01 Jonathan Pobst + + * ToolStripDropDownItem.cs: Make sure DropDownOpening event is + raised. Fixes menu text/icons not showing up in PDN. + +2007-02-01 Rolf Bjarne Kvinge + + * Control.cs: Remove code in constructor that makes every + control with WS_CHILD set have initial location -1, -1. + +2007-01-31 Jackson Harper + + * X11Dnd.cs: Take the keyboard on init to reduce coupling with + XplatUIX11. + * XplatUIX11.cs: Give teh keyboard to teh dnd. + +2007-01-31 Jackson Harper + + * X11Dnd.cs: Use IDataObject instead of the DataObject class. + - Remove some debug code. + +2007-01-31 Jackson Harper + + * XplatUIX11.cs: If you set the override cursor during a grab, it + should actually override the grab cursor. This comes into play + when you are setting custom cursors in a DND feedback method. + +2007-01-31 Jackson Harper + + * X11Dnd.cs: Add support for handling the QueryContinue and + GiveFeedback events. + - Cancel drag and drop actions when the escape key is clicked. + * XplatUIX11.cs: Let the dnd subsystem get key events, so that it + can handle the ESCAPE key. + - Allow dnd to swallow BUTTONUP messages if it needs to. This is + done when dnd events are continued after the button is released. + - Add a new helper method so that dnd can translate key events. + +2007-01-31 Alexander Olk + + * FileDialog.cs: Rewrite of Jacksons OnClickCancelButton patch to + make it more obvious what is happening. + +2007-01-30 Jackson Harper + + * XplatUIX11.cs: Don't break when handling button release in drag + and drop operations. We need that BUTTONUP message to get through + so capture is released. + * X11Dnd.cs: We don't need to manually grab the pointer anymore, + this is handled automatically when the mouse is down. + +2007-01-30 Jackson Harper + + * FileDialog.cs: OnClickCancelButton gets called whenever the dialog + is closed, so we need to make sure that we aren't changing the + dialog result when the OK (Open or Save) button has been clicked + and we are closing the window ourselves. Note we don't need to + worry about the cache being written in this case, because it was + already done in the previous FilOk call. + +2007-01-30 Rolf Bjarne Kvinge + + * DateTimePicker.cs: Remove a warning. + * ComboBox.cs: Remove a couple of warnings. + +2007-01-29 Chris Toshok + + * XplatUIX11.cs: don't crash, and remove the icon if the user has + set one, if SetIcon is passed a null icon. + +2007-01-29 Andreia Gaita + + * TextBox.cs: Redraw when the password characters changes + * TextControl.cs: Check if textbox has a password char and draw + a line of password chars instead of the text in the line. LineTag gets + an extra Draw() method which allows document.Draw to override the text + that will be drawn. Removes 1024 char limitation on length of passworded + lines. + +2007-01-29 Jackson Harper + + * TextBoxBase.cs: Deleting sections of text is undoable. Deleting + single chars is not. + +2007-01-28 Jonathan Pobst + + * TextRenderer.cs: Fix cutting off the bottom of letters like "j" by + one pixel. Fix a StackOverflowException caused by an overload wrongly + calling itself. + +2007-01-26 Everaldo Canuto + + * MenuAPI.cs: Fixed kerboard grab problem when "enter"key is pressed, + also remove ProcessArrowKey and put the code inside ProcessKeys. + +2007-01-26 Jonathan Pobst + + * PaddingConverter.cs: Added. + +2007-01-26 Rolf Bjarne Kvinge + + * ThemeWin32Classic.cs: Only draw the text of a StatusBar if + ShowPanels is false (fixes #80600). Only draw up to 127 characters + of text (fixes #80601). For panels clip the text to draw to the + panel (fixes #80603). + +2007-01-26 Rolf Bjarne Kvinge + + * ComboBox.cs: Fixed implementation of ResetText. + +2007-01-25 Jackson Harper + + * TextControl.cs: For the last char of a line we need to use the + line size, not that chars width, since it won't actually be + computed since the right side of a char is based on the start of + the left side of the next char, and the next char does not exist. + +2007-01-25 Chris Toshok + + * Splitter.cs: fix the new unit tests, and reindent some switch + statements. + +2007-01-25 Rolf Bjarne Kvinge + + * ComboBox.cs: Implemented 2.0 methods and events. + * TextBoxBase.cs: Added OnTextUpdate, so that + ComboBox.ComboTextBox can inform ComboBox of it. + +2007-01-25 Jackson Harper + + * TextControl.cs: Respect ShowSelection when deciding whether or + not to display the caret, this allows comboboxes to have carets + when the combotextbox does not have focus. + +2007-01-25 Jackson Harper + + * TextControl.cs: Add a Suspend/Resume for updating, basically the + same as the Suspend/Resume for recalc, except this will do actual + Invalidates. + - New Undo manager, works much like the MS version. + - Implemented Redo + * TextBoxBase.cs: The Cut operation is undoable. + +2007-01-25 Rolf Bjarne Kvinge + + * TextBoxBase.cs: Don't antialias text. Makes it look way better + on Windows (no difference on Linux). + +2007-01-25 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: Set SWP_NOACTIVATE in RequestNCRecalc as well, + we don't want to activate any windows. Fixes #79433. + +2007-01-25 Jonathan Pobst + + - ButtonBase.cs: Fix capitalization of parameter: disposing. + [Fixes bug #80609] + +2007-01-25 Alexander Olk + + * FileDialog.cs: + - Move to using System.ComponentModel.EventHandlerList + - Replace Refresh with Invalidate + - Clear the mime filecache on closing + - Some other memory reducing work. After beeing closed FD now uses + only about 300 KB for the fdo mime stuff plus the memory of the + cached icons. + * Mime.cs: Changed coding style and removed unnecessary commented + code. Some more memory memory reducing work. + +2007-01-25 Rolf Bjarne Kvinge + + * ComboBox.cs: Implemented FlatStyle and DropDownHeight, and added + a few other missing 2.0 properties. + * Theme.cs: Added DrawFlatStyleComboBox. + * ThemeWin32Classic.cs: Implemented DrawFlatStyleComboBox. + +2007-01-24 Chris Toshok + + * XplatUIX11.cs: fix the wake_waiting logic - we always clear the + wake_waiting flag, not just when there's data to be read. if we + don't, then future wakeup's won't reach us and we'll be doomed to + wait for the entire 1 second timeout forever (unless there are X + events to be had). + +2007-01-24 Jonathan Pobst + + * ComboBox.cs: FindStringExactMaxException doesn't throw AOORE on 2.0 + until you pass Items.Count, not Items.Count - 1 like 1.1. + +2007-01-24 Gert Driesen + + * ColumnHeader.cs: Fixed ParamName in ArgumentOutOfRangeException. + +2007-01-24 Jonathan Pobst + + * ToolStripContainer.cs: The recent Dock fix exposed that I was + adding the panels in the wrong order. + +2007-01-24 Jackson Harper + + * TextBoxBase.cs: When we move the caret we also need to move the + selection, this fixes some random crashing after doing select + text, unselect, delete a char, paste. + +2007-01-24 Rolf Bjarne Kvinge + + * Form.cs: Update SizeGrip's location even if it's not visible (fixes #80592). + +2007-01-23 Everaldo Canuto + + * Control.cs: In OnParentBackgroundImageChanged remove conditions to call + OnBackgroundImageChanged, it mimics win32 behavior. Fixes #80553. + * ToolBar.cs: Force redraw in BackgroundImageChanged. + +2007-01-23 Everaldo Canuto + + * ToolBar.cs: + - Implement support for vertical toolbars. Fixes #80539; + - Call LayoutToolBar when resize, it fix some other problems in layout. + - Rename requested_height to requested_size, as we can have width on it + when toolbar is vertical. + - Create a private property "Vertical" that uses Dock to verify when + toolbar is vertical or not. + - Set ControlStyles when change Dock property. + - Refactory in LayoutToolBar to have better variables names and to support + vertical toolbars. + - Fixes default value for ButtonSize when button count is equal zero, size + must be (39, 36) test case writed. + +2007-01-23 Chris Toshok + + * Control.cs: fix the checks so that they work correctly for mdi + parents/children. + +2007-01-23 Chris Toshok + + * Control.cs: ControlCollection seems to have super-secret + abstraction breaking knowledge of Mdi containers. allow MdiClient + to add toplevel controls. + +2007-01-23 Chris Toshok + + * Control.cs: throw an ArgumentException if a toplevel control is + added to our control collection from ControlCollection.Add, as + well as from ControlCollection.IList.Add. This fixes the + ControlSetTopLevelTest.TestTopLevelAdd unit test. + + Also, in ControlCollection.IList.Add, don't through an + ArgumentNullException, throw an ArgumentException, when value == + null. This matches MS. + +2007-01-23 Chris Toshok + + * BindingSource.cs: initial, incomplete, implementation of + BindingSource. + +2007-01-23 Jackson Harper + + * TextControl.cs: + * TextBoxBase.cs: Checking in some pieces of the undo stuff so + that I can fix a broken unit test (TextBoxTest::ClearUndo) + +2007-01-23 Everaldo Canuto + + * ToolBar.cs: Add status fields to ToolBarButtonInfo. + +2007-01-23 Andreia Gaita + + * TreeNode.cs: Add new 2.0 ImageKey and SelectedImageKey properties. + * TreeNodeCollection.cs: New Add() methods, ContainsKey and + IndexOfKey() for 2.0 + +2007-01-23 Rolf Bjarne Kvinge + + * XplatWin32.cs: In RequestNCRecalc call SetWindowPos with SWP_NOZORDER + to prevent it from changing z-order. + * MdiWindowManager.cs: Refactor part of SetWindowState to MdiClient, only + leave UI updates in MdiWindowManager. + * InternalWindowManager.cs: Check for 0 sized nc areas and make them + 1 sized (NC handling goes weird on Linux otherwise). + * MdiClient.cs: Add missing ExStyle (WS_EX_CLIENTEDGE), so it's no longer + necessary to handle WM_NCCALCSIZE anymore. This also made it possible to + remove a few NCRequestRecalcs. Changed calculations in IconicBounds + to use ClientSize of MdiClient instead of entire size. Refactored ActivateChild + and SetWindowState(s) to allow for changing the size of an activated child + before activating it (reduces a lot of flicker). + +2007-01-22 Jonathan Pobst + + * Form.cs: Changing FormBorderStyle has different semantics based + on whether the Form is visible or not. If not visible, don't change + the Size. But InvalidateNC needs to be called to force the window + to pick up the changes and redraw itself. [Fixes bug #80574] + +2007-01-22 Jonathan Pobst + + [Moma work] + * ContainerControl.cs: ProcessCmdKey. + * ErrorProvider.cs: new constructor. + * Form.cs: fix AutoValidateEvent compiler warning. + * Label.cs: fix OnAutoSizeChanged compiler warning. + * MenuStrip.cs: fix CanOverflow compiler warning. + * TabControl.cs: SelectTab, OnSelected methods, Selected event. + * TextBox.cs: Dispose. + * ToolStrip.cs: CanOverflow, re-enable double buffering. + * ToolStripControlHost.cs: fix CausesValidation compiler warning. + * ToolStripDropDown.cs: fix ContextStripMenu compiler warning. + * ToolStripItem.cs: Overflow, RightToLeft properties. + +2007-01-22 Rolf Bjarne Kvinge + + * Form.cs: Move the layout of the main form to MdiWindowManager. + * MdiWindowManager.cs: If WindowState changes from or to Maximized, + do a layout of the main window to update MdiClient's client area to + the right area. Fixes #80533. Remove the calculation of nc size, + it was just wrong and the correct one is the same as for + InternalWindowManager. + +2007-01-20 Jonathan Pobst + + * Control.cs: Setting Anchor or Dock needs to reset the other + to its default. [Fixes bug #80556] + +2007-01-20 Chris Toshok + + * CheckedListBox.cs: class status changes. + + * ScrollableControl.cs: same. + + * RichTextBox.cs: same. + + * ContainerControl.cs: same. + + * ListView.cs: same. + + * NotifyIcon.cs: same. + + * MenuStrip.cs: same. + + * RadioButton.cs: same. + + * CheckBox.cs: same. + + * PrintPreviewDialog.cs: same. + + * Form.cs: same. + +2007-01-19 Jonathan Pobst + + * TreeNode.cs: Apply Alan's patch for Name property. + +2007-01-19 Rolf Bjarne Kvinge + + * Form.cs: Implemented SizeGripStyle. + * SizeGrip.cs: Check for minimum and maximum size for the + control being resized and only resize if size has actually + changed. + +2007-01-19 Chris Toshok + + * DataGridColumnStyle.cs: stop setting _readonly in the + PropertyDescriptor setter. fixes a unit test failure. + + also, rename ParentReadOnly to TableStyleReadOnly, and have it + just consult our table style (if we have one). We don't need to + consult the datagrid readonly attribute because that's passed in + as the _ro arg to Edit. this simplifies things a little. + + * DataGrid.cs: use CurrentColumn instead of + current_cell.ColumnNumber just to simplify some of the code. + + switch the order of some things in the CurrentCell setter to keep + the previous cell from getting a textbox again - + EnsureCellVisibility causes scrolling to happen, which calls Edit. + So we need to set the new cell before calling it. + + call Edit in OnEnter, as does Microsoft. + + also, make sure the current table style isn't the one we create + initially when checking to see if it's different than the one + we're setting it to in BindColumns (this fixes #80421). + + * GridTableStylesCollection.cs: table styles can have "" for a + mapping name. part of the fix for #80421. + + * DataGridTextBoxColumn.cs: simplify the readonly calculation in + Edit significantly. + +2007-01-18 Jonathan Pobst + + * TextRenderer.cs: Rewrote to be complete-er, more MS-matching-er, + and less GDI object leaky-er. + +2007-01-18 Andreia Gaita + + * LinkLabel.cs: Add opaque control style + +2007-01-18 Jackson Harper + + * TextControl.cs: Calculate width properly. + - Don't store the tag's X offset, this can be figured out very + easily. + - When getting the caret tag make sure to get the last empty tag. + +2007-01-18 Jonathan Pobst + + * Form.cs: Recalculate our size after setting a new FormBorderStyle. + [Fixes bug #79959] + + * Control.cs: Color.Empty shouldn't count for previous transparent + redraw changes. + +2007-01-18 Jackson Harper + + * TextBox.cs: + * RichTextBox.cs: + * TextControl.cs: Starting to merge in some pieces of my older + undo work. Basically just some slight cleanup of the undo API. + +2007-01-18 Rolf Bjarne Kvinge + + * TrackBar.cs: Fix signature of RightToLeftLayout. + * StatusBar.cs: Implemented missing 2.0 methods and attributes. + * StatusBarPanel.cs: Implemented missing 2.0 methods and attributes. + * Application.cs: Implemented UseWaitCursor. + +2007-01-18 Jackson Harper + + * TextControl.cs: We can't skip tags if any part of the tag is + visible. + +2007-01-18 Jonathan Pobst + + * ContainerControl.cs: Override OnLayout. + +2007-01-18 Jonathan Pobst + + * NotifyIcon.cs: Add ContextMenuStrip and Tag properties. + + * ContextMenuStrip.cs: Make sure context menu is shown on top of + everything else. + +2007-01-18 Chris Toshok + + * ContainerControl.cs: remove the partial handling of LBUTTONDOWN + (leftover from the container_selected days, I'd wager). fixes bug + #80546. + +2007-01-18 Jonathan Pobst + + * Control.cs: Apply patch from George to fix the new testcase on + bug #80451. We can't just check for Color.Transparent, we need + to check if the back color's alpha channel is < 255. + +2007-01-18 Jonathan Pobst + + * Form.cs: Move setting show_icon = true to before the constructor + so that the base constructor has that information when it calculates + the form's size. Was causing forms to be (6, 6) bigger than they + were supposed to be. Thanks for catching this Rolf! + +2007-01-18 Jackson Harper + + * TextControl.cs: When replacing a selection we need to invalidate + from the initial selection start, because selection start is moved + to the end of the replacement. + +2007-01-18 Andreia Gaita + + * LinkLabel.cs: Missing ControlStyles. Fixes #80482 + +2007-01-18 Chris Toshok + + * DataGridTextBoxColumn.cs: fix most of the NotWorking unit tests + I just added. + +2007-01-17 Everaldo Canuto + + * ToolBar.cs: Add layout methods to ToolBarButtonInfo class, every + layout methods and properties from ToolBarButton must be available + into ToolBarButtonInfo. + +2007-01-17 Jonathan Pobst + + * Control.cs: If the control has a transparent background, we + need to refresh it when it moves and when it's parent's background + image changes. [Fixes bug #80451] + +2007-01-17 Jonathan Pobst + + * XplatUIWin32.cs: Don't use 2.0 methods in 1.1 code! Doh! + +2007-01-17 Jonathan Pobst + + * XplatUIWin32.cs: Implement proper double buffering for Windows. + [Fixes bug #80447, and probably speeds up things as well] + +2007-01-16 Rolf Bjarne Kvinge + + * XplatUIX11.cs: Caption height for MDI children is 19, not 26. + * XplatUIWin32.cs: We need to recalculate NC size after changing + window style to toolwindow (otherwise the client rectangle will be + 3 pixels to small for some reason). + * MdiWindowManager.cs: Revert NC size calculations to match how + they are calculated only based on window styles (to match + Win32AdjustWindowRectEx, since otherwise when setting size or + location, Control will call Win32AdjustWindowRectEx to update client + size, which would provoke a paint, then we'd get a NCCALCSIZE and + calculate a different value of client size causing another paint + (and flickering)) + * InternalWindowManager.cs: When moving or resizing a window only + update size or location if they actually changed. + * ThemeWin32Classic.cs: ManagedWindowsBorderWidth is now 4 instead of 3 + (seems to match Windows behaviour better). Cleaned up + ManagedWindowDecorations to draw what's needed and nothing else + (was drawing borders and lines where they shouldn't be) + * Hwnd.cs: GetWindowRectangle now knows about MDI border sizes + (style = 0xFFFF) and takes into account caption height when + calculating window rectangle. + +2007-01-16 Everaldo Canuto + + * ToolBar.cs: Internal ToolBarButtonInfo class added, Because same button + can be added to toolbar multiple times, we need to maintain a list of + button information for each positions. + +2007-01-16 Everaldo Canuto + + * ToolBar.cs: Some small stetic changes. + +2007-01-16 Jackson Harper + + * TextBoxBase.cs: Use the new SuspendRecalc/ResumeRecalc methods + that allow us to have nested recalc = false blocks. + - Add paste support for images in the RichTextBox + * RichTextBox.cs: flush the text after the color is changed, so + the change takes effect. + - Use SuspendRecalc + - Some extra debugging info + * TextControl.cs: Tags no longer track their length, it is just + computed from the next tags length, this makes things a little + simpler and reduces places that we have to track length changes. + - Refactored the linetag class a little so we could make it + a base class for different kinds of tags + - Created a image tag, a tag that can have a single image inserted + into it + - Replace the norecalc flag with a Suspend/Resume Recalc pair, so + that we can call suspend multiple times. + - Add some debugging methods + +2007-01-16 Rolf Bjarne Kvinge + + * MdiClient.cs: Add ActivatePreviousChild for + mdi child window navigation. + * Form.cs: Use MdiClient.ActivateNextChild/ + ActivatePreviousChild instead of Form.SelectNextControl + to select the next/previous child since + SelectNextControl doesn't do it in the same order + as mdi children should do it. + +2007-01-16 Chris Toshok + + * Control.cs: remove container_selected field. + +2007-01-16 Rolf Bjarne Kvinge + + * MdiClient.cs: Update main form's ActiveChild when + updating keyboard focus for the mdi child. + +2007-01-16 Jonathan Pobst + + * Control.cs: PreferredSize fix. + + * Form.cs: Add several 2.0 events, properties, and methods. + +2007-01-16 Gert Driesen + + * Form.cs: Provide meaningful message when MdiParent is assigned a + Form that is not an MdiContainer. + +2007-01-16 Rolf Bjarne Kvinge + + * MdiClient.cs: Update main form's ActiveChild when + activating a mdi child. + +2007-01-16 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: Fix NRE when merging menus and main form + doesn't have a menu. + + * Form.cs: Request NCRecalc after creating a mdi child window. + Implement mdi key handling (Ctrl+F4, Ctrl+Shift+F4, Ctrl+Tab, + Ctrl+Shift+Tab, Ctrl+F6 and Ctrl+Shift+F6). + + * MdiClient.cs: Add new method SendFocusToActiveChild that either + sends keyboard focus to the active child, or to the MdiClient + if there are no child forms. + +2007-01-15 Chris Toshok + + * ListView.cs: drop the *Internal overrides, just do our work in + ItemControl's WndProc instead. + + * UpDownBase.cs: a few large changes. Fix up the Selectable state + of the various controls, and forward the events properly (in the + same manner as MS) from the textbox to the UpDown. Also the + ActiveControl of the UpDownBase gets set properly now. Finally, + we don't call UpdateEditText from the ctor. Fixes bug #79957. + + * NumericUpDown.cs: set Text in the ctor. + + * DomainUpDown.cs: call UpdateEditText in the ctor. + + * TextBox.cs: on ms.net, WM_LBUTTONDOWN sets focus on the textbox, + so even a Selectable = false textbox can be focused if you click + in it. Go figure. + + * Control.cs: remove On{Got,Lost}FocusInternal. Subclasses can + just add their handling in their respective WndProc's. Also add + an explicit FocusInternal method that doesn't consult CanFocus + before calling Select(this). + + * TextBoxBase.cs: deal with removal of the FocusInternal calls - + do our work in WndProc instead. + + * TabControl.cs: same. + + * ComboBox.cs: same. + +2007-01-15 Everaldo Canuto + + * Menu.cs: implement MergeItems and Replace for MenuMerge method. + Fixes #80006. + +2007-01-15 Carlos Alberto Cortez + + * ListViewItem.cs: + * ThemeWin32Classic.cs: Don't draw the item text outside + item bounds in Details view, as well as use trimming. + Fixes bug #80376. + +2007-01-15 Jonathan Pobst + + * Form.cs: Implement Form.ShowIcon. + + * XplatUIWin32.cs: Allow the SetIcon win32 call to set the icon to + null, which when combined with the DlgModalFrame window style removes + the icon from the title bar. + +2007-01-15 Jonathan Pobst + + * Control.cs: Call OnMouseClick after OnClick. (2.0) + +2007-01-15 Everaldo Canuto + + * MdiWindowManager.cs: In CreateMaximizedMenu fix a position of icon + menu when mdi child windows theres a menu, uses insert to get icon + at first position. Partially fix #80006. + +2007-01-15 Jonathan Pobst + + * Clipboard.cs: Implement 2.0 methods. + +2007-01-15 Everaldo Canuto + + * Menu.cs: Implement Insert method of MenuItemCollection class + to fix MenuMerge. + +2007-01-14 Carlos Alberto Cortez + + * ListView.cs: Implement 2.0 FindItemWithText method. + +2007-01-11 Everaldo Canuto + + * Form.cs: When process WM_NCCALCSIZE message use ClienSize.Width + to calculate menu bar size. Fixes #80290. + +2007-01-11 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix position of menuitem check mark. + +2007-01-11 Chris Toshok + + * XplatUIX11.cs: don't send duplicate WM_ACTIVATE messages to the + initial form. + +2007-01-11 Chris Toshok + + * LinkLabel.cs: make sure to call base.Select in our Select method + if it turns out we're going to be selected (i.e. if we have a link + that is going to receive focus). That way our container's + ActiveControl is updated properly. + +2007-01-11 Chris Toshok + + * LinkLabel.cs: turns out that LinkLabels are only Selectable if + they have 1 or more links. this fixes the crash gert reported. + +2007-01-11 Andreia Gaita + + * ContainerControl.cs: Remove ContainerSelected flag, not needed + anymore. + + * Control.cs (Controls.Add): Check if control to be added to the collection + is a top level control, and throw an ArgumentException if it is. + Remove ContainerSelectedFlag, not needed anymore. + + * XplaUIWin32.cs (SetTopMost): Add flag SWP_NOACTIVATE so that setting the + top most control doesn't activate the form. This fixes a problem in the + MessageBox, where the default button wouldn't get focus because the form + was activated before being Loaded - when the Owner is set, SetTopMost is + called, and it would activate it. + +2007-01-11 Jonathan Pobst + + * Button.cs: When clicked and setting the parent form's DialogResult, + use FindForm instead of Parent, since parent could be a container + control and not the Form. Fixes bug #80495. + +2007-01-10 Chris Toshok + + * Form.cs: move the call to SendControlFocus into the same + is_loaded check. + +2007-01-10 Chris Toshok + + * UpDownBase.cs (.ctor): remove the ActiveControl assignment here. + It breaks in the face of the new ActiveControl stuff, and should + be unnecessary. + + * Form.cs (WndProc): in the WM_ACTIVATE case, we need to set the + activecontrol's focus if it's not already set, after we set + ActiveControl, but before we call OnActivated. Re-fixes #79667 + after the previous focus/active control fixes regressed it. + + * Control.cs: reindent some code. + +2007-01-10 Chris Toshok + + * Splitter.cs: clearing some outstanding changes from my tree. + Replace all accesses (not writes) to the internal dock_style field + with the Dock property. + +2007-01-10 Chris Toshok + + * Control.cs: make FireEnter, FireLeave, FireValidating, and + FireValidated virtual. + + * Form.cs: override and don't chain up calls to FireEnter and + FireLeave. + +2007-01-10 Carlos Alberto Cortez + + * ListView.cs: Add more text padding space when using + auto resize for columns (the previous value didn't work fine). + + * ThemeWin32Classic.cs: Update text position inside columns, + to match the appeareance of .Net. + + * ColumnHeader.cs: When using auto resize, only the Width should + depend on the sub items, not the Height. Also, set width after + auto resizing (the value of Width should never remain as -1 or -2). + +2007-01-10 Chris Toshok + + * Application.cs: fix compilation errors when debug is enabled. + +2007-01-10 Chris Toshok + + * ContainerControl.cs (set_ActiveControl): rework this a bit (and + add some nice ascii art pictures and explanation of the process). + (GetMostDeeplyNestedActiveControl): new utility function we need + because our ActiveControl can refer to a child container with its + own ActiveControl. + + * Form.cs (OnActivated): remove the call to SelectActiveControl + from here, since you can override this method and not chain up, + and winforms still sets the active control. + (OnCreateControl): also remove the unnecessary SelectActiveControl + call from here. + (WndProc): it's actually called from the WM_ACTIVATE block, just + before calling OnActivated. + + * Control.cs (Select (Control)): move the call to XplatUI.SetFocus + inside the else. the ActiveControl setter will end up setting + focus on @control. This keeps us from setting it again (and + generating an extra LostFocus/GotFocus pair). + (Select (bool, bool)): reindent. + +2007-01-10 Jonathan Pobst + + * FlowLayoutPanel.cs, MenuStrip.cs, SplitContainer.cs, SplitterPanel.cs, + StatusStrip.cs, TableLayoutPanel.cs, TableLayoutStyleCollection.cs, + ToolStrip.cs, ToolStripComboBox.cs, ToolStripContainer.cs, + ToolStripContentPanel.cs, ToolStripControlHost.cs, ToolStripDropDown.cs, + ToolStripDropDownButton.cs, ToolStripDropDownItem.cs, ToolStripDropDownMenu.cs, + ToolStripItem.cs, ToolStripMenuItem.cs, ToolStripPanel.cs, ToolStripPanelRow.cs, + ToolStripSeparator.cs, ToolStripSplitButton.cs, ToolStripStatusLabel.cs + ToolStripTextBox.cs: Another wave of corcompare work. + +2007-01-09 Carlos Alberto Cortez + + * ColumnHeader.cs: Implement 2.0 AutoResize method using + the Width property. + + * ListView.cs: Implement 2.0 AutoResizeColumn and AutoResizeColumns + methods by callling Column.AutoResize method on columns. + +2007-01-09 Jonathan Pobst + + * Control.cs: Provide proper implementations of PreferredSize + and GetPreferredSize (2.0). + +2007-01-09 Jonathan Pobst + + * Form.cs: Remove one character (!) to make my previous OnClosing + stuff work for modal windows like MessageBox. + +2007-01-09 Carlos Alberto Cortez + + * ListView.cs: + * ThemeWin32Classic.cs: Use ListView.GetReorderedColumn instead of + ListView.Columns to get the last displayed column. Fixes #80452. + +2007-01-09 Everaldo Canuto + + * Label.cs, LinkLabel.cs: Source code identation fixes. + +2007-01-08 Everaldo Canuto + + * ToolBarButton.cs: Remove InvalidateBorder and use Invalidate instead, + we dont need to invalidate only borders because when we invalidate four + border lines the invalidate's generates a complete redraw of button, + because it now invalidate a complete rect some other redraws operations + are fixed. Fixes #80196. + + * Theme.cs, ThemeNice.cs, ThemeClearLooks.cs, ThemeWin32Classic.cs: + Remove ToolBarInvalidateEntireButton as it is not used. + +2007-01-08 Jonathan Pobst + + * Form.cs: Make sure that both OnClosing and OnFormClosing are + called for 2.0 profile. + * CloseReason.cs: Make class internal for 1.1. + +2007-01-08 Jonathan Pobst + + * ToolStripManager.cs: Implement FindToolStrip functionality. + * ToolStrip.cs: Register and unregister with ToolStripManager. + +2007-01-07 Jonathan Pobst + + * Control.cs: This was messy. 2.0 moves much of ControlCollection + to ArrangedElementCollection. Implemented this with as few #if's as + possible (which is still too many). + +2007-01-07 Jonathan Pobst + + * Control.cs: Implement SizeFromClientSize() [2.0]. + +2007-01-07 Everaldo Canuto + + * Hwnd.cs: On GetClientRectangle add a new parameter border_static, + use Theme.BorderSize to calculate area instead of static value 1, + by the way use new BorderStaticSize instead Border3DSize when + border_static is true. Fixes #79537. + + * XplatUIOSX.cs: Fix call to GetClientRectangle. + + * ThemeWin32Classic.cs: On CPDrawBorder3D dont draw inner border when + it is not needed. + +2007-01-06 Everaldo Canuto + + * Hwnd.cs: Gives more code legibility to GetWindowRectangle. + +2007-01-06 Everaldo Canuto + + * Label.cs: Override CreateParams to use WS_EX_STATICEDGE instead of + WS_EX_CLIENTEDGE in ExStyles when BorderStyle is Fixed3D, it is + + * Hwnd.cs: + - border_static field added, it will used to define when a control + theres 3D border but it must be static (thin). + - In GetWindowRectangle use Theme.BorderSize to calculate area + instead of static value 1, by the way use new BorderStaticSize instead + Border3DSize when border_static is true. + + * XplatUIX11.cs, XplatUIOSX.cs: + - When WS_EX_STATICEDGE ExStyle is set define border_static as true. + + * Theme.cs: BorderStaticSize field added. + +2007-01-05 Everaldo Canuto + + * XplatUIX11.cs: Removed unused hwnd var in SetBorderStyle. + +2007-01-05 Everaldo Canuto + + * Control.cs: Under InternalBorderStyle call RecreateHangle to + mimic same behavior than win32 that set border only in CreateParams, + it fix problems under CreateParams overrides. Fix #79442 and partial + fix #79537. + + * XplatUIX11.cs: Dont set hwnd.border_style in SetBorderStyle instead + of thi control you must call recreate handle. + + * XplatUIWin32.cs: Remove all SetBorderStyle code, for win32 we dont + need to do anything as RecreateHangle will take care about borders. + +2007-01-05 Mike Kestner + + * ListView.cs: hack to eliminate Lost/Got focus notifications on + cycles between the ItemControl and parent. Fixes #80388. + +2007-01-05 Gert Driesen + + * Control.cs: Lazy init layout engine. Do not directly use + layout_engine since LayoutEngine may be overridden (on 2.0 profile). + +2007-01-05 Chris Toshok + + * DataGrid.cs: don't forceably rebind columns in SetDataSource + unless our list manager has changed (i.e. unless we have reason to + believe our columns have changed). Fixes #80422. + + also, disable the call do BindColumns in + OnListManagerMetaDataChanged. this breaks this test in 2.0 (in + 1.1 the event isn't raised in response to a column addition on a + table.) + +2007-01-05 Jonathan Pobst + + * Control.cs: Move LayoutEngine.Layout to the OnLayout method, so + that inheritors can not call it if they choose. Fixes bug #80456. + +2007-01-05 Andreia Gaita + + * XplatUIWin32.cs: Initialize MSG.refobject at 0 so it + doesn't blow up with a null exception on marshalling. + +2007-01-05 Jonathan Pobst + + * Control.cs: Implement several 2.0 protected properties and methods. + Ensure that all necessary events are being called when properties + are set. + +2007-01-05 Mike Kestner + + * ListView.cs: implement PgUp/PgDn for Details view. Also + fixes First/LastVisibleIndex to use the item_control.ClientRect + instead of the parent control. Fixes #80378. + +2006-01-05 Atsushi Enomoto + + * PageSetupDialog.cs : cosmetic refactoring; use RegionInfo to + determine whether to use yard-pound or not (bug #78399). + +2006-01-04 Alexander Olk + + * FileDialog.cs: Sebastien fixed the libgdiplus png alpha + problems. So it is time to bring back the old popupbutton colors. + +2006-01-04 Carlos Alberto Cortez + + * ColumnHeader.cs: + * ListView.cs: Implement 2.0 ColumnHeader.DisplayIndex + property by using the internal information of the + columns order in ListView. + +2007-01-04 Jonathan Pobst + + * CommonDialog.cs, Cursor.cs, ErrorProvider.cs, HelpProvider.cs: + Add 2.0 Tag properties. + + * LinkArea.cs: Add 2.0 ToString method. + +2007-01-03 Chris Toshok + + * DataGrid.cs: the Alt+0 handling was wrong, it should have been + Ctrl+0. Fixes bug #80367. Also, don't eat the Delete keypress + when we're editing, which fixes #80047. + +2007-01-03 Chris Toshok + + * Form.cs: apply patch contributed by Dominik Seichter. fixes + #80404. + +2007-01-03 Jonathan Pobst + + * MenuStrip.cs, ToolStripMenuItem.cs: Add MdiWindowListItem + property and implementation. + + * Form.cs, MdiClient.cs, MdiWindowManager.cs: Add needed hooks + for MdiWindowListItem property. + + * ToolStripDropDown.cs: Don't consider hidden menu items while + laying out the menu. + +2007-01-03 Andreia Gaita + + * SendKeys.cs: window handle is not needed in win32, so just + get the active window for X after parsing keys and don't use + it when building the message; it is passed by parameter to the + Xplat method and used there to build the message instead. Also, + wait for events to be processed on SendWait, as opposed to Send, + which doesn't wait :) Playing with threads and Send() completely + hangs on ms.net, only SendWait() works. + + XplatUIX11.cs + X11Display.cs: Check for valid window handle. + +2007-01-03 Jackson Harper + + * TextControl.cs: Need to prevent wrap calculations when replacing + text (this was there before i removed it accidently). + - Don't update the cursor during the positioning, just set it to + selection_start at the end of the operaion. + +2007-01-03 Rolf Bjarne Kvinge + + * Control.cs: + * NotifyIcon.cs: corcompare work, no more X's in 1.1 class status. + +2007-01-03 Rolf Bjarne Kvinge + + * MonthCalendar.cs: Added Click and DoubleClick events again, + but this time they only hide Control's Click and DoubleClick. + +2007-01-03 Gert Driesen + + * Theme.cs: Re-enabled DefaultFont change. Use const to refer to + System.Drawing assembly. Spaces to tabs. Removed extra tabs. + +2007-01-02 Jackson Harper + + * TextBoxBase.cs: We move the caret with the split now, so we + don't need to explicitly move the caret after splitting. This + fixes the caret bumping down an extra line on Enter. + +2007-01-02 Miguel de Icaza + + * ContainerControl.cs: Add AutoValidateChanged event (for PDN + 2.72). + + * ScrollableControl.cs: Add Scroll event. + +2007-01-02 Mike Kestner + + * ListView.cs: one more try with help from georgegiolfan@yahoo.com + to fix all hdr height padding codepaths. Fixes #80207. + +2007-01-02 Chris Toshok + + * StatusBar.cs (.ctor): remove the Anchor setting, as it's just + setting it to the Control defaults anyway, and it being after the + Dock set was screwing up layout. + (set_Dock): don't short circuit out of setting base.Dock. Also, + no need to call UpdateStatusBar here, as it'll be re-layed out if + it needs to be. + +2007-01-02 Mike Kestner + + * ListView.cs: patch from georgegiolfan@yahoo.com to add padding + to header height for width == -1. Fixes the rest of #80207. + +2007-01-02 Mike Kestner + + * ListView.cs: rework the mouse event forwarding everaldo added + to translate the coordinates to the parent control not + raise the parent events until after we've done our work. Hover + needs more work, in the case where HoverSelection is on, because + the item control receives more than one MouseHover per Enter + event, so we need to ensure only the "first" hover gets forwarded. + Opening a minor bug for that. + +2007-01-02 Gert Driesen + + * CheckedListBox.cs: Fixed SelectionMode to match MS. + * ListControl.cs: Implemented AllowSelection property. Removed extra + tabs. + * ListBox.cs: Implemented AllowSelection property. + +2007-01-02 Everaldo Canuto + + * MenuItem.cs: In MdiWindowClickHandler uses sender instead of + SelectedItem, it prevent for errors when you must disable item + before perform click. Fixes #80409. + +2007-01-02 Everaldo Canuto + + * MenuAPI.cs: Prevent second level and beyond submenus to close + until first level when move out side of popup. + +2007-01-02 Everaldo Canuto + + * MenuAPI.cs: + - Down submenu positin in three pixels. + - Closes sub menu when mouse leaves from menu. Fixes #80402. + +2007-01-02 Everaldo Canuto + + * ThemeWin32Classic.cs: + - Fix popup menu size adding one pixel on the top. + - Down menu item border from two to one to mimic Win32. + - Some source identation fixes. + +2007-01-01 Everaldo Canuto + + * ThemeWin32Classic.cs: Use float numbers to calculate size and + position of menu arrows, it fix wrong arrow size. + +2007-01-01 Everaldo Canuto + + * ThemeWin32Classic.cs: Uses CPDrawBorder3D to draw menu borders + instead of line, it simplify draw operation and fix it using 3D + borders to mimic Win32. + +2007-01-01 Jonathan Pobst + + * StatusStrip.cs: Add implementation of the sizing grip. + + * ToolStripRenderer.cs, ToolStripProfessionalRenderer.cs: Add + StatusStrip rendering. + +2006-12-31 Chris Toshok + + * ToolBar.cs: don't assign to dock_style in the .ctor. it doesn't + override the layout style (anchor/dock) of the control. assign to + Dock instead. Fixes bug #80416. + + * ToolStrip.cs: same. + +2006-12-31 Andreia Gaita + + * ContainerControl.cs: Use ContainerSelected flag to check if + a Container is directly selected, or if Select is called on a + non-container. If a container is directly selected, focus events + should not be raised. + Apply #80411 patch to throw exception on set_ActiveControl if + control is the same as the current one. + + * Control.cs: Use ContainerSelected flag (see above). + Add invalidation check to raise event but not invalidate if + dimensions are 0. + Apply #80411 patch. + + +2006-12-31 Everaldo Canuto + + * MenuAPI.cs: After click, dont close popup menu when menu is + ContextMenu. Fixes #80399. + +2006-12-30 Chris Toshok + + * ContainerControl.cs: make sure we throw the exception if the + container control doesn't contain the control we're setting + ActiveControl to. + +2006-12-30 Chris Toshok + + * Control.cs (SetTopLevel): fix the exception raised by + SetTopLevel for child controls. + (set_Anchor): call UpdateDistances when setting the anchor type. + This fixes bug #80336. + +2006-12-29 Gert Driesen + + * Theme.cs: For now, revert back to 8pt font. + +2006-12-29 Everaldo Canuto + + * MenuAPI.cs: Set popup as active when open a ContextMenu. + Fixes #80395. + +2006-12-29 Chris Toshok + + * Control.cs: reorder the code in OnResize to give the same event + ordering as MS. + +2006-12-29 Rolf Bjarne Kvinge + + * MdiClient.cs: Implemented MdiLayout for ArrangeIcons, + TileHorizontally and TileVertically. + +2006-12-29 Alexander Olk + + * ColorDialog.cs, FileDialog.cs, FolderBrowserDialog.cs, + FontDialog.cs, Mime.cs, MimeIcon.cs, OpenFileDialog.cs, + SaveFileDialog.cs, ThemeClearlooks.cs, ThemeNics.cs: + Corrected copyright and email adress. + +2006-12-29 Gert Driesen + + * TreeNode.cs: On 2.0 profile, throw InvalidOperationException instead + of Exception in FullPath property if no TreeView is associated with + the TreeNode. + +2006-12-29 Gert Driesen + + * Theme.cs: Marked default_font as private, and initialize it in ctor + with MS Sans Sarif 8.25 on 1.0 profile, and SystemFonts.DefaultFont + on 2.0 profile. + * ThemeGtk.cs: Removed default_font intialization. + * ThemeWin32Classic.cs: Removed default_font initialization. + +2006-12-28 Chris Toshok + + * Control.cs: fix a couple of place where we were creating handles + more aggressively than we should be. Fixes ControlRefresh unit + tests. + +2006-12-28 Chris Toshok + + * Control.cs: contrary to what the comment said, Control.Dock does + not supercede Control.Anchor - the last one you assign to decides + the layout behavior. so we need to keep track of which was the + last set. Also, fix some of the affected property arguments in + PerformLayout calls, and remove an redundant parent.PerformLayout + call in OnResized. + + Add a VisibleInternal property, which returns is_visible. We + can/should get rid of all the usage of this field elsewhere. + +2006-12-28 Rolf Bjarne Kvinge + + * Control.cs: DoubleBuffered property reflects the OptimizedDoubleBuffer + control style, not DoubleBuffer. Added UseDoubleBuffering property + that indicates whether doublebuffering is enabled and supported. + (comment from and code based on Gert Driesen's patch in #80324). + Fixes #80324. + +2006-12-28 Rolf Bjarne Kvinge + + * Control.cs: Fixed a NRE. + +2006-12-28 Rolf Bjarne Kvinge + + * TrackBar.cs: Fix SmallChange and LargeChange exceptions + for 2.0. + +2006-12-28 Rolf Bjarne Kvinge + + * Control.cs: Rewrote double buffering, now a seperate + class handles all the buffering, no Graphics is disposed of + until the painting is finished (earlier implementation + would crash if the control was resized in the OnPaint, + since it would cause the double buffer to be recreated + and the old one disposed), a separate Graphics is + created for every paint (MS behaviour and anyways the state + of the Graphics would have to be saved and restored otherwise) + + * XplatUIDriver.cs: + * XplatUIX11.cs: + * XplatUI.cs: Added and implemented GetOffscreenGraphics + so that we can get the graphics for the back buffer without + having to create a new one and remove the offscreen_dc parameter + from CreateOffscreenDrawable and DestroyOffscreenDrawable. + +2006-12-27 Carlos Alberto Cortez + + * ListView.cs: Add key-related 2.0 methods for CheckedItemCollection. + Also make virtual all the key-related methods. + + * ListViewItem.cs: Make virtual the key related methods for + ListViewSubItemCollection. + +2006-12-27 Carlos Alberto Cortez + + * ListView.cs: + * ListViewItem.cs: + * ThemeWin32Classic.cs: + * Theme.cs: Initial support for Tile view in ListView, + as well as the implementation of the required bits for it (Item + and Subitem). + +2006-12-27 Gert Driesen + + * MonthCalendar.cs: On 2.0, throw ArgumentOutOfRangeException instead + of ArgumentException in MaxSelectionCount, MaxDate and MinDate. + Provide useful exception messages. + +2006-12-27 Rolf Bjarne Kvinge + + * TrackBar.cs: Remove a warning. + * MonthCalendar.cs: Moved back to using Capture to hide the calendar + when used by DateTimePicker, fixes #80287. This also requires that + MonthCalendar implements it's own drawing for the yearly updown control, + otherwise the Capture tracking would be too complicated. Removed the Click + and DoubleClick events (according to comments they were hiding the base class + event to prevent them from beeing fired - MSDN only says MonthCalendar doesn't + raise these events, not that they cannot be raised. It is possible to raise + them by calling OnClick and OnDoubleClick). Added two internal fields in + HitTestInfo in order to track give more tracking info needed by MonthCalendar. + * ThemeWin32Classic.cs: Implement drawing of MonthCalendar's updown part. + * DateTimePicker.cs: Removed handling of MonthCalendar's LostFocus + event, no longer needed. + +2006-12-27 Gert Driesen + + * ScrollableControl.cs: In AutoScrollMinSize, only set AutoScroll to + true if new value differs from current value. + +2006-12-27 Gert Driesen + + * Control.cs: ControlCollection.Count must be public. Fixed build of + unit tests. + +2006-12-27 Gert Driesen + + * ListView.cs: Redraw when FullRowSelect is changed. Fixes bug #80379. + +2006-12-27 Gert Driesen + + * ComboBox.cs: Mergable=>MergableProperty. Fixes build. + +2006-12-26 Everaldo Canuto + + * Control.cs: Invalidates control including when Width and Height is + equal zero or is not visible, only Paint event must be care about + this. Fixes #79913. + +2006-12-26 Chris Toshok + + * CurrencyManager.cs, PropertyManager.cs, BindingManagerBase.cs: + more corcompare work. + + * DataGridView.cs: fix compiler warning. + + * ColumnHeader.cs: some corcompare work, and also take the + opportunity to make the internal fields private. + + * ListView.cs: fix the fallout from the above field change. + +2006-12-26 Jonathan Pobst + + * ToolStripButton.cs, ToolStripComboBox.cs, ToolStripControlHost.cs, + ToolStripItem.cs, ToolStripProgressBar.cs, ToolStripSplitButton.cs, + ToolStripTextBox.cs: Fixes to events and corcompare. + +2006-12-26 Everaldo Canuto + + * ListView.cs: Call owner.OnMousexx event to propagate events from + item to ListView. Fixes #80367. + +2006-12-26 Gert Driesen + + * ComboBox.cs: On 2.0, DropDownWidth throws ArgumentOutOfRangeException + if value is less than one. ItemHeight should not be set to a value + less than 1, and throw ArgumentOutOfRangeException on 2.0 profile. + Removed extra tabs. + +2006-12-26 Jonathan Pobst + + * ToolStripMenuItem.cs: Add ShortcutDisplayString for Moma. + * ToolStripStatusLabel.cs: Add Spring for Moma. + +2006-12-26 Gert Driesen + + * DataGridView.cs: Fixed several NullReferenceException in On* methods. + Fixed code formatting. Removed debug code. + * DataGridViewTextBoxEditingControl.cs: Removed debug code. + +2006-12-26 Gert Driesen + + * DataGridView.cs: Fixed GridColor, DefaultSize, DefaultCellStyle, + RowHeadersDefaultStyle, RowHeadersWidth to match MS. Throw + ArgumentOutOfRangeException if ColumnCount is negative. In + ColumnHeadersHeight, throw ArgumentOutOfRangeException if height is + less than 4 or higher than 32768. + * DataGridViewCellStyle.cs: Fixed default value for NullValue. + Fixed FormatProvider to return CurrentCulture unless explicitly set. + Fixed IsFormatProviderDefault to return true if FormatProvider has + not been explicitly set. + +2006-12-25 Chris Toshok + + * Application.cs: add a couple of 2.0 events. + +2006-12-25 Chris Toshok + + * Control.cs: fix compiler warning. + + * AxHost.cs: corcompare fixes. + + * ApplicationContext.cs: corcompare fixes. + +2006-12-25 Chris Toshok + + * Control.cs: only update dist_right/dist_bottom if the + width/height is > 0. this fixes anchored controls being resized + smaller until they disappear and then resized larger again. + +2006-12-25 Chris Toshok + + * Control.cs: a couple of changes. Remove dist_left and dist_top, + since they're nothing more than X/Left and Y/Top, respectively. + + Also, move back to a per-control Bitmap/Graphics for + DeviceContext, since using the static Hwnd.bmp/bmp_g is bad in the + MT case. Go with a tiny bitmap though, 1x1, instead of Width x + Height. + +2006-12-25 Miguel de Icaza + + * MessageBox.cs: Implemented overload that takes a new "bool + displayHelpButton" by adding a new internal field "show_help". + When clicked this will raise the HelpRequested on the owner or the + main form. + + From: 007dbe3ff0ca4729a4f5fcd1d8ab2a2e.txt + From: c935e12b95fe4dc1ae670e7f4dc5fd68.txt + + * ListView.cs: Add support ColumnWidthChanged and + ColumnWidthChanging. + + Add support for ColumnReordered event. + (ReorderColumn): Add NET_2_0 specific support for cancelling the + reorder. + + Very nice codebase! + + * TextBoxBase.cs (GetLineFromCharIndex): Implement this method. + + This is used by report f4ae0a88a0a244558aaadf017c9b9efe. + +2006-12-24 Chris Toshok + + * GridTablesFactory.cs: 2.0 corcompare work. + + * ToolStripContainer.cs: add "override" to + ContextMenuStripChanged, and remove the local event object. + + * ToolStripDropDown.cs: same with a couple properties. + + * ToolStripPanel.cs: same with AutoSizeChanged event. + + * TextBoxBase.cs: add "override" to AutoSizeChanged. + + * Form.cs: add the remaining 2.0 events, and do some corcompare + attribute work. + + * DateTimePicker.cs: add "new" to padding. + + * ButtonBase.cs: use Control's use_compatible_text_rendering. + + * ToolStripContentPanel.cs: use base.AutoSizeChanged. + + * DataGridView.cs: PaddingChanged is overridden. + +2006-12-24 Chris Toshok + + * Control.cs: corecompare work here too. + + * DataGridViewElement.cs, DataGridView.cs, + DataGridViewButtonCell.cs, DataGridViewRowCollection.cs, + DataGridViewImageColumn.cs, DataGridViewComboBoxColumn.cs, + DataGridViewImageCell.cs, DataGridViewCheckBoxCell.cs, + DataGridViewHeaderCell.cs, DataGridViewCell.cs: more corcompare + work. + +2006-12-24 Miguel de Icaza + + * Control.cs: Switched the error message on the console for a + todo. A review of the code will have to cope with this anyways + (since its a large feature, it is in our radar) and it was + producing too much output when running PDN. + + * ToolStripComboBox.cs: Set the text when the SelectedIndex + changes. Applications depend on this (PDN 2.72) + +2006-12-23 Chris Toshok + + * TableLayoutSettings.cs: finish up the corcompare work for this + class. + +2006-12-23 Chris Toshok + + * Control.cs: make SetImplicitBounds internal, do some futzing + with LayoutEngine so that it's available in 1.1, and remove the + entire duplicated code mess from PerformLayout. Use + System.Windows.Forms.Layout.DefaultLayout instead. + + * LayoutEngine.cs: make this class internal in 1.1, public in 2.0. + +2006-12-23 Jonathan Pobst + + * Form.cs: Add MainMenuStrip property. + +2006-12-23 Jonathan Pobst + + * Control.cs: Add ContextMenuStrip property and implementation. + Fix ContextMenu implementation to show menu centered on control when + activated using the keyboard instead of showing at screen (0,0). + + * ToolStripDropDown.cs: Fix needed overload of Show (). + +2006-12-23 Everaldo Canuto + + * Menu.cs: Name property added for 2.0 profile. + +2006-12-23 Everaldo Canuto + + * Menu.cs: Update information about FindMenuItem, method to be + implemented soon. + +2006-12-23 Everaldo Canuto + + * MenuAPI.cs: When deselect items deselect also selected subitems. + +2006-12-23 Everaldo Canuto + + * MenuAPI.cs: When hides menu set Wnd to null, it prevents + FindSubItemByCoord to found itens that is not active, also an + cheking added to FindSubItemByCoord to search for items only + in visible popup windows. Fixes #80274. + +2006-12-22 Everaldo Canuto + + * UserControl.cs: Remove MonoTodo and use InternalBorderStyle, + internal property, it be care about change ExStyle. + +2006-12-22 Andreia Gaita + + * ContainerControl.cs: set activeControl for parent forms up the + tree when the new activecontrol is a container. + When validating the active control, if it is a container, also + raise up the validation for it's active control. Fixes #80280 + + * Control.cs: Add internal property flag and check to prevent + Focus events from getting raised when Select() is called for + a ContainerControl. There are still too many focus events being + raised at the moment though. + Cleaned up the code a bit. + +2006-12-22 Rolf Bjarne Kvinge + + * Control.cs: Added all missing 2.0 events.and + fixed a couple of corcompare issues. + * TrackBar.cs: Implemented missing 2.0 bits. + * MonthCalendar.cs, + * DateTimePicker.cs, + * MdiClient.cs: Fixed some corcompare issues. + +2006-12-21 Jonathan Pobst + + * ContextMenuStrip.cs, FlowLayoutPanel.cs, SplitContainer.cs, + SplitterPanel.cs: corecompare work. + +2006-12-21 Jonathan Pobst + + * ToolStripContainer.cs, ToolStripDropDown.cs, StatusStrip.cs: + Clean up warnings for BackgroundImageChanged and PaddingChanged + events now that they are implemented in Control.cs. + +2006-12-21 Jonathan Pobst + + * Control.cs: Make sure layout_engine isn't null before using it (2.0). + + * TableLayoutControlCollection.cs, TableLayoutPanel.cs, TableLayoutCellPosition.cs, + TableLayoutSettings.cs, TableLayoutStyleCollection.cs: Initial implementation + of TableLayoutPanel and supporting cast. + +2006-12-21 Rolf Bjarne Kvinge + + * XplatUIWin32.cs: + - GrabWindow now confines the mouse pointer to the confine window. + - Added Win32ClipCursor and Win32GetClipCursor. + + * Control.cs: + - Added CaptureWithConfine to be able to capture and confine + mouse pointer. + + * InternalWindowManager.cs: + - Call CaptureWithConfine instead of Capture if we're an + MdiChild (fixes #79982). + +2006-12-21 Chris Toshok + + * DataGrid.cs: guard against the initial state of selection, where + selection_start == -1. make sure we only select from index >= 0. + Fixes bug #80291. + +2006-12-21 Chris Toshok + + * Control.cs: we don't need to be so draconian with + UpdateDistances, and we thusly don't need to call it before + calling PerformLayout in ResumeLayout. Fixes bug #80289. + +2006-12-21 Daniel Nauck + + * ComboBox.cs, + TextBox.cs: Implemented AutoComplete properties. + +2006-12-20 Chris Toshok + + * DataGridView*.cs: some corecompare work. + +2006-12-20 Jackson Harper + + * XplatUIX11.cs: We need to hide the caret when deleting it, + otherwise you get carets left lying around everywhere. + * TextBoxBase.cs: Kill then redraw the caret when scrolling. This + prevents getting some weird half drawn caret tracers when + scrolling. + * TextControl.cs: Attempt to reduce the number of times we need to + recreate the caret. + +2006-12-20 Gert Driesen + + * MonthCalendar.cs: Fixed previous month button. Removed extra tabs. + +2006-12-19 Rolf Bjarne Kvinge + + * DateTimePicker.cs: + - Implemented missing 2.0 bits. + - Changed some default values to match MS. + +2006-12-20 Jackson Harper + + * TextBoxBase.cs: When changing the font across the document we + can't recalculate after changing each line, since that will cahnge + the line count. + - PreferredHeight is a little different than i thought. + - When backspacing, move the caret before we do the actual char + delete, because when that delete crosses a wrap boundary the + positional information will change. + +2006-12-19 Rolf Bjarne Kvinge + + * Control.cs: Added some missing 2.0 bits: + BackgroundImageLayout, BackgroundImageLayoutChanged, + OnPaddingChanged, MouseClick, MouseDoubleClick, PaddingChanged and + add IBindableComponent and IDropTarget implementation. + + * MonthCalendar.cs: + - Added all missing 2.0 features: + BackgroundImageLayout, RightToLeftLayout, + OnHandleDestroyed, RightToLeftLayoutChanged, + BackgroundImageLayoutChanged, MouseClick, MouseDoubleClick, + PaddingChanged. + - Rewrote all the BoldDate code, it was completely broken. + - Fixed all the tests (the tests can now be re-enabled, the + problems were not with the tests, but with the control, it was + mostly broken). + + * DateTimePicker.cs: Changed the location where the + MonthCalendar is shown. + +2006-12-19 Chris Toshok + + * DataGridView.cs: add IDropTarget implementation. + + * ToolStripPanel.cs: add IDropTarget implementation. + +2006-12-19 Jackson Harper + + * TextControl.cs: soft now means something different than what it + used to mean, we want to move the caret regardless of whether or + not this break was soft (would we really have wanted the caret + to not move with the break in the old context?) + * TreeView.cs: Make sure we factor in the vert scrollbar when + calculating the horizontal scrollbar's maximum. + +2006-12-19 Andreia Gaita + + * SendKeys.cs: Fix Send() behaviour, clear keys after sending, + check for keywords in alternate casing, close bug #80049. + +2006-12-19 Chris Toshok + + * ToolStripItem.cs: add the implementation of the 4 IDropTarget + methods (which all do nothing). + + * IDropTarget.cs: add the 4 missing methods. + +2006-12-19 Chris Toshok + + * TableLayoutRowStyleCollection.cs: corcompare work. + + * TableLayoutSettings.cs: same. + + * TableLayoutStyle.cs: same. + + * TableLayoutColumnStyleCollection.cs: same. + +2006-12-19 Jonathan Pobst + + * ColumnStyle.cs, RowStyle.cs, TableLayoutStyle.cs: Plumbing for + TableLayoutPanel I've had in my local tree for way too long. + +2006-12-19 Miguel de Icaza + + * TableLayoutSettings.cs: Finish the public API (still needs all + the logic to update on changes). + + * TableLayoutPanelCellPosition.cs: new file. + + * TableLayoutRowStyleCollection.cs, + TableLayoutColumnStyleCollection, TableLayoutStyle.cs, + TableLayoutSettings.cs: Track the final 2.0 table api. + +2006-12-19 Carlos Alberto Cortez + + * ColumnHeader.cs: Add Tag, Name, ImageKey, ImageIndex, + and Image List 2.0 members for ColummnHeader. + * ListView.cs: Add key-related 2.0 methods for + ColumnHeaderCollection. + +2006-12-19 Gert Driesen + + * ListViewItem.cs: Changed AddRange overloads to match MS: throw + ArgumentNullException if items argument is null. Ignore null item in + arrays. Removed extra tabs. + +2006-12-19 Gert Driesen + + * MonthCalendar.cs: Fixed InvalidCastException. + +2006-12-19 Jackson Harper + + * TextControl.cs: Don't increment the position here. + - When calculating char positions only add in the line break size + for hard line breaks. + +2006-12-19 Andreia Gaita + + * SendKeys.cs: Changed some things to match ms.net behaviour + when parsing shifted capital letters. + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32, XplatUIOSX: + Add window handle as parameter to SendInput. X11 needs the + window handle, and the handle being passed to it in the keys + queue is the active control handle (which windows needs), not + the window handle. + + XplatUIX11.cs, XplaUIX11-new.cs, X11Display: Implement SendInput + to support SendKeys on X. + + * X11Keyboard: Implement helper method to lookup a linux keycode + given the virtual keycode. Added table of keycode-2-virtualkey + values to support this. + +2006-12-19 Carlos Alberto Cortez + + * ListView.cs: Add support for SelectedIndexCollection + and SelectedItemCollection 2.0 methods. Implement support + for ImageKey too. + * ListViewItem.cs: Add support for ListViewSubItemCollection + 2.0 methods. Also, fix an incorrect behavior of AddRange method + (it shouldn't call Clear). + * ThemeWin32Classic.cs: Support for ListView.ImageKey 2.0 property. + +2006-12-19 Jackson Harper + + * RichTextBox.cs: + * TextBoxBase.cs: New args for FormatText + * TextControl.cs: Rewrote the main drawing method, this version + feels a little easier to understand and debug to me. Hopefully it + does to others also + - Fix FormatText to OR in the new formating values. Added + FormatSpecified param, basically this works in the same way as + BoundsSpecified in Control. + - Set the caret properties when the caret is positioned. + - When wrapping text make sure that we calculate the width of the + last character + - when calculating alignments we might have wrapped down to the + next line, so don't search for an individual tag, search for the + end of the line + - We need to invalidate the selection area when we replace the + selection. + +2006-12-19 Daniel Nauck + + * Application.cs: add Restart () 2.0 support + +2006-12-18 Everaldo Canuto + + * MenuItem.cs: Invalidate menu item rectangle after change Enable + property. Fixes #80268. + +2006-12-18 Everaldo Canuto + + * MenuAPI.cs: Dont trigger select event when closes top menu + item. Fixes #80270. + +2006-12-18 Everaldo Canuto + + * MenuAPI.cs: When you click on menuitem only trigger onselect + event for top menu itens. Fixes #80271. + +2006-12-18 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: Make IconicBounds depend on + the bottom of MdiClient, not the top (fixes #80267) + +2006-12-18 Rolf Bjarne Kvinge + + * MdiClient.cs: Added missing 2.0 attribute + +2006-12-18 Carlos Alberto Cortez + + * ListViewItem.cs: Add Name and Tag 2.0 properties, as well + as IndexOfKey, ContainsKey, RemoveByKey and indexer 2.0. + +2006-12-18 Everaldo Canuto + + * MenuAPI.cs: Fix click when menuitem is not popup, + this regression was caused by last commit (#80272). + +2006-12-17 Everaldo Canuto + + * MenuAPI.cs: When a non-toplevel menuitem is clicked dont + fire click event or close menu. Fixes #80272. + +2006-12-17 Daniel Nauck + + * ListViewHitTestInfo.cs: add + +2006-12-17 Daniel Nauck + + * ButtonBase.cs: Added FlatButtonAppearance 2.0 support. + * FlatButtonAppearance.cs: add + * DockingAttribute.cs: add + +2006-12-17 Chris Toshok + + * DataGrid.cs: hook up MetaDataChanged event on the list manager, + and rebind our columns when it does - this way, if you make + changes to the DataTable (or set the Table attribute on a DataView + after setting it as the DataGrid's DataSource, the changes are + made visible.) Fixes bug #80107. + +2006-12-17 Daniel Nauck + + * ListViewGroup.cs: add internal Location property for layouting. + * Theme.cs: add abstract ListViewGroupHeight function. + * ThemeWin32Classic.cs: implement ListViewGroupHeight function. + +2006-12-16 Andreia Gaita + + * TabControl.cs: Fixed checks for NET_2_0-specific exceptions. + Added reset of selected index to 0 when adding first tab page. + Fixes #80264 + + * NumericUpDown.cs: Fix NET_2_0 check + +2006-12-16 Daniel Nauck + + * ListViewGroup.cs: fixed DefaultValueAttribute value + +2006-12-16 Daniel Nauck + + * AutoCompleteStringCollection.cs: add new AutoCompleteStringCollection 2.0 class + +2006-12-15 Miguel de Icaza + + * Button.cs, ComboBox.cs, ScrollBar.cs, UserControl.cs, + TextBoxBase.cs, ListView.cs, ContainerControl.cs, + ScrollableControl.cs: Add a handful of methods that are + overwritten in 2.0 + +2006-12-15 Chris Toshok + + * XplatUIWin32.cs: initial implementation of the Reversible + drawing functions. there are some problems. DrawReversibleFrame + doesn't seem to work at all for Dashed FrameStyle, and in the + Thick case there are drawing errors at the corners (we probably + need to bind Rectangle instead of doing moveto/lineto's.) + +2006-12-16 Andreia Gaita + + * SendKeys.cs: Implemented. SendKeys uses a new method in XPlatUI, SendInput, + to send blocks of key messages. Send accumulates keys to send with Flush, + while SendWait sends all keys immediately. + + * XplaUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, + XplatUIX11.cs, XplatUIX11-new.cs: + - Define SendInput and stubs for OSX and X11, implements Win32 with a call + to Win32 SendInput. + - Added INPUT support structures to XplatUIWin32 for Win32SendInput + + Tests: It seems ms.net is hooking the keyboard to implement this, so doing unit + testing for ms.net on this class is very tricky, as the tests run too fast + to allow the hook to release, essentially freezing the keyboard and the + test. So, barring a win32 miracle, they'll be commited in the ms-notworking + category :p + +2006-12-16 Daniel Nauck + + * Padding.cs: fixed serialization compability to MS ("_var" field names), + added missing attributes. + +2006-12-15 Daniel Nauck + + * ListViewGroup.cs: Added missing attributes. + * ListViewGroupCollection.cs: Added missing attributes. + +2006-12-15 Daniel Nauck + + * ListViewItem.cs: fixed ListViewSubItem text property. + +2006-12-15 Rolf Bjarne Kvinge + + * Control.cs: Added missing 2.0 attributes + +2006-12-15 Rolf Bjarne Kvinge + + * MdiClient.cs: Added missing 2.0 attribute. + * MonthCalendar.cs: Added some missing 2.0 attributes + and properties. + +2006-12-15 Daniel Nauck + + * ListView.cs: implemented ListViewItemCollection Add 2.0 support. + +2006-12-15 Jonathan Pobst + + * MainMenu.cs: Add the new 2.0 constructor to help out people + using the MainMenu in VS2005. + +2006-12-15 Rolf Bjarne Kvinge + + * MdiChildContext.cs: Removed it, no longer used. + * MdiClient.cs: Added missing 2.0 attributes. + +2006-12-15 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: Fix a NullRef with previous + changes for toolwindows. + +2006-12-15 Rolf Bjarne Kvinge + + * Control.cs: + - Added AfterTopMostControl to allow for certain controls + to always stay on top when normal controls are brought to + front. + + * XplatUIWin32.cs: + - (DrawInversibleRectangle): Get window rectangle from Win32 + in stead of from control, since Win32 doesn't calculate + screen coords correctly from control's Location if it + have docked siblings. + + * MdiWindowManager.cs: + - Correct the control menu popup location when clicked on + the maximized form icon. (fixes #80223.1) + - Don't show moving rectangle if mouse hasn't moved from + the original clicked point. + - Removed FormGotFocus handler (not used). + - Calculate the control buttons location from the main + window's size and not client size (fixes #79770). + - Form is now closed when the form icon is double-clicked + (fixes #79775). + - Correct NCCalcSize numbers a little bit (fixes #80223.2) + + * InternalWindowManager.cs: + - Moved some MDI-only methods to MdiWindowManager. + - Removed unused properties and methods. + - Unified method naming for methods handling wm messages. + - Moved all message handling to seperate methods for + each message. + + * ThemeWin32Classic.cs: + - DrawManagedWindowDecorations now draws the title bar + with a gradient brush. + - Add a CPDrawButtonInternal that allows us to specify + light, normal and dark colors for the buttons (control + buttons for MDI children were drawn with the same light + color as the background, therefore loosing the 3D effect). + + * SizeGrip.cs: + - Add a CapturedControl property that is used to + determine the control to resize (defaults to parent). + Needed for MdiClient, since its SizeGrip's parent is + MdiClient, but the control to resize is the main form. + + * MdiClient.cs: + - Set SizeGrip's CapturedControl to the main form in order + to resize the main form and not the MdiClient. + - Override AfterTopMostControl to leave the scrollbars + always on top. + +2006-12-15 Daniel Nauck + + * ListView.cs: fixed ListViewItemCollection AddRange and + implemented ListViewItemCollection AddRange 2.0 support. + +2006-12-15 Daniel Nauck + + * ListViewGroup.cs: Add. + * ListViewGroupCollection.cs: Add + * ListView.cs: Add ListViewGroup (Group) and ShowGroups 2.0 support. + * ListViewItem.cs: Add ListViewgroup (Group), ListViewGroups constructors and + stub for ImageKey 2.0 support. + +2006-12-14 Mike Kestner + + * ListView.cs: add text padding to the autocalculation for columns + of width -2. Fixes #80207. + +2006-12-14 Mike Kestner + + * ListView.cs: add some index guarding for partial row navigation + logic. Fixes #80250. + +2006-12-14 Mike Kestner + + * ListView.cs: throw ArgumentExceptions when parented ListViewItems + are added or inserted to the collection. Fixes #81099. + +2006-12-13 Everaldo Canuto + + * MenuAPI.cs: Closes menu when right click out side of popup + it fix problem in ContextMenu and MainMenu. Fixes #80252. + +2006-12-13 Carlos Alberto Cortez + + * ListViewItem.cs: Fix dumb error. + + * ListView.cs: Add Find and ContainsKey methods in + ListViewItemCollection, and also return true for IsReadOnly + and IsFixedSize (changes for 2.0). + +2006-12-13 Gert Driesen + + * Control.cs: Allow Region to be set to null. + +2006-12-13 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: Remove unused (commented out) code. + * Form.cs: When the MdiChild is maximized, the form needs + WM_NCMOUSELEAVE, so request it. + * InternalWindowManager.cs: + - Added tooltips to control buttons. + - Removed duplicated control button handling code. + - Removed unused (commented out) code. + +2006-12-12 Everaldo Canuto + + * MenuAPI.cs: Set cursor to default in popup menus, a XplatUI.SetCursor + was used because we must set cursor without trigger ChangeCursor event + and without change Cursor control property. Fixes #79963. + +2006-12-12 Andreia Gaita + + * Control.cs: Check if Region setter value is null, and ignore + +2006-12-12 Jackson Harper + + * TextControl.cs: We were almost always drawing one more line then + needed, since the GetLineByPixel will return the last line found + at that pixel. In most cases though, we were invalidating up to + the junction between two lines. + - Improve debug code. + +2006-12-12 Chris Toshok + + * XplatUI.cs: add static DrawReversibleFrame, DrawReversibleLine, + and FillReversibleRectangle. + + * XplatUIDriver.cs: add abstract DrawReversibleFrame, DrawReversibleLine, + and FillReversibleRectangle. + + * XplatUIWin32.cs: add stubs which do nothing for + DrawReversibleFrame, DrawReversibleLine, and + FillReversibleRectangle. + + * XplatUIOSX.cs: add stubs which raise NIE for + DrawReversibleFrame, DrawReversibleLine, and + FillReversibleRectangle. + + * XplatUIX11.cs: add working implementation for + DrawReversibleFrame, DrawReversibleLine, and + FillReversibleRectangle. + + * ControlPaint.cs: implement DrawReversibleFrame, + DrawReversibleLine, and FillReversibleRectangle, by calling into + the appropriate XplatUI method. + +2006-12-11 Rolf Bjarne Kvinge + + * Form.cs: Make MdiClient have the focus even if it's + not selectable, since it should receive WM_KEY* and WM_MOUSE + messages. Fixes #79907. + +2006-12-11 Rolf Bjarne Kvinge + + * Hwnd.cs: Save the CreateParams.ExStyle so that it can be + queried after the window is created. + + * XplatUIX11.cs: Added SendParentNotify to implement + WM_PARENTNOTIFY logic. Fixes #79965. + + * Control.cs: Added MakeParam. + +2006-12-11 Rolf Bjarne Kvinge + + * MdiClient.cs: Resume Layout before setting window + states (fixes #80201). + +2006-12-11 Rolf Bjarne Kvinge + + * MenuAPI.cs: Deselect a menu item after performing + the click (fixes #80197). + +2006-12-11 Jackson Harper + + * TextBoxBase.cs: We need to cap this value, since Maximum - + ViewPortHeight can be less than zero. + - Only do selection with the left mouse button. + * TextBox.cs: Don't tell the world that we have a context menu. + * Control.cs: New method so that we can control whether or not the + context menu is visible outside MWF. + +2006-12-11 Everaldo Canuto + + * ToolBarButton.cs: Fix text positon. + +2006-12-11 Miguel de Icaza + + * ProgressBar.cs (MarqueeAnimationSpeed): Add stub. + + * Control.cs (DoubleBuffered): Add implementation. + + * Application.cs (OpenForms): Add. + +2006-12-11 Jonathan Pobst + + * Form.cs: Use opacity instead of Opactiy to determine if we need + to set the WS_EX_LAYERED bit. [Fixes bug #80185] + +2006-12-11 Jonathan Pobst + + * Control.cs: Fix NRE if Control.Site was set to null. + +2006-12-11 Chris Toshok + + * Control.cs: ControlCollection.Remove should return if the arg is + null, and ControlCollection.SetChildIndex should raise a ANE. + +2006-12-11 Gert Driesen + + * Control.cs: Verify value set for Dock property. Code formatting + updates. + +2006-12-11 Jackson Harper + + * TextControl.cs: Draw the caret and the selection when a flag is + set on the owner. + * TextBoxBase.cs: We want to draw the caret and the selection for + TextBox but not for TextBoxBase. + - If the window is resized and scrolling is no longer needed (the + whole doc is visible) set the scroll position to zero. + - The default SelectWord (the one TextBox uses) should move the + caret to the end of the word. + - SelectAll moves the caret to the end of the selection. + * TextBox.cs: We don't selectall on focus, we just do it when the + control is created. + +2006-12-11 Mike Kestner + + * ComboBox.cs: stub in a 2.0 override for ProcessKeyEventArgs. + +2006-12-11 Carlos Alberto Cortez + + * ListView.cs: Add Insert, IndexOfKey, RemoveByKey and indexer + 2.0 support. + * ListViewItem.cs: Add Name 2.0 property. + +2006-12-11 Andreia Gaita + + * TabControl.cs: Set visibility on selected or default tab + when tabcontrol handle is created, so that it's contents + actually show up (duh). Fixes #80193 + Don't redraw the control if there is no handle created, as + the selected index might be completely invalid. Added some tests + to check for this. + +2006-12-11 Everaldo Canuto + + * ToolBar.cs: Uses maximun width and height of all buttons as + button rectangle when ButtonSize specified, it looks strange but + is what happens in Win32. Fixes #80189. + +2006-12-11 Jackson Harper + + * TextControl.cs: Need to track undo levels ourself, since + compound actions will mess them up. + +2006-12-10 Andreia Gaita + + * TabControl.cs: Raise SelectedIndexChanged for 1.1 if the + SelectedIndex value is changed (even if it's not valid). + Reset SelectedIndex to 0 when the handle is created and if + the current index is invalid. + Fixes SelectdeIndex unit tests and #80128 + +2006-12-08 Chris Toshok + + * DataGrid.cs (set_CurrentCell): because EnsureCellVisibility + calls EndEdit, it needs to be called before we set current_cell to + its new value. Otherwise, we end up committing the value in the + textbox to the new cell as well. Fixes bug #80160. + +2006-12-08 Chris Toshok + + * Form.cs (set_CancelButton): if the button's DialogResult is + None, set it to Cancel. Fixes bug 80180. + +2006-12-08 Jackson Harper + + * TextBoxBase.cs: Ugh, ClientSize can be 0,0 sometimes, so we need + to watch ourselves when setting the canvas size and setting the + scrollbar values. + +2006-12-08 Chris Toshok + + * DataGrid.cs: comment out the two MakeTransparent calls for the + time being so people using trunk (and not 1.2.2) on windows can + actually use the datagrid. This deals with bug #80151. + +2006-12-08 Jonathan Pobst + + * ThemeWin32Classic.cs: Change ButtonBase_DrawImage to use the + Graphics.DrawImage (image, int, int, int, int) overload instead + of Graphics.DrawImage (image, int, int). GDI+ can't figure out + the dpi difference and was blurring images it drew. + [Fixes bug #79960] + +2006-12-08 Chris Toshok + + * ThemeWin32Classic.cs (DataGridPaintRows): handle case where + rowcnt is 0 (such as with an empty datasource), and make sure we + initialize not_usedarea.Y to cells.Y, so we don't draw over the + other areas (caption, parent row, etc, etc). Fixes bug #80095. + +2006-12-08 Chris Toshok + + * DataGridColumnStyle.cs (SetDataGrid): don't try to access a null + grid. + +2006-12-08 Chris Toshok + + [ Fixes bug #80167 ] + + * ThemeWin32Classic.cs: don't draw the image if the button's flat + style is FlatStyle.System. + + * ButtonBase, ThemeClearlooks.cs, ThemeGtk.cs, ThemeNice.cs: make + ButtonBase.flat_style private, and switch uses of it to the public + property. + +2006-12-08 Chris Toshok + + [ Fixes bug #80121 ] + + * ThemeWin32Classic.cs: center the caption text in the datagrid + when we draw it. + + * DataGrid.cs: lessen the amount we add to the caption height from + 6 to 2. 6 was making it huge. + +2006-12-08 Andreia Gaita + + * UpDownBase: Handle MouseWheel call directly instead of capturing + the inner textbox's OnMouseWheel. Fixes #80166 + +2006-12-08 Jackson Harper + + * TextControl.cs: We need to invalidate the textbox when we empty + it (how had this not been discovered before?) + +2006-12-08 Jackson Harper + + * TextBoxBase.cs: Reworked the mouse down code so I could get it + to behave like MS, we now ignore the eventargs.Click and just + track state ourself, which we were already doing anyways. + - Constrain the double click handler to the double click size. + +2006-12-08 Chris Toshok + + * DataGrid.cs: the mousewheel code shouldn't try to scroll in a + direction if that scrollbar isn't shown. fixes bug #80158. + +2006-12-08 Andreia Gaita + + * NumericUpDown.cs: Update value on getter. Fixes #79950 + +2006-12-08 Chris Toshok + + * MenuItem.cs: add back in the event cloning code. I didn't know + how to do it in the face of the EventHandlerList work i'd done + last week. Fixes bug #80183. + +2006-12-08 Jonathan Pobst + + * Control.cs: Add an invalidate to the BackgroundImage setter. + [Fixes 80184] + +2006-12-07 Jonathan Pobst + + * ToolStrip*: Add some small properties reported by MoMA, fix event + firing and default properties based off of unit tests, and add some + attributes based off of the class status page. + +2006-12-07 Jackson Harper + + * TextBoxBase.cs: Take HideSelection into account when determining + whether or not to show the selection. + * RichTextBox.cs: After inserting the RTF into the document move + the cursor to the beginning of the document. + +2006-12-07 Jonathan Pobst + + * Control.cs: Remove static ArrayList "controls" which maintained + a reference to every control created. + * Application.cs: Create a static FormCollection to maintain a reference + to every form created. Use it in places that formerly enumerated through + the controls one looking for forms. + * Form.cs: Add and remove self from above FormCollection. + +2006-12-07 Alexander Olk + + * MimeIcon.cs: gdk_pixbuf_save_to_buffer is part of libgdk-pixbuf, + not libgdk (though it makes me wonder why I didn't have any + problems) + +2006-12-07 Chris Toshok + + [ you had to know this was coming after that last commit...] + + * XplatUIX11.cs: implement the 3 Offscreen functions in terms of + XPixmaps (CreateOffscreenDrawable maps to XCreatePixmap, + DestroyOffscreenDrawable to FreePixmap, and BlitFromOffscreen to + XCopyArea). + +2006-12-07 Chris Toshok + + * XplatUI.cs: add 3 calls (CreateOffscreenDrawable, + DestroyOffscreenDrawable, and BlitFromOffscreen) that encompass + all the behavior we need for double buffering. + + * XplatUIDriver.cs: implement the 3 double buffer methods using a + client side Bitmap, just like the old Control-based double buffer + code did. The methods are virtual, so each XplatUI driver + subclass can replace the implementation to use a faster, platform + specific approach. + + * Control.cs: make use of the 3 Offscreen XplatUI calls in the + double buffer code, and clean things up a bit in the process. + +2006-12-06 Chris Toshok + + * Control.cs: reindent WndProc. + +2006-12-06 Chris Toshok + + [ I wanna be like BenM when I grow up ] + + * Hwnd.cs: create a single static Graphics object on the static + Bitmap we create. use this for our text measurements. + + * Control.cs (DeviceContext): stop using the backbuffer's dc_mem. + This was causing us to allocate a backbuffer for every control, + even when it wasn't flagged as double buffered. Instead use the + single graphics instance. This might have implications for + multithreaded applications. If we run into problems we can switch + to creating 1 Graphics per control, on the static Hwnd bitmap. + + this change nets us a 7M savings in private dirty mappings when + running FormsTest.exe. + +2006-12-06 Chris Toshok + + * ListView.cs: the BackgroundImage override is just to set + attributes. chain up to base.BackgroundImage. + + * RichTextBox.cs: same. + + * ToolBar.cs: same, but we need to also redraw the toolbar when it + changes, so instead a handler for BackgroundImageChanged. + + * Control.cs: make background_image private. + +2006-12-06 Chris Toshok + + * ScrollBar.cs: change the assignment of cursor to Cursor. not + sure we even need this assignment, but roll with it for now. + + * Control.cs: make the cursor field private. + +2006-12-06 Chris Toshok + + * Form.cs: we don't need to explicitly set ImeMode to + ImeMode.NoControl - that's a natural fallout of Control.ImeMode's + behavior in the face of ImeMode.Inherit. + + * ButtonBase.cs: change DefaultImeMode to ImeMode.Disable, and + change the ctor's assignment to use ImeMode instead of ime_mode. + + * Control.cs (get_ImeMode): don't assume DefaultImeMode == + ImeModeInherit. Only check for the parent's imemode (and return + NoControl if there is no parent) if ime_Mode == ImeMode.Inherit. + This fixes the button unit test, which sets both ImeMode and + DefaultImeMode to ImeMode.Disable. + + also make the ime_mode field private. + +2006-12-06 Chris Toshok + + * Control.cs: make control_style private. + + * TextBoxBase.cs: fix the HandleClick override. it was explicitly + setting the styles to true, then setting them to false instead of + reverting to their previous values. + + also, call SetStyle on the scrollbars instead of using + control_style directly. + +2006-12-06 Jonathan Pobst + + * FormCollection.cs: Implement. [2.0] + +2006-12-06 Chris Toshok + + * Control.cs: make tab_stop private. + + * Label.cs: set TabStop, not tab_stop. reformat some event + add/remove methods to make them more compact. + +2006-12-06 Chris Toshok + + * RadioButton.cs: fix TabStop handling. + +2006-12-06 Chris Toshok + + * TextBox.cs: remove the explicit assignments to has_focus. + Control does that. + + * ButtonBase.cs: remove the assignment to has_focus. Control will + manage that. + +2006-12-06 Chris Toshok + + * ButtonBase.cs: remove all uses of is_enabled from this code. + it's always true when any of the code containing the checks is + executed. + +2006-12-06 Chris Toshok + + * ImageList.cs: reinstate the ShouldSerialize*/Reset* methods, + with different semantics (some are present in both 1.1 and 2.0 + profiles) so that we match MS's behavior in our unit tests. + +2006-12-06 Jackson Harper + + * TextControl.cs: Make this operation undoable. + * TextBoxBase.cs: Factor the border width into the preferred + height. + - implement Modified as per the spec. + +2006-12-06 Chris Toshok + + * Timer.cs, Control.cs, Menu.cs: make control_tag private. + +2006-12-06 Chris Toshok + + * Control.cs: make right_to_left and context_menu fields private. + +2006-12-06 Chris Toshok + + * AccessibleObject.cs, Control.cs, XplatUIX11GTK.cs, + XplatUIX11.cs, Form.cs, RadioButton.cs, ScrollableControl.cs: make + Control.child_controls private. switch all uses over to + Control.Controls. + +2006-12-06 Chris Toshok + + * System.Windows.Forms/GroupBox.cs, + System.Windows.Forms/AccessibleObject.cs, + System.Windows.Forms/ErrorProvider.cs, + System.Windows.Forms/Control.cs, + System.Windows.Forms/UpDownBase.cs, + System.Windows.Forms/ScrollBar.cs, + System.Windows.Forms/DateTimePicker.cs, + System.Windows.Forms/Form.cs, System.Windows.Forms/Label.cs, + System.Windows.Forms/ToolTip.cs, + System.Windows.Forms/RadioButton.cs, + System.Windows.Forms/LinkLabel.cs, + System.Windows.Forms/Splitter.cs, + System.Windows.Forms/TextBoxBase.cs, + System.Windows.Forms/ToolStripTextBox.cs, + System.Windows.Forms/ContainerControl.cs, + System.Windows.Forms/ThemeWin32Classic.cs, + System.Windows.Forms/SizeGrip.cs, + System.Windows.Forms/ToolStripDropDown.cs, + System.Windows.Forms/ScrollableControl.cs: Make Control.parent + private. switch all uses over to Control.Parent. + +2006-12-06 Chris Toshok + + * RichTextBox.cs: don't assign to has_focus in GotFocus/LostFocus. + Control does this before calling emitting these events. + + * TabControl.cs: same. + + * ThemeWin32Classic.cs: use Control.ClientRectangle instead of + Control.client_rect. + + * ButtonBase.cs: use the ClientSize property instead of the + client_size field. + + * ScrollableControl.cs: same. + + * Control.cs: another pass at making properties private. also, + move the initialization of tab_stop to the ctor. + +2006-12-05 Andreia Gaita + + * TabControl.cs: Let the selected index be set freely if the + control handle is not yet created. + +2006-12-05 Jonathan Pobst + + * Control.cs: Revert dist_top, dist_right, and dist_bottom to + internal until I can rewrite DefaultLayout. + * ToolStrip.cs: Fix build error and some general cleaning. + * ToolStripControlHost.cs, SplitterPanel.cs, DataGridView.cs: + Fix build errors caused by making some of Control's fields private. + +2006-12-05 Jackson Harper + + * TextControl.cs: Redo Insert a little so that it use IndexOf + instead of Split, this prevents it from messing up on things like + \n\n\n. Also more effecient since the split array doesn't need to + be created. + * TextBoxBase.cs: AppendText doesnt handle multiline and non + multiline text differently, this is the first of many fixes that + will make multiline/non-multiline the same thing as far as the + TextBoxBase is concerned. + - Don't split the text and insert lines, this can lose some line + endings (like is the last line a soft or hard break). Instead use + the new Insert. + - Fix an off by one when combining all the lines in the Text + getter. + - Remove separate multiline handling from the Text getter/setter. + +2006-12-05 Chris Toshok + + * ButtonBase.cs: a few changes: + + - don't reinitialize internal Control fields in the ctor when they + have the same values as Control sets them. + + - don't set has_focus in OnGotFocus/OnLostFocus. Control does + this before calling those methods. + + - we don't need to call Refresh for anything. use Invalidate + instead. + + - OnEnabledChanged doesn't need to redraw at all - Control.cs + calls Refresh in its OnEnabledChanged. + + - several of the events we were registered for in the ctor to + redraw ourselves already include calls to Invalidate in the + property setters that raise the events. remove the extra + invalidation. + + - reformat a switch statement that was 83274658 columns wide. + +2006-12-05 Mike Kestner + + * ComboBox.cs: fix a unit test regression from a TextBox + SelectionLength return of -1 when there's no selection. + +2006-12-05 Chris Toshok + + * Control.cs, Button.cs, ThemeGtk.cs, Form.cs, ListView.cs, + ThemeWin32Classic.cs, SizeGrip.cs, ToolBar.cs: first pass at + cleaning up some of the internal Control fields being used by + subclasses. + +2006-12-05 Mike Kestner + + * ComboBox.cs: fix some Simple mode regressions. Set Visible on the + listbox after AddImplicit calls since it defaults to hidden. Add a + hack to preserve requested heights across DropDownStyle changes. + +2006-12-05 Jonathan Pobst + + * PropertyGrid.cs: Hide FindFirstItem method from public API. + +2006-12-05 Chris Toshok + + * DataGridView.cs: fix compiler warnings. + + * PrintControllerWithStatusDialog.cs: same. + + * ToolBar.cs: same. + + * FolderBrowserDialog.cs: same. + + * Splitter.cs: same. + + * DataGridViewComboBoxCell.cs: same. + + * XplatUIWin32.cs: same. + + * PictureBox.cs: same. + + * Win32DnD.cs: same. + + * PageSetupDialog.cs: same. + + * FileDialog.cs: same. + + * PrintDialog.cs: same. + + * DataGridTextBoxColumn.cs: same. + + * DrawTreeNodeEventArgs.cs: same (and fix corcompare) + +2006-12-05 Chris Toshok + + * TextBox.cs, CheckedListBox.cs, MonthCalendar.cs, Menu.cs, + MainMenu.cs, ListView.cs, LabelEditTextBox.cs, ToolBar.cs: more + System.ComponentModel.EventHandlerList work. + +2006-12-05 Jonathan Chambers + + * DrawTreeNodeEventArgs.cs: Added. + +2006-12-05 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: Remove an unused field. + +2006-12-05 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: + - Save the point where the title bar is clicked. + + * MdiWindowManager.cs: + - Only allow moving of the window as long as the + clicked point on the title bar does not get out of + MdiClient's rectangle. Fixes #79982. + + * MdiClient.cs: + - Added Horizontal/VerticalScrollbarVisible. + - Simplified the scrollbar sizing algorithm. + - Cache the difference in scrolled value in + H/VBarValueChanged and move the calculation out + of the for loop. + +2006-12-05 Rolf Bjarne Kvinge + + * Control.cs: Make the Console.WriteLine in WndProc + write more info. + +2006-12-05 Chris Toshok + + * ToolStripManager.cs, ToolStripButton.cs, + ToolStripContentPanel.cs, ToolStripComboBox.cs, ToolStrip.cs, + ToolStripMenuItem.cs, ToolStripItem.cs, ToolStripControlHost.cs, + ToolStripSplitButton.cs, ToolStripSeparator.cs, + ToolStripRenderer.cs, ToolStripDropDownItem.cs, + ToolStripProgressBar.cs, ToolStripContainer.cs, + ToolStripTextBox.cs, ToolStripPanel.cs, ToolStripDropDown.cs: move + to using System.ComponentModel.EventHandlerList. + +2006-12-04 Chris Toshok + + * LinkLabel.cs: fix up compiler warnings. + + * TableLayoutSettings.cs: same. + + * TreeView.cs: same. + + * ToolBar.cs: same. + + * TabControl.cs: same. + + * RichTextBox.cs: same. + + * ListViewItem.cs: same. + + * PropertyGrid.cs: same. + + * DataGridViewRowPostPaintEventArgs.cs: corcompare fix. + + * ToolTip.cs same. + + * TextRenderer.cs: fix up compiler warnings. + + * Label.cs: same. + + * Form.cs: corcompare fixes. + + * PictureBox.cs: fix up compiler warnings. + + * ImageListStreamer.cs: same. + + * TrackBar.cs: corcompare fix. + + * Control.cs: fix up compiler warnings. + + * SplitterPanel.cs: same. + + * NumericTextBox.cs: same. + + * ImageList.cs: same. + + * StatusStrip.cs: same. + + * ProgressBar.cs: corcompare fix. + + * ToolStripButton.cs: fix up compiler warnings. + + * ToolStripStatusLabel.cs: same. + + * ToolStripSplitButton.cs: same. + + * ToolStripSeparator.cs: same. + + * ToolStripProgressBar.cs: same. + + * ToolStripDropDownMenu.cs: same + + * ToolStripDropDown.cs: same. + + * ToolStripDropDownButton.cs: same. + + * ToolStrip.cs: same. + + * ToolStripControlHost.cs: same. + + * ToolStripContentPanel.cs: same. + + * ToolStripDropDown.cs: same. + + * ToolStripContainer.cs: same. + + * ToolStripPanel.cs: same, and add "new" where we need it to work + with the new ArrangedElementCollection. + + * ToolStripItemCollection.cs: add "new" where we need it to work + with the new ArrangedElementCollection. + +2006-12-04 Andreia Gaita + + * TabControl.cs: Fix default tab selection to after TabControl + gets focus and not before. Fixes #80128 + +2006-12-04 Chris Toshok + + * DataGridTableStyle.cs: remove the gross calling of + datagrid.Refresh from here. It's a broken idea and it doesn't + work anyway. + + * DataGrid.cs: instead, just register/unregister from the + DataGridTableStyle events in CurrentTableStyle. we play it + conservatively and EndEdit + CalcAreasAndInvalidate on any event, + even though some would most likely not require it. Fixes bug + #80115 (and one portion of #80117 as a side effect). + +2006-12-04 Chris Toshok + + * DataGrid.cs (set_CaptionVisible): EndEdit before doing the work + so the textbox (if any) goes away. Fixes bug #80117. + +2006-12-04 Chris Toshok + + * DataGridColumnStyle.cs: set the column's readonly property + initially based on the property descriptor's IsReadOnly. Fixes + bug #80044. + +2006-12-04 Chris Toshok + + * ComboBox.cs: wrap the dropdown style changing work in + SuspendLayout/ResumeLayout. Fixes bug #79968. + +2006-12-04 Jackson Harper + + * TextBoxBase.cs: Fix off by one, since these are one-based. + * TextBox.cs: Select all the text when we get focus. The TextBox + does this but the RTB does not. + +2006-12-04 Chris Toshok + + * DataGridTextBoxColumn.cs: remove some spew. + + * DataGridColumnStyle.cs (SetColumnValueAtRow): this seems right + but some part of me is saying "it shouldn't be here.." At any + rate, it fixes bug #80046. Call IEditableObject.EndEdit after + setting the value. + +2006-12-04 Chris Toshok + + * DataGridColumnStyle.cs (SetDataGrid): call CheckValidDataSource + to reassign the propertydescriptor. + +2006-12-04 Jackson Harper + + * TextBoxBase.cs: + * TextControl.cs: Remove some unused variables. Maybe this will + patch things up between mike and I. + - don't split lines less then one char wide, if the viewport is + that small text won't be visible anyways. + +2006-12-04 Jackson Harper + + * TextBoxBase.cs: Default selection length is -1, need to do some + more testing on windows to see when this is used for the property. + - Redid the Lines [] property to that we properly remove soft line + breaks + - added support for preserving carriage returns + - CanUndo is not a variable like 'is undo enabled' it just returns + true if there is undo operations available. + - AppendText doesn't need to grab the last tag itself anymore, + this happens automatically when we move the cursor. + * TextControl.cs: Add CompoundActions to the undo class. This + allows combining the other operations into one big option. ie a + paste will combine { delete old, insert new, move cursor } + - Add InsertString undo operation + - New method for deleting multiline text + - Add carriage returns to lines. So we can preserve carriage + returns when text is 'roundtripped' + +2006-12-04 Chris Toshok + + * DataGrid.cs (CalcCellsArea): cells_area.Width/Height are at a + minimum 0. Fixes the scrollbar exception in bug #80136. + +2006-12-04 Rolf Bjarne Kvinge + + * MdiClient.cs: + * MdiWindowManager: Removed unused fields and methods. + +2006-12-04 Rolf Bjarne Kvinge + + * StatusBar.cs: Update all panels when a AutoSize=Contents + panel needs updating. + + * StatusBarPanel.cs: Remove twidth and only use initialize. + Fixes #80031. + +2006-12-04 Rolf Bjarne Kvinge + + * Form.cs: When a form's MdiParent is set add it directly + on top of the z-order in stead of relying on MdiClient's + ActivateChild to do it. Fixes #80135. + + * MdiClient.cs: + - Remove original_order, mdi_child_list is already doing + the same thing. + - Create mdi_child_list on construction in + stead of first use (avoids a few null checks). + + * MenuItem.cs: Use an already existing list of mdi children + to get the correct order of children and remove the other + redundant list. + +2006-12-04 Chris Toshok + + * PropertyGridView.cs: cached_splitter_location is only used in + !DOUBLEBUFFER code. + + * PropertyGrid.cs: implement the ComComponentNameChanged event + using Events, hoping that would fix the warning. Looks like a + compiler bug instead (#80144). + + * PropertyManager.cs: remove unused method. + +2006-11-04 Everaldo Canuto + + * ThemeWin32Classic.cs: Dont draw arrow when menuitem on menubar, + include parentesis to fix expression evaluation. Fixes #79634. + +2006-11-02 Everaldo Canuto + + * MenuAPI.cs: + - Changes to fix behavior in Menu control, some reported in #80097 + and other detected during behavior refactory like a select event + problems. + - Remove unneded "if's" conditions. + - Created an internal to flag when popup is active in control, we need + it because in .NET you can have menu active but without popup active + when you active menu using popup without visible items. + - Mimic win32 behavior for Select and Popup events. + - Dont open popup menu when you dont have visible subitems. + - Do nothing when click on disabled menu item. + - Some small changes to follow the coding style guidelines. + - Unselect menu only when another control gives focus. Fixes #80097. + - Remove unused code. + + * MenuItem.cs: internal VisibleItems method to check if menu + theres visible subitems, it will be usefull to fix some + behavior in Menu control. + +2006-11-01 Everaldo Canuto + + * Timer.cs: Tag property for 2.0 profile. + +2006-12-01 Chris Toshok + + [ after removing all warning suppressions, this cleans up over 100 warnings. ] + + * Win32DnD.cs: comment out some unused fields. + + * XplatUIWin32.cs: comment out some unused pinvokes, and remove + some unused properties/methods. + + * XplatUIX11.cs: fix MousePosition so we override the base class's + property instead of conflicting with it. + + * PictureBox.cs: comment out some unused fields + + * OSXStructs.cs: make some struct fields public. + + * XplatUIOSX.cs: comment out some unused pinvokes, and fix + MousePosition so we override the base class's property instead of + conflicting with it. + + * X11Dnd.cs: comment out some unused fields + + * X11DesktopColors.cs: fix some struct field visibility to quiet + the compiler. + + * X11Dnd.cs: remove some debug code. + + * ThemeClearlooks.cs: comment out unused field. + + * ThemeNice.cs: mark some methods as overriding ThemeWin32Classic as needed. + + * ThemeGtk.cs: comment out some unused pinvokes. + + * Timer.cs: remove some unused fields. + + * ThemeClearlooks.cs: comment out unused field. + + * UpDownBase.cs: comment out unused field. + + * DataObject.cs: comment out unused field. + + * DataGridBoolColumn.cs: reomve unused field. + + * DataGrid.cs: remove unused field. + + * Cursor.cs: remove old ToBitmap code. + + * ControlPaint.cs: remove unused method. + + * ScrollBar.cs: remove unused fields. + + * ComboBox.cs: remove unused field, and chain up to + AccessibleObject ctor. + + * ListBox.cs: remove unused field. + + * ButtonBase.cs: wrap a couple fields in NET_2_0. + + * GridEntry.cs: remove unused fields. + + * Binding.cs: remove unused fields. + + * AxHost.cs: remove unused method. + + * ContainerControl.cs: remove unused field. + + * ScrollableControl.cs: remove unused fields. + +2006-12-01 Chris Toshok + + * XplatUI.cs, XplatUIWin32.cs, XplatUIGTK.cs: nuke + the Where/WhereString stuff. it's easy enough to CWL + Environment.StackTrace. + + * XplatUIX11.cs: same, but also fix up a lot of mcs warnings about + unused private fields. + +2006-12-01 Jackson Harper + + * TextControl.cs: Do not update the view while inserting multiline + text. If we update the view we might wrap lines, before entering + the new lines, which causes the new line insertion calculations to + be totally fubared. + - Remove an old TODO + - Make debug output a little nicer + +2006-12-01 Chris Toshok + + * ToolBar.cs: revert the ImeMode fix here and add an XXX comment. + +2006-12-01 Chris Toshok + + [ fix the majority of the CS0108 warnings we've been suppressing ] + + * TreeView.cs: mark BackgroundImageChanged as 'new'. + + * ToolBar.cs: ImeMode just passes stuff to Control. Rename Layout + to "LayoutToolBar" to quiet mcs. + + * TabControl.cs: mark our ControlCollection class as 'new'. + + * TextBoxBase.cs: mark some events as 'new'. + + * Splitter.cs: TabStop is 'new'. + + * ControlBindingsCollection.cs: mark a few methods as new since + they change the visibility from protected to public. + + * RadioButton.cs: DoubleClick -> base class, and remove unused + HaveDoubleClick. + + * MonthCalendar.cs: ImeMode property -> base class, and mark many + events as new. + + * NumericUpDown.cs: TextChanged -> base class. + + * CheckedListBox.cs: mark our ObjectCollection class as new to + quiet mcs. + + * FolderBrowserDialog.cs: make HelpRequest event new and have it + muck with the base class. + + * StatusBar.cs: fix some mcs warnings about Update being the same + name as a base class method. + + * RichTextBox.cs: mark some events as new, and make them do things + to the base class impl. + + * UserControl.cs: mark TextChanged as new, and have it manipulate + base.TextChanged. + + * UpDownBase.cs: mark some things new. + + * CheckBox.cs: mark DoubleClick "new", and add some text about + what we need to look at. + + * Panel.cs: make the events "new", and manipulate the base + version. these are just here for attributes. + + * AccessibleObject.cs: make owner private. + + * Control.cs: deal with AccessibleObject.owner being private. + cache our own copy if we need it. + + * Button.cs: add "new" to the DoubleClickEvent. + + * ListBox.cs: no need to track our own has_focus here. let + Control.has_focus do it for us. Also some other work to clear up + warnings about not overriding base class methods of the same name. + + * ComboBox.cs: clear up some warnings about not override base + class methods of the same name. + +2006-12-01 Chris Toshok + + * Form.cs: flag a few things as "new" to quiet some of the mcs + warnings. + + * AxHost.cs: same. + + * PrintPreviewDialog.cs: same. + + * DataGridView.cs: fix a ton of corcompare warnings. not all, but + now DGV isn't so horrible on the class status page. also, move + all events to using System.ComponentModel.EventHandlerList. my + wrists hurt. + +2006-12-01 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: + - Set form to active mdi child if shown, + and update the active mdi child to the next + remaining child in the z-order if the form is hidden. + + * Form.cs: + - Track if the form has been visible and if its + visibility is beeing changed, so that the MdiClient + can properly decide the ActiveMdiChild. The MdiClient + cannot track this since the form can change visibility + before MdiClient is created. + + * MdiClient.cs: + - Don't activate anything of the parent form is changing + its visibility. + - Rework ActiveMdiChild to only return visible mdi + children and take into account several other corner + cases. + +2006-12-01 Chris Toshok + + * IBindableComponent.cs: new 2.0 interface. + +2006-12-01 Gert Driesen + + * DataGrid.cs: Font for caption area is bold by default. + +2006-12-01 Everaldo Canuto + + * Menu.cs: Tag property for 2.0. + +2006-11-01 Everaldo Canuto + + * ThemeWin32Classic.cs: Adjust menu separator drawing. + +2006-12-01 Chris Toshok + + * TreeView.cs: doh, the Begin* events should be + TreeViewCancelEventHandler. + +2006-12-01 Chris Toshok + + * Form.cs: Form.ControlCollection already stores off the + form_owner field. don't access the base class's internal "owner" + field. + + * Control.cs: make all the fields in Control.ControlCollection + private. there's no need for any internal fields here. + +2006-12-01 Chris Toshok + + * DataGrid.cs: call SetDataSource instead of CalcGridAreas in + OnHandleCreated. Fixes bug #80109. + +2006-12-01 Chris Toshok + + * Button.cs, PropertyGridTextBox.cs, ComboBox.cs, + SplitContainer.cs, Control.cs, StatusStrip.cs, + DataGridTableStyle.cs, MenuItem.cs, DomainUpDown.cs, ImageList.cs, + NumericTextBox.cs, NumericUpDown.cs, Panel.cs, CommonDialog.cs, + DataGrid.cs, ScrollBar.cs, TrackBar.cs, PictureBox.cs, + DateTimePicker.cs, StatusBar.cs, Form.cs, PrintPreviewDialog.cs, + Label.cs, UserControl.cs, CheckBox.cs, RadioButton.cs, + LinkLabel.cs, ListControl.cs, PropertyGrid.cs, Splitter.cs, + MenuStrip.cs, FolderBrowserDialog.cs, NotifyIcon.cs, + TextBoxBase.cs, ListView.cs, DataGridBoolColumn.cs, + PrintPreviewControl.cs, RichTextBox.cs, ListBox.cs, TabControl.cs, + DataGridColumnStyle.cs, ContextMenu.cs, TreeView.cs: + + do most of the work to convert our code over to use + System.ComponentModel.Component.Events for + adding/removing/dispatching events. + + +2006-11-30 Jonathan Pobst + + * DataGridView.cs: Fix an ArgumentNullException reported + twice today in IRC. + +2006-11-30 Mike Kestner + + * ComboBox.cs: fix the scrollbar mouse event forwarding in the + grabbed listbox. Fixes #80036 and #80101. + +2006-11-30 Rolf Bjarne Kvinge + + * Message.cs: Changed ToString() to match MS. + +2006-11-30 Jackson Harper + + * TextBoxBase.cs: You can still change the selected text on a read + only textbox. + * TextControl.cs: Lower magic number for wrap calculations. This + lets text get closer to the right (far) edge. + +2006-11-30 Jonathan Pobst + + * Control.cs: Tweak 2.0 layout properties. + * Form.cs: Switch ToolStripMenuTracker hooks to ToolStripManager. + * TextRenderer.cs: Add a new overload. + * ToolStrip*: Huge amount of changes and new features. + +2006-11-30 Mike Kestner + + * ComboBox.cs: fixes for LargeChange and Maximum to get the + scroll range correct. Fixes #79994. + +2006-11-30 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: Update main form's text when + a form is closed. (fixes #80038) + +2006-11-30 Everaldo Canuto + + * ToolBar.cs: + - Fix an regression in ButtonSize. + - Get ImeMode default value change to "Disable". + - Get ShowTooltips default value change to true, default value is + "false" but after make a test in .NET we get "true" result as default. + +2006-11-29 Jonathan Pobst + + * ToolStripDropDown.cs: Fix for SupportsTransparency change. + +2006-11-29 Chris Toshok + + * XplatUIWin32.cs (GetWindowTransparency): check return value of + GetLayeredWindowAttributes. if it's 0, return 1.0, as + SetWindowTransparency hasn't been called. + +2006-11-29 Chris Toshok + + * Form.cs (set_TransparencyKey): only call SetWindowTransparency + if it's supported. + (set_AllowTransparency): reorder things a little so that the + WS_EX_LAYERED style is removed properly. + +2006-11-29 Chris Toshok + + [ totally cosmetic eye-candy feature, fixes bug #80089 ] + + * Form.cs: only call the XplatUI transparency method (get/set) if + SupportsTransparency says it's supported. Otherwise fallback to + doing nothing (in the set case) or returning the instance field we + cache (in the get case). + + * XplatUIStructs.cs: add TransparencySupport flag enum. + + * XplatUIDriver.cs: add abstract GetWindowTransparency, and track + change to SupportsTransparency. + + * XplatUIOSX.cs: stub out GetWindowTransparency, and return + TransparencySupport.None from SupportsTransparency. + + * XplatUIX11.cs: Stub out GetWindowTransparency, and return + TransparencySupport.Set from SupportsTransparency. + + * XplatUIWin32.cs: implement GetWindowTransparency calling + GetLayeredWindowAttributes, and implement SupportsTransparency by + checking whether or not both + GetWindowTransparency/SetWindowTransparency are available + entrypoints. We need to do this since SetWindowTransparency is + available as of win2k, but GetWindowTransparency requires winxp. + yay win32 api. + + * XplatUI.cs: Add GetWindowTransparency, and change + SupportsTransparency to allow for either/both Get/Set. + +2006-11-29 Chris Toshok + + * DataGrid.cs: keep from going into an infinite loop redrawing a + datagrid that has no datasource. Fixes bug #80033. + +2006-11-29 Chris Toshok + + * MenuItem.cs: fix the NRE when we assign text (and therefore call + Invalidate) before the mainmenu has been assigned to a control. + +2006-11-29 Chris Toshok + + * DataGrid.cs: detect when we should be double the double click + row/column autosize stuff, although that codepath has yet to be + written. part of the work for bug #79891. + +2006-11-29 Chris Toshok + + * Binding.cs (SetControl): fix unit test. + +2006-11-29 Carlos Alberto Cortez + + * PageSetupDialog.cs: Validate the margins and set them in + PageSettings. + * NumericTextBox.cs: New class to mimic the behavior of the + textboxes used in the printing dialogs. + +2006-11-29 Andreia Gaita + + * Form.cs: Revert previous change (remove call UpdateBounds + from form constructor), because it messes with the handle creation + order, and that one needs lots and lots of love. + * PrintPreviewDialog.cs: Revert change to CreateHandle (add check + for valid printer and throw InvalidPrinterException if document + is set but printer not valid), adding a MonoTODO. Once + handle creation is done properly, we can put this back in. + +2006-11-28 Everaldo Canuto + + * MenuItem.cs: Create a invalidate method for menu item, to be + calling from set text, it make text changes to imadiate update + on screen. Fixes #80013. + +2006-11-28 Everaldo Canuto + + * ToolBar.cs: Fixes and simplify toolbar button layout, it + fixes bug #80070 and some other problem on toolbar buttons + layout. + +2006-11-28 Everaldo Canuto + + * ThemeWin32Classic.cs: Paint toolbar toggle button background + with dotted brush. Fixes #79564 + +2006-11-28 Andreia Gaita + + * Form.cs: Removed call to UpdateBounds on Form + constructor, it was causing a call to CreateHandle + before it was supposed to. + * PrintControllerWithStatusDialog: Applied patch + by Chris Toshok to hide controller when there are + no printers available. + PrintDialog.cs: initialize printer settings to + null - correct DefaultValues test #5 + * PrintPreviewControl.cs: Move PrintController + initialization to GeneratePreview + * PrintPreviewDialog.cs: + - Remove Preview generation from Document_set(). It is + called on OnPaint + - Throw InvalidPrinterException on CreateHandle if + a Document is set but there are no printers or + printer is not valid. + * ThemeWin32Classic: don't paint PrintPreviewControl + if there is nothing to paint + +2006-11-28 Miguel de Icaza + + * Form.cs: Add another popular method. + + * TabPage.cs: ditto. + +2006-11-28 Rolf Bjarne Kvinge + + * MenuItem.cs: Fixed a warning. + * InternalWindowManager: Fixed a warning. + +2006-11-28 Rolf Bjarne Kvinge + + * MenuItem.cs: + - When cloning a menu also clone MdiList and clone the + window menu items properly (as the forms and menuitems + are kept in an internal hashtable, these need updating + as well) + - Rewrote the window menu code, menu items are added in the + order the forms were added to their parent, and they are + updated every time the window menu is shown (before the + list was only generated once, in the current order of the + forms, and would never be updated). A checkmark is shown + next to the item corresponding to the active mdi child. + +2006-11-28 Rolf Bjarne Kvinge + + * XplatUIStructs.cs: + - Added WM_NCMOUSEHOVER and WM_NCMOUSELEAVE. + + * XplatUIWin32.cs: + - Added TME_NONCLIENT to TMEFlags. + - Handles WM_NCMOUSEMOVE in GetMessage to + generate WM_NCMOUSEHOVER and WM_NCMOUSELEAVE messages. + + * MdiWindowManager: + - Now merges mdi child menu to parent menu when maximized. + - Recalculate NC areas of both mdi child and mdi parent. + Fixes #79757 (4). + on window state and size changes.Fixes #79844 (3). + - Handle WM_NCCALCSIZE to properly calculate borders. + + * Form.cs: + - Add/remove to the mdi containers list of mdi children + in the order they are added. + - Pass on WM_NCLBUTTONUP, WM_NCMOUSEMOVE and WM_NCMOUSELEAVE + to the maximized mdi child. + + * InternalWindowManager.cs: + - Only execute a click on the control buttons on the mouse up, + not on the mouse down. Show the state of the button + (was only showing Normal state, never Pressed state). The + pressed button now follows the mouse (if you click the Close + button and move the mouse over the Maximize button, the + Maximize button will be shown as pressed). Since Win32 does + not generate WM_NCLBUTTONUP if you release the button outside + of the nc area, we need to handle WM_NCMOUSELEAVE and treat + it as a mouse up. + + * ThemeWin32Classic.cs: + - Draw a missing border around mdi child forms. Fixes #79844 (2). + + * MdiClient.cs: + - Added a list of forms which contains the order the forms are + added to the mdi parent. + - Handle WM_NCPAINT to properly draw a 3D border. Fixes #79844 (2). + - Handle WM_NCCALCSIZE to properly calculate the 3D border. + - If the active form changes set the scrollbars to the top + of the Z order, otherwise the form could hide them. + - Scrollbars are now sized according to ClientSize, not + to Size, and they take into account the other scrollbar + to determine maximum. + +2006-11-28 Rolf Bjarne Kvinge + + * XplatUI.cs: + * XplatUIDriver.cs: + * XplatUIX11.cs: + * XplatUIWin32.cs: + * XplatUIOSX.cs: + - Added RequestAdditionalWM_NCMessages for windows to + opt in for WM_NCMOUSELEAVE and WM_NCMOUSEHOVER. + Currently only implemented in XplatUIWin32. + +2006-11-27 Chris Toshok + + * Hwnd.cs: only add the hwnd to the windows hash in + set_WholeWindow and set_ClientWindow if whole_window/client_window + are not IntPtr.Zero. also, remove the unused SetObjectWindow. + +2006-11-27 Mike Kestner + + * ComboBox.cs: remove redundant OnDropDown call. It is called + from the ComboListBox.ShowWindow code. Fixes #79969. + +2006-11-27 Chris Toshok + + * Hwnd.cs: remove the setters for ExposePending and + NCExposePending - noone uses them. + +2006-11-27 Jackson Harper + + * TextControl.cs: new param for ReplaceSelection which determines + whether we select the new selection, or set the cursor to the end + of the new selection. + * TextBoxBase.cs: Use new param for ReplaceSelection. When + pasting, select the new text. + * RichTextBox.cs: Use new param for ReplaceSelection. + +2006-11-27 Jackson Harper + + * TextBoxBase.cs: Set the selection to the caret after the caret + is moved, otherwise they get out of sync. + +2006-11-26 Everaldo Canuto + + * ToolBar.cs: Fixe size of ToolBar when AutoSize is false, + it fixes #80015 + +2006-11-26 Everaldo Canuto + + * ThemeWin32Classic.cs: + - Fix toolbar drop down arrow position. + - Fix drop down appearance when ToolBar.Appearance is normal, + it fixes #80018. + +2006-11-26 Gert Driesen + + * ProgressBar.cs: GetStyle fixes for 2.0 profile. + * Control.cs: Same. + * UpDownBase.cs: Same. + * ButtonBase.cs: Same. + * ScrollBar.cs: Same. + * TrackBar.cs: Same. + * PictureBox.cs: Same. + * UserControl.cs: Same. + * Label.cs: Same. + * ListControl.cs: Same. + * TextBoxBase.cs: Same. + * ListView.cs: Same. + * RichTextBox.cs: Same. + * TreeView.cs: Same. + +2006-11-25 Jordi Mas i Hernandez + + * PrintDialog.cs: + - Text label for where + - Text label comment was not shown + +2006-11-23 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix toolbar drop down arrow size. + +2006-11-23 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: + - Handle WM_PARENTNOTIFY to activate the form + if any child control is clicked. + - The form is only sizable if not minimized. + + * MdiWindowManager.cs: + - Save the IconicBounds if the form is moved. + - Rework SetWindowState, now the window bounds + are stored only if the old window state is Normal. + + * MdiClient.cs: + - In SetWindowStates store the old window state if + the window is maximized and restore window state if + the window looses focus. + - Don't handle any scrollbar value changes if + initializing the scroll bars. Fixes #79771. + - Reworked ArrangeIconicWindows. Current algorithm + tests bounds agains all other minimized windows, if + any intersections create new bounds (going left to + right, bottom to top) and then test again. When + successful the bounds are saved and never computed + again. Fixes #79774. + +2006-11-23 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: Added HandleTitleBarUp. + +2006-11-23 Gert Driesen + + * NumericUpDown.cs: In .NET 1.1, user entered text is still + hexadecimal in ParseUserEdit. + + +2006-11-23 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: + - Handle a click on the form's icon to show the + system menu (when maximized). Fixes #79775. + - Change the existing click handler for the form's + icon when not maximized to show on MouseUp. + Fixes #79776. + + * Form.cs: In OnResize only layout the mdi child's + parent if it actually has a parent. Might not if + the window is closing. + + +2006-11-23 Gert Driesen + + * MdiClient.cs: Ignore active MDI client for text of parent, if + child has no text set. + +2006-11-23 Gert Driesen + + * ToolBar.cs: Fixed ToString to match MS. + +2006-11-22 Andreia Gaita + + * NumericUpDown: + - Fix DecimalPlaces, Hexadecimal and ThousandsSeparator to + update inner values on set. Fixes #79966. + - Override OnLostFocus to update value on NET 2. Fixes #79950. + - Fix hexadecimal parsing. + + * UpDownBase: Override OnGotFocus and OnLostFocus to notify + parent. Fixes #79957 + +2006-11-22 Rolf Bjarne Kvinge + + * Control.cs: After calling SetWindowsPos in SetBoundsCore + the actual size has to be queried, since if height / + width is negative Win32 changes it to 0. + Fixes #79999 on Windows. + + * XplatUIX11.cs: Set height / width to 0 if negative + in SetWindowPos. Fixes #79999 on Linux. + +2006-11-22 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix text redenring when button is + pressed. + +2006-11-22 Everaldo Canuto + + * MenuAPI.cs: Fixes behavior when menu is opened by kerboard + and later navigate by mouse. Fixes #79528. + +2006-11-21 Everaldo Canuto + + * ToolBar.cs: Set default value for TabStop to false in + constructor, it fixes remaining behavior of bug #79863. + +2006-11-21 Rolf Bjarne Kvinge + + * MdiWindowManager.cs: + * InternalWindowManager.cs: + - Moved a few methods specific to Mdi from + InternalWindowManager to MdiWindowManager. + Fixes #79996. + +2006-11-21 Chris Toshok + + * XplatUIOSX.cs: stub out InvalidateNC. + + * XplatUIWin32.cs: implement InvalidateNC using the call I found + at http://www.dotnet247.com/247reference/msgs/58/292037.aspx. + + * XplatUIX11.cs: rename InvalidateWholeWindow to InvalidateNC. + + * XplatUIDriver.cs: add InvalidateNC abstract method. + + * XplatUI.cs: add InvalidateNC. + +2006-11-21 Everaldo Canuto + + * ToolBar.cs: Invalidate complete button area when pressed status + was changed. + * ToolButton.cs: Fix InvalidateBorder for DropDown buttons. + * ThemeWin32Classic.cs: Increase vertical and horizontal position + by 1 when button is pressed. + +2006-11-20 Everaldo Canuto + + * ToolButton.cs: Invalidate middle of DropDown button when + ToolBar theres DropDownArrows. + * ThemeWin32Classic.cs: Change position of DropDown arrow and + fix DropDown drawing operations. + +2006-11-20 Chris Toshok + + * NativeWindow.cs: fix the formatting of functions ('{' on the + following line), and enable the thread exception dialog. + + * Application.cs: remove the duplicate exception catching from + here. + +2006-11-20 Everaldo Canuto + + * Toolbar.cs: Triggers button click event when click on icon + of dropdown ToolBarButton. Fixes #79912. + +2006-11-20 Rolf Bjarne Kvinge + + * Theme.cs: + * ThemeWin32Classic.cs: + - Added a property WindowBorderFont to enable themeing + of mdi child windows' Text. + +2006-11-20 Rolf Bjarne Kvinge + + * InternalWindowManager.cs: + * Form.cs: + * MdiClient.cs: + * MdiWindowManager.cs: + - If mdi child is maximized, set mdi parent's + text to "Parent - [Child]". Fixes #79770. + - If there is any maximized mdi child windows, only the active + window (and any new windows) is maximized, the rest are normal. + - On a WindowState change only save mdi child's window bounds + if the old window state was normal. Fixes #79774. + - The scroll bars are now calculated on hopefully all + necessary events. Fixed #79771 / #79844->6 / #79906. + - MdiClient.SizeScrollBars() now takes into account docked + controls in the parent when calculating available space. + - InternalWindowManager now always repaints the entire title + area. Fixes #79844->1/4/5. + - Added RequestNCRecalc on mdi child windowstate changes. + Fixes #79772. + +2006-11-20 Mike Kestner + + * ComboBox.cs: setup LargeChange on the scrollbar. Invoke FireMouseUp + in the MouseUp handler of the listbox and move the return handling + code to FireMouseUp to avoid scrolling on ups. Fixes #79952. + +2006-11-20 Everaldo Canuto + + * Toolbar.cs: Ignore right mouse clicks in toolbar. Fixes #79855. + +2006-11-17 Alexander Olk + + * MimeIcon.cs: Seems that DllImports that were fine in 1.2 are not + working in 1.2.x anymore. So, updated. + +2006-11-19 Gert Driesen + + * NumericUpDown.cs: Use NegativeSign, NumberDecimalSeparator and + NumberGroupSeparator of current culture instead of assuming en-US. + Fixed bug #79967. + +2006-11-17 Mike Kestner + + * Control.cs: Add the concept of implicit bounds setting so that + dock/undock round trips preserve explicitly set size/locations. + Fixes #79313. + +2006-11-17 Alexander Olk + + * FileDialog.cs: Trim all filters, otherwise DirInfo.GetFiles + can't handle those filters. (Fixes bug #79961) + +2006-11-17 Chris Toshok + + [ fixes the exit/crashes associated with #79835. it's clearly + suboptimal though, we need to figure out a better way to solve + this. ] + + * PrintPreviewControl.cs: deal with the new invalid printer + exceptions. + + * PageSetupDialog.cs: if the printer is invalid, pop up a dialog + and return false (so CommonDialog.ShowDialog doesn't actually show + the form.) + + * PrintDialog.cs: enable/disable the Ok button depending on + whether or not the printer is valid. + + * CommonDialog.cs (ShowDialog): only actually show the form if + RunDialog returns true. + +2006-11-17 Jackson Harper + + * TextControl.cs: When soft splitting a line, mark it as a soft + split line. Also carry over the current line break to the next + line. + +2006-11-17 Chris Toshok + + * XplatUIX11.cs: when scrolling a window with an invalid area, we + only want to shift the part of the invalid area that overlaps the + area we're scrolling. we also don't want to clear the invalid + area unless the invalid area was entirely contained within the + scrolling area. + +2006-11-16 Chris Toshok + + * XplatUIX11.cs: remove the handling of the TimerEvent stuff, and + also make sure to free the memory returned by XGetWindowProperty + in GetText(). + + * X11Structs.cs: remove the TimerEvent stuff, it's unused. + +2006-11-16 Chris Toshok + + * XplatUI.cs: add a new super secret way to get at the totally + unsupported X11 backend. + +2006-11-16 Gert Driesen + + * NumericUpDown.cs: Allow lowercase letters when in hex-mode. + +2006-11-16 Jackson Harper + + * TreeView.cs: Allow more explicit setting of top node position + for scrollbars. Slower algo, but more accurate. + - CollapseAll should maintain the current top node. + * TextBoxBase.cs: When positioning the caret, use the line, pos + method, since the x, y method does not grab the correct tag, and + the caret height never gets set correctly. (Maybe I should just do + away with the caret having its own height, and always use the + carets current tag for height). + +2006-11-16 Jonathan Pobst + + * TreeView.cs: Need to recalc the topnode when we expand or + collapse. The scrolling methods can't handle this on their own, + since they use differences between the last scroll position, and + those difference get completely messed up since we are expanding + nodes. This problem should probably be fixed in the scrolling + methods, so they can figure out exactly where they are, but this + will slow things down a little. + * ThemeWin32Classic.cs: Special case for groupboxes with empty + strings, makes nunit-gui look a lot nicer. + +2006-11-16 Chris Toshok + + * XplatUIX11.cs: nasty, nasty, nasty changes required because of + the broken multithreaded event handling we have in here. File + this entry under "Why we should move to the new X11 backend". + + Any thread can make it into UpdateMessageQueue, which gets events + from the X socket - some of which could belong to hwnds being + managed by a different thread. We can also have multiple threads + in UpdateMessageQueue at the same time, with each one reading from + the X socket. This leads to many problems, with the following + solutions: + + We can't use hwnd.Queue.Enqueue anywhere in here and must use + EnqueueLocked. + + The MotionNotify compression we do can't work across threads + (without locking the entire queue, perhaps) since we call + hwnd.Queue.Peek, so we just punt and don't compress motion events + unless the owning thread is the one which got the X event. + + ConfigureNotify is another fun one, since it modifies the hwnd's + bounds and then enqueues the event. We add a lock to Hwnd which + is held when setting configure_pending to true (and enqueuing the + event). + + There is a race wrt the wake socket. we need to make sure that + only 1 thread is waiting on that socket, or else a thread could + sleep waiting for data that never comes. It's difficult (but not + impossible) to make happen, because it seems to require something + like the following: + + 1. Thread 1 polls on wake_receive + + 2. poll returns saying there's data to be read on + wake_receive. + + 3. Thread 2 polls on wake_receive and immediately returns + saying there's data to be read. + + 4. Thread 2 reads the wakeup byte from wake_receive + + 5. Thread 1 attempts to read the wakeup byte from + wake_receive. + + 6. Thread 2 exits (due to a form closing, perhaps). + + 7. Thread 1 blocks forever. + + Fun, eh? + + Fixing the Expose handling isn't done yet, and the races inherent + in that piece of code are responsible for the drawing mistakes you + see when generating expose events in a MT app (like NPlot). This + one is the likely to be the hardest to bandaid, and it doesn't + appear to cause anything but drawing problems. The other issues + caused apps to exit or hang. + + * XEventQueue.cs: output some spew when Dequeue/Enqueue/Peek are + called from a different thread than the one that should be calling + these functions. + + * Hwnd.cs: add some locks to be used by the XplatUIX11 code. + +2006-11-15 Chris Toshok + + * Application.cs: null out the context's MainForm when we exit + RunLoop. Fixes a newly checked in unit test as well as the last + ODE from bug #79933. + +2006-11-15 Chris Toshok + + * Form.cs (set_Owner): allow a null value so we can clear the + form's owner. + (Dispose): set all our owned_form's Owner properties to null, and + clear the owned_forms collection. + (WM_CLOSE): clean up this a little bit.. still not right though. + + * ApplicationContext.cs: OnMainFormClosed should only call + ExitThreadCore if the main form isn't recreating. Fixes unit + test. + +2006-11-15 Jonathan Pobst + + [Fixes 78346] + + * ComboBox.cs: Set the Hwnd.no_activate flag for the ComboListBox. + +2006-11-15 Jonathan Pobst + + [Fixes 79433] + + * Hwnd.cs: Add a flag to show a window, but not activate it, to + keep popup window types from stealing focus from the main form + on Windows. + + * XPlatUIWin32.cs: Use SW_SHOWNOACTIVATE if above field is true. + + * MenuAPI.cs: Set above flag to true. + +2006-11-15 Chris Toshok + + * XplatUIX11.cs: mimic win32 behavior on BUTTONUP events, where + the button being released is not in wParam. + +2006-11-15 Jonathan Pobst + + * Form.cs: Add the released button to MouseEventArgs.Button + for the OnMouseUp call to the MenuTracker. Fixes menu clicking + on Win32. + +2006-11-15 Chris Toshok + + * XplatUIX11.cs: add (untested) a _NET_WM_NAME implementation of + GetText(). untested because it's unused in our implementation. + Control.Text always caches the text, even if + ControlStyles.CacheText is not set. + + fixes bug #79939. + +2006-11-15 Chris Toshok + + [ fixes #79933 ] + + * Form.cs: in Close() don't do anything after we send the WM_CLOSE + message. no hiding, no disposing. + + in the WM_CLOSE handler, hide the form if it's modal. + +2006-11-15 Chris Toshok + + * XplatUIX11.cs: use AddExpose instead of sending a message. + fixes textbox border drawing. + +2006-11-15 Chris Toshok + + * PropertyGridView.cs: keep from crashing on mouse move/down when + the property grid is empty. + +2006-11-14 Jackson Harper + + * TextControl.cs: Make PageUp and PageDown more like the MS + versions. + * TextBoxBase.cs: When we set the text property position the + cursor at the beginning of the document. + +2006-11-14 Rolf Bjarne Kvinge + + * Form.cs: if a mdi child's WindowState has changed + before it's creation, it would display wrong control + buttons. + +2006-11-14 Alexander Olk + + * TreeView.cs: De-uglify TreeView checkbox checkmarks. + (Fixes bug #79927) + +2006-11-14 Rolf Bjarne Kvinge + + * XplatUIX11.cs: send a WM_NCPAINT on WM_NCCALCSIZE so that + the window gets to paint its borders even if the window is + getting smaller. + + * Form.cs: on a WM_NCPAINT invalidate the entire menu, + otherwise the old control buttons would still be painted + if the window gets bigger. + + * PaintEventArgs.cs: add an internal method so that the clip + rectangle can be changed. + +2006-11-13 Chris Toshok + + [ fixes bug #79745 ] + + * NotifyIcon.cs: lots of cleanup. + + * X11Structs.cs: add an enum for XEMBED messages. + + * XplatUIX11.cs: reindent one of the giant switch statements, it + was taking up an additional tab stop, and this file is already way + too wide for my laptop's screen. + + Also, add handling for the XEmbed EMBEDDED_NOTIFY message. When + we get it, resize the hwnd to the WMNormalHints max_width/height. + +2006-11-13 Jackson Harper + + * TextBoxBase.cs: Compute the value changes for the mouse wheel + teh simple way. + +2006-11-13 Chris Toshok + + * XplatUIX11.cs, XplatUIStructs.cs: kind of a gross fix for + #79898. force a reference to the Region to stick around so the + unmanaged object isn't collected (rendering our handle in the MSG + stale). + +2006-11-13 Chris Toshok + + * XplatUIX11.cs: fix #79917 for window managers which support + + using XStoreName on the raw utf8, and we need to convert to + COMPOUND_TEXT if it's non-latin1. + +2006-11-13 Chris Toshok + + * Form.cs (set_DialogResult): we need to set closing to false if + we're setting our result to None. fixes bug #79908. + +2006-11-13 Jackson Harper + + * TextControl.cs: When formatting text, compute the adjusted tag + lengths correctly, using FindTag for the end tag instead of trying + to figure it out outselves. + * TreeNode.cs: Use ActualItemHeight, which is the actual height of + the item, ItemHeight doesn't work, because trees with large + imagelists use those for their height + * TreeView.cs: ActualItemHeight factors in the image height + - compute left edge of checkboxes correctly + - when expanding/collapsing move the bottom down one pixel, so we + aren't moving part of the node + +2006-11-13 Rolf Bjarne Kvinge + + * XplatUIX11.cs: The PaintEventArgs is also added to the drawing + stack in PaintEventStart so that it won't get disposed by the gc + before reaching PaintEventEnd. + +2006-11-13 Jackson Harper + + * TextBoxBase.cs: Don't select the word if we are on a line with + no text. + - We don't need to position the caret on mouse up, since the mouse + move handler should be doing this + - When double clicking a blank line, the caret is advanced to the + next line. + +2006-11-13 Gert Driesen + + * TreeNodeCollection.cs: Avoid duplicating indexer code. + +2006-11-12 Gert Driesen + + * ColorDialog.cs: Reset size of dialog between calls to ShowDialog. + Fixes part of bug #79910. + +2006-11-11 Alexander Olk + + * ColorDialog.cs: Fix a NRE when adding a color to custom colors + (bug #79903). Some minor string updates to match ms. + +2006-11-10 Alexander Olk + + * FileDialog.cs: Don't add an extension if the filename + already ends with that extension. + +2006-11-10 Jackson Harper + + * TreeView.cs: Use the currently highlighted node for the + BeforeSelect event. + * TextBoxBase.cs: There is no need to expand selection on + MouseMove. + - CanUndo means 'is there any undo operations', not 'is undo + allowed on this textcontrol. Fixed ClearUndo unit test. + +2006-11-10 Andreia Gaita + + * Button.cs: only perform click when button is Selectable (so as + not to activate default buttons when they're disabled) + + * Control.cs: Rewrite of the SelectNextControl and related + methods. HandleClick now selects next control if the current one + is being disabled. + + * Form.cs: OnActivated selects next active control only if Load + has already occurred. If Load hasn't run, there's no point in + selecting here, Load might change the state of controls. + + * FocusTest.cs: Tests marked as working again for these fixes + +2006-11-10 Chris Toshok + + * XplatUIX11.cs: a couple of fixes. + + - use XInternAtoms with almost all the atoms we need to register, + instead of many, many calls to XInternAtom. should help a bit on + startup time, at the expense of making the code look a little + worse. + + - fall back to setting TransientFor on TOOLWINDOW's if their hwnd + isn't reparented (which seems to be a clue that we're running fon + compiz) and they have an Owner form. This fixes the tool windows + in paint.net when running under compiz. + + - when setting the opacity of a window, support both the case + where the window has been reparented and also when it hasn't been. + Since compiz/beryl doesn't seem to reparent windows, and these are + the only window managers which support translucency, I'm not sure + why we need the hwnd.reparented case at all.. but leave it in. + now we get translucent windows in paint.net under compiz/beryl. + +2006-11-10 Alexander Olk + + * FileDialog.cs: Always return the value for FilterIndex that + was set. Internally convert it to values that make sense. + +2006-11-10 Everaldo Canuto + + * ThemeWin32Classic.cs: Fix drowp down arrow borders. + +2006-11-10 Everaldo Canuto + + * Toolbar.cs: Change default value of DropDownArrows to true, the + signature still using false to make it compatible with MS but the + initial value is true. Fixes #79855. + +2006-11-10 Alexander Olk + + * MimeIcon.cs: Don't throw an exception on windows. Mime stuff is + only available on Linux. + +2006-11-09 Everaldo Canuto + + * Toolbar.cs, ToolBarButton.cs: Fix wrong separator size and + reduce number of calls to redraw method during toolbar creation. + +2006-11-09 Mike Kestner + + * ListView.cs : raise SelectedIndexChanged when an item is selected + programmatically via the Item.Selected property. Gert's nice + ListViewSelectedIndexChanged test fixture now runs clean. + +2006-11-09 Mike Kestner + + * ListView.cs : raise SelectedIndexChanged when a selected item is + removed from the item collection using Remove or RemoveAt. + +2006-11-09 Mike Kestner + + * ListView.cs : raise SelectedIndexChanged once per selected item + for compat with MS. Fixes #79849+. + +2006-11-09 Chris Toshok + + * TabControl.cs: initialize row_count to 0, and set it to 1 when + we need to (if we have any tab pages). Fixes unit test. + +2006-11-09 Chris Toshok + + * Label.cs (CalcPreferredWidth): if Text == "", our preferred + width is 0, not 3. Fixes a unit test. + +2006-11-09 Mike Kestner + + * ListView.cs : use Implicit scrollbars so that focus isn't + stolen from the listview when they are clicked. Fixes #79850. + +2006-11-09 Chris Toshok + + * PropertyGridView.cs (OnPaint): only call DrawGridItems if we + have a root item. Fixes #79879. + +2006-11-09 Alexander Olk + + * FileDialog.cs: + - Fix ToString () + - An ArgumentException is now thrown if a wrong filter + is applied (matches ms). The previous filter doesn't change + anymore if an exception is thrown. + - Changing the FileName property also affects FileNames + * ColorDialog.cs: The length of the CustomColors array is always + 16. It doesn't matter if we use a smaller array or null to update + or change the custom colors property. + * FolderBrowserDialog.cs: Throw an InvalidEnumArgumentException if + for RootFolder if we get a undefined value. + +2006-11-09 Rolf Bjarne Kvinge + + * StatusBarPanel.cs: + - Width is set to MinWidth if Width is smaller than + MinWidth. Fixes #79842. + - MinWidth now always overrides Width (MSDN says MinWidth + is set to Width when AutoSize = None, but they do not + behave like that). + - Style has now the the correct default value. + +2006-11-09 Rolf Bjarne Kvinge + + * TrackBar.cs: + - The control is completely invalidated on + Got/LostFocus to draw the focus rectangle correctly. + - When AutoSize then height is always 45 (width for + vertical controls). + + * ThemeWin32Classic.cs: The TrackBar thumb is now centered + on the mouse when moved and it doesn't move when grabbed + until the mouse moves as well. Also fixed some wrong + calculations when clicking on the thumb (control thought + click was outside of thumb and didn't grab it). + Fixes some of the issues in #79718. + +2006-11-08 Everaldo Canuto + + * Toolbar.cs: Prevent disabled button to highlight. Fixes #79868. + +2006-11-08 Chris Toshok + + * PropertyGridView.cs: only call ToggleValue if the item is not + readonly. + +2006-11-08 Jackson Harper + + * TextBoxBase.cs: The RichTextBox and textbox have very different + word selection methods. Implement the textbox's simple word + selection here, and let the RichTextBox override and provide it's + own. + - Don't do extra selection on mouseup + * RichTextBox.cs: Use the documents word selection algorithm, I + think ideally, this function will be pulled into the + RichTextBox.cs code someday. + +2006-11-08 Chris Toshok + + * RootGridEntry.cs: new class to represent GridItemType.Root. + + * CategoryGridEntry.cs: reformat, and add boilerplate. + + * GridEntry.cs: remove the UIParent stuff - turns out .Parent + returns the UI parent anyway, and we need special handling to + implement the GetTarget method in the face of it. Also, implement + Select(). + + * PropertyGrid.cs, PropertyGridView.cs: a number of fixes. create + a root grid item, and use that instead of PropertyGrid.grid_items. + Also, make use of TypeConverters (and add limitted support for + ICustomTypeDescriptors) when initially populating the grid. + Arrays now show up more or less properly. + +2006-11-08 Chris Toshok + + * Application.cs: set the modal dialog to non modal after we close + it. Fixes bug #79866. + +2006-11-08 Jackson Harper + + * TextControl.cs: When combining lines carry over the line end + style from the end line. + - Invalidate the selected area when setting it, if it is visible. + * TextBoxBase.cs: Only rich text box can do full line selects. + - Make sure to set the cursor position when there is a click, + otherwise two clicks in separate areas could cause a large chunk + to be selected. + +2006-11-07 Everaldo Canuto + + * Toolbar.cs: Release flat button borders when Toolbar lost focus. + Fixes #79863. + +2006-11-07 Everaldo Canuto + + * Toolbar.cs: Prevent toolbar to open more than one tooltip at same + time. Remove tooltips when ToolButton click events. Fixes #79856. + +2006-11-07 Everaldo Canuto + + * MenuAPI.cs: Ignore right click for menu actions and fixes + menu border when clicked. Fixes #79846. + +2006-11-07 Everaldo Canuto + + * XplatUIX11.cs, XplatUIX11.cs: Fix MouseRelease to only release + MouseState after create wParam for message, this fixes mouse button + equal none in mouse up events. + +2006-11-07 Andreia Gaita + + * Control.cs : Focus() now calls Select to set the Container's + Active Control and to give it focus. To avoid infinite recursion + (because ActiveControl also calls Focus at one point), a check + is made in Focus with the help of a new internal variable + is_focusing. + +2006-11-07 Mike Kestner + + * ListView.cs : raise OnSelectedIndexChanged in CreateHandle + if there's a selection. Fixes #79849. + +2006-11-07 Gert Driesen + + * PropertyGrid.cs: Avoid fixed height of help description label. + Fixes part of bug #79829. + +2006-11-07 Chris Toshok + + * XplatUIX11.cs: fix #79790 again, by using the + _NET_WM_STATE_SKIP_TASKBAR atom to implement Form.ShowInTaskbar. + +2006-11-07 Everaldo Canuto + + * ToolBar.cs: Fix left click checking. + +2006-11-07 Chris Toshok + + * ProgressBar.cs: fix a typo in ToString(). fixes a unit test. + +2006-11-07 Chris Toshok + + * RelatedPropertyManager.cs: set property_name in our ctor. fixes + PropertyManager unit tests. + + * PropertyManager.cs: make property_name internal. + +2006-11-07 Chris Toshok + + * ButtonBase.cs: initialize base.ime_mode to ImeMode.Disable to + pass a unit test. Also, don't set image_index to anything in + response to setting the ImageList property. + +2006-11-07 Everaldo Canuto + + * ToolBar.cs: Ignore click events when mouse button is not a + left button, only accepts other button for dropdown menus. + Fixes #79854. + +2006-11-07 Chris Toshok + + * DataGrid.cs: make the back and parent row buttons a little less + ugly. + +2006-11-07 Jackson Harper + + * TextBoxBase.cs: When converting to Text don't put line breaks in + for soft line breaks. + * TextControl.cs: There is an initial "fake" line in the document, + this is now a soft break line, so that an extra line feed doesn't + get added to the end of documents. + +2006-11-07 Chris Toshok + + [ fix bug #79778 ] + + * CurrencyManager.cs: if the list is readonly, don't bother + checking if IBindingList.AllowNew is true. + + * ThemeWin32Classic.cs (DataGridPaintParentRow): make this work + for non-DataRowView datasources.. or rather, make it not crash. + (DataGridPaintRelationRow): make sure we limit the row painting to + the area not covered by the row header, and make our cell width at + least large enough to cover the relation area. This allows grids + that have relations but no rows to render correctly. + (DataGridPaintRowContents): same type of changes here. + (SetDataSource): move back to always calling + CalcAreasAndInvalidate. this fixes a crash/drawing problem when + navigating back through relations. + (HitTest): handle the case where we have no cells but have + relations. Right now we generate a hit in cell 0 of whatever the + row is, not sure if this is strictly correct, but it works for our + purposes. + + * DataGrid.cs (EndEdit, CancelEdit): if we have no columns, don't + bother doing anything. + +2006-11-07 Jonathan Pobst + + * StatusStrip.cs, ToolStripStatusLabel.cs: By request, an + early version of StatusStrip. Not responsible for eaten + application or firstborn children. + +2006-11-06 Chris Toshok + + * TabControl.cs: in OnGotFocusInternal/OnLostFocusInternal don't + call GetTabRect with a -1 index. Fixes #79847. + +2006-11-06 Jackson Harper + + * TreeNodeCollection.cs: Update scrollbars after clearing. + +2006-11-06 Chris Toshok + + * NumericUpDown.cs: fix the ToString method for some unit test + love. + +2006-11-06 Chris Toshok + + * PropertyGrid.cs: + - set the initial SelectedGridItem if we can. + + - Exclude non-mergable properties only if we're merging > 1 + object. Merging 1 object isn't really merging, obviously. + + - Handle PropertySort.NoSort just like Alphabetical, which is + wrong of course, but at least gets things on the screen. + + * PropertyGridView.cs: + - Add method "FindFirstItem" which finds the first property grid + item, so we can select it by default. + + - make use of GridEntry.CanResetValue. + + - Don't call RedrawBelowItemOnExpansion here anymore, the + individual GridEntry's will do that. + + - Remove the ITypeDescriptorContextImpl internal class. + + * GridEntry.cs: + - this class needs to implement ITypeDescriptorContext, as it's + what MS's PropertyDescriptorGridEntry does, which means we can + remove the ITypeDescriptorContextImpl internal class from + PropertyGrid.cs. This fixes the crashing portion of bug #79829. + + - keep a reference to our PropertyGridView, and move the call to + RedrawBelowItemOnExpansion here from PGV. This means + programmaticly setting Expanded actually does something visible. + + - add a CanResetValue() function which takes into account our + possibly multiple "selected_objects" in the merged case. Shifting + PropertyGridView to use this method fixes another unreported + crasher found running the test for #79829. + + - when Top or Bounds is updated, make sure the PropertyGridTextBox + is updated to reflect this. + + * CategoryGridEntry.cs: the ctor takes the PGV now. + +2006-11-06 Jackson Harper + + * TextControl.cs: These are 1 based. + * TextBoxBase.cs: When setting the selected text, don't change the + selected text tags, this is done by ReplaceText, just position the + cursor at the end of the new text. + +2006-11-06 Alexander Olk + + * ListView.cs: Allow label edit only when, when LabelEdit is + set to true. + +2006-11-06 Jackson Harper + + * TextControl.cs: If a suitable wrapping position isn't found, + just wrap right in the middle of a word. + +2006-11-06 Alexander Olk + + * ListView.cs, ListViewItem.cs: Implement LabelEdit. Fixes + bug #79820. + +2006-11-06 Jackson Harper + + * TreeView.cs: Can't use the VisibleCount property when setting + scrollbar heights, because this doesn't take into account whether + or not the horz scrollbar just came visible. + +2006-11-05 Everaldo Canuto + + * MenuAPI.cs: Deactivate menu on mouse up when menus it is already + activated. Fixes #79369, #79832. + +2006-11-05 Alexander Olk + + * FileDialog.cs: *sigh* Because of recent runtime changes (r67043) I + had to remove support for links that point to a directory. FileInfo + returns no usefull information (means, the directory they point to) + for such links. Replaced some empty string ("") with String.Empty. + +2006-11-04 Gert Driesen + + * TreeNodeCollection.cs: To match MS, in 1.0 profile throw + NullReferenceException when attempting to remove node that is not in + collection. Throw NullReferenceException when null is passed to + Remove. Allow first element of the collection to be removed. Fixes + bug #79831. In GetEnumerator ().Current return null if positioned + before the first element of the collection. In GetEnumerator ().Reset, + position before first element of the collection. + +2006-11-04 Gert Driesen + + * PropertyGrid.cs: To match MS, remove default title and description + for panel. Fixed tooltips for Categorized and Alphabetic toolbar + buttons. + +2006-11-04 Chris Toshok + + * Theme.cs: add a Clamp method, just for kicks. + + * ThemeWin32Classic.cs: clamp all color components to [0..255]. + +2006-11-04 Chris Toshok + + * Form.cs: if the form isn't visible, Close() does nothing. + +2006-11-03 Chris Toshok + + * Form.cs (Close): if the form is modal, don't Dispose of it, only + Hide it. + (WndProc): don't Dispose after handling the WM_CLOSE message. + + * Application.cs (RunLoop): toplevels is a list of Forms, so treat + them as such, instead of using casts from Control to Form. Also, + don't Dispose of the modal dialog when we fall out of the loop - + Close() it instead. + + fixes bug #79813. + +2006-11-03 Chris Toshok + + * Control.cs (Dispose): only go through the dispose thing if we're + @disposing, and we haven't already been disposed. Fixes bug + #79814. + + * Form.cs: no reason to call "base.Dispose()" here instead of + "Dispose()". + +2006-11-03 Mike Kestner + + * ComboBox.cs : use ToString instead of casts in AddItem for + sorting functionality. Fixes #79812. + +2006-11-03 Chris Toshok + + * Application.cs: pave the way for actually using the thread + exception dialog. it's ifdefed out at the moment. + +2006-11-03 Chris Toshok + + * ThreadExceptionDialog.cs: until we get a better layout, actually + hide the details textbox and label when we shouldn't see them. + +2006-11-03 Jackson Harper + + * TextBoxBase.cs: Don't bail from the scrollbar calcs for non + multiline textboxes anymore. This method also determines the + width/height of a textboxes canvas area. + - Sorta a revert of the last patch. For multiline just position + the controls, then bail. This way the scrollbar width won't be + altered. + +2006-11-03 Everaldo Canuto + + * ThemeWin32Classic.cs: Dont paint inner lines of 3D border when + it dont need. Fixes #79537. + +2006-11-02 Jackson Harper + + * X11Dnd.cs: We always allow copy, since XDND implies Copy. Also + send the status after firing the DndOver event. + +2006-11-02 Rolf Bjarne Kvinge + + * TrackBar.cs: Now orientation only switches height / width if + the control's handle is created (Win32 does it like this). Also + fixed a typo in ToString() for a test to pass, changed the + exception thrown in set_LargeChange and set_SmallChange to + match Win32 behaviour, and added TrackBar tests to the unit + tests. + +2006-11-02 Chris Toshok + + * XplatUIX11.cs: the atom we want is _NET_WM_STATE_SKIP_TASKBAR, + not _NET_WM_STATE_NO_TASKBAR. + +2006-11-02 Jackson Harper + + * TextControl.cs: Increment count by one, since in the update view + count - 1 is used. + +2006-11-02 Jackson Harper + + * TextBoxBase.cs: Use client rectangle not bounds for checking if + the mouse is in the client rectangle (duh). + +2006-11-02 Rolf Bjarne Kvinge + + * TrackBar.cs: Fixed trackbar jumping around when clicking + on it - the trackbar was not detecting correctly at which + side of the thumb the click was done. (fixes #79718) + +2006-11-02 Everaldo Canuto + + * ListBox.cs: scroll visible area when change SelectedIndex to + a non visible area. Fixes #79481. + +2006-11-01 Jackson Harper + + * TextControl.cs: When replacing the selection move the selection + start/end/anchor to the end of the new text. + +2006-11-01 Jackson Harper + + * XplatUIWin32.cs: When setting the parent change the controls + visibility to it's visibility flag, not to it's old parents + visibility (.Visible walks the parent chain). + +2006-11-01 Chris Toshok + + * XplatUIX11.cs: revert the #79790 fix, as the simple. + XSetTransientForHint fix breaks paint .net's tool windows. more + work needed for that one. + +2006-11-01 Chris Toshok + + * ScrollBar.cs: throw ArgumentException instead of Exception in + LargeChange/SmallChange setters. fixes unit tests. + +2006-10-31 Andreia Gaita + + * ContainerControl.cs: reverted rev.67183 (which was itself + a reversion of rev.66853... eh). + + * Control.cs: Fixes Reflector hang by changing Focus() call + to what it was before rev.66643 (calling Select() here sets + ActiveControl, which in some situations calls back Focus and + eventually does a stack overflow). Temp fix. + Changes to GetNextControl() to not look for children to select when + parent cannot be selectable (so it looks for siblings instead) + +2006-10-31 Mike Kestner + + * CheckedListBox.cs : off by one error in returned index from + ObjectCollection.Add. Fixes #79758. + +2006-10-31 Chris Toshok + + * UpDownBase.cs: remove the OnGotFocusInternal/OnLostFocusInternal + calls for the textbox/spinner, to keep from recursing to the point + where we crash. Fixes #79760. + +2006-10-31 Chris Toshok + + * ListControl.cs (set_SelectedValue): don't throw exceptions on + null/"" value, just return. matches ms's behavior and fixes some + failing tests. + +2006-10-31 Chris Toshok + + * Control.cs (set_Capture): make a logic a little easier to + follow. + + * XplatUIX11.cs (CleanupCachedWindows): zero out the Grab window + if it's being destroyed. A necessary fix surely, but a bandaid + also, to fix the stuck capture problem in bug #78413. + +2006-10-31 Chris Toshok + + * XplatUIX11.cs: fix a couple of compiler warnings, and follow the + convention of clearing hwnd.ClientRect when we set the + width/height (so it'll be recalculated by Hwnd). + +2006-10-31 Andreia Gaita + + * ContainerControl.cs: reversed Contains check from + ActiveControl due to hanging problems. This fix + partly regresses #79667 (button does not have + initial focus), so this might be a symptom for + a larger parenting problem (set_ActiveControl + is being called but the child control does + not have the parent set yet?) + +2006-10-31 Mike Kestner + + * MenuAPI.cs : fix keynav when menu is click activated. + +2006-10-31 Jonathan Pobst + + * ToolStrip*: Version 0.2. + + * MenuStrip.cs: Version 0.1. + + * Form.cs: Add a 2.0 MenuStrip tracker like the 1.1 Menu one. + +2006-10-30 Chris Toshok + + [ fixes the oversized notify icon issue in bug #79745 ] + + * NotifyIcon.cs: scale the icon down to the size we're given by + the XplatUI layer (this would be faster if we did it once instead + of whenever we paint..) Also, remove the WM_NCPAINT handling, + since it's never invoked. + + * XplatUIX11.cs: the gnome and kde systrays use icons that are 24 + pixels high by default, so let's hardcode our systray icon to that + size. The SYSTEM_TRAY protocol should really have a way for + client apps to query for the correct icon size.. but oh well. A + couple of patches to deal with the screwy client_window == + whole_window notifyicon stuff (we don't want to PerformNCCalc, for + instance, and also make sure we don't XSelectInput twice). + +2006-10-30 Chris Toshok + + * Control.cs: ugh, the unit test fix (CH11, yesterday) breaks when + recreating forms. Control recreation is the bane of my existence. + Fix it in a way that keeps everyone happy. + +2006-10-30 Chris Toshok + + * XplatUIX11.cs: use StructureNotifyMask on all whole_windows, not + just non-CHILD ones. otherwise sometimes scrollbars end up with + client_windows not being resized to the proper size (ReportBuilder + shows this extremely well). + +2006-10-30 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): reinstate the XSetTransientForHint + for non-WS_EX_APPWINDOW windows. This is what keeps them from + showing up in the gnome taskbar. Fixes bug #79790. + +2006-10-30 Chris Toshok + + * ApplicationContext.cs: guard against a NRE. + + * Application.cs: null out the old MainForm for the context, so we + don't try to use it again once it's disposed. Fixes bug #79783. + +2006-10-30 Chris Toshok + + * DataGrid.cs (set_DataSource, set_DataMember): if we have a + BindingContext, set the data source directly, otherwise do the + lazy approach - the actual ListManager will be created when we get + a BindingContext. Fixes bug #79700. + +2006-10-30 Jonathan Pobst + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs, + XplatUIX11.cs: Remove old 2 parameter SetVisible. + + * Control.cs: Use the new 3 parameter SetVisible with activate = true. + +2006-10-30 Jonathan Pobst + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Add an overload + of SetVisible that allows a window to be shown, but not activated. + This is needed on Windows for MenuStrip, and can probably be used + with MainMenu and ComboBox to fix the focus stealing issues on + Windows. + + * XplatUIOSX.cs, XplatUIX11.cs: Not needed, call existing SetVisible. + +2006-10-30 Alexander Olk + + * PictureBox.cs: Fix the output of the ToString method. + +2006-10-29 Chris Toshok + + * Control.cs (get_TopLevelControl): fix bug #79781. + +2006-10-29 Chris Toshok + + * ListControl.cs (set_DataSource): throw Exception here, not + ArgumentException, to match MS behavior. + +2006-10-29 Chris Toshok + + * Form.cs: remove the try-catch's around calls to GetWindowState. + We can just check the return value. + + * XplatUIX11.cs: don't throw exceptions from GetWindowState. + Instead return -1. + + * XplatUI.cs: Add note about additional return value for + GetWindowState. + +2006-10-29 Chris Toshok + + * Control.cs (CreateHandle): when we create our handle, we also + create the handles of our child controls. Fixes one of the + Control unit tests (CH11). + +2006-10-28 Alexander Olk + + * MimeIcon.cs: If a gnome icon doesn't exist add a default icon. + +2006-10-28 Alexander Olk + + * ThemeClearlooks.cs: A little speedup. + +2006-10-27 Chris Toshok + + * Control.cs: implement Control.FromChildHandle in a way that + matches the docs (and fixes the failed test.) + +2006-10-27 Chris Toshok + + * DataGridTableStyle.cs: reproduce buggy MS behavior (with + comments). + + * DataGrid.cs: implement ResetForeColor such that the tests + succeed. + +2006-10-27 Chris Toshok + + * ToolBarButton.cs: setting text/tooltiptext to null results in it + being set to "". Fixes bug #79759. + +2006-10-27 Jackson Harper + + * TextControl.cs: We need to clear the entire selection area when + setting the start, otherwise multiline selections are still + visible. + +2006-10-26 Chris Toshok + + * PropertyGridView.cs: + + - ifdef all the code specific to the double + buffer case, and provide some alternatives in the non-doublebuffer + code, which makes heavy use of XplatUI.ScrollWindow to move things + around without having to invalidate (and cause flicker). There + are still some drawing problems in the non-doublebuffered case, so + DOUBLEBUFFER is defined by default. + + - Fix the way dropdowns are handled. now we explicitly watch for + the events which might cause the dropdown to close, and break out + of the nested event loop there. This gets rid of all Capture + code, at the expense of the Msg special casing. Seems to work, + though, and fixes bug #79743. + +2006-10-27 Rolf Bjarne Kvinge + * Control.cs: SetIsRecreating now recreates implicitly added + child controls as well. Finally fixes #79629. The flag passed to + SetIsRecreating has also been removed since it wasn't used. + +2006-10-26 Carlos Alberto Cortez + + * PageSetupDialog.cs: Clean some code, fix some bits, + add some checks, and add a printer sub-dialog. + +2006-10-26 Chris Toshok + + * PropertyGrid.cs: make set_SelectedObject call + set_SelectedObjects, and move the duplicate logic to the + SelectedObjects setter. Also, raise SelectedObjectsChanged. + + * PropertyGridView.cs: hide the textbox when we get a + SelectedObjectsChanged event. + + Fixes bug #79748. + +2006-10-26 Chris Toshok + + * PropertyGridView.cs: deal with the type converter not supporting + GetStandardValues() or GetStandardValues() returning null, which + is does in the default case. Fixes #79742. + +2006-10-25 Andreia Gaita + + * CheckedListBox.cs: nunit no longer crashes when selecting + Project/Edit menu option + +2006-10-25 Andreia Gaita + + * MenuAPI.cs: prevent ExecFocusedItem from blowing up if there + is no menu selected. fixes #79739 + +2006-10-25 Chris Toshok + + * PropertyGridView.cs: factor out the splitter invalidation code + into the SplitterPercent setter, and for kicks implement the + Ctrl-Left/Ctrl-Right handling that moves the splitter by a small + amount in either direction. + +2006-10-25 Chris Toshok + + * PropertyGridView.cs: do some cleanup of the brush used to draw + text - read only fields should be grayed out. not sure how to do + this with the textbox, though. but the textbox's should also be + readonly now at least. Also, hide/show the textbox when resizing + the control. + + * CursorConverter.cs: use System.Reflection when getting the + properties of Cursors, as TypeDescriptor.GetProperties isn't + returning static properties. + +2006-10-25 Chris Toshok + + * PropertyGridView.cs: factor out the up/down handling, and reuse + it for page up/down. also add End/Home support. + +2006-10-25 Chris Toshok + + * PropertyGridView.cs: + + - ensure the selected grid item is visible in the scrolled area, + fixes bug #79572. + + - fix Keys.Down handling when you're on the last item in the + propertygrid. + +2006-10-25 Mike Kestner + + * MenuAPI.cs : set the ActiveTracker for MainMenu non-popup + clicks too. Fixes #79725. + +2006-10-24 Chris Toshok + + * PropertyGrid.cs: use property.Converter instead of + TypeDescriptor.GetConverter(property.PropertyType), so we catch + TypeConverters declared on the property as well as on the + PropertyType. Fixes bug #79678. + +2006-10-24 Alexander Olk + + * MimeIcon.cs, Mime.cs: + Fallback to the default platform handler if no shared mime info + stuff exists (fixes #79693). + +2006-10-20 Andreia Gaita + * ContainerControl.cs: Incorrect contains check in ActiveControl + from previous fix (duh). + +2006-10-20 Chris Toshok + + * PropertyGridView.cs: the dropdown should be MIN(number of items + in list, 15). Fixes #79551. + +2006-10-20 Andreia Gaita + Fixes #79384, #79394, #79652, #79667 + * Application.cs: + + - Modal windows are now destroyed in the proper order for windows + + * ContainerControl.cs: + + - ActiveControl setter has more conditions on when to return: + - if we're reselecting the active control, but it actually + didn't have focus (window hidden or some such), it runs + - if the active control being selected doesn't actually + exist in the container, it returns + + * Form.cs + + - The ShowDialog now gets the current form as the owner when + invoking without parameters, and correctly activates the owner + when returning + + * MessageBox.cs + + - MessageBox now catches the Escape key to exit + +2006-10-20 Chris Toshok + + * PropertyGridView.cs: fix a number of issues (bug #78565, and + most of bug #79676): + + - you can navigate around the property grid with the arrow keys. + + - the dropdown is sized properly when the pg has a vertical + scrollbar. + + - fix the indentation for subentries, and properly select the + entire label rect. + + - fix the gray bar's drawing (only draw it to the last element, + not for the height of the control. Also make sure we draw that + last horizontal grid line. + + - use the same mechanism the datagrid uses wrt the editing textbox + when scrolling/resizing/etc. Namely, we hide it first, do the + operation, then show it again (if it's still visible). + + - aggressively remove a lot of unnecessary refreshes (and also + calls to Invalidate(). call more limited variants, and only redraw + what we need.) + + * PropertyGrid.cs: + + - when we're populating the merged collection, fill in the UI + parent with either the passed in item, or the category item we + create. + + - remove the Refresh call from the BorderHelpControl.OnSizeChanged. + + * GridItem.cs: drop some fully qualified names. + + * GridEntry.cs: add a "UIParent", which is basically the parent + treenode. + + * GridItemCollection.cs: add an IndexOf method. + +2006-10-20 Mike Kestner + + * MainMenu.cs : go back to Draw in OnMenuChanged. Until we get + a working win32 NC invalidation mechanism, we can't invalidate + menus. [Fixes #79705] + +2006-10-20 Mike Kestner + + * ListBox.cs : don't update the VScrollbar if the list is empty, + just hide it. [Fixes #79692] + +2006-10-20 Jackson Harper + + * RichTextBox.cs: Handle some special chars better, and don't skip + the entire group when we encounter a special char that we don't + handle correctly. + +2006-10-18 Chris Toshok + + * PropertyGridView.cs: address a number of issues from bug #79676, + mostly of the cosmetic variety. + + - The highlight rectangle for indented items not extends all the + way to the left. + + - Indented items aren't indented so much. + + - the dropdown is properly sized width-wise if the pg has a + vertical scrollbar. + +2006-10-18 Chris Toshok + + * XplatUIX11.cs (SystrayAdd): a rather convoluted change, but the + systray stuff is rather convoluted to begin with. + + systray icons are a single window for some reason (that I haven't + figured out yet), and for them, client_window == whole_window. + Given the way the tests are structured elsewhere to determine + which paints are pending (client vs. nc), that situation will + always yield PAINT, not NCPAINT. So, if we have a pending + nc_expose and no pending expose, remove the hwnd from the paint + queue, and also set nc_expose_pending to false, to keep us from + blocking further expose's adding the hwnd to the paint queue. + + phew. like i said, a rather convoluted change. Fixes the + notifyicon repaint issues in bug #79645. + +2006-10-18 Chris Toshok + + * Form.cs: when getting the backcolor of the form, don't get + base.BackColor, as this allows parents to influence the background + color. This breaks mdi forms. Instead, if the background_color + is empty, return the default. + +2006-10-18 Chris Toshok + + * XplatUIX11.cs: change some debug ifdefs, and return XGetParent + to being private instead of internal static. + + * Control.cs: remove all the stupid ParentWaitingOnRecreation + crap, it wasn't working for more deeply nested controls anyway, + and we already have the is_recreating flag - use that instead. + Before calling DestroyHandle in RecreateHandle, recurse through + the control tree setting it to true. this returns the recreate + code to much of its original simplicity, while now guaranteeing we + actually recreate everything we're supposed to. This change gets + fyireporting actually showing mdi children. + +2006-10-17 Chris Toshok + + * Form.cs: remove some debug spew, and collapse some duplicate + code at the end of SetClientSizeCore. + + * XplatUIX11.cs: + - add some more debug spew here too wrt Destroy handling. + - don't call hwnd.Dispose in DestroyWindow, it's effectively done + in Control's handling of WM_DESTROY. + - Remove the handling of zombie window DestroyNotifies from the + event loop - we don't need it. Now the only DestroyNotifies we + actually handle are ones generated by X. + - When sending _NET_ACTIVE_WINDOW, the first param should be 1, to + match gtk's (functioning) handling of this. This keep metacity + from leaving droppings in the form of wm borders with no window + contents all over the place. + + * Control.cs: + - add a bunch of debug spew wrt control recreation. + - fix a bug where we weren't tracking Visible properly on + recreated hwnds. + - fixed the WM_PAINT double buffer handling to support re-entrant + calls (yes, i know it's gross, but it's happening to us). + +2006-10-17 Rolf Bjarne Kvinge + * ThemeWin32Classic.cs: changed drawing of selected days + to make them look better. + +2006-10-16 Chris Toshok + + * Hwnd.cs: replace the user_data/client_dc/non_client_dc with + drawing_stack. Nuke the ClientDC/NonClientDC properties. + + * XplatUIX11.cs: move away from using hwnd.client_dc and + hwnd.non_client_dc and on to a stack of dc's (and in window's + case, PAINTSTRUCT's), so we can deal with nested Paint calls + without puking or not disposing of Graphics objects. + + * XplatUIOSX.cs: same. + + * XplatUIWin32.cs: same. + +2006-10-03 Alexander Olk + + * FileDialog.cs: Don't call on_directory_changed inside + OnSelectedIndexChanged (it changes the SelectedIndex too). + Instead move it to OnSelectionChangeCommitted. + +2006-10-13 Chris Toshok + + * XplatUIX11.cs: more Destroy work. the current code does the + following things, in order: + + 1. Enumerates all handles of all controls at or below the one + being destroyed, in pre-order. As it is doing this, it marks the + handles as zombie and clears all references to them. + + 2. calls XDestroyWindow on the window passed in. + + 3. SendMessage's WM_DESTROY to all he handles in the accumulated + list. + +2006-10-13 Chris Toshok + + * XplatUIX11.cs: set hwnd.zombie to true before calling + SendMessage (WM_DESTROY). this keeps us from marking the new + window a zombie, and also keeps us from calling sendmessage at + all. + +2006-10-13 Jackson Harper + + * TextControl.cs: Do not show the caret and selection at the same + time. Reduces ugliness by 35%. + +2006-10-13 Chris Toshok + + * XplatUIX11.cs (SendWMDestroyMessages): set the hwnd to be a + zombie after we do the recursive call, so we actually do call + SendMessage on the children controls. + (GetMessage): if we find a pending paint event for a zombie hwnd, + remove the hwnd from the paint queue, or else it will always be + there (and we'll effectively loop infinitely) + +2006-10-13 Mike Kestner + + * MenuItem.cs : add Selected format under keynav too. + Fixes #79528. + +2006-10-13 Gert Driesen + + * PropertyGrid.cs: Fixed some NRE's and small difference between our + implementation and that of MS. + +2006-10-13 Chris Toshok + + * Control.cs (OnInvalidated) only futz with the invalid_region if + the control is double buffered. this fixes the apparent hang in + the ListView unit tests. Someone needs to make the + BeginEndUpdateTest not call OnInvalidated 15004 times, though.. + +2006-10-13 Chris Toshok + + * PropertyGridView.cs: + + - do a little refactoring so that only one place calls + dropdown_form.Hide, and that is CloseDropDown. make everywhere + else call that. Also make it Refresh, since there are redraw bugs + otherwise (we should take a look at that...) + + - do a little more refactoring work to share the body of code + involved with the drop down. it was duplicated in the code + dealing with the listbox handling and in the code dealing with the + UITypeEditors. + + - add a Capture to the dropdown form's control once it's + displayed, and add a MouseDown handler that checks to make sure + the position is inside the control. If it's not, close the + dropdown. This fixes #78190. + + - in SetPropertyValueFromUITypeEditor, only call SetPropertyValue + if the value is different than the initial value. + +2006-10-13 Andreia Gaita + + * Control.cs: see #78650 + - Fixed GetNextControl for several cases: + - Changed FindFlatForward to return + correct sibling control when more than one + control has same TabIndex as the currently + focused one. + - Changed FindFlatBackward to loop children + from last to first and apply same logic as in + FindFlatForward + - Changed FindControlForward to search for + children when control is not a container + but has children, or search for siblings if + control is a container... + - Changed FindControlBackward to continue + searching for child controls when hitting + Panel-like parents + + - Fixed Focus method to update ActiveControl + (FocusTest.FocusSetsActive failure) + + * TabControl.cs: + - Focus rectangle now refreshes when gaining + or losing focus + - Removed grab for Tab key on IsInputKey that + was keeping tab navigation from working (#78650) + +2006-10-13 Chris Toshok + + * PropertyGridView.cs: + - Rewrite SetPropertyValue to loop over SelectedGridItem's + SelectedObjects. + + - Deal with GridItem.Value == null a few places. + + * PropertyGrid.cs: + - replace the PopulateGridItemCollection with a pair of methods + which compute the intersection of all the properties in the + SelectedObjects array. Fixes #79615. + + - Throw ArgumentException from set_SelectedObjects if there's a + null in the array. + + - Add GetTarget method which can be used to traverse up the + GridItem.Parent chain. It depends on the assumption that + selected_objects for different GridEntries are always in the same + order (a safe assumption). Use this method and loop over all the + selected objects in the entry when calling RemoveValueChanged and + AddValueChanged. + + * GridEntry.cs: Make this handle multiple selected objects. + .Value returns null if not all the selected objects share the same + value. + +2006-10-12 Jonathan Pobst + * ToolStrip.cs, ToolStripButton.cs, ToolStripComboBox.cs, + ToolStripControlHost.cs, ToolStripItem.cs, ToolStripLabel.cs, + ToolStripProfessionalRenderer.cs, ToolStripProgressBar.cs, + ToolStripSeparator.cs, ToolStripSplitStackLayout.cs, + ToolStripTextBox.cs: Add accessibility, fix attributes/API and + add additional functionality. + +2006-10-12 Mike Kestner + + * ErrorProvider.cs : new ToolTipWindow ctor sig. + * HelpProvider.cs : new ToolTipWindow ctor sig. + * ToolTip.cs : remove ToolTip param from Window sig since it is + not used. + * ToolBar.cs : add tooltip support. Fixes #79565. + +2006-10-12 Rolf Bjarne Kvinge + + * ComboBox.cs: move the events in set_SelectedIndex to + after the call to HighlightIndex in order to avoid + possible recursion and subsequent problems with the call + to HighlightIndex and include a range check in + set_HighlightIndex. Fixes #79588 + +2006-10-12 Rolf Bjarne Kvinge + + * MonthCalendar.cs: When FirstDayOfWeek is default set firstday + to ui thread's settings instead of sunday. + * ThemeWin32Classic.cs: Localize the day string. Fixes #79563 + +2006-10-12 Rolf Bjarne Kvinge + + * DateTimePicker.cs + * MonthCalendar.cs + * ThemeWin32Classic.cs: rewrote DateTimePicker to fix bug #78364 + and implement missing functionality (selecting different parts + of the date and edit them individually with the keyboard). + +2006-10-11 Chris Toshok + + * Control.cs (OnInvalidated): fix NRE relating to last change. + +2006-10-11 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): make sure we include the MAXIMIZED + atoms in _NET_WM_STATE here if the window is maximized. We need + to do this because we're *replacing* the existing _NET_WM_STATE + property, so those atoms will be lost otherwise, and any further + call to GetWindowState will return Normal for a window which is + actually maximized. Fixes #79338. + +2006-10-11 Jackson Harper + + * TextControl.cs: Special case for setting selection end to + selection start, we basically kill the anchor. + - some todo comments. + +2006-10-11 Chris Toshok + + * Control.cs: switch to using an "invalid_region" to track which + parts of the image buffer need updating. This is more code than + the simple fix from r66532. That version just attempted to always + fill the entire buffer on redraw, which turns out to be + inefficient when invalidating small rectangles. This version + simply adds the invalid rectangle to the invalid region. When we + get any WM_PAINT message we see if it can be filled using the + image buffer, and if it can't (if the paint event's clip rectangle + is visible in the invalid region) we first fill the image buffer. + So, the image buffer is still a cache, we just fill it lazily. + + * PaintEventArgs.cs: remove the SetClipRectangle method, we don't + need it any longer. + +2006-10-11 Chris Toshok + + * XplatUIX11.cs (SetWindowPos): we need to update both position as + well as size after calling XMoveResizeWindow. This keeps us from + ignoring future SetWindowPos calls. Fixes the disappearing + DateTimePicker in the ToolBarDockExample from bug #72499. + +2006-10-11 Chris Toshok + + * TextBoxBase.cs: reorder things a bit when it comes to + resizing-causing-recalculation. we were recalculating the + document when our position was changed, which shouldn't happen. + We only care about size changes. Clear up some more redundant + recalculation calls while I'm at it. This makes the toolbar dock + example snappy when you're just dragging toolbars around (since it + causes a relayout whenever you move one.) + +2006-10-11 Chris Toshok + + * ToolBarButton.cs (get_Rectangle): this only returns + Rectangle.Empty if Visible == false, or Parent == null. + Parent.Visible doesn't matter. + +2006-10-10 Chris Toshok + + * Control.cs, PaintEventArgs.cs: "internal set { .. }" isn't loved + by .net 1.1, so switch to an internal method instead. + +2006-10-10 Chris Toshok + + * Control.cs (WM_PAINT): when a control is double buffered we draw + initially to the ImageBuffer and then copy from there. But when a + parent control which has child controls is double buffered, the + initial drawing doesn't encompass the entire ClientRectangle of + the parent control, so we end up with uninitialized bits (this is + easily seen by dragging the top toolbar in + wf-apps/ToolBarDockExample to the right, quickly). The fix is to + manually set the ClipRectangle of the paint_event (only the one we + use to populate the ImageBuffer) to ClientRectangle. Fixes more + of the nastiness in bug #72499. + + * PaintEventArgs.cs: Add an internal setter for ClipRectangle, + which we use in Control.cs's WM_PAINT handling. + +2006-10-10 Jackson Harper + + * TextBoxBase.cs: Finish off the autoscrolling stuff. + +2006-10-10 Chris Toshok + + * Cursor.cs: Apply a slightly different patch to the one suggested + in #79609. + +2006-10-10 Jackson Harper + + * MenuItem.cs: Make sure to put the mdi child in the hashtable, + not the parent form. + * TextControl.cs: use difference in old line count vs new count to + calculate how many lines were added, this takes into account soft + line breaks properly. + +2006-10-10 Chris Toshok + + * LinkLabel.cs: don't call MeasureCharacterRanges against a + rectangle located at 0,0 and the size of the text. Use + ClientRectangle instead. This fixes rendering of non-left aligned + link labels. + +2006-10-10 Jackson Harper + + * TextBoxBase.cs: When we set the selection start position the + caret. + * TextControl.cs: Need to update the caret when we decrement it to + zero. + - Make sure that the selection_visible flag gets reset to false if + the selection isn't visible. Before this you could get it set to + visible by changing the selection start, then changing the end to + equal the start. + +2006-10-09 Jackson Harper + + * TreeView.cs: Don't update scrollbars when we aren't visible. + * TreeNodeCollection.cs: Only need to update scrollbars if being + added to an expanded visible node or the root node. + +2006-10-09 Chris Toshok + + * XplatUIX11.cs (SendMessage): fix NRE. + +2006-10-09 Jackson Harper + + * TextBoxBase.cs: Implement horizontal autoscrolling. + * TextControl.cs: Add a movement types that allows moving forward + and backwards without wrapping. + +2006-10-09 Mike Kestner + + * ListViewItem.cs : layout changes for wrapped LargeIcon labels + with focus "expansion" of labels. Fixes #79532 and then some. + * ThemeWin32Classic.cs : add LineLimit to ListView label format + when wrapping. + +2006-10-09 Jackson Harper + + * TextBoxBase.cs: Set the default max values to MaxValue since + we use the scrollbar for autoscrolling and the default value is + 100. If we don't do this the caret won't keep up with typing + after about 18 characters. + * TextControl.cs: Make sure the selection is offset by the + viewport x. This fixes selection when using auto scrolling. + +2006-10-07 Andreia Gaita + + * Form.cs: The active control should be selected after the + OnLoad so that any child control initialization that affects + the selection is done. Fixes #79406 + +2006-10-06 Chris Toshok + + * XplatUIX11.cs: This is perhaps a dangerous change, but it seems + to have no evil effects. + + - Stop selecting StructureNotifyMask on non-toplevel windows. + + The only way children should be resized is by using the SWF api, + and we already send WM_WINDOWPOSCHANGED messages in those cases. + Toplevel windows can be interacted with via the window manager, + and so we keep the input mask there. + + The other event StructureNotifyMask gives us (that we care + about) is DestroyNotify. The code is already structured such + that it assumes we won't be getting a DestroyNotify event for + the window we pass to XDestroyWindow (which is what + StructureNotifyMask is supposed to guarantee.) So, that code + shouldn't be affected by this either. + + - Stop selecting VisibilityChangeMask altogether. + + We weren't doing anything with the resulting events anyway. + + This vastly reduces the number of X requests and events we see + when resizing/laying out a large ui. + +2006-10-06 Chris Toshok + + * ScrollableControl.cs (DisplayRectangle): we need to take into + account the DockPadding regardless of whether or not auto_scroll + == true. rework this slightly to this effect, and fix bug #79606, + and part of #72499 (you can now see the drag handles and drag + toolbars around). + +2006-10-06 Gert Driesen + + * ListViewItem.cs: Collections of selected and checked items are now + dynamically rebuilt. Whenever an item is (un)checked or (de)selected + we mark the collection "dirty". + * ListView.cs: Marked collections readonly. Modified UpdateSelection + to only clear SelectedItems when a new item is selected and MultiSelect + is enabled. CheckedItems and SelectedItems now subscribe to Changed + event of ListViewItemCollection, and mark its list dirty whenever + that event is fire. This allows us to return selected/checked items + in the same order as they are in the Items collection. This matches + the MS behavior. + +2006-10-06 Chris Toshok + + * NotifyIcon.cs (HandleMouseUp): only show the context menu on + right mouse clicks. Fixes bug #79593. + +2006-10-06 Chris Toshok + + * Splitter.cs: doh, fix splitters that don't want to cancel the + movement when you drag them. Also, impose the limits on the + values we send to the SplitterMovingEvent. Fixes #79598. + +2006-10-06 Jackson Harper + + * TextBoxBase.cs: Ignore whether or not the scrollbar is enabled, + since we use this for auto scrolling also. + +2006-10-05 Chris Toshok + + * DataGridBoolColumn.cs: Nuke the code from ConcedeFocus. I'm + beginning to think that most datagrid column types don't need this + method. Fixes bug #79392. + +2006-10-05 Chris Toshok + + * DataGrid.cs: move back to a more lazy scheme for creating the + CurrencyManager, so we aren't updating it every time you set + either DataSource or DataMember. Also, don't call + RecreateDataGridRows if the currency manager hasn't changed. + +2006-10-05 Chris Toshok + + * ComboBox.cs: by the time the OnSelectionChangeCommitted event is + emitted, SelectedIndex should already be updated. Fixes bug + #78929. + +2006-10-05 Jonathan Pobst + + * ToolStripComboBox.cs, ToolStripControlHost.cs, ToolStripProgressBar, + ToolStripTextBox.cs: Initial commit. + * ToolStripItem.cs: Fixes for OnLayout, BackColor, Parent. + +2006-10-05 Jackson Harper + + * TabControl.cs: We need to invalidate the tab control area when + new ones are added (duh). + +2006-10-03 Chris Toshok + + * Form.cs (ProcessDialogKey): if the focused control is in this + form and is a button, call its PerformClick method here. Fixes + #79534. + +2006-10-04 Jackson Harper + + * TabPage.cs: Ignore setting of Visible, and add an internal + method for setting the controls visibility. TabPage's Visible + property is a little strange on MS, this seems to make us + compatible, and fixes cases where people set all the tab pages to + visible. + * TabControl.cs: Use the new internal setting on tab pages + visibility. + +2006-10-03 Mike Kestner + + * ComboBox.cs : raise Click on ComboTextBox clicks. Fixes #79555. + +2006-10-03 Mike Kestner + + * ListView.cs : use is_visible instead of Visible to check if + scrollbars should be placed/sized. Also some max_wrap_width + love for LargeIcon view. [Fixes #79533] + +2006-10-03 Atsushi Enomoto + + * TextControl.cs : + Make set_TextAlign() do actually update the align. Fixed #78403. + +2006-10-03 Chris Toshok + + * DataGrid.cs: fix a crash when switching datasources if the + vertical scrollbar is at someplace other than Value = 0. Also, + reduce the number of recalculation passes we do in SetDataSource + from 2 to 1. + +2006-10-03 Jackson Harper + + * TextBoxBase.cs: Move the if value the same bail check up, we + don't want to empty the document if it is already empty, this + seems to severly mess up the caret. TODO: I should probably fix + the empty statement to update teh caret somehow. + +2006-10-03 Chris Toshok + + * ThemeWin32Classic.cs, DataGrid.cs: some changes so that the + incredibly hacky Windows.Forms FAQ autosize rows entry (it uses + reflection, an internal row type, properties on said type, etc.) + will work with our datagrid. Fixes #79531. + +2006-10-03 Alexander Olk + + * FileDialog.cs: Don't crash if a path is not accessible + (System.UnauthorizedAccessException). Fixes #79569. + * MimeIcon.cs: Workaround for a Uri bug. Unix paths/files can have + a ':' too. Return unknown icon for those paths/files. + +2006-10-03 Sebastien Pouliot + + * ToolTip.cs: Fix rare, but possible, NRE on MouseEnter when + GetContainerControl returns null. + +2006-10-02 Chris Toshok + + * XplatUIX11.cs (GetWindowState): use hwnd.client_window in the + call to XGetWindowAttributes instead of "handle". fixes an X + error using notifyicon after the NotifyIconWindow to Form base + class switch. + +2006-10-02 Chris Toshok + + * XplatUIX11.cs (QueryPointer): new function, encapsulating the + server grab and looping we need to do to get down to the most + deeply nested child window. + (SetCursorPos): use QueryPointer instead of GetCursorPos, and call + QueryPointer again after the WarpPointer so we can generate a + proper (fake) MotionNotify event to be enqueued in the destination + window's queue. + (GetCursorPos): call QueryPointer. + + Fixes #79556. + +2006-10-02 Jackson Harper + + * NotifyIcon.cs: Derive the notify icon from a form, so things + like FindForm work on it. + - Swallow the WM_CONTEXTMENU message, since that is generated on + mouse down, and context menu is a mouse up kinda guy. I believe + the correct fix here is probably to make the notify icon entirely + NC area, but this seems to work fine for anyone not manipulating + WndProc. + +2006-10-02 Jonathan Pobst + + * ToolStrip.cs, ToolStripButton.cs, ToolStripItem.cs, + ToolStripItemCollection.cs, ToolStripLabel.cs, + ToolStripProfessionalRenderer.cs, ToolStripRenderer.cs, + ToolStripSeparator.cs, ToolStripSplitStackLayout.cs: + Initial implementation. + * TextRenderer.cs: Provide padding to MeasureText. + +2006-10-02 Sebastien Pouliot + + * ButtonBase.cs: Fix CreateAccessibilityInstance to return an instance + of ButtonBaseAccessibleObject. Fix bug #79552. + +2006-10-02 Jackson Harper + + * MdiWindowManager.cs: When maximizing use the containers client + rect, not it's bounds, so nc area is accounted correctly. + - Use the parent form's size for the menu position, since the + client isn't always the full form size. + +2006-10-01 Chris Toshok + + * ScrollableControl.cs: make sure neither right_edge or + bottom_edge are < 0, since they're used as LargeChange for the + horiz/vert scrollbars respectively. Fixes #79539. + +2006-10-01 Chris Toshok + + * NotifyIcon.cs: add NotifyIconWindow.InternalRecreateHandle, so + the xplatuix11 code can cause us to destroy/recreate our handle. + + * XplatUIX11.cs + (SystrayAdd): + - this code can be invoked many times for the same Hwnd. Make + sure we only destroy the client window once (the first time this + method is called). This fixes bug #79544. + - Remove the call to the improperly bound XSync. why we had two + bindings to this, I will never know, but this call resulted in + events being discarded from the queue(!). + - correct a misunderstanding of _XEMBED_INFO - the second atom is + not our current state but the state we wish to be in. So, 0 if + we don't want to be mapped. Change it to 1. + (SystrayRemove): The XEMBED spec makes mention of the fact that + gtk doesn't support the reparent of client windows away from the + embedder. Looking at gtksocket-x11.c seems to agree with this. + The only avenue we have for removing systray icons is to destroy + them. We don't want the handle to go away for good, though, so + call InternalRecreateHandle on the NotifyIconWindow. Fixes + #79545. + +2006-10-01 Chris Toshok + + * Form.cs (WndProc): inline the native_enabled variable usage into + the cases in which it's used. Fixes #79536. + +2006-09-29 Mike Kestner + + * ListView.cs : toggle the selection state for ctrl clicks in + multiselect mode. [Fixes #79417] + +2006-09-29 Mike Kestner + + * ListView.cs : kill CanMultiSelect and refactor the selection + code to support multiselection in the absence of mod keys. Steal + arrow/home/end keys by overriding InternalPreProcessMessage to + restore regressed keynav behavior. + [Fixes #79416] + +2006-09-29 Jackson Harper + + * MdiClient.cs: Repaint the titlebars when the active window is + changed. + +2006-09-29 Chris Toshok + + * Application.cs: when entering a runloop with a modal, make sure + the hwnd is enabled. Fixes #79480. + +2006-09-29 Chris Toshok + + * DataGrid.cs (CurrentCell): if we try to navigate to the add row + when ListManager.CanAddRows == false, bump us back one. + + * DataGridColumnStyle.cs (ParentReadOnly): remove the + listmanager.CanAddRows check. This makes ArrayLists uneditable + using a datagrid, which is not right. + (SetColumnValueAtRow): call IEditable.BeginEdit if source[rowNum] + is an IEditable, but call property_descriptor.SetValue regardless. + fixes #79435. + +2006-09-29 Chris Toshok + + * DataGridBoolColumn.cs: we need to test equality in the face of + possible null values (as is the case with the default NullValue). + This patch keeps us from crashing in that case. + +2006-09-29 Jackson Harper + + * TreeNodeCollection.cs: Don't do a recalculate/updatescrollbars + here, since it will get called for every node collection in the + tree. This is now done in the treeview once the sorting is + finished. + * TreeView.cs: Recalculate the visible order, and update the + scrollbars after sorting, set the top nope to the root so that the + recalc actually works. + +2006-09-29 Chris Toshok + + * LinkLabel.cs: more handling of the default link collection in + the face of LinkArea manipulation. The default link collection + contains 1 element (start=0,length=-1). If the user sets LinkArea + to anything and the links collection is the default, clear it. + Then only add the link if its nonempty. Fixes #79518. + +2006-09-29 Chris Toshok + + * LinkLabel.cs (CreatePiecesFromText): calculate the length of a + piece correctly when we hit a '\n'. Fixes #79517. + +2006-09-29 Chris Toshok + + * MimeIcon.cs, ThemeGtk.cs, X11DesktopColors.cs, XplatUIX11GTK.cs: + change the binding of gdk_init_check to take two IntPtr's, and + pass IntPtr.Zero for both of them. Fixes #79520. + +2006-09-29 Mike Kestner + + * ComboBox.cs : raise TextChanged on ComboTextBox.TextChanged. + [Fixes #78779] + +2006-09-28 Jackson Harper + + * XplatUIX11.cs: When translating NC messages make sure we go from + whole window to screen, not client window to screen. + * MdiClient.cs: Remove the calls to PaintWindowDecorations, this + method doesn't exist + - Skip over controls that aren't forms when arranging. + +2006-09-28 Jackson Harper + + * XplatUIWin32.cs: Clip the rect to the parent window. + * XplatUIStructs.cs: Add clipping modes struct. + * InternalWindowManager.cs: New private method that factors title + bar heights in when calculating the pos of an NC mouse message. + - Use SendMessage to force a paint when the form's size is changed + instead of painting the decorations immediately. + - Don't let the NC button click messages get to DefWndProc, + because they will attempt to handle windowing themself, and this + messes up z-order (it will put them in front of the scrollbars). + * XplatUIX11.cs: Make sure that we don't reset window managers if + we already have one (ie the window is an MDI window). + +2006-09-28 Chris Toshok + + * MainMenu.cs: fix #79405 by way of a disgusting hack. all the + menu code really needs going over. + +2006-09-27 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): more metacity wonderment. turns + out metacity ignores the MAXIMIZE_HORZ/VERT messages unless the + window is maximizable. So, we need to make sure that even if we + clear the border/wm frame of those functions, they're still + available (basically, we remove the decoration without removing + the function). Half the fix for #79338. + +2006-09-27 Chris Toshok + + * DataGrid.cs (ProcessGridKey): implement Shift-Tab handling. + Fixes bug #79515. + +2006-09-27 Chris Toshok + + * Splitter.cs: reorder things a bit so that we don't actually + draw/move the splitter until after calling OnSplitterMoving. This + lets users cancel/disallow the movement by explicitly setting + event.SplitX/SplitY. Fixes #79372. + +2006-09-27 Jackson Harper + + * XplatUIX11.cs: Don't hide the caret when it is being destroyed, + because it is most likely on a window being destroyed, and that + will give us an X11 error. + +2006-09-27 Chris Toshok + + * PropertyGridView.cs: half of the fix for #78190. Clicking on + the dropdown button now toggles between showing and hiding the + dropdown. Also, get rid of dropdown_form_showing and just use + dropdown_form.Visible. We still don't do a grab, but I'll leave + that part to someone who has handled Capture-fu before. + +2006-09-27 Chris Toshok + + * DataGrid.cs: return false if alt isn't pressed when '0' is + pressed. this keeps the '0' key from being swallowed, and fixes + bug #79350. + +2006-09-27 Chris Toshok + + * ComboBox.cs: use Invalidate when scrolling the dropdown list. + Calling Refresh (in response to a scrollbar event) screws up the + scrollbar painting. Fixes bug #78923. + +2006-09-27 Chris Toshok + + * Theme.cs (SystemResPool): make the "if hashtable[key] == null + then insert into hashtable" blocks threadsafe. + +2006-09-27 Chris Toshok + + * MessageBox.cs (CreateParams): the styles should be |'ed with our + baseclass's, since otherwise the + ControlBox/MinimizeBox/MaximizeBox assignments above have no + effect. This gets the close button back in messageboxes. + +2006-09-27 Chris Toshok + + * XplatUIX11.cs: make StyleSet and ExStyleSet check == with the + flag, not just != 0. this makes flags that are actually multiple + bits (like WS_CAPTION) work. fixes bug #79508. + +2006-09-27 Jordi Mas i Hernandez + + * PageSetupDialog.cs: add support for getting and settings the + paper size, source and orientation. + +2006-09-26 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): turns out when SYSMENU is not set + and caption == "", we need to remove the resize handles as well as + the title bar. + + * Control.cs (set_Text): turns out that setting Text on a form + should change the WM styles on the window, since if ControlBox == + false, the only way to get a window border is to have a non-"" + Text property. check winforms/forms/text.cs for an example. so, + call both XplatUI.SetWindowStyle and XplatUI.Text here to properly + update both window styles and title. This fixes a lot of dialogs + (including the preferences dialog in MonoCalendar.) + +2006-09-26 Chris Toshok + + * XplatUIWin32.cs (SetParent): if parent == IntPtr.Zero (and the + control isn't a Form), call Win32ShowWindow to hide the window, + but don't update the control Visible property. When we reparent + back to a parent control, call SetVisible in order for the + window's visibility to be reinstated. + + * XplatUIX11.cs (SetParent): if hwnd.parent == null, reparent to + the FosterParent. + + * Control.cs (ControlCollection.Remove): remove that value.Hide() + call for good, since it breaks MonoCalendar (and other things I'm + sure.) Also, set all_controls to null *after* the owner calls, + which end up regenerating it. + (ChangeParent): allow new_parent to be == null, passing + IntPtr.Zero down to XplatUI. + + this fixes #79294 the right way. + +2006-09-26 Mike Kestner + + * GridEntry.cs : internal SetParent method. + * PropertyGrid.cs : attach to property changed on the proper + target if we have a hierarchical grid with subobjects. Setup + GridItem.Parent for hierarchical items. + * PropertyGridView.cs : Set value on the correct target for + hierarchical grids. [Fixes #78903] + +2006-09-26 Chris Toshok + + * Control.cs (ChildNeedsRecreating): this should return true if + either we're being recreated and the child is in our list, or our + parent is waiting for our recreation. + +2006-09-26 Chris Toshok + + * Control.cs (ControlCollection.Remove): reinstate the + value.Hide() call as suggested in bug #79294. + +2006-09-26 Sebastien Pouliot + + * XplatUIX11.cs: Fixed SetCursorPos to move the cursor to screen + coordinates (versus a relative move). + +2006-09-26 Chris Toshok + + * Control.cs: rework child recreation a little bit. It turns out + that we race between the DestroyNotify the WM_DESTROY message. If + the parent gets its DestroyNotify before the child gets the + WM_DESTROY message, the child ends up not recreating (since the + parent finishes its recreation on DestroyNotify, and the child + checks ParentIsRecreating.) + + So, instead we store off a list of all the child controls which + need to be recreated when the parent control starts to recreate + itself. Then, when child controls get their WM_DESTROY message we + check to see if they're in the parent's pending recreation list, + and if so, we recreate. This removes all dependency on ordering + from the code and fixes the initial MonoCalendar upgrade dialog. + +2006-09-26 Jackson Harper + + * TextControl.cs: Use the Line to get the length of the line, + since soft line breaks can change the end line. + +2006-09-26 Chris Toshok + + * Control.cs (ControlCollection.AddImplicit): don't add the + control again if it's already in one of our lists. This keeps us + from adding controls over and over again for comboboxes when their + handle gets recreated (as the combobox adds implicit controls in + OnHandleCreated). Fixes the X11 errors in bug #79480. + +2006-09-26 Jackson Harper + + * TextControl.cs: When deleting characters make sure that any + orphaned zero lengthed tags get deleted. + - Fix ToString for zero lengthed tags. + +2006-09-25 Jackson Harper + + * TextControl.cs: When getting a tag at the location there can be + multiple tags at the same spot, these are 0-lengthed tags that + appear when extra formatting has been stuck in a location. We + need to pull out the last of these 0 lengthed tags. + +2006-09-25 Jackson Harper + + * TextControl.cs: Fix print out in debug method. + * TextBoxBase.cs: When text is set bail if we are setting to the + previous value. + +2006-09-24 Alexander Olk + + * FontDialog.cs: Fixed the up/down arrow keys issue from bug #79478. + It is now possible to change the selected index in a FontXXXListBox + with the up and down arrow keys from the FontXXXTextBoxes. + Also, send the FontXXXTextBox mouse wheel event to the corresponding + FontXXXListBoxes to match ms. + +2006-09-22 Sebastien Pouliot + + * SystemInformation.cs: Return a clone of the theme's MenuFont because + anyone can dispose it, anytime. All other properties returns enums, + structs or basic types so they don't need such tricks. + +2006-09-22 Jackson Harper + + * XplatUI.cs: + * XplatUIWin32.cs: + * Clipboard.cs: + * DataFormats.cs: + * XplatUIOSX.cs: + * XplatUIDriver.cs: Update interface to add a primary selection + flag, so the driver can use the primary selection buffer if + needed. + * XplatUIX11.cs: Allow the clipboard to retrieve from PRIMARY. + + * RichTextBox.cs: We need to supply the data object to paste now + (so we can choose to supply CLIPBOARD or PRIMARY). + * TextBoxBase.cs: Supply data object to paste (see above). + - Middle click uses the primary selection data object. + +2006-09-21 Chris Toshok + + * XplatUIX11.cs: first little cleanup of the StyleSet (...) block + of SetWMStyles. It's still a rat's nest and is largely + order-dependent which I dislike immensely. This also fixes the X + button disappearing from toplevel forms. + +2006-09-21 Mike Kestner + + * ListBox.cs: move Jordi's click/dblclick raising code to the + mouse up handler. + +2006-09-21 Jordi Mas i Hernandez + + * ListBox.cs: Fixes 79450 + +2006-09-21 Mike Kestner + + * TreeView.cs: guard against disposed conditions in UpdateScrollbars + to deal with people updating the TreeNodeCollection after the tree + is disposed. "Fixes" 79330. + +2006-09-20 Jackson Harper + + * TextControl.cs: Push the cursor record onto the undo stack + before the delete action. This fixes 78651. + +2006-09-20 Jonathan Chambers + + * PropertyGridView.cs: Remove WindowStyles.WS_VISIBLE from + CreateParams. Fixes 79329. + +2006-09-19 Chris Toshok + + * XplatUIX11.cs: a couple of blanket code massage passes to clean + things up a bit. First, get rid of the NetAtoms array (and the NA + enum), and just embed the atoms as static fields. Also, add a + couple of functions (StyleSet and ExStyleSet) to clean up all the + bitmask testing of styles. + + * X11Structs.cs: remove the NA enum, not needed anymore. + +2006-09-19 Chris Toshok + + * XplatUIX11.cs: apply Alexander's tool window fix for bug #79245 + (mapping them to _NET_WM_WINDOW_TYPE_UTILITY). and add a little + added cleanup to get MessageBox titles appearing again, which were + broken by my earlier fix for caption-less/ControlBox-less windows. + +2006-09-18 Jonathan Pobst + + * ToolStripArrowRenderEventArgs.cs, ToolStripArrowRenderEventHandler.cs, + ToolStripContentPanelRenderEventArgs.cs, ToolStripContentPanelRenderEventHandler.cs, + ToolStripGripRenderEventArgs.cs, ToolStripGripRenderEventHandler.cs, + ToolStripItemClickedEventArgs.cs, ToolStripItemClickedEventHandler.cs, + ToolStripItemEventArgs.cs, ToolStripItemEventHandler.cs, + ToolStripItemImageRenderEventArgs.cs, ToolStripItemImageRenderEventHandler.cs, + ToolStripItemRenderEventArgs.cs, ToolStripItemRenderEventHandler.cs, + ToolStripItemTextRenderEventArgs.cs, ToolStripItemTextRenderEventHandler.cs, + ToolStripPanelRenderEventArgs.cs, ToolStripPanelRenderEventHandler.cs, + ToolStripRenderEventArgs.cs, ToolStripRenderEventHandler.cs, + ToolStripSeparatorRenderEventArgs.cs, ToolStripSeparatorRenderEventHandler.cs: + Inital import. + * ToolStripPanel.cs, ToolStripContentPanel.cs, ToolStripSeparator.cs, + ToolStripButton.cs: Stubs needed for above. + * ToolStrip.cs, ToolStripItem.cs: Stub a few variables/properties for above. + +2006-09-15 Chris Toshok + + * XplatUIX11.cs: + - make the MessageQueues hashtable Synchronized. + + - SendMessage: if the Hwnd is owned by a different thread, use the + AsyncMethod stuff to dispatch the SendMessage on the hwnd's + thread. Fixes bug #79201. + +2006-09-15 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): rework the #79368 fix slightly. If + ControlBox == false, we disallow maximize/minimize/close. If the + form Caption is "" we also disallow move (and get rid of the Title + decoration). Unfortunately, regardless of how things are set, + we're stuck with the Title and WM menu. + +2006-09-15 Chris Toshok + + * Application.cs: add locking around the static message_filters + ArrayList, part of #79196. + +2006-09-15 Chris Toshok + + * XplatUIX11.cs (SetWMStyles): if Form.Text == "" and + Form.ControlBox == false, the window has no titlebar nor resize + handles. fixes bug #79368. + +2006-09-15 Chris Toshok + + * TextBoxBase.cs: in CalculateScrollBars make sure LargeChange is + >= 0. Fixes bug #79370. + +2006-09-15 Jonathan Pobst + * FlowLayoutPanel.cs, FlowLayoutSettings.cs: Initial commit. + * Control.cs: + Add properties: LayoutEngine, Margin, DefaultMargin. + Add method: GetPreferredSize. + Move layout logic from PerformLayout to layout engines. + +2006-09-13 Chris Toshok + + * XplatUIX11.cs: more destroy work. Jackson pointed out that my + fix for #79326 broke #78718, so this change addresses that. + + - in SendWMDestroyMessages remove the call to + CleanupCachedWindows, since we might be recreating the control and + need to maintain the references to right Hwnd handles. Also, set + the zombie flag to true for each of the children in the hierarchy + instead of calling hwnd.Dispose. This will cause GetMessage to + ignore all events for the window except for DestroyNotify. + + - In GetMessage, ignore messages except for DestroyNotify for + zombie hwnds. + + * Control.cs: revert the is_recreating fix from the last + ChangeLog. It's definitely "right", but it breaks switching from + an MDI form to a non-MDI form. Will need to revisit that. + + * Hwnd.cs: add a zombie flag, which means "the + client_window/whole_window handles are invalid, but we're waiting + for the DestroyNotify event to come in for them". Set the flag to + false explicitly if setting WholeWindow/ClientWindow, and also + when Disposing. + +2006-09-13 Chris Toshok + + * XplatUIX11.cs: rework window destruction slightly. + + - when destroying the windows associated with a control, we don't + need 2 separate XDestroyWindow calls. Just the one for the + whole_window (or for client_window if whole_window is somehow + IntPtr.Zero -- can this happen?) is enough. + + - reworked SendWMDestroyMessages slightly, so we always dispose + the child control hwnd's after sending the messages. + + - refactored out the ActiveWindow/FocusWindow/Caret clearing from + the two places it was used (one was even using hwnd.Handle and the + other hwnd.client_window. ugh), adding another call in + SendWMDestroyMessages. We need this new call because now the + DestroyNotify events in the queue will be ignored for the child + controls (as their hwnd's were disposed, and the window id's + removed from the hashtable in SendWMDestroyMessages.) fun, eh? + + - this fixes bug #79326. + +2006-09-13 Chris Toshok + + * Control.cs: don't always set is_recreating to false at the end + of RecreateHandle, since sometimes we're not done (and won't be + until WndProc handles the WM_DESTROY message). Also, set + is_recreating to false in the WM_DESTROY handling code. Part of + the fix for bug #79326. + +2006-09-13 Miguel de Icaza + + * X11DesktopColors.cs: Start the droppage of debugging messages. + + * FileDialog.cs: Store the configuration file in ~/.mono/mwf_config + +2006-09-13 Jonathan Pobst + + * SplitContainer.cs, SplitterPanel.cs: Initial implementation [2.0]. + +2006-09-12 Chris Toshok + + * DataGrid.cs (get_ListManager): if the list_manager is null, try + to create it using SetDataSource. Fixes bug #79151. + +2006-09-11 Chris Toshok + + * XEventQueue.cs: add a DispatchIdle property. + + * XplatUIX11.cs (UpdateMessageQueue): only emit the Idle event if + either the queue is null, or the queue has DispatchIdle set to + true. + (DoEvents): set queue.DispatchIdle to false around the + peek/translate/dispatch message loop in this method. This keeps + Application.Doevents from emitting idle events. Part of the fix + for #78823. + +2006-09-11 Chris Toshok + + * DataGrid.cs (set_DataSource): make this work for both the + winforms/datagrid test and ReportBuilder. It seems as though when + we've created a ListManager (or maybe it's if we have a + BindingContext?), when we set the DataSource it clears the + DataMember to "". otherwise we reuse the datamember. Fixes bug + #79333. + +2006-09-11 Chris Toshok + + * XplatUIX11.cs: deal with queue being null, which happens in all + the Clipboard functions. Fixes one of the two problems mentioned + in #78612. + +2006-09-11 Chris Toshok + + * MenuAPI.cs: rework OnMouseUp a bit so that releasing the mouse + button on various spots (including outside the menu) works closer + to MS, and doesn't crash. Fixes #79343. + +2006-09-11 Gert Driesen + + * ListView.cs: Do not initialize item_sorter in init. To match MS, + return null for ListViewItemSorter if View is SmallIcon or LargeIcon + and the internal comparer is set. When a new ListViewItemSorter is set, + sort the items. Use Enum.IsDefined to verify whether a valid SortOrder + was specified. No further processing is necessary if SortOrder is set + to it's current value. If Sorting is modified to None, and View is + neither SmallIcon nor LargeIcon then: on 2.0 profile set item_sorter + (either custom or our internal ItemComparer) to null, on 1.0 profile + only set item_sorter to null if its our internal IComparer. If Sorting + is modified to Ascending or Descending, then use our internal IComparer + if none is set, and if the current IComparer is our internal one then: + on 2.0 profile always replace it with one for new Sorting, and on 1.0 + profile only use new Sorting if view is not SmallIcon or LargeIcon. Use + Enum.IsDefined to verify whether a valid View value is specified in + its setter. Automatically sort listview items when listview is + created. In Sort, do nothing if ListView is not yet created, or if + no item_sorter is set (no Sorting was set, Sorting was explicitly set + to None or ListViewItemSorter was set to null). Added Sort overload + taking a bool to indicate whether the ListView should be redrawn when + items are sorted (we use this in ListViewItemCollection to avoid double + redraws). Modified our internal IComparer to take the sort order into + account. In Add and AddRange methods of ListViewItemCollection, also + call Sort if Sorting is None (necessary for SmallIcon and LargeIcon + view), but use overload with noredraw option to avoid double redraw. + On 2.0 profile, throw NotSupportedException when setting CheckBoxes to + true when View is Tile, and do the same when attempting to set View to + Tile when CheckBoxes is true. Avoid maintaining separate ArrayLists + for selected/checked indices, as it involves overhead when sorting is + done while these collections are not used all that often. Instead + we'll build the indices on demand. Modified IList implementation of + CheckedIndexCollection to use public methods if object is int. + Modified CheckedListViewItemCollection to hide checked items if + ListView.CheckBoxes is false. Removed LAMESPEC remark in + ListViewItemCollection as the .NET SDK docs have been fixed. Modified + IList implementation in SelectedIndexCollection to use public methods + if object is int. Modified SelectedListViewItemCollection to hide + selected items if listview is not yet created. + * ListViewItem.cs: CheckedIndices list no longer needs to be + maintained separately (see ListView changes). Also clone font, fixes + test failure. + +2006-09-11 Mike Kestner + + * ComboBox.cs: if we are updating the contents of the currently + selected index, refresh the control or the textbox selection. + [Fixes #79066] + +2006-09-11 Mike Kestner + + * ComboBox.cs (UpdateBounds): use SetBounds not SetBoundsCore since + the 'specified' logic has been moved there. This seems like a bug + in Control.cs, since our current SetBoundsCore completely ignores + the specified parameter. Peter's commit seems to indicate that is + the way the MS control implementation works. [Fixes #79325] + +2006-09-10 Jonathan Chambers + + * XplatUI.cs: Set default_class_name to be composed + of current domain id. This allows MWF to be loaded in multiple + domains on Win32. + +2006-09-09 Miguel de Icaza + + * X11Keyboard.cs: If we are unable to obtain the input method, do + not call CreateXic to create the input context. Should fix + #78944/79276. + +2006-09-08 Alexander Olk + + * MimeIcon.cs: Rewrote major parts. Dropped KDE support for now. + Simplified gnome support by adding more pinvokes to get the + icon for a file or mime type. + +2006-09-08 Jackson Harper + + * MenuAPI.cs: Deslect popup context menu items before closing the + window, so that you don't see the previously selected item + selected when you reopen the menu. + * TextControl.cs: Update the cursor position even if we don't have + focus. This fixes typing in things like the ComboBox. I'm not + totally sure we should always set the visibility if we don't have + focus, but couldn't find any corner cases where the cursor showed + up when it shouldn't. + +2006-09-08 Chris Toshok + + * X11Keyboard.cs: In UpdateKeyState vkey can be any integer, but + our arrays are length 256. & 0xff before indexing. Fixes the + crash in bug #78077. + +2006-09-08 Carlos Alberto Cortez + + * ThemeWin32Classic.cs: + * DateTimePicker.cs: Draw check box if DateTimePicker.ShowCheckBox + is true. Handle that check box too. + +2006-09-07 Chris Toshok + + * MenuAPI.cs: move the PerformClick call to OnMouseUp. Fixes bug + 79244. + +2006-09-07 Chris Toshok + + * Control.cs: in set_BackColor only do the work if + background_color != value. + + * XplatUIX11.cs: move the clearing of invalid areas (both client + and nc) to the same block of code where we set (nc_)expose_pending + to false. That is, move it from PaintEventEnd to PaintEventStart, + so things that cause invalidates from within OnPaint will trigger + another call to OnPaint. Fixes bug #79262. + +2006-09-07 Alexander Olk + + * Theme.cs: Use correct icon for UIIcon.PlacesPersonal + * FileDialog.cs: Fix typo + +2006-09-07 Jackson Harper + + * ThemeWin32Classic.cs: oops, forgot to commit. Draw the images + for tab pages if they have any. + +2006-09-06 Mike Kestner + + * Splitter.cs: use the "current" rect when finishing drag handle + to avoid an artifact demonstrated by resedit.exe. [Fixes #79251] + +2006-09-06 Mike Kestner + + * Splitter.cs: draw the drag handle at X or Y instead of 0 to deal + support offset splitters. [Fixes #79298] + +2006-09-06 Alexander Olk + + * Mime.cs: Fixed a bug that could override the global mime type + result. + +2006-09-05 Jackson Harper + + * TabControl.cs: Better calculation method for setting the slider + pos. Prevents crashes on really wide tabs. + - Draw Image on tab pages if an image list is used. + +2006-09-02 Carlos Alberto Cortez + + * MonthCalendar.cs: When Font changes, the Size should be + updated to fit the new font's space requirements. + +2006-09-02 Alexander Olk + + * ListBox.cs: If the items are cleared with Items.Clear set + top_index to 0. + +2006-09-01 Carlos Alberto Cortez + + * MonthCalendar.cs: Handle arrow keys as input keys. Also + fire DateChanged event instead of DateSelected event when + the date was changed by keyboard interaction. + +2006-09-01 Carlos Alberto Cortez + + * DateTimePicker.cs: Handle DateChanged for the associated + month_calendar control, and set month_calendar.Font from + OnFontChanged method, as well as resize the height of the + control when needed. Make PreferredHeight proportional. + +2006-09-01 Chris Toshok + + * DataGrid.cs: grr, stop overthinking the DataMember/DataSource + properties. + + * BindingContext.cs (HashKey.GetHashCode): use ^ instead of +. + +2006-09-01 Peter Dennis Bartok + + * FileDialog.cs: Set ClientSize instead of window size, to allow space + for decorations (Fixes #79219) + +2006-09-01 Mike Kestner + + * ComboBox.cs: first stab at sorting plus some selection handling + fixes to bring us more in line with MS behavior. Also switches back + to index based selection. Alternative patches for index-based + selection were provided by Jackson Harper, Carlos Alberto Cortez, + and latency@gmx.de on bug 78848. I assume they were similar to this + code I've had simmering in my tree forever. + [Fixes #78848] + +2006-09-01 Chris Toshok + + * CurrencyManager.cs (ListChangedHandler): in the ItemAdded case, + when setting list position guard against ending up with a -1 index + (the other part of the fix for #78812). Should probably make sure + we don't need the analogous fix in the ItemDeleted case. + + * DataGrid.cs: + - in SetDataSource, work around the fact that the way + OnBindingContextChanged is invoked will cause us to re-enter this + method. I'll remove the hack once I investigate + OnBindingContextChanged. + + - fix the logic in set_DataSource and set_DataMember (basically + what to do if the other of the two is null.) + + - in OnListManagerItemChanged, we need to take into account the + edit row when deciding whether or not to call RecreateDataGridRows + (part of the fix for #78812). + +2006-09-01 Jackson Harper + + * Splitter.cs: Don't do anything if there is no control to affect + (prevents us from crashing in weird tet cases). + * TreeView.cs: Bounding box for the mouse movement reverting + focus/selection back to previously selected node. This matches + MS, and makes the tree a lot more useable. + * GroupBox.cs: Instead of drawing over the lines of the groupbox, + use clipping so they are not drawn. This fixes when the control + is set to have a transparent background, or if it was over an + image. + +2006-09-01 Alexander Olk + + * MimeIcon.cs: Improved handling for reading default icons when + using gnome (2.16 made it necessary). Check and read svg icons + first, then 48x48 and then 32x32 icons. + +2006-08-31 Chris Toshok + + * DataGridTextBoxColumn.cs: only hide the textbox if it's still + visible. + + * DataGridTextBox.cs: Pass Tab's up to the datagrid by calling + ProcessKeyPreview. Fixes part of #77806. + + * DataGrid.cs: big patch. + + - revert the queueing up of DataSource/DataMember if inside + BeginInit/EndInit calls. That's not the way the datagrid achieves + its delayed databinding. Instead, call SetDataSource in + OnBindingContextChanged. This mimic's MS's behavior, and fixes + #78811. + + - Also, it wasn't mentioned in #78811, but the test case exhibits + behavior that was lacking in our datagrid implementation - Columns + that have mapping names that don't exist in the datasource's + properties aren't shown. Yuck. To fix this I added the bound + field to the column style, and basically any calculation to figure + out anything about columns uses a loop to find the bound columns. + still need to investigate if I can cache an array of the bound + columns or if the indices must be the same. + + - When setting CurrentCell, we no longer abort if the cell being + edited was in the add row. This fixes the other part of #77806. + + - The new code also fixes #78807. + + * ThemeWin32Classic.cs: perpetrate the same disgusting + column.bound field hack, and only render bound fields. + +2006-08-31 Chris Toshok + + * DataGridColumnStyle.cs: add bound field. this field is true if + the datasource has a property corresponding to the mapping name. + + * DataGridTableStyle.cs: set the bound field on the column styles + depending on whether or not we have a column for that property. + +2006-08-31 Peter Dennis Bartok + + * Splitter.cs (SetBoundsCore): Don't ignore width/height of the + splitter control (fixes #79228) + +2006-08-31 Chris Toshok + + * DataGridColumnStyle.cs: we need to delay the assignment of + property descriptor until the last possible moment due to the lazy + databinding stuff in the datagrid. Also, fix the exceptions + thrown by CheckValidDataSource to match MS. + +2006-08-31 Jackson Harper + + * Form.cs: When activated select the active control, if there is + no active control, we select the first control. + * XplatUIX11.cs: If there is no focus control when we get a + FocusIn event, find the toplevel form and activate it. This + occurs when you popup a window, it becomes the focus window, then + you close that window, giving focus back to the main window. + +2006-08-21 Carlos Alberto Cortez + + * MonthCalendar.cs: + * ThemeWin32Classic.cs: Cache Font in bold style, as well + as StringFormat with Center alignments in MonthCalendar, + instead of creating new ones when drawing the control. + Also, draw the month name in bold style. + +2006-08-30 Peter Dennis Bartok + + * Control.cs: + - PerformLayout(): It would seem MS performs the fill even if the + control is not visible (part of #79218 fix) + - ResetBackColor(): Use the setter to reset the color, to allow + overriders to catch the change. + * Form.cs: + - .ctor: Call UpdateBounds to adjust client rectangle (part of #79218 fix) + - CreateHandle(): dito (part of $79218 fix) + - Don't set an icon if we have a dialog + * ScrollableControl.cs: + - set_AutoScrollMinSize: Setting the property enables AutoScroll (#79218) + - ScrollIntoView(): No need to scroll if control is already visible + (resolves fixme and fixes #79218) + +2006-08-30 Carlos Alberto Cortez + + * MonthCalendar.cs: Change proportions in SingleMonthSize + to match the aspect of the original control. + +2006-08-29 Alexander Olk + + * XplatUIX11.cs: Fix for a metacity/X problem where windows don't + get updated when they get maximized. + +2006-08-29 Peter Dennis Bartok + + * XplatUIX11.cs: Handle windows with no border (Fixes part of #79160) + +2006-08-29 Chris Toshok + + * XplatUIX11.cs: when destroying the FocusWindow, send KILLFOCUS. + +2006-08-29 Jackson Harper + + * TreeView.cs: Need to track selected node and highlighted node, + they aren't always the same thing, when the mouse is down on a + node it is hilighted, but not selected yet. + - Do the HideSelection stuff right + - Need to focus on rbutton mouse down. And redraw selection when + right click is mouse upped. + +2006-08-29 Mike Kestner + + * ThemeWin32Classic.cs: draw selections for columns in FullRowSelect + when SubItems.Count < Columns.Count. [Fixes #79167] + +2006-08-28 Peter Dennis Bartok + + * TextControl.cs (FindCursor): Fix math error (Fixes #78402) + +2006-08-28 Peter Dennis Bartok + + * XplatUIX11.cs: Preempt the roundtrip for getting the location back + from X. Only send based on ConfigureNotify if we don't have the + correct location in hwnd (if the window manager moved us) + +2006-08-28 Mike Kestner + + * ListView.cs: remove a TODO. + * ThemeWin32Classic.cs: implement HideSelection support for ListView. + [Fixes ListView part of #79166] + +2006-08-28 Mike Kestner + + * ListView.cs: move wheel handler to parent since it is focused + instead of the item_control now. [Fixes #79177] + +2006-08-28 Mike Kestner + + * ThemeWin32Classic.cs: only highlight subitems in fullrowselect + when the control is focused. [Fixes #79171] + +2006-08-28 Mike Kestner + + * ListView.cs: size the item and header controls for empty and + unscrollable views. + * ThemeWin32Classic.cs: draw disabled backgrounds. + [Fixes #79187] + +2006-08-28 Chris Toshok + + * Form.cs: remove unused "active_form" static field. + + * Hwnd.cs: lock around accesses to static windows collection. + + * Application.cs: lock threads in Exit (). + +2006-08-28 Chris Toshok + + * NativeWindow.cs: lock around accesses to window_collection. + +2006-08-28 Chris Toshok + + * Control.cs: err, fix this the right way, by locking on controls + when using it. not by making it synchronized. + +2006-08-28 Chris Toshok + + * Control.cs: make the static "controls" field synchronized, as it + gets updated from multiple threads. + +2006-08-27 Peter Dennis Bartok + + * XplatUIX11.cs: PostQuitMessage is thread-specific not app-specific. + Prevent other threads from exiting when calling thread sets quit state. + * XEventQueue.cs: Added PostQuitState property + +2006-08-27 Chris Toshok + + * AsyncMethodData.cs: add a slot for the window handle. + + * XplatUIX11.cs (SendAsyncMethod): send the event to the right + window (the destination control's window, not the foster window). + + * Control.cs (BeginInvokeInternal): store the window's handle in + the AsyncMethodData. + + +2006-08-27 Peter Dennis Bartok + + * XplatUIX11.cs: + - PostQuitMessage: Removed resetting S.D display handle, we might have + another loop started after calling PostQuitMessage (Fixes #79119) + - Created destructor to reset S.D handle + +2006-08-27 Peter Dennis Bartok + + * XplatUIX11.cs (SetCursor): Issue flush after setting the cursor (#79168) + +2006-08-23 Peter Dennis Bartok + + * TextControl.cs (Insert): Update the caret position even if we don't + have a handle yet, just don't call the driver in that case. + * TextBoxBase.cs (set_SelectedText): Set the Start and End selection + to the end of the new selection text (Fixes #79184) + +2006-08-23 Peter Dennis Bartok + + * Form.cs (Activate): Only activate if the handle is created) + * Control.c: + - Mark window as invisible when it's disposed + - Check if window handle is created when setting window visible, + instead of relying just on the is_created variable + - Check if object is disposed when creating the control (Fixes #79155) + +2006-08-23 Peter Dennis Bartok + + * ScrollableWindow.cs (ScrollWindow): Don't actually perform layouting + when allowing layout again. Otherwise we re-generate the anchoring + distance to the border again and actually alter what the user wanted + This is ugly, it'd be better if we used DisplayRectangle instead of + ClientRectangle for Control.UpdateDistances, but that causes us to + have other problems (initial anchoring positons would be wrong) + (Fixes #78835) + +2006-08-23 Peter Dennis Bartok + + * Control.cs: + - The size and location setters shouldn't go directly to + SetBoundsCore, but to SetBounds, which triggers layout on the + parent, then calls SetBoundsCore. (Related to fix for #78835) + - SetBounds: Moved actual location update code into this function + from SetBoundsCore, to match MS. Added call to PerformLayout if + we have a parent (to trigger resizing of anchored parents if the + child size has changed (see testcase for #78835) + * ListBox.cs, Form.cs: Call SetBounds instead of SetBoundsCore to match + new control code + * ScrollableControl.cs (CalculateCanvasSize): Use shortcut variable + +2006-08-23 Peter Dennis Bartok + + * XplatUIX11.cs: Don't reset the DisplayHandle that's stored in + System.Drawing when a toplevel window gets closed; there might + be other toplevel windows belonging to the same app (Fixes #78052) + +2006-08-26 Alexander Olk + + * FileDialog.cs: After reading FileDialog settings from mwf_config + use Desktop prefix only if a real folder doesn't exist anymore. + * FontDialog.cs: Added char sets. + It is now possible to select the font, size or style with the + textboxes. + +2006-08-25 Kornél Pál + + * PrintPreviewDialog.cs: Use assembly name constants. + +2006-08-23 Peter Dennis Bartok + + * XplatUIWin32.cs (ScrollWindow): Use clipping rectangle arg (prevents + scrollbar from whacking it's buttons) + +2006-08-24 Chris Toshok + + * ScrollableControl.cs: fix #78271. There's a lot of misc stuff + in this patch (aggregating setting Left/Top/Width/Height to + setting Bounds on the scrollbars), but the crux of the fix is in + Recalculate, where we scroll by the remaining scroll_position if + we're hiding a scrollbar. The 2*$5 reward in the comment is + serious. + +2006-08-24 Jackson Harper + + * MdiClient.cs: + * MdiWindowManager.cs: If the form is made a non-mdi window we + need to remove the form closed event so that closing forms works + correctly. + +2006-08-24 Jackson Harper + + * Control.cs: Make IsRecreating internal so that the driver can + check it + - Temporarily remove the Hide when controls are removed, its + making a whole bunch of things not work because visibility isn't + getting reset elsewhere correctly + * Form.cs: Need to do a full handle recreation when the mdi parent + is set. + * XplatUIX11.cs: If we are recreating handles don't dispose the + HWNDs. What was happening is the handles were being recreated in + SendWMDestroyMessages, but then flow continued on in that method + and destroyed the new handles. + +2006-08-23 Jackson Harper + + * Form.cs: MdiClient is always at the back of the bus + * Control.cs: When the order of items in the collection is changed + we need to reset the all_controls array + - do the same sorta setup thats done when adding a control when a + control is set on the collection. + +2006-08-23 Peter Dennis Bartok + + * TextBoxBase.cs (get_Text): Return an empty array if our document + is empty (fixes #79052) + +2006-08-23 Peter Dennis Bartok + + * Control.cs: We should call IsInputChar on only on WM_CHAR but not + on WM_SYSCHAR messages (fixes #79053) + +2006-08-23 Chris Toshok + + * DataGrid.cs: fix flickering when scrolling vertically. + +2006-08-23 Chris Toshok + + * DataGrid.cs (EndEdit): only invalidate the row header when we + need to. + +2006-08-23 Chris Toshok + + * ThemeWin32Classic.cs: fix the clip munging of the datagrid paint + methods. fixes the flicker when scrolling around. + +2006-08-23 Peter Dennis Bartok + + * FileDialog.cs: Making sure the control is created before we get a + chance to use it with BeginInvoke (Fixes #79096) + +2006-08-23 Chris Toshok + + * ThemeWin32Classic.cs (DataGridPaintRows): calculate the proper + width to use when painting the rows. + +2006-08-23 Peter Dennis Bartok + + * TextBoxBase.cs: + - Throw ArgumentException if a negative value is passed to SelectionLength + - Update the selection end if start is moved. end needs to be always + after start. (Fixes #79095) + - Track selection length; MS keeps the selection length even if start + is changed; reset on all other operations affection selection + +2006-08-22 Jackson Harper + + * TreeView.cs: Make sure both scrollbars get displayed and sized + correctly when the other bar is visible. + - Use the original clip rectangle for checking if the area between + the two scrollbars is visible, not the viewport adjusted clipping + rectangle. + +2006-08-22 Jackson Harper + + * Binding.cs: We don't use IsBinding because it requires the + control to be created, which really shouldn't be necessary just to + set a property on the control. + +2006-08-21 Carlos Alberto Cortez + + * ComboBox.cs: Some CB.ObjectCollection methods must throw + ArgumentNullReferenceException when the argument is null. + +2006-08-21 Jackson Harper + + * Timer.cs: Track the thread that the timer is started in (NOT + CREATED), this way messages for it will only be triggered on its + queue. + * XEventQueue.cs: Track the timers here, this makes timers per + thread, like MS. + * XplatUIX11.cs: The timers are moved to the XEventQueue. + +2006-08-19 Chris Toshok + + * XplatUIX11.cs: after further communication with pdb, we get the + best of both worlds. SetZOrder working for un-Mapped windows, and + no X errors for un-mapped windows. + +2006-08-19 Chris Toshok + + * XplatUIX11.cs (SetZOrder): remove the if (!hwnd.mapped) check, + as it was causing pdn toolbars to not have the correct stacking. + +2006-08-18 Mike Kestner + + * ListView.cs : guard against negative ClientArea.Width in scrollbar + calculation. Not sure why control should ever be setting a negative + width though. Fixes #78931. + +2006-08-18 Carlos Alberto Cortez + + * ComboBox.cs: Throw ArgumentNullException when adding/modifyng + null items in ObjectCollection class. + * ListBox.cs.: Likewise. + +2006-08-18 Atsushi Enomoto + + * ThemeNice.cs, ThemeClearlooks.cs : remove RadioButton_DrawFocus() + as the base method in ThemeWin32Classic should work fine. + Fixed bug #78607. + +2006-08-18 Jackson Harper + + * Binding.cs: When validating if the value entered doesn't convert + properly reset to the old value. + * RadioButton.cs: Don't fire click when we get focus. + +2006-08-18 Jackson Harper + + * FileDialog.cs: Paint the selection on the directory combobox the + same way as on MS. + +2006-08-17 Jackson Harper + + * ErrorProvider.cs: Don't allow the error control to be selected. + * Control.cs: Don't send the SetFocus messages, the control + activation will do this, and if we do it blindly here validation + does not work. + +2006-08-17 Jackson Harper + + * Control.cs: + * ContainerControl.cs: Make validation events fire in the correct + order. TODO: For some reason the first validation event is not + getting fired. + +2006-08-17 Mike Kestner + + * ComboBox.cs : some null guarding for ComboListBox.Scroll. + +2006-08-17 Mike Kestner + + * ComboBox.cs : implement scroll wheel support for popped-down + state. Fixes #78945. + +2006-08-17 Jackson Harper + + * TreeView.cs: Specify treeview actions (old patch that didn't get + committed for some reason). + - Don't let the mouse wheel scroll us too far. Just want to make + the bottom node visible, not scroll it all the ways to the top. + +2006-08-17 Jackson Harper + + * XplatUIX11.cs: Mouse wheel events go to the focused window. + +2006-08-17 Mike Kestner + + * ComboBox.cs : don't do mouseover selection in simple mode. + +2006-08-16 Jackson Harper + + * Form.cs: Fire the closing events for all the mdi child windows + when a window is closed. If the cancel args are set to true, the + main window still gets the event fired, but it doesn't not close. + * MdiWindowManager.cs: Do this closing cleanup in a Closed + handler, instead of when the button is clicked, so cancelling the + close works correctly. + * ComboBox.cs: Send the mouse down to the scrollbar. + +2006-08-16 Carlos Alberto Cortez + + * ListBox.cs: When passing 'null' to SelectedItem, + set SelectedIndex to -1, to unselect items. This is the + observed behaviour in .Net. + +2006-08-16 Peter Dennis Bartok + + * TextBoxBase.cs: Overriding HandleClick to get clicks in spite of + MS flags saying there won't be any. (fixes #78800) + * Control.cs (HandleClick): Made virtual + +2006-08-16 Atsushi Enomoto + + * PageSetupDialog.cs : use Yard-Pound units only in en-GB and en-US + cultures. Fixed bug #78399. + +2006-08-16 Jackson Harper + + * Form.cs: Use the MdiClients MdiChildren property to access + MdiChildren instead of creating the array from the child controls. + * MdiClient.cs: Maintain a separate array of the mdi children, so + that insertion order is maintained when the Z-order is changed. + +2006-08-16 Mike Kestner + + * ListView.cs : add an ItemComparer and default to it for sorting. + Fixes #79076, but sorting needs a complete overhaul to be compat with + MS. + +2006-08-15 Peter Dennis Bartok + + * XplatUIX11.cs (SetZOrder): Fix debugging leftover (fixes #79080) + +2006-08-15 Peter Dennis Bartok + + * Hwnd.cs (Mapped): Properly traverse the tree + +2006-08-15 Chris Toshok + + * Binding.cs: fix PullData/SetPropertyValue. We don't want to + pass manager.Current.GetType() to ParseData. It has to be the + property type. So, hold off doing the ParseData until we're in + SetPropertyValue where we know the type. This fixes the crash in + #78821 but the textbox is still empty. + +2006-08-15 Chris Toshok + + * DataGrid.cs: + - when we're scrolling, only call Edit() again if the + current cell is still unobscured. Fixes bug #78927. + - when handling mousedown on a cell, ensure the cell is visible + before calling Edit. + - remove the properties from DataGridRow, and remove the + DataGridParentRow class altogether. + + +2006-08-15 Peter Dennis Bartok + + * TextBoxBase.cs (set_Text): Don't use base.Text, instead just + fire OnTextChanged by ourselves. There's no point calling base, + we don't set the base value anywhere else. Fixes #78773. + +2006-08-15 Carlos Alberto Cortez + + * ListBox.cs: Call CollectionChanged when modifying + an item from Items indexer, to update the actual items + in the list box. + +2006-08-15 Carlos Alberto Cortez + + * PrintDialog.cs: Small fixes for focus and a pair of checks, + to match .Net behaviour. + +2006-08-15 Peter Dennis Bartok + + * XplatUIX11.cs (SetZOrder): Handle raising toplevel windows + +2006-08-15 Peter Dennis Bartok + + * Control.cs: Handle BringToFront for toplevel windows (Fixes #78737) + +2006-08-15 Peter Dennis Bartok + + * MessageBox.cs: Prevent potential NRE exception. + * TextBoxBase.cs: AutoSize only applies if MultiLine is false. Fixes #78889 + +2006-08-14 Peter Dennis Bartok + + * MessageBox.cs: Calculate the owner of a messagebox, also make + it topmost. Fixes #78753 + +2006-08-14 Chris Toshok + + * XplatUIX11.cs: A couple of fixes so that metacity will let us + programmatically move windows. first, set the PPosition hint as + well as the USPosition hint. Second include some code from pdb + that sets the window type to NORMAL when we set the transient for + hint. This is because, in the absence of a window type, metacity + thinks any window with TransientFor set is a dialog, and refuses + to let us move it programmatically. fascists. + +2006-08-14 Peter Dennis Bartok + + * XplatUIX11.cs: When setting normal hints, take into consideration + an different hints previously set so we don't delete them (fixes #78866) + +2006-08-12 Chris Toshok + + * ToolBarButton.cs: make Layout return a boolean, if something to + do with the button's layout changed. + + * ToolBar.cs: + - add another parameter to Redraw, @force, which all existing + calls set to true. + - make the Layout function return a boolean which is true if the + layout has actually changed. Redraw now uses this (and @force) + to determine when to invalidate. At present the only place + where @force can be false is the call from OnResize, when + background_image == null. So, resizing a toolbar when the + layout doesn't change results in no drawing. + +2006-08-12 Chris Toshok + + * ThemeWin32Classic.cs: fix the bottom right corner painting. had + the VScrollBar and HScrollbar reversed. oops. + + * DataGrid.cs: fix the logic that assigns sizes to the implicit + scrollbars. we were assigning them twice (once in + Calc{Horiz,Vertical}Scrollbar, and once in CalcGridAreas), + therefore causing two scrollbar resizes (and redraws?) to happen + per grid resize. + +2006-08-12 Chris Toshok + + * ToolBarButton.cs: redraw the entire button if the theme tells us + to. + + * Theme.cs: add ToolBarInvalidateEntireButton. + + * ThemeWin32Classic.cs: we don't need to redraw the entire toolbar + buttons, just the border. + + * ThemeNice.cs: redraw the entire toolbar button since we need to + draw the highlight image. + + * ThemeClearlooks.cs: the rounded corners of toolbar buttons mean + we need to redraw the entire button (not just the border). + +2006-08-11 Peter Dennis Bartok + + * TextBoxBase.cs (CalculateScrollbars): Set the proper thumb size + for vertical bars. Fixes the mismatches shown by #78513 + +2006-08-11 Alexander Olk + + * FileDialog.cs: If a saved/remembered path doesn't exist + anymore, fall back to "Desktop". + +2006-08-11 Peter Dennis Bartok + + * Form.cs (CreateParams): Don't use Parent.Handle unless we have a + parent. It's apparently legal to not have one + * XplatUIX11.cs: + - SetZOrder: Don't try to set Z-Order on an unmapped window + - CreateWindow: 0,0 are legal coordinates for a window. don't move + it unless the coordinates are negative + +2006-08-10 Mike Kestner + + * ListControl.cs: allow null for DataSource. Clear DisplayMember + when setting to null per msdn docs. Fixes #78854. + +2006-08-10 Chris Toshok + + * Menu.cs, MainMenu.cs, MenuAPI.cs: get rid of most of the + flickering by setting a clip rectangle on the Graphics when we + need to redraw just a particular menuitem. Also, rename "OnClick" + to "OnMouseDown" to reflect what it actually is. + + * Form.cs: track the OnMouseDown change. + +2006-08-10 Peter Dennis Bartok + + * CommonDialog.cs: Properly inherit the CreateParams from the form + and only change what we need. Fixes #78865 + +2006-08-10 Chris Toshok + + * ToolBar.cs, ToolBarButton.cs: fix the redraw-on-highlight + flickering in flat mode (and most of the flickering in general) by + only invalidating the button border (and not the entire rectangle) + when the state changes. A couple of cases still flicker: + ToggleButtons, and the dropdown arrow case when the user mouse + ups. + +2006-08-10 Alexander Olk + + * X11Keyboard.cs: Fixed handling of the Del key on the cursorblock + for german keyboards. Numlock state shouldn't affect the behaviour + of the Del key. Fixes bug #78291. + +2006-08-10 Chris Toshok + + * ListControl.cs: remove the items.Clear line from BindDataItems, + as this is the first thing done by both subclasses in their + SetItemsCore overrides. Also, add a ItemChanged handler, and when + passed -1, refresh the list. This gets databinding working when + the datasource is set on the list before the datasource is + populated (as in wf-apps/ReportBuilder.) + + * ComboBox.cs: remove the argument to BindDataItems. This call + should really go away, and be initiated by the ListControl code. + + * ListBox.cs: same. + +2006-08-09 Peter Dennis Bartok + + * TextControl.cs (Document.ctor): Initialize caret so we don't crash + if no data is in the document when the control is displayed + +2006-08-09 Peter Dennis Bartok + + * TextBoxBase.cs: Don't try moving the caret if we don't have a window + yes (fixes #78806) + * TextControl.cs: + - PositionCaret: Allow positioning of caret but don't call methods + requiring a handle if the window isn't created yet + - CharIndexToLineTag: Fix ending loop early error. Lines is 1 based + - owner_HandleCreated: Don't position the caret, just update it's + location. User might have already set a different position + +2006-08-09 Peter Dennis Bartok + + * XplatUIWin32.cs: Don't use the desktop as basis for foster-parented + windows. Screws up the returned coordinates for child windows. + Fixes #78825. I'm hoping this doesn't break something, since the + code was explicitly put in 8 months ago, but no bug was attached. + Menus still seem to work properly. + +2006-08-08 Chris Toshok + + * DataGrid.cs: make BeginInit/EndInit actually do what they're + supposed to do - delay data binding until the EndInit call. Also, + make the table style collection's CollectionChangeAction.Refresh + work properly. + + * GridTableStylesCollection.cs: raise a CollectionChangeEvent + (with action = Refresh) when a consituent table's MappingName is + changed. + +2006-08-08 Chris Toshok + + * ToolBarButton.cs: in set_Text, call Parent.Redraw, not + Invalidate, since changing the text can change the size of the all + toolbar buttons. + +2006-08-08 Peter Dennis Bartok + + * Form.cs (AddOwnedForm): Still need to add the form to our listif + we don't have it yet + +2006-08-08 Chris Toshok + + * PrintControllerWithStatusDialog.cs: don't .Close() the status + dialog, as this causes X errors later on, since we actually + destroy the window. Instead, .Hide() it. + +2006-08-08 Peter Dennis Bartok + + * ComboBox.cs: Added focus reflection for popup window + * XplatUIX11.cs: + - Removed transient setting for non-app windows for now, not sure it + was needed + - Fixed logic checking if we have captions when deciding + override_redirect, WS_CAPTION is two bits and a 0 check was not + sufficient + - Removed the WINDOW_TYPE stuff, it was unneeded and making things + complicated + * Form.cs: + - AddOwnedForm: Don't just add the form to the list, call the property + to ensure the driver is informed about the ownership as well + - CreateHandle: Set the TopMost status in the driver if we have an owner + * XplatUI.cs: Fixed debug statement + +2006-08-08 Jonathan Pobst + * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs + GroupBoxRenderer.cs, ProgressBarRenderer.cs, RadioButtonRenderer.cs, + ScrollBarRenderer.cs, TabRenderer.cs, TextBoxRenderer.cs, + TrackBarRenderer.cs: Make constructor private. + * ProfessionalColors.cs, ProfessionalColorTable.cs: Fix misnamed properties. + * ProfessionalColorTable.cs: Make properties virtual. + +2006-08-06 Duncan Mak + + * NumericUpDown.cs (Value): Don't call OnValueChanged if the value + is not changing. + +2006-08-04 Jonathan Pobst + * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs + GroupBoxRenderer.cs, ProfessionalColors.cs, ProfessionalColorTable.cs, + ProgressBarRenderer.cs, RadioButtonRenderer.cs, ScrollBarRenderer.cs, + TabRenderer.cs, TextBoxRenderer.cs, TextRenderer.cs, TrackBarRenderer.cs: + Initial import of new 2.0 classes. + +2006-08-04 Jonathan Pobst + * Application.cs: Add 2.0 VisualStyles properties. + +2006-08-04 Jonathan Pobst + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, + XplatUIX11.cs: Create property to allow access to existing private + variable "themes_enabled" + +2006-08-04 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: generate the MemoryStreams with the exact BMP + file size, as otherwise our class libraries fail using windows. Fixes + bug #78759. + +2006-08-04 Jackson Harper + + * Form.cs: + * XplatUIX11.cs: Move the toolwindow window manager creation into + the X11 driver, this way on win32 we can let windows create/handle + the toolwindows. + +2006-08-04 Carlos Alberto Cortez + + * PrintDialog.cs: Remove some redundant checks, add some others, + clean some code, and move the focus to the text boxes when the + values are incorrect. + +2006-08-04 Alexander Olk + + * FontDialog.cs: Remove Form.MinimumSize. It's not needed. + +2006-08-03 Alexander Olk + + * NumericUpDown.cs: Setting the Minimum and Maximum is now + handled correctly. Fixes bug #79001. + +2006-08-03 Carlos Alberto Cortez + + * PrintDialog.cs: The "Copies" numeric up down must have + set the Minimum property to 1; only if the value is bigger + than 1, activate "Collate" check box. This is the behaviour of .Net. + Also modify the Document elements only if it is not null. + +2006-08-03 Jackson Harper + + * TreeNodeCollection.cs: Fix copyto to use the correct nodes + length. (We have a larger array then actual node count). + +2006-08-03 Jackson Harper + + * ComboBox.cs: Don't show selection by default. + - The SelectAll isn't needed here, since the focus code should do + that + - DDL style lists to manual selection drawing, so when they + get/lose focus they have to invalidate. + +2006-08-03 Peter Dennis Bartok + + * TextBoxBase.cs: Don't always show all selections by default. + +2006-08-03 Jonathan Pobst + * ControlUpdateMode.cs, DataSourceUpdateMode.cs, + HelpNavigator.cs, WebBrowserEncryptionLevel.cs: + Fixed various typos. + +2006-08-03 Alexander Olk + + * Control.cs: Removing the controls in a ControlCollection with + Clear now hides the controls as expected. Fixes bug #78804. + +2006-08-03 Jackson Harper + + * Control.cs: Revert previous focus patch, it breaks reflector. + +2006-08-03 Jackson Harper + + * ComboBox.cs: Cleanup selection and focus with the combobox. + This also eliminates some duplicated keyboard code, since now + everything is handled by the main class. + - Make list selection work on mouse up instead of down, to match + MS. + +2006-08-02 Jackson Harper + + * Control.cs: Setting focus needs to go through the whole + selection mechanism. + +2006-08-02 Chris Toshok + + * PrintPreviewDialog.cs: change MinimumSize to use + base.MinimumSize so it works. + +2006-08-02 Peter Dennis Bartok + + * TextControl.cs: + - UpdateCaret: Added sanity check in case caret isn't defined yet + - Line.Delete: Now updating selection and caret markers if we're + transfering a node (Properly fixes #78323) + - SetSelectionEnd: Added sanity check + * TextBoxBase.cs: Removed broken attempt to fix #78323 + +2006-08-01 Chris Toshok + + * PrintPreviewDialog.cs: the CancelEventArgs stuff surrounding the + Close() call is handled in Form, not here. + +2006-08-01 Chris Toshok + + * Theme.cs, ThemeWin32Classic.cs: fix the PrintPreviewControl + layout/rendering. + + * PrintPreviewDialog.cs: add scrollbars, and add an image cache + for sizes < 100% zoom. The code now aggressively attempts to keep + from calling document.Print (), and tries not to use the scaling + g.DrawImage whenever possible (it still does if you scale to > + 100%, since usually that involves huge images). + + * PrintPreviewControl.cs: hook up the close button. + +2006-08-01 Jonathan Pobst + * ColumnClickEventHandler.cs, DrawItemEventHandler.cs, + ItemChangedEventHandler.cs, ItemCheckEventHandler.cs, + ItemDragEventHandler.cs, LabelEditEventHandler.cs, + LinkClickedEventHandler.cs, LinkLabelLinkClickedEventHandler.cs, + MeasureItemEventHandler.cs, MethodInvoker.cs, PaintEventHandler.cs, + PropertyTabChangedEventHandler.cs, PropertyValueChangedEventHandler.cs, + SelectedGridItemChangedEventHandler.cs, ToolBarButtonClickEventHandler.cs: + Removed [Serializable] for 2.0 Event Handlers. + +2006-07-31 Jackson Harper + + * TextBoxBase.cs: Make ShowSelection invalidate when changed. + * TextControl.cs: Uncomment out the body of this method. + +2006-07-31 Alexander Olk + + * XplatUIX11.cs: Use the correct cursor shapes for arrow and default + standard cursors. + +2006-07-31 Peter Dennis Bartok + + * TextBoxBase.cs: Added internal property ShowSelection to allow controls + that embed TextBox and need selections visible even if textbox is not + focused to enforce that behaviour. + * TextControl.cs (Draw): Use ShowSelection instead of has_focus to determine + selection drawing + +2006-07-31 Peter Dennis Bartok + + * TextControl.cs: + - Added new SetSelectionStart/SetSelectionEnd overloads + - Fixed viewport width assignment to be accurate + - Adjusted alignment line shift calculations to allow cursor on right + aligned lines to be always visible at the right border (like MS) + * TextBoxBase.cs: + - SetBoundsCore: Re-adjust caret location after resize (Fixes #78323) + - TextBoxBase_SizeChanged: recalculating canvas on size changes + - CalculateScrollBars: Use ViewPort size instead of window size, to + properly consider space occupied by the border and scrollbars + (Fixes #78661) + - hscroll_ValueChanged, vscroll_ValueChanged: Fixed scroll + calculations; no longer leaves artifacts + - CaretMoved: Adjusted window scrolling to match MS and fixed several + calculation bugs (Still missing right/center align calculations) + +2006-07-31 Peter Dennis Bartok + + * XPlatUIWin32.cs: Made ScrollRectEx a bit more flexible, and removed + use of both scroll rect and clip rect, as they do the same. + +2006-07-31 Peter Dennis Bartok + + * Control.cs (WM_CHAR WndProc): 2.0 profile allows changing the key + in the event handler (fixes #78912) + +2006-07-31 Chris Toshok + + * ThemeWin32Classic.cs: use grid.RowsCount here instead of + grid.ListManager.Count, since grid.ListManager might be null. + This of course begs the question "why are we drawing rows for a + grid with no list manager (and therefor no rows)?" Fixes the + crash in bug #78929. + +2006-07-31 Chris Toshok + + * RelatedPropertyManager.cs: Don't always chain up to the parent + ctor. instead, call SetDataSource if the parent's position is != + -1. Fixes the crash in #78822. + +2006-07-31 Chris Toshok + + * DataGrid.cs (get_ListManager): use field instead of property + accessors for datasource and datamember. + (RowsCount): make internal again. + (OnMouseDown): end edits before resizing columns/rows. + (OnMouseUp): restart edits after resizing columns/rows. + +2006-07-30 Peter Dennis Bartok + + * XplatUIX11.cs: Default cursor cannot be 0 or it will not get set. + This fixes the situation where the last set cursor is displayed + whenever the mouse is over scrollbars. + +2006-07-30 Carlos Alberto Cortez + + * PrintDialog.cs: Fix the behaviour of PrinterSettings and + Document properties, as well as initial values. + +2006-07-29 Peter Dennis Bartok + + * XplatUIWin32.cs (SetBorderStyle): Setting both border + and ClientEdge results in a 3-pixel border, which is + wrong. + +2006-07-28 Jackson Harper + + * TreeNodeCollection.cs: Fix the clear method. + - Fix the Shrink also + +2006-07-27 Jackson Harper + + * TreeView.cs: Make sure the visible order is computed when we + attempt to size the scrollbars (for trees that mess with the + scrolling when they shouldn't. + - Make sure to give the scrollbars valid values. + +2006-07-26 Peter Dennis Bartok + + * XplatUIX11.cs: Move motion compression code to where it + has less performance impact + +2006-07-26 Jackson Harper + + * UpDownBase.cs: When the control is selected make the child + controls non selectable, so that a click on them won't do a + focus/unfocus cycle. + - Don't give focus to the text box when the spinner is selected. + * XEventQueue.cs: Peek on both the x11 queue and the lock queue. + +2006-07-26 Chris Toshok + + * ThemeWin32Classic.cs: add print preview rendering. I'm not + satisfied with this solution. If the bitmaps are small, we should + just cache them in the PrintPreviewDialog and draw them here. + Also, the layout is broken for the 2-up and 3-up cases. + + * Theme.cs: add PrintPReviewControlPaint. + + * PrintPreviewDialog.cs: first pass implementation. + + * PrintPreviewControl.cs: first pass implementation. No + scrollbars yet. + + * PrintDialog.cs: only validate fields if that particular portion + of the UI is enabled. Also, set the document's controller to a + PrintControllerWithStatusDialog wrapping the document's print + controller. + + * PrintControllerWithStatusDialog.cs: if we're printing to a file, + bring up a SaveFileDialog (i hope we don't want to match the + behavior of the crappy windows file entry) and set the + PrinterSettings.PrintFileName accordingly. + +2006-07-26 Jackson Harper + + * ContainerControl.cs: Add a field that disables auto selecting + the next control in a container when the container is activated. + * UpDownBase.cs: Don't select the text box when the up down is + selected. + +2006-07-26 Peter Dennis Bartok + + * XEventQueue.cs: Added methods for peeking (used for compression + of successive events) + * XplatUIX11.cs (GetMessage): We're now compressing consecutive + mouse move events (fixes #78732) + +2006-07-25 Jackson Harper + + * UpDownBase.cs: Use an internal class for the textbox so that we + can control focus. the updown control should always have focus, + if either the text area or the buttons are clicked. + - Send the key messages to the textbox, since it never actually + has focus + - Activate and decativate the textbox caret. + +2006-07-24 Jackson Harper + + * Control.cs: Use the directed select when selecting a control, + this way the container controls override will get called and the + whole ActiveControl chain will get triggered. TODO: probably need + to make sure this gets done everywhere instead of the old + Select(Control). + * ContainerControl.cs: Implement the directed Select method to + find and activate the correct child control. + +2006-07-22 Mike Kestner + + * Form.cs: use Control.MousePosition for NCLBUTTONDOWN in the menu + menu handling code so that clicks without a grab work too. + [Fixes #78914] + +2006-07-22 Alexander Olk + + * FileDialog.cs: Enable the BackButton when dirstack has one element. + Added some small optimizations. + +2006-07-21 Matt Hargett + + * Control.cs: Implemented 2.0 MinimumSize/MaximumSize properties + +2006-07-21 Peter Dennis Bartok + + * Control.cs (GetNextControl): Fixes to make all of Jackson's unit + tests pass and match MS in some strange border cases. + +2006-07-21 Chris Toshok + + * ThemeWin32Classic.cs: handle drawing of the relation links and + parent row buttons. + + * Theme.cs: change args to DataGridPaintParentRow. + + * DataGrid.cs: Don't use controls for the relation links and + parent buttons, so we have to handle all their interactions in + MouseMove, MouseDown, MouseUp, etc. Also, store a lot more stuff + when we're navigating through child tables, so we can reinstate + selection, expanded state, current cell, etc. + +2006-07-20 Chris Toshok + + * ToolBar.cs: When we redraw a button, for whatever reason, + there's no reason to redraw the entire toolbar. Also, don't call + Control.Refresh from within Redraw, as it's much heavier than + Invalidate (which is really what we want). + +2006-07-20 Chris Toshok + + * DataGrid.cs, CurrencyManager.cs, DataGridColumnStyle.cs, + DataGridTextBoxColumn.cs, DataGridTextBox.cs, + ThemeWin32Classic.cs, ListControl.cs: After staring at stack + traces from within a debug IBindingList datasource + (in mono/winforms/datagrid) for *days*, I've finally gotten things + to work in a similar fashion. + +2006-07-20 Carlos Alberto Cortez + + * ListBox.cs: Don't call Sort () when setting + the Sorted property to false (avoid an unnecessary sort). + +2006-07-20 Carlos Alberto Cortez + + * ListControl.cs: DataSource should throw an ArgumentException + instead of a normal exception when the argument is not of the + correct type. + +2006-07-20 Mike Kestner + + * Control.cs: add InternalPreProcessMessage to allow us to steal + key events before MWF gets its paws on them. Adapted from a + suggestion by eno. + * ToolBar.cs: add GotLostFocus handing for flat toolbars, with + up/down/left/right navigation. Override the new internal control + method to steal the events since they never make it to WndProc. + * ToolBarButton.cs: don't worry about pushed when setting hilight + since the drawing code prefers pushed to hilight. Invalidate on + Hilight changes. Fixes #78547 and #78525. + +2006-07-20 Peter Dennis Bartok + + * ScrollableControl.cs: Consider AutoScrollMinSize when calculating + the canvas size. Fixes #78868 + +2006-07-20 Peter Dennis Bartok + + * Splitter.cs: Track requested split position until first layout + is performed. Fixes #78871 + +2006-07-20 Peter Dennis Bartok + + * Application.cs: Removed code that forces 1.x for the version + number if the version started with 0. Not sure why that code was + there and I couldn't find any bugs that indicated we needed it. + Fixes #78869 + +2006-07-20 Alexander Olk + + * ThemeWin32Classic.cs: Don't throw a NotImplementedException in + ResetDefaults(), just write some output to the console until it's + implemented. Fixes bug #78907 for now. Eliminated two warnings. + +2006-07-19 Jonathan Chambers + + * PropertyGridView.cs: set StartPosition of drop down forms + so they appear in correct initial spot. Fixes #78190. + +2006-07-19 Mike Kestner + + * ThemeWin32Classic.cs: use parent background color when drawing + flat toolbars. Restructure the conditionals to make sure non-flat + non-Divider toolbars are filled too. Fixes #78837. + +2006-07-19 Mike Kestner + + * ListBox.cs: Sort on collection changes even if the handle + isn't created yet. Fixes #78813. + +2006-07-18 Carlos Alberto Cortez + + * ListControl.cs: DisplayMember should never be null, + and now we assign String.Empty when null is passed to it (this + is the .Net way). + +2006-07-17 Mike Kestner + + * ListViewItem.cs: restructure Font and subitem Font handling + to hold a specific font and refer back to owner on null. + Fixes #78761. + +2006-07-17 Mike Kestner + + * ToolBar.cs: bandaid for side-effect of previous patch which was + discarding explicit heights for non-AutoSize toolbars. Need to + extend my format tester to deal with AutoSize=false. Fixes #78864. + +2006-07-15 Jackson Harper + + * LabelEditTextBox.cs: + * TreeView.cs: Use a new LabelEdit class for node editing, this + class automatically 'closes' itself when it gets the enter key or + loses focus. + - Use the client rectangle when setting the trees scrollbars, so + border style is taken into account. + +2006-07-14 Jackson Harper + + * TreeNode.cs: + * TreeView.cs: Make the editing work similar to MSs, firing the + events correctly and ending edits correctly. + +2006-07-14 Mike Kestner + + * ToolBarButton.cs: + * ToolBar.cs: layout restructuring and redraw enhancements to support + formatting changes gracefully, like setting TextAlign, ImageList, + ButtonSize, and Appearance. Handles explicit button sizing quirks + of the MS controls. Things like flat toolbars ignoring button size + but becoming constant sized at the largest button's size. Normal + toolbars with an image set cannot be shrunk smaller than the image, + but text can be clipped/ignored. + * ThemeWin32Classic.cs: don't draw text if text_rect height or width + is zero. Seems like DrawString should be smart enough to not put + anything on screen though. Also trim labels and ellipsize at the char + boundary, not word. + Fixes #78711 and #78483. + +2006-07-14 Alexander Olk + + * FolderBrowserDialog.cs: Disable "New Folder" button and + "New Folder" contextmenu menuitem if a folder like "My Computer" + is selected. + +2006-07-14 Alexander Olk + + * FileDialog.cs: Don't create a new folder in "MyComputer" folder. + * FolderBrowserDialog.cs: + - Use MWFConfig to store and read size and position settings + - Added code to create a new folder (button or context menu). + Use TreeView labeledit to change the name of the new folder. + +2006-07-14 Jackson Harper + + * TreeView.cs: Raise the OnAfterLabelEdit event correctly. Also, + when the tree is scrolled we end editing. + +2006-07-14 Alexander Olk + + * ThemeWin32Classic.cs: Fixed position of CPDrawScrollButton Up and + Down arrows + +2006-07-14 Jonathan Pobst + + WebBrowserProgressChangedEventHandler.cs, BindingCompleteEventArgs.cs, + BindingCompleteEventHandler.cs, BindingManagerDataErrorEventArgs.cs, + BindingManagerDataErrorEventHandler.cs, CacheVirtualItemsEventArgs.cs, + CacheVirtualItemsEventHandler.cs, ColumnReorderedEventArgs.cs, + ColumnReorderedEventHandler.cs, ColumnWidthChangedEventArgs.cs, + ColumnWidthChangedEventHandler.cs, ColumnWidthChangingEventArgs.cs, + ColumnWidthChangingEventHandler.cs, FormClosedEventArgs.cs, + FormClosedEventHandler.cs, FormClosingEventArgs.cs, + FormClosingEventHandler.cs, ItemCheckedEventArgs.cs, + ItemCheckedEventHandler.cs, ListControlConvertEventArgs.cs, + ListControlConvertEventHandler.cs, ListViewItemMouseHoverEventArgs.cs, + ListViewItemMouseHoverEventHandler.cs, ListViewItemSelectionChangedEventArgs.cs, + ListViewItemSelectionChangedEventHandler.cs, + ListViewVirtualItemsSelectionRangeChangedEventArgs.cs, + ListViewVirtualItemsSelectionRangeChangedEventHandler.cs, + MaskInputRejectedEventArgs.cs, MaskInputRejectedEventHandler.cs, + PopupEventArgs.cs, PopupEventHandler.cs, PreviewKeyDownEventArgs.cs, + PreviewKeyDownEventHandler.cs, RetrieveVirtualItemEventArgs.cs, + RetrieveVirtualItemEventHandler.cs, SearchForVirtualItemEventArgs.cs, + SearchForVirtualItemEventHandler.cs, SplitterCancelEventArgs.cs, + SplitterCancelEventHandler.cs, TabControlCancelEventArgs.cs, + TabControlCancelEventHandler.cs, TabControlEventArgs.cs, + TabControlEventHandler.cs, TableLayoutCellPaintEventArgs.cs, + TableLayoutCellPaintEventHandler.cs, ToolStripDropDownClosedEventArgs.cs, + ToolStripDropDownClosedEventHandler.cs, ToolStripDropDownClosingEventArgs.cs, + ToolStripDropDownClosingEventHandler.cs, TreeNodeMouseClickEventArgs.cs, + TreeNodeMouseClickEventHandler.cs, TreeNodeMouseHoverEventArgs.cs, + TreeNodeMouseHoverEventHandler.cs, TypeValidationEventArgs.cs, + TypeValidationEventHandler.cs, WebBrowserDocumentCompletedEventArgs.cs, + WebBrowserDocumentCompletedEventHandler.cs, WebBrowserNavigatedEventArgs.cs, + WebBrowserNavigatedEventHandler.cs, WebBrowserNavigatingEventArgs.cs, + WebBrowserNavigatingEventHandler.cs, + WebBrowserProgressChangedEventArgs.cs: New 2.0 Event Handlers + +2006-07-14 Jonathan Pobst + + MergeAction.cs, PowerLineStatus.cs, PowerState.cs, PreProcessControlState.cs, + RichTextBoxLanguageOptions.cs, ScreenOrientation.cs, ScrollOrientation.cs, + SearchDirectionHint.cs, SystemParameter.cs, TabControlAction.cs, + TableLayoutPanelCellBorderStyle.cs, TextDataFormat.cs, TextImageRelation.cs, + ToolStripDropDownCloseReason.cs, ToolStripDropDownDirection.cs, + ToolStripGripDisplayStyle.cs, ToolStripGripStyle.cs, + ToolStripItemAlignment.cs, ToolStripItemDisplayStyle.cs, + ToolStripItemImageScaling.cs, ToolStripItemOverflow.cs, + ToolStripItemPlacement.cs, ToolStripLayoutStyle.cs, + ToolStripManagerRenderMode.cs, ToolStripRenderMode.cs, + ToolStripStatusLabelBorderSides.cs, ToolStripTextDirection.cs, + ToolTipIcon.cs, TreeNodeStates.cs, TreeViewDrawMode.cs, + TreeViewHitTestLocations.cs, UnhandledExceptionMode.cs, ValidationConstraints.cs, + WebBrowserEncryptionLevel.cs, WebBrowserReadyState.cs, WebBrowserRefreshOption.cs, + ArrowDirection.cs, AutoCompleteMode.cs, AutoCompleteSource.cs, AutoSizeMode.cs, + AutoValidate.cs, BatteryChargeStatus.cs, BindingCompleteContext.cs, + BindingCompleteState.cs, CloseReason.cs, ColumnHeaderAutoResizeStyle.cs, + ControlUpdateMode.cs, DataSourceUpdateMode.cs, DockingBehavior.cs, + FixedPanel.cs, FlowDirection.cs, GetChildAtPointSkip.cs, + HtmlElementInsertionOrientation.cs, InsertKeyMode.cs, ListViewHitTestLocations.cs, + ListViewItemStates.cs, MaskFormat.cs: Added + +2006-07-13 Jonathan Chambers + + * PropertyGridView.cs: Fix keyboard navigation of drop down. + Patch from eno for bug 78558. + +2006-07-13 Jackson Harper + + * TreeView.cs: When an edit is finished make sure that the + selected node is visible. + - When setting the top/bottom use the scrollbars is_visible, so + everything will be set correctly even if the tree isn't visible + yet. + +2006-07-13 Jackson Harper + + * ComboBox.cs: Revert the item->index part of my previous patch. + * TreeView.cs: Use LostFocus instead of Leave for detecting when + the edit box has lost focus (duh). + - Just make the edit box not visible when we get return, that will + take the focus, which will call EndEdit + * TreeNode.cs When we start editing, notify the treeview. + +2006-07-12 Jackson Harper + + * ComboBox.cs: Clear out old items before setting the item list. + This prevents databound controls from having their items added + twice. + - Switch the combobox to use indices whereever possible instead of + using Item's. This allows usto navigate through lists that have + more then one item with the same string value (ie a, b, b, a). + - Scroll the listboxes scrollbar when a non visible item is + highlighted + - Allow keypress to cycle through all the possible values. For + example if you have b1, b2, b3 and hold down the B key all the + values will be cycled through. + +2006-07-12 Jackson Harper + + * TextBoxBase.cs: + * ListView.cs: Don't need to override SETFOCUS anymore, we can do + this using the internal methods. + * Control.cs: Add OnGotFocusInternal. A new method that allows + controls to "override" OnGotFocus and change focus behavior if + needed. + - Same thing for LostFocus + * ComboBox.cs: Pass off focus to the text control properly. + +2006-07-12 Alexander Olk + + * FileDialog.cs: Added GetFoldersOnly to MWFVFS + * FolderBrowserDialog.cs: Almost a complete rewrite. + - Better support for Environment.Specialfolders + - Added support for MWFVFS + - Made setting SelectedPath work + +2006-07-12 Jackson Harper + + * Control.cs: Optimze getting all the controls. + +2006-07-11 Jackson Harper + + * ContainerControl.cs: Override SETFOCUS in the container control, + so that it is not selected on mouse click. + +2006-07-11 Peter Dennis Bartok + + * LinkLabel.cs: Hack to handle Shift-Tabbing to the linklabel. + Hopefully we will have a better way once all of focus is complete. + +2006-07-11 Peter Dennis Bartok + + * ThemeWin32Classic.cs: Commented out some debug code and fixed + a compile error with csc. + +2006-07-11 Jackson Harper + + * Control.cs: When hiding a control only select the next control + if the current control was focused. + - Don't handle enter/leave when setting/killing focus, this is + done by the container control. + - Remove is_selected, it's not needed anymore. + - Add utility methods for selecting a child control, and for + firing the Enter/Leave events. + * ContainerControl.cs: When a control is activated fire the + enter/leave events. + - Don't wrap when processing the tab key, so that focus can be + moved outside of the container. + - Use the correct active control + +2006-07-11 Jackson Harper + + * ComboBox.cs: Remove some debug code that was blinding me. + * UpDownBase.cs: These controls actually aren't implicit, they are + visible to the user. + +2006-07-10 Chris Toshok + + * DataGrid.cs: move back to the is_adding boolean field. god i + hate this is_editing/is_adding/is_changing stuff. + +2006-07-10 Chris Toshok + + * DataGridTableStyle.cs: just check if the property type is bool. + if it is, use DataGridBoolColumn, otherwise DataGridTextBoxColumn. + Don't use CanRenderType. + + * DataGridTextBoxColumn.cs: set the value to DBNull.Value, not "", + if our text == NullText. Remove CanRenderType. + + * DataGridBoolColumn.cs: nuke CanRenderType. + + * DataGrid.cs: reenable some code to end the current edit inside + of set_CurrentCell. This fixes the other 1.1.16 regression. + Also, remove rowhdrs_maxheight and just use rowhdrs_area.Height. + Also, remove the visible_row_count arg from CalcRowHeaders, since + we don't need to worry about the actual height of the area. + +2006-07-10 Chris Toshok + + * DataGridTextBoxColumn.cs: if when we Commit we're in navigate + mode, just return. + + * DataGridTextBox.cs: change "isedit" to "isnavigating" to reflect + the real sense of the IsInEditOrNavigateMode property (true = + navigate, false = edit). Also, update OnKeyPress to reflect this. + + * DataGridTableStyle.cs (CreateColumnsForTable): even if the + column style exists, we still need to set its property descriptor + to match up with our list manager. + +2006-07-10 Chris Toshok + + * ThemeWin32Classic.cs: implement the new row/header painting + approach. The parent row painting will likely go away and + replaced with label controls, but the rest seems to work ok (and + efficiently). + + * Theme.cs: change the way we draw datagrid rows. we don't draw + the row headers as a block now. Instead we draw them in the + normal draw-row loop. Add some calls for drawing parent rows and + relation rows. + + * DataGridTableStyle.cs: add tons of ArgumentExceptions if this is + a default table style. Set the defaults from ThemeEngine.Current, + not SystemColors. Fix lots of misc issues with property setters. + + * DataGrid.cs: move loads of style information out of this class + as it's being duplicated with DataGridTableStyle. keep track of a + special DataGridTableStyle for the properties we used to mirror + here. Switch all the style properties to access this table style + instead of instance fields of this class. Also add a internal + class to represent parent rows (more needs to be stored here, like + the selection state from the parent table, as well as the + expansion state.) Also, for datasources with relations, do the + right thing for collapse/expand, and add support for the + navigation/parent row buttons. + + Lastly, fix the crash in the 1.1.16 build. + + * GridTableStylesCollection.cs: make the explicit interface + implementations call the class's methods as opposed to duplicating + them. + + * DataGridTextBoxColumn.cs: set the x/y offset of the textfield to + 0 so the text doesn't jump around when we move the cursor. + +2006-07-10 Jackson Harper + + * TextBoxBase.cs: + * ListBox.cs: Match MS's ToString (this makes debugging focus + stuff infinitely easier). + +2006-07-10 Jackson Harper + + * Control.cs (SelectNextControl): When checking the control's + parent use this instead of ctrl.parent so that null can be passed + to SelectNextControl. (I have unit tests for this). + - Remove unused var. + +2006-07-10 Chris Toshok + + * CurrencyManager.cs: correct one regression, the removal of the + finalType field. Also, add a MonoTODO on CanAddRows, implement + Refresh() correctly, and fix some event emission in + ListChangedHandler. + +2006-07-07 Alexander Olk + + * FileDialog.cs: Don't use brackets for new folders if they exist + under *nix. Instead use -(number of existing folders +1). + +2006-07-07 Alexander Olk + + * FileDialog.cs: + - Fixed really nasty bug #78771 + - Don't block the whole GUI when reading directories with a lot of + entries. Use an other thread instead and call BeginInvoke to + update the ListView in MWFFileView + +2006-07-07 Chris Toshok + + * Control.cs (Dispose): release any Capture when disposing. + +2006-07-07 Chris Toshok + + * LinkLabel.cs (Select): if we chain up to the parent, set + focused_index to -1 so we'll search for the first available link + the next time the user tabs into us. Also, if the direction is + backward and focused_index == -1, start the search from the last + element. + +2006-07-07 Chris Toshok + + * LinkLabel.cs (CreatePiecesFromText): if the link's range piece + is beyond the end of the text, don't do anything. + (CreateLinkPieces): set our ControlStyles.Selectable based on + whether or not we have any links. + (Link.Invalidate): use a loop instead of foreach. + (Link.set_Start): null out owner.sorted_links so it'll be + recreated by CreateLinkPieces. + +2006-07-06 Chris Toshok + + * LinkLabel.cs: revert the SetStyle change. + +2006-07-06 Chris Toshok + + * LinkLabel.cs (.ctor): SetStyle Selectable to true. + (OnEnableChanged): s/Refresh/Invalidate + (OnGotFocus): if we have a focused index already, refocus it (so + if we mouse out/in to the window it'll focus the right link). + (OnKeyDown): move the tab handling out of here. + (OnLostFocus): don't set focused_index to -1, so we can refocus it + when we lose focus. + (OnMouseDown): don't Capture here - Control handles it. Also, + focus the active link. + (OnMouseUp): don't deal with Capture. + (OnPaintBackgroundInternal): remove. + (OnTextAlignChanged): CreateLinkPieces before calling the + superclass's method. + (OnTextChanged): call CreateLinkPieces before calling superclass's + method. + (ProcessDialogKey): handle Tab here, and call Select(bool,bool) to + move around. + (Select): implement this, moving the selection between different + links, and call parent.SelectNextControl if we don't have another + link to focus in the given direction. + (CreateLinkPieces): call Invalidate instead of Refresh. + +2006-07-06 Chris Toshok + + * ThemeWin32Classic.cs: DrawLinkLabel changes to accomodate the + new LinkLabel internals. + + * LinkLabel.cs: fairly major rewrite. get rid of all the loops + over pieces looking for active/focused/etc links. also, deal with + runs of text (and links) with embedded \n's in them, and use + MeasureCharacterRanges instead of MeasureString to figure out the + regions text occupies. Lastly, do the usual s/Refresh/Invalidate + two-step. + +2006-07-04 Jackson Harper + + * XplatUIX11.cs: Enable key auto repeat. If the user doesn't have + XKB or key auto repeat, do it manually. Without key auto repeat, + when a key is held down we get key press, key release, key press, + key release, ... with auto repeat we get key press, key press, key + press ..., and then a release when the key is actually released. + +2006-07-03 Jackson Harper + + * TabControl.cs: + * ThemeWin32Classic.cs: Tabs do not obey normal background color + rules, they are always control color regardless of the background + color. + +2006-07-02 Alexander Olk + + * FileDialog.cs: Added internal class MWFConfig. + Removed Registry support and replaced it with support for the new + MWFConfig class. See MWFConfig comments for more information. + +2006-06-30 Alexander Olk + + * ThemeWin32Classic.cs: Added RadioButton and CheckBox focus + rectangle. Added some patches from eno from bug #78490 and fixed + the arrow position for small up and down CPDrawScrollButtons. + +2006-06-30 Jackson Harper + + * InternalWindowManager.cs: Remove some debug code. + * Form.cs: When an MdiParent is set to null, the window is + "detatched" and becomes a normal window. + * MdiClient.cs: Don't bring the new child form to the front until + it is activated (setting it as active does this), this makes the + previously active forms titlebar get redrawn as inactive. + +2006-06-29 Peter Dennis Bartok + + * PrintDialog.cs: Labels need a tab index too, otherwise they overlap + with later controls + +2006-06-29 Mike Kestner + + * MenuAPI.cs: handle arrow keys in keynav state. Go active on down + arrow in keynav state. Fixes #78682. + +2006-06-28 Atsushi Enomoto + + * PrintDialog.cs: Reorder, relayout, remove extra code, set tab + order (fixes #78393) + +2006-06-28 Jonathan Pobst + + * AccessibleRole.cs, AccessibleStates.cs, AnchorStyles.cs, + ArrangeDirection.cs, ArrangeStartingPosition.cs, ColorDepth.cs, + ControlStyles.cs, DataGridViewImageCellLayout.cs, DrawMode.cs, + FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs, + GridItemType.cs, HelpNavigator.cs, ImeMode.cs, ItemActivation.cs, + ItemBoundsPortion.cs, Keys.cs, ListViewAlignment.cs, + PictureBoxSizeMode.cs, PropertySort.cs, SelectionMode.cs, + Shortcut.cs, SizeGripStyle.cs, SortOrder.cs, StructFormat.cs, + TextFormatFlags.cs, ToolBarAppearance.cs, ToolBarButtonStyle.cs, + ToolBarTextAlign.cs, View.cs: 2.0 Changes to existing 1.x + enumerations (FlagsAttribute, SerializableAttribute, added/removed + values) + +2006-06-28 Mike Kestner + + * ComboBox.cs: implement scroll wheel support. Fixes #78360. + +2006-06-28 Atsushi Enomoto + + * PropertyGrid.cs, + PropertyGridTextBox.cs : explicitly set BackColor to differentiate + item lines from other area (It also makes BackColor consistent and + compatible with .NET). Fixed bug #78564. + +2006-06-28 Jonathan Chambers + + * PropertyGrid.cs: refresh toolbar when PropertySort is set. + Patch from Eno for #78555. + +2006-06-27 Chris Toshok + + * ThemeWin32Classic.cs: s/grid.grid_drawing/grid + + * DataGridColumnStyle.cs: same. + + * DataGrid.cs: Roll DataGridDrawingLogic.cs into this file. + + * DataGridDrawingLogic.cs: nuke. + +2006-06-27 Chris Toshok + + * DataGridTableStyle.cs: clean up the constructors, and build the + list of child relations for this table. I have no idea if this is + where we should be doing it (it probably isn't), but since we're + already iterating over the properties.. + + * DataGrid.cs: add row resizing. for now we add a DataGridRow + struct and array for keeping track of row information, similar to + what's shown in a hack on + http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx. + + * Theme.cs: be consistent about the naming of DataGrid methods, + prefering ColumnWidths and RowHeights over columnsWidths and + RowsHeights. + + * ThemeWin32Classic.cs: same, and also add support for variable + sized rows (and the +/- expansion icons for related rows). + +2006-06-27 Peter Dennis Bartok + + * TextBoxBase.cs: Applied Eno's patch from #78660 + +2006-06-27 Peter Dennis Bartok + + * Form.cs (ScaleCore): We don't want to scale our form if it's + state is minimized or maximized, but we still need to scale our + child windows. Also, added try/finally block to ensure layout + gets reset (Fixes #78697) + +2006-06-27 Peter Dennis Bartok + + * Control.cs: Added 2.0 Scale(SizeF) method (Fixes 78700) + +2006-06-27 Peter Dennis Bartok + + * Form.cs: Fixed c+p error and added check to resize form if minimum + size is bigger than current size (Fixes #78709) + +2006-06-26 Peter Dennis Bartok + + * ThemeEngine.cs (..ctor): Properly use ToLower() (Fixes #78704) + +2006-06-26 Mike Kestner + + * ComboBox.cs: only do Keypress handling in the combo when there + are items in the collection. Fixes #78710. + +2006-06-26 Chris Toshok + + * Binding.cs: make this work bi-directionally. also, clear up + other mixups between Push/Pull Data (e.g. we're supposed to pull + data when validating). + + * BindingManagerBase.cs: trim some fully qualified collection + types. + + * PropertyManager.cs (get_IsSuspended): oops, fix this check. + +2006-06-23 Chris Toshok + + * PropertyManager.cs: It appears (according to the unit tests) + that PropertyManager doesn't use + PropertyDescriptor.AddValueChanged to track propery value changes + in its datasource, but uses the same scheme as Binding, where it + looks for a Changed event and binds to it. + + Also, according to the docs, IsSuspended always returns false for + a property manager with a non-null datasource. + +2006-06-22 Peter Dennis Bartok + + * Form.cs: (ShowDialog): If we're returning a forced cancel we still + need to update the actual DialogResult. (Fixes #78613) + +2006-06-22 Peter Dennis Bartok + + * Form.cs (ShowDialog): Release any captures before running the + new message pump (fixes #78680) + +2006-06-22 Mike Kestner + + * ListView.cs: Layout column widths properly in details mode even + if HeaderStyle.None is set. Fixes #78691. + +2006-06-21 Peter Dennis Bartok + + * FileDialog.cs: Fixed taborder to match MS. Fixes #77873 partially. + +2006-06-21 Peter Dennis Bartok + + * Control.cs (ContainsFocus): Using new driver method to get focused + window, instead of trying to use internal tracking var, which can + recursion issues (Fixes #78685) + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs, + XplatUIWin32.cs: Added GetFocus method to return focused window + +2006-06-21 Gonzalo Paniagua Javier + + * ColorDialog.cs: when the mouse button is pressed inside the color + matrix, don't let the cursor move out of it until the button is + released, which is the behavior on windows. Changed 'colours' by + 'colors' to use the same word consistently. + +2006-06-21 Chris Toshok + + * DataGrid.cs: add in some basic navigation stuff (navigating to a + child relation and back, using a stack). Also, remove + GetDataSource and the code that calls it - it's not needed. Also, + track CurrencyManager.ListName's removal. + +2006-06-21 Chris Toshok + + * CurrencyManager.cs: push some of the original type checking from + BindingContext.CreateBindingManager to here, and remove some of + the finalType stuff. Need more tests to make sure I've got the + ListName part right, and we might need more in SetDataSource. + + * PropertyManager.cs: add a ctor that takes just the datasource, + and no property name. Make SetDataSource work with a null + property_name, and make Current return the data_source if the + property descriptor is null. this makes 'string foo = "hi"; + BindingContext[foo].Current' return "hi" as it should. + + * RelatedCurrencyManager.cs: make this code more generic - there's + no reason the parent manager has to be CurrencyManager, and + there's no reason to pass the DataRelation. It suffices to use a + BindingManagerBase and PropetyDescriptor. + + * RelatedPropertyManager.cs: make a similar change here. + + * BindingContext.cs: make CreateBindingManager the beautiful, tiny + flower I knew it could be. + +2006-06-20 Chris Toshok + + * PropertyManager.cs: the PropertyChangedHandler is invoked when + data in the source has changed and we need to update the control, + so s/PullData/PushData. + + * CurrencyManager.cs: Refresh is meant to update the control from + data in the datasource. So, s/PullData/PushData. + + * BindingContext.cs: add more ugliness (we weren't handling the + case where data_source = DataTable and data_member = column_name). + + * Binding.cs: fix PushData/PullData mixup. Both are interpreted + from the perspective of the datasource. PullData pulls from the + control, PushData pushes to the control. + +2006-06-20 Chris Toshok + + * BindingContext.cs: rewrite the CreateBindingManager code to + handle navigation paths more or less properly. This could + definitely stand some more work, in particular to push the + recursion up to the toplevel. But that relies on fixes in other + places (System.Data comes to mind). + + Also, move to a flat hashtable (and encode the twolevel nature of + the dictionary into the hash key). This lets us implement the + IEnumerable.GetEnumerator method. + + * RelatedCurrencyManager.cs: new class. Update our view based on + our relation and our parent CurrencyManager's position. + + * CurrencyManager.cs: split out some logic from the ctor into + SetView, so it can be called from the new RelatedCurrencyManager + subclass. + + * RelatedPropertyManager.cs: new class. Update our datasource + based on the position of our parent CurrencyManager. + + * PropertyManager.cs: split out some logic from the ctor into + SetDataSource, so it can be called from the new RelatedDataSource + subclass. Also, make the Current getter return the value + of the PropertyDescriptor, not the data_source. + + * Binding.cs: no need to duplicate the string splitting code here. + +2006-06-19 Peter Dennis Bartok + + * Control.cs: + - set_Enabled: OnEnabledChanged is not called if the inherited state + of the control is not altered, even though we might be changing the + internal state of the control (#78458) + - set_Enabled: (Re)Moved the enabling/disabling of the window to + OnEnabledChanged, to allow easy altering of any child window state + - OnEnabledChanged: Added code to enable/disable driver window state + - OnParentEnabledChanged: Instead of firing the event, call + OnEnabledChanged, which will fire the event and also a) set driver + window state and pass the enabled state to any grandchildren (#78458) + +2006-06-19 Jackson Harper + + * InternalWindowManager.cs: We don't set the cursor explicitly + thats done via the response to NCHITTESTs. + - Don't need to adjust for titlebar heights anymore, the + coordinates are coming in the correct coordinates now (see peters + last patch). + + +2006-06-19 Peter Dennis Bartok + + * XplatUIX11.cs (GetMessage): WM_NCxBUTTONx messages were wrongly + being translated relative to whole window, instead of client window. + That caused broken offsets on mouseclick (and caused gas for our + InternalWindowManager) + +2006-06-15 Peter Dennis Bartok + + * TextControl.cs: + - MoveCaret: Implemented PgUp, PgDown, CtrlPgUp and CtrlPgDown + - Undo(): Added replay of cursor move on DeleteChars action; added + calling Undo() again if a recorded cursor move is invalid (to + ensure that some action is performed on Undo) + * TextBoxBase.cs (ProcessKey): Added handling of PgUp and PgDown (#78482) + +2006-06-16 Jackson Harper + + * MdiClient.cs: Instead of just sizing maximized windows when + there is a resize we also have to adjust the Y of minimized + windows, so they stay pinned to the bottom of the mdi container. + - Eliminate separate tracking of the active control, we can just + get this from the controls collection. + - Paint the decorations for the newly activated titlebar so we get + a pretty blue bar. + * InternalWindowManager.cs: + * ThemeWin32Classic.cs: Minimized windows get all three buttons + even if they are a tool window. + +2006-06-15 Peter Dennis Bartok + + * TextControl.cs (Undo): Handle non-existent cursor locations in the + undo buffer, these can happen when text was deleted and the cursor + was recorded first. Since we will also have a recorded cursor + after the delete this is not an issue. (Fixes #78651) + +2006-06-14 Peter Dennis Bartok + + * AccessibleObject.cs: Remove dependence on Control.is_selected; + instead properly track control states internally (allows us to + remove is_selected from Control) + +2006-06-14 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: correctly generate the 1bpp mask for images + whose width is not a multiple of 8. + +2006-06-13 Jackson Harper + + * MdiClient.cs: Only maximize the next child if the current one + is maximized. + +2006-06-13 Chris Toshok + + * DataGridColumnStyle.cs: Invalidate the column when HeaderText is + modified. Also, guard against grid or grid_drawing being null in + Invalidate. + + * DataGrid.cs: Reformat tons of getters/setters. In the + DataMember setter, just call SetNewDataSource instead of + duplicating some of its functionality. In SetNewDataSource, don't + check ListManager for null, since the property getter creates the + object if needed. + + * DataGridTableStyle.cs: don't set TableStyle or call + SetDataGridInternal on the column here, it's done in + GridColumnStylesCollection.Add. + + * GridColumnStylesCollection.cs: fix all the explicit interface + implementations to just call our methods. Nuke AddInternal() and + move the body of it to Add(). Also, add a call to + column.SetDataGridInternal to Add(). + + * DataGridTextBoxColumn.cs (.ctors): call this() instead of + base()+duplicate code. Also, use the Format property instead of + format to generate an Invalidate ala MS. Lastly, create the + textbox here, unconditionally. + (set_Format): call Invalidate. + (get_TextBox): no need to call EnsureTextBox. + (Commit): remove the message box. + (Edit) remove the call to EnsureTextBox. + (EndEdit): call HideEditBox instead of ReleaseHostedControl. + (EnterNullValue): no need to check textbox for null. + (HideEditBox): no need to check textbox for null. + (SetDataGridInColumn): add the textbox to the grid's controls. + (EnsureTextBox): nuke. + +2006-06-13 Jackson Harper + + * MdiWindowManager.cs: Hook up to the maximized menus paint event + and redraw the buttons when needed. Unhook when the window is + unmaximized. + * MainMenu.cs: Add an internal Paint event, the mdi window manager + needs this so that it can redraw its buttons when the menu is + repainted. + * InternalWindowManager.cs: + * Form.cs: The method order has changed for DrawMaximizedButtons, + so that it can be a PaintEventHandler. + +2006-06-13 Jackson Harper + + * MdiClient.cs: When we close a maximized mdi window, the next mdi + window is activated and maximized, even if it wasn't before. + - When a new window is activated repaint the decorations of the + old one, so that it no longer has the Active "look" (the blue + titlebar). + * InternalWindowManager.cs: Open up CreateButtons to base classes + so they can recreate the buttons on state changes. + - If a window is maximized give it all three buttons + * MdiWindowManager.cs: Create the titlebar buttons when the state + is changed, this is needed because a toolwindow will not have all + three buttons until it is maximized. + +2006-06-13 Atsushi Enomoto + + * ProgressBar.cs : PerformStep() shouldn't exceed Maximum. + Fixed bug #78609. + +2006-06-12 Jackson Harper + + * KeysConverter.cs: Make sure we handle the Ctrl special case + if its the only key. + +2006-06-12 Jackson Harper + + * Theme.cs: Add a method to get the size of a managed window + toolbar button. + * InternalWindowManager.cs: Remove the ButtonSize property, this + should be retrieved from the theme. + * MdiWindowManager.cs: Get the button size from the theme + * ThemeWin32Classic.cs: Make the method to get the managed window + titlebar button size public. + - Handle the different button sizes of maximized toolwindows + (should match any maximized window). + - Get the titlebar height from the theme, not the WM (which gets + it from the theme). + +2006-06-12 Jackson Harper + + * InternalWindowManager.cs: Handle NC Double Clicks, passing the + event down to the mdi window manager. + - Expose some extra stuff to base classes + - Make sure to end the Capture on an NC Mouse up, so that we can + get double clicks properly, and the sizing doens't stick. + - When doing PointToClient contain it in the workable desktop + area, this prevents windows from changing size when the cursor is + pulled outside of the working area while sizing. + * MdiWindowManager.cs: When we get a double click maximize the + window. + - Reset the cursor after handling mode changes. + +2006-06-12 Peter Dennis Bartok + + * XplatUIX11.cs (WorkingArea): Read the actual workarea for the + current desktop, instead of just assuming a 0, 0 origin. This + is needed for our internal window manager, to know the top + margin of the desktop + +2006-06-12 Chris Toshok + + * DataGrid.cs (set_CurrentCell): concede focus as we move around. + we need this to get rid of the selected background in the bool + column. + (CancelEditing): move the ConcedeFocus call to above the Abort + call. Also, set is_changing to false and invalidate the row + header if we were changing before. + (ProcessKeyPreviewInternal): remove, since noone outside this + class calls it anymore. Roll the code into ProcessKeyPreview. + (EndEdit): remove the internal version. + (InvalidateCurrentRowHeader): make private. + + * DataGridBoolColumn.cs: simplify this class a bunch. remove the + Keys.Escape handling (and with it the last call to + DataGrid.EndEdit from outside the class.) + + +2006-06-12 Chris Toshok + + * DataGridTextBox.cs (.ctor): isedit defaults to false. + (OnKeyPress): set isedit to true. + (ProcessKeyMessage): remove Keys.Enter handling from here. it's + already handled by the grid. + + * DataGrid.cs (set_CurrentCell): more work here. it's still not + right. ugh. + (set_DataSource): SetDataSource always returns true, so stop + putting it in an if statement. + (EndEdit): get rid of some {}'s + (ProcessGridKey): return true in case Keys.Escape. + (ProcessKeyPreviewInternal): only handle KEYDOWN messages. + (ConnectListManagerEvents,DisconnectListManagerEvents): connect to + PositionChanged, stopped connecting to CurrentChanged. + (GetDataSource): simplify this a bunch. + (SetDataSource): change return type from bool to void. + (OnListManagerPositionChanged): rename OnListManagerCurrentChanged + to this, and make sure we don't set ListManager.Position inside + set_CurrentCell. + (OnListManagerItemChanged): if we're passed an actual index, + redraw that row. + + * CurrencyManager.cs (set_Position): don't call PullData here. + +2006-06-09 Jackson Harper + + * TreeNode.cs: Recalculate the visible order before doing the + Expand/Collapse Below calls, because those calls generate an + expose. + - Reduce calls to the TreeView property, which is mildly expensive + by using a local var. + * Form.cs: Layout the MDI child windows when creating the parent + form. + - Don't use the internal constructor anymore + * MdiClient.cs: use the parent form width/height (if available) + when laying out the child windows, we do this because the + mdiclient isn't docked yet when the initial layout is done. + - Don't need an internal constructor anymore. + +2006-06-08 Gonzalo Paniagua Javier + + * FileDialog.cs: handle access errors when trying to create a folder + or changing to a directory. No need to initialize out parameters. + +2006-06-08 Alexander Olk + + * FileDialog.cs: Append a number when creating a new folder if the + folder already exists (use parenthesis instead of square brackets) + +2006-06-08 Alexander Olk + + * FileDialog.cs: + - Disabled registry support for windows and added better registry + error checking for other systems (need to investigate why it + works perfectly on my system) + - If a folder already exist show an error MessageBox instead of + trying to create an indexed name. + - Fixed a non intentional typo. + +2006-06-08 Gonzalo Paniagua Javier + + * FileDialog.cs: (SetFileName) don't crash if CurrentRealFolder is null. + +2006-06-08 Alexander Olk + + * FileDialog.cs: When creating a new folder don't crash if the + folder already exists. + +2006-06-08 Alexander Olk + + * FileDialog.cs: Allmost a complete rewrite. + - added a "virtual" file system that handles the differences + between unix and windows file systems (especially the directory + structure). Moved most of the directory and file handling code + into the vfs. + Added vfs classes: MWFVFS, FileSystem, WinFileSystem, + UnixFileSystem and FSEntry. + - Recently used folder/directory, size, location and used file names + (file name ComboBox) are now stored in the registry and get read + before the dialog shows up (fixes part 6 of bug #78446). + - Creation of new folders/directories is now possible (context menu + or ToolBar). Added TextEntryDialog for this that fills in the gap + until ListView.LabelEdit works. + - Fixed cursor handling (bug #78527) and focus handling for + PopupButtonPanel + - Various "Search in" ComboBox enhancements. The content of the + dropdown listbox now almost matches ms. + - Changed the behaviour when the user switches to SpecialFolder + Recent to show the ListView in View.Details. + - Beside using the ToolBar to change the View property of the + file ListView it is now possible to use the context menu too. + +2006-06-08 Alexander Olk + + * ComboBox.cs: Don't create a new ObjectCollection when an item + gets inserted. Just insert the item in the existing object_items + ArrayList. + +2006-06-08 Jackson Harper + + * OpenTreeNodeEnumerator.cs: Fix to use the Parent property, so + that the treeview and root node checks are done also, this fixes a + regression i caused in the unit tests. + +2006-06-07 Wade Berrier + + * RichTextBox.cs: More ISO8859-1 -> unicode + +2006-06-07 Mike Kestner + + * ComboBox.cs : use items to hold highlight/selection so that + collection insertions don't require synchronization. + +2006-06-07 Jackson Harper + + * InternalWindowManager.cs: Simplify (and FIX) the window sizing + routine. We now always keep the sized edge at the cursor instead + of computing movement and adjusting rects. There is one buglet + with this method though when the cursor is moved over area that + the window can not expand too (such as the toolbars on the desktop). + +2006-06-07 Gonzalo Paniagua Javier + + * XplatUIX11.cs: (IsEnabled,IsVisible) the window handler can be null + here. Fixes crash on startup in AlbumSurfer. + +2006-06-07 Peter Dennis Bartok + + * RichTextBox.cs: Replaced embedded ISO8859-1 chars with proper unicode + values + +2006-06-07 Gonzalo Paniagua Javier + + * XplatUIX11.cs: call XPending and XNextEvent inside the same lock() + statement to avoid calling XNextEvent which will block if another thread + took the event that we were expecting. Fixes bug #78605. + +2006-06-07 Mike Kestner + + * ListView.cs : isolated checkbox clicking from the selection logic. + Toggle check state on item doubleclicks. Really fixes #78454 part2. + +2006-06-06 Carlos Alberto Cortez + + * Form.cs: Check that the value passed to Form.DialogResult + is a valid enum value. + +2006-06-06 Gonzalo Paniagua Javier + + * FileDialog.cs: disable the up button when in 'Recently Used' or 'My + Computer'. Clicking it in the network view goes to 'My Computer'. + Added CIFS filesystem type. Display the mount point of filesystems. + Avoid duplicate mount points (happens for me with CIFS); + +2006-06-06 Jackson Harper + + * InternalWindowManager.cs: Draw the maximized windows buttons + when resizing. + +2006-06-06 Gonzalo Paniagua Javier + + * Form.cs: when running a modal dialog, ignore WM_CLOSE requests for + all other dialogs. Fixes bug #78585. + +2006-06-06 Mike Kestner + + * CheckedListBox.cs : apply CheckOnClick behavior to unchecking too. + Only invalidate checkbox on checkstate changes to avoid flicker. + * ListBox.cs : avoid unselect/select when clicking selected item. + avoid reselection flicker for already multiselected items. + Fixes #78382. + +2006-06-06 Jackson Harper + + * MdiWindowManager.cs: When the window is closed do an NCRecalc on + the parent form so that the menu is removed if needed. + +2006-06-06 Mike Kestner + + * ListBox.cs : add ScrollWindow call to UpdateTopItem. fix + Prev/Next/PrevPage/NextPage/Home/End index calculation. Fixes #78559. + +2006-06-06 Mike Kestner + + * CheckedListBox.cs : rebuild check collection on Add. Fixes #78426. + + +2006-06-06 Jackson Harper + + * Control.cs: Use the property (instead of the field) to get the + default cursor so it is instantiated correctly. + * InternalWindowManager.cs: The OS doesn't give us an NCPAINT with + resizes so we need to manually repaint the window decorations here. + - Set the titlebar button locations as soon as they are created, + otherwise they are not set correctly on win32. + +2006-06-06 Chris Toshok + + * CurrencyManager.cs (set_Position): call PullData before + OnCurrentChanged. + (AddNew): after calling IBindingList.AddNew, update our + listposition, and call OnCurrentChanged/OnPositionChanged (without + calling PullData). + (OnCurrentChanged): remove the call to PullData from here. + (OnItemChanged): remove the call to PushData from here. + (OnPositionChanged): change the test from == null to != null to + match the other methods. + (ListChangedHandler): the grossest part of the patch. Implement + this such that it passes the unit tests in CurrencyManagerTest and + the output more or less matches that of MS's implementation. + +2006-06-06 Mike Kestner + + * ListView.cs : only update check state on single click. + * ThemeWin32Classic.cs : fix focus drawing for details view without + fullrowselect. Fixes #78454. + * XplatUIX11.cs : fix for double click emission. + +2006-06-05 Jonathan Chambers + + * PropertyGridView.cs : Applied Atsushi's patch to fix + font dialog bug (#78197). + +2006-06-05 Jackson Harper + + * TreeNode.cs: Compute the next node for expanding/collapsing + correctly. We now factor in nodes without a NextNode + correctly. (Fixes somes cases in nunit-gui). + * InternalWindowManager.cs: Set the bounds when updating the + virtual position of a tool window. + +2006-06-05 Chris Toshok + + * DataGrid.cs: rename cached_currencymgr to list_manager. + (set_CurrentCell): move SetCurrentCell code here, and clean it up + some. + (CurrentRow, CurrentColumn): single accessors so we can make the + cursor movement code a lot easier to understand. + (CurrentRowIndex): implement this in terms of CurrentRow. + (BeginEdit): clean this up a bit. + (CancelEditing): sort out the is_editing/is_changing/is_adding + stuff a little. + (EndEdit): minor changes. + (OnKeyDown): add a comment about a (most likely) unnecessary + check. + (OnMouseDown): cancel editing when we click on a row header. And + use the CurrentRow setter, not CurrentCell. + (ProcessDialogKey): directly call ProcessGridKey. + (UpdateSelectionAfterCursorMove): factor out this common block of + code (it's used everywhere that we move the cursor by updating row + or column). + (ProcessGridKey): pretty substantial overhaul. Use the + CurrentRow/CurrentColumn properties to make the code a lot more + readable. Only use the CurrentCell property when we have to + modify both row and column at once. Tab behavior is still broken, + and Delete is untested. + (Select): if we have no selected rows, set selection_start to + @row. + (EditCurrentCell): rename EditCell this. It was only ever invoked + with CurrentCell as the arg, so drop the arg and rename it. + + * DataGridColumnStyle.cs: clean up the constructors a little, and + drop CommonConstructor(). + + * DataGridTextBox.cs (.ctor): set accepts_return to true so we + actually get notified when the user hits it. + (ProcessKeyMessage): *substantially* simplify this method. + There's no reason (that I can see) for the textbox to be making + calls into the datagrid at all. Remove all of them but the ones + for Enter handling. those will take some more work. + + * DataGridTextBoxColumn.cs (ConcedeFocus): implement this by + calling HideEditBox. + (HideEditBox): if we have an active textbox, render it invisible + without causing a re-layout of the datagrid. + +2006-06-05 Mike Kestner + + * ListView.cs : fix NRE crasher when focuseditem is cleared by + collection changes by resetting it to Items[0]. Fixes #78587. + +2006-06-05 Gonzalo Paniagua Javier + + * MessageBox.cs: if the height of the text is larger than the icon_size, + use that. Fixes bug #78575. + +2006-06-05 Jackson Harper + + * TreeView.cs: Fix line drawing when scrolling. To do this each + node is basically responsible for drawing its entire horizontal + area. When drawing a node it draws its parent node lines if + needed. + - Adjust the clip area to the viewport rectangle + - Fix Left/Right key handling to match MS. (It expand/collapses + and moves to parents/first child but does not move selection to + sibling nodes). + - Fix SetTop to work with new bound calculation code + - When scrollbars are no longer needed we need to reset scrolling + vars and recalculate the visible order so the redraw is correct + * TreeNode.cs: We can't expand/collapse nodes with no children. + +2006-06-03 John Luke + + * X11DesktopColors.cs: dllimport the exact gtk and gdk versions + so the colors work without dev packages + +2006-06-02 Peter Dennis Bartok + + * Control.cs + - Select: Implemented to just use activate. Seems to match MS + behaviour closest. Documented to only do actual control walking + based on it's parameters if in a container control so I moved + the code there. + - Removed selection check logic from our internal Select() method + * ContainerControl.cs: + - Select: Moved selection logic from Control here, since MS documents + that containers obey the bool arguments. No longer calling base + +2006-06-02 Jackson Harper + + * TreeView.cs: If the selected node isn't changed when we get + focus update the previously selected node so that we see the + selection box. + +2006-06-02 Mike Kestner + + * ComboBox.cs: restructure grab and general mouse event handling. + Make the composite control raise mouse events like it was a single + control for leaves/enters/motion/up/down events. fix dropdown list + coordinate mangling and refactor it into the scrollbar subclass to + reduce code duplication. Fixes #78282 #78361 and #78457. + +2006-06-02 Mike Kestner + + * ScrollBar.cs: remove Capture setting/clearing, as it happens + automatically in the Control.WndProc. + +2006-06-01 Gonzalo Paniagua Javier + + * FileDialog.cs: fix crash when running SharpChess, which sets the + FilterIndex to 2 with only one Filter. + +2006-06-01 Gonzalo Paniagua Javier + + * ToolBar.cs: add SizeSpecified property. + * ToolBarButton.cs: when the ButtonSize is calculated by the container, + try to figure out our real size, otherwise fallback to what the + container says. + +2006-06-01 Peter Dennis Bartok + + * XplatUIX11.cs (DefWndProc): WM_MOUSEWHEEL needs to be passed up + * Control.cs (WndProc): MS always calls the DefWndProc to pass + up the event + +2006-06-01 Mike Kestner + + * ListView.cs: revamp the focus management in ListView. It still + causes churn of LostFocus/GotFocus emissions on clicks, but it's + better than not handling focus at all. Will revisit when pdb feels + the general focus handling is solid. Fixes #78526. + +2006-06-01 Jackson Harper + + * TreeView.cs: Set the default border style in the constructor. + - Move painting to use OnPaintInternal instead of capturing + WM_PAINT, this is the correct way of doing things + - UpdateBelow shouldn't invalidate the scrollbar area + - Cap the top on update below in case the node was above the top + of the viewport rectangle. + - ExpandBelow and Collapse below need to obey Begin/End Update. + * TreeNode.cs: Make is_expanded internal so the treenode + collection can change it without firing the whole event chain. + * TreeNodeCollection.cs: When clearing all the child nodes make + sure to recalc the visible order. + - Improve algo for remove the top node + +2006-06-01 Peter Dennis Bartok + + * XplatUIX11.cs (SetFocus): Make sure we can handle re-entrancy due to + SendMessage directly calling window procedures, which in turn might + call SetFocus() + +2006-06-01 Peter Dennis Bartok + + * Control.cs: Don't handle WM_SETFOCUS if the same window already + has focus (works around X11 sending a FocusIn after our SetFocus) + * XplatUIX11.cs: Send KILLFOCUS before setting SETFOCUS on new window + +2006-06-01 Alexander Olk + + * Mime.cs: Fix for the NET_2_0 build. + NameValueCollection needs StringComparer now. + +2006-05-31 Chris Toshok + + * DataGridDrawingLogic.cs (FromPixelToColumn): modify this to also + return (via an out parameter) the starting X of the column. + (UpdateVisibleColumn): track change to FromPixelToColumn. + (HitTest): add a ColumnResize case here. + (DrawResizeLine): new function, probably poorly named. + + * DataGrid.cs (.ctor): get rid of cached_currencymgr_events. We + only need to keep one reference. + (set_ListManager): same. + (OnMouseDown): call HitTest instead of grid_drawing.HitTest. + Also, add support for HitTestType.ColumnResize. + (OnMouseMove): add column resize behavior here, and change the + cursor to the correct one as we move around the datagrid. + (OnMouseUp): terminate the column resize if we're resizing. + (ProcessGridKey): from the MS docs, Alt-0 enters the null value + for the current cell. + (ConnectListManagerEvents): use cached_currencymgr. + (DisconnectListManagerEvents): fill this in, using + cached_currencymgr. + (SetCurrentCell): remove cached_currencymgr_events handling. + (SetDataMember): only call DisconnectListManagerEvents if + cached_currencymgr is != null. + (SetDataSource): same. + (OnListManagerCurrentChanged): cached_currencymgr_events -> + cached_currencymgr. + +2006-05-31 Jackson Harper + + * BindingManagerBase.cs: Remove somedebug code that creeped into + SVN. + * TreeNode.cs: We get the indent level dynamically right now, so + don't track it as a member. + * TreeNodeCollection.cs: Make sure all nodes added to the list + have parents, treeviews/topnodes setup properly. + - Don't attempt to track indent level. + +2006-05-30 Jackson Harper + + * BindingContext.cs: Create the currency manager tables here. + This allows us to more easily create null tables (when bad data + members are used), and more easily create related currency + managers. + * CurrencyManager.cs: All the table creation stuff is done by the + binding context now. + - Current should throw an exception if listposition is -1. + - CancelCurrentEdit/EndCurrentEdit, do nothing if the list hasn't + been bound yet. + +2006-05-30 Mike Kestner + + * ListView.cs: allow reexpansion of zero-width column headers. + Fixes #78528. + +2006-05-28 Chris Toshok + + * CurrencyManager.cs (get_Current): after the late binding + listposition = -1 fix, we need to guard against it here and return + null, otherwise we raise an exception (which is swallowed + elsewhere, and breaks datagrid databinding.) + +2006-05-26 Peter Dennis Bartok + + * MenuAPI.cs (ProcessMenuKey): We can legally get msg types other + than WM_SYSKEY, don't throw if get something unexpected (#78507) + +2006-05-26 Jackson Harper + + * ControlPaint.cs: + * ThemeWin32Classic.cs: For color comparisons just use the ARGB + values, it's faster and it's all we care about (we don't care if + the names aren't equal). + * KeyboardLayouts.cs: Eliminate some dead code. + - Lazy init things + * X11Keyboard.cs: Lazy init keyboard detection. + - Cleanup access modifiers a little. + +2006-05-26 Peter Dennis Bartok + + * XplatUIX11.cs: Once again, attempting to get layout just right. + +2006-05-26 Peter Dennis Bartok + + * LinkLabel.cs (CreateLinkPieces): Use MeasureString to calculate + the sizes of each link section, that will result in sizes that + match DrawString's layout (Fixes #78391) + +2006-05-27 Alexander Olk + + * FileDialog.cs: If AddExtension property is true autocomplete the + extensions in SaveFileDialog correctly. Fixes bug #78453. + Set MyNetwork and MyComputer to "C:\" for windows. This should + fix part 8 of bug #78446 for now. + +2006-05-26 Chris Toshok + + * DataGrid.cs (ColumnStartedEditing): fill these in. for now just + invalidate the current row header if we need to, but presumably + we'll invalidate the row corrsponding to the bounds or + editingControl. + (GridHScrolled): switch back to this method, as it's part of the + public api. *sigh*. + (GridVScrolled): same. + (OnMouseWheel): hack up something that more or less works. Call + GridHScrolled/GridVScrolled directly, instead of duplicating much + of their code here. + (EnsureCellVisibility): reinstate a bunch of this code, since we + can't just set the scrollbar Value and expect to do all the work + in the ValueChanged handler. Also, Call Update() after scrolling + in one direction so the other XplatX11.ScrollWindow call has the + proper stuff in the proper places. + (EditCell): set is_editing to true before calling .Edit. + + * DataGridTextBox.cs (set_IsInEditOrNavigateMode): just set it, + don't bother comparing first. + (OnKeyPress): call grid.ColumnStartedEditing before calling + base.OnKeyPress. this will set is_changing and invalidate the row + header if necessary. + (ProcessKeyMessage): for WM_CHAR messages, call + ProcessKeyEventArgs directly. swallow anything other than WM_CHAR + and WM_KEYDOWN. + + * DataGridBoolColumn.cs (Edit): don't set is_editing to true here. + it's done in the DataGrid. + (NextState): call grid.ColumnStartedEditing, which takes care of + invalidating the row header (and setting is_changing). + + * DataGridTextBoxColumn.cs (Edit): don't set is_editing to true + here. it's done in the DataGrid. + +2006-05-25 Gonzalo Paniagua Javier + + * Control.cs: allow changing the cursor when the mouse position is + out of bounds but Capture is set. + * LinkLabel.cs: handle the case when the mouse button is pressed on the + linklabel but released somewhere else. + +2006-05-25 Jackson Harper + + * TreeView.cs: When we get focus if there is no selected node make + it the top node + - Remove some uneeded setup code from Draw. + * TreeNodeCollection.cs: If the tree doesn't have a top node when + a new node is inserted make the new node the top. + * XplatUIX11.cs: + * Timer.cs: Use Utc time so that no local time zone stuff needs to + be used (should be faster). + +2006-05-25 Chris Toshok + + * DataGrid.cs (EnsureCellVisibility): remove some code to fix a + problem with the last commit. + +2006-05-25 Chris Toshok + + * DataGridTextBoxColumn.cs (ReleaseHostedControl): turns out we do + need the invalidate call here, while scrolling right-to-left via + the left arrow key (i.e. moving the editing cell while scrolling). + + * DataGrid.cs (.ctor): remove the initialization of + ctrl_pressed/shift_pressed. We no longer track them using key + up/down handlers, but by using Control.ModifierKeys. Also, switch + to using ValueChanged handlers on the scrollbars instead of + Scrolled event handlers. This simplifies a bunch of the scrolling + code. + (GridHValueChanged): rename from GridHScrolled, and change it to + work with the new event args. + (GridVValueChanged): same. + (OnMouseDown): initialize ctrl_pressed/shift_pressed here. + (OnMouseWheel): actually scroll the datagrid. Don't change the + selected cell. + (ProcessGridKey): correct all the keyboard navigation stuff I + could find. Ctrl up/down/left/right/home/end work now. + (EnsureCellVisibility): correct method name spelling. Also, + simplify this a touch by not explicitly calling the + ScrollToRow/ScrollToColumnInPixels methods. We just set the + scrollbar value. + (OnKeyUpDG): no need for this method now. + +2006-05-25 Gonzalo Paniagua Javier + + * LinkLabel.cs: display the OverrideCursor when hovering the label. + Fixes bug #78392. + +2006-05-25 Chris Toshok + + * ThemeWin32Classic.cs: fix datagrid clipping problems caused by + r61019. + +2006-05-25 Peter Dennis Bartok + + * Application.cs: Moved setting of is_modal and closing to before + we create the control, to allow the event handlers called as a + result of creation affect closing. Also removed Gonzalo's previous + change to setting DialogResult, the behaviour has been moved to + Form.ShowDialog() + * Form.cs: + - ShowDialog(): Removed explicit creation of the form, let RunLoop + handle it instead + - ShowDialog(): If no dialog result is set, we need to return Cancel + - WM_CLOSE: Fire Closing/Closed events, and reset dialog result if + the close is cancelled + +2006-05-25 Jackson Harper + + * StatusBar.cs: We only need to update the sizes of the other + panels when we have auto size contents. Also we are only updating + the contents of the panel, not the borders, so compensate for the + border width (TODO: get this width from the theme somehow). + * TreeView.cs: Scrollable is true by default + - Use invalidate instead of refresh where needed + - Factor the scrollable value into scrollbar updating + - Update the scrollbars if the Scrollable property is altered + - Update the selected node if its ImageIndex is changed + - Handle null nodes in UpdateNode (mainly so we don't have to + check if selected is null when updating it + - Fix VisibleCount to use the ViewportRectangle so that scrollbars + are factored into the visible count + - Use VisibleCount for clarity in the code + - When the font is changed we need to recurse through all the + nodes and invalidate their sizes + +2006-05-25 Gonzalo Paniagua Javier + + * Application.cs: set the DialogResult to fixed when the main form is + hidden or destroyed while being modal. + +2006-05-25 Miguel de Icaza + + * Theme.cs: Use Tangoified messagebox icons. + + (GetSizedResourceImage): Also cope with width = 0 and do not + trigger a warning in that case (0 means "give me your icon from + the resouce, no special size needed). + +2006-05-25 Peter Dennis Bartok + + * Application.cs: Leave runloop if the the main modal form is + hidden (fixes #78484) + +2006-05-25 Atsushi Enomoto + + * BindingContext.cs : reject null datasource in Contains() and + Item[]. + * CurrencyManager.cs : check data_member validity when data_source + is dataset. When it is late binding, the initial position is -1. + +2006-05-24 Jackson Harper + + * TreeNodeCollection.cs: Dont't recalculate the visible order on + inserted nodes that aren't visible. This changes the + max_visible_order which confuses scrollbar settings. + - Use the enumerator to get the prev node instead of duplicating + code. + * TreeView.cs: Use new method for setting scrollbar values + - Don't set the bounds every time the scrollbar is updated + - When updating below the root node use an invalidate instead of a + refresh to prevent the child controls (scrollbars) from being + refreshed. (UpdateBelow still needs to be reworked anyways). + - Reenable SetBottom now that visible orders are set correctly, + added some debug code incase we ever get bad values there again. + - Set the scrollbar max to 2 less then the max value, this + compensates for the max value being one above the node count, and + for scrollbars adding one extra "notch". + - When drawing image nodes if there is an imagelist we draw the + first image in the list if the supplied image index is out of the + image list's bounds. + +2006-05-24 Peter Dennis Bartok + + * XplatUIX11.cs: Don't blindly cache hwnd.ClientRect, reset it when + we receive a size change from the WM (Fixes #78503) + +2006-05-24 Peter Dennis Bartok + + * XplatUIWin32.cs, XplatUIX11.cs: Refresh when setting the Clip + rectangle (Fixes #78501) + +2006-05-24 Peter Dennis Bartok + + * ButtonBase.cs: + - Fixed MouseUp, MouseDown and MouseMove to treat mouseevent.Button + as a bitfield. + - Fixed MouseMove to no longer switch pressed state unless the left + mouse button is pressed. Atsushi provided the original patch (#78485) + +2006-05-24 Jackson Harper + + * ScrollBar.cs: New internal methods that allow us to change a + couple values on the scrollbar (the most common case is maximum + and large change) without getting multiple invalidates. + +2006-05-24 Chris Toshok + + * DataGridBoolColumn.cs (Abort): revert back to the saved setting. + (Edit): save off the original state in oldState, and set + grid.is_editing to true. + (OnKeyDown): abort editing if escape is pressed. also, call + NextState if space is pressed. + (OnMouseDown): call NextState. + (NextState): factor out shared code from OnKeyDown and OnMouseDown + here. Also, only invalidate the row header once (on the initial + is_changing switch) to save on redraws. + +2006-05-24 Chris Toshok + + * DataGridTextBoxColumn.cs (Commit): only call SetColumnValueAtRow + if the value in the cell is different than it was before. This + keeps us from triggering a layout when we move around a datarid + with a highlighted cell. + (Edit): suspend layout when creating/positining the text box, and + resume passing false so we don't ever actually re-layout. + (ReleaseHostedControl): same. + (EnsureTextBox): reformat slightly, and set WordWrap to false. + + * DataGridTextBox.cs (ProcessKeyMessage): it's not true that all + control-key sequences should go to the datagrid - remove that + lock. Also, modify the conditions under which we move between + cells when moving the cursor within a cell, and remove the "this" + and "base" from field accesses. We weren't even consistent, given + they all were in the base class. + +2006-05-24 Atsushi Enomoto + + * Binding.cs : (.ctor) + An obvious NRE fix for BindingTest.CtorNullTest(). + +2006-05-23 Chris Toshok + + * TextBoxBase.cs (get_Text): don't add a trailing newline, add + them between lines. This fixes some quirks editing cells in the + datagrid. + +2006-05-23 Jackson Harper + + * TreeView.cs: Use begin/end update when doing expand/collapse all + so that we don't get flicker on the scrollbar. + +2006-05-23 Jackson Harper + + * TreeNode.cs: Bounds are computed 'on the fly' now. This allows + treenode calculations to be independant of the painting code. To + do this nodes track a visible order which is calculated by the + treeview. + - Call new methods for expanding/collapsing nodes. These methods + use scrollwindow so we don't have to update everything below the + node. + * TreeView.cs: Refactored drawing and scrolling code. We don't + need to update nodes when drawing anymore or calculate scrollbar + stuff. + - Added new methods for expanding/collapsing nodes. These methods + use ScrollWindow so as to not have to redraw all the nodes below. + * TreeNodeCollection.cs: Recalc visible order and scrollbars when + we add/remove nodes or sort. + - Handle removing the selected and the top node properly. + +2006-05-23 Chris Toshok + + * DataGridTextBoxColumn.cs (Edit): set grid.is_editing to true. + maybe this should actually happen in the datagrid code? + (EndEdit): no need to invalidate anything, given that + ReleaseHostedControl causes the datagrid to relayout, which + invalidates everything anyway. + + * DataGrid.cs (set_CurrentCell): remove duplicate check (it's also + in SetCurrentCell). + (set_SelectionBackColor): call InvalidateSelection instead of + Refresh. + (set_SelectionForeColor): same. + (BeginEdit): Flesh this out a bit. + (CancelEditing): only do any of this if we're editing/adding. + (EndEdit): same. + (OnMouseDown): there's no need to cancel editing here, it's done + in SetCurrentCell. + (SetCurrentCell): only invalidate the current row header if it's a + different row than the new one. + (ShiftSelection): fix this to work like MS does. + (ResetSelection): factor out the invalidation of selected_rows to + InvalidateSelection. + (SetDataSource): cancel any editing that's going on. + + * DataGridColumnStyle.cs + (IDataGridColumnStyleEditingNotificationService.ColumnStartedEditing): + call the non-interface version. + + * ThemeWin32Classic.cs (DataGridPaintColumsHdrs): intersect the + header rectangle with the clip rectangle so we don't redraw the + entire header for just a small area. Gets rid of the last flicker + when horizontally scrolling. + (DataGridPaintRow): same. + +2006-05-23 Mike Kestner + + * ListViewItem.cs: remove size for line hack from LargeIcon layout. + * ThemeWin32Classic.cs: don't draw line. it's really the top of a + poorly placed checkbox on the MS control. Fixes Alex's unfiled + Critical bug report. + +2006-05-23 Peter Dennis Bartok + + * PictureBox.cs: Fixed broken ControlStyles. Unit test no longer fails, + and this fixes #78493 + +2006-05-23 Miguel de Icaza + + * Theme.cs (GetSizedResourceImage): Scale images if the proper + size is not found. + + * FileDialog.cs: Do not change the background for the side bar as + it wont work nicely with the theme, and also reduces the artifacts + in rendering the icons (which I want to fix too). + + * MimeIcon.cs (ResourceImageLoader): Load images from assembly + resources, not resgen resources. + + (PlatformDefaultHandler): Pull images using the new API. + +2006-05-23 Peter Dennis Bartok + + * Hwnd.cs (Dispose): Remove any pending exposures. XEventQueue holds + a reference to the hwnd and will not remove it unless there are + no pending exposures (fixes #78341) + * XplatUI.cs: Improved debug + +2006-05-23 Atsushi Enomoto + + * MenuAPI.cs : don't handle OnClick event when it was not the left + button. Fixed bug #78487. + +2006-05-23 Mike Kestner + + * MenuAPI.cs: fix placement of submenus for multi-row menu bars, and + prefer submenus to the top menu for item lookup, to avoid popping down + top-row items. + +2006-05-23 Alexander Olk + + * ThemeWin32Classic.cs: Rewrote CPCPDrawScrollButton to drop + Graphics.FillRectangle as the visual results are really bad (even + on win). We now draw perfect arrows (and perfect shadows when the + scrollbar is disabled). Simplified CPDrawGrid. CPDrawGrid now uses + Pen.DashPattern to draw the dots of each line. + +2006-05-22 Alexander Olk + + * FileDialog.cs: Update the filename combobox when navigating through + the ListView with the cursor keys. Fixes part 7 of bug #78446. + +2006-05-22 Mike Kestner + + * ListView.cs: raise SelectedIndexChanged on keyboard selection. + Fixes #78463. + +2006-05-22 Mike Kestner + + * ComboBox.cs: Refresh in EndUpdate to pick up all the dropped Paint + requests. Fix a misspelled parameter and a copy paste exception error + in Select. + +2006-05-22 Peter Dennis Bartok + + * ThemeWin32Classic.cs: Changed DefaultFont emSize from 8.25 to 8 + to get the same width/height (5/13) on X11 as the default font has on + win32. This means that our DefaultFont emSize is smaller than the + the MS SWF equivalent (even thought the width/height stays the same) + +2006-05-20 Jackson Harper + + * MdiClient.cs: + * MdiWindowManager.cs: + * InternalWindowManager.cs: Make sure to use the border width from + the theme. + +2006-05-20 Jordi Mas i Hernandez + + * PrintDialog.cs: Implements printer details + +2006-05-19 Alexander Olk + + * FileDialog.cs: Added focus handling for PopupButtonPanel. + Fixes part 1 and 2 of bug #78446 + +2006-05-19 Peter Dennis Bartok + + * XplatUIX11.cs (SetWindowPos): Recalculate client area size on resizes + instead of sticking to the first ever calculated value + +2006-05-19 Mike Kestner + + * ComboBox.cs: fix mouse motion selection to use MousePosition and + PointToClient, since Capture is set. Fixes #78344. + +2006-05-19 Mike Kestner + + * ListView.cs: match MS behavior in Details view where items are not + drawn if Columns.Count == 0. + * ThemeWin32Classic.cs: only highlight ListView selection if focused. + Use a separate pen to draw the check, since changing the width affects + the box as well. Fixes #78454. + +2006-05-18 Miguel de Icaza + + * ListView.cs: ArgumentOutOfRangeException, single versions of the + exception should throw the name of the invalid argument. + + * FileDialog.cs (OnClickOpenSaveButton): Avoid crash in open if + there are no files listed. + +2006-05-18 Jackson Harper + + * ThemeWin32Classic.cs: Don't use endcaps, they mess the drawing + up. + +2006-05-18 Peter Dennis Bartok + + * Control.cs: Brought back our old UpdateZOrder method as a private + function and switched our calls from UpdateZOrder to the new one. + This fixes the Paint.Net canvas disappearing bug. + +2006-05-18 Jackson Harper + + * Theme.cs: + * ThemeWin32Classic.cs: + * InternalWindowManager.cs: Move the drawing into the theme, + expose everything the theme should need from the window manager. + +2006-05-18 Peter Dennis Bartok + + * XplatUIX11.cs (DefWndProc): WM_SETCURSOR: Assign the return value + from the call to NativeWindow to avoid walking up the parent chain + further than needed (speeds up setting cursors and avoids setting + the wrong cursor if a parent has another cursor defined) + * Cursor.cs: When loading an icon as cursor, MS uses the center of + the icon as hotspot, not what's contained as hotspot in the icon + file. This fixes the perceived drawing offset seen with Paint.Net + +2006-05-18 Peter Dennis Bartok + + * XplatUIX11.cs: + - Store the calculated rectangle in Hwnd object and use it when + setting the client size + - Force Toolwindows to always be type Dock, to ensure they're on top + +2006-05-18 Mike Kestner + + * ComboBox.cs: first pass at ComboBox rework. Layout is more + consistent with MS positioning. IntegralHeight, ItemHeight, Sizing. + Correctly initialize textcontrol and ListBox on DropDownStyle changes. + Substantial refactoring to remove confusing nested classes. Coding + standard and Get+Set->property refactorings. Shift to index based + highlighting in ComboListBox instead of constantly using IndexOf and + Items[]. Add invalidations on resize for DropDownList to fix ugliness + in FileDialog growth. Draw borders manually since Simple mode needs + to look like two independent controls. Make listbox border + conditional to DropDownStyle. Improved OwnerDraw support. + +2006-05-18 Sebastien Pouliot + + * PaintEventArgs.cs: For 2.0, check for a null Graphics in the .ctor. + Don't set the disposed graphics to null, so we can throw the "right" + exception if the graphics is reused later (added a flag to avoid + double disposing). Some behaviours are different under 2.0 and are + filled under bug #78448. + +2006-05-18 Peter Dennis Bartok + + * Control.cs: When double-buffering is enabled, we need to reset + our graphics context between paint calls. Otherwise, any + transformations and other alterations on the context will + become cumulative (#77734) + +2006-05-18 Mike Kestner + + * ListView.cs: do focused item selection like MS on clicks. + Rework focus handling for ItemControl so LostFocus invalidates as + well. + * ThemeWin32Classic.cs: only draw focus rectangle for ListViewItems if + the ListView ItemControl has focus. + +2006-05-17 Peter Dennis Bartok + + * XplatUIX11.cs: If client_window ends up being width or height zero + due to border settings, move it off window inside whole_window (#78433) + +2006-05-17 Alexander Olk + + * Mime.cs: Shrink the mime file cache correctly. + +2006-05-17 Alexander Olk + + * ThemeWin32Classic.cs: Readded button focus drawing code. (#78429) + +2006-05-16 Peter Dennis Bartok + + * XplatUIX11.cs (AddExpose): More sanity checks + +2006-05-16 Peter Dennis Bartok + + * XplatUIX11.cs: + - AddExpose: Don't add expose ranges outside the size of our + window + - Cast opacity values to Int32 to avoid crashes with certain + values + - Added disabled code paths that protect against illegal cross- + thread painting (Developers.exe) + +2006-05-16 Peter Dennis Bartok + + * ProgressBar.cs: Invalidate the control when it's resized + since block size is based on control size. (#78388) + +2006-05-16 Miguel de Icaza + + * DataGrid.cs (SetDataBinding): per the discussion on irc, instead + of setting the incoming argument to the "reset" value, we set the + this.datamember to string.empty (before we were invalidating the + incoming data). + + Fixes 78420 + +2006-05-16 Peter Dennis Bartok + + * Form.cs: Only apply transparency settings after the form + is created. (Fixes #77800) + +2006-05-16 Peter Dennis Bartok + + * ApplicationContext.cs: Grab the HandleDestroyed event so + we know when to fire OnMainFormClosed + +2006-05-16 Peter Dennis Bartok + + * Application.cs: Introduced sub-class to allow tracking of + threads and centralized triggering of the event mess for + ThreadExit, AppExit, etc.. (#76156) + +2006-05-16 Alexander Olk + + * MimeIcon.cs: + - Do not return a null icon index value for a mime subclass. + Instead try the main mime type class too. + - Seems that some newer distributions don't have a link to some + gnome default icons anymore. So check the default gnome dir too. + + +2006-05-16 Jackson Harper + + * MdiClient.cs: Don't paint the parent background image if we have + our own background image. + +2006-05-16 Peter Dennis Bartok + + * Control.cs: + - PerformLayout: Do not shrink space filled by DockStyle.Fill + controls, all filled controls are supposed to overlap (#78080) + - UpdateZOrder is supposed to update the control's z-order in the + parent's z-order chain. Fixed to behave like that + - BringToFront: Removed obsolete code + - SendToBack: Simplyfied + - SetChildIndex: Trigger layout calculations when Z-order changes + since layout is done by z-order + +2006-05-16 Chris Toshok + + [ fixes bug #78410 ] + * DataGrid.cs (set_AlternatingBackColor): use + grid_drawing.InvalidateCells instead of Refresh(). + (set_BackColor): call grid_drawing.InvalidateCells. + (set_BackgroundColor): use Invalidate instead of Refresh. + + * DataGridDrawingLogic.cs (InvalidateCells): new function, just + invalidate the cell area. + +2006-05-15 Chris Toshok + + [ fixes bug #78011 ] + * ThemeWin32Classic.cs (DataGridPaintRows): pass the clip argument + on to DataGridPaintRow. + (DataGridPaintRow): take a clip argument, and only draw the cells + which intersect it. same with the not_usedarea. + + * Theme.cs (DataGridPaintRow) add @clip parameter. + + * DataGrid.cs (ScrollToColumnInPixels): simplify, use + XplatUI.ScrollWindow. + (ScrollToRow): same. + + * DataGridDrawingLogic.cs (UpdateVisibleColumn): fix corner case + with last column which was causing a gray swath to appear with the + XplatUI.ScrollWindow code. + +2006-05-15 Chris Toshok + + * ListBox.cs (HorizontalScrollEvent): in the non-multicolumn case, + use XplatUI.ScrollWindow. + (VerticalScrollEvent): use XplatUI.ScrollWindow. + +2006-05-15 Peter Dennis Bartok + + * TextBoxBase.cs: Added handling of middle-button paste for X11. (#78375) + +2006-05-15 Peter Dennis Bartok + + * Cursors.cs: For X11, read NWSE and NESW cursors from our resource + file since there are no equivalent X11 cursors + +2006-05-15 Atsushi Enomoto + + * MonthCalendar.cs : DateTimePicker should reflect selected date + on mouse*up*, not mouse*down*. Fixed originally reported part of + bug #76474. + +2006-05-15 Atsushi Enomoto + + * TabControl.cs : When argument index is equal or more than tab + count, just ignore. Fixed bug #78395. + +2006-05-15 Peter Dennis Bartok + + * Control.cs: Dispose all child controls when control is diposed (#78394) + +2006-05-14 Alexander Olk + + * ColorDialog.cs: Finally it is possible to select the color with + the text boxes + +2006-05-14 Alexander Olk + + * PrintDialog.cs: Fix typo + +2006-05-14 Alexander Olk + + * PrintDialog.cs: PrintDialog is not resizable + * ThemeWin32Classic.cs: Draw non links in LinkLabel with the correct + color. Made some ToolBar drawing methods protected virtual. + +2006-05-13 Jordi Mas i Hernandez + + * PrintDialog.cs: Implementation of the PrintDialog + +2006-05-12 Chris Toshok + + * ScrollBar.cs (set_Value): don't use Dirty/Invalidate to move the + thumb, instead use MoveThumb. This has the side effect of making + most of the other thumb moving machinery use MoveThumb as well. + (OnHandleCreated): pass false for @dirty to UpdateThumbPos, as we + need to actually invalidate the rectangle where the new thumb will + go. + (MoveThumb): use XplatUI.ScrollWindow to move the thumb around. + We force an Update() after, so it's not as fast as it could be, + but at least there's zero flicker and no droppings. + (OnMouseMoveSB): in the thumb dragging case, use MoveThumb. + (UpdateThumbPos): add another argument (dirty), which says whether + or not to calculate/add dirty regions which we later invalidate. + For cases where we know we're going to use MoveThumb, we pass + false for this. Otherwise, pass true. + +2006-05-12 Jackson Harper + + * ThemeWin32Class.cs: Fixes for alignment and icon rendering in + the status bar. + +2006-05-12 Peter Dennis Bartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new SetClipRegion + and GetClipRegion methods and UserClipWontExposeParent property. + * XplatUIWin32.cs: Implemented SetClipRegion/GetClipRegion methods, + overriding UserClipWontExposeParent property, setting to false, since + Win32 handles the required expose messages to draw our clipped parent + areas internally + * XplatUIX11.cs: Implemented SetClipRegion and GetClipRegion; updated + PaintEventStart to set the user clip region if set. + * Control.cs: + - Now internally tracking the Region for the control since we need to + store it if the handle is not yet created and only set it when it + becomes created. Before setting the region forced handle creation + - Added code to draw the parents underneath a user-clipped region + * Hwnd.cs: Added UserClip property + +2006-05-12 Chris Toshok + + * ScrollBar.cs (set_LargeChange): Refresh() -> InvalidateDirty() + (set_Maximum): same. + (set_Minimum): same. + (set_SmallChange): same. + (OnMouseUpSB): remove the call to refresh when releasing the + thumb. We shouldn't need it. + +2006-05-12 Miguel de Icaza + + * StatusBar.cs (UpdatePanel): If the panel being refreshes has the + AutoSize set to None, we do not need to relayout everything, we + just need to invalidate the current region. + + (Draw): Do not draw the entire ClientArea, just redraw the + clip area being passed. + + * MdiClient.cs: Make MdiClient constructor with the Form argument + internal. + +2006-05-12 Jackson Harper + + * ThemeWin32Classic.cs (DrawToolBar): Flat toolbars get their + parents background image, but strangely not their own. + - (DrawStatusBarPanel): Take into account horizontal alignment + when drawing the strings and icons. + +2006-05-12 Mike Kestner + + * ListBox.cs: avoid invalidations for focus when the collection is + empty. + +2006-05-12 Chris Toshok + + * ScrollBar.cs (OnMouseMoveSB): when dragging the thumb, don't + invalidate the entire thumb area. Call InvalidateDirty which + limits the redraw to the thumb itself and surrounding pixels. + + * XplatUIX11.cs (ScrollWindow): optimize copying. + +2006-05-12 Chris Toshok + + * DataGridDrawingLogic.cs: make CalcGridAreas non-reentrant. + Figure out the positioning/layout in a single pass instead of + multiple recursive invocations. Speeds up the initial display of + the data grid. Also, make many things private that were + originally public but unused outside this class. + +2006-05-11 Jackson Harper + + * MdiClient.cs: Improved layout code. + +2006-05-11 Jonathan Chambers + + * PropertyGrid.cs : Only check GetPropertiesSupported for properties, + not SelectedObject. + +2006-05-11 Chris Toshok + + * Hwnd.cs (Invalid): don't start off with Rectangle.Empty, as + union of that will always be {0,0,width,height}. + +2006-05-11 Jackson Harper + + * Form.cs: Match MS's DefaultSize for forms (they must have + changed the size in sp2). + +2006-05-11 Atsushi Enomoto + + * TextBoxBase.cs : implement CTRL+A (select all). Fixed bug #78368. + +2006-05-11 Atsushi Enomoto + + * TextControl.cs : Fixed bug #78109. This incorrect position + comparison caused crash on automatic line split. + * TextBoxBase.cs : reduce duplicate code. + +2006-05-10 Jackson Harper + + * MdiClient.cs: Active form is only sent to the back when using + the Next form functionality, when a form is clicked the current + active shouldn't be sent to the back. + - Layout the mdi windows when the container is first made visible. + * Form.cs: Give the MdiClient a ref to the containing form when we + create it. + +2006-05-10 Atsushi Enomoto + + * LinkLabel.cs : link_font could be uninitialized, so populate one + before actual use. Fixed bug #78340. + +2006-05-10 Atsushi Enomoto + + * XplatUIX11.cs : clipboard format native value is IntPtr. + Fixed bug #78283. + +2006-05-10 Peter Dennis Bartok + + * Control.cs: + - Instead of showing context menus directly we send WM_CONTEXTMENU, + which is passed up the parent chain by DefWndProc + - We now handle WM_CONTEXTMENU to display any menu, or pass it + to DefWndProc (#77956) + * XplatUIX11.cs: Added handling of WM_CONTEXTMENU (pass up) to DefWndProc + +2006-05-10 Jackson Harper + + * MdiClient.cs: We need to remove the controls from the mdi + collection, when we close the window. + * MdiWindowManager.cs: Special handling of closing mdi windows. + * InternalWindowManager.cs: Make the close method virtual so the + mdi window manager can handle it specially. + +2006-05-10 Jordi Mas i Hernandez + + * DataGrid.cs: + - Recalculate grid when the data source has changed + - Matches styles provided by user from all data sources types + * DataGridTableStyle.cs: For columns that provided by the user set the + with the preferred value is there was unassigned. + * CurrencyManager.cs: throw OnItemChanged event + +2006-05-10 Peter Dennis Bartok + + * PictureBox.cs: Don't animate until handle is created. Start animation + when handle is created. + +2006-05-10 Peter Dennis Bartok + + * XplatUIX11.cs, Hwnd.cs: Adopted Mike's patch from #77979 to match + current codebase. + * XEventQueue.cs: We don't need to provide the extra info + +2006-05-10 Jackson Harper + + * MdiClient.cs: If the mdi clients parent form has a background + image set, we draw that background image for the mdi area's + background. + +2006-05-10 Peter Dennis Bartok + + * TextBoxBase.cs: Set IBeam cursor (#78347) + +2006-05-10 Mike Kestner + + * ToolBar.cs: fix some text padding issues with ButtonSize + calculation. Update the default size to match MS documentation. + * ToolBarButton.cs: use ToolBar.ButtonSize for layout of unspecified + button size. Fixes #78296. + +2006-05-10 Mike Kestner + + * ListBox.cs: use is_visible for scrollbar positioning in case the + control isn't on screen yet. Fix off by one with Right vs Width + usage. Update Scrollbars in SetBoundsCore. Fixes #78188 and #78258. + +2006-05-10 Jackson Harper + + * X11Dnd.cs: Drop to a control with another control on top of it. + * ToolBar.cs: Work on a copy of the buttons list, so that it can + be modified in click handlers. TODO: Look for similar problems in + other controls. + +2006-05-09 Jackson Harper + + * Form.cs: Window managers need the old window state when setting + window state now. + * InternalWindowManager.cs: Allow the base mdi window manager to + handle more of the MDI only stuff (like maximize buttons). + * MdiWindowManager.cs: Fix some snafus in changing the window + state. Add all the menu functionality, for both popup and + maximized menus. + * MdiClient.cs: When a new form is selected the currently + activated form is sent to the back, this matches MS. + - Implement a new method to activate the next mdi child window. + +2006-05-08 Peter Dennis Bartok + + * Control.cs: + - Added new InternalCapture method to allow controls to prevent + the capture behaviour on the click handlers + - Switched to use InternalCapture + * ComboBox.cs: + - Using InternalCapture to prevent mouse captures from being released + on mouse button release (Fixes #78100) + * XplatUIX11.cs (DeriveStyles): Now checks caption state and only + returns Form borders if a caption is present. (Fixes #78310) + +2006-05-08 Peter Dennis Bartok + + * TreeNode.cs: Changed serialization .ctor to not require every field + to be present. (#78265) + * OwnerDrawPropertyBag.cs: Added serialization .ctor + +2006-05-05 Alexander Olk + + * MimeIcon.cs: for is faster than foreach for strings. + +2006-05-05 Mike Kestner + + * CheckedListBox.cs: update check handling code to not use selected. + * ListBox.cs: rewrite of mouse selection handling to correspond to MS + behavior for visual feedback, motion response, shift/ctrl handling, + and properly deal with all 4 selection modes. Updates to bounds + handling logic. Add scroll wheel support. [Fixes #77842] + +2006-05-05 Peter Dennis Bartok + + * ListView.cs: + - Moved adding of Implicit controls into .ctor. That way, subsequent + creation of the controls will not cause them to think they are + toplevel windows (fixes #78200 header problem) + - Added 2.0 ShowGroups and UseCompatibleStateImageBehaviour + - Switched visibility setting of header control to use internal field + to avoid triggering handle creation + - Now checking if handle is created before causing a refresh when items + are added (This makes us now match handle creation time with MS) + * Splitter.cs: Removed loading of private splitter cursor, switched to + Cursors version now that that is loading the right ones + * Cursors.cs: Load proper splitter cursors from resources + * Cursor.cs: Added second method of loading resource cursors for the + VS.Net users amongst us + +2006-05-05 Mike Kestner + + * ListView.cs: give header_control a minimum size based on the + ListView size. + +2006-05-05 Peter Dennis Bartok + + * XplatUIX11.cs: WS_EX_TOPMOST requires window to be on top. A dock + window seems to do that with metacity, so set that type. (#78120) + +2006-05-05 Mike Kestner + + * ListViewItem.cs: fix Details mode checkbox layout bug. + * ThemeWin32Classic.cs: draw a ListView column header for unused space + at the end of the header, if it exists. [Fixes for #78200] + +2006-05-04 Jackson Harper + + * MdiClient.cs: Add a helper property to get the container form. + * MdiWindowManager.cs: We have to make sure to use the menu origin + when drawing the icons and buttons, this fixes maximized window + icons/buttons on win32. + * InternalWindowManager.cs: Reset the restore captions when a + window goes from Maximized to Minimized and vice versa. Move the + DrawMaximizedButtons into the MdiWindowManager source, tool + windows can't be maximized. NOTE: This could use a little + refactoring if time ever permits. + +2006-05-03 Jonathan Chambers + + * TextBox.cs: Add MWFCategoryAttributes + * TextBoxBase.cs: Add MWFCategoryAttributes + * Form.cs: Add MWFCategoryAttributes + +2006-05-03 Jonathan Chambers + + * Control.cs: Add MWFCategoryAttributes + * ScrollableControl.cs: Add MWFCategoryAttributes + +2006-05-03 Alexander Olk + + * ThemeWin32Classic.cs: Draw the ToolBar top border only if + Divider is true. Fix a little glitch in PropertyToolBar + drawing code + +2006-05-02 Peter Dennis Bartok + + * Control.cs: + - Dispose: Call base.Dispose, this causes the disposed event + to be fired (and probably other, more important stuff) + - SetVisibleCore: Set is_visible to true after creating the + window so that the window still gets created invisible (if + WM_VISIBLE isn't set). That will cause the ShowWindow afterwards + to generate a WM_ACTIVE message + * Form.cs: Call Dispose when we want to destroy the window, instead of + just destroying the handle (Dispose will do that for us) + * XplatUIX11.cs: + - RootWindow also needs a queue, so we can properly process the + property change events from RootWindow (like Activate) + - Generatic synthetic WM_ACTIVE message when the active window is + being destroyed + +2006-05-01 Peter Dennis Bartok + + * LinkLabel.cs: Trigger a recalc of our label dimensions when + bounds are changed + +2006-05-01 Peter Dennis Bartok + + * ThemeWin32Classic.cs (ButtonBase_DrawImage): Use the proper image + for determining width and height (image might not be assigned if + we're drawing an imagelist) + +2006-05-01 Peter Dennis Bartok + + * XplatUI.cs, XplatUIDriver.cs: Added MenuHeight property + * XplatUIWin32.cs: Overriding new MenuHeight property, retrieving + height from system + * Theme.cs: No longer returns hardcoded menu height, instead calls + new driver method + * Form.cs (OnLoad): Scaling happens before triggering Load events + on MS (# 78257) + +2006-05-01 Mike Kestner + + * MenuItem.cs: fix NRE for text == null. Fixes #78250. + +2006-04-30 Peter Dennis Bartok + + * TextBoxBase.cs: Removed Fixme + * RichTextBox.cs (set_RTF): Invalidate document after update (#78247) + +2006-04-30 Peter Dennis Bartok + + * XplatUIX11.cs: + - ScrollWindow: We were passing hwnd.ClientRectangle which returns + the rectangle relative to the parent, considering borders. We + don't really want that. + - ScrollWindow: Fixed warning to be more understandable + * TextBoxBase.cs: Fixed ScrollWindow calculations to consider our + scrollbars and scroll only the visible area + * RichTextBox.cs: Removed debug output + +2006-04-29 Peter Dennis Bartok + + * NumericUpDown.cs (Text): Just use base + * UpDownBase.cs: Ensure txtView is created before using it + +2006-04-29 Peter Dennis Bartok + + * XplatUIX11.cs (SetWindowTransparency): Casting opacity to int before + casting to IntPtr to avoid 64bit overflow errors + +2006-04-29 Peter Dennis Bartok + + * Control.cs: + - AllowDrop: Don't force handle creation. + - CreateHandle: Added call to tell driver if we're allowed to drop + +2006-04-27 Alexander Olk + + * FileDialog.cs: Remember the last directory not only for the + current instance but also for new FileDialog instances. + +2006-04-29 Peter Dennis Bartok + + * XplatUIX11.cs: Forgot to set the queue on the foster parent. That + broke sending async messages + +2006-04-29 Peter Dennis Bartok + + * XplatUIX11.cs: + - ScrollWindow: Fixed method. We finally generate expose events again + for scrolled areas. This was causing 'garbage' when scrolling + textbox and other controls that used ScrollWindow + - Switched from using the regular queue for paint events to the MS + model of 'generating' paint events when the queue is empty. + We use the new XQueueEvent.Paint subclass to store which windows + need painting. + - AddExpose now takes the x/y/width/height of the exposed area + and inserts the window into the paint queue if not already there + - InvalidateWholeWindow: Switched to use new AddExpose method + - UpdateMessageQueue: Added which queue to monitor for paint events + - DefWndProc: Added default handler for WM_PAINT and WM_NCPAINT in + the unlikely case nothing above handles it. We reset the expose + pending states to get them off the queue. + - GetMessage: Now pulls a paint event if no other events are in the + queue + - Invalidate: Switched to new AddExpose method + - PeekMessage: Updated to understand pending paint events + - UpdateWindow: Fixed logic bug. We were only updating if the window + didn't need updating. Also switched to sending WM_PAINT directly, + like MS does. + * XEventQueue.cs: Added Paint queue support. Allows enqueue/dequeue + and random access Remove(). The random access is needed to handle + UpdateWindow() where a WM_PAINT is sent directly without accessing + the queue. + * ScrollBar.cs: Added Update() calls to cause immediate updates to + allow for better feedback when scrolling. Scrollbars are small and + the immediate update should make it 'feel' more responsive without + slowing things down. ScrollBar still needs it's invaliate logic + updated to not always invalidate the whole bar on certain changes. + +2006-04-28 Gonzalo Paniagua Javier + + * Control.cs: + (BackColor): if the control does not support a transparent background, + return the default backcolor when the parent backcolor is transparent. + +2006-04-28 Peter Dennis Bartok + + * Application.cs: Updated to new StartLoop/GetMessage API + * RichTextBox.cs: Provide some output on RTF parsing errors + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs: Added + new queue_id argument to GetMessage and PeekMessage to allow faster + handling of per-thread queues in drivers. + * Hwnd.cs: Added Queue tracking and property + * MenuAPI.cs: Updated to new StartLoop/GetMessage API + * XEventQueue.cs: Added thread trackingA + * PropertyGridView.cs: Updated to new StartLoop/GetMessage API + * XplatUIX11.cs: + - Implemented new per-thread queue + - GetMessage: Fixed return/break behaviour on several cases. We were + returning stale messages in some cases, instead of just processing + the next message + +2006-04-27 Jonathan Chambers + + * PropertyGrid.cs: Call GetPropertiesSupported on TypeConverter. + +2006-04-27 Peter Dennis Bartok + + * ThemeWin32Classic.cs (DrawToolBar): Refactored, simplified the logic, + fixed off-by-one comparisons between Width/Height and Right/Bottom. + +2006-04-27 Jonathan Chambers + + * PropertyGridView.cs: Fix drop down width. + +2006-04-27 Alexander Olk + + * ThemeWin32Classic.cs: Peter thinks that three additional lines are + a mess in DrawToolBar, so I removed one of them. + +2006-04-27 Alexander Olk + + * ThemeWin32Classic.cs: Draw the ToolBar border lines only if + needed (clip). Otherwise we get artifacts. + +2006-04-26 Peter Dennis Bartok + + * FixedSizeTextBox.cs: Added constructor to allow specifying which + dimension is fixed + * UpDownBase.cs: Set the spinner control to be fixed height vertical, + and switched FixedSizeTextBox to only be fixed vertical (#78116) + * Form.cs: Not applying the 'MS 0.08 fudge factor' for a given dimension + if it matches the scale base font (avoids unneeded scaling) + +2006-04-26 Alexander Olk + + * X11DesktopColors.cs: One gtk_init_check should be enough + +2006-04-26 Peter Dennis Bartok + + * TextBoxBase.cs: Moved Backspace handling into WM_CHAR block to + match MS behaviour + +2006-04-26 Peter Dennis Bartok + + * TextBoxBase.cs: + - Generate OnTextChanged for Backspace even if we're only deleting + the current selection + - When setting the Text property, only select all text if the + control does not have focus when it is being set. Otherwise + just place the cursor at the beginning of the control + +2006-04-26 Alexander Olk + + * ThemeWin32Classic.cs: ToolBars get drawn with two lines at the top. + Added a little helper to draw PropertyGrid ToolBar with a different + border and a different BackColor. + * PropertyGrid.cs: Some background parts didn't get painted with the + correct background color. Added a class that helps us to draw the + correct border for PropertyGridView and a class that helps us to + draw ToolBars with a different backcolor + * PropertyGridView.cs: Draw PlusMinus with the correct colors. + +2006-04-25 Jonathan Chambers + + * PropertyGrid.cs: Bug 78196, font size, and splitter location. + * PropertyGridView.cs: Bug 78196, font size, and splitter location. + +2006-04-25 Peter Dennis Bartok + + * XplatUIWin32.cs (DIBtoImage): ORing instead of ANDing the alpha + into the palette entries. Also, since we're working on a copy + we needed to copy the palette back onto the bitmap. + * Cursor.cs: Same fix as XplatUIWin32.cs. + +2006-04-25 Peter Dennis Bartok + + * ImageListStreamer.cs: Need to read the var (or we're off) + +2006-04-25 Peter Dennis Bartok + + * TextControl.cs, ComboBox.cs, CommonDialog.cs, Theme.cs, + XplatUIWin32.cs, RichTextBox.cs, ImageListStreamer.cs, + TextBoxBase.cs: Unused var fixes + * AxHost.cs: Small 2.0 fix + * XplatUIX11.cs: Switched to IntPtr from int for XA_CARDINAL atoms + as it seems that is what at least Metacity expects. This will make + icons show up on 64bit platforms. We still have some 64bit size + issues, though, since the startup app window size still won't match. + +2006-04-25 Mike Kestner + + * *.cs: cleanup newly reported exception var unused warnings. + +2006-04-25 Alexander Olk + + * ThemeWin32Classic.cs: Button image alignment now matches exactly + ms + +2006-04-25 Alexander Olk + + * ThemeWin32Classic.cs: Fixed drawing code for buttons with an + image. The image position is always the same, no matter if the + button is pressed or not. + +2006-04-25 Alexander Olk + + * FileDialog.cs: SaveFileDialog shouldn't rely on a MWFFileView + selection and set the correct filename for SaveFileDialog. + Patch by Emery Conrad. + +2006-04-24 Mike Kestner + + * ListView.cs (LastVisibleIndex): when in List mode of Alignment.Left, + check for item.X outside the ClientRect instead of item.Y. Fixes + #78151. + +2006-04-21 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: some images store a wrong grow factor, so don't + trust that value blindly and do some sanity check. Fixes bug #77814. + +2006-04-21 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: save the mask as a 1bpp image. + +2006-04-21 Mike Kestner + + * CheckedListBox.cs: maintain CheckStatus here. Use DrawItemState to + pass Checked and Indeterminate to the Theme Engine. Improve + encapsulation with ListBox. + * ListBox.cs: Keep a StringFormat instead of calculating it every item + draw. Kill ListBoxItem. Refactor away the ListBoxInfo and ListBoxItem + nested types. Move all CheckState functionality to CheckedListBox. + Make IntegralHeight work like MS. Rewrite of Layout engine. Fix + OwnerDrawVariable layout/rendering. Fix multicolumn rendering. Fix + ScrollAlwaysVisible handling. Refactor "selected" collections to use a + single base list. Fix scrollbar sizing and placement to mirror MS. + * Theme.cs: remove CheckedListBoxCheckRectangle. It wasn't really + used. + * ThemeWin32Classic.cs: implement Indeterminate CheckState rendering + for CheckedListBox by using new DrawItemState info. Center the + checkboxes on the items. Use new StringFormat property. + +2006-04-18 Jackson Harper + + * Form.cs: MdiChildren don't do default locations the same way as + regular forms. This prevents a crash when trying to position the + mdi windows. + +2006-04-17 Jonathan Chambers + + * PropertyGridTextBox.cs: Formatting, copyright + * PropertiesTab.cs: Formatting + * PropertyGrid.cs: Formatting + * PropertyGridView.cs: Formatting, fix drop down, enabled double + click toggling of values + +2006-04-17 Peter Dennis Bartok + + * KeyPressEventArgs: Added 2.0 only setter for KeyChar + * Control.cs (.ctor): verify_thread_handle is static, don't reset + every time a control is created + * Application.cs: Removed obsolete EnableRTLMirroring method + +2006-04-18 Gert Driesen + + * TabControl.cs: Avoid ArgumentOutOfRangeException when setting + SelectedIndex to -1. Fixes bug #78121. + +2006-04-17 Jackson Harper + + * Binding.cs: Handle null values for Current and BindingContext. + This occurs when binding is a little delayed. + * CurrencyManager.cs: return null for Current when there are no + items in the list. + - Hookup to the listchanged event on the DataView and update + bindings when the list is changed. This fixes late binding of + controls. + +2006-04-17 Jackson Harper + + * X11Dnd.cs: + * XplatUIX11.cs: Drops should not create a mousedown. Patch by Tim + Ringenbach. + +2006-04-15 Alexander Olk + + * ThemeWin32Classic.cs: Draw disabled combo button in the correct + place + * ComboBox.cs: If the combobox is disabled call CPDrawComboButton + with the correct ButtonState + +2006-04-14 Peter Dennis Bartok + + * XplatUIX11.cs: Improved distinguishing between window types to + tell the WM a type closer to what the app wants (Fixes #78107) + +2006-04-14 Alexander Olk + + * ThemeWin32Classic.cs: Fixed drawing of ContainerGrabHandle and + GrabHandle + +2006-04-14 Alexander Olk + + * ThemeWin32Classic.cs: Fixed size grip drawing and updated StatusBar + drawing code to reflect the size grip changes + +2006-04-13 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: fix handling of the mask that follows the main + bitmap when deserializing and serialize it properly. The generated mask + should better be a 1bpp image, but I'll do that later. + +2006-04-13 Alexander Olk + + * FileDialog.cs: Show something in the DirComboBox on *nix if the + path doesn't fit into some of our Current.Places + +2006-04-13 Jackson Harper + + * ComboBox.cs: Use borders instead of drawing our own decorations, + try to obey correct rules for heights. + * Theme.cs: + * ThemeNice.cs: + * ThemeClearLooks.cs: + * ThemeWin32Classic.cs: Remove combobox decoration drawing code, + this is now handled by borders. + - Remove unused DrawListBoxDecorationSize method. + +2006-04-13 Mike Kestner + + * MenuAPI.cs: null guarding for the disbled click check fixes crash + reported by Alex. + +2006-04-13 Alexander Olk + + * ThemeWin32Classic.cs: + - Fixed CPDrawStringDisabled + - Corrected drawing of disabled menu items + - Fixed drawing of disabled radio buttons (bug #78095) + - Draw check in a disabled CheckBox with color ControlDark + +2006-04-12 Peter Dennis Bartok + + * Form.cs: Use the provided width when calculating the menu size; + when being maximized we get WM_NCCALCSIZE before WM_WINDOWPOSCHANGED + and ClientSize.Width won't be updated yet + * Application.cs: Use Visible instead of Show() to make form visible, + this way we create the handle later and menusize is considered + +2006-04-12 Mike Kestner + + * MenuAPI.cs: ignore clicks on disabled menu items. Thanks to Alex for + reporting. + +2006-04-12 Peter Dennis Bartok + + * TextBox.cs: Implemented context menu + +2006-04-12 Mike Kestner + + * ListView.cs: implement box selection. fixes #77838. + * ThemeWin32Classic.cs: draw box select rect, remove a ResetClip. + +2006-04-12 Peter Dennis Bartok + + * XplatUIX11.cs: Added setting of window type when transient window + is created (metacity would move it otherwise) + * X11Structs.cs: Added WINDOW_TYPE atoms + * LinkLabel.cs: Override OnPaintBackgroundInternal and draw the + background (the control is Opaque but still wants transparent + backgrounds) + +2006-04-12 Peter Dennis Bartok + + * Control.cs: Added OnPaintBackgroundInternal to allow controls + that set Opaque but don't mean it (like all ButtonBase-derived + controls) to still draw their background + * ButtonBase.cs: Override OnPaintBackgroundInternal and draw + the background + +2006-04-12 Peter Dennis Bartok + + * Control.cs (PaintControlBackground): Set the graphics object + on our PaintEvent to null to prevent it from being disposed + when the PaintEvent gets disposed + +2006-04-12 Alexander Olk + + * ThemeWin32Classic.cs: Use even more SystemBrushes and SystemPens + * ThemeNice.cs, ThemeClearlooks.cs: fix typo + +2006-04-12 Peter Dennis Bartok + + * Control.cs: + - Added transparency check to BackColor property. Transparent + backgrounds are only allowed if the control styles permit it + - Added recursive painting of parent control background and + foreground if a control with a transparent backcolor is drawn + (Thanks to Tim Ringenback for providing his 'hack' as a base + for this patch) Fixes #77985 and #78026. + - Added Opaque style check before calling OnPaintBackground, no + need to draw the background if the control is opaque + - Removed ControlAccessibleObject owner variable (inherited from + base, no need to define again) + - Added some documentation links explaining the drawing events + and styles + +2006-04-11 Peter Dennis Bartok + + * Splitter.cs (CalculateSplitPosition): Corrected the bad assumption + that the affected control is the located at the left border of our + parent (Fixes #77936) + +2006-04-11 Peter Dennis Bartok + + * TextBoxBase.cs: When rendering disabled or readonly controls, + draw the background with 'Control' instead of 'Window' color as + long as the user hasn't specifically set a color + +2006-04-11 Peter Dennis Bartok + + * TextBoxBase.cs: Don't try to shortcut by checking against base.Text + since that won't be updated if the user types text (only if it's + programatically set) + +2006-04-11 Peter Dennis Bartok + + * ScrollableControl.cs: Calculate DisplayRect dynamically, so that + layout changes do to app-triggered resizes will have the proper + display rectangle for layout + +2006-04-11 Alexander Olk + + * ThemeWin32Classic.cs: + - Make use of the SystemBrushes and SystemPens wherever possible + - Corrected some highlight colors + - Corrected RadioButton and CheckBox FlatStyle.Flat and Popup + drawing + * Theme.cs: Added Empty field to CPColor struct + +2006-04-11 Peter Dennis Bartok + + * ScrollabeControl.cs: We need to consider whether or not a scrollbar + is displayed when calculating the display rectangle. Thanks to Mike + for teaching me the err of my ways. + +2006-04-10 Peter Dennis Bartok + + * ScrollableControl.cs: + - Rewrote DisplayRectangle code, now returning the proper x/y coords + (instead of 0,0) and we now return the real width/height instead of + just the clientrectangle, adjusted for padding. The rectangle is + now cached and created by the new CalculateDisplayRectangle method. + - Created new CalculateDisplayRectange method, which basically does + what get_DisplayRectangle() did originally, but now using the + right edge instead of DisplayRectangle to determine the size of + our scrollbars + - get_Canvas(): Fixed it to properly calculate canvas for + right/bottom controls which seem to be placed to the right/bottom + of any controls that have a fixed location + - Removed TODO that's taken care of + - Removed NotImplementeds and attempted to implement AdjustFormScrollBars + and SetDisplayRectLocation according to new MSDN2 docs + - Added call to PerformLayout in OnVisibleChanged, MS causes a layout + event when that is called, this is added for compatibility + - ScrollControlIntoView(): Implemented. + - Switched scrollbars to be implicit, they shouldn't be selectable + * ContainerControl: Now that ScrollControlIntoView is implemented, we + call it when the active control is set/changed + * ScrollBar.cs: Added support for generating Win32 scrollbar messages + * ImplicitHScrollBar.cs, ImplicitVScrollBar.cs: Now setting new base + implicit_control variable (used for native Win32 message generation) + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added new + HorizontalScrollBarHeight and VerticalScrollBarWidth properties + * ThemeWin32Classic.cs: Now calling the driver for the scrollbar sizes + * XplatUIStructs.cs: Added ScrollBarCommands enum + +2006-04-10 Jackson Harper + + * ButtonBase.cs: + * CheckedListBox.cs: + * ComboBox.cs: + * DataGrid.cs: + * DataGridView.cs: + * Form.cs: + * GroupBox.cs: + * ListBox.cs: + * PrintPreviewControl.cs: + * ProgressBar.cs: + * PropertyGrid.cs: + * Splitter.cs: + * StatusBar.cs: + * TrackBar.cs: + * UpDownBase.cs: Fixup base event overrides. + +2006-04-06 Mike Kestner + + * ScrollBar.cs: fix "new event" declarations (#76509) and bounds check + all user-initiated value changes to min <= value <= max-thumbsz+1. + (set_Value): check for vert/horiz when calculating new thumb position. + (LargeIncrement): bounds check to stop pos at max - thumb_size + 1 + like MS does. + (OnMouseMoveSB): refactor the thumb dragging code and refine + invalidation logic to reduce flicker. + (SetEndPosition): bounds check to stop pos at max - thumb_size + 1 + (SmallIncrement): bounds check to stop pos at max - thumb_size + 1 + (UpdateThumbPosition): small code readability cleanup + +2006-04-10 Alexander Olk + + * ThemeNice.cs: Small UI polishing. Draw borders a little bit + different + +2006-04-08 Alexander Olk + + * ThemeNice.cs: Use a better graphics effect when a button is pressed + +2006-04-08 Alexander Olk + + * Theme.cs: Added GetDashPen and GetSizedPen to SystemResPool + * ThemeWin32Classic.cs: Make use of the new SystemResPool methods. + This dramatically reduces the number of Pen.Dispose calls. + Where possible call ResPool methods only once instead of calling it + over and over again (for example for the same color). + +2006-04-06 Mike Kestner + + * TabControl.cs: fix for SelectedIndex updating on TabPage removals. + Also remove an unused private field on the collection. Fixes #77972. + +2006-04-06 Alexander Olk + + * ThemeNice.cs: Added ToolBar drawing code + +2006-04-06 Mike Kestner + + * Form.cs (ShowDialog): MS allows IWin32Window param to be a non-form. + I'm assuming that means we need to look up the toplevel for the + provided control. Fixes the crash trace in #77911 but exposes another + crash in some strange reflection usage in NDocGui. + +2006-04-06 Alexander Olk + + * ThemeNice.cs: Gave it a little silver touch and added Images + method + * FontDialog.cs: FontDialog is not resizable + * FileDialg.cs: Added SizeGripStyle.Show + +2006-04-05 Jackson Harper + + * KeyboardLayouts.cs: Remove warning. + +2006-04-05 Jackson Harper + + * Control.cs: Enable OnPaintInternal so we can use it for drawing + all of our controls instead of Paint +=. + * ListBox.cs: + * ListView.cs: + * MenuAPI.cs: + * MessageBox.cs: + * NotifyIcon.cs: + * ProgressBar.cs: + * ScrollBar.cs: + * Splitter.cs: + * StatusBar.cs: + * TabControl.cs: + * TextBoxBase.cs: + * ToolBar.cs: + * TrackBar.cs: + * UpDownBase.cs: + * ComboBox.cs: Remove handling of WM_PAINT and WM_ERASEBKGND and + use OnPaintInternal. Remove Width/Height and Visible checks in + paint handler, this is done at a higher level now. + * GroupBox.cs: Don't need to handle WM_ERASEBKGND anymore. + * PaintEventArgs.cs: Add a handled flag so controls that don't + want anymore painting after OnPaintInternal can make sure OnPaint + isn't called. + +2006-04-05 Mike Kestner + + * Form.cs: fix the menu WndProc hacks to respect the native enabled + state of the form, so that we don't process events when Modal dialogs + are up. Fixes #77922. + +2006-04-05 Alexander Olk + + * Mime.cs: Default for range length is 1 not 0. If set to 0 no match + checking is done. + +2006-04-05 Mike Kestner + + * XplatUIX11.cs: fix typo in the EX_APPWINDOW transient patch. + +2006-04-05 Mike Kestner + + * ListView.cs (HeaderMouseMove): null guarding for the over column + when setting up the drag_to_index. Fixes #78015. + +2006-04-04 Peter Dennis Bartok + + * XplatUIX11.cs: If WS_EX_APPWINDOW isn't set we don't want to show up + in the taskbar. Transient windows seem to accomplish that. + +2006-04-04 Peter Dennis Bartok + + * Form.cs: + - Re-enabled CreateParams.X/Y code for FormStartPosition + - Added code for manual placement when creating the Control + - Incomplete patch to treat MDI forms differently when + setting the ClientSizeCore. (Still need to figure out handling + x/y coords there) + * XplatUIX11.cs: + - When we're explicitly setting the X/Y position of a non-Child + window, let the WM know. Metacity really wants this. + +2006-04-04 Alexander Olk + + * ThemeNice.cs: Added CPDrawButton + +2006-04-04 Alexander Olk + + * ThemeNice.cs: Changed the color for focused buttons and activated + the arrows for small scroll buttons. + +2006-04-04 Alexander Olk + + * ThemeWin32Classic.cs: Removed DrawFlatStyleButton, not needed + anymore. Changed some method modifiers to protected (virtual) + * ThemeClearlooks.cs: Updated to reflect the ThemeWin32Classic + changes + * ThemeNice.cs: Updated to reflect the ThemeWin32Classic changes. + Updated drawing of menus, buttons and progressbars; added + CPDrawBorder3D + +2006-04-03 Gonzalo Paniagua Javier + + * ImageListStreamer.cs: implemented serialization/deserialization + of the images. + +2006-04-03 Alexander Olk + + * ThemeWin32Classic.cs: + - Removed all the DrawFrameControl stuff; CPDrawButton, + CPDrawCheckBox and CPDrawRadioButton are now handled directly + inside the methods + - Updated and corrected the drawing code of CPDrawButton, + CPDrawCheckBox and CPDrawRadioButton to better match ms + - Updated theme checkbox and radiobutton code to use the CP* + methods + +2006-03-31 Peter Dennis Bartok + + * XplatUIX11.cs: Enable clipping again now that the libgdiplus + bug is fixed + +2006-03-31 Jackson Harper + + * XplatUIX11.cs: Somehow we get SETCURSORS for bad windows + sometimes. + * UpDownBase.cs: Don't CreateGraphics manually, use a + Refresh. Ideally we would invalidate the correct areas here. + +2006-03-31 Peter Dennis Bartok + + * XplatUIX11.cs: + - We now track the mapping state of windows. If a window (or + one of it's parents) is not mapped we no longer permit + WM_PAINT messages to be generated since we'd otherwise get + lots of BadMatch X errors. Jackson did all the work figuring + out the problem. + - Destroying the caret if the window it's contained in is + destroyed. Can't use regular DestroyCaret method since it + might fall into a drawing function (trying to remove the + caret) and with that generate new BadMatch errors. Again, + Jackson tracked this down. + - Changed DestroyChildWindows to SendWMDestroyMessages, we now + make sure we send the messages to all windows. (The old code + would send the WM_DESTROY to the window, and then all child + windows would be 'gone' because the WM_DESTROY handle lookup + would no longer find the destroyed window) + * Hwnd.cs: Added Mapping property to track mapping state of hwnd + * X11Structs.cs: Added WindowType enum for MapWindow/UnmapWindow + +2006-03-31 Jackson Harper + + * ScrollableControl.cs: Dont recalc if we are not visible. + +2006-03-31 Mike Kestner + + * Control.cs (SetVisibleCore): move the CreateControl call up ahead of + the visibility branch. + +2006-03-31 Jackson Harper + + * ScrollBar.cs: Cap values when incrementing/decrementing. + +2006-03-31 Mike Kestner + + * MenuAPI.cs: setup menu.tracker for popup/context menus. + * ToolTip.cs: guard against timer expirations with no active control. + Not sure why it happened. + +2006-03-31 Mike Kestner + + * ThemeWin32Classic.cs: add some horizontal padding space for the tip + text. + * ToolTip.cs: Position the tooltip based on where the cursor is at + popup time, not at MouseEnter time. Add a Down state so that we don't + redisplay tips without a Leave. Use faked XplatUI.GetCursorInfo for + positioning offset. Lookup DisplaySize at positioning time, since it + can theoretically change during invocation. + * XplatUIWin32.cs: fake GetCursorInfo until pdb can do it properly. + * XplatUIX11.cs: fake GetCursorInfo until pdb can do it properly. + +2006-03-31 Alexander Olk + + * ThemeWin32Classic.cs: Use CPDrawBorder3D to draw a GroupBox. + Fixes behaviour when the Text property of the box is String.Empty + +2006-03-31 Peter Dennis Bartok + + * XplatUIX11.cs: Only send mouseleave for our client windows, not + for the whole window (otherwise we get WM_MOUSE_LEAVE twice for + a window) + +2006-03-31 Alexander Olk + + * FileDialog.cs: Visual enhancement for the popup buttons in + PopupButtonPanel + +2006-03-31 Alexander Olk + + * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border + code + +2006-03-30 Alexander Olk + + * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and + highlighted menu items to match ms + +2006-03-30 Peter Dennis Bartok + + * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty + +2006-03-30 Mike Kestner + + * Menu.cs (SelectedItem): use new MenuItem.Selected prop. + * MenuAPI.cs: use new MenuItem.Selected prop. redraw MainMenu when we + go active to account for HotLight to Selected transition. + * MenuItem.cs: add internal Selected prop. Fill out the Status + property by calculating it from item info. Add HotLight, + NoAccelerator, Checked, Grayed, and Disabled flags where appropriate. + +2006-03-30 Mike Kestner + + * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw. + +2006-03-29 Jackson Harper + + * Form.cs: Implement TODO. + +2006-03-29 Peter Dennis Bartok + + * PrintPreviewDialog.cs: Implemented missing methods and events; still + missing proper dialog setup in the constructor + +2006-03-29 Peter Dennis Bartok + + * ProgressBar.cs: Added 2.0 Style property that apps seem to use + * Control.cs: + - Implemented CheckForIllegalCrossThreadCalls, removed TODO + - Fixed ResetBindings and removed TODO + - Added check for cross-thread calls to get_Handle() + - Added Marshaller attribute for set_Font to satisfy class status + * FontDialog.cs: Removed TODOs that seemed implemented + * UpDownBase.cs: Removed unneeded TODO and Fixme + * MessageBox.cs: Implemented support for Default button and removed TODO + * FileDialog.cs: Removed obsolete TODO + * DomainUpDown.cs: Removed obsolete TODO + * ButtonBase.cs: Removed obsolete TODO + * XplatUIWin32.cs: Removed obsolete TODO + * Form.cs: + - Removed obsolete TODO + - Calling CheckAcceptButton when the acceptbutton is changed to allow + internal status updates + - Making sure the active control is selected when the control is created + * CurrencyManager.cs: Removed obsolete TODO + +2006-03-29 Mike Kestner + + * *.cs: fix remaining corcompare issues for 1.1 API with the exception + of PrintPreviewDialog and RichTextBox. + +2006-03-29 Alexander Olk + + * Theme.cs: Added a little helper to SystemResPool to get the Dark, + DarkDark, Light and LightLight colors for a specific color + * ThemeWin32Classic.cs: + - Use Button drawing code to draw RadioButtons and CheckBoxes with + Appearance = Button + - Make use of the new ResPool helper CPColor + - Draw ProgressBar and StatusBar with correct 3D borders + +2006-03-29 Alexander Olk + + * ColorDialog.cs: Return selected color. Fixes bug #77940. + +2006-03-28 Mike Kestner + + * ListView.cs: fix Icon layout to plan for scrollbar widths when + calculating col/row counts. + +2006-03-28 Mike Kestner + + * ColumnHeader.cs: + * ListView.cs: + * ListViewItem.cs: + * Menu.cs: + switch to explicit interface method implementation for some methods + corcompare identifies as inconsistent with MS. + +2006-03-28 Mike Kestner + + * MainMenu.cs: + * Menu.cs: + add a few missing methods from the class status output. + +2006-03-28 Alexander Olk + + * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now + correct. + +2006-03-28 Mike Kestner + + * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917. + +2006-03-27 Mike Kestner + + * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for + the Hilight state to adapt to Alex's CPDrawBorder3D changes. + +2006-03-27 Alexander Olk + + * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms. + +2006-03-25 Alexander Olk + + * ThemeWin32Classic.cs: + - GroupBox: Inserted a little gap between the text and the lines + on the right side + - Made the code in CPDrawBorder3D more readable + - Corrected the drawing location of the up and down arrows in + CPDrawScrollButton + +2006-03-25 Alexander Olk + + * ControlPaint.cs: Corrected line widths in DrawBorder for + ButtonBorderStyle Inset and Outset + +2006-03-25 Alexander Olk + + * ThemeWin32Classic.cs: + - Rewrote the totally broken CPDrawBorder3D method. That was + one of the main problems for the terrific ThemeWin32Classic + look + - Updated and corrected Button drawing + - Correct the dimensions of the SizeGrip to match ms ones + - Removed a small drawing glitch in DrawComboBoxEditDecorations + * XplatUIX11.cs: Draw borders with BorderStyle = Fixed3D with + Border3DStyle.Sunken to match ms. + +2006-03-25 Alexander Olk + + * ThemeWin32Classic.cs: First small part of the "de-uglify + ThemeWin32Classic" effort, SizeGrip + +2006-03-24 Jackson Harper + + * XplatUIX11.cs: Give a max idle time of one second, this matches + MS and forces an Idle event every second when there are no other + events in the queue. + +2006-03-24 Mike Kestner + + * ListView.cs: Handle (Large|Small)ImageList == null more robustly. + * ListView.Item.cs: fix layout issues with null image lists and images + smaller than checkbox size. + * ThemeWin32Classic.cs: Draw a 12 pixel line in ListView LargeIcon + mode like MS does. It's weird, but consistent. ;-) + Fixes #77890. + +2006-03-24 Mike Kestner + + * ListView.cs: Scroll wheel support for the item control. Fixes + #77839. + +2006-03-23 Jackson Harper + + * ScrollableControl.cs: Special case negative sized areas, not + zero. + * MonthCalendar.cs: Save the rect of the clicked date so we can + use it for invalidation. + - Try to cut down on the number of invalidates + - Invalidate the rect the mouse is over and was over when moving + the mouse, so we get the focus box following the cursor. + +2006-03-23 Mike Kestner + + * ThemeWin32Classic.cs: fix FullRowSelect selection background and + focus rectangle drawing. Fixes #77835. + +2006-03-23 Mike Kestner + + * XplatUIX11.cs: rework the fix for #77828 by changing the order of + the if and else if and reverting back to the original == check on the + None conditional. + +2006-03-23 Alexander Olk + + * FontDialog.cs: Update the example panel if the selected index of + the fontListBox changes. + +2006-03-23 Alexander Olk + + * FileDialog.cs: Make FileDialog remember which directory it was in + last in the same execution. + +2006-03-22 Mike Kestner + + * FileDialog.cs: make the DropDownMenu on the toolbar display + RadioChecks since they are mutually exclusive and that's what MS does. + +2006-03-22 Mike Kestner + + * Theme.cs: add Color param to CPDrawMenuGlyph. + * ThemeWin32Classic.cs: do color specific menu glyph rendering so that + checks and radio marks and arrows are visible on highlighted items. + * ControlPaint.cs: update to use new Theme signature. + +2006-03-22 Mike Kestner + + * MenuAPI.cs: only process Enter and arrow keypresses if the tracker + is active. Fixes #77870. + +2006-03-22 Alexander Olk + + * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox + to be focused/selected after startup + +2006-03-22 Alexander Olk + + * ColorDialog.cs: + - Corrected behaviour of Color, AllowFullOpen, FullOpen, + CustomColors and ShowHelp properties + - Some internal rewrites to get better results when using the + ColorMatrix + +2006-03-22 Mike Kestner + + * ListView.cs: hook into Peter's new ResetMouseHover capability to fix + HoverSelection. Fixes #77836. + +2006-03-22 Mike Kestner + + * FileDialog.cs: bugfixes for the toolbar. Use PushButtons instead of + ToggleButtons. (De)Sensitize the Back button around a stack count of + 1, not 0. Update ButtonSize based on a pixel count of the win32 + control. Adjust the toolbar size/location for new button size. + +2006-03-22 Jackson Harper + + * XplatUIX11.cs: Don't handle configurenotifys if PostQuitState is + true. + * ScrollBar.cs: When doing increments and decrements we need to + set the Value property so that ValueChanged gets raised. A + possible optimization here would be to make an internal SetValue + that doesn't invalidate immediately. + * ToolTip.cs: Tooltips get added to their container (when + supplied) so they get disposed when the container is disposed. + - Don't create tooltips for String.Empty. This prevents all these + little 2-3 pixel windows from showing up when running nunit-gui + and driving me mad. + * Form.cs: Don't set topmost when setting the owner if the handles + haven't been created yet. The topmost set will happen when the + handles are created. + +2006-03-22 Peter Dennis Bartok + + * XplatUIX11.cs: + - DeriveWindowStyles: Fixed typo in borderstyle generation (#77828) + - SetVisible: Sending WINDOWPOSCHANGED for all controls when made + visible (to allow them to recalculate their sizes) + +2006-03-21 Mike Kestner + + * ThemeWin32Classic.cs: major refactoring of the ToolBar rendering + methods. Removed a ton of redundant code. Still not really happy with + the border rendering, but I think that's mainly because of the + ControlDarkDark being black instead of a dark grey. Depending on how + close we want to be, we might want to revisit those color choices. + Among the new features added during the refactor were DropDownArrow + pressed rendering, Disabled image rendering. Proper flat appearance + boundary rendering. Removed the Divider and Wrapping dividers since I + can't figure out any combination of themes and conditions to make the + MS control draw a horizontal line on a toolbar despite what the + Divider property docs indicate. + * ToolBar.cs: rewrite the layout engine. Fixes numerous flicker + conditions and incorrect layout. Updated to coding standard. + * ToolBarButton.cs: refactored layout and positioning code from + ToolBar to here. Invalidate wherever possible instead of forcing + redraws of the whole toolbar. + (Known remaining issues: explicit ButtonSize smaller than provided + images.) + +2006-03-21 Mike Kestner + + * ContextMenu.cs (Show): use the position parameter instead of just + showing at the MousePosition. + +2006-03-21 Jackson Harper + + * TabControl.cs: Remove the call to ProcessKeyEventArgs and let + control handle this. + * TreeNodeCollection.cs: If we are clearing the root node we need + to reset top_node so calcs can still happen. + * ThemeWin32Classic.cs: This is a Flags so we need to check + properly. + +2006-03-21 Jackson Harper + + * DataGrid.cs: Create columns when the binding context has been + changed. + * X11Structs.cs: Keysyms are uints. + - Add size to fix build. + +2006-03-21 Peter Dennis Bartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, + XplatUIOSX.cs: + - Added ResetMouseHover method to allow controls to retrigger + hovering if they need it more than once + - Implemented MouseHoverTime and MouseHoverSize properties + * Timer.cs: Start() must reset the interval + * SystemInformation.cs: Added 2.0 MouseHoverTime and MouseHoverSize + properties + +2006-03-21 Jackson Harper + + * X11Keyboard.cs: improved layout detection. Move the nonchar + tables into this file. + * KeyboardLayouts.cs: Move the tables into resource files. + +2006-03-21 Mike Kestner + + * ListView.cs: use OnItemActivated to raise events. Fixes #77834. + +2006-03-21 Alexander Olk + + * Mime.cs: Various speed optimizations. Looking up mime types + is now 2 times faster than before + +2006-03-17 Peter Dennis Bartok + + * CreateParams.cs: Added internal menu field + * Control.cs: + - Switched call order for UpdateBounds; now we always call + the one that also takes ClientSize, and we're calculating the + client size via driver method in the others. The previous + method of tracking client size by difference wasn't working + for forms where even the starting client size wouldn't match + the overall form size (due to borders) (Part of fix for #77729) + - CreateParams(): Do not use parent.Handle unless the handle is + already created. Causes havoc with Nexxia and throws off our + creation of controls + * XplatUIX11.cs: + - Created new PerformNCCalc method to trigger WM_NCCALCSIZE message + - Switched handling of ConfigureNotify over to new PerformNCCalc + method (consolidates code) + - Changed RequestNCRecalc to use new PerformNCCalc method + - Added calls to RequestNCRecalc when menus and borders are changed + to allow app to set NC size. (Part of fix for #77729) This matches + when MS send a WM_NCRECALC on Win32 windows. + - Now sending WM_WINDOWPOSCHANGED when toplevel for is made visible + (Part of fix for #77729). This matches what MS does, they also + send that message when the form is made visible. + - XException.GetMessage: Improved usability of X errors by including + a translation of the window into Hwnd and Control class + - Improved debug info for window creation, reparenting and destruction + - Created helper method WindowIsMapped() [Currently not used] + * XplatUIWin32.cs: Added ToString() debug helper to RECT structure + * Form.cs: + - CreateParams: Now setting our menu on the new internal menu field + - SetClientSizeCore: Now passing cp.menu instead of ActiveMenu to + avoid calculating the same property twice + * Hwnd.cs: + - Improved usability of ToString() for debugging purposes + - GetWindowRectangle(): Now uses proper CalcMenuBarSize method to + determine the height of the menu, instead of just the font. This + required to also create a graphics context and to keep a bmp + around (for performance reasons) + +2006-03-17 Peter Dennis Bartok + + * MenuAPI.cs: Added OnMouseUp method + * Form.cs: + - Now remembering the requested client size, avoids size errors + - WndProc: Now handling WM_xBUTTONUP and passing it to MenuTracker + instead of base if the menu is active. This is required due to + control now capturing and releasing on down/up and it would + prematurely release our menu capture + +2006-03-17 Jackson Harper + + * KeyboardLayouts.cs: Add the czech layouts. + +2006-03-16 Jackson Harper + + * Control.cs: Use the viewport space when sizing not the controls + client size, so things like ScrollableControl that effect the + viewport size (when scrollbars are added) are computed correctly. + * BindingContext.cs: Cleanup to use the DataSourceEntrys instead + of ManagerEntrys. + - Handle creating BindingManagers for null data sources. + * DataGrid.cs: Bind the cached_currencymgr_events to the real data + source, otherwise when rows are added they are added to the 'fake' + datasource and we will crash when trying to set the position in + those rows. + - Use Implicit scrollbars on the datagrid so they arent + selectable. + +2006-03-16 Jackson Harper + + * Binding.cs: + * InternalWindowManager.cs: + * MdiWindowManager.cs: + * X11Keyboard.cs: I really want Mike to love me again (fix + compiler warnings). + +2006-03-16 Peter Dennis Bartok + + * DataGrid.cs: + - OnMouseDown: Switch to editing mode when clicking on the cell + even if we're clicking on the cell that's currently + selected + - ProcessGridKey: Left/Right now wrap like MS.Net does + - ProcessGridKey: Tab now knows to add a new row when tab is + pressed in the cell of the last column of the + last row + - ProcessGridKey: Enter now adds another row if pressed in the last + row and selectes the new row, same column cell + - ProcessGridKey: Home/End navigate columns, not rows, like + originally implemented + - Broke ProcessKeyPreview code out into an extra Internal method + so it can be called from the edit code + * DataGridTextBox.cs (ProcessKeyMessage): + - Switched to accept Tab keypresses + - Added F2 handling to allow jumping to the end of the edited cell + - Added logic to allow moving caret left/right inside edited cell + and making the edited cell jump when the caret hits cell borders + - Tab and Enter are now passed to the datagrid after being handled + * TextBoxBase.cs: + - Removed capture code now that Control handles it + - set_SelectionStart now ensures caret is visible + +2006-03-16 Jackson Harper + + * TrackBar.cs: Debackwards the increment/decrement for handling + mouse clicks on the bar with vertical trackbars. + * ThemeWin32Classic.cs: Draw vertical trackbars with 0 at the + bottom to match MS. + +2006-03-16 Mike Kestner + + * ListView.cs: make shift/ctrl keyboard and mouse selection + consistent with the MS control. Fix a bug in + SelectedListViewItemCollection.Clear that was pissing me off for the + better part of a day because the collection was being altered + underneath us as we walked the list. + +2006-03-16 Peter Dennis Bartok + + * Control.cs: Not sure how we could miss this so long, but it seems + that MS.Net has Capture set all the way from before calling + OnMouseDown through sending the mouse events until after + OnMouseUp. This will fix DataGrid's selection being set to end + at the location of the MouseUp. + +2006-03-15 Jackson Harper + + * BindingContext.cs: Check the binding after its added so that it + can initialize the binding managers and hookup to events. + * Binding.cs: Data members seem to sometimes include rows/cols in + the format Row.Column we now take this into account. + - Hookup to the position changed event so we can update the + control when the position has changed in the data set. + * CurrencyManager.cs: Take into account the row/col naming + convention when creating dataset tables. + * BindingContext.cs: Using a newer better way of storing + datasource/datamember pairs. Hopefully this better matches MS for + looking up binding managers. + + +2006-03-15 Jackson Harper + + * BindingContext.cs: The currency manager needs the data member + name, if the member is a data set we use the name to find the + correct table. + * CurrencyManager.cs: When creating the list prefer an IList over + an IListSource. + - Attempt to create a DataTable from a DataSet (TODO: might need + some better error checking here, although MS doesn't seem to have much) + - If we have a DataTable create a view and use it as our list. + +2006-03-15 Mike Kestner + + * ListView.cs: keep a matrix of the icon mode layout to facilitate + keyboard navigation. Support Up/Down/Left/Right selection correctly + for all 4 View modes. + * ListViewItem.cs: add internal row/col fields for icon layouts. + +2006-03-15 Jackson Harper + + * TabControl.cs: Redraw the tabs when we resize so their newly + calculated sizes are drawn on screen. + * X11Keyboard.cs: Begginnings of XIM support. We also now support + composite characters. + * XplatUIX11.cs: Keyboard driver needs to know about focus changes + - filter events so that composite characters can be created + patches by peter + * X11Structs.cs: Add XIMProperties enum. + +2006-03-14 Peter Dennis Bartok + + * Control.cs (BringToFront, SendToBack): Don't use window or handle + unless it's created + +2006-03-14 Peter Dennis Bartok + + * Control.cs (PerformLayout): We don't need to consider visiblity + for anchoring, only for docking. This fixes 'whacky' alignment + in listbox and other controls that use implicit scrollbars after + the previous PerformLayout patch + * ListBox.cs: Switched to use implicit scrollbars + +2006-03-14 Mike Kestner + + * ToolBar.cs: + * VScrollBar.cs: + - chain up the "new event" overrides to base and use + OnEvent to raise them. Part of fix for bug #76509. + +2006-03-14 Alexander Olk + + * FileDialog.cs: Do not select an item in the parent directory + on backspace + +2006-03-14 Peter Dennis Bartok + + * Control.cs (PerformLayout): It would seem that we considered + invisible windows for our layout. Not quite the right thing + to do. Now we don't any longer, thereby fixing bug #76889. + +2006-03-14 Peter Dennis Bartok + + * Control.cs (CanFocus): I goofed. A control can have focus + even though it's not selectable. Made it match MS docs. + +2006-03-13 Peter Dennis Bartok + + * ControlPaint.cs (DrawBorder3D): DrawBorder3D does not fill the + center by default (fixes #76895) + * ThemeWin32Classic.cs, ThemeNice.cs, ThemeClearlooks.cs: Replaced + all uses of Border3DSides.All with the explicit ORd together + Left|Right|Top|Bottom because I assume that nobody was aware + that All also implies a center fill. Most places I checked had + a fill right above. + * ProgressBarStyle.cs: Added + +2006-03-13 Mike Kestner + + * ListView.cs: fix breakage in drag shadow header positioning + from Peter's csc compilation fix. + +2006-03-13 Mike Kestner + + * ListView.cs: fix NRE produced by backspacing twice in a focused + FileDialog. + +2006-03-13 Mike Kestner + + * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView. + +2006-03-13 Peter Dennis Bartok + + * Hwnd.cs: Added fixed_size field to track windows whose size cannot + be changed + * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting + the allowed size before making programmatic size changes + +2006-03-13 Peter Dennis Bartok + + * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are + set, metacity is broken and will still use the emty sizes in + the struct. (Fix for #77089) + +2006-03-13 Peter Dennis Bartok + + * XplatUIStructs.cs: Split WindowStyles into WindowStyles and + WindowExStyles and marked both enums as Flags + * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs, + NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated + to match WindowStyles split + * XplatUIX11.cs: + - SetWMStyles: Added cehck to not apply WM attributes to Child windows + - Updated to match WindowStyles split + * XplatUIWin32.cs: + - Fixed FosterParent creation, was using ExStyle on the Style field + (This should help with Popup focus issues) + - Updated to match WindowStyles split + +2006-03-13 Jackson Harper + + * MdiWindowManager.cs: Use the system menu height. Fixes some + strange sizing issues. + +2006-03-12 Peter Dennis Bartok + + * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672) + * TextBoxBase.cs: + - Scroll to caret after inserting text (#77672) + - Make scroll range one pixel higher, fixes off-by-one error (and + makes underlines visible on the last line) + +2006-03-12 Peter Dennis Bartok + + * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent + the keyboard state from being stuck with keys in 'pressed' state when + focus is switched away via keyboard + * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to + reset the keyboard if no X11 KeyUp events are expected to come + * X11Structs.cs: Switched type of Visible to bool to match driver + +2006-03-12 Peter Dennis Bartok + + * TextControl.cs: + - Switched caret to be just 1 pixel wide, matches MS and looks less + clunky + - Moved caret display 1 pixel down from the top of the control + to improve view + - InsertCharAtCharet: Update the selection start if moving the caret + (fixes bug #77696; based on patch suggested by kazuki@panicode.com) + - No longer always creating the caret when the caret methods are + called. Only the actual ShowCaret/HideCaret will do that now + - Only setting caret visible if the owner control has focus + - UpdateView: Added invalidation-shortcut logic for center and right + aligned text. Previously we'd update all according to the left + logic which caused drawing errors. Also fixed height of invalidated + areas, now properly invalidating the whole area (was off-by-one) + - owner_HandleCreated: Always generate the document when the + handle is created; this ensures that + * TextBoxBase.cs: + - Fixed situation where caret would disappear under the right + window border, also improved scrolling behaviour on left- + aligned textboxes + - Fixed right-aligned textboxes to have a border to the + right instead of the caret being under the right border + * XplatUIX11.cs: + - Switched from 'nested' to simple visible/not visible tracking + for caret (part of fix for #77671) + - No longer passing through translated FocusIn/FocusOut messages + since we were notifying too often and the wrong windows. Instead + we just notify our focussed window of receiving or loosing focus + * XplatUIWin32.cs: Switched from 'nested' show/hide + counting for caret to simple visible yes/no behaviour (part of + fix for #77671) + +2006-03-11 Alexander Olk + + * Mime.cs: Remove debug code... + +2006-03-11 Alexander Olk + + * MimeGenerated.cs: Removed + * Mime.cs: Mime now reads the mime data (magic, globs, aliases + and subclasses) from /usr/(local/)share/mime and + $HOME/.local/share/mime. + +2006-03-10 Jackson Harper + + * MdiWindowManager.cs: Recalc the NC area when a window is + maximized/restored so that the menu area is drawn on forms that + don't have a menu. + +2006-03-10 Peter Dennis Bartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs, + XplatUIX11.cs: Added RequestNCRecalc method to driver to allow + us to force a WM_NCCALCRESIZE message being sent. This is needed + for MDI maximizing. + +2006-03-10 Jackson Harper + + * Form.cs: We need to use the ActiveMenu when calculating menu + height. + - Fix nullref when the window manager hasn't been created yet. + * Control.cs: Fix nullref when we try to bring a control to the + front that has no parent. + * MdiWindowManager.cs: Use the MaximizedMenu for calculating + height. + - Add a dummy item to the maximized menu so it always has the + correct height. Otherwise when there are no menus we don't get our + icon and buttons. + + +2006-03-10 Jackson Harper + + * MenuAPI.cs: Make this available elsewhere. I need it in some MDI + stuff. + * Form.cs: Make the window_state internal so the window managers + can track it. + - When an MDI child is maximized let its window manager create the + main menu (so it can add its icon). + - Notify the window managers of state changes + - Let the window manager paint its buttons and handle button + clicks on the menu when it is maximized. + * InternalWindowManager.cs: Move the prev_bounds into the mdi + window manager, since tool windows don't use it, only mdi windows. + - Tell the main form that we don't want it to handle NCPAINT + itself to avoid extra painting. + - Handle clicks on a maximized windows menu. + - Handle window state changes + - Handle minimize/maximize clicks correctly by setting the window state. + * MdiWindowManager.cs: Add an icon menu that (the menu you get + when clicking on the forms icon). + - New method to create a forms maximized menu. This is its normal + menu + an icon. + - Handle window state changes. + - Handle sizing of maximized windows. Maximized windows are just + drawn bigger then the parent visible area. All controls are still + there, they are just outside the visible area (this matches windows). + * MdiClient.cs: No scrollbars when a child window is maximized. + - Let the children windows figure out how big they should be when + sizing maximized windows. + - Implement a version of ArrangeIconicWindows somewhat similar to + Windows version. There are some little differences, but I don't + think any app will rely on the layout of minimized mdi windows. + +2006-03-10 Peter Dennis Bartok + + * Padding.cs: Several fixes to allow compiling with csc 2.0 + +2006-03-09 Jackson Harper + + * Menu.cs: + * MenuItem.cs: Cheap hack so we can add items to the list without + the events being raised. This allows adding mdi items during + drawing. TODO: Should probably find a better time to add the items. + +2006-03-10 Peter Dennis Bartok + + * ThemeWin32Classic.cs: + - CheckBox_DrawText: Added logic to not wrap if not enough space + is available (Fix for bug #77727) + - RadioButton_DrawText: Added logic not to wrap if not enough + space is available (Fix for bug #77727). Also removed some + duplicate code, DrawString always drawing the regular text + before hitting the if statement. + +2006-03-10 Peter Dennis Bartok + + * XplatUIX11.cs: Handle an unmapped window state in SetWindowState + +2006-03-10 Peter Dennis Bartok + + * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726) + * ContainerControl.cs: Partial implementation of some 2.0 scaling + methods. Moved the new 2.0 properties into alphabetical order with + other properties and added MonoTODO tags + +2006-03-09 Peter Dennis Bartok + + * AutoScaleMode.cs: Added. Fix build. + +2006-03-09 Peter Dennis Bartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs, + XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used + and was requiring premature handle creation for calls from above + * Form.cs, Control.cs: Removed handle arguments from calls to + CalculateClientRect() + +2006-03-09 Peter Dennis Bartok + + * ListView.cs (HeaderMouseMove): Fix csc compilation. + drag_column.column_rect is MarshalByRef and can't be used that way + +2006-03-09 Peter Dennis Bartok + + * AxHost.cs: Added deserialization constructor for + AxHost+State (fixes 77743) + +2006-03-09 Mike Kestner + + * ListView.cs: + - Added column drag reordering for details view. + - fixed behavior when mouse is dragged off column and + AllowColumnReorder is false. + * ColumnHeader.cs: clone the format too in Clone. + * Theme.cs: add DrawListViewHeaderDragDetails method. + * ThemeWin32Classic.cs: + - impl new method for drawing drag column shadows and targets. + - support column offset for details mode in DrawListViewItem. + +2006-03-09 Peter Dennis Bartok + + * TextControl.cs: Reset the char_count when the document is cleared + (Fixes bug reported on mono-winforms mailing list) + +2006-03-09 Peter Dennis Bartok + + * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead + of calling base we simply process the key ourselves, since both + DefWindowProc and the handled method would set m.Result. + (Fixes #77732) + +2006-03-09 Peter Dennis Bartok + + * Form.cs(ScaleCore): No longer calling base.ScaleCore since that + method also moves the window; instead implemented a copy of + Control.ScaleCore (Part of fix for #77456) + * TextBoxBase.cs: + - Created new CreateGraphicsInternal method to allow providing + a graphics context when no handle is created without triggering + handle creation. (Part of fix for #77456) + - Replaced use of Control.CreateGraphics with CreateGraphicsInternal + * TextControl.cs: + - Switched Constructor to require TextBoxBase instead of Control (to + allow uncast access to CreateGraphicsInternal) + - Safeguarded use of owner.Handle property. No longer accessing it + unless the handle is already created. + - Replaced use of Control.CreateGraphics with CreateGraphicsInternal + - Now triggering a recalc when owning control becomes visible + * TextBox.cs, RichTextBox.cs: Switched to use new internal + TextBoxBase.CreateGraphicsInternal() method to avoid triggering + premature handle creation (Part of fix for #77456) + * Control.cs: + - We now only destroy our double-buffering buffers when the + control is resized or disposed, but not when visibility + changes. (The code even re-created them twice every time) + - Now requiring a redraw of the buffer on visibility changes + (fixes bug 77654 part 2) + - Not passing OnParentVisibleChanged up unless the control + is visible + - CanFocus: Fixed to match MS documentation + - Focus: Fixed to return actual focus state and to check if + setting focus is legal before setting it + +2006-03-08 Peter Dennis Bartok + + * ThemeWin32Classic.cs: TabPages cannot have focus. Determine + when to draw focus rectangle by looking at parent focus and + selected state instead. This fixes TabPages on Linux sometimes + having none or multiple focus rectangles. + * XplatUIX11.cs (SetFocus): + - Don't set the focus if the same window already has focus + - Use SendMessage instead of PostMessage (like it's Win32 + equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS + to match MS behaviour + * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages + are not selectable. + +2006-03-07 Jackson Harper + + * PictureBox.cs: Revert line I accidently committed last week. + +2006-03-07 Peter Dennis Bartok + + * Control.cs: + - Added new IsRecreating and ParentIsRecreating properties to + allow testing if RecreateHandle has been called on ourselves + or one of our parents + - WndProc(WM_DESTROY): If our control handle is being recreated + we immediately need to create the handle when receiving the + destroy, that way our child windows find a valid parent handle + when they themselves are being recreated upon WM_DESTROY receipt + (fix for bug #77654 part 1) + * XplatUIX11.cs: + - DestroyWindow: WM_DESTROY must be sent to our own window before + notifying any child windows. MS documents that child windows + are still valid when WM_DESTROY is received. (Control now relies on + this behaviour) + - Added some fine-grain debug options + +2006-03-06 Jackson Harper + + * MdiClient.cs: Redid scrolling logic a bit to create a virtual + box and base calculations off this. + * MdiChildContext.cs: + * MdiWindowManager.cs: Don't need to ensure scrollbars here + anymore. + +2006-03-06 Peter Dennis Bartok + + * Splitter.cs: In situations where the affected control is added + to the parent's control list after the splitter, we would not + populate affected. Now we try populating it on mousedown, if + it's not already set, and force it to be re-set whenever our + parent changes. + +2006-03-03 Matt Hargett + + * Control.cs: implement Control.Padding + * Padding.cs: -Padding.All returns -1 when constructing with the + implicit default ctor + -Padding.ToString() matches MS.NET + * ContainerControl.cs: implement + ContainerControl.AutoScaleDimensions + * ListControl.cs: implement ListControl.FormattingEnabled + * TextBox.cs: Implemented TextBox.UseSystemPasswordChar. + * ButtonBase.cs: + * TabPage.cs: Implement UseVisualStyleBackColor. + * PictureBox.cs: Implement PictureBox.InitialImage. + +2006-03-03 Mike Kestner + + * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new + event declarations to proxy to base event. + * ListViewItem.cs: update to use ItemControl. + * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems. + * ThemeWin32Classic.cs: update to new ListView theme API and fix + column header label rendering for 0 width columns. + +2006-03-03 Peter Dennis Bartok + + * Control.cs (ControlCollection.SetChildIndex): Avoid using a call + that causes the control to be created. Fixes #77476. + +2006-03-02 Jackson Harper + + * Hwnd.cs: Clear the nc pending when clearing the NC area, not the + expose_pending. + +2006-03-02 Peter Dennis Bartok + + * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs + passed in for the EventArgs (fixes #77690) + +2006-03-01 Jackson Harper + + * ScrollBar.cs: Refresh afterbeing resized. + +2006-02-28 Mike Kestner + + * MenuAPI.cs: Call PerformPopup internal method to emit Popup. + Clean up a tracker compile warning. + * MenuItem.cs: add internal PerformPopup method. + [Fixes #77457] + +2006-02-28 Peter Dennis Bartok + + * TextBoxBase.cs (set_Text): Recalculate the document (causing an + implicit expose) when the text is set to null + +2006-02-28 Peter Dennis Bartok + + * RichTextBox.cs (FlushText): When newline is true, we always + need to split the line, even if no text is on it and we may + never eat newlines. (Fixes #77669) + +2006-02-28 Mike Kestner + + * ListView.cs: Add UpdateSelection internal method. Remove SelectItem + and set Selected instead. + * ListViewItem.cs: Call owner.UpdateSelection to manipulate the + collections. + +2006-02-28 Peter Dennis Bartok + + * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665 + +2006-02-28 Alexander Olk + + * FontDialog.cs: + - Got rid of the panel. All controls are now directly added to + the dialog form + - It is now possible to set a font with the Font property + - MinSize and MaxSize property do now what they should + - ShowApply, ShowHelp, ShowColor, ShowEffects likewise + - Searching and selecting a font with the font textbox works now, + the same applies to the style and size textbox + - Draw the correct 3D border in the example panel + - Fixed a little mem leak (unused fonts didn't get disposed) + - Many other internal updates/rewrites... + - Fix typo + +2006-02-27 Peter Dennis Bartok + + * TextControl.cs: + - InsertRTFFromStream: Added 'number of characters inserted' argument + - set_SelectedRTF: Now using the number of characters to calculate + the new location for the selection and cursor (x/y cannot be used + due to potentially already wrapped text) + +2006-02-27 Peter Dennis Bartok + + * TextControl.cs: Added property and implemented means to allow + disabling recalculation of a document (can be used to speed up + multiple inserts and is needed to make RTF inserts predictable, see + bug #77659) + * RichTextBox.cs: Using the new NoRecalc property of Document to + keep x/y insert locations predictable. Also makes it faster inserting + large chunks of RTF + +2006-02-27 Peter Dennis Bartok + + * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way + it's easier for a child control to handle the other messages without + having to duplicate the special functionality + * TextBoxBase.cs + - WndProc: Removed calling base handler for WM_KEYDOWN and added + code to handle processing the key ourselves, in order to get + access to the result of KeyEventArgs.Handled. We now only call + ProcessKey if they key hasn't been handled already. Fixes #77526. + - set_Text: If null or empty string is given, just clear the + document. Fixes part of #77526 + +2006-02-27 Jackson Harper + + * SizeGrip.cs: Paint the background color before painting the grip + so things look right. + * MdiClient.cs: Add the sizegrip when both scrollbars are used. + +2006-02-27 Mike Kestner + + * ListView.cs: + - Restructure layout and invalidation model to remove a ton of + flicker from the control and speed up performance in general. + - Add manual column resize, flickers like crazy, but I already have + some ideas on how I'll fix that. (#76822) + - Merge the three Icon-based views into a single layout method. + - Move item selection interaction logic from the item since + interaction with the collections is more appropriate to the view. + - Deselection on non-item clicks. + * ListViewItem.cs: + - Encapsulate most of the layout. Add some internal props to trigger + layout. Move to a model where Items invalidate themselves instead + of just invalidating the whole control every time something changes. + - Invalidate on Text/Caption changes. + - switch to an offset based layout model to avoid having to absolute + position every element on item moves. + - correct checkbox layout to conform to MS layout. + * ThemeWin32Classic.cs: + - refactor some column header drawing code. + - fix string justification for column headers (#76821) + - make SmallIcon labels top justified for compat with MS impl. + * ThemeClearlooks.cs: + - adjust to new ListViewItem internal checkbox bounds api. + +2006-02-27 Jackson Harper + + * Control.cs: Change where implicit controls fall in the zorder. + They are now on top of all children. + - Synced AddImplicit code with Add + - Removed unused enumerator. + * SizeGrip.cs: Remove the TODO as its been TODONE. + +2006-02-26 Peter Dennis Bartok + + * TextControl.cs(Insert): Combine the last lines unless the insertion + string ends with \n\n, otherwise we leave one line too many (Fixes + something I noticed with the testapp for #77526; the bug itself was + already fixed in the previous checkin) + +2006-02-26 Peter Dennis Bartok + + * RichTextBox.cs: + - SelectionColor and SelectionFont methods no longer set absolute + styles. Instead, the keep font or color respectively (This + resolves a long-standing FIXME in the code) + - When flushing RTF text, the insert code now considers text trailing + behind the insertion point (Fixes the bug where when replacing + the selected text via SelectedRTF the remainder of the line behind + the selection would stay on the first insertion line) + * TextBoxBase.cs: + - AppendText now updates the selection points after inserting text + - AppendText now ensures that the last tag (sometimes 0-length) of + the document is used for the style information (Fixes part of + bug #77220) + * TextControl.cs: + - Created new FontDefiniton class to allow describing partial style + changes + - StreamLine() now takes a lines argument, to allow it to decide + whether an encountered zero-length tag is the last in the document + (which must be kept to not loose the font/color contained in it, + for later appends) + - Created Combine() and Split() methods for Marker structs, to + support marker updates due to reformatted documents (soft line + wraps) + - Implemented Document.CaretTag setter + - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character + of the last line (Not the cause, but also exposed by bug #77220) + - Added LineTag argument to InsertString method, to allow callers + to force a certain tag to be used (required to force use of the + trailing zero-length tag of a document) + - Now updating markers in Combine(), to avoid stale tag markers + - Added some method descriptions to aid maintenance + - Implemented new FormatText concept, allowing additive/subtractive + formatting by only specifying the components that are to be + changed. This was needed for resolving the RTB.SelectedColor/ + RTB.SelectedFont fixmes + - Added Break() support method to allow breaking up linetags (used + for partial formatting) + - Added GenerateTextFormat() method. It is used for partial + formatting and allows to generate a full font/color from given + attributes and an existing tag. + +2006-02-26 Jackson Harper + + * XplatUIX11.cs: Use the correct caption height. + - Translate hittest coordinates to screen coords to match MS. + * XplatUIWin32.cs: When we create MDI windows we need to reset + some of the style flags, so we get a nice blank window, and can + draw all the decorations ourselves. + - Set a clipping rectangle on the non client paint event, the + window manager drawing code needs one. + * Form.cs: The window manager needs to know when the window state + has been updated. + * Hwnd.cs: The window manager stuff now does a proper NCCALC so we + don't need to factor in border and title sizes in these + methods. TODO: Remove the args and fix the call points. + * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA + properly. + - Let the driver set the cursors. + - Improve active window handling + - Correct sizes for title bars and buttons. + - Match MS drawing better + * MdiWindowManager.cs: We don't need to handle border style + updates specially anymore. + - Check for scrollbars when windows are done moving + - Handle Active properly. + * MimeIcon.cs: Don't crash when we can't load the GNOME stuff + correctly. I am spewing the exception though, so we don't hide the + bugs. + +2006-02-26 Pedro Martinez Julia + + * DataGridViewRowPostPaintEventArgs.cs, + DataGridViewCellPaintingEventArgs.cs, + DataGridViewRowCollection.cs, + DataGridViewRowPrePaintEventArgs.cs, + DataGridViewCell.cs: Clear a few warnings and implement a few + exceptions that should be thrown. + +2006-02-22 Peter Dennis Bartok + + * ScrollBar.cs (ctor): Explicitly set a cursor to avoid + 'inheriting' our parent's (non-default) cursor. (Part of + the fix for #77479) + +2006-02-22 Peter Dennis Bartok + + * XplatUIX11.cs: Fixed cast to make csc happy + +2006-02-22 Peter Dennis Bartok + + * Control.cs (WndProc): Only handle WM_SETCURSOR messages if + it's for the client area (part of fix for #77479 and needed + for MDI window cursor handling) + * XplatUIX11.cs + - DefWindowProc: Now handles the WM_SETCURSOR messages, setting + the appropriate default cursors and also passing the message + up the parent chain + - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even + for non-client areas + +2006-02-15 Jackson Harper + + * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this + is a real MDI window + +2006-02-14 Alexander Olk + + * X11DesktopColors.cs: Instead of checking the desktop session + string for "KDE" check if it starts with "KDE" + +2006-02-10 Jackson Harper + + * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit + systems). + +2006-02-10 Alexander Olk + + * FileDialog.cs: Added Refresh to RunDialog to fix some drawing + errors + * ColorDialog.cs: + - Got rid of the panel. All controls are now directly added to + the dialog form + - Changed to mono coding style + +2006-02-10 Jackson Harper + + * InternalWindowManager.cs: We don't need the set visibility to + false hack anymore now that peter has written beautiful shutdown + code. + +2006-02-10 Peter Dennis Bartok + + * XplatUIX11.cs: Ignore DestroyNotify messages for windows that + where already explicitly destroyed + +2006-02-10 Jackson Harper + + * MdiClient.cs: Handle the case where windows are too high or to + the left and we need scrollbars. + +2006-02-10 Alexander Olk + + * MimeIcon.cs: Added some icons + * FileDialog.cs: + - Fixed bug #77477 + - Got rid of the panel. All controls are now directly added to + the dialog form + - Changed to mono coding style + - On Linux "My Computer" and "My Network" will now show some + more usefull information. A new class, MasterMount, gathers + this information from /proc/mount. Updated MWFFileView to make + use of this information + - Fixed a bug that caused FileDialog to crash when + ".recently_used" file had a zero size + - FilterIndex does now what it should + - Some Refactoring + * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest + FileDialog changes + +2006-02-09 Jackson Harper + + * ComboBox.cs: Don't touch if null. + +2006-02-09 Peter Dennis Bartok + + * Cursor.cs: 64bit safeness fix + * XplatUIX11.cs: Removed several unneeded and one moronic cast. + +2006-02-09 Jackson Harper + + * Form.cs: If a form is made into an MDI form update the styles so + all the props can get set correctly. + - Kill the mdi_container when we dont need it anymore. + * InternalWindowManager.cs: Add missing NOT + +2006-02-08 Jackson Harper + + * InternalWindowManager.cs: Respek clipping when drawing MDi + decorations. + +2006-02-08 Jackson Harper + + * Hwnd.cs: Add bits to track non client expose events. + * XplatUIX11.cs: Track non client expose events on the hwnd. This + gives us a proper invalid rect and will allow for some nice + optimizations with NC client drawing + - MDI windows are children windows, so move their style handling + into the child window block. + * InternalWindowManager.cs: Remove a state reset that was + getting invoked at the wrong time. Fixes managed windows getting + into a 'stuck' captured state. + +2006-02-07 Peter Dennis Bartok + + * TextControl.cs (Document.ctor): Now initializing + selection_anchor. Fixes #77493 + +2006-02-07 Jackson Harper + + * TrackBar.cs: The increment/decrements were backwards. + +2006-02-07 Mike Kestner + + * Theme*.cs : remove ThemeEngine.Current usage as it just points back + to the instance itself. + +2006-02-07 Peter Dennis Bartok + + * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based + on ulongs and pointers, the size differs between 32bit and 64bit + systems. + +2006-02-07 Mike Kestner + + * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty + for 64 bit platforms to work around a metacity bug. + +2006-02-07 Jackson Harper + + * TrackBar.cs: Process the input keys we need, and hookup to + KeyDown instead of using WndProc, so we get key messages. + +2006-02-06 Peter Dennis Bartok + + * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what + machine we're on. + * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire + we need to translate the XdndVersion atoms array before sending it + +2006-02-06 Peter Dennis Bartok + + * XplatUIX11.cs: + - The preceeding 64bit fixes had a bug: ChangeProperty expects the + number of bits for the property, not the number of bytes. The + change to provide IntPtr.Size broke 32bit. (64bit was also wrong + but would not crash since it specified 8 bits instead of 4 bits) + - More 64bit fixes: Switched all atoms from int to IntPtr (they are + defined as XID -> long in the C headers) + - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms + references since those are now IntPtr to begin with + - Switched all Atom.XXX 'int' casts to IntPtr casts + - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg) + - Fixed XInternAtom signature for 64bit, now returns an IntPtr + - Added XChangeActivePointerGrab DllImport (for X11DnD) + * X11Structs.cs: + - Changed 'int' type for Atoms in XEvent structures to IntPtr + - Changed atom in HoverStruct to be IntPtr + * X11DnD.cs: + - Removed local DllImports, switched code to use those from XplatUIX11 + - Removed/fixed casts related to the switch of Atom to be a IntPtr + +2006-02-06 Mike Kestner + + * XplatUIX11.cs : many more 64 bit pinvoke changes. I've audited all the + method signatures in the import region. There may still be some + lingering struct marshaling issues, as I didn't drill down into those. + Yet. + +2006-02-06 Jackson Harper + + * ComboBox.cs: Dont manually set the top_item, this is computed + when the scrollbar position is set. + +2006-02-06 Mike Kestner + + * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes + startup crashes on amd64. There's other fixes needed. All pinvoke + usage of Atom needs to be mapped to IntPtr for example. And there are + likely other int/long issues to be addressed. + +2006-02-04 Alexander Olk + + * FileDialog.cs: One more... + +2006-02-03 Alexander Olk + + * FileDialog.cs: Next try + +2006-02-03 Alexander Olk + + * FileDialog.cs: First part of fix for #77464 + +2006-02-03 Alexander Olk + + * ButtonBase.cs, ContainerControl.cs, Forms.cs, + ThemeWin32Classic.cs: Fix for #77458. Correct handling of + AcceptButton border drawing. + +2006-02-03 Peter Dennis Bartok + + * Form.cs: Moved positioning of form after auto scaling is applied, + otherwise it would possibly use wrong form size. + +2006-02-03 Peter Dennis Bartok + + * Control.cs (RecreateHandle): No need to re-create any child + controls, the child windows will get destroyed automatically by + the windowing system or driver, and re-created when the handle + is being accessed the first time. Fixes #77456 + * Form.cs: No longer setting the form to closing if the handle is + being recreated. This seems like the right thing to do, don't + have a bug or testcase for this, though. + +2006-02-02 Peter Dennis Bartok + + * FileDialog.cs: Suspend/Resume layouting when changing sizes of + controls to avoid unwanted side effects + +2006-02-02 Peter Dennis Bartok + + * Control.cs: + - ScaleCore needs to scale the bounds, not the ClientSize of the + control. Fixes #77416. + - DefaultSize is 0,0 for control + * TextBoxBase.cs: + - DefaultSize is 100, 20 + - SetBoundsCore: Now enforcing the height, no matter if the provided + height is more or less than the preferred one, as long as AutoSize + is on + * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416 + +2006-02-02 Peter Dennis Bartok + + * Control.cs: + - ResumeLayout: Fixed logic when to call PerformLayout, we may not + call unless both performLayout is true *and* we have a pending + layout change + - ResumeLayout: MS does not completely nest Suspend and Resume, + they bottom out at 0, fixed our code to match that. + - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to + SetBoundsCore, we were updating even when we shouldn't. This fixes + swf-anchors mis-anchoring when resizing the app fast and lots. + - UpdateDistances: Now only setting the left and top distance if + we have a parent and are not suspended, this is based on + a suggestion by Don Edvaldson in bug #77355. + - OnVisibleChanged: Fixed logic when to create the control. We may + not create the control if we have no parent or if it's not visible; + switched to using Visible property instead of is_visible field + since the property also considers parent states. This fixes a bug + when starting Paint.Net + +2006-02-02 Jackson Harper + + * Form.cs: If the forms handle hasn't been created yet don't call + into xplatui to make it top most, just set the topmost flag on the + form in CreateParams + * XplatUIX11.cs: Handle WS_EX_TOPMOST. + +2006-02-01 Jackson Harper + + * ScrollableControl.cs: Refactored the Recalculate method a + little, this wasn't handling all the variants of bottom and right + bars needed to be added and added/removed based on their + counterparts being added/removed (which changes the drawable + size). Also we special case client widths and heights of 0 and + don't add the scrollbar for those. + +2006-02-01 Peter Dennis Bartok + + * 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 + - Added logic to have default menu height if the actual menu height + has not yet been calculated (part of fix for #77426) + * Form.cs: Keep track whether client size has been set and re-set + it if a menu is added/removed afterwards (Fixes #77426) + +2006-01-31 Jackson Harper + + * Control.cs: When a new Site is set on the component attempt to + pull the AmbientProperties from it. + +2006-01-31 Peter Dennis Bartok + + * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not + in the background of the owning form. Fixes #77332 + +2006-01-31 Alexander Olk + + * MimeIcon.cs: Fix for #77409 + +2006-01-31 Alexander Olk + + * XplatUIX11GTK.cs: Initial import + +2006-01-31 Jordi Mas i Hernandez + + * FixedSizeTextBox: fixes class signature + +2006-01-30 Jackson Harper + + * 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 + + * XplatUIX11.cs: Retrieve default screen number instead of + assuming 0. Attempted fix for #77318 + +2006-01-30 Peter Dennis Bartok + + * 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 + + * MenuAPI.cs: adjust MainMenu item popup location to y=0. + +2006-01-30 Jackson Harper + + * TreeView.cs: + * TreeNode.cs: Raise events no matter how the treenode is + checked. Patch by Don Edvalson. + +2006-01-30 Jackson Harper + + * TreeNode.cs: Signature fix. + +2006-01-29 Alexander Olk + + * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing. + +2006-01-20 Mike Kestner + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Control.cs (BeginInvoke): Automagically handle EventHandlers the + same way we handle them with Invoke. + +2006-01-25 Peter Dennis Bartok + + * 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 + + * Help.cs: Allow param to be null. Patch by Don Edvalson. + +2006-01-24 Jackson Harper + + * 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 + + * Control.cs: Don't allow selection of non visible controls, allow + selection of controls without parents. + +2006-01-24 Jordi Mas i Hernandez + + * ThemeWin32Classic.cs: Fixes Datagrid drawing issues + * DataGridDrawingLogic.cs: Add editing row only when is necessary + +2006-01-23 Jackson Harper + + * UpDownBase.cs: Make the textbox handle all the selection and + tabbing. This fixes tabing to updown controls. + +2006-01-24 Jordi Mas i Hernandez + + * TextBoxBase.cs: fixes exception thown the object was null + +2006-01-23 Jackson Harper + + * 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 + + * ThemeGtk.cs: Added TrackBar and some experimental code to + get double buffering back + +2006-01-21 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox + +2006-01-19 Jackson Harper + + * 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 + + * 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 + + * Label.cs: A label by default is not a tabstop (Fixes one of our + failing nunit tests) + +2006-01-18 Peter Dennis Bartok + + * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282 + * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282 + +2006-01-18 Peter Dennis Bartok + + * 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 + + * ThemeGtk.cs: Simplify ScrollBar drawing + +2006-01-18 Jackson Harper + + * Splitter.cs: Set the default dock style for the splitter control + in the constructor. + +2006-01-18 Alexander Olk + + * ThemeGtk.cs: Corrected StateType and ShadowType for + gtk_paint_box + +2006-01-18 Alexander Olk + + * Control.cs: Make use of Theme.DoubleBufferingSupported + * ThemeGtk.cs: + - Added drawing for flat style buttons + - Added ScrollBar drawing + +2006-01-18 Alexander Olk + + * ThemeClearlooks.cs: Removed some unneeded code. + * ThemeGtk.cs: First part of ThemeGtk enhancements. + +2006-01-17 Peter Dennis Bartok + + * LinkLabel.cs: We need to update the hover drawing when + leaving the control as well. + +2006-01-18 Jordi Mas i Hernandez + + * DataGrid.cs: Clicking on non empty areas in the columns + area was giving an exception + +2006-01-17 Jackson Harper + + * ThemeWin32Classic.cs: + * ListView.cs: Do not draw/clip the headers when the header style + is None. + +2006-01-17 Jordi Mas i Hernandez + + * DataGrid.cs: Fixes 77260 + +2006-01-17 Jordi Mas i Hernandez + + * DataGrid.cs: Clicking on a column on a empty grid was giving + an exception + +2006-01-17 Peter Dennis Bartok + + * DataGrid.cs (OnKeyDown): Don't use the array if it's empty + or any keypress will crash the grid. + +2006-01-17 Mike Kestner + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * FileDialog.cs: Don't crash if InitialDirectory doesn't exist + +2006-01-13 Alexander Olk + + * 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 + + * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern. + +2006-01-13 Jackson Harper + + * 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 + + * 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 + + * TextControl.cs: Draw text in gray if control is disabled + +2006-01-13 Peter Dennis Bartok + + * TreeView.cs: Draw the focus rectangle outside the highlight, to + make sure it's always visible. Fixes #76680. + +2006-01-13 Peter Dennis Bartok + + * TreeView.cs: Implemented Wheel scrolling. Fixes #76531 + +2006-01-13 Jonathan Chambers + + * PageSetupDialog.cs: Added. + * PrintDialog.cs: Attributes. + * PrintPreviewControl.cs: Updates. + * PrintPreviewDialog.cs: Updates. + +2006-01-12 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null. + +2006-01-12 Alexander Olk + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * TreeView.cs: Allow setting SelectedNode to null. + +2006-01-9 Jonathan Chambers + + * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows. + +2006-01-9 Jonathan Chambers + + * PrintControllerWithStatusDialog.cs: Update page number in dialog. + +2006-01-9 Jonathan Chambers + + * PrintDialog.cs: Added attributes and set default property values. + +2006-01-9 Jonathan Chambers + + * PrintControllerWithStatusDialog.cs: + Added PrintControllerWithStatusDialog. + +2006-01-9 Jonathan Chambers + + * 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 + + * ComboBox.cs: Fix crash when there is no selected item (due to last commit) + +2006-01-09 Jonathan Chambers + + * 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 + + * MimeIcon.cs: Added internal class SVGUtil. + +2006-01-08 Alexander Olk + + * FileDialog.cs: Don't crash if there are two files with the + same name but different locations. + +2006-01-08 John BouAntoun + + * 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 + + * 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 + + * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen + object for location info since screen object is now implemented. + +2006-01-05 Jackson Harper + + * 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 + + * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families + returns two FontFamily with the same name + +2006-01-04 Peter Dennis Bartok + + * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of + drawing disabled text. Instead using the ColorGrayText color + +2006-01-04 Jackson Harper + + * TreeNode.cs: redraw the node when its image index is changed. + +2006-01-04 Peter Dennis Bartok + + * RichTextBox.cs: Same fix as last, just for SelectionColor. This + time I checked there are no others like it. + +2006-01-04 Jackson Harper + + * 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 + + * 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 + + * Theme.cs: Cache UI resource images and resize them if needed + +2006-01-03 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * FileDialog.cs: + - Removed some dead code + - Opening a recently used file does work now + - Small UI enhancements + - Refactoring + +2006-01-02 Alexander Olk + + * FileDialog.cs: Forgot too add __MonoCS__ + +2006-01-02 Alexander Olk + + * FileDialog.cs: We are able to read recently used files now let's + go on and write them. + +2006-01-01 Alexander Olk + + * 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 + + * 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 + + * 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 + + * 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 + + * ComboBox.cs: The internal TextBox now returns the focus. + +2005-12-23 Jackson Harper + + * ThemeWin32Classic.cs: Draw the text for all tab appearances. + +2005-12-23 Peter Dennis Bartok + + * Control.cs: Removed debug code + * XplatUIX11.cs: Changed DestroyChildWindows to also consider + implicit children + +2005-12-23 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * RichTextBox.cs: Set default RTF font for documents that don't + have a font table (Fixes #77076) + +2005-12-22 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings, + will always match. Instead return -1. Fixes #76464. + +2005-12-21 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * ColorDialog.cs: Fixed focus drawing in small color controls + +2005-12-19 Jackson Harper + + * InternalWindowManager.cs: + * MdiWindowManager.cs: Cleanup some coordinate system changes so + moving windows works properly. + +2005-12-19 Peter Dennis Bartok + + * 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 + + * ThemeClearlooks.cs: Corrected distance between ProgressBar + stripes + +2005-12-18 Alexander Olk + + * 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 + + * 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 + + * ThemeClearlooks.cs: Updated TrackBar drawing. + +2005-12-17 Alexander Olk + + * FileDialog.cs: Patch for #76901 by Atsushi Enomoto + +2005-12-17 Alexander Olk + + * FileDialog.cs: Add the Help button and the open readonly + checkbox only if needed + +2005-12-16 Jackson Harper + + * 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 + + * InternalWindowManager.cs: Don't translate tool windows screen + coordinates. This fixes windows 'bouncing' around when being moved. + +2005-12-15 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * XplatUIX11.cs: Tool windows still need to respek focus. + +2005-12-14 Peter Dennis Bartok + + * Control.cs: Undid 54254 (causing XConfigure errors) so we can + have a working release + +2005-12-13 Jackson Harper + + * 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 + + * 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 + + * Control.cs: Updates so we match behavoir for for implicit + controls. Fixes explosions in MDI. + +2005-12-12 Jackson Harper + + * Control.cs: Implement Invalidate (Region). + +2005-12-12 Peter Dennis Bartok + + * 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 + + * Form.cs: Removed commented out code + +2005-12-08 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * Control.cs(PreProcessMessage): Removed special menu handling + * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes. + +2005-12-07 Mike Kestner + + * 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 + + * 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 + + * 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 + + * MdiChildContext.cs: reenable the sizing code. + - When the mouse leaves a window reset its cursor. + +2005-12-07 Alexander Olk + + * ThemeClearlooks.cs: Reflect latest Hwnd changes + +2005-12-07 Peter Dennis Bartok + + * Hwnd.cs: Now using the theme 3d bordersize to calculate + widths of Fixed3D borders + +2005-12-07 Jackson Harper + + * MdiClient.cs: Fix warnings. Earn Mike's love. + +2005-12-07 Alexander Olk + + * 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 + + * XplatUIX11.cs: Added call to XBell for AudibleAlert + +2005-12-06 Peter Dennis Bartok + + * 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 + + * Control.cs: Fix behaviour problems pointed out by Mike + +2005-12-05 Mike Kestner + + * 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 + + * RichTextBox.cs: Implemented get_SelectionColor + +2005-12-05 Alexander Olk + + * 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 + + * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value. + * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod. + +2005-12-04 Alexander Olk + + * ThemeClearlooks.cs: Initial check-in, activate with + export MONO_THEME=clearlooks + * ThemeEngine.cs: Added ThemeClearlooks + +2005-12-03 Mike Kestner + + * MenuAPI.cs: deactivate menus prior to calling item.PerformClick. + [Fixes #76897] + +2005-12-02 Jackson Harper + + * 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 + + * ListBox.cs: Check if any items exist before trying to resolve + coordinates into items + +2005-12-02 Peter Dennis Bartok + + * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white + as the second color for the background hatch + +2005-12-02 Peter Dennis Bartok + + * 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 + + * NumericUpDown.cs (EndInit): When we are done initializing, + reflect any updates on the UI. + +2005-12-02 Jackson Harper + + * 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 + + * 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 + + * 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 + + * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so + that arrows can be scaled. + +2005-12-01 Jackson Harper + + * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to + fail. Patch by Dieter Bremes + +2005-11-30 Jackson Harper + + * Form.cs: Property is 2.0 only + * PrintDialog.cs: Signature fix. + +2005-11-30 Peter Dennis Bartok + + * 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 + + * Menu.cs: mark MenuChanged internal, since it's not exposed by MS. + +2005-11-30 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected + * ThemeNice.cs: Fix drawing of flatstyle radiobuttons + +2005-11-29 Jordi Mas i Hernandez + + * 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 + + * 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 + + * MdiClient.cs: Pass some signature methods through to base. + +2005-11-28 Jackson Harper + + * ListView.cs: Raise the click event when items are clicked. + +2005-11-28 Jackson Harper + + * MdiClient.cs: Make this algorithm even more beautiful. And fix + a nullref. + +2005-11-27 Alexander Olk + + * 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 + + * ThemeNice.cs: - Remove dead code + - use correct background colors for menus, etc. + - Fake pixel drawing with 1 pixel bitmaps + +2005-11-24 Jackson Harper + + * 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 + + * MdiChildContext.cs: Don't size windows if they are maximized. + +2005-11-23 Mike Kestner + + * 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 + + * 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 + + * Hwnd.cs: The adjustments for the menu bar are made when it is + attached to the form. + +2005-11-19 Jackson Harper + + * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT + (just like on windows). + +2005-11-19 Jackson Harper + + * 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 + + * 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 + + * XplatUIX11.cs: Just compute the mdi borders separately as they + don't totally match up with normal form borders. + +2005-11-18 Jackson Harper + + * 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 + + * MdiClient.cs: Fix typo so scrollbars show up correctly. + +2005-11-18 Jackson Harper + + * 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 + + * 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 + + * Menu.cs: when adding an item to the collection, if item is already + parented, remove it from the parent. + +2005-11-13 Alexander Olk + + * X11DesktopColors.cs: Added KDE support + +2005-11-11 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't + endian safe. + +2005-11-07 Jackson Harper + + * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly. + +2005-11-07 Jackson Harper + + * ScrollableControl.cs: Calculate the maximum and change vars + (more) correctly so that scrollbars appear as a sensible size. + +2005-11-04 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * TabControl.cs: Implement the remove method. Fix some broken + comments. + +2005-11-03 Peter Dennis Bartok + + * 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 + + * GridItemCollection.cs: Fix signatures + +2005-11-03 Peter Dennis Bartok + + * 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 + + * Menu.cs: + * MainMenu.cs: + * GridTableStylesCollection.cs: + * Timer.cs: + * TabPage.cs: + * HelpProvider.cs: + * StatusBar.cs: + * MonthCalendar.cs: Signature fixes + +2005-11-03 Jackson Harper + + * TreeNodeCollection.cs: Remove should not be virtual. + * TreeView.cs: Implement the last of the missing methods. + +2005-11-03 Jackson Harper + + * TreeNodeConverter.cs: Implement to get off my class-status back. + +2005-11-03 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * TreeView.cs: Don't draw the selected node when we lose focus. + +2005-10-31 Jackson Harper + + * 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 + + * 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 + + * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas. + +2005-10-31 Jordi Mas i Hernandez + + * PictureBox.cs: Fixes 76512 + +2005-10-28 Jackson Harper + + * 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 + + * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING + clipboard requests + +2005-10-27 Jackson Harper + + * TreeNode.cs: Implement serialization so my DnD examples will work. + +2005-10-24 Kornél Pál + + * 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 + + * 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 + + * 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 + + * ImageList.cs: Dispose ImageAttributes objects. + +2005-10-22 Kornél Pál + + * ImageList.cs: Use attribute constructors with less arguments where + possible. + +2005-10-22 Kornél Pál + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * DataGrid.cs: Adds support for vertical scrolling using the mousewheel + +2005-10-21 Jordi Mas i Hernandez + + * Binding.cs: No PushData/PullData if there is no binding (fixes crash) + +2005-10-21 Jordi Mas i Hernandez + + * DataGridDrawingLogic.cs: Fixes column hit calcultation + * DataGridColumnStyle.cs: Remove debug message + +2005-10-20 Jackson Harper + + * 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 + + * 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 + + * TreeNodeCollection.cs: Remove debug code. + +2005-10-20 Jordi Mas i Hernandez + + * Datagrid.cs: Implements column sorting in Datagrid + * DataGridColumnStyle.cs: Implements column sorting in Datagrid + +2005-10-20 Jackson Harper + + * TreeNodeCollection.cs: Remove items properly. Update the correct + area after removing them. + +2005-10-20 Jordi Mas i Hernandez + + * Datagrid.cs: Should not call base.OnPaintBackground + +2005-10-20 Peter Dennis Bartok + + * 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 + + * 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 + + * Splitter.cs: Properly set limits if no filler control is used + +2005-10-19 Jackson Harper + + * 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 + + * 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 + + * FolderBrowserDialog.cs: End editing our treeview so the window + actually gets refreshed. + +2005-10-18 Peter Dennis Bartok + + * 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 + + * MenuAPI.cs: Returns after Hidding window + * XplatUIX11.cs: Added TODO found while debugging menu issues + +2005-10-18 Peter Dennis Bartok + + * 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 + + * 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 + + * TreeNodeCollection.cs: Insert is not supported on arrays, so + implement it manually here. + +2005-10-18 Jackson Harper + + * 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 + + * Control.cs: Don't invalidate empty rectangles. + +2005-10-18 Jordi Mas i Hernandez + + * 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 + + * Label.cs: Dispose objects no longer used + * ThemeWin32Classic.cs: Dispose objects no longer used + +2005-10-18 Jackson Harper + + * 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 + + * XplatUIX11.cs: Compress code a little bit. Only calculate the + after handle when we need it. + +2005-10-17 Peter Dennis Bartok + + * Control.cs: When the parent size changes, recalculate anchor + positions. Partial fix for #76462 + +2005-10-17 Peter Dennis Bartok + + * ThemeWin32Classic.cs: Make sure the picturebox has it's background + drawn. Fixes #76462 + +2005-10-17 Jackson Harper + + * 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 + + * TreeView.cs: Merge in patch by Rafael Teixeira to align strings + correctly. + +2005-10-17 Rafael Teixeira + * TreeNode.cs : small logical fix (was using local var instead of field) + +2005-10-17 Jordi Mas i Hernandez + + * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours + +2005-10-17 Jordi Mas i Hernandez + + * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons + +2005-10-16 Peter Dennis Bartok + + * 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 + + * Hwnd.cs: Compute invalid area correctly (fixes my last commit + which was broken). + +2005-10-16 Jackson Harper + + * TabControl.cs: Remove debug code. + +2005-10-16 Jackson Harper + + * 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 + + * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox) + +2005-10-16 Jordi Mas i Hernandez + + * DataGridBoolColumn.cs: fixes warning + +2005-10-16 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * PropertyGrids.cs: Get sub properties + * PropertyGridView.cs: Fix drawing code + +2005-10-11 Jordi Mas i Hernandez + + * ListBox.cs: Fixes 76383 + +2005-10-11 Jordi Mas i Hernandez + + * 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 + + * ComboBox.cs: Fixes border drawing + +2005-10-10 Miguel de Icaza + + * MimeIcon.cs: Ignore errors if the file can not be read. + +2005-10-11 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * TreeView.cs: Don't adjust the rect given to DrawString now that + our libgdiplus draws correctly. + +2005-10-08 Jackson Harper + + * TreeView.cs: Don't try to find the clicked on node if there are + no nodes in the tree. + +2005-10-08 Alexander Olk + + * RichTextBox.cs: + + restore + +2005-10-08 Alexander Olk + + * 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 + + * MdiChildContext.cs: Use the new borders instead of drawing them + ourselves. + +2005-10-06 Jordi Mas i Hernandez + + * Calling UpdateBounds after changing the window's BorderStyle + since the style can change the ClientSize + +2005-10-06 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * XplatUIX11.cs: A better DrawReversibleRectangle version, however + somewhat hackish looking + +2005-10-06 Peter Dennis Bartok + + * 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 + + * 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 + + * MdiChildContext.cs: Clear out the old virtual position remove + all the unneeded calls to CreateGraphics. + +2005-10-06 Peter Dennis Bartok + + * TextControl.cs: Use proper color for highlighted text; fixes #76350 + +2005-10-06 Peter Dennis Bartok + + * 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 + + * 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 + + * MdiChildContext.cs: Use the new xplatui function to draw a + reversible rect. + +2005-10-06 Jackson Harper + + * 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 + + * 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 + + * TreeView.cs: There are no expand/collapse boxes if the node has + no children. + +2005-10-05 Jackson Harper + + * X11DesktopColors.cs: Get menu colours for the gtk theme. + +2005-10-05 Alexander Olk + + * FileDialog.cs: Fix InitialDirectory + +2005-10-05 Jordi Mas i Hernandez + + * ComboBox.cs: + - Fixes changing between styles + - Fixes simple mode + - Fixes last item crashing when navigating with keyboard + +2005-10-05 Jordi Mas i Hernandez + + * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label + +2005-10-05 Jackson Harper + + * 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 + + * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize() + in dispose method. Fixes #76330 + +2005-10-04 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * Form.cs: + * MdiChildContext.cs: + * MdiClient.cs: Implement ActiveMdiChild in Form. + +2005-10-01 Jordi Mas i Hernandez + + * ComboBox.cs: Include ComboBoxEdit flag for the edit item + +2005-10-01 Peter Dennis Bartok + + * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot + be found + +2005-09-30 Jackson Harper + + * ListBox.cs: Don't do a full refresh unless some data has + actually changed. + +2005-09-30 Jackson Harper + + * TreeView.cs: Make sure that the checkboxes size is factored in + even when not visible. + +2005-09-30 Peter Dennis Bartok + + * FileDialog.cs: Fix Jordi's build break + +2005-09-30 Jordi Mas i Hernandez + + * 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 + + * X11DesktopColors.cs: Initial incomplete implementation + * XplatUIX11.cs: Added call to initialize X11DesktopColors + +2005-09-30 Peter Dennis Bartok + + * 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 + + * ImageList.cs: Add(Icon): Create handle. + +2005-09-30 Jordi Mas i Hernandez + + * ListView.cs: + * ThemeWin32Classic.cs: + - Fixes detail mode + - Sets clippings + - Issues with drawing + +2005-09-30 Kornél Pál + + * ImageList.cs: Moved RecreateHandle back to ImageList as event + source has to be the ImageList. + +2005-09-30 Kornél Pál + + * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap. + +2005-09-30 Kornél Pál + + * ImageList.cs: ReduceColorDepth: Clean up pointer operations. + +2005-09-30 Kornél Pál + + * ImageList.cs: ImageCollection: Removed owner field as it is no more used. + +2005-09-29 Jonathan Chambers + * GridItem.cs: Fixed TODOs + * GridItemCollection.cs: Added ICollection interface + +2005-09-30 Kornél Pál + + * ImageList.cs: Resize icons when needed. + +2005-09-29 Jordi Mas i Hernandez + + * 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 + + * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring. + +2005-09-29 Kornél Pál + + * 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 + + * 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 + + * 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 + + * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap. + +2005-09-28 Jordi Mas i Hernandez + + * ListBox.cs: Fixes bug 76253 + +2005-09-28 Kornél Pál + + * 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 + + * ListBox.cs: Fixes IndexFromPoint for last item + +2005-09-27 Jackson Harper + + * Form.cs: Set the position of new mdi children correctly. + +2005-09-27 Jackson Harper + + * 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 + + * Form.cs (CreateParams): Setup MDI forms correctly. + +2005-09-27 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * ListBox.cs: Fixes navigation to the last item in multicolumn lists + +2005-09-25 Jackson Harper + + * TreeView.cs: Update the node bounds correctly regardless of + whether the node is visible. + +2005-09-25 Jackson Harper + + * 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 + + * ImageList.cs: Don't set the format when changing the image. + +2005-09-25 Jackson Harper + + * 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 + + * TreeView.cs: Allow the scrollbars to be reset with negative + values. + - Don't add scrollbars to negative sized windows. + +2005-09-23 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Splitter.cs: Set the cursor an easier way. (Thanks peter). + +2005-09-22 Jackson Harper + + * Splitter.cs: There are special cursors used for splitting. + * XplatUIX11.cs: The VSplit and HSplit cursors were backwards. + +2005-09-22 Jackson Harper + + * 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 + + * Label.cs : Fix ToString method to give same output as MS.NET + +2005-09-22 Jackson Harper + + * 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 + + * MainMenu.cs: Fixes default value + * MenuItem.cs: Fixes default value + +2005-09-22 Kazuki Oikawa + + * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely. + +2005-09-21 Jackson Harper + + * 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 + + * Control.cs (Update): Don't call XplatUI if we don't have a + window handle yet + +2005-09-21 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * TreeNode.cs: Call Before/After Expand not Collapse when + expanding. + +2005-09-20 Jackson Harper + + * XplatUIX11.cs: Use the more hand looking hand (in most themes). + +2005-09-16 Jordi Mas i Hernandez + + * ListViewItem.cs: + - Fixes bug 76120 + - Fixes proper storing of subitems + - Fixes not updated items + +2005-09-20 Peter Dennis Bartok + + * 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 + + * MenuAPI.cs: Remove filtering of events to allow menu usage + +2005-09-20 Miguel de Icaza + + * Cursor.cs: Allow null to be passed to Cursor.Current. + +2005-09-20 Alexander Olk + + * 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 + + * Control.cs (ControlCollection.Add): If the value null is passed + the control is ignored. + + Optimize this loop. + +2005-09-19 Peter Dennis Bartok + + * 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 + + * Application.cs: Our constructor will never get called, move + initialization to fields; fixes bug #75933 + +2005-09-19 Hisham Mardam Bey + + * 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 + + * 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 + + * ComboBox.cs: Reverted almost everything from the latest patch which + broke ComboBox + +2005-09-16 Kazuki Oikawa + + * 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 + + * CheckedListBox.cs: Fixes bug 76028 + * ListBox.cs: Fixes bug 76028 + +2005-09-13 Jordi Mas i Hernandez + + * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders + * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing + +2005-09-12 Jordi Mas i Hernandez + + * XplatUIX11.cs: fixes System.NullReferenceException in some situations + +2005-09-09 Jonathan Chambers + + * IRootGridEntry.cs: Changed namespace to PropertyGridInternal + +2005-09-09 Jonathan Chambers + + * 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 + + * MimeIcon.cs: Try to check some other environment variables + if "DESKTOP_SESSION" returns "default" + +2005-09-09 Alexander Olk + + * ThemeNice.cs: Corrected background colors (e.g. menus) + * ColorDialog.cs: Use correct background colors for controls + +2005-09-09 Alexander Olk + + * ThemeNice.cs: Merged r49535 from ThemeWin32Classic + +2005-09-08 Peter Dennis Bartok + + * 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 + + * PropertiesTab.cs : Added + +2005-09-06 Jonathan Chambers + + * PropertyGrid.cs : Update + * PropertyGridView.cs : Update + * System.Windows.Forms.resx : Added images and strings + +2005-09-06 Peter Dennis Bartok + + * ThemeNice.cs: Do not dispose Pens retrieved from ResPool + +2005-09-06 Peter Dennis Bartok + + * 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 + + * ThemeWin32Classic.cs: Optimise the use of clipping + +2005-09-05 Jordi Mas i Hernandez + + * DataGrid.cs: fixes recursion bug + +2005-09-03 Alexander Olk + + * ThemeNice.cs: + - Draw RadioButton and CheckBox Buttons with DrawButtonBase + - Cleanup + +2005-09-02 Alexander Olk + + * ThemeNice.cs: Draw nice ProgressBars + +2005-09-01 Miguel de Icaza + + * 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 + + * ThemeNice.cs: + - Added nicer menu drawing + - Updated DrawTab + - some refactoring + +2005-08-30 Peter Dennis Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * Form.cs: Added (non-functional) Opacity property + * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code + +2005-08-29 Alexander Olk + * 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 + + * Splitter.cs: Resize docked control and its neighbor. + +2005-08-24 Rafael Teixeira + -- 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 + + * Label.cs: Now properly recalculates width and height on Font and Text + changes if AutoSize is set + +2005-08-19 Rafael Teixeira + * TreeView.cs : Revamped drawing logic, and support for FullRowSelect + +2005-08-19 Jordi Mas i Hernandez + + * ImageList.cs: Makes ToString method compatible with MS + +2005-08-18 Jordi Mas i Hernandez + + * MenuAPI.cs: fixes bug 75716 + +2005-08-11 Umadevi S + * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null. + +2005-08-11 Umadevi S + * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly + +2005-08-10 Umadevi S + * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox + +2005-08-07 Jordi Mas i Hernandez + + * Menu.cs: fixes bug 75700 + * MenuAPI.cs: fixes navigation issues + +2005-08-09 Umadevi S + * CheckedListBox.cs - simple fix for GetItemChecked. + +2005-08-08 Jordi Mas i Hernandez + + * ComboBox.cs: Serveral fixes + * ListBox.cs: Serveral fixes + +2005-08-05 Jordi Mas i Hernandez + + * ComboBox.cs: Fixes FindString methods and GetItemHeight + * ListBox.cs: Fixes FindString methods + +2005-08-05 Jordi Mas i Hernandez + + * DataGrid.cs: fixes bugs exposed by new tests + +2005-08-04 Peter Dennis Bartok + + * Mime.cs: Compile Mono assembly references only if compiling + with Mono (Allows to build with VS.Net again) + +2005-07-28 Marek Safar + + * 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 + + * 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 + + * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine) + * FileDialog.cs: FileDialog is now resizable and uses the new + MimeIconEngine + +2005-07-06 Jordi Mas i Hernandez + + * 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 + + * MimeGenerated.cs: Use case sensitive comparer for + NameValueCollections + +2005-07-01 Jordi Mas i Hernandez + + * 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 + + * TextControl.cs: Quick fix for the reported crash on ColorDialog + and other text box usage + +2005-07-01 Jackson Harper + + * TabControl.cs: Make sure the bottom of the tab covers the pages + border. + +2005-06-30 Peter Bartok + + * 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 + + * 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 + + * LibSupport.cs: Rename + +2005-06-29 Peter Bartok + + * 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 + + * 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 + + * LibSupport.cs: changes to match different input/output arguments. + +2005-06-29 Gonzalo Paniagua Javier + + * LibSupport.cs: added libsupport.so init routine. + +2005-06-29 Jordi Mas i Hernandez + + * ControlBindingsCollection.cs + - Throws an exception on null datasource when adding + - Checks for duplicated bindings when adding + +2005-06-28 Jackson Harper + + * 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 + + * 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 + + * OpenTreeNodeEnumerator.cs: Don't move past the begining of the + tree. + +2005-06-28 Jackson Harper + + * TreeView.cs: Add missing event. + +2005-06-27 Peter Bartok + + * 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 + + * 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 + + * 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 + + * TabControl.cs: Stay in bounds when cycling. Make sure Handled is + set. + +2005-06-23 Jackson Harper + + * TabControl.cs: Keyboard handling. We now support CTRL-TAB, + CTRL-SHIFT-TAB, and HOME, END are there any others? + +2005-06-23 Jackson Harper + + * XplatUIX11.cs: Get the modifier keys from the keyboard driver. + +2005-06-22 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * ScrollBar.cs: Fixes thumbpos on Maximum values + +2005-06-21 Jonathan Chambers + + * PropertyGridView.cs: Pass context information to UITypeEditors + +2005-06-21 Peter Bartok + + * 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 + + * 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 + + * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND + +2005-06-19 Alexander Olk + + * 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 + + * PropertyGrid.cs: Cleaned up some TODOs + * PropertyGridView.cs: Added support for UITypeEditors + +2005-06-17 Jordi Mas i Hernandez + + * DataGrid.cs: clears cached value + +2005-06-17 Jordi Mas i Hernandez + + * 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 + + * ThemeWin32Classic.cs: fixes colour + +2005-06-15 Peter Bartok + + * 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 + + * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for + usage + +2005-06-14 Jordi Mas i Hernandez + + * 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 + + * 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 + + * TreeView.cs: Remove some TODOS. + +2005-06-13 Jackson Harper + + * 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 + + * 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 + + * DataGrid.cs: implement missing methods, move KeyboardNavigation + * DataGridColumnStyle.cs: fixes signature + +2005-06-12 Jackson Harper + + * XplatUIX11.cs: Use sizing cursors similar to the ones on + windows. + +2005-06-11 Jackson Harper + + * StatusBarPanel.cs: Signature cleanups. Implement + BeginInit/EndInit. + +2005-06-10 Jordi Mas i Hernandez + + * 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 + + * 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 + + * ImageListConverter.cs: Implemented + +2005-06-10 John BouAntoun + + * MonthCalendar.cs: Wired in NumericUpDown control for year + +2005-06-10 John BouAntoun + + * MonthCalendar.cs: Removed MonoTodo attributes on Click and + DoubleClick events, since they are not meant to be fired. + +2005-06-09 Peter Bartok + + * 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 + + * 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 + + * ThemeWin32Classic.cs: Clear the background area when drawing + buttons. + +2005-06-06 Peter Bartok + + * 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 + + * 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 + + * Control.cs: fixes CreateParams Width / Height. + +2005-06-05 Peter Bartok + + * Win32DnD.cs: Removed compilation warnings + +2005-06-05 Peter Bartok + + * 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 + + * 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 + + * XplatUIWin32.cs: Removed DnD code + * Win32DnD.cs: Implemented drop source and drop target functionality + +2005-06-05 Gonzalo Paniagua Javier + + * 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 + + * 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 + + * 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 + + * ImageListStreamer.cs: Somewhat broken implementation of + GetObjectData. The RLE needs some work to match MS properly. + +2005-06-02 Jackson Harper + + * X11Dnd.cs: Attempting to keep at least one file in MWF + monostyled. + +2005-06-02 Peter Bartok + + * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required + that way + +2005-06-02 Peter Bartok + + * 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 + + * Splitter.cs: Implement BorderStyle. + +2005-06-02 Jackson Harper + + * 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 + + * 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 + + * DragEventArgs.cs: Make fields internal so we can cache the + object and re-set the fields from XplatUI + +2005-06-02 Jackson Harper + + * 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 + + * ScrollBar.cs: Make sure that values sent in Scroll events + are always between Maximum and Minimum. + +2005-06-01 Marek Safar + + * 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 + + * 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 + + * Control.cs: Proper implementation of Product(Name/Version). + +2005-05-27 Jackson Harper + + * DataObject.cs: Dont crash if no data is found. + +2005-05-26 Rafael Teixeira + * 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 + + * 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 + + * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base + +2005-05-24 Jonathan S. Chambers + * Control.cs: Fixed LowOrder and HighOrder to preserve sign. + +2005-05-24 Peter Bartok + + * 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 + + * 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 + + * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData + +2005-05-20 Jordi Mas i Hernandez + + * 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 + + * Cursor.cs: Implemented GetObjectData() method + +2005-05-20 Peter Bartok + + * 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 + + * ComboBox.cs: fixes OnSelectedItemChanged + * ControlBindingsCollection.cs: fixes item range check + +2005-05-20 Jordi Mas i Hernandez + + * UpDownBase.cs: + - Calc preferred height properly + - Implement missing properties + + * NumericUpDown.cs: Implement missing events + +2005-05-19 Jackson Harper + + * 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 + + * Control.cs: Paint control background images. Fix typo where + PaintControlBackground was not getting called correctly. + +2005-05-19 Peter Bartok + + * ScrollableControl.cs (DisplayRectangle): Undid my last change until + I can investigate, apparently I broke FileDialog + +2005-05-19 Marek Safar + + * 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 + + * 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 + * PropertyGridView.cs: Fixed compiler warnings. + +2005-05-18 Jonathan S. Chambers + * 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 + + * 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 + + * TreeNodeCollection.cs: fixes get/set item ranges + +2005-05-15 Jordi Mas i Hernandez + + * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes + +2005-05-15 Jordi Mas i Hernandez + + * ComboBox.cs: Fix item range comparation + * ListView.cs: Fix item range comparation + +2005-05-03 Alexander Olk + + * 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 + + * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926 + +2005-05-11 Peter Bartok + + * 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 + + * OSXStructs.cs: + XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee) + +2005-05-12 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * XplatUIX11.cs: Fix for #74902, check pending timers when peeking + for messages + +2005-05-10 Peter Bartok + + * 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 + + * CheckBox.cs: call base method to allow to fire OnClick event + +2005-05-09 Sebastien Pouliot + + * XplatUI.cs: Use PlatformID.Unix under NET_2_0. + +2005-05-06 Peter Bartok + + * 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 + + * XplatUIX11.cs: Fix waking up the main loop. + +2005-05-05 Peter Bartok + + * 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 + + * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged + * LinkLabel.cs: + - Adds cursors + - Handles focus + - Implements LinkBehavior + - Fixes many issues + +2005-05-03 Jackson Harper + + * ListView.cs: Calculate the scrollbar positioning on resize and + paint, so they get put in the correct place. + +2005-05-03 Alexander Olk + + * 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 + + * Control.cs: Modified version of Jonathan Chamber's fix for + double-buffering + +2005-05-03 Jackson Harper + + * 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 + + * Splitter.cs: No decorations for the splitter form. Cache the + hatch brush. + +2005-05-03 Jackson Harper + + * 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 + + * LinkLabel.cs: Fixed the fixes from r43566 and 43521 + +2005-04-29 Jackson Harper + + * ThemeWin32Classic.cs: Don't clear the GC that will clear the + entire image buffer. Just clear the clipping rectangle. + +2005-04-29 Jackson Harper + + * ThemeWin32Classic.cs: Don't draw list view items that are + outside the clipping rectangle. + +2005-04-29 Jordi Mas i Hernandez + + * ListBox.cs: added horizontal item scroll + +2005-04-29 Jackson Harper + + * ThemeWin32Classic.cs: Remove some old debug code that was + causing flicker with the new double buffering code. + +2005-04-29 John BouAntoun + + * 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 + + * 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 + + * 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 + + * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs, + RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs, + RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added + +2005-04-28 Jordi Mas i Hernandez + + * 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 + + * ListControl.cs: honors OnPositionChanged and default Selected Item + * ListBox.cs: unselect items when clearing + +2005-04-27 Jackson Harper + + * 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 + + * BindingManagerBase.cs: Attach the current/position changed + handlers to their respective events. + +2005-04-27 Jackson Harper + + * 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 + + * 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 + + * LinkLabel.cs: Length of LinkArea is not allowed to be negative + +2005-04-25 Jackson Harper + + * TreeView.cs: Use the horizontal scrollbars height not width when + determining how much of the client area is available. + +2005-04-25 Jackson Harper + + * 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 + + * LinkLabel.cs: Fix typo, bug #74719; patch + from Borja Sanchez Zamorano + +2005-04-22 Jackson Harper + + * TreeNode.cs: Implement Handle stuff. + * TreeView.cs: Utility methods so nodes can get/lookup by handle. + +2005-04-22 Jordi Mas i Hernandez + + * 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 + * FolderBrowserDialog.cs: + - Use a thread to fill the TreeView + - Adjusted some sizes + +2005-04-19 Peter Bartok + + * LinkLabel.cs: (Re-)create the pieces when setting the Text + property. Fixes #74360. + +2005-04-19 Jackson Harper + + * XEventQueue.cs: Lock when getting the lockqueue size. + * PictureBox.cs: Call base OnPaint + +2005-04-19 Peter Bartok + + * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async + messages were no longer being processed (this broke BeginInvoke) + + +2005-04-18 Jackson Harper + + * 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 + + * 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 + + * 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 + + * CursorConverter.cs: Initial implementation. + +2005-04-15 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Timer.cs: fixes interval setting when the timer is already enabled + +2005-04-10 Alexander Olk + + * FolderBrowserDialog.cs: First approach + +2005-04-09 Peter Bartok + + * FolderBrowserDialog: Added + +2005-04-07 Jordi Mas i Hernandez + + * 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 + + * BindingContext.cs: Use weak references so these bad actors don't + stay alive longer then they need to. + +2005-04-05 Jackson Harper + + * ListControl.cs: Basic implementation of complex databinding. + * ComboBox.cs: + * ListBox.cs: Add calls to ListControl databinding methods. + +2005-04-05 Alexander Olk + + * 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 + + * 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 + + * 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 + + * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create + +2005-04-01 Jackson Harper + + * Binding.cs: Implement IsBinding. + * BindingManagerBase.cs: + * PropertyManager.cs: + * CurrencyManager.cs: Add IsSuspended property. + +2005-04-01 Jackson Harper + + * Binding.cs: Had some IsAssignableFrom calls backwards. + +2005-04-01 Jackson Harper + + * 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 + + * DataGridTextBoxColumn.cs: fixes signature + * DataGrid.cs: calls right constructor + +2005-04-01 Jordi Mas i Hernandez + + * 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 + + * FileDialog.cs: Added simple PopupButton class for ButtonPanel + +2005-03-29 Peter Bartok + + * 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 + + * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid, + fixes bug #72588. + +2005-03-28 Alexander Olk + + * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs: + + - Added ReadOnly CheckBox + - Further refactoring: moved some code from Open-/SaveFileDialog + to FileDialog + +2005-03-28 Alexander Olk + + * 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 + + * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles + * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method + +2005-03-27 Alexander Olk + + * 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 + + * FileDialog.cs: Made dirComboBox usable + +2005-03-24 Alexander Olk + + * FileDialog.cs: Added Filter support (case sensitiv) + +2005-03-24 Jackson Harper + + * TabControl.cs: Need a couple more pixels for the lines. + +2005-03-23 Jackson Harper + + * TabControl.cs: Give the tab page focus when it is selected. + +2005-03-23 Jackson Harper + + * 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 + + * TabControl.cs: Fix typo, emilinates an unneeded expose event. + +2005-03-22 Jonathan Chambers + + * 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 + + * FileDialog.cs: + - Removed unnecessary commented code + - Fixed handling for entering the filename manually in the combobox + +2005-03-19 Alexander Olk + + * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works + +2005-03-18 Peter Bartok + + * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid + them being touching the border + +2005-03-18 Peter Bartok + + * TextControl.cs: Quick hack to center text better + +2005-03-18 Peter Bartok + + * 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 + + * 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 + + * ThemeWin32Classic.cs (DrawPictureBox): + - Fixed calculations for centered drawing + - Fixed drawing for normal mode, not scaling the image on normal + +2005-03-18 Peter Bartok + + * 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 + + * 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 + + * MenuAPI.cs: Remove menu *before* executing selected action to + prevent the menu from 'hanging around' + +2005-03-17 Geoff Norton + + * XplatUIOSX.cs: Implemented WorkingArea property + +2005-03-17 Peter Bartok + + * XplatUIX11.cs: Fixed menu coord calculations + * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods + for calculating offsets + +2005-03-17 Peter Bartok + + * 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 + + * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded + X access (avoids X-Async errors) + +2005-03-16 Jackson Harper + + * TabControl.cs: Raise the SelectedIndexChanged event. + +2005-03-16 Alexander Olk + + * 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 + + * ScrollBar.cs: + - Only change Maximum and Minimum when need it (bug fix) + +2005-03-15 Peter Bartok + + * 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 + + * XplatUIOSX.cs: + - Fix hard loop when timers exist. + - Fix bugs with middle and right click for 3 button mice. + +2005-03-11 Peter Bartok + + * 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 + + * BindingManagerBase.cs: This method isn't used anymore as + PullData now updates the data in the control. + +2005-03-11 Jordi Mas i Hernandez + + * Form.cs: fixes menu drawing on X11 + * MenuAPI.cs: fixes menu drawing on X11 + +2005-03-11 Peter Bartok + + * 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 + + * 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 + + * SaveFileDialog.cs: Added emtpy file + +2005-03-08 Peter Bartok + + * 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 + + * 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 + + * 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 + + * Binding.cs: Push data pushes from data -> property. Check if the + property is readonly when attempting to set it. + +2005-03-07 Jackson Harper + + * 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 + + * 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 + + * Binding.cs: Support 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 + + * 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 + + * Binding.cs: Bind to Changed events so we can detect + when properties are changed and update the data. + +2005-03-02 Jordi Mas i Hernandez + + * 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 + + * Binding.cs: Make property searches case-insensitive. Eliminate + some duplicated code. + +2005-03-01 Jordi Mas i Hernandez + + * ComboBox.cs: + - Handle focus event + - Fix scrollbar events + - Discard highlighted item if remove it + - Fixes SelectedItem with strings + +2005-03-01 Peter Bartok + + * 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 + + * ComboBox.cs: show/hide scrollbar instead of creating it + +2005-02-27 Jackson Harper + + * CurrencyManager.cs: Add PositionChanged stuff. + +2005-02-27 Peter Bartok + + * 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 + + * 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 + + * X11Keyboard.cs: Fixes to work on 64bit systems + +2005-02-26 Peter Bartok + + * Control.cs: + - Now calling OnHandleDestroyed from DestroyHandle() + instead of Dispose() + - Removed bogus call to controls.Remove() from DestroyHandle() + +2005-02-26 Peter Bartok + + * Control.cs: Properly destroy child windows when our handle is + destroyed + +2005-02-25 Peter Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon + +2005-02-23 Jackson Harper + + * 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 + + * ProgressBar.cs: use clip region in ProgressBar + * ThemeWin32Classic.cs: use clip region in ProgressBar + +2004-02-22 Jackson Harper + + * BindingsCollection.cs: Remove some debug code. + +2005-02-22 Jackson Harper + + * 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 + + * 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 + + * ComboBox.cs: do subcontrol creation when the control is created + +2005-02-19 Jordi Mas i Hernandez + + * Label.cs: fixes image drawing (image and imagelist) + * ThemeWin32Classic.cs: cache brushes + +2005-02-19 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * MethodInvoker.cs: Added + * MdiLayout.cs: Added + * SendKeys.cs: Started implementation + * ErrorIconAlignment.cs: Added + +2005-02-18 Peter Bartok + + * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC() + * Form.cs: Added handling for Menu-related Non-client messages + +2005-02-17 Peter Bartok + + * UpDownBase.cs: Fixed typo, compilation errors + * DomainUpDown.cs: Fixed attribute value + +2005-02-16 Miguel de Icaza + + * UpDownBase.cs: Attach entry events. + Propagate events. + Add ForeColor property, Focused, InterceptArrowKeys (interception + does not work yet). + +2005-02-17 Jordi Mas i Hernandez + + * Form.cs: + - Redraw non client are on Setmenu + - Calc proper menu starting point + +2005-02-17 Peter Bartok + + * Application.cs: Fixed message_filter check + +2005-02-17 Peter Bartok + + * 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 + + * Form.cs: first Menu NC refactoring + * MenuAPI.cs: first Menu NC refactoring + +2005-02-16 Peter Bartok + + * 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 + + * 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 + + * BaseCollection.cs: Use property so we never access an + uninitialized list. Also initialize the list in the property. + +2005-02-15 Peter Bartok + + * GroupBox.cs (ProcessMnemonic): Implemented + * Label.cs (ProcessMnemonic): Implemented + * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show + hotkeys + +2005-02-15 Peter Bartok + + * 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 + + * XplatUIX11.cs: Fixed NotImplemented exceptions for properties, + missed those in the rewrite + +2005-02-14 Miguel de Icaza + + * NumericUpDown.cs (Increment, ToString): Add. + (DecimalPlaces): implement. + + Add attributes. + + * UpDownBase.cs: Add the designer attributes. + +2005-02-13 Peter Bartok + + * 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 + + * 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 + + * 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 + + * KeysConverter.cs: Implemented + +2005-02-11 Jordi Mas i Hernandez + + * 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 + + * MenuItem.cs: Use SystemInformation and bug fixes + * MenuAPI.cs: Use SystemInformation and bug fixes + +2005-02-09 Jackson Harper + + * 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 + + * ListBox.cs: Fixes AddRange bug + +2005-02-09 Jordi Mas i Hernandez + + * 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 + + * 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 + + * LinkLabel.cs: + - Fixes signature + - Fixes issues with links + - Adds the class attributes + +2005-02-08 Jordi Mas i Hernandez + + * ComboBox.cs: + - Fixes button when no items available in dropdown + - Fixes repainting problems + - Adds the class attributes + +2005-02-07 Geoff Norton + + * XplatUIOSX.cs: Detect the menu bar and title bar height from + the current theme. Cache these on startup. + +2005-02-07 Jackson Harper + + * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty + the scrollbar buttons when they are depressed. + +2005-02-07 Geoff Norton + + * 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 + + * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar. + +2005-02-07 Miguel de Icaza + + * UpDownBase.cs: Add ReadOnly and UpDownAlign properties. + +2005-02-05 Jonathan Chambers + + * PropertyGrid.cs: Updated. Patch by Jonathan Chambers + +2005-02-04 Jackson Harper + + * 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 + + * DateTimePicker.cs: + - Fixed crash on DateTime.Parse, use Constructor instead + +2005-02-04 Jordi Mas i Hernandez + + * MenuItem.cs: + * MenuAPI.cs: + - Owner draw support (MeasureItem and DrawItem) + +2005-02-04 Jordi Mas i Hernandez + + * 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 + + * ScrollBar.cs: Make abstract + * ScrollableControl.cs: Create H/V scrollbars now that scrollbar + is abstract. + +2005-02-03 Jackson Harper + + * 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 + + * ComponentModel.cs: Added + * IDataGridEditingService.cs: Added + * Timer.cs: Added missing attributes + * ToolTip.cs: Added missing attributes + +2005-02-03 Jonathan Chambers + + * PropertyGridView.cs: Added. Patch by Jonathan Chambers + +2005-02-03 Peter Bartok + + * ListBox.cs: Added missing attributes + +2005-02-03 Jordi Mas i Hernandez + + * ListBox.cs: + - Fixes font height after font change + - Avoid generating unnecesary OnSelectedIndexChanged on clearing + +2005-02-02 Peter Bartok + + * 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 + + * 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 + + * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting + +2005-02-01 Jordi Mas i Hernandez + + * Combobox.cs: + - Caches ItemHeight calculation for OwnerDrawVariable + - Handles dropdown properly + - Fixes several minor bugs + +2005-01-31 Jordi Mas i Hernandez + + * ListBox.cs: + - Fixes 71946 and 71950 + - Fixes changing Multicolumn on the fly + - Fixes keyboard navigation on Multicolumn listboxes + +2005-01-31 Geoff Norton + + * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a + crash reporter log. + +2005-01-31 Geoff Norton + + * XplatUIOSX.cs: Allow applications to actually exit. + +2005-01-31 Geoff Norton + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * HandleData.cs: Added method for altering invalid area + * TextBoxBase.cs: Implemented TextLength + +2005-01-28 Peter Bartok + + * 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 + + * 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 + + * XplatUI.cs: Made class internal + +2005-01-28 Jordi Mas i Hernandez + + * CheckedListBox.cs: + - Draw focus + - Fixed Drawing + - Missing methods and events + +2005-01-27 Peter Bartok + + * Application.cs (Run): Don't use form if we don't have one + +2005-01-27 Peter Bartok + + * TextBoxBase.cs (get_Lines): Fixed index off by one error + +2005-01-27 Peter Bartok + + * 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 + + * Combobox.cs: + - Draw focus on Simple Combobox + - Fixes drawing issues + - fixes 71834 + +2005-01-27 Peter Bartok + + * 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 + + * ListBox.cs: connect LostFocus Event + +2005-01-27 Peter Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * TabControl.cs: Space vertically layed out tabs properly. + +2005-01-26 Peter Bartok + + * 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 + + * TabControl.cs: Implement FillToRight size mode with vertically + rendered tabs. + +2005-01-26 Jordi Mas i Hernandez + + * ControlPaint.cs, ThemeWin32Classic.cs + - Fixes DrawFocusRectangle + +2005-01-26 Jordi Mas i Hernandez + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ComboBox.cs: + - Fixes IntegralHeight + - ToString method + +2005-01-21 Jackson Harper + + * 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 + + * 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 + + * 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 + + * ThemeWin32Classic.cs: Clip text to the staus bar panels rects. + +2005-01-20 Jackson Harper + + * 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 + + * ListBox.cs: + - Owner draw support + - Fixes + +2005-01-20 Jackson Harper + + * XplatUIStructs.cs: More misc keys + * X11Keyboard.cs: Ignore some control keys. + +2005-01-20 Jackson Harper + + * 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 + + * Control.cs: Un-selecting the control when it is loosing focus + +2005-01-19 Jackson Harper + + * 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 + + * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to + get set in the conversion array. + +2005-01-19 Peter Bartok + + * 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 + + * UpDownBase.cs: Added some new properties. + + * DomainUpDown.cs: Implement a lot to get my test working. + +2005-01-19 Geoff Norton + + * XplatUIOSX.cs: Fix a minor bug to bring the close box back + +2005-01-19 Geoff Norton + + * OSXStructs (WindowAttributes): Fixed csc complaints + +2005-01-19 Geoff Norton + + * 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 + + * XplatUIOSX.cs: Initial support for Standard Cursors. + * OSXStructs.cs: Move our structs here; added ThemeCursor enum + +2005-01-19 Jordi Mas i Hernandez + + * 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 + + * Cursors.cs (ctor): Added ctor to fix signature + +2005-01-18 Peter Bartok + + * 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 + + * Form.cs: Removed debug output + * Button.cs: Added support for DoubleClick method + +2005-01-18 Peter Bartok + + * 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 + + * ComboBox.cs: fixes for ownerdraw + +2005-01-18 Peter Bartok + + * 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 + + * 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 + + * Control.cs: Added missing attributes + +2005-01-17 Jackson Harper + + * 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 + + * 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 + + * NavigateEventArgs.cs: Fix base type. + * LinkLabel.cs: Sig fix + +2005-01-17 Jackson Harper + + * TreeView.cs: Only invalidate the effected nodes bounds when + selecting nodes. + +2005-01-13 Jordi Mas i Hernandez + + * XplatUIWin32.cs: fixes Win32 marshaling + * XplatUIX11.cs: fixes method signature + +2005-01-17 Peter Bartok + + * XplatUIX11.cs: Clean up resources when we no longer need them + +2005-01-17 Peter Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Control.cs (SelectNextControl): Was using wrong method to select + a control + +2005-01-13 Jordi Mas i Hernandez + + * ComboBox.cs: fixes dropstyle + +2005-01-13 Peter Bartok + + * 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 + + * ComboBox.cs: missing properties, fixes + +2005-01-13 Peter Bartok + + * 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 + + * UpDownBase.cs (InitTimer): If the timer has been already + created, enable it. + + Use a TextBox instead of a Label. + +2005-01-12 Jackson Harper + + * 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 + + * ContainerControl.cs: Implemented ProcessDialogKeys() + +2005-01-12 Peter Bartok + + * 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 + + * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and + bug fixes + +2005-01-12 Peter Bartok + + * Control.cs: + - Fixed broken Contains() method + - Implemented GetNextControl() method. Finally. This is the pre- + requisite for focus handling. + +2005-01-12 Peter Bartok + + * OSXStrucs.cs: Added + +2005-01-12 Peter Bartok + + * 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 + + * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3 + button mouse). + + +2005-01-11 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid + I18n issues + * TextBoxBase.cs: Added sending of TextChanged event + +2005-01-10 Jackson Harper + + * TreeView.cs: Try not to draw outside the clipping rectangle on + each node element. + +2005-01-10 Jordi Mas i Hernandez + + * ComboBox.cs: keyboard navigation, item navigation, bug fixes + +2005-01-10 Jackson Harper + + * 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 + + * TreeNodeCollection.cs: Refresh the tree when a new node is added. + +2005-01-10 Peter Bartok + + * 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 + + * SizeGrip.cs: New internal class that is used as a sizing + grip control...hence the name. + +2005-01-10 Peter Bartok + + * 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 + + * TextBoxBase.cs: Clear window when scrolling (fixes build). + +2005-01-09 Peter Bartok + + * 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 + + * Form.cs: + - Implemented SetDesktopBounds method + - Implemented SetDesktopLocation method + +2005-01-08 Jackson Harper + + * 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 + + * XplatUIOSX.cs: Fix GetWindowState & SetWindowState + +2005-01-07 Jackson Harper + + * 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 + + * 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 + + * 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 + + * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled. + +2005-01-06 Jackson Harper + + * ListBox.cs: Don't allow the horizontal scrollbars maximum to be + set to less then 0. + +2005-01-06 Jackson Harper + + * ScrollableControl.cs: Lazy init the scrollbars. + +2005-01-06 Jackson Harper + + * 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 + + * 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 + + * ImageList.cs: Implment ctor + +2005-01-05 Geoff Norton + + * XplatUIOSX.cs: Implement Activate/SetTopmost + +2005-01-05 Geoff Norton + + * XplatUIOSX.cs: Implement SetZOrder, minor cleanup + +2005-01-05 Geoff Norton + + * XplatUIOSX.cs: Implement GetActive/SetFocus. + +2005-01-05 Peter Bartok + + * 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 + + * ToolTip.cs (WndProc): Enable setting focus now that we have the + required XplatUI functions. + +2005-01-05 Peter Bartok + + * 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 + + * TextBoxBase.cs: Changed access level for Document property to + match switch to internal for TextControl + +2005-01-04 Peter Bartok + + * AccessibleObject: Added ComVisible attribute + +2005-01-04 Jackson Harper + + * X11Keyboard.cs: Remove unneeded var. + +2005-01-04 Jackson Harper + + * 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 + + * 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 + + * 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 + + * TextControl.cs: Switched Line, LineTag and Document classes to + internal + +2005-01-04 Jordi Mas i Hernandez + + * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs: + Simple mode, fixes, IntegralHeight, etc. + +2005-01-04 Peter Bartok + + * TextBoxBase.cs: Using proper font variable now + +2005-01-04 Peter Bartok + + * 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 + + * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs, + TrackBar.cs, MonthCalendar.cs: remove unused vars + +2005-01-03 Jackson Harper + + * ThemeWin32Classic.cs: + * X11Keyboard.cs: Remove unused vars. + +2005-01-03 Peter Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * TreeView.cs: Align lines to the bottom of plus minus boxes properly. + +2004-12-28 Zoltan Varga + + * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues. + +2004-12-28 Peter Bartok + + * MessageBox.cs (get_CreateParams): Don't use owner var if it's + not yet assigned + +2004-12-28 Peter Bartok + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * ComboBox.cs: Complete DropDownList implementation, fixes. + +2004-12-26 Jordi Mas i Hernandez + + * ThemeWin32Classic, Theme.cs: ComboBox drawing methods + * ComboBoxStyle.cs: ComboBoxStyle enum + * ComboBox.cs: Initial work on ComboBox control + +2004-12-21 Peter Bartok + + * 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 + + * Form.cs (ShowDialog): Unset modality for the proper window + +2004-12-20 Peter Bartok + + * CommonDialog.cs: Initial check-in + +2004-12-20 Peter Bartok + + * 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 + + * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow + Minor code cleanup. + +2004-12-19 Geoff Norton + + * XplatUIOSX.cs (SetModal): Implement this method on OSX. + +2004-12-18 Peter Bartok + + * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe, + implementing SetModal() method + +2004-12-18 Peter Bartok + + * 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 + + * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it + Some more keyboard support (INCOMPLETE) + +2004-12-17 Peter Bartok + + * 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 + + * TreeNode.cs: + * MonthCalendar.cs: Signature fixes + +2004-12-17 Geoff Norton + + * 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 + + * 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 + + * XplatUIStructs.cs: Updated set of virtual keycodes. + * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL + +2004-12-17 Jackson Harper + + * XplatUIX11.cs: Prune old keyboard code. + +2004-12-17 Jackson Harper + + * XplatUIX11.cs: When generating mouse wparams get the modifier + keys from the ModifierKeys property. + +2004-12-17 Jackson Harper + + * X11Keyboard.cs: Send up/down input when generating + messages. Remove some unused vars. + +2004-12-17 Jackson Harper + + * TabControl.cs: + * TreeView.cs: get rid of warnings. + +2004-12-17 Jackson Harper + + * XplatUIStructs.cs: Fix a couple wrong virtual keycodes. + +2004-12-17 Jordi Mas i Hernandez + + * ListBox.cs: bug fixes, changes for CheckedListBox.cs + CheckedListBox.cs: Implementation + +2004-12-17 Peter Bartok + + * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs + +2004-12-16 Peter Bartok + + * 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 + + * 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 + + * 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 + + * XplatUIStruct.cs: Add enum for dead keys + * X11Keyboard.cs: Map and unmap dead keys. + +2004-12-16 Jackson Harper + + * X11Keyboard.cs: Detect and use the num lock mask. + +2004-12-16 Peter Bartok + + * Control.cs (CreateGraphics): Added check to make sure the + handle of the window exists before calling Graphics.FromHwnd() + +2004-12-16 Peter Bartok + + * 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 + + * 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 + + * 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 + + * TextControl.cs: Initial check-in. Still incomplete + +2004-12-15 Jackson Harper + + * TreeNode.cs: + * TreeView.cs: Fix build on csc (second time today ;-)) + +2004-12-15 Jackson Harper + + * 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 + + * TreeView.cs: Pass the nodes image index to the image list when + drawing that image. + +2004-12-15 Jackson Harper + + * X11Keyboard.cs: Set messages hwnd. + * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on + post_message calls. + +2004-12-15 Jackson Harper + + * X11Keyboard.cs: Fix to compile with csc. + +2004-12-15 Jackson Harper + + * 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 + + * 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 + + * MonthCalendar.cs: Implemented click-hold for next/previous month + and date selection + +2004-12-11 Peter Bartok + + * 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 + + * ListBox.cs: fire events, implement missing methods and properties, + sorting. + +2004-12-10 John BouAntoun + + * MonthCalendar.cs: invalidation bug fixing + * ThemeWin32Classic.cs: paint fixing + +2004-12-09 Geoff Norton + + * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we + prepare the CGContextRef there now. + +2004-12-09 John BouAntoun + + * MonthCalendar.cs: + - optimisationL only invalidate areas that have changed + * ThemeWin32Classic.cs: + - only paint parts that intersect with clip_area + +2004-12-09 Peter Bartok + + * Application.cs: Undid changes from r37004 which cause problems + on X11 + +2004-12-09 Ravindra + + * 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 + + * Label.cs: autosize works in text change and removes unnecessary + invalidate + +2004-12-09 Jordi Mas i Hernandez + + * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs: + remove warnings + +2004-12-08 Geoff Norton + + * 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 + + * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net + +2004-12-07 Geoff Norton + + * XplatUIOSX.cs: Initial checkin + * XplatUI.cs: Use the Quartz driver if the environment is set to use it + +2004-12-03 Ravindra + + * 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 + + * Control.cs (Parent): Added check and exception to prevent + circular parenting + +2004-12-03 Jordi Mas i Hernandez + + * ListBox.cs: implemented clipping, selection single and multiple, + bug fixing + +2004-12-03 Ravindra + + * 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 + + * 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 + + * 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 + + * 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 + + * DrawItemState.cs: fixes wrong enum values + +2004-12-01 Jackson Harper + + * TreeView.cs: Resize the hbar as well as the vbar on resize. + +2004-12-01 Jackson Harper + + * 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 + + * 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 + + * 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 + + * 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 + + * MonthCalendar.cs, ListView.cs: use Theme colours instead of + System.Colors + +2004-11-30 Ravindra + + * 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 + + * MonthCalendar.cs: + - ControlStyles love to make the control not flicker + +2004-11-30 Peter Bartok + + * CharacterCasing.cs: Added + +2004-11-29 Peter Bartok + + * 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 + + * 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 + + * MonthCalendar.cs: + - Fix NextMonthDate and PrevMonthDate click moving calendar + +2004-11-26 John BouAntoun + + * MonthCalendar.cs: + - Fix usage of ScrollChange Property when scrolling months + +2004-11-26 Jordi Mas i Hernandez + + * 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 + + * 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 + + * ListBox.cs, Theme.cs, ThemeWin32Classic.cs: + - Horizontal scroolbar + - Multicolumn + - Fixes + + +2004-11-25 John BouAntoun + + * 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 + + * 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 + + * 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 + + * MonthCalendar.cs: Add TitleMonth ContextMenu handling + +2004-11-24 John BouAntoun + + * ContainerControl.cs: correct accidental check in of local changes + +2004-11-24 John BouAntoun + + * 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 + + * 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 + + * 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 + + * 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 + + * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems' + property. + +2004-11-22 Miguel de Icaza + + * 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 + + * Timer.cs (Dispose): Should call the base dispose when + overriding. + +2004-11-19 Jordi Mas i Hernandez + + * ScrollBar.cs: updates thumb position when max, min or increment + is changed + +2004-11-21 Ravindra + + * 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 + + * 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 + + * 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 + + * XplatUIX11.cs: Use the new Mono.Unix namespace. + +2004-11-17 Ravindra + + * 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 + + * Menu.cs: fixes signature + +2004-11-16 Peter Bartok + + * XplatUIX11.cs (GetMessage): Implemented generation of + double click mouse messages + +2004-11-12 Jordi Mas i Hernandez + + * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session + not by menu + +2004-11-11 Peter Bartok + + * 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 + + * OwnerDrawPropertyBag.cs: + * TreeViewImageIndexConverter.cs: Initial implementation + +2004-11-10 Jackson Harper + + * 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 + + * TabControl.cs: You can only scroll left when the slider has + already ben moved right. + +2004-11-10 Jackson Harper + + * ThemeWin32Classic.cs: Do not draw the selected tab if its not in + the clip area. + +2004-11-10 Jackson Harper + + * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the + clip area. + +2004-11-09 Jackson Harper + + * 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 + + * 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 + + * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups, + does not destroy the windows, removes debugging messages + +2004-11-09 jba + + * 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 + + * 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 -2003-07-31 Aleksey Ryabchuk - * Control.cs : anchoring algorithm was fixed to avoid inaccuracies caused by rounding - * TextBoxBase.cs : set FixedHeight style for single line edit boxes +2004-08-11 13:19 pbartok -2003-07-30 Aleksey Ryabchuk - * TextBox.cs : ScrollBars, AcceptsReturn, CharacterCasing properties were implemented + * 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 -2003-07-29 Aleksey Ryabchuk - * TextBoxBase.cs - * TextBox.cs - * Control.cs : BackColor, ForeColor, PasswordChar for edit boxes +2004-08-11 12:59 pbartok -2003-07-28 Miguel de Icaza + * 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. - * NativeWindow.cs: Remove debugigng messages. +2004-08-11 12:55 pbartok - * Control.cs: Remove debugging messages. + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Added method to calculate difference between decorated window and + raw client area - * Label.cs: Use the border style. +2004-08-11 12:54 pbartok - * win32functions.cs: Set the default to WineLib now on Linux. + * Label.cs: + - Forcing redraw on resize -2003-07-23 Miguel de Icaza +2004-08-11 11:43 pbartok - * win32functions.cs: Move functions that do not exist in WineLib - over to Win32_Wineless, so we do not trigger the warning messages - until a function tries to use them. + * ImageList.cs: + - Removed disposing of the actual images when the list is disposed - Win32() constructor: Set a hint on the appdomain that we would - prefer to have the System.Drawing API use the Win32 implementation - of the API. - - * *.cs: Updated sources to use this. +2004-08-11 09:13 pbartok -2003-07-16 Aleksey Ryabchuk - * ColorDialog.cs : implemented - * win32functions.cs - * win32enums.cs - * win32structs.cs : functions, flags and structs for ColorDialog + * Control.cs: + - Now properly reparents windows -2003-07-01 Alexandre Pigolkine - * win32Structs.cs some fields cannot be marshaled - OFNOTIFY structure simplified - * FileDialog.cs - * win32functions.cs - call wine_get_unix_filename from FileOpen dialog - - * win32functions.cs WineLib library name changed - - * NativeWindow.cs CLIENTCREATESTRUCT parameter for MDI - Aleksey Ryabchuk +2004-08-11 08:37 pbartok -2003-06-30 Aleksey Ryabchuk - * Form.cs : TopLevel, AcceptButton, CancelButton - * Application.cs : allow keyboard messages in modal forms - * Control.cs : basic impl. of GetTopLevel, SetTopLevel + * Control.cs: + - Duh! -2003-06-30 Aleksey Ryabchuk - * Cursors.cs : VSplit, HSplit cursors - * Form.cs: WindowState ( not finished ), changes to Form.Close - * Splitter.cs, Toolbar.cs : started implementation +2004-08-11 07:47 pbartok -2003-06-26 Aleksey Ryabchuk - * TreeNode.cs - * TreeNodeCollection.cs - * TreeView.cs : more implementation added + * 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 -2003-06-24 Aleksey Ryabchuk - * TreeNode.cs - * TreeNodeCollection.cs - * TreeView.cs : more implementation added +2004-08-11 07:44 pbartok -2003-06-12 Aleksey Ryabchuk - * Menu.cs - * ContextMenu.cs : create context menu using CreatePopupMenu function + * AccessibleObject.cs: + - Fixed to match ControlCollection rewrite -2003-06-12 Aleksey Ryabchuk - * TreeNode.cs - * TreeNodeCollection.cs - * TreeView.cs - * win32functions.cs : started impl. of TreeView control +2004-08-11 07:43 pbartok -2003-06-12 Aleksey Ryabchuk - * Control.cs : don't do anything if Anchor is set to default value - * SystemInformation.cs : return some system metrics - * UserControl.cs : default size impl. + * ImageList.cs: + - Added missing creation of the collection list -2003-06-11 Aleksey Ryabchuk - * ContextMenu.cs : SourceControl, Show method - * Control.cs : ContextMenu, CanSelect, force parent to perform layout when Dock property changes - * GroupBox.cs - * Label.cs - * Panel.cs - * PictureBox.cs - * Splitter.cs - * ProgressBar.cs : remove Selectable style - * RadioButton.cs : set TextAlign to MiddleLeft by default - * tooltip.cs : override Dispose method - * win32Enums.cs - * win32functions.cs : flags and function for context menu - -2003-06-09 Aleksey Ryabchuk - * Conrols.cs : Disposing property, Dispose method - * Cursor.cs : Show, Hide, Copy cursor - * NativeWindow.cs : destructor - -2003-06-09 Aleksey Ryabchuk - * Control.cs : Cursor property, handle WM_SETCURSOR - * Cursor.cs : started implementation - * Cursors.cs : load system cursor types - * win32functions.cs : DestroyCursor function - -2003-06-09 Aleksey Ryabchuk - * HScrollBar.cs - * ScrollBar.cs - * VScrollBar.cs : implemented - * ScrollEventArgs.cs: typo fix - -2003-06-09 Aleksey Ryabchuk - * AxHost.cs - * MonthCalendar.cs : fixed issues breaking the build - -2003-06-09 Dennis Hayes - for Gopal V - * MonthCalendar.cs - * AxHost.cs - Fixed overrides +2004-08-10 20:08 jackson -2003-06-07 Alexandre Pigolkine - * Control.cs - * Form.cs - * ScrollableControl.cs - DockStyle.None & AnchorStyles + * StatusBar.cs: Get the paint message from WndProc -2003-06-06 Aleksey Ryabchuk - * HScrollBar.cs - * ScrollBar.cs - * VScrollBar.cs - * win32Enums.cs : started implementation of scrollbar classes +2004-08-10 19:31 jackson -2003-06-06 Aleksey Ryabchuk - * Form.cs : MaximumSize, MinimumSize, TopMost were implemented, small fixes and improvements - * win32Structs.cs: WINDOWPOS structure + * ThemeWin32Classic.cs: Create Brushes as little as possible -2003-06-05 Aleksey Ryabchuk - * Form.cs : ControlBox, HelpButton, MaximizeBox, MinimizeBox, maximumSize - * win32Structs.cs: MINMAXINFO structure +2004-08-10 19:20 jackson -2003-06-04 Aleksey Ryabchuk - * Control.cs - * Form.cs : KeyPreview, ShowInTaskBar + * UICues.cs: Add Flags attribute -2003-06-02 Alexandre Pigolkine - * Application.cs - * ComboBox.cs - * Control.cs - change to ContainsFocus/Focused properties - -2003-04-25 Miguel de Icaza +2004-08-10 19:19 jackson - * SystemInformation.cs (ComputerName): Bug fix: we need to trim down the size + * StatusBarPanel.cs: Signature cleanup -2003-05-30 Aleksey Ryabchuk - * GroupBox.cs : take BackColor into account +2004-08-10 19:10 jackson -2003-05-27 Aleksey Ryabchuk - * Control.cs : helper method getParentForm - * Form.cs : ActiveForm , FormBorderStyle implemented - * GroupBox.cs : some chages in drawing code, don't register another window class - * FormBorderStyle.cs : fixed typo - * win32functions.cs : UpdateWindowExStyle added, new prototypes for GetActiveWindow, GetForegroundWindow + * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs: + Initial implementation of status bar item drawing -2003-05-27 Aleksey Ryabchuk - * Button.cs - * CheckBox.cs - * CheckedListBox.cs - * ComboBox.cs - * HScrollBar.cs - * ListBox.cs - * ListView.cs - * PrintPreviewControl.cs - * RichTextBox.cs - * ScrollBar.cs - * Splitter.cs - * ToolBar.cs - * TreeView.cs - * VScrollBar.cs : changed to use base implementation of CreateParams - -2003-05-27 Aleksey Ryabchuk - * Control.cs : implemented GetChildIndex, BringToFront, UpdateZOrder, update z-order when recreating handle, - * win32Strcuts.cs - * win32Enums.cs : use ansi CharSet for tooltips - -2003-05-27 Aleksey Ryabchuk - * Contols.cs : changes to SetVisibleCore, Invalidate (bool) is implemented - * NativeWindow.cs : don't use CS_VREDRAW and CS_HREDRAW flags - * ImageList.cs - * ImageListStreamer.cs : small fixes - * TabControl.cs - * TabPage.cs : image list support was added - -2003-05-26 Aleksey Ryabchuk - * ImageListStreamer.cs: added deserialization code - * win32functions.cs : added some prototypes required for ImageList impl. - * win32strcuts.cs : added new structs, switched to CharSet.Ansi for TCITEM struct - * win32Enums.cs : use ansi messages for tab control - -2003-05-20 Aleksey Ryabchuk - * win32functions.cs - * NativeWindow.cs : fixed some issues causing problems when running SWF on Linux - -2003-05-20 Aleksey Ryabchuk - * FileDialog.cs : more implementation added - * win32Enums.cs : added some error codes for common dialogs - * win32functions.cs : added prototype for CommDlgExtendedError - -2003-05-19 Aleksey Ryabchuk - * CommonDialog.cs - * FileDialog.cs - * OpenFileDialog.cs - * win32Enums.cs - * win32Structs.cs : more implementation added - -2003-05-16 Aleksey Ryabchuk - * CommonDialog.cs - * FileDialog.cs - * win32Enums.cs - * win32functions.cs : started impl. of OpenFile dialog - -2003-05-16 Aleksey Ryabchuk - * DomainUpDown.cs : changes to OnTextBoxKeyDown - * UpDownBase.cs : added impl. to BackColor and BackgroundImage - -2003-05-12 Aleksey Ryabchuk - * Control.cs : ResizeRedraw, removed some unused code - * DomainUpDown.cs : - * UpDownBase.cs : some improvements - -2003-05-12 Aleksey Ryabchuk - * Application.cs - * ContainerControl.cs - * Control.cs - * Form.cs - * ScrollableControl.cs - * StatusBar.cs - * TabControl.cs - * TabPage.cs : changes in the code for TAB key handling +2004-08-10 17:27 jordi -2003-05-09 Aleksey Ryabchuk - * Control.cs - * Form.cs - * GroupBox.cs - * Label.cs - * UpDownBase.cs : some new stuff related to focus movement by the TAB key - -2003-05-08 Aleksey Ryabchuk - * Control.cs : started implementation of keyboard handling - * CroupBox.cs : set UserPaint style - * TextBoxBase.cs : set subclass flag to allow catching of keyboard events - -2003-05-07 Aleksey Ryabchuk - * Control.cs : static RegisterDefaultWindowClass method was added - * ScrollableControl.cs : registration of "mono_scrollable_control" was moved to Control class - * win32functions.cs : new constant DEFAULT_WINDOW_CLASS - * PictureBox.cs : implemented - -2003-05-07 Aleksey Ryabchuk - * Control.cs : use WS_OVERLAPPED instead of WS_OVERLAPPEDWINDOW, update text field in get Text property - * TextBox.cs : use styles provided by TextBoxBase - * TextBoxBase.cs : more methods and properties were implemented - * win32enums.cs : messages and notifications for EDIT control - -2003-05-02 Aleksey Ryabchuk - * Control.cs : call OnTextChange - * UpdownBase.cs - * DomainUpDown.cs : some more implementation - * TextBox.cs : TextAlign, use base.CreateParams - * TextBoxBase.cs : use base.CreateParams - * Win32enums.cs : styles for edit box - -2003-04-30 Aleksey Ryabchuk - * TabControl.cs - * TabPage.cs : prevent pages from being added to the TabControl multiple times + * TrackBar.cs: add missing methods, properties, and restructure to + hide extra ones -2003-04-30 Aleksey Ryabchuk - * Control.cs : some fixes, added call to OnControlAdded, update visibility flag in Show and Hide - * GroupBox.cs - * Label.cs - * ButtoBase.cs : use base.CreateParams - * PictureBox.cs : call base.OnResize - * RadioButton.cs : implemented - * TabControl.cs - * TabPage.cs : some fixes +2004-08-10 16:24 jackson -2003-04-29 Aleksey Ryabchuk - * Control.cs : call OnResize from OnSizeChanged - * TabControl.cs : small fixes - * Win32enums.cs : constants for ToolTip notifications + * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs, + ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags + attribute -2003-04-28 Alexandre Pigolkine - * monogc.c - * makefile small improvements +2004-08-10 13:21 jordi -2003-04-26 Alexandre Pigolkine - * monogc.c GC stubs for Mini - * win32functions.cs EntryPoint added for some functions + * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar + enhancements and standarize on win colors defaults -2003-04-25 Miguel de Icaza +2004-08-10 12:52 jackson - * SystemInformation.cs (ComputerName): Implement this. + * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs, + ThemeWin32Classic.cs: Implement DrawItem functionality -2003-04-25 Aleksey Ryabchuk - * Control.cs : check if control is already in control collection, Created property, - ControlCollection.RemoveAt reimplemented using ControlCollection.Remove - * TabControl.cs - * TabPage.cs : some more implementation - * win32structs.cs: TCITEMHEADER replaced with TCITEM +2004-08-10 12:47 jordi -2003-04-24 Aleksey Ryabchuk - * Control.cs: change to CreateControlInstance function - * Panel.cs: use base CreateParams - * TabControl.cs - * TabPage : started implementing - * win32Enums.cs - * win32Structs.cs - * win32functions.cs : messages, styles for TabControl - -2003-04-24 Alexandre Pigolkine - * Button.cs paint with Back/Fore colors - * ComboBox.cs fix to notification handler - * ContainerControl.cs - * ControlStyles.cs - * ListBox.cs - * Panel.cs changes for ControlStyles - * Control.cs ControlStyles, BackColor, painting logic - - * DrawItemEventArgs.cs temporary fix to avoid crach in jit - - -2003-04-23 Aleksey Ryabchuk - * Application.cs : new internal functions enterModalLoop, exitModalLoop - * Button.cs : changes in DialogResult and OnClick - * Control.cs : new internal getOwnerWindow method, recreate child windows in RecreateHandle as well - * form.cs : implementation of modal forms - * win32enums.cs : constants for GetWindow function - * win32functions.cs : GetWindow , IsDialogMessage added - -2003-04-22 Aleksey Ryabchuk - * Control.cs : implementation of docking - * Form.cs : small changes regarding resizing of MDI client window - * StatusBar.cs : update parts on Layout event, new style to prevent resizing by the system - -2003-04-17 Aleksey Ryabchuk - * Control.cs : implementation of scale functions, bug-fix in ControlCollection.Add - * Form.cs : implementation of ScaleCore method - -2003-04-17 Aleksey Ryabchuk - * ImageList.cs - * ImageListStreamer.cs : started to implement - * Control.cs : changes in implementation of size-related functions - * Form.cs : small modifications to reflect changes in Contol class - -2003-04-15 Aleksey Ryabchuk - * NativeWindow.cs : don't assign window ID when it was already assigned by the system - -2003-04-11 Aleksey Ryabchuk - * Control.cs : some new functions implemented, using BitVector32 - instead of declaring separate boolean varibales for every control status - -2003-04-11 Aleksey Ryabchuk - * Control.cs - * Form.cs - * MainMenu.cs - * Menu.cs - * MenuItem.cs - * NativeWindow.cs - * win32functions.cs : some changes related to implementation of MDI interface - -2003-04-11 Aleksey Ryabchuk - * Control.cs : init bounds in ctor, invisible parking window - * TrackBar.cs - * ProgressBar.cs.cs - * DateTimePicker.cs - * StatusBar.cs : use base version of CreateParams - * ScrollableControl.cs : use base version of CreateParams, removed CS_VREDRAW, CS_HREDRAW styles - * Form.cs : reset parent back to zero for the main form - * StatusBarPanel.cs : small bug-fix - -2003-04-6 DennisHayes - * Converted to Unix newlines - * Changed copyright from 2002 to 2002/3 - -2003-04-6 DennisHayes - * CheckOutList Update, removed everyone from list, active developers need to readd. - * Binding.cs Marked some funmctions for Compact frame work - * RadioButton.cs //removed inherited members - * RichTextBox.cs //removed inherited members - * Splitter.cs //removed a throw not implmented so some samples could run. - -2003-04-06 Alexandre Pigolkine - * Control.cs - * Form.cs - * NativeWindow.cs - * Win32functions.cs - * Win32structs.cs : initial implementation of MDI interface. - Aleksey Ryabchuk + * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow - * Button.cs - * CheckedListBox.cs - * Control.cs - * GroupBox.cs - * ListBox.cs - * ScrollableControl.cs - Attempt to minimize fliker effect - Alexandre Pigolkine +2004-08-10 12:32 jordi -2003-03-30 Alexandre Pigolkine - * DateTimePicker.cs - * StatusBar.cs - * tooltip.cs - Fixed AllocCoTaskMem issure. Bug-fix for DTP. - Aleksey Ryabchuk + * Control.cs: throw ontextchange event -2003-03-29 Alan Tam - * DataGrid.cs - stubbed a missing method +2004-08-10 11:43 pbartok -2003-03-26 Alexandre Pigolkine - * NumericUpDown.cs - * ScrollableControl.cs - * UpDownBase.cs - * win32Structs.cs - implementation of NumericUpDown - - * tooltip.cs - * win32Enums.cs - * win32functions.cs - implementation of ToolTip control class. - Aleksey Ryabchuk - -2003-03-25 Alexandre Pigolkine - * CheckedListBox.cs - * ListBox.cs - Implementation of Collections - Alexandre Pigolkine + * Control.cs: + - Added more to the still unfinished Dock/Anchor layout code - * Control.cs - * DateTimePicker.cs - * win32Enums.cs - notification handling for DateTimePicker control. - * StatusBar.cs - * TrackBar.cs - small modifications. - Aleksey Ryabchuk +2004-08-10 11:39 pbartok + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs: + - Added GetWindowPos method -2003-03-23 Alexandre Pigolkine - * DateTimePicker.cs - * Form.cs - * ProgressBar.cs - * win32Enums.cs - * win32Structs.cs - Implementation of ProgressBar and DateTimePicker controls by - Aleksey Ryabchuk +2004-08-10 11:36 pbartok - * Control.cs small fix to handle scroll bar messages + * XplatUIWin32.cs: + - Implemented several methods -2003-03-20 Alexandre Pigolkine - implementation of Timer class and small modifications to other files - -2003-03-18 Alexandre Pigolkine - * monowinehooks.c - * runwine - attempt to use LD_PRELOAD to override stubs in Wine - * monosem.c implementation of pthread_cond* - * makefile - * monogc.c - * monostub.c - small changes to files - -2003-03-17 Alexandre Pigolkine - * monogc.c - * makefile - original version of monogc.c by John Sohn - -2003-03-15 Alexandre Pigolkine - * Control.cs - * Panel.cs - * StatusBar.cs - * StatusBarPanel.cs - * win32Enums.cs - * win32functions.cs - checkin for Aleksey Ryabchuk (ryabchuk@yahoo.com) +2004-08-10 09:47 jackson -2003-03-15 Alexandre Pigolkine - * monogc.c dynamic loader for gc-wine.dll by John Sohn - * makefile changed to build monogc + * TrackBar.cs: Allow control to handle buffering -2003-03-10 Alexandre Pigolkine - * Button.cs - check in for Steven Stewart +2004-08-10 09:41 jackson -2003-03-09 Alexandre Pigolkine - * Application.cs fixed line terminators + * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering - * Form.cs - * TrackBar.cs - * win32Enums.cs - implementation of TrackBar control by Aleksey Ryabchuk (ryabchuk@yahoo.com) - - * makefile - * monostub.c - * monosem.c - parse command line - run assembly not from main thread - first implementation of pthread fuctions using Wine - -2003-03-01 Alexandre Pigolkine - * Button.cs changed painting code - * ButtonBase.cs ContentAlignment operations implemented in separate functions - * CheckedListBox.cs Implementation added - * ComboBox.cs small modifications - * Control.cs repaint on style changes - * ControlPaint.cs Implementation added - * Form.cs delegate Size to Control - * ImageList.cs small modifications - * ListBox.cs Implementation added - * ListControl.cs small modifications - * NativeWindow.cs fixed line terminators - * ScrollableControl.cs small modifications - * win32Enums.cs declaration added - * win32functions.cs Implementation added, fixed line terminators - - -2003-02-27 Reggie Burnett - * Added several external functions to Win32funcs.cs - * Added necessary LoadLibrary to RichTextEdit to load common control library - -2003-02-26 Reggie Burnett - * Form.Close now actually destroys the Window - * Application now closes when launching form is closed - - 2003-02-19 Alexandre Pigolkine - * Button.cs - * CheckedListBox.cs - * ComboBox.cs - * Control.cs - * ControlPaint.cs - * Form.cs - * ListBox.cs - * win32functions.cs - implementation added - - 2003-02-11 Alexandre Pigolkine - * ButtonBase.cs - * ComboBox.cs - * Control.cs - * ListControl.cs - * NativeWindow.cs - implementation added +2004-08-10 09:24 jackson - The following sample from .Net SDK can run: - Samples\QuickStart\winforms\samples\controlreference\comboboxctl\cs\ + * Label.cs, LinkLabel.cs: Let Control handle buffering. - 2003-02-09 Alexandre Pigolkine - * Button.cs - * ButtonBase.cs - * CheckBox.cs - * ComboBox.cs - * Control.cs - * ControlPaint.cs - implementation added - * Message.cs - bug fixed - * win32Enums.cs - * win32functions.cs - * win32Structs.cs - declarations added - - - 2003-02-07 Alexandre Pigolkine - * Font.cs removed - * Button.cs - * ControlPaint.cs - * ComboBox.cs - modified - - 2003-02-06 Alexandre Pigolkine - - * Button.cs Painting code is implemented - * ButtonBase.cs TextAlign property implemented, WM_COMMAND handling is modified - * ComboBox.cs Initial implementation of ObjectCollection, properties and WM_COMMAND - - * Control.cs Changes to WindProc of Control and ControlNativeWindow classes, - to some properties, window handle creation, ControlCollection - Initial implementation windows control subclassing, message reflection, - ISynchrinizeInvoke interface. - - * ControlPaint.cs Initial implementation of DrawBorder3D and DrawButton - - * Form.cs Modification to constructor, window handle creation, - WM_COMMAND handling, WndProc - - * ListBox.cs Implementation of DrawMode.OwnerDrawFixed and OwnerDrawVariable - * Message.cs WParam helpers added - * MessageBox.cs By default MessageBox.Show(string) brings TASKMODAL message box - * NativeWindow.cs Implemented OnThreadException - * PaintEventArgs.cs Dispose() method - * ProgressBar.cs Small modifications to implementation - * SystemInformation.cs CaptionHeight implemented - - * CheckBox.cs - * GroupBox.cs - * Label.cs - * Panel.cs - * TextBox.cs - CreateParams property modified - - * win32enums.cs enums added - * win32functions.cs functions added - * win32struct.cs 2 structs modified - - * Application.cs - * DrawItemEventArgs.cs - line terminators fixed - - The following samples from .Net SDK can run: - Samples\QuickStart\howto\samples\winforms\errorhandler\cs\ - Samples\QuickStart\howto\samples\winforms\ownerdrawlistbox\cs\ - Samples\QuickStart\howto\samples\winforms\threadmarshal\cs\ - Samples\QuickStart\winforms\samples\accessible\cs\ - Samples\QuickStart\winforms\samples\controlreference\buttonctl\cs\ - - 2003-31-1 John Sohn - * makefile: cleaned and reduced dependencies to hard-coded paths - * monostub.c: updated for compliance with the latest Mono and WineLib - - 2002-12-9 DennisHayes +2004-08-10 09:09 jackson - * Form.cs - * KeysConverter.cs - * Label.cs - * LinkArea.cs - * LinkLabel.cs - * ListBindingConverter.cs - * ListBox.cs - * ListControl.cs - * ListView.cs - * ListViewItem.cs - * ListViewItemConverter.cs - * MainMenu.cs - * Menu.cs - * MenuItem.cs - * NativeWindow.cs - * NumericUpDown.cs - * OpacityConverter.cs - * OSFeature.cs - * PictureBox.cs - * PrintControllerWithStatusDialog.cs - * PrintDialog.cs - * PrintPreviewControl.cs - * PropertyManager.cs - * RadioButton.cs - * Screen.cs - * ScrollableControl.cs - * ScrollBar.cs - * SendKeys.cs - * SplitterEventArgs.cs - * StatusBar.cs - * SystemInformation.cs - * TextBoxBase.cs - * ToolBar.cs - * TrackBar.cs - * TreeNode.cs - * TreeNodeCollection.cs - * TreeNodeConverter.cs - * TreeView.cs + * StatusBar.cs: Let Control handle all the buffering. - * cleanup, fixes, some implmentation +2004-08-10 09:08 jackson - 2002-12-6 DennisHayes + * Control.cs: Control will now handle the buffering code, so each + control does not have to implement this. - * checkin for Alexandre Pigolkine (pigolkine@gmx.de) - * Form.cs - * Menu.cs - * MenuItem.cs - - * Implmentation +2004-08-10 08:34 jackson - 2002-12-6 DennisHayes + * XplatUIDriver.cs: Use default colors from the theme - * Control.cs - * Form.cs - * MonthCalendar.cs - * Screen.cs - * SelectionRange.cs - * SelectionRangeConverter.cs - * TabPage.cs - * TextBox.cs - * Timer.cs - * ToolBarButton.cs - * TrackBar.cs - * UpDownBase.cs - * UserControl.cs - * tooltip.cs +2004-08-09 17:12 pbartok - * cleanup, dead code removeal, replaced throw not implmented's with //FIXME:s + * ImageList.cs: + - Fixed several bugs Ravindra pointed out - 2002-12-3 DennisHayes - * *.cs - * switched to unix style line terminiators +2004-08-09 16:11 pbartok + * Control.cs: + - Added incomplete dock layout code + - Added support for mouse wheel +2004-08-09 16:09 pbartok - 2002-12-3 DennisHayes + * 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 - * 140 files changed. replaced throw notimplmenteds with FIXME:s, removed dead code, - * corrected +2004-08-09 15:40 jackson - 2002-12-1 DennisHayes + * StatusBarPanel.cs, StatusBarPanelAutoSize.cs, + StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial + checkin - * AccessibleObject.cs - * Application.cs - * ApplicationContext.cs - * AxHost.cs - * Binding.cs - * BindingContext.cs - * Button.cs - * CheckBox.cs - * CheckedListBox.cs - * Clipboard.cs - * ColorDialog.cs - * ColumnHeader.cs - * ComboBox.cs - * CommonDialog.cs - * ContainerControl.cs - * ContextMenu.cs - * Control.cs - * ControlBindingsCollection.cs - * ControlPaint.cs - * CreateParams.cs - * CurrencyManager.cs - * Cursor.cs - * CursorConverter.cs - * Cursors.cs - * DataFormats.cs - * DataGrid.cs - * DataGridTableStyle.cs - * DataGridTextBox.cs - * DataGridTextBoxColumn.cs - * DataObject.cs - * ErrorProvider.cs - * Form.cs +2004-08-09 15:37 jackson - * removed some throw notimplmented ecexptions - * Some small implmentaions - * some dead code removal - - 2002-11-28 DennisHayes - - * In visual studio, I added a SWFTest project to the SWF solution. - * Using Microsoft's swf.dll, I added one of each possible stock controls to the form. - * I closed the form (swf design stuff i svery incomplete). - * I Removed the reference to MS's swf.dll, and added a reference to the SWF project. - * The result compiles, runs, and can be closed, without crashing in windows. - * PrintPreviewDialog is the only item (other than crystal reports) on the - * standard toolbar that is not included. - * When run, a standard window comes up, not a dialog/form type window. - * The form is as small as possible, just a caption bar of minimum width - * with control bax and min/max box. It can be resized to any size fine. - * no controls are actualy displayed. they may be of zero size, or it - * may be due to the window not being a dialog box, or it may be anything. - - * ApplicationContext.cs - * Button.cs - * ChangeLog - * CheckBox.cs - * CheckedListBox.cs - * ColorDialog.cs - * ComboBox.cs - * ContainerControl.cs - * Control.cs - * DataGrid.cs - * DateTimePicker.cs - * DomainUpDown.cs - * ErrorProvider.cs - * FileDialog.cs - * FontDialog.cs - * Form.cs - * GroupBox.cs - * HelpProvider.cs - * HScrollBar.cs - * ImageList.cs - * Label.cs - * LinkLabel.cs - * ListBox.cs - * ListControl.cs - * ListView.cs - * logfile.txt - * MainMenu.cs - * Menu.cs - * MenuItem.cs - * NativeWindow.cs - * NotifyIcon.cs - * NumericUpDown.cs - * OpenFileDialog.cs - * PageSetupDialog.cs - * Panel.cs - * PictureBox.cs - * PrintDialog.cs - * PrintPreviewControl.cs - * PrintPreviewDialog.cs - * ProgressBar.cs - * RadioButton.cs - * RichTextBox.cs - * SaveFileDialog.cs - * ScrollableControl.cs - * ScrollBar.cs - * Splitter.cs - * StatusBar.cs - * System.Windows.Forms.csproj - * System.Windows.Forms.csproj.user - * TabControl.cs - * TextBox.cs - * TextBoxBase.cs - * Timer.cs - * ToolBar.cs - * ToolBarButton.cs - * tooltip.cs - * TrackBar.cs - * TreeNode.cs - * TreeNodeCollection.cs - * TreeView.cs - * UpDownBase.cs - * UserControl.cs - * VScrollBar.cs - * win32Enums.cs - * win32functions.cs + * StatusBar.cs: Initial implementation of StatusBar - 2002-11-27 DennisHayes - * checkin for Alexandre Pigolkine (pigolkine@gmx.de) with minor changes - - * Control.cs - * MainMenu.cs - * Menu.cs - * MenuItem.cs - * NativeWindow.cs - * win32Enums.cs - * win32functions.cs - - * WIN32 implmentation +2004-08-09 15:36 jackson - 2002-11-24 DennisHayes + * ITheme.cs: Add support for drawing status bar and getting status + bar item sizes - * Application.cs - * Control.cs - * Form.cs - * Message.cs - * NativeWindow.cs - * ScrollableControl.cs - * win32functions.cs - * win32Structs.cs - - * Fixed added more win32 stuff - * On windows in Visual studio and runs my test program, but does - * not display a window. the window Handle is null, so the size gets set to 0,0. - +2004-08-09 15:35 pbartok - 2002-11-23 DennisHayes - checked in for Francois-Denis Gonthier + * MouseButtons.cs: + - Fixed values - * win32functions.cs - * win32Structs.cs - * Menu.cs - * ScrollableControl.cs - * MenuItem.cs - * NativeWindow.cs - * Form.cs - * move some more stuff from monostub to c# - * converted a couple of files to unix style line end - * some implmementation - - 2002-11-17 DennisHayes +2004-08-09 15:34 jackson - * AccessibleObject.cs + * ThemeWin32Classic.cs: Add support for drawing status bar and get + status bar item sizes - * Removed COMvisible. Docs say yes, but verifer says no +2004-08-09 15:21 jackson - 2002-11-17 DennisHayes + * ThemeWin32Classic.cs: Use known colors for default control + colours - * Application.cs - * Button.cs - * Control.cs - * Form.cs - * Label.cs - * ListBox.cs - * Menu.cs - * MessageBox.cs - * NativeWindow.cs - * PrintPreviewDialog.cs - * ScrollableControl.cs - * ScrollBar.cs - * VScrollBar.cs +2004-08-09 15:12 jackson - * Made changes releated to the new win32 stuff + * ThemeWin32Classic.cs: Make the default font static, it is static + in control so this doesn't change functionality and creating fonts + is sloooooow. - 2002-11-17 DennisHayes - * Win32Enums.cs - * Win32Handles.cs - * Win32Interfaces.cs - * Win32RegistryUtil.cs - * Win32Structs.cs +2004-08-09 14:56 pbartok - * Completed merging files from Carlos Harvey Perez - * Moved all parts of Win32.cs to these files - * eliminated Win32.cs. - * - * many things moved from win32.cs still commented out. - * Also needs to be mono styled. + * X11Structs.cs: + - Added GrabMode enum - * Win32.cs - removed +2004-08-09 14:55 pbartok - 2002-11-12 DennisHayes + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Removed Run method, was only required for initial development - * Win32Enums.cs - * Win32Handles.cs - * Win32Interfaces.cs - * Win32RegistryUtil.cs - * Win32Structs.cs +2004-08-09 14:51 pbartok - * Added files from Carlos Harvey Perez - ** Thanks Carlos! ** - * Moved all parts of Win32.cs to these files - * Execpt for functions. Will merge functions - * and eliminate remove Win32.cs soon. - * - * most things moved from win32.cs still commented out. - * Also needs to be mono styled. + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Implemented GrabWindow/ReleaseWindow methods to allow pointer + capture - * Win32.cs - * Moved stuff from win32.cs to files from Carlos.2002-11-12 Gonzalo Paniagua Javier +2004-08-09 13:48 pbartok -2002-11-12 Gonzalo Paniagua Javier + * XplatUIX11.cs: + - Fixed default sizing for child windows - * ListBox.cs: added ItemHeight and DrawMode properties. Fixes the build - in unix. +2004-08-09 12:56 pbartok - * ListBox.cs: added ItemHeight and DrawMode properties. Fixes the build - in unix. + * XplatUIX11.cs: + - Added generation of WM_DESTROY message + - Added handling of window manager induced shutdown -2002-11-02 Miguel de Icaza +2004-08-09 11:31 jackson - * Win32.cs: Added IsMenu, CreateMenu, AppendMenuA, DestroyMenu entry points. - -2002-10-29 DennisHayes + * ThemeWin32Classic.cs: New names for control properties - * AmbientProperties.cs - * Application.cs - * ApplicationContext.cs - * CheckBox.cs - * CheckedListBox.cs - * ColumnHeader.cs - * ContainerControl.cs - * ContextMenu.cs - * Control.cs - * Cursors.cs - * HScrollBar.cs - * ListBox.cs - * MainMenu.cs - * Menu.cs - * MenuItem.cs - * MessageBox.cs - * NativeWindow.cs - * PictureBox.cs - * ScrollableControl.cs - * ScrollBar.cs - * System.Windows.Forms.csproj - * System.Windows.Forms.csproj.user - * VScrollBar.cs - * Win32.cs +2004-08-09 11:25 jackson - * minor formating, bug fixes, and implmentation + * Control.cs: Use new color names +2004-08-09 11:02 jackson - 2002-10-29 DennisHayes - * checkin for Alexandre Pigolkine (pigolkine@gmx.de) - * Menu classes start on implmentation + * XplatUI.cs: Get default window properties from the theme - 2002-10-27 DennisHayes +2004-08-09 11:01 jackson - * AccessibleObject.cs - * AssemblyInfo.cs - * AxHost.cs - * BaseCollection.cs - * BindingMemberInfo.cs - * BindingsCollection.cs - * ButtonBase.cs - * ColumnClickEventArgs.cs - * ComboBox.cs - * ContainerControl.cs - * ContentsResizedEventArgs.cs - * Control.cs - * ControlEventArgs.cs - * ConvertEventArgs.cs - * DateBoldEventArgs.cs - * DateRangeEventArgs.cs - * DomainUpDown.cs - * DragEventArgs.cs - * DrawItemEventArgs.cs - * FolderBrowserDialog.cs - * Form.cs - * GiveFeedbackEventArgs.cs - * HelpEventArgs.cs - * InputLanguageChangedEventArgs.cs - * InputLanguageChangingEventArgs.cs - * InvalidateEventArgs.cs - * ItemChangedEventArgs.cs - * ItemCheckEventArgs.cs - * ItemDragEventArgs.cs - * KeyEventArgs.cs - * KeyPressEventArgs.cs - * Keys.cs - * LabelEditEventArgs.cs - * LayoutEventArgs.cs - * LinkClickedEventArgs.cs - * LinkLabelLinkClickedEventArgs.cs - * ListControl.cs - * MeasureItemEventArgs.cs - * MouseEventArgs.cs - * NavigateEventArgs.cs - * NodeLabelEditEventArgs.cs - * PaintEventArgs.cs - * PrintPreviewDialog.cs - * PropertyTabChangedEventArgs.cs - * PropertyValueChangedEventArgs.cs - * QueryAccessibilityHelpEventArgs.cs - * QueryContinueDragEventArgs.cs - * ScrollEventArgs.cs - * SelectedGridItemChangedEventArgs.cs - * SplitterEventArgs.cs - * StatusBarDrawItemEventArgs.cs - * StatusBarPanelClickEventArgs.cs - * System.Windows.Forms.csproj - * System.Windows.Forms.csproj.user - * TextBox.cs - * ToolBarButtonClickEventArgs.cs - * TreeNodeConverter.cs - * TreeViewCancelEventArgs.cs - * UICuesEventArgs.cs - * UpDownBase.cs - * UpDownEventArgs.cs - * VScrollBar.cs - - - * Stubs now compliant with .NET 1.1 Beta, except for one that has dependencies. - * Added FolderBrowserDialog.cs for .NET 1.1 beta compatibility. - * Completed implmentation of all *Args classes. - * Updated checkoutlist. - * Made fixes so this will compile using Visual studio under windows. - - - - 2002-10-26 DennisHayes - - * Added CheckOutFile to SWF one level up from here - * to keep track of who is working on what. - - 2002-10-24 DennisHayes - - * AccessibleObject.cs - * Application.cs - * AssemblyInfo.cs - * BaseCollection.cs - * BindingContext.cs - * BindingManagerBase.cs - * BindingsCollection.cs - * ContainerControl.cs - * Control.cs - * Font.cs - * Form.cs - * IAccessible.cs - * InputLanguageCollection.cs - * Label.cs - * MessageBox.cs - * PropertyTabChangedEventArgs.cs - * ScrollableControl.cs - * Win32.cs - * WINELib.csproj - * WINELib.csproj.user - * winelib.sln - - * Changes to get winelib version running with more methods uncommented out. - * Especialy trying to get CE compliance. - -2002-10-22 DennisHayes - * Miguel moved files from WINELIB to here - * See ochagelog for details - -2002-10-13 DennisHayes - - *Application.cs - *AxHost.cs - *ChangeLog - *CheckedListBox.cs - *ComboBox.cs - *CurrencyManager.cs - *DateTimePicker.cs - *DomainUpDown.cs - *FolderBrowserDialog.cs - *ListBox.cs - *logfile.txt - *StatusBarDrawItemEventArgs.cs - *TabControl.cs - *TextBox.cs - *TrackBar.cs - *UpDownBase.cs - - * Updated to match .NET V1.1 Beta - -2002-9-2 DennisHayes - -* AccessibleObject.cs -* AmbientProperties.cs -* AxHost.cs -* Button.cs -* ButtonBase.cs -* CheckBox.cs -* ColorDialog.cs -* ColumnHeader.cs -* ComboBox.cs -* ContainerControl.cs -* DataGrid.cs -* DateTimePicker.cs -* ListControl.cs -* PrintPreviewDialog.cs -* Implmented any functions. - -* System.Windows.Forms.csproj -* System.Windows.Forms.csproj.user -* Added win32.cs - -2002-8-6 DennisHayes -* Checked in for Ginandrea Terzi (gterzi@lario.com) - -* MeasureItemEventArgs.cs -* PropertyValueChangedEventArgs.cs -* ScrollEventArgs.cs -* ScrollEventType.cs -* SelectionMode.cs -* Shortcut.cs -* TickStyle.cs -* ToolBarButtonClickEventArgs.cs -* TreeViewAction.cs -* TriangleDirection.cs -* UICues.cs -* UICuesEventArgs.cs -* UpDownBase.cs -* UpDownEventHandler.cs -* Fixed syntax errors and verifier errors - -2002-8-6 DennisHayes - -* PropertyTabChangedEventArgs.cs -* Minor sytax bug fixes. - -* System.Windows.Forms.csproj -* System.Windows.Forms.csproj.user -* System.Windows.Forms.sln -* Added support for System.Windows.Forms.Design -* Builds two dlls instead of one. -* Allows compiling for now, but needs to be fixed - -2002-8-2 DennisHayes -* Checked in for Ginandrea Terzi (gterzi@lario.com) - -* AssemblyInfo.cs -* ColumnClickEventArgs.cs -* ContentsResizedEventArgs.cs -* ControlEventArgs.cs -* ConvertEventArgs.cs -* DateBoldEventArgs.cs -* DateRangeEventArgs.cs -* DragEventArgs.cs -* DrawItemEventArgs.cs -* GiveFeedbackEventArgs.cs -* HelpEventArgs.cs -* InputLanguageChangedEventArgs.cs -* InputLanguageChangingEventArgs.cs -* InvalidateEventArgs.cs -* ItemChangedEventArgs.cs -* ItemCheckEventArgs.cs -* ItemDragEventArgs.cs - -* KeyEventArgs.cs -* KeyPressEventArgs.cs -* LabelEditEventArgs.cs -* LayoutEventArgs.cs -* LinkClickedEventArgs.cs -* LinkLabelLinkClickedEventArgs.cs -* logfile.txt -* MeasureItemEventArgs.cs -* MouseEventArgs.cs -* NavigateEventArgs.cs -* NodeLabelEditEventArgs.cs -* PaintEventArgs.cs -* PropertyTabChangedEventArgs.cs -* PropertyValueChangedEventArgs.cs -* QueryAccessibilityHelpEventArgs.cs -* QueryContinueDragEventArgs.cs -* ScrollEventArgs.cs -* SelectedGridItemChangedEventArgs.cs -* SplitterEventArgs.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanelClickEventArgs.cs -* ToolBarButtonClickEventArgs.cs -* TreeViewCancelEventArgs.cs -* UICuesEventArgs.cs -* UpDownEventArgs.cs -* Improved ToString functions -* Completed the rest of the *.args classes - -2002-8-1 DennisHayes -* Checked in for Ginandrea Terzi (gterzi@lario.com) - -* KeyEventArgs.cs -* KeyPressEventArgs.cs -* LabelEditEventArgs.cs -* LayoutEventArgs.cs -* LinkClickedEventArgs.cs -* LinkLabelLinkClickedEventArgs.cs -* MeasureItemEventArgs.cs -* MouseEventArgs.cs -* NavigateEventArgs.cs -* NodeLabelEditEventArgs.cs -* PaintEventArgs.cs -* PropertyTabChangedEventArgs.cs -* PropertyValueChangedEventArgs.cs -* QueryAccessibilityHelpEventArgs.cs -* QueryContinueDragEventArgs.cs -* ScrollEventArgs.cs -* SelectedGridItemChangedEventArgs.cs -* SplitterEventArgs.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanelClickEventArgs.cs -* ToolBarButtonClickEventArgs.cs -* TreeViewCancelEventArgs.cs -* UICuesEventArgs.cs -* UpDownEventArgs.cs -* Corrected, cleaned up/ completed some *args.cs classes. -* May break build, but should be easy to fix, will verifiy -* tonight and check in any needed fixes. - -2002-8-1 DennisHayes -* MonthCalendar.cs -* ButtonBase.cs -* Form.cs -* MonthCalendar commented out, stubbs need work -* GTK references removed from Buttonbase and form, to make compile easier. -* Replace GTK references as soon as build works on Windows and Linux. -* With this, SWF should compile uder visual studio - -2002-8-1 DennisHayes -* TODOAttribute.cs -* ComVisible.cs -* added so the namespace can compile, remove when replaced with mono equivalents. - -2002-8-1 DennisHayes -* System.Windows.Forms.csproj -* System.Windows.Forms.csproj.user -* System.Windows.Forms.sln -* AssemblyInfo.cs * Not sure if this file is needed. not a part of the namespace, just visual studio -* Added files to compile using visual Studio - -2002-8-1 DennisHayes -* Getopt.cs -* removed, file contained only trash, not needed. - - -2002-7-30 DennisHayes - -* AccessibleNavigation.cs -* AccessibleObject.cs -* AccessibleSelection.cs -* AmbientProperties.cs -* Application.cs -* ApplicationContext.cs -* AxHost.cs -* BaseCollection.cs -* Binding.cs -* BindingContext.cs -* BindingManagerBase.cs -* BindingMemberInfo.cs -* BindingsCollection.cs -* Button.cs -* ButtonBase.cs -* CaptionButton.cs -* CharacterCasing.cs -* CheckBox.cs -* CheckedListBox.cs -* CheckState.cs -* Clipboard.cs -* ColorDialog.cs -* ColumnClickEventArgs.cs -* ColumnClickEventHandler.cs -* ColumnHeader.cs -* ComboBox.cs -* CommonDialog.cs -* ContainerControl.cs -* ContentsResizedEventHandler.cs -* ContextMenu.cs -* Control.cs -* ControlBindingsCollection.cs -* ControlEventArgs.cs -* ControlEventHandler.cs -* ControlPaint.cs -* ConvertEventHandler.cs -* CreateParams.cs -* CurrencyManager.cs -* Cursor.cs -* CursorConverter.cs -* Cursors.cs -* DataFormats.cs -* DataGrid.cs -* DataGridBoolColumn.cs -* DataGridCell.cs -* DataGridColumnStyle.cs -* DataGridParentRowsLabelStyle.cs -* DataGridPreferredColumnWidthTypeConverter.cs -* DataGridTableStyle.cs -* DataGridTextBox.cs -* DataGridTextBoxColumn.cs -* DataObject.cs -* DateBoldEventArgs.cs -* DateRangeEventArgs.cs -* DateRangeEventHandler.cs -* DateTimePicker.cs -* DialogResult.cs -* DockStyle.cs -* DomainUpDown.cs -* DragAction.cs -* DragDropEffects.cs -* DragEventArgs.cs -* DragEventHandler.cs -* DrawItemEventArgs.cs -* DrawItemEventHandler.cs -* DrawItemState.cs -* DrawMode.cs -* ErrorBlinkStyle.cs -* ErrorIconAlignment.cs -* ErrorProvider.cs -* FeatureSupport.cs -* FileDialog.cs -* FlatStyle.cs -* FontDialog.cs -* Form.cs -* FormBorderStyle.cs -* FormStartPosition.cs -* FormWindowState.cs -* FrameStyle.cs -* GiveFeedbackEventHandler.cs -* GridColumnStylesCollection.cs -* GridItemCollection.cs -* GridTableStylesCollection.cs -* GroupBox.cs -* Help.cs -* HelpEventHandler.cs -* HelpProvider.cs -* HScrollBar.cs -* ImageIndexConverter.cs -* ImageList.cs -* ImageListStreamer.cs -* InputLanguage.cs -* InputLanguageChangedEventHandler.cs -* InputLanguageChangingEventHandler.cs -* InputLanguageCollection.cs -* InvalidateEventHandler.cs -* ItemChangedEventArgs.cs -* ItemChangedEventHandler.cs -* ItemCheckEventHandler.cs -* ItemDragEventHandler.cs -* KeyEventHandler.cs -* KeyPressEventArgs.cs -* KeyPressEventHandler.cs -* KeysConverter.cs -* Label.cs -* LabelEditEventHandler.cs -* LayoutEventHandler.cs -* LinkArea.cs -* LinkClickedEventHandler.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventHandler.cs -* ListBindingConverter.cs -* ListBox.cs -* ListControl.cs -* ListView.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* logfile.txt -* MainMenu.cs -* MeasureItemEventHandler.cs -* Menu.cs -* MenuItem.cs -* Message.cs -* MessageBox.cs -* MethodInvoker.cs -* MonthCalendar.cs -* MouseEventHandler.cs -* NativeWindow.cs -* NavigateEventHandler.cs -* NodeLabelEditEventHandler.cs -* NotifyIcon.cs -* NumericUpDown.cs -* OpacityConverter.cs -* OpenFileDialog.cs -* OSFeature.cs -* PageSetupDialog.cs -* PaintEventArgs.cs -* PaintEventHandler.cs -* Panel.cs -* PrintControllerWithStatusDialog.cs -* PrintDialog.cs -* PrintPreviewControl.cs -* PrintPreviewDialog.cs -* ProgressBar.cs -* PropertyGrid.cs -* PropertyManager.cs -* PropertyTabChangedEventArgs.cs -* PropertyTabChangedEventHandler.cs -* PropertyValueChangedEventHandler.cs -* QueryAccessibilityHelpEventHandler.cs -* QueryContinueDragEventHandler.cs -* RadioButton.cs -* RichTextBox.cs -* SaveFileDialog.cs -* Screen.cs -* ScrollableControl.cs -* ScrollBar.cs -* ScrollEventArgs.cs -* ScrollEventHandler.cs -* SelectedGridItemChangedEventHandler.cs -* SelectionRange.cs -* SelectionRangeConverter.cs -* SendKeys.cs -* Splitter.cs -* SplitterEventHandler.cs -* StatusBar.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarDrawItemEventHandler.cs -* StatusBarPanel.cs -* StatusBarPanelClickEventArgs.cs -* StatusBarPanelClickEventHandler.cs -* StatusBarPanelCollection.cs -* SystemInformation.cs - -* TabControl.cs -* TabPage.cs -* TextBox.cs -* TextBoxBase.cs -* ThreadExceptionDialog.cs -* Timer.cs -* ToolBar.cs -* ToolBarButton.cs -* ToolBarButtonClickEventHandler.cs -* ToolTip.cs -* TrackBar.cs -* TreeNode.cs -* TreeNodeCollection.cs -* TreeNodeConverter.cs -* TreeView.cs -* TreeViewCancelEventHandler.cs -* TreeViewEventHandler.cs -* TreeViewImageIndexConverter.cs -* UICuesEventArgs.cs -* UICuesEventHandler.cs -* UpDownBase.cs -* UpDownEventHandler.cs -* UserControl.cs -* VScrollBar.cs -* Fixed errors reported by verify.exe, mostly attribute errors. -* Added my name to author's list to files I edited in the last two weeks - -2002-7-22 DennisHayes - -* DateTimePickerFormat.cs -* Added values. -* The NAMESPACE NOW COMPILES under windows in Visual Studio using the Microsoft version of the classes. -* Verify.exe reports 600 errors. - -2002-7-21 DennisHayes - -* AccessibleObject.cs -* AmbientProperties.cs -* AxHost.cs -* BaseCollection.cs -* BindingsCollection.cs -* ButtonBase.cs -* CheckBox.cs -* CheckedListBox.cs -* ComboBox.cs -* ContainerControl.cs -* ContextMenu.cs -* Control.cs -* ControlEventArgs.cs -* ControlPaint.cs -* ConvertEventArgs.cs -* DataGrid.cs -* DataGridColumnStyle.cs -* DataObject.cs -* DateTimePicker.cs -* DomainUpDown.cs -* DragEventArgs.cs -* DrawItemEventArgs.cs -* ErrorProvider.cs -* FeatureSupport.cs -* FileDialog.cs -* FontDialog.cs -* Form.cs -* GiveFeedbackEventArgs.cs -* GridColumnStylesCollection.cs -* GridItem.cs -* GridItemCollection.cs -* GridTableStylesCollection.cs -* GroupBox.cs -* Help.cs -* HelpEventArgs.cs -* HelpProvider.cs -* HScrollBar.cs -* ImageIndexConverter.cs -* ImageList.cs -* ImageListStreamer.cs -* InputLanguage.cs -* InputLanguageChangedEventArgs.cs -* InputLanguageChangingEventArgs.cs -* InputLanguageCollection.cs -* InvalidateEventArgs.cs -* ItemChangedEventArgs.cs -* ItemCheckEventArgs.cs -* ItemDragEventArgs.cs -* KeyEventArgs.cs -* KeyPressEventArgs.cs -* KeysConverter.cs -* Label.cs -* LabelEditEventArgs.cs -* LayoutEventArgs.cs -* LinkArea.cs -* LinkClickedEventArgs.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* LinkLabelLinkClickedEventHandler.cs -* ListBindingConverter.cs -* ListBox.cs -* ListControl.cs -* ListView.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* MainMenu.cs -* MeasureItemEventArgs.cs -* Menu.cs -* MenuItem.cs -* Message.cs -* MessageBox.cs -* MouseEventArgs.cs -* NativeWindow.cs -* NavigateEventArgs.cs -* NodeLabelEditEventArgs.cs -* NotifyIcon.cs -* NumericUpDown.cs -* OpacityConverter.cs -* OpenFileDialog.cs -* OSFeature.cs -* PageSetupDialog.cs -* PaintEventArgs.cs -* Panel.cs -* PrintControllerWithStatusDialog.cs -* PrintDialog.cs -* PrintPreviewDialog.cs -* QueryAccessibilityHelpEventArgs.cs -* QueryContinueDragEventArgs.cs -* RadioButton.cs -* RichTextBox.cs -* SaveFileDialog.cs -* Screen.cs -* ScrollableControl.cs -* ScrollBar.cs -* ScrollEventArgs.cs -* SelectedGridItemChangedEventArgs.cs -* SelectionRange.cs -* SelectionRangeConverter.cs -* SendKeys.cs -* Splitter.cs -* SplitterEventArgs.cs -* StatusBar.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanelCollection.cs -* TabControl.cs -* TabPage.cs -* TextBox.cs -* TextBoxBase.cs -* ToolBar.cs -* ToolBarButtonClickEventArgs.cs -* ToolTip.cs -* TrackBar.cs -* TreeNodeCollection.cs -* TreeView.cs -* UserControl.cs -* commented out inherited class that did not need to be stubbed. -* fixed bugs, added values to one enum. Stubbed interfaces. -* The NAMESPACE NOW COMPILES under windows in Visual Studio using the Microsoft version of the classes. -* Verify.exe reports 600 errors. - -2002-7-7 DennisHayes - -* ToolBarButtonClickEventArgs.cs -* UpDownEventArgs.cs -* KeyPressEventHandler.cs -* Added new files. - -2002-7-7 DennisHayes - -* AccessibleEvents.cs -* AccessibleNavigation.cs -* AccessibleObject.cs -* AccessibleRole.cs -* AccessibleSelection.cs -* AccessibleStates.cs -* AmbientProperties.cs -* AnchorStyles.cs -* Appearance.cs -* Application.cs -* ApplicationContext.cs -* ArrangeDirection.cs -* ArrangeStartingPosition.cs -* AxHost.cs -* BaseCollection.cs -* Binding.cs -* BindingContext.cs -* BindingManagerBase.cs -* BindingMemberInfo.cs -* BindingsCollection.cs -* BootMode.cs -* Border3DSide.cs -* Border3DStyle.cs -* BorderStyle.cs -* BoundsSpecified.cs -* Button.cs -* ButtonBase.cs -* ButtonBorderStyle.cs -* ButtonState.cs -* CaptionButton.cs -* CharacterCasing.cs -* CheckBox.cs -* CheckedListBox.cs -* CheckState.cs -* Clipboard.cs -* ColorDepth.cs -* ColorDialog.cs -* ColumnClickEventArgs.cs -* ColumnClickEventHandler.cs -* ColumnHeader.cs -* ColumnHeaderStyle.cs -* ComboBox.cs -* ComboBoxStyle.cs -* CommonDialog.cs -* ComVisible.cs -* ContainerControl.cs -* ContentsResizedEventArgs.cs -* ContentsResizedEventHandler.cs -* ContextMenu.cs -* Control.cs -* ControlBindingsCollection.cs -* ControlEventArgs.cs -* ControlEventHandler.cs -* ControlPaint.cs -* ControlStyles.cs -* ConvertEventArgs.cs -* ConvertEventHandler.cs -* CreateParams.cs -* CurrencyManager.cs -* Cursor.cs -* CursorConverter.cs -* Cursors.cs -* DataFormats.cs -* DataGrid.cs -* DataGridBoolColumn.cs -* DataGridCell.cs -* DataGridColumnStyle.cs -* DataGridLineStyle.cs -* DataGridParentRowsLabelStyle.cs -* DataGridPreferredColumnWidthTypeConverter.cs -* DataGridTableStyle.cs -* DataGridTextBox.cs -* DataGridTextBoxColumn.cs -* DataObject.cs -* DateBoldEventArgs.cs -* DateRangeEventArgs.cs -* DateRangeEventHandler.cs -* DateTimePicker.cs -* DateTimePickerFormat.cs -* day.cs -* DialogResult.cs -* DockStyle.cs -* DomainUpDown.cs -* DragAction.cs -* DragDropEffects.cs -* DragEventArgs.cs -* DragEventHandler.cs -* DrawItemEventArgs.cs -* DrawItemEventHandler.cs -* DrawItemState.cs -* DrawMode.cs -* ErrorBlinkStyle.cs -* ErrorIconAlignment.cs -* ErrorProvider.cs -* FeatureSupport.cs -* FileDialog.cs -* FlatStyle.cs -* FontDialog.cs -* Form.cs -* FormBorderStyle.cs -* FormStartPosition.cs -* FormWindowState.cs -* FrameStyle.cs -* Getopt.cs -* GiveFeedbackEventArgs.cs -* GiveFeedbackEventHandler.cs -* GridColumnStylesCollection.cs -* GridItem.cs -* GridItemCollection.cs -* GridItemType.cs -* GridTableStylesCollection.cs -* GroupBox.cs -* Help.cs -* HelpEventArgs.cs -* HelpEventHandler.cs -* HelpNavigator.cs -* HelpProvider.cs -* HorizontalAlignment.cs -* HScrollBar.cs -* IButtonControl.cs -* ICommandExecutor.cs -* IComponentEditorPageSite.cs -* IContainerControl.cs -* IDataGridColumnStyleEditingNotificationService.cs -* IDataGridEditingService.cs -* IDataObject.cs -* IFeatureSupport.cs -* IFileReaderService.cs -* ImageIndexConverter.cs -* ImageList.cs -* ImageListStreamer.cs -* ImeMode.cs -* IMessageFilter.cs -* InputLanguage.cs -* InputLanguageChangedEventArgs.cs -* InputLanguageChangedEventHandler.cs -* InputLanguageChangingEventArgs.cs -* InputLanguageChangingEventHandler.cs -* InputLanguageCollection.cs -* InvalidateEventArgs.cs -* InvalidateEventHandler.cs -* ItemActivation.cs -* ItemBoundsPortion.cs -* ItemChangedEventArgs.cs -* ItemChangedEventHandler.cs -* ItemCheckEventArgs.cs -* ItemCheckEventHandler.cs -* ItemDragEventArgs.cs -* ItemDragEventHandler.cs -* IWin32Window.cs -* IWindowTarget.cs -* KeyEventArgs.cs -* KeyEventHandler.cs -* KeyPressEventArgs.cs -* KeyPressEventHandler.cs -* Keys.cs -* KeysConverter.cs -* Label.cs -* LabelEditEventArgs.cs -* LabelEditEventHandler.cs -* LayoutEventArgs.cs -* LayoutEventHandler.cs -* LeftRightAlignment.cs -* LinkArea.cs -* LinkBehavior.cs -* LinkClickedEventArgs.cs -* LinkClickedEventHandler.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* LinkLabelLinkClickedEventHandler.cs -* LinkState.cs -* ListBindingConverter.cs -* ListBox.cs -* ListControl.cs -* ListView.cs -* ListViewAlignment.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* MainMenu.cs -* MdiLayout.cs -* MeasureItemEventArgs.cs -* MeasureItemEventHandler.cs -* Menu.cs -* MenuGlyph.cs -* MenuItem.cs -* MenuMerge.cs -* Message.cs -* MessageBox.cs -* MessageBoxButtons.cs -* MessageBoxDefaultButton.cs -* MessageBoxIcon.cs -* MessageBoxOptions.cs -* MethodInvoker.cs -* MonthCalendar.cs -* MouseButtons.cs -* MouseEventArgs.cs -* MouseEventHandler.cs -* NativeWindow.cs -* NavigateEventArgs.cs -* NavigateEventHandler.cs -* NodeLabelEditEventArgs.cs -* NodeLabelEditEventHandler.cs -* NotifyIcon.cs -* NumericUpDown.cs -* OpacityConverter.cs -* OpenFileDialog.cs -* Orientation.cs -* OSFeature.cs -* PageSetupDialog.cs -* PaintEventArgs.cs -* PaintEventHandler.cs -* Panel.cs -* PictureBoxSizeMode.cs -* PrintControllerWithStatusDialog.cs -* PrintDialog.cs -* PrintPreviewControl.cs -* PrintPreviewDialog.cs -* ProgressBar.cs -* PropertyGrid.cs -* PropertyManager.cs -* PropertySort.cs -* PropertyTabChangedEventArgs.cs -* PropertyTabChangedEventHandler.cs -* PropertyValueChangedEventArgs.cs -* PropertyValueChangedEventHandler.cs -* QueryAccessibilityHelpEventArgs.cs -* QueryAccessibilityHelpEventHandler.cs -* QueryContinueDragEventArgs.cs -* QueryContinueDragEventHandler.cs -* RadioButton.cs -* RichTextBox.cs -* RichTextBoxFinds.cs -* RichTextBoxScrollBars.cs -* RichTextBoxSelectionAttribute.cs -* RichTextBoxSelectionTypes.cs -* RichTextBoxStreamType.cs - -* RichTextBoxWordPunctuations.cs -* RightToLeft.cs -* SaveFileDialog.cs -* Screen.cs -* ScrollableControl.cs -* ScrollBar.cs -* ScrollBars.cs -* ScrollButton.cs - -* ScrollEventArgs.cs -* ScrollEventHandler.cs -* ScrollEventType.cs -* SecurityIDType.cs -* SelectedGridItemChangedEventArgs.cs -* SelectedGridItemChangedEventHandler.cs -* SelectionMode.cs -* SelectionRange.cs -* SelectionRangeConverter.cs -* SendKeys.cs -* Shortcut.cs -* SizeGripStyle.cs -* SortOrder.cs -* Splitter.cs -* SplitterEventArgs.cs -* SplitterEventHandler.cs -* StatusBar.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarDrawItemEventHandler.cs -* StatusBarPanel.cs -* StatusBarPanelAutoSize.cs -* StatusBarPanelBorderStyle.cs -* StatusBarPanelClickEventArgs.cs -* StatusBarPanelClickEventHandler.cs -* StatusBarPanelCollection.cs -* StatusBarPanelStyle.cs -* StructFormat.cs -* SystemInformation.cs -* TabAlignment.cs -* TabAppearance.cs -* TabControl.cs -* TabDrawMode.cs -* TabPage.cs -* TabSizeMode.cs -* TextBox.cs -* TextBoxBase.cs -* ThreadExceptionDialog.cs -* TickStyle.cs -* Timer.cs -* ToolBar.cs -* ToolBarAppearance.cs -* ToolBarButton.cs -* ToolBarButtonClickEventArgs.cs -* ToolBarButtonClickEventHandler.cs -* ToolBarButtonStyle.cs -* ToolBarTextAlign.cs -* ToolTip.cs -* TrackBar.cs -* TreeNode.cs -* TreeNodeCollection.cs -* TreeNodeConverter.cs -* TreeView.cs -* TreeViewAction.cs -* TreeViewCancelEventArgs.cs -* TreeViewCancelEventHandler.cs -* TreeViewEventArgs.cs -* TreeViewEventHandler.cs -* TreeViewImageIndexConverter.cs -* UICues.cs -* UICuesEventArgs.cs -* UICuesEventHandler.cs -* UpDownBase.cs -* UpDownEventArgs.cs -* UpDownEventHandler.cs -* UserControl.cs -* View.cs -* VScrollBar.cs -* Monostyled everything! - - - -2002-7-7 DennisHayes - -* AccessibleObject.cs -* AmbientProperties.cs -* AxHost.cs -* BindingsCollection.cs -* Button.cs -* ButtonBase.cs -* ChangeLog -* CheckBox.cs -* CheckedListBox.cs -* ColorDialog.cs -* ComboBox.cs -* CommonDialog.cs -* ContainerControl.cs -* ContextMenu.cs -* ControlEventArgs.cs -* CurrencyManager.cs -* DataGrid.cs -* DataGridBoolColumn.cs -* DataGridColumnStyle.cs -* DataGridTableStyle.cs -* DataGridTextBox.cs -* DataGridTextBoxColumn.cs -* DateTimePickerFormat.cs -* ErrorProvider.cs -* FileDialog.cs -* FontDialog.cs -* Form.cs -* GroupBox.cs -* HelpProvider.cs -* HScrollBar.cs -* ImageList.cs -* KeyPressEventHandler.cs -* Label.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* ListBox.cs -* ListControl.cs -* ListView.cs -* logfile.txt -* MainMenu.cs -* Menu.cs -* MenuItem.cs -* MonthCalendar.cs -* NotifyIcon.cs -* OpenFileDialog.cs -* PageSetupDialog.cs -* Panel.cs -* PrintDialog.cs -* PropertyManager.cs -* RadioButton.cs -* RichTextBox.cs -* SaveFileDialog.cs -* ScrollableControl.cs -* ScrollBar.cs -* Splitter.cs -* StatusBar.cs -* StatusBarPanel.cs -* TabControl.cs -* TabPage.cs -* TextBox.cs -* TextBoxBase.cs -* ThreadExceptionDialog.cs -* Timer.cs -* ToolBar.cs -* ToolBarButton.cs -* TrackBar.cs -* TreeView.cs -* UpDownBase.cs -* VScrollBar.cs -* Uncommented stuff, re-commented stuff, adding usings, fixed minor syntax errors. - -2002-7-6 DennisHayes - -* DragEventArgs.cs -* PropertyValueChangedEventArgs.cs -* InputLanguageChangedEventArgs.cs -* added files - -2002-7-6 DennisHayes - -* ToolBarButtonClickEventArgs.cs -* UpDownEventArgs.cs -* PropertyValueChangedEventArgs.c -* Added new files - -2002-7-6 DennisHayes - -* AccessibleObject.cs -* AmbientProperties.cs -* Application.cs -* ApplicationContext.cs -* AxHost.cs -* BaseCollection.cs -* Binding.cs -* BindingContext.cs -* BindingManagerBase.cs -* BindingsCollection.cs -* CaptionButton.cs -* Clipboard.cs -* ColumnHeader.cs -* Control.cs -* ControlBindingsCollection.cs -* ControlPaint.cs -* CreateParams.cs -* CurrencyManager.cs -* Cursor.cs -* CursorConverter.cs -* Cursors.cs -* DataFormats.cs -* DataGridPreferredColumnWidthTypeConverter.cs -* DataGridTextBoxColumn.cs -* DataObject.cs -* DateBoldEventArgs.cs -* DateTimePicker.cs -* DomainUpDown.cs -* FeatureSupport.cs -* FontDialog.cs -* Form.cs -* GridColumnStylesCollection.cs -* GridItemCollection.cs -* GridTableStylesCollection.cs -* Help.cs -* IButtonControl.cs -* IFileReaderService.cs -* ImageIndexConverter.cs -* ImageListStreamer.cs -* IMessageFilter.cs -* InputLanguage.cs -* InputLanguageChangeEventArgs.cs -* InputLanguageCollection.cs -* ItemChangedEventArgs.cs -* KeyEventArgs.cs -* KeyPressEventArgs.cs -* KeysConverter.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* LinkLabelLinkClickedEventHandler.cs -* ListBindingConverter.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* logfile.txt -* MessageBox.cs -* NativeWindow.cs -* NumericUpDown.cs -* OpacityConverter.cs -* OSFeature.cs -* PaintEventArgs.cs -* PrintControllerWithStatusDialog.cs -* PropertyGrid.cs -* PropertyTabChangedEventArgs.cs -* PropertyTabChangedEventHandler.cs -* PropertyValueChangedEventArgs.cs -* Screen.cs -* ScrollEventArgs.cs -* SelectionRange.cs -* SelectionRangeConverter.cs -* SendKeys.cs -* SplitterEventArgs.cs -* StatusBarPanelClickEventArgs.cs -* StatusBarPanelCollection.cs -* SystemInformation.cs -* ToolBarButtonClickEventArgs.cs -* ToolTip.cs -* TreeNode.cs -* TreeNodeCollection.cs -* TreeNodeConverter.cs -* TreeViewCancelEventArgs.cs -* TreeViewImageIndexConverter.cs -* UICuesEventArgs.cs -* UpDownBase.cs -* UpDownEventArgs.cs -* UserControl.cs -* Added usings, corrected minor syntax errors, uncommented some stuff to flush out compile errors. - -2002-7-3 DennisHayes - -* AccessibleObject.cs -* Application.cs -* AxHost.cs -* Button.cs -* Control.cs -* Form.cs -* GridColumnStylesCollection.cs -* GridItemCollection.cs -* GridTableStylesCollection.cs -* ImageIndexConverter.cs -* ImageListStreamer.cs -* InputLanguageChangingEventArgs.cs -* KeysConverter.cs -* Label.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* ListBox.cs -* ListView.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* Menu.cs -* NumericUpDown.cs -* ScrollableControl.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanel.cs -* StatusBarPanelCollection.cs -* TabControl.cs -* TrackBar.cs -* TreeNodeCollection.cs -* added usings, minor syntax corrections. - -2002-7-3 DennisHayes -* checked in for Jaak Simm (jaaksimm@firm.ee) -* PrintPreviewControl.cs -* PrintPreviewDialog.cs -* ProgressBar.cs -* PropertyGrid.cs -* PropertyManager.cs -* PropertyTabChangedEventArgs.cs -* new files added - -2002-7-2 DennisHayes -* Application.cs -* ControlEventArgs.cs -* Form.cs -* merged changes made by miguel and hestilow in gkt# to system.windows.forms - -2002-7-2 DennisHayes -* Button.cs -* ButtonBase.cs -* ContainerControl.cs -* Label.cs -* ScrollableControl.cs -* Copied changes made by miguel and hestilow in gkt# to system.windows.forms - -2002-7-2 DennisHayes -* Checked in for Richard Baumann (biochem333@nyc.rr.com) -* DataGridTextBoxColumn.cs -* DataObject.cs -* DateBoldEventArgs.cs -* DateRangeEventArgs.cs -* DateTimePicker.cs -* DomainUpDown.cs -* DragEventArgs.cs -* DrawItemEventArgs.cs -* added new files - -2002-7-2 DennisHayes -* checked in for Jaak Simm (jaaksimm@firm.ee) -* DataFormats.cs -* DataGrid.cs -* DataGridBoolColumn.cs -* DataGridColumnStyle.cs -* DataGridPreferredColumnWidthTypeConverter.cs -* DataGridTableStyle.cs -* DataGridTextBox.cs -* new classes added - -2002-7-2 DennisHayes -* Checked in for Richard Baumann (biochem333@nyc.rr.com) -* StatusBar.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanel.cs -* StatusBarPanelClickEventArgs.cs -* SystemInformation.cs -* Minor changes by Rich B - -2002-7-1 DennisHayes - -* AccessibleObject.cs -* AmbientProperties.cs -* Application.cs -* ApplicationContext.cs -* ArrangeDirection.cs -* AxHost.cs BaseCollection.cs -* Binding.cs BindingContext.cs -* BindingManagerBase.cs -* BindingMemberInfo.cs -* BindingsCollection.cs -* Button.cs -* ButtonBase.cs -* CheckBox.cs -* CheckedListBox.cs -* Clipboard.cs -* ColorDialog.cs -* ColumnClickEventArgs.cs -* ColumnClickEventHandler.cs -* ColumnHeader.cs -* ComboBox.cs -* CommonDialog.cs -* ComVisible.cs -* ContainerControl.cs -* ContentsResizedEventArgs.cs -* ContextMenu.cs -* Control.cs -* ControlBindingsCollection.cs -* ControlEventArgs.cs -* ControlPaint.cs -* ConvertEventArgs.cs -* CreateParams.cs -* CurrencyManager.cs -* Cursor.cs -* CursorConverter.cs -* Cursors.cs -* ErrorProvider.cs -* FeatureSupport.cs -* FileDialog.cs -* Form.cs -* GiveFeedbackEventArgs.cs -* GridColumnStylesCollection.cs -* GridItem.cs -* GridItemCollection.cs -* GridTableStylesCollection.cs -* GroupBox.cs -* Help.cs -* HelpEventArgs.cs -* HelpProvider.cs -* HScrollBar.cs -* ImageIndexConverter.cs -* ImageList.cs -* ImageListStreamer.cs -* InputLanguage.cs -* InputLanguageChangedEventArgs.cs -* InputLanguageChangingEventArgs.cs -* InputLanguageCollection.cs -* InvalidateEventArgs.cs -* ItemChangedEventArgs.cs -* ItemCheckEventArgs.cs -* ItemDragEventArgs.cs -* IWin32Window.cs -* KeyEventArgs.cs -* KeyPressEventArgs.cs -* KeysConverter.cs -* Label.cs -* LabelEditEventArgs.cs -* LabelEditEventHandler.cs -* LayoutEventArgs.cs -* LinkClickedEventArgs.cs -* LinkLabel.cs -* LinkLabelLinkClickedEventArgs.cs -* ListBindingConverter.cs -* ListBox.cs -* ListControl.cs -* ListView.cs -* ListViewItem.cs -* ListViewItemConverter.cs -* MainMenu.cs -* MeasureItemEventArgs.cs -* Menu.cs MenuItem.cs -* Message.cs -* MessageBox.cs -* MonthCalendar.cs -* MouseEventArgs.cs -* NativeWindow.cs -* NavigateEventArgs.cs -* NodeLabelEditEventArgs.cs -* NotifyIcon.cs -* NumericUpDown.cs -* OpacityConverter.cs -* OpenFileDialog.cs -* OSFeature.cs -* PageSetupDialog.cs -* PaintEventArgs.cs -* Panel.cs -* PrintControllerWithStatusDialog.cs -* PrintDialog.cs -* QueryAccessibilityHelpEventArgs.cs -* QueryContinueDragEventArgs.cs -* RadioButton.cs -* RichTextBox.cs -* SaveFileDialog.cs -* Screen.cs -* ScrollableControl.cs -* ScrollBar.cs -* ScrollEventArgs.cs -* SelectedGridItemChangedEventArgs.cs -* SelectionRange.cs -* SelectionRangeConverter.cs -* SendKeys.cs -* Splitter.cs -* SplitterEventArgs.cs -* StatusBar.cs -* StatusBarDrawItemEventArgs.cs -* StatusBarPanel.cs -* StatusBarPanelClickEventArgs.cs -* StatusBarPanelCollection.cs -* SystemInformation.cs -* TabControl.cs -* TabPage.cs -* TextBox.cs -* TextBoxBase.cs -* ThreadExceptionDialog.cs -* Timer.cs -* ToolBar.cs -* ToolBarButton.cs -* TrackBar.cs -* TreeNode.cs -* TreeNodeCollection.cs -* TreeNodeConverter.cs -* TreeView.cs -* TreeViewCancelEventArgs.cs -* TreeViewEventArgs.cs -* TreeViewImageIndexConverter.cs -* UICuesEventArgs.cs -* UserControl.cs -* VScrollBar.cs -* Implmented some stuff, fixed some stuff, monostyled some stuff, uncommented-out some stuff. - - -2002-7-1 DennisHayes -* changelog -* reversed order, putting most recent entries at the top - -2002-6-24 DennisHayes -* AccessibleStates.cs -* ArrangeDirection.cs -* AccessibleEvents.cs -* Added values for enums - -2002-6-24 DennisHayes -* BindingMemberInfo.cs -* CaptionButton.cs -* DataGridCell.cs -* Message.cs -* MessageBox.cs -* Fixed bugs preventing compile - -2002-6-18 DennisHayes -* checked in for Stefan Warnke (StefanW@POBox.com) -* UICuesEventArgs.cs -* UpDownBase.cs -* Better comments and formatting - -2002-6-18 DennisHayes -* Checked in for Jackson Harper (jackson@latitudegeo.com) -* ToolBar.cs -* TabControl.cs -* TabPage.cs -* Added sub classes - -2002-6-5 DennisHayes -* TabControl.cs -* TabPage.cs -* TextBox.cs -* TextBoxBase.cs -* ThreadExceptionDialog.cs -* Timer.cs -* added new files for Jackson Harper (jackson@latitudegeo.com) -* needs to be mono styled, and may have other issues - -2002-6-5 DennisHayes -* ErrorProvider.cs -* PrintControllerWithStatusDialog.cs -* PrintDialog.cs -* added new files for paul - -2002-6-5 DennisHayes -* StatusBarDrawItemEventArgs.cs -* StatusBarPanel.cs -* StatusBarPanelClickEventArgs.cs -* StatusBarPanelCollection.cs -* SystemInformation.cs -* added new files for Richard Baumann (biochem333@nyc.rr.com) - -2002-6-5 DennisHayes -* removed, code moved to main class files, Form.cs, ImageList.cs, LinkLabel.cs, -* ListBox.cs, ListView.cs, ListViewItem.cs, Menu.cs, MonthCalendar.cs, ScrollableControl.cs -* Form.ControlCollectison.cs -* ImageList.ImageCollection.c -* LinkLabel.LinkCollection.cs -* ListBox.ObjectCollection.cs -* ListBox.SelectedIndexCollection.cs -* ListBox.SelectedObjectCollection.cs -* ListView.CheckedListViewItemCollection.cs -* ListView.CheckedIndexCollection.cs -* ListView.ColumnHeaderCollection.cs -* ListView.ListViewItemCollection.cs -* ListView.SelectedIndexCollection.cs -* ListView.SelectedListViewItemCollection.cs -* ListViewItem.ListViewSubItem.cs -* ListViewItem.ListViewSubItemCollection.cs -* Menu.MenuItemCollection.cs -* MonthCalendar.HitTestInfo.cs -* ScrollableControl.DockPaddingEdges.cs - -2002-6-5 DennisHayes -* Checked in for Jackson Harper (jackson@latitudegeo.com) -* ToolBar.cs -* ToolBarButton.cs -* ToolTip.cs -* TrackBar.cs -* TreeNode.cs -* TreeNodeCollection.cs -* TreeNodeConverter.cs -* TreeView.cs -* TreeViewCancelEventArgs.cs -* TreeViewEventArgs.cs -* TreeViewImageIndexConverter.cs -* Just stubbs -* New files added, work in progress cleanup and mono style needed. - -2002-6-5 DennisHayes -* checked in for Stefan Warnke (StefanW@POBox.com) -* UICuesEventArgs.cs -* UpDownBase.cs -* Just stubbs -* New files, work in progress, needs cleanup and mono style - - - -2002-5-31 DennisHayes -* ItemChangedEventHandler.cs -* InvalidateEventHandler.cs -* ItemChangedEventHandler.cs -* added new files - -2002-5-31 DennisHayes - Check in for Paul Osman -* Panel.cs -* New class, Stubbed and commented out - -2002-5-31 DennisHayes - Check in for Paul Osman -* MonthCalendar.cs -* MonthCalendar.HitTestInfo.cs -* MouseEventArgs.cs -* NativeWindow.cs -* Removed trash byte - -2002-5-31 DennisHayes -* ColumnClickEventArgs.cs -* Fully implmented. - -2002-5-31 DennisHayes -* Minor formating in lots of files - - -2002-5-27 DennisHayes -Added structs. All structs in System.Windows.Forms done -* BindingMemberInfo.cs -* DataGridCell.cs -* LinkArea.cs -* Message.cs -* Complete execpt for Message.cs GetLParam -* and -* BindingMemberInfo needs constructor. -* All need verification of hashcodes. - -2002-5-27 DennisHayes -Added delegates. All delegates in System.Windows.Forms done -* ColumnClickEventHandler.cs -* ContentsResizedEventHandler.cs -* ControlEventHandler.cs -* ConvertEventHandler.cs -* DateRangeEventHandler.cs -* DragEventHandler.cs -* DrawItemEventHandler.cs -* GiveFeedbackEventHandler.cs -* HelpEventHandler.cs -* InputLanguageChangedEventHandler.cs -* InputLanguageChangingEventHandler.cs -* InvalidateEventHandler.cs -* ItemChangedEventHandler.cs -* ItemCheckEventHandler.cs -* ItemDragEventHandler.cs -* KeyEventHandler.cs -* LabelEditEventHandler.cs -* LayoutEventHandler.cs -* LinkClickedEventHandler.cs -* LinkLabelLinkClickedEventHandler.cs - -2002-5-27 DennisHayes - Check in for Paul Osman -* NumericUpDown.cs -* OpacityConverter.cs -* OpenFileDialog.cs -* OSFeature.cs -* PageSetupDialog.cs -* PaintEventArgs.cs -* MonthCalendar.HitTestInfo.cs -* MouseEventArgs.cs -* NativeWindow.cs -* Stubbed and commented out -* NativeWindow.cs, MonthCalendar.HitTestInfo.cs, MouseEventArgs.cs, -* have bad extra byte from old skeleton, need new corrected version. - -* MonthCalendar.HitTestInfo.cs needs to be incorporated into MonthCalendar. - -2002-5-27 DennisHayes - Check in for Paul Osman -* Menu.cs -* Menu.MenuItemCollection.cs -* MenuItem.cs -* MessageBox.cs -* MonthCalendar.cs -* Stubbed and commented out -* MonthCalendar.cs has bad extra byte from old skeleton, need new corrected version. -* MonthCalendar.HitTestInfo.cs needs to be incorporated into MonthCalendar. -* Menu.MenuItemCollection.cs needs to be incorporated into Menu.cs. - -2002-5-27 DennisHayes - Check in for Paul Osman -* Panel.cs -* New class, Stubbed and commented out - -2002-5-10 Dennis Hayes -* added IMessageFilter -* Interfaces complete - - 2002-5-8 Dennis Hayes -* RichTextBoxFinds.cs -* RichTextBoxScrollBars.cs -* RichTextBoxSelectionAttribute.cs -* RichTextBoxSelectionTypes.cs -* RichTextBoxStreamType.cs -* RichTextBoxWordPunctuations.cs -* RightToLeft.cs -* ScrollBars.cs -* ScrollButton.cs -* ScrollEventType.cs -* SecurityIDType.cs -* SelectionMode.cs -* Shortcut.cs -* SizeGripStyle.cs -* SortOrder.cs -* StatusBarPanelAutoSize.cs -* StatusBarPanelBorderStyle.cs -* StatusBarPanelStyle.cs -* StructFormat.cs -* TabAlignment.cs -* TabAppearance.cs -* TabDrawMode.cs -* TabSizeMode.cs -* TickStyle.cs -* ToolBarAppearance.cs -* ToolBarButtonStyle.cs -* ToolBarTextAlign.cs -* TreeViewAction.cs -* UICues.cs -* View.cs -* Added enums. -* All System.Windows.Forms enums complete with correct values. - 2002-5-8 Dennis Hayes -Dennis Hayes -Checking in new System.Windows.forms classes (a* to c*) for -Jaak Simm -* AmbientProperties.cs -* Application.cs -* ApplicationContext.cs -* AxHost.cs -* BaseCollection.cs -* Binding.cs -* BindingContext.cs -* BindingManagerBase.cs -* BindingsCollection.cs -* Button.cs -* ButtonBase.cs -* CheckBox.cs -* CheckedListBox.cs -* Clipboard.cs -* ColorDialog.cs -* ColumnClickEventArgs.cs -* ColumnHeader.cs -* ComboBox.cs -* CommonDialog.cs -* ContainerControl.cs -* ContentsResizedEventArgs.cs -* ContextMenu.cs -* Control.cs -* ControlBindingsCollection.cs -* ControlEventArgs.cs -* ControlPaint.cs -* ConvertEventArgs.cs -* CreateParams.cs -* CurrencyManager.cs -* Cursor.cs -* CursorConverter.cs -* Cursors.cs -* Classes stubbed and commented out. - - 2002-5-8 Dennis Hayes -Dennis Hayes -Checking in new System.Windows.forms classe for John Rebbeck - -* UserControl.cs -Stubbed and commented out - - 2002-5-8 Dennis Hayes -Dennis Hayes -Checking in new System.Windows.forms classe for Paul Osman - -* NavigateEventArgs.cs -* NodeLabelEditEventArgs.cs -* NotifyIcon.cs -Stubbed and commented out - -2002-05-07 Daniel Carrera (dcarrera@math.utoronto.ca) -* Fixed a problem with an "extra byte" problem. It caused an extra '?' - at the beginning of some lines. - Classes F-L and Q-R were updated. -* Added the classes SaveFileDialog.cs and Screen.cs - -2002-5-7 Dennis Hayes -* Added duplicate values -* System.Windows.Forms.Keys.cs - -2002-5-7 Dennis Hayes -* LeftRightAlignment.cs -* LinkBehavior.cs -* LinkState.cs -* ListViewAlignment.cs -* MdiLayout.cs -* MenuGlyph.cs -* MenuMerge.cs -* MessageBoxButtons.cs -* MessageBoxDefaultButton.cs -* MessageBoxIcon.cs -* MessageBoxOptions.cs -* MouseButtons.cs -* Orientation.cs -* PictureBoxSizeMode.cs -* PropertySort.cs -* Added some more enums. All have correct values. - -* 5-5-2002 Dennis Hayes -* Added enums -* GridItemType.cs -* HelpNavigator.cs -* HorizontalAlignment.cs -* ImeMode.cs -* ItemActivation.cs -* ItemBoundsPortion.cs -* Keys.cs -* All correct execpt for Keys.cs which is missing a half dozen -* duplicate entries that need correcting. - -2002-05-02 Daniel Carrera (dcarrera@math.utoronto.ca) -* small update to classes [F-H]* -* added stubbed and commented out classes for [I-L]* -* added stubbed and commented out classes for R* -2002-4-23 Dennis Hayes - - * AccessibleNavigation.cs :added to cvs with bad enum values, I will correct. - * AccessibleSelection.cs :added with good enum values. - * ContentsResizedEventHandler.cs :Added delagate - * MainMenu.cs - * AccessibleObject.cs - * MeasureItemEventArgs :added stubbed classes. Commented out. - * IButtonControl.cs : Added interface. -2002-4-23 Dennis Hayes -* added stubbed and commented out classes from F to G * - - -2002-04-10 Duncan Mak - - * CaptionButton.cs: - * CharacterCasing.cs: - * CheckState.cs: - * DataGridParentRowsLabelStyle.cs: - * DialogResult.cs: - * DockStyle.cs: - * DragAction.cs: - * DragDropEffects.cs: - * DrawItemState.cs: - * DrawMode.cs: - * ErrorBlinkStyle.cs: - * ErrorIconAlignment.cs: - * FlatStyle.cs: - * FormBorderStyle.cs: - * FormStartPosition.cs: - * FormWindowState.cs: - * FrameStyle.cs: Fixed enum layouts with EnumCheck. + * 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 + + * 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