2006-03-21 Peter Dennis Bartok <pbartok@novell.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 6287ebc3a6dad66b2f313ef881e29ab4893b9202..3d2207a95d21747c1823adf2eae3ee0a14e7e566 100644 (file)
@@ -1,3 +1,293 @@
+2006-03-21  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <mkestner@novell.com>
+
+       * ListView.cs: use OnItemActivated to raise events. Fixes #77834.
+
+2006-03-21  Alexander Olk  <alex.olk@googlemail.com>
+
+       * Mime.cs: Various speed optimizations. Looking up mime types
+         is now 2 times faster than before
+
+2006-03-17  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * 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  <pbartok@novell.com>
+
+       * 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  <jackson@ximian.com>
+
+       * KeyboardLayouts.cs: Add the czech layouts.
+
+2006-03-16  Jackson Harper  <jackson@ximian.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <pbartok@novell.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <mkestner@novell.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <mkestner@novell.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * Control.cs (BringToFront, SendToBack): Don't use window or handle
+         unless it's created
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * 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  <mkestner@novell.com>
+
+       * 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  <alex.olk@googlemail.com>
+
+       * FileDialog.cs: Do not select an item in the parent directory
+         on backspace
+
+2006-03-14  Peter Dennis Bartok  <pbartok@novell.com> 
+
+       * 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  <pbartok@novell.com>
+
+       * 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  <pbartok@novell.com>
+
+       * 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  <mkestner@novell.com>
+
+       * ListView.cs: fix breakage in drag shadow header positioning 
+       from Peter's csc compilation fix.
+
+2006-03-13  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: fix NRE produced by backspacing twice in a focused
+       FileDialog.
+
+2006-03-13  Mike Kestner  <mkestner@novell.com>
+
+       * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
+
+2006-03-13  Peter Dennis Bartok  <pbartok@novell.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <pbartok@novell.com>
+
+       * 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  <jackson@ximian.com>
+
+       * MdiWindowManager.cs: Use the system menu height. Fixes some
+       strange sizing issues.
+
 2006-03-12  Peter Dennis Bartok  <pbartok@novell.com>
 
        * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
        * AxHost.cs: Added deserialization constructor for 
          AxHost+State (fixes 77743)
 
->>>>>>> .r57770
 2006-03-09  Mike Kestner  <mkestner@novell.com>
 
        * ListView.cs: