+2006-03-30 Alexander Olk <alex.olk@googlemail.com>
+
+ * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border
+ code
+
+2006-03-30 Alexander Olk <alex.olk@googlemail.com>
+
+ * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and
+ highlighted menu items to match ms
+
+2006-03-30 Peter Dennis Bartok <pbartok@novell.com>
+
+ * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty
+
+2006-03-30 Mike Kestner <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw.
+
+2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
+
+ * PrintPreviewDialog.cs: Implemented missing methods and events; still
+ missing proper dialog setup in the constructor
+
+2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * *.cs: fix remaining corcompare issues for 1.1 API with the exception
+ of PrintPreviewDialog and RichTextBox.
+
+2006-03-29 Alexander Olk <alex.olk@googlemail.com>
+
+ * 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 <alex.olk@googlemail.com>
+
+ * ColorDialog.cs: Return selected color. Fixes bug #77940.
+
+2006-03-28 Mike Kestner <mkestner@novell.com>
+
+ * ListView.cs: fix Icon layout to plan for scrollbar widths when
+ calculating col/row counts.
+
+2006-03-28 Mike Kestner <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * MainMenu.cs:
+ * Menu.cs:
+ add a few missing methods from the class status output.
+
+2006-03-28 Alexander Olk <alex.olk@googlemail.com>
+
+ * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now
+ correct.
+
+2006-03-28 Mike Kestner <mkestner@novell.com>
+
+ * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917.
+
+2006-03-27 Mike Kestner <mkestner@novell.com>
+
+ * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for
+ the Hilight state to adapt to Alex's CPDrawBorder3D changes.
+
+2006-03-27 Alexander Olk <alex.olk@googlemail.com>
+
+ * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms.
+
+2006-03-25 Alexander Olk <alex.olk@googlemail.com>
+
+ * 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 <alex.olk@googlemail.com>
+
+ * ControlPaint.cs: Corrected line widths in DrawBorder for
+ ButtonBorderStyle Inset and Outset
+
+2006-03-25 Alexander Olk <alex.olk@googlemail.com>
+
+ * 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 <alex.olk@googlemail.com>
+
+ * ThemeWin32Classic.cs: First small part of the "de-uglify
+ ThemeWin32Classic" effort, SizeGrip
+
+2006-03-24 Jackson Harper <jackson@ximian.com>
+
+ * 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 <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * ListView.cs: Scroll wheel support for the item control. Fixes
+ #77839.
+
+2006-03-23 Jackson Harper <jackson@ximian.com>
+
+ * 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 <mkestner@novell.com>
+
+ * ThemeWin32Classic.cs: fix FullRowSelect selection background and
+ focus rectangle drawing. Fixes #77835.
+
+2006-03-23 Mike Kestner <mkestner@novell.com>
+
+ * 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 <alex.olk@googlemail.com>
+
+ * FontDialog.cs: Update the example panel if the selected index of
+ the fontListBox changes.
+
+2006-03-23 Alexander Olk <alex.olk@googlemail.com>
+
+ * FileDialog.cs: Make FileDialog remember which directory it was in
+ last in the same execution.
+
+2006-03-22 Mike Kestner <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * MenuAPI.cs: only process Enter and arrow keypresses if the tracker
+ is active. Fixes #77870.
+
+2006-03-22 Alexander Olk <alex.olk@googlemail.com>
+
+ * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox
+ to be focused/selected after startup
+
+2006-03-22 Alexander Olk <alex.olk@googlemail.com>
+
+ * 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 <mkestner@novell.com>
+
+ * ListView.cs: hook into Peter's new ResetMouseHover capability to fix
+ HoverSelection. Fixes #77836.
+
+2006-03-22 Mike Kestner <mkestner@novell.com>
+
+ * 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 <jackson@ximian.com>
+
+ * 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 <pbartok@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * 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 <mkestner@novell.com>
+
+ * ContextMenu.cs (Show): use the position parameter instead of just
+ showing at the MousePosition.
+
+>>>>>>> .r58288
+2006-03-21 Jackson Harper <jackson@ximian.com>
+
+ * 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 <jackson@ximian.com>
+
+ * 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 <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>