* Form.cs: remove the try-catch's around calls to GetWindowState.
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index fb1a3e1f57ea19dd75ce8b9ad137c1555897e90a..0cbe9de68df14db60f584626adfa84fa5a771838 100644 (file)
@@ -1,3 +1,341 @@
+2006-10-29  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs: If a gnome icon doesn't exist add a default icon.
+
+2006-10-28  Alexander Olk  <alex.olk@googlemail.com>
+
+       * ThemeClearlooks.cs: A little speedup.
+
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * Control.cs: implement Control.FromChildHandle in a way that
+       matches the docs (and fixes the failed test.)
+
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * DataGridTableStyle.cs: reproduce buggy MS behavior (with
+       comments).
+
+       * DataGrid.cs: implement ResetForeColor such that the tests
+       succeed.
+       
+2006-10-27  Chris Toshok  <toshok@ximian.com>
+
+       * ToolBarButton.cs: setting text/tooltiptext to null results in it
+       being set to "".  Fixes bug #79759.
+
+2006-10-27  Jackson Harper  <jackson@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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 <RKvinge@novell.com>
+       * 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 <calberto.cortez@gmail.com>
+
+       * PageSetupDialog.cs: Clean some code, fix some bits, 
+       add some checks, and add a printer sub-dialog.
+
+2006-10-26  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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 <shana.ufie@gmail.com>
+
+       * CheckedListBox.cs: nunit no longer crashes when selecting 
+       Project/Edit menu option
+       
+2006-10-25  Andreia Gaita <shana.ufie@gmail.com>
+
+       * MenuAPI.cs: prevent ExecFocusedItem from blowing up if there
+       is no menu selected. fixes #79739
+
+2006-10-25  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <mkestner@novell.com>
+
+       * MenuAPI.cs : set the ActiveTracker for MainMenu non-popup 
+       clicks too.  Fixes #79725.
+
+2006-10-24  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <alex.olk@googlemail.com>
+
+       * MimeIcon.cs, Mime.cs:
+         Fallback to the default platform handler if no shared mime info
+         stuff exists (fixes #79693).
+
+2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
+       * ContainerControl.cs: Incorrect contains check in ActiveControl 
+       from previous fix (duh).
+
+2006-10-20  Chris Toshok  <toshok@ximian.com>
+
+       * PropertyGridView.cs: the dropdown should be MIN(number of items
+       in list, 15).  Fixes #79551.
+
+2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
+       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  <toshok@ximian.com>
+
+       * 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  <mkestner@novell.com>
+
+       * 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  <mkestner@novell.com>
+
+       * ListBox.cs : don't update the VScrollbar if the list is empty,
+       just hide it.  [Fixes #79692]
+
+2006-10-20  Jackson Harper  <jackson@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <toshok@ximian.com>
+
+       * 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  <rolfkvinge@ya.com>
+       * ThemeWin32Classic.cs: changed drawing of selected days
+       to make them look better.
+
+2006-10-16  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <alex.olk@googlemail.com>
 
        * FileDialog.cs: Don't call on_directory_changed inside