In .:
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
index 1ab0fd9e3226b12ff67222b346ed50f19cd6abd7..be2ed4a71afa5f2aa8ca721bb2763123e77481d5 100644 (file)
@@ -1,3 +1,172 @@
+2006-06-20  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <pbartok@novell.com> 
+
+       * 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  <pbartok@novell.com> 
+
+       * 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 <gonzalo@ximian.com>
+
+       * ImageListStreamer.cs: correctly generate the 1bpp mask for images
+       whose width is not a multiple of 8.
+
+2006-06-13  Jackson Harper  <jackson@ximian.com>
+
+       * MdiClient.cs:  Only maximize the next child if the current one
+       is maximized.
+
+2006-06-13  Chris Toshok  <toshok@ximian.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <jackson@ximian.com>
+
+       * 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  <atsushi@ximian.com>
+
+       * ProgressBar.cs : PerformStep() shouldn't exceed Maximum.
+         Fixed bug #78609.
+
 2006-06-12  Jackson Harper  <jackson@ximian.com>
 
        * KeysConverter.cs: Make sure we handle the Ctrl special case