diff options
Diffstat (limited to 'mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog')
-rw-r--r-- | mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog | 10522 |
1 files changed, 10522 insertions, 0 deletions
diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog new file mode 100644 index 00000000000..22c5e828061 --- /dev/null +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog @@ -0,0 +1,10522 @@ +2006-01-19 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox + +2006-01-19 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Label.cs: A label by default is not a tabstop (Fixes one of our + failing nunit tests) + +2006-01-18 Peter Dennis Bartok <pbartok@novell.com> + + * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282 + * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282 + +2006-01-18 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeGtk.cs: Simplify ScrollBar drawing + +2006-01-18 Jackson Harper <jackson@ximian.com> + + * Splitter.cs: Set the default dock style for the splitter control + in the constructor. + +2006-01-18 Alexander Olk <alex.olk@googlemail.com> + + * ThemeGtk.cs: Corrected StateType and ShadowType for + gtk_paint_box + +2006-01-18 Alexander Olk <alex.olk@googlemail.com> + + * Control.cs: Make use of Theme.DoubleBufferingSupported + * ThemeGtk.cs: + - Added drawing for flat style buttons + - Added ScrollBar drawing + +2006-01-18 Alexander Olk <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Removed some unneeded code. + * ThemeGtk.cs: First part of ThemeGtk enhancements. + +2006-01-17 Peter Dennis Bartok <pbartok@novell.com> + + * LinkLabel.cs: We need to update the hover drawing when + leaving the control as well. + +2006-01-18 Jordi Mas i Hernandez <jordimash@gmail.com> + + * DataGrid.cs: Clicking on non empty areas in the columns + area was giving an exception + +2006-01-17 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: + * ListView.cs: Do not draw/clip the headers when the header style + is None. + +2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com> + + * DataGrid.cs: Fixes 77260 + +2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com> + + * DataGrid.cs: Clicking on a column on a empty grid was giving + an exception + +2006-01-17 Peter Dennis Bartok <pbartok@novell.com> + + * DataGrid.cs (OnKeyDown): Don't use the array if it's empty + or any keypress will crash the grid. + +2006-01-17 Mike Kestner <mkestner@novell.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * FileDialog.cs: Don't crash if InitialDirectory doesn't exist + +2006-01-13 Alexander Olk <alex.olk@googlemail.com> + + * 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 <mkestner@novell.com> + + * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern. + +2006-01-13 Jackson Harper <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <pbartok@novell.com> + + * TextControl.cs: Draw text in gray if control is disabled + +2006-01-13 Peter Dennis Bartok <pbartok@novell.com> + + * TreeView.cs: Draw the focus rectangle outside the highlight, to + make sure it's always visible. Fixes #76680. + +2006-01-13 Peter Dennis Bartok <pbartok@novell.com> + + * TreeView.cs: Implemented Wheel scrolling. Fixes #76531 + +2006-01-13 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PageSetupDialog.cs: Added. + * PrintDialog.cs: Attributes. + * PrintPreviewControl.cs: Updates. + * PrintPreviewDialog.cs: Updates. + +2006-01-12 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null. + +2006-01-12 Alexander Olk <alex.olk@googlemail.com> + + * 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 <miguel@novell.com> + + 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <miguel@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Allow setting SelectedNode to null. + +2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com> + + * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows. + +2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PrintControllerWithStatusDialog.cs: Update page number in dialog. + +2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PrintDialog.cs: Added attributes and set default property values. + +2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PrintControllerWithStatusDialog.cs: + Added PrintControllerWithStatusDialog. + +2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com> + + * 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 <jonathan.chambers@ansys.com> + + * ComboBox.cs: Fix crash when there is no selected item (due to last commit) + +2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com> + + * 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 <alex.olk@googlemail.com> + + * MimeIcon.cs: Added internal class SVGUtil. + +2006-01-08 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: Don't crash if there are two files with the + same name but different locations. + +2006-01-08 John BouAntoun <jba-mono@optusnet.com.au> + + * 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 <jackson@ximian.com> + + * 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 <jba-mono@optusnet.com.au> + + * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen + object for location info since screen object is now implemented. + +2006-01-05 Jackson Harper <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families + returns two FontFamily with the same name + +2006-01-04 Peter Dennis Bartok <pbartok@novell.com> + + * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of + drawing disabled text. Instead using the ColorGrayText color + +2006-01-04 Jackson Harper <jackson@ximian.com> + + * TreeNode.cs: redraw the node when its image index is changed. + +2006-01-04 Peter Dennis Bartok <pbartok@novell.com> + + * RichTextBox.cs: Same fix as last, just for SelectionColor. This + time I checked there are no others like it. + +2006-01-04 Jackson Harper <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <alex.olk@googlemail.com> + + * Theme.cs: Cache UI resource images and resize them if needed + +2006-01-03 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * FileDialog.cs: + - Removed some dead code + - Opening a recently used file does work now + - Small UI enhancements + - Refactoring + +2006-01-02 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: Forgot too add __MonoCS__ + +2006-01-02 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: We are able to read recently used files now let's + go on and write them. + +2006-01-01 Alexander Olk <alex.olk@googlemail.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * ComboBox.cs: The internal TextBox now returns the focus. + +2005-12-23 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Draw the text for all tab appearances. + +2005-12-23 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: Removed debug code + * XplatUIX11.cs: Changed DestroyChildWindows to also consider + implicit children + +2005-12-23 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * RichTextBox.cs: Set default RTF font for documents that don't + have a font table (Fixes #77076) + +2005-12-22 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings, + will always match. Instead return -1. Fixes #76464. + +2005-12-21 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * ColorDialog.cs: Fixed focus drawing in small color controls + +2005-12-19 Jackson Harper <jackson@ximian.com> + + * InternalWindowManager.cs: + * MdiWindowManager.cs: Cleanup some coordinate system changes so + moving windows works properly. + +2005-12-19 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Corrected distance between ProgressBar + stripes + +2005-12-18 Alexander Olk <alex.olk@googlemail.com> + + * 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 <pbartok@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Updated TrackBar drawing. + +2005-12-17 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: Patch for #76901 by Atsushi Enomoto + +2005-12-17 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: Add the Help button and the open readonly + checkbox only if needed + +2005-12-16 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * InternalWindowManager.cs: Don't translate tool windows screen + coordinates. This fixes windows 'bouncing' around when being moved. + +2005-12-15 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * XplatUIX11.cs: Tool windows still need to respek focus. + +2005-12-14 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: Undid 54254 (causing XConfigure errors) so we can + have a working release + +2005-12-13 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Control.cs: Updates so we match behavoir for for implicit + controls. Fixes explosions in MDI. + +2005-12-12 Jackson Harper <jackson@ximian.com> + + * Control.cs: Implement Invalidate (Region). + +2005-12-12 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Form.cs: Removed commented out code + +2005-12-08 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Control.cs(PreProcessMessage): Removed special menu handling + * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes. + +2005-12-07 Mike Kestner <mkestner@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * MdiChildContext.cs: reenable the sizing code. + - When the mouse leaves a window reset its cursor. + +2005-12-07 Alexander Olk <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Reflect latest Hwnd changes + +2005-12-07 Peter Dennis Bartok <pbartok@novell.com> + + * Hwnd.cs: Now using the theme 3d bordersize to calculate + widths of Fixed3D borders + +2005-12-07 Jackson Harper <jackson@ximian.com> + + * MdiClient.cs: Fix warnings. Earn Mike's love. + +2005-12-07 Alexander Olk <alex.olk@googlemail.com> + + * 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 <pbartok@novell.com> + + * XplatUIX11.cs: Added call to XBell for AudibleAlert + +2005-12-06 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Control.cs: Fix behaviour problems pointed out by Mike + +2005-12-05 Mike Kestner <mkestner@novell.com> + + * 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 <pbartok@novell.com> + + * RichTextBox.cs: Implemented get_SelectionColor + +2005-12-05 Alexander Olk <alex.olk@googlemail.com> + + * 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 <mkestner@novell.com> + + * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value. + * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod. + +2005-12-04 Alexander Olk <alex.olk@googlemail.com> + + * ThemeClearlooks.cs: Initial check-in, activate with + export MONO_THEME=clearlooks + * ThemeEngine.cs: Added ThemeClearlooks + +2005-12-03 Mike Kestner <mkestner@novell.com> + + * MenuAPI.cs: deactivate menus prior to calling item.PerformClick. + [Fixes #76897] + +2005-12-02 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * ListBox.cs: Check if any items exist before trying to resolve + coordinates into items + +2005-12-02 Peter Dennis Bartok <pbartok@novell.com> + + * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white + as the second color for the background hatch + +2005-12-02 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <miguel@novell.com> + + * NumericUpDown.cs (EndInit): When we are done initializing, + reflect any updates on the UI. + +2005-12-02 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so + that arrows can be scaled. + +2005-12-01 Jackson Harper <jackson@ximian.com> + + * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to + fail. Patch by Dieter Bremes + +2005-11-30 Jackson Harper <jackson@ximian.com> + + * Form.cs: Property is 2.0 only + * PrintDialog.cs: Signature fix. + +2005-11-30 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <mkestner@novell.com> + + * Menu.cs: mark MenuChanged internal, since it's not exposed by MS. + +2005-11-30 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected + * ThemeNice.cs: Fix drawing of flatstyle radiobuttons + +2005-11-29 Jordi Mas i Hernandez <jordimash@gmail.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * MdiClient.cs: Pass some signature methods through to base. + +2005-11-28 Jackson Harper <jackson@ximian.com> + + * ListView.cs: Raise the click event when items are clicked. + +2005-11-28 Jackson Harper <jackson@ximian.com> + + * MdiClient.cs: Make this algorithm even more beautiful. And fix + a nullref. + +2005-11-27 Alexander Olk <alex.olk@googlemail.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeNice.cs: - Remove dead code + - use correct background colors for menus, etc. + - Fake pixel drawing with 1 pixel bitmaps + +2005-11-24 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * MdiChildContext.cs: Don't size windows if they are maximized. + +2005-11-23 Mike Kestner <mkestner@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Hwnd.cs: The adjustments for the menu bar are made when it is + attached to the form. + +2005-11-19 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT + (just like on windows). + +2005-11-19 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * XplatUIX11.cs: Just compute the mdi borders separately as they + don't totally match up with normal form borders. + +2005-11-18 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * MdiClient.cs: Fix typo so scrollbars show up correctly. + +2005-11-18 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <mkestner@novell.com> + + * Menu.cs: when adding an item to the collection, if item is already + parented, remove it from the parent. + +2005-11-13 Alexander Olk <alex.olk@googlemail.com> + + * X11DesktopColors.cs: Added KDE support + +2005-11-11 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pedromj@gmail.com> + + * 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 <pbartok@novell.com> + + * 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 <kornelpal@hotmail.com> + + * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't + endian safe. + +2005-11-07 Jackson Harper <jackson@ximian.com> + + * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly. + +2005-11-07 Jackson Harper <jackson@ximian.com> + + * ScrollableControl.cs: Calculate the maximum and change vars + (more) correctly so that scrollbars appear as a sensible size. + +2005-11-04 Jackson Harper <jackson@ximian.com> + + * 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 <jordimash@gmail.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: Implement the remove method. Fix some broken + comments. + +2005-11-03 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * GridItemCollection.cs: Fix signatures + +2005-11-03 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * Menu.cs: + * MainMenu.cs: + * GridTableStylesCollection.cs: + * Timer.cs: + * TabPage.cs: + * HelpProvider.cs: + * StatusBar.cs: + * MonthCalendar.cs: Signature fixes + +2005-11-03 Jackson Harper <jackson@ximian.com> + + * TreeNodeCollection.cs: Remove should not be virtual. + * TreeView.cs: Implement the last of the missing methods. + +2005-11-03 Jackson Harper <jackson@ximian.com> + + * TreeNodeConverter.cs: Implement to get off my class-status back. + +2005-11-03 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <miguel@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jmas@softcatala.org> + + * 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 <pbartok@novell.com> + + * 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 <mkestner@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Don't draw the selected node when we lose focus. + +2005-10-31 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas. + +2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com> + + * PictureBox.cs: Fixes 76512 + +2005-10-28 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING + clipboard requests + +2005-10-27 Jackson Harper <jackson@ximian.com> + + * TreeNode.cs: Implement serialization so my DnD examples will work. + +2005-10-24 Kornél Pál <kornelpal@hotmail.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <kornelpal@hotmail.com> + + * ImageList.cs: Dispose ImageAttributes objects. + +2005-10-22 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: Use attribute constructors with less arguments where + possible. + +2005-10-22 Kornél Pál <kornelpal@hotmail.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <kornelpal@hotmail.com> + + * 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 <jordi@ximian.com> + + * DataGrid.cs: Adds support for vertical scrolling using the mousewheel + +2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com> + + * Binding.cs: No PushData/PullData if there is no binding (fixes crash) + +2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com> + + * DataGridDrawingLogic.cs: Fixes column hit calcultation + * DataGridColumnStyle.cs: Remove debug message + +2005-10-20 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeNodeCollection.cs: Remove debug code. + +2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com> + + * Datagrid.cs: Implements column sorting in Datagrid + * DataGridColumnStyle.cs: Implements column sorting in Datagrid + +2005-10-20 Jackson Harper <jackson@ximian.com> + + * TreeNodeCollection.cs: Remove items properly. Update the correct + area after removing them. + +2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com> + + * Datagrid.cs: Should not call base.OnPaintBackground + +2005-10-20 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Splitter.cs: Properly set limits if no filler control is used + +2005-10-19 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * FolderBrowserDialog.cs: End editing our treeview so the window + actually gets refreshed. + +2005-10-18 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * MenuAPI.cs: Returns after Hidding window + * XplatUIX11.cs: Added TODO found while debugging menu issues + +2005-10-18 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeNodeCollection.cs: Insert is not supported on arrays, so + implement it manually here. + +2005-10-18 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Control.cs: Don't invalidate empty rectangles. + +2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * Label.cs: Dispose objects no longer used + * ThemeWin32Classic.cs: Dispose objects no longer used + +2005-10-18 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * XplatUIX11.cs: Compress code a little bit. Only calculate the + after handle when we need it. + +2005-10-17 Peter Dennis Bartok <pbartok@novell.com> + + * Control.cs: When the parent size changes, recalculate anchor + positions. Partial fix for #76462 + +2005-10-17 Peter Dennis Bartok <pbartok@novell.com> + + * ThemeWin32Classic.cs: Make sure the picturebox has it's background + drawn. Fixes #76462 + +2005-10-17 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Merge in patch by Rafael Teixeira to align strings + correctly. + +2005-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com> + * TreeNode.cs : small logical fix (was using local var instead of field) + +2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours + +2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons + +2005-10-16 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * Hwnd.cs: Compute invalid area correctly (fixes my last commit + which was broken). + +2005-10-16 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Remove debug code. + +2005-10-16 Jackson Harper <jackson@ximian.com> + + * 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 <mritvik@novell.com> + + * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox) + +2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com> + + * DataGridBoolColumn.cs: fixes warning + +2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <miguel@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jonathan.chambers@ansys.com> + + * PropertyGrids.cs: Get sub properties + * PropertyGridView.cs: Fix drawing code + +2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: Fixes 76383 + +2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: Fixes border drawing + +2005-10-10 Miguel de Icaza <miguel@novell.com> + + * MimeIcon.cs: Ignore errors if the file can not be read. + +2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Don't adjust the rect given to DrawString now that + our libgdiplus draws correctly. + +2005-10-08 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Don't try to find the clicked on node if there are + no nodes in the tree. + +2005-10-08 Alexander Olk <alex.olk@googlemail.com> + + * RichTextBox.cs: + + restore + +2005-10-08 Alexander Olk <alex.olk@googlemail.com> + + * 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 <jackson@ximian.com> + + * MdiChildContext.cs: Use the new borders instead of drawing them + ourselves. + +2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com> + + * Calling UpdateBounds after changing the window's BorderStyle + since the style can change the ClientSize + +2005-10-06 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * XplatUIX11.cs: A better DrawReversibleRectangle version, however + somewhat hackish looking + +2005-10-06 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * MdiChildContext.cs: Clear out the old virtual position remove + all the unneeded calls to CreateGraphics. + +2005-10-06 Peter Dennis Bartok <pbartok@novell.com> + + * TextControl.cs: Use proper color for highlighted text; fixes #76350 + +2005-10-06 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * MdiChildContext.cs: Use the new xplatui function to draw a + reversible rect. + +2005-10-06 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: There are no expand/collapse boxes if the node has + no children. + +2005-10-05 Jackson Harper <jackson@ximian.com> + + * X11DesktopColors.cs: Get menu colours for the gtk theme. + +2005-10-05 Alexander Olk <alex.olk@googlemail.com> + + * FileDialog.cs: Fix InitialDirectory + +2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: + - Fixes changing between styles + - Fixes simple mode + - Fixes last item crashing when navigating with keyboard + +2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com> + + * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label + +2005-10-05 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize() + in dispose method. Fixes #76330 + +2005-10-04 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <kornelpal@hotmail.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Form.cs: + * MdiChildContext.cs: + * MdiClient.cs: Implement ActiveMdiChild in Form. + +2005-10-01 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: Include ComboBoxEdit flag for the edit item + +2005-10-01 Peter Dennis Bartok <pbartok@novell.com> + + * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot + be found + +2005-09-30 Jackson Harper <jackson@ximian.com> + + * ListBox.cs: Don't do a full refresh unless some data has + actually changed. + +2005-09-30 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Make sure that the checkboxes size is factored in + even when not visible. + +2005-09-30 Peter Dennis Bartok <pbartok@novell.com> + + * FileDialog.cs: Fix Jordi's build break + +2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * X11DesktopColors.cs: Initial incomplete implementation + * XplatUIX11.cs: Added call to initialize X11DesktopColors + +2005-09-30 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <kornelpal@hotmail.com> + + * ImageList.cs: Add(Icon): Create handle. + +2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListView.cs: + * ThemeWin32Classic.cs: + - Fixes detail mode + - Sets clippings + - Issues with drawing + +2005-09-30 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: Moved RecreateHandle back to ImageList as event + source has to be the ImageList. + +2005-09-30 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap. + +2005-09-30 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: ReduceColorDepth: Clean up pointer operations. + +2005-09-30 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: ImageCollection: Removed owner field as it is no more used. + +2005-09-29 Jonathan Chambers <jonathan.chambers@ansys.com> + * GridItem.cs: Fixed TODOs + * GridItemCollection.cs: Added ICollection interface + +2005-09-30 Kornél Pál <kornelpal@hotmail.com> + + * ImageList.cs: Resize icons when needed. + +2005-09-29 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <harinath@gmail.com> + + * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring. + +2005-09-29 Kornél Pál <kornelpal@hotmail.com> + + * 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 <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <kornelpal@hotmail.com> + + * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap. + +2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: Fixes bug 76253 + +2005-09-28 Kornél Pál <kornelpal@hotmail.com> + + * 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 <kazuki@panicode.com> + + * ListBox.cs: Fixes IndexFromPoint for last item + +2005-09-27 Jackson Harper <jackson@ximian.com> + + * Form.cs: Set the position of new mdi children correctly. + +2005-09-27 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Form.cs (CreateParams): Setup MDI forms correctly. + +2005-09-27 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <drieseng@users.sourceforge.net> + + * 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 <jordi@ximian.com> + + * ListBox.cs: Fixes navigation to the last item in multicolumn lists + +2005-09-25 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Update the node bounds correctly regardless of + whether the node is visible. + +2005-09-25 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * ImageList.cs: Don't set the format when changing the image. + +2005-09-25 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Allow the scrollbars to be reset with negative + values. + - Don't add scrollbars to negative sized windows. + +2005-09-23 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Splitter.cs: Set the cursor an easier way. (Thanks peter). + +2005-09-22 Jackson Harper <jackson@ximian.com> + + * Splitter.cs: There are special cursors used for splitting. + * XplatUIX11.cs: The VSplit and HSplit cursors were backwards. + +2005-09-22 Jackson Harper <jackson@ximian.com> + + * 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 <hisham.mardambey@gmail.com> + + * Label.cs : Fix ToString method to give same output as MS.NET + +2005-09-22 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * MainMenu.cs: Fixes default value + * MenuItem.cs: Fixes default value + +2005-09-22 Kazuki Oikawa <kazuki@panicode.com> + + * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely. + +2005-09-21 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * Control.cs (Update): Don't call XplatUI if we don't have a + window handle yet + +2005-09-21 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TreeNode.cs: Call Before/After Expand not Collapse when + expanding. + +2005-09-20 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: Use the more hand looking hand (in most themes). + +2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListViewItem.cs: + - Fixes bug 76120 + - Fixes proper storing of subitems + - Fixes not updated items + +2005-09-20 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * MenuAPI.cs: Remove filtering of events to allow menu usage + +2005-09-20 Miguel de Icaza <miguel@novell.com> + + * Cursor.cs: Allow null to be passed to Cursor.Current. + +2005-09-20 Alexander Olk <alex.olk@googlemail.com> + + * 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 <miguel@novell.com> + + * Control.cs (ControlCollection.Add): If the value null is passed + the control is ignored. + + Optimize this loop. + +2005-09-19 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Application.cs: Our constructor will never get called, move + initialization to fields; fixes bug #75933 + +2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com> + + * 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 <jordi@ximian.com> + + * 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 <alex.olk@googlemail.com> + + * ComboBox.cs: Reverted almost everything from the latest patch which + broke ComboBox + +2005-09-16 Kazuki Oikawa <kazuki@panicode.com> + + * 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 <jordi@ximian.com> + + * CheckedListBox.cs: Fixes bug 76028 + * ListBox.cs: Fixes bug 76028 + +2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com> + + * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders + * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing + +2005-09-12 Jordi Mas i Hernandez <jordi@ximian.com> + + * XplatUIX11.cs: fixes System.NullReferenceException in some situations + +2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com> + + * IRootGridEntry.cs: Changed namespace to PropertyGridInternal + +2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com> + + * 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 <alex.olk@googlemail.com> + + * MimeIcon.cs: Try to check some other environment variables + if "DESKTOP_SESSION" returns "default" + +2005-09-09 Alexander Olk <alex.olk@googlemail.com> + + * ThemeNice.cs: Corrected background colors (e.g. menus) + * ColorDialog.cs: Use correct background colors for controls + +2005-09-09 Alexander Olk <alex.olk@googlemail.com> + + * ThemeNice.cs: Merged r49535 from ThemeWin32Classic + +2005-09-08 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jonathan.chambers@ansys.com> + + * PropertiesTab.cs : Added + +2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PropertyGrid.cs : Update + * PropertyGridView.cs : Update + * System.Windows.Forms.resx : Added images and strings + +2005-09-06 Peter Dennis Bartok <pbartok@novell.com> + + * ThemeNice.cs: Do not dispose Pens retrieved from ResPool + +2005-09-06 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ThemeWin32Classic.cs: Optimise the use of clipping + +2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com> + + * DataGrid.cs: fixes recursion bug + +2005-09-03 Alexander Olk <alex.olk@googlemail.com> + + * ThemeNice.cs: + - Draw RadioButton and CheckBox Buttons with DrawButtonBase + - Cleanup + +2005-09-02 Alexander Olk <alex.olk@googlemail.com> + + * ThemeNice.cs: Draw nice ProgressBars + +2005-09-01 Miguel de Icaza <miguel@novell.com> + + * 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 <alex.olk@googlemail.com> + + * ThemeNice.cs: + - Added nicer menu drawing + - Updated DrawTab + - some refactoring + +2005-08-30 Peter Dennis Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Form.cs: Added (non-functional) Opacity property + * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code + +2005-08-29 Alexander Olk <xenomorph2@onlinehome.de> + * 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 <jonathan.chambers@ansys.com> + + * Splitter.cs: Resize docked control and its neighbor. + +2005-08-24 Rafael Teixeira <rafaelteixeirabr@hotmail.com> + -- 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 <pbartok@novell.com> + + * Label.cs: Now properly recalculates width and height on Font and Text + changes if AutoSize is set + +2005-08-19 Rafael Teixeira <rafaelteixeirabr@hotmail.com> + * TreeView.cs : Revamped drawing logic, and support for FullRowSelect + +2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com> + + * ImageList.cs: Makes ToString method compatible with MS + +2005-08-18 Jordi Mas i Hernandez <jordi@ximian.com> + + * MenuAPI.cs: fixes bug 75716 + +2005-08-11 Umadevi S <sumadevi@novell.com> + * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null. + +2005-08-11 Umadevi S <sumadevi@novell.com> + * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly + +2005-08-10 Umadevi S <sumadevi@novell.com> + * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox + +2005-08-07 Jordi Mas i Hernandez <jordi@ximian.com> + + * Menu.cs: fixes bug 75700 + * MenuAPI.cs: fixes navigation issues + +2005-08-09 Umadevi S <sumadevi@novell.com> + * CheckedListBox.cs - simple fix for GetItemChecked. + +2005-08-08 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: Serveral fixes + * ListBox.cs: Serveral fixes + +2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: Fixes FindString methods and GetItemHeight + * ListBox.cs: Fixes FindString methods + +2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com> + + * DataGrid.cs: fixes bugs exposed by new tests + +2005-08-04 Peter Dennis Bartok <pbartok@novell.com> + + * Mime.cs: Compile Mono assembly references only if compiling + with Mono (Allows to build with VS.Net again) + +2005-07-28 Marek Safar <marek.safar@seznam.cz> + + * 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 <jordi@ximian.com> + + * 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 <xenomorph2@onlinehome.de> + + * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine) + * FileDialog.cs: FileDialog is now resizable and uses the new + MimeIconEngine + +2005-07-06 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <xenomorph2@onlinehome.de> + + * MimeGenerated.cs: Use case sensitive comparer for + NameValueCollections + +2005-07-01 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * TextControl.cs: Quick fix for the reported crash on ColorDialog + and other text box usage + +2005-07-01 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Make sure the bottom of the tab covers the pages + border. + +2005-06-30 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <bmaurer@ximian.com> + + * LibSupport.cs: Rename + +2005-06-29 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <gonzalo@ximian.com> + + * LibSupport.cs: changes to match different input/output arguments. + +2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * LibSupport.cs: added libsupport.so init routine. + +2005-06-29 Jordi Mas i Hernandez <jordi@ximian.com> + + * ControlBindingsCollection.cs + - Throws an exception on null datasource when adding + - Checks for duplicated bindings when adding + +2005-06-28 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * OpenTreeNodeEnumerator.cs: Don't move past the begining of the + tree. + +2005-06-28 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Add missing event. + +2005-06-27 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: Stay in bounds when cycling. Make sure Handled is + set. + +2005-06-23 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Keyboard handling. We now support CTRL-TAB, + CTRL-SHIFT-TAB, and HOME, END are there any others? + +2005-06-23 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: Get the modifier keys from the keyboard driver. + +2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ScrollBar.cs: Fixes thumbpos on Maximum values + +2005-06-21 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PropertyGridView.cs: Pass context information to UITypeEditors + +2005-06-21 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND + +2005-06-19 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <jonathan.chambers@ansys.com> + + * PropertyGrid.cs: Cleaned up some TODOs + * PropertyGridView.cs: Added support for UITypeEditors + +2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * DataGrid.cs: clears cached value + +2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * ThemeWin32Classic.cs: fixes colour + +2005-06-15 Peter Bartok <pbartok@novell.com> + + * 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 <xenomorph2@onlinehome.de> + + * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for + usage + +2005-06-14 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Remove some TODOS. + +2005-06-13 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * DataGrid.cs: implement missing methods, move KeyboardNavigation + * DataGridColumnStyle.cs: fixes signature + +2005-06-12 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: Use sizing cursors similar to the ones on + windows. + +2005-06-11 Jackson Harper <jackson@ximian.com> + + * StatusBarPanel.cs: Signature cleanups. Implement + BeginInit/EndInit. + +2005-06-10 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <matthiasf@voelcker.ocm> + + * ImageListConverter.cs: Implemented + +2005-06-10 John BouAntoun <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: Wired in NumericUpDown control for year + +2005-06-10 John BouAntoun <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: Removed MonoTodo attributes on Click and + DoubleClick events, since they are not meant to be fired. + +2005-06-09 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * ThemeWin32Classic.cs: Clear the background area when drawing + buttons. + +2005-06-06 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * Control.cs: fixes CreateParams Width / Height. + +2005-06-05 Peter Bartok <pbartok@novell.com> + + * Win32DnD.cs: Removed compilation warnings + +2005-06-05 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * XplatUIWin32.cs: Removed DnD code + * Win32DnD.cs: Implemented drop source and drop target functionality + +2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * ImageListStreamer.cs: Somewhat broken implementation of + GetObjectData. The RLE needs some work to match MS properly. + +2005-06-02 Jackson Harper <jackson@ximian.com> + + * X11Dnd.cs: Attempting to keep at least one file in MWF + monostyled. + +2005-06-02 Peter Bartok <pbartok@novell.com> + + * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required + that way + +2005-06-02 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * Splitter.cs: Implement BorderStyle. + +2005-06-02 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * DragEventArgs.cs: Make fields internal so we can cache the + object and re-set the fields from XplatUI + +2005-06-02 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * ScrollBar.cs: Make sure that values sent in Scroll events + are always between Maximum and Minimum. + +2005-06-01 Marek Safar <marek.safar@seznam.cz> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Control.cs: Proper implementation of Product(Name/Version). + +2005-05-27 Jackson Harper <jackson@ximian.com> + + * DataObject.cs: Dont crash if no data is found. + +2005-05-26 Rafael Teixeira <rafaelteixeirabr@hotmail.com> + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base + +2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com> + * Control.cs: Fixed LowOrder and HighOrder to preserve sign. + +2005-05-24 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData + +2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * Cursor.cs: Implemented GetObjectData() method + +2005-05-20 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: fixes OnSelectedItemChanged + * ControlBindingsCollection.cs: fixes item range check + +2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com> + + * UpDownBase.cs: + - Calc preferred height properly + - Implement missing properties + + * NumericUpDown.cs: Implement missing events + +2005-05-19 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Control.cs: Paint control background images. Fix typo where + PaintControlBackground was not getting called correctly. + +2005-05-19 Peter Bartok <pbartok@novell.com> + + * ScrollableControl.cs (DisplayRectangle): Undid my last change until + I can investigate, apparently I broke FileDialog + +2005-05-19 Marek Safar <marek.safar@seznam.cz> + + * 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 <pbartok@novell.com> + + * 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 <jonathan.chambers@ansys.com> + * PropertyGridView.cs: Fixed compiler warnings. + +2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com> + * 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 <lluis@novell.com> + + * 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 <jordi@ximian.com> + + * TreeNodeCollection.cs: fixes get/set item ranges + +2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes + +2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: Fix item range comparation + * ListView.cs: Fix item range comparation + +2005-05-03 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926 + +2005-05-11 Peter Bartok <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * OSXStructs.cs: + XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee) + +2005-05-12 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * XplatUIX11.cs: Fix for #74902, check pending timers when peeking + for messages + +2005-05-10 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * CheckBox.cs: call base method to allow to fire OnClick event + +2005-05-09 Sebastien Pouliot <sebastien@ximian.com> + + * XplatUI.cs: Use PlatformID.Unix under NET_2_0. + +2005-05-06 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * XplatUIX11.cs: Fix waking up the main loop. + +2005-05-05 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged + * LinkLabel.cs: + - Adds cursors + - Handles focus + - Implements LinkBehavior + - Fixes many issues + +2005-05-03 Jackson Harper <jackson@ximian.com> + + * ListView.cs: Calculate the scrollbar positioning on resize and + paint, so they get put in the correct place. + +2005-05-03 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <pbartok@novell.com> + + * Control.cs: Modified version of Jonathan Chamber's fix for + double-buffering + +2005-05-03 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Splitter.cs: No decorations for the splitter form. Cache the + hatch brush. + +2005-05-03 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * LinkLabel.cs: Fixed the fixes from r43566 and 43521 + +2005-04-29 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Don't clear the GC that will clear the + entire image buffer. Just clear the clipping rectangle. + +2005-04-29 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Don't draw list view items that are + outside the clipping rectangle. + +2005-04-29 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: added horizontal item scroll + +2005-04-29 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Remove some old debug code that was + causing flicker with the new double buffering code. + +2005-04-29 John BouAntoun <jba-mono@optusnet.com.au> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs, + RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs, + RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added + +2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * ListControl.cs: honors OnPositionChanged and default Selected Item + * ListBox.cs: unselect items when clearing + +2005-04-27 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * BindingManagerBase.cs: Attach the current/position changed + handlers to their respective events. + +2005-04-27 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * LinkLabel.cs: Length of LinkArea is not allowed to be negative + +2005-04-25 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Use the horizontal scrollbars height not width when + determining how much of the client area is available. + +2005-04-25 Jackson Harper <jackson@ximian.com> + + * 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 <borsanza@gmail.com> + + * LinkLabel.cs: Fix typo, bug #74719; patch + from Borja Sanchez Zamorano + +2005-04-22 Jackson Harper <jackson@ximian.com> + + * TreeNode.cs: Implement Handle stuff. + * TreeView.cs: Utility methods so nodes can get/lookup by handle. + +2005-04-22 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <xenomorph2@onlinehome.de> + * FolderBrowserDialog.cs: + - Use a thread to fill the TreeView + - Adjusted some sizes + +2005-04-19 Peter Bartok <pbartok@novell.com> + + * LinkLabel.cs: (Re-)create the pieces when setting the Text + property. Fixes #74360. + +2005-04-19 Jackson Harper <jackson@ximian.com> + + * XEventQueue.cs: Lock when getting the lockqueue size. + * PictureBox.cs: Call base OnPaint + +2005-04-19 Peter Bartok <pbartok@novell.com> + + * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async + messages were no longer being processed (this broke BeginInvoke) + + +2005-04-18 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.oom> + + * 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 <jackson@ximian.com> + + * CursorConverter.cs: Initial implementation. + +2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <gnorton@customerdna.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * Timer.cs: fixes interval setting when the timer is already enabled + +2005-04-10 Alexander Olk <xenomorph2@onlinehome.de> + + * FolderBrowserDialog.cs: First approach + +2005-04-09 Peter Bartok <pbartok@novell.com> + + * FolderBrowserDialog: Added + +2005-04-07 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * BindingContext.cs: Use weak references so these bad actors don't + stay alive longer then they need to. + +2005-04-05 Jackson Harper <jackson@ximian.com> + + * ListControl.cs: Basic implementation of complex databinding. + * ComboBox.cs: + * ListBox.cs: Add calls to ListControl databinding methods. + +2005-04-05 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <xenomorph2@onlinehome.de> + + * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create + +2005-04-01 Jackson Harper <jackson@ximian.com> + + * Binding.cs: Implement IsBinding. + * BindingManagerBase.cs: + * PropertyManager.cs: + * CurrencyManager.cs: Add IsSuspended property. + +2005-04-01 Jackson Harper <jackson@ximian.com> + + * Binding.cs: Had some IsAssignableFrom calls backwards. + +2005-04-01 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * DataGridTextBoxColumn.cs: fixes signature + * DataGrid.cs: calls right constructor + +2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <xenomorph2@onlinehome.de> + + * FileDialog.cs: Added simple PopupButton class for ButtonPanel + +2005-03-29 Peter Bartok <pbartok@novell.com> + + * 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 <sbuehler@gmx.ch> + + * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid, + fixes bug #72588. + +2005-03-28 Alexander Olk <xenomorph2@onlinehome.de> + + * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs: + + - Added ReadOnly CheckBox + - Further refactoring: moved some code from Open-/SaveFileDialog + to FileDialog + +2005-03-28 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <xenomorph2@onlinehome.de> + + * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles + * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method + +2005-03-27 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <xenomorph2@onlinehome.de> + + * FileDialog.cs: Made dirComboBox usable + +2005-03-24 Alexander Olk <xenomorph2@onlinehome.de> + + * FileDialog.cs: Added Filter support (case sensitiv) + +2005-03-24 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Need a couple more pixels for the lines. + +2005-03-23 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Give the tab page focus when it is selected. + +2005-03-23 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: Fix typo, emilinates an unneeded expose event. + +2005-03-22 Jonathan Chambers <jonathan.chambers@ansys.com> + + * 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 <xenomorph2@onlinehome.de> + + * FileDialog.cs: + - Removed unnecessary commented code + - Fixed handling for entering the filename manually in the combobox + +2005-03-19 Alexander Olk <xenomorph2@onlinehome.de> + + * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works + +2005-03-18 Peter Bartok <pbartok@novell.com> + + * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid + them being touching the border + +2005-03-18 Peter Bartok <pbartok@novell.com> + + * TextControl.cs: Quick hack to center text better + +2005-03-18 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * ThemeWin32Classic.cs (DrawPictureBox): + - Fixed calculations for centered drawing + - Fixed drawing for normal mode, not scaling the image on normal + +2005-03-18 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * MenuAPI.cs: Remove menu *before* executing selected action to + prevent the menu from 'hanging around' + +2005-03-17 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Implemented WorkingArea property + +2005-03-17 Peter Bartok <pbartok@novell.com> + + * XplatUIX11.cs: Fixed menu coord calculations + * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods + for calculating offsets + +2005-03-17 Peter Bartok <pbartok@novell.com> + + * 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 <logic@deltaq.org> + + * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded + X access (avoids X-Async errors) + +2005-03-16 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: Raise the SelectedIndexChanged event. + +2005-03-16 Alexander Olk <xenomorph2@onlinehome.de> + + * 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 <jordi@ximian.com> + + * ScrollBar.cs: + - Only change Maximum and Minimum when need it (bug fix) + +2005-03-15 Peter Bartok <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: + - Fix hard loop when timers exist. + - Fix bugs with middle and right click for 3 button mice. + +2005-03-11 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * BindingManagerBase.cs: This method isn't used anymore as + PullData now updates the data in the control. + +2005-03-11 Jordi Mas i Hernandez <jordi@ximian.com> + + * Form.cs: fixes menu drawing on X11 + * MenuAPI.cs: fixes menu drawing on X11 + +2005-03-11 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * SaveFileDialog.cs: Added emtpy file + +2005-03-08 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * Binding.cs: Push data pushes from data -> property. Check if the + property is readonly when attempting to set it. + +2005-03-07 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * Binding.cs: Support <Property>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 <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * Binding.cs: Bind to <Property>Changed events so we can detect + when properties are changed and update the data. + +2005-03-02 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * Binding.cs: Make property searches case-insensitive. Eliminate + some duplicated code. + +2005-03-01 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: + - Handle focus event + - Fix scrollbar events + - Discard highlighted item if remove it + - Fixes SelectedItem with strings + +2005-03-01 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: show/hide scrollbar instead of creating it + +2005-02-27 Jackson Harper <jackson@ximian.com> + + * CurrencyManager.cs: Add PositionChanged stuff. + +2005-02-27 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * X11Keyboard.cs: Fixes to work on 64bit systems + +2005-02-26 Peter Bartok <pbartok@novell.com> + + * Control.cs: + - Now calling OnHandleDestroyed from DestroyHandle() + instead of Dispose() + - Removed bogus call to controls.Remove() from DestroyHandle() + +2005-02-26 Peter Bartok <pbartok@novell.com> + + * Control.cs: Properly destroy child windows when our handle is + destroyed + +2005-02-25 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <chris.bacon@docobo.co.uk> + + * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon + +2005-02-23 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * ProgressBar.cs: use clip region in ProgressBar + * ThemeWin32Classic.cs: use clip region in ProgressBar + +2004-02-22 Jackson Harper <jackson@ximian.com> + + * BindingsCollection.cs: Remove some debug code. + +2005-02-22 Jackson Harper <jackson@ximian.com> + + * 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 <gnorton@customerdna.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: do subcontrol creation when the control is created + +2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com> + + * Label.cs: fixes image drawing (image and imagelist) + * ThemeWin32Classic.cs: cache brushes + +2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * MethodInvoker.cs: Added + * MdiLayout.cs: Added + * SendKeys.cs: Started implementation + * ErrorIconAlignment.cs: Added + +2005-02-18 Peter Bartok <pbartok@novell.com> + + * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC() + * Form.cs: Added handling for Menu-related Non-client messages + +2005-02-17 Peter Bartok <pbartok@novell.com> + + * UpDownBase.cs: Fixed typo, compilation errors + * DomainUpDown.cs: Fixed attribute value + +2005-02-16 Miguel de Icaza <miguel@novell.com> + + * UpDownBase.cs: Attach entry events. + Propagate events. + Add ForeColor property, Focused, InterceptArrowKeys (interception + does not work yet). + +2005-02-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * Form.cs: + - Redraw non client are on Setmenu + - Calc proper menu starting point + +2005-02-17 Peter Bartok <pbartok@novell.com> + + * Application.cs: Fixed message_filter check + +2005-02-17 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * Form.cs: first Menu NC refactoring + * MenuAPI.cs: first Menu NC refactoring + +2005-02-16 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * BaseCollection.cs: Use property so we never access an + uninitialized list. Also initialize the list in the property. + +2005-02-15 Peter Bartok <pbartok@novell.com> + + * GroupBox.cs (ProcessMnemonic): Implemented + * Label.cs (ProcessMnemonic): Implemented + * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show + hotkeys + +2005-02-15 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * XplatUIX11.cs: Fixed NotImplemented exceptions for properties, + missed those in the rewrite + +2005-02-14 Miguel de Icaza <miguel@novell.com> + + * NumericUpDown.cs (Increment, ToString): Add. + (DecimalPlaces): implement. + + Add attributes. + + * UpDownBase.cs: Add the designer attributes. + +2005-02-13 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * KeysConverter.cs: Implemented + +2005-02-11 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * MenuItem.cs: Use SystemInformation and bug fixes + * MenuAPI.cs: Use SystemInformation and bug fixes + +2005-02-09 Jackson Harper <jackson@ximian.com> + + * 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 <kazuki@panicode.com> + + * ListBox.cs: Fixes AddRange bug + +2005-02-09 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * LinkLabel.cs: + - Fixes signature + - Fixes issues with links + - Adds the class attributes + +2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: + - Fixes button when no items available in dropdown + - Fixes repainting problems + - Adds the class attributes + +2005-02-07 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Detect the menu bar and title bar height from + the current theme. Cache these on startup. + +2005-02-07 Jackson Harper <jackson@ximian.com> + + * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty + the scrollbar buttons when they are depressed. + +2005-02-07 Geoff Norton <gnorton@customerdna.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar. + +2005-02-07 Miguel de Icaza <miguel@novell.com> + + * UpDownBase.cs: Add ReadOnly and UpDownAlign properties. + +2005-02-05 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PropertyGrid.cs: Updated. Patch by Jonathan Chambers + +2005-02-04 Jackson Harper <jackson@ximian.com> + + * 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 <jba-mono@optusnet.com.au> + + * DateTimePicker.cs: + - Fixed crash on DateTime.Parse, use Constructor instead + +2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com> + + * MenuItem.cs: + * MenuAPI.cs: + - Owner draw support (MeasureItem and DrawItem) + +2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jackson@ximian.com> + + * ScrollBar.cs: Make abstract + * ScrollableControl.cs: Create H/V scrollbars now that scrollbar + is abstract. + +2005-02-03 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * ComponentModel.cs: Added + * IDataGridEditingService.cs: Added + * Timer.cs: Added missing attributes + * ToolTip.cs: Added missing attributes + +2005-02-03 Jonathan Chambers <jonathan.chambers@ansys.com> + + * PropertyGridView.cs: Added. Patch by Jonathan Chambers + +2005-02-03 Peter Bartok <pbartok@novell.com> + + * ListBox.cs: Added missing attributes + +2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: + - Fixes font height after font change + - Avoid generating unnecesary OnSelectedIndexChanged on clearing + +2005-02-02 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <jba-mono@optusnet.com.au> + + * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting + +2005-02-01 Jordi Mas i Hernandez <jordi@ximian.com> + + * Combobox.cs: + - Caches ItemHeight calculation for OwnerDrawVariable + - Handles dropdown properly + - Fixes several minor bugs + +2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: + - Fixes 71946 and 71950 + - Fixes changing Multicolumn on the fly + - Fixes keyboard navigation on Multicolumn listboxes + +2005-01-31 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a + crash reporter log. + +2005-01-31 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Allow applications to actually exit. + +2005-01-31 Geoff Norton <gnorton@customerdna.com> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * HandleData.cs: Added method for altering invalid area + * TextBoxBase.cs: Implemented TextLength + +2005-01-28 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * XplatUI.cs: Made class internal + +2005-01-28 Jordi Mas i Hernandez <jordi@ximian.com> + + * CheckedListBox.cs: + - Draw focus + - Fixed Drawing + - Missing methods and events + +2005-01-27 Peter Bartok <pbartok@novell.com> + + * Application.cs (Run): Don't use form if we don't have one + +2005-01-27 Peter Bartok <pbartok@novell.com> + + * TextBoxBase.cs (get_Lines): Fixed index off by one error + +2005-01-27 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * Combobox.cs: + - Draw focus on Simple Combobox + - Fixes drawing issues + - fixes 71834 + +2005-01-27 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ListBox.cs: connect LostFocus Event + +2005-01-27 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: Space vertically layed out tabs properly. + +2005-01-26 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: Implement FillToRight size mode with vertically + rendered tabs. + +2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com> + + * ControlPaint.cs, ThemeWin32Classic.cs + - Fixes DrawFocusRectangle + +2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <miguel@ximian.com> + + * 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 <miguel@ximian.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: + - Fixes IntegralHeight + - ToString method + +2005-01-21 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * ThemeWin32Classic.cs: Clip text to the staus bar panels rects. + +2005-01-20 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * ListBox.cs: + - Owner draw support + - Fixes + +2005-01-20 Jackson Harper <jackson@ximian.com> + + * XplatUIStructs.cs: More misc keys + * X11Keyboard.cs: Ignore some control keys. + +2005-01-20 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * Control.cs: Un-selecting the control when it is loosing focus + +2005-01-19 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to + get set in the conversion array. + +2005-01-19 Peter Bartok <pbartok@novell.com> + + * 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 <miguel@ximian.com> + + * UpDownBase.cs: Added some new properties. + + * DomainUpDown.cs: Implement a lot to get my test working. + +2005-01-19 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Fix a minor bug to bring the close box back + +2005-01-19 Geoff Norton <gnorton@customerdna.com> + + * OSXStructs (WindowAttributes): Fixed csc complaints + +2005-01-19 Geoff Norton <gnorton@customerdna.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Initial support for Standard Cursors. + * OSXStructs.cs: Move our structs here; added ThemeCursor enum + +2005-01-19 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * Cursors.cs (ctor): Added ctor to fix signature + +2005-01-18 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Form.cs: Removed debug output + * Button.cs: Added support for DoubleClick method + +2005-01-18 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: fixes for ownerdraw + +2005-01-18 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Control.cs: Added missing attributes + +2005-01-17 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * NavigateEventArgs.cs: Fix base type. + * LinkLabel.cs: Sig fix + +2005-01-17 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Only invalidate the effected nodes bounds when + selecting nodes. + +2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com> + + * XplatUIWin32.cs: fixes Win32 marshaling + * XplatUIX11.cs: fixes method signature + +2005-01-17 Peter Bartok <pbartok@novell.com> + + * XplatUIX11.cs: Clean up resources when we no longer need them + +2005-01-17 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * Control.cs (SelectNextControl): Was using wrong method to select + a control + +2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: fixes dropstyle + +2005-01-13 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: missing properties, fixes + +2005-01-13 Peter Bartok <pbartok@novell.com> + + * 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 <miguel@ximian.com> + + * UpDownBase.cs (InitTimer): If the timer has been already + created, enable it. + + Use a TextBox instead of a Label. + +2005-01-12 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * ContainerControl.cs: Implemented ProcessDialogKeys() + +2005-01-12 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and + bug fixes + +2005-01-12 Peter Bartok <pbartok@novell.com> + + * Control.cs: + - Fixed broken Contains() method + - Implemented GetNextControl() method. Finally. This is the pre- + requisite for focus handling. + +2005-01-12 Peter Bartok <pbartok@novell.com> + + * OSXStrucs.cs: Added + +2005-01-12 Peter Bartok <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3 + button mouse). + + +2005-01-11 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid + I18n issues + * TextBoxBase.cs: Added sending of TextChanged event + +2005-01-10 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Try not to draw outside the clipping rectangle on + each node element. + +2005-01-10 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs: keyboard navigation, item navigation, bug fixes + +2005-01-10 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeNodeCollection.cs: Refresh the tree when a new node is added. + +2005-01-10 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * SizeGrip.cs: New internal class that is used as a sizing + grip control...hence the name. + +2005-01-10 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TextBoxBase.cs: Clear window when scrolling (fixes build). + +2005-01-09 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Form.cs: + - Implemented SetDesktopBounds method + - Implemented SetDesktopLocation method + +2005-01-08 Jackson Harper <jackson@ximian.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Fix GetWindowState & SetWindowState + +2005-01-07 Jackson Harper <jackson@ximian.com> + + * 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 <gnorton@customerdna.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled. + +2005-01-06 Jackson Harper <jackson@ximian.com> + + * ListBox.cs: Don't allow the horizontal scrollbars maximum to be + set to less then 0. + +2005-01-06 Jackson Harper <jackson@ximian.com> + + * ScrollableControl.cs: Lazy init the scrollbars. + +2005-01-06 Jackson Harper <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * ImageList.cs: Implment ctor + +2005-01-05 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Implement Activate/SetTopmost + +2005-01-05 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Implement SetZOrder, minor cleanup + +2005-01-05 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Implement GetActive/SetFocus. + +2005-01-05 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * ToolTip.cs (WndProc): Enable setting focus now that we have the + required XplatUI functions. + +2005-01-05 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * TextBoxBase.cs: Changed access level for Document property to + match switch to internal for TextControl + +2005-01-04 Peter Bartok <pbartok@novell.com> + + * AccessibleObject: Added ComVisible attribute + +2005-01-04 Jackson Harper <jackson@ximian.com> + + * X11Keyboard.cs: Remove unneeded var. + +2005-01-04 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * TextControl.cs: Switched Line, LineTag and Document classes to + internal + +2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com> + + * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs: + Simple mode, fixes, IntegralHeight, etc. + +2005-01-04 Peter Bartok <pbartok@novell.com> + + * TextBoxBase.cs: Using proper font variable now + +2005-01-04 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs, + TrackBar.cs, MonthCalendar.cs: remove unused vars + +2005-01-03 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: + * X11Keyboard.cs: Remove unused vars. + +2005-01-03 Peter Bartok <pbartok@novell.com> + + * 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<start now + - Added aligment considerations to RecalculateDocument() + * TextBoxBase.cs: + - Now properly enforces control height for single line controls + - Added support for CharacterCasing + - Added IsInputKey override + - Fixed Keys.Enter logic + - Added SetBoundsCore override + - Fixed mouse selection handling + +2005-01-03 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Align lines to the bottom of plus minus boxes properly. + +2004-12-28 Zoltan Varga <vargaz@freemail.hu> + + * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues. + +2004-12-28 Peter Bartok <pbartok@novell.com> + + * MessageBox.cs (get_CreateParams): Don't use owner var if it's + not yet assigned + +2004-12-28 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ComboBox.cs: Complete DropDownList implementation, fixes. + +2004-12-26 Jordi Mas i Hernandez <jordi@ximian.com> + + * ThemeWin32Classic, Theme.cs: ComboBox drawing methods + * ComboBoxStyle.cs: ComboBoxStyle enum + * ComboBox.cs: Initial work on ComboBox control + +2004-12-21 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * Form.cs (ShowDialog): Unset modality for the proper window + +2004-12-20 Peter Bartok <pbartok@novell.com> + + * CommonDialog.cs: Initial check-in + +2004-12-20 Peter Bartok <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow + Minor code cleanup. + +2004-12-19 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs (SetModal): Implement this method on OSX. + +2004-12-18 Peter Bartok <pbartok@novell.com> + + * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe, + implementing SetModal() method + +2004-12-18 Peter Bartok <pbartok@novell.com> + + * 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 <gnorton@customerdna.com> + + * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it + Some more keyboard support (INCOMPLETE) + +2004-12-17 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * TreeNode.cs: + * MonthCalendar.cs: Signature fixes + +2004-12-17 Geoff Norton <gnorton@customerdna.com> + + * 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 <gnorton@customerdna.com> + + * 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 <jackson@ximian.com> + + * XplatUIStructs.cs: Updated set of virtual keycodes. + * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL + +2004-12-17 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: Prune old keyboard code. + +2004-12-17 Jackson Harper <jackson@ximian.com> + + * XplatUIX11.cs: When generating mouse wparams get the modifier + keys from the ModifierKeys property. + +2004-12-17 Jackson Harper <jackson@ximian.com> + + * X11Keyboard.cs: Send up/down input when generating + messages. Remove some unused vars. + +2004-12-17 Jackson Harper <jackson@ximian.com> + + * TabControl.cs: + * TreeView.cs: get rid of warnings. + +2004-12-17 Jackson Harper <jackson@ximian.com> + + * XplatUIStructs.cs: Fix a couple wrong virtual keycodes. + +2004-12-17 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: bug fixes, changes for CheckedListBox.cs + CheckedListBox.cs: Implementation + +2004-12-17 Peter Bartok <pbartok@novell.com> + + * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs + +2004-12-16 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximain.com> + + * XplatUIStruct.cs: Add enum for dead keys + * X11Keyboard.cs: Map and unmap dead keys. + +2004-12-16 Jackson Harper <jackson@ximian.com> + + * X11Keyboard.cs: Detect and use the num lock mask. + +2004-12-16 Peter Bartok <pbartok@novell.com> + + * Control.cs (CreateGraphics): Added check to make sure the + handle of the window exists before calling Graphics.FromHwnd() + +2004-12-16 Peter Bartok <pbartok@novell.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * 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 <pbartok@novell.com> + + * TextControl.cs: Initial check-in. Still incomplete + +2004-12-15 Jackson Harper <jackson@ximian.com> + + * TreeNode.cs: + * TreeView.cs: Fix build on csc (second time today ;-)) + +2004-12-15 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TreeView.cs: Pass the nodes image index to the image list when + drawing that image. + +2004-12-15 Jackson Harper <jackson@ximian.com> + + * X11Keyboard.cs: Set messages hwnd. + * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on + post_message calls. + +2004-12-15 Jackson Harper <jackson@ximian.com> + + * X11Keyboard.cs: Fix to compile with csc. + +2004-12-15 Jackson Harper <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * 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 <jba-mon@optusnet.com.au> + + * MonthCalendar.cs: Implemented click-hold for next/previous month + and date selection + +2004-12-11 Peter Bartok <pbartok@novell.com> + + * 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 <jordi@ximian.com> + + * ListBox.cs: fire events, implement missing methods and properties, + sorting. + +2004-12-10 John BouAntoun <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: invalidation bug fixing + * ThemeWin32Classic.cs: paint fixing + +2004-12-09 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we + prepare the CGContextRef there now. + +2004-12-09 John BouAntoun <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: + - optimisationL only invalidate areas that have changed + * ThemeWin32Classic.cs: + - only paint parts that intersect with clip_area + +2004-12-09 Peter Bartok <pbartok@novell.com> + + * Application.cs: Undid changes from r37004 which cause problems + on X11 + +2004-12-09 Ravindra <rkumar@novell.com> + + * 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 <jordi@ximian.com> + + * Label.cs: autosize works in text change and removes unnecessary + invalidate + +2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com> + + * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs: + remove warnings + +2004-12-08 Geoff Norton <gnorton@customerdna.com> + + * 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 <pbartok@novell.com> + + * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net + +2004-12-07 Geoff Norton <gnorton@customerdna.com> + + * XplatUIOSX.cs: Initial checkin + * XplatUI.cs: Use the Quartz driver if the environment is set to use it + +2004-12-03 Ravindra <rkumar@novell.com> + + * 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 <pbartok@novell.com> + + * Control.cs (Parent): Added check and exception to prevent + circular parenting + +2004-12-03 Jordi Mas i Hernandez <jordi@ximian.com> + + * ListBox.cs: implemented clipping, selection single and multiple, + bug fixing + +2004-12-03 Ravindra <rkumar@novell.com> + + * 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 <marek.safar@seznam.cz> + + * 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 <marek.safar@seznam.cz> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * DrawItemState.cs: fixes wrong enum values + +2004-12-01 Jackson Harper <jackson@ximian.com> + + * TreeView.cs: Resize the hbar as well as the vbar on resize. + +2004-12-01 Jackson Harper <jackson@ximian.com> + + * 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 <rkumar@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <miguel@ximian.com> + + * 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 <jordi@ximian.com> + + * MonthCalendar.cs, ListView.cs: use Theme colours instead of + System.Colors + +2004-11-30 Ravindra <rkumar@novell.com> + + * 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 <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: + - ControlStyles love to make the control not flicker + +2004-11-30 Peter Bartok <pbartok@novell.com> + + * CharacterCasing.cs: Added + +2004-11-29 Peter Bartok <pbartok@novell.com> + + * 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 <marek.safar@seznam.cz> + + * 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 <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: + - Fix NextMonthDate and PrevMonthDate click moving calendar + +2004-11-26 John BouAntoun <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: + - Fix usage of ScrollChange Property when scrolling months + +2004-11-26 Jordi Mas i Hernandez <jordi@ximian.com> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <jordi@ximian.com> + + * ListBox.cs, Theme.cs, ThemeWin32Classic.cs: + - Horizontal scroolbar + - Multicolumn + - Fixes + + +2004-11-25 John BouAntoun <jba-mono@optusnet.com.au> + + * 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 <pbartok@novell.com> + + * 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 <rkumar@novell.com> + + * 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 <jba-mono@optusnet.com.au> + + * MonthCalendar.cs: Add TitleMonth ContextMenu handling + +2004-11-24 John BouAntoun <jba-mono@optusnet.com.au> + + * ContainerControl.cs: correct accidental check in of local changes + +2004-11-24 John BouAntoun <jba-mono@optusnet.com.au> + + * 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 <pbartok@novell.com> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <jba-mono@optusnet.com.au> + + * 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 <rkumar@novell.com> + + * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems' + property. + +2004-11-22 Miguel de Icaza <miguel@ximian.com> + + * 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 <miguel@ximian.com> + + * Timer.cs (Dispose): Should call the base dispose when + overriding. + +2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com> + + * ScrollBar.cs: updates thumb position when max, min or increment + is changed + +2004-11-21 Ravindra <rkumar@novell.com> + + * 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 <jordi@ximian.com> + + * 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 <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * XplatUIX11.cs: Use the new Mono.Unix namespace. + +2004-11-17 Ravindra <rkumar@novell.com> + + * 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 <jordi@ximian.com> + + * Menu.cs: fixes signature + +2004-11-16 Peter Bartok <pbartok@novell.com> + + * XplatUIX11.cs (GetMessage): Implemented generation of + double click mouse messages + +2004-11-12 Jordi Mas i Hernandez <jordi@ximian.com> + + * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session + not by menu + +2004-11-11 Peter Bartok <pbartok@novell.com> + + * 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 <jackson@ximian.com> + + * OwnerDrawPropertyBag.cs: + * TreeViewImageIndexConverter.cs: Initial implementation + +2004-11-10 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * TabControl.cs: You can only scroll left when the slider has + already ben moved right. + +2004-11-10 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Do not draw the selected tab if its not in + the clip area. + +2004-11-10 Jackson Harper <jackson@ximian.com> + + * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the + clip area. + +2004-11-09 Jackson Harper <jackson@ximian.com> + + * 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 <jackson@ximian.com> + + * 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 <jordi@ximian.com> + + * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups, + does not destroy the windows, removes debugging messages + +2004-11-09 jba <jba-mono@optusnet.com.au> + + * 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 <jackson@ximian.com> + + * 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 + +2004-08-11 13:19 pbartok + + * 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 + +2004-08-11 12:59 pbartok + + * 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. + +2004-08-11 12:55 pbartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Added method to calculate difference between decorated window and + raw client area + +2004-08-11 12:54 pbartok + + * Label.cs: + - Forcing redraw on resize + +2004-08-11 11:43 pbartok + + * ImageList.cs: + - Removed disposing of the actual images when the list is disposed + +2004-08-11 09:13 pbartok + + * Control.cs: + - Now properly reparents windows + +2004-08-11 08:37 pbartok + + * Control.cs: + - Duh! + +2004-08-11 07:47 pbartok + + * 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 + +2004-08-11 07:44 pbartok + + * AccessibleObject.cs: + - Fixed to match ControlCollection rewrite + +2004-08-11 07:43 pbartok + + * ImageList.cs: + - Added missing creation of the collection list + +2004-08-10 20:08 jackson + + * StatusBar.cs: Get the paint message from WndProc + +2004-08-10 19:31 jackson + + * ThemeWin32Classic.cs: Create Brushes as little as possible + +2004-08-10 19:20 jackson + + * UICues.cs: Add Flags attribute + +2004-08-10 19:19 jackson + + * StatusBarPanel.cs: Signature cleanup + +2004-08-10 19:10 jackson + + * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs: + Initial implementation of status bar item drawing + +2004-08-10 17:27 jordi + + * TrackBar.cs: add missing methods, properties, and restructure to + hide extra ones + +2004-08-10 16:24 jackson + + * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs, + ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags + attribute + +2004-08-10 13:21 jordi + + * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar + enhancements and standarize on win colors defaults + +2004-08-10 12:52 jackson + + * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs, + ThemeWin32Classic.cs: Implement DrawItem functionality + +2004-08-10 12:47 jordi + + * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow + +2004-08-10 12:32 jordi + + * Control.cs: throw ontextchange event + +2004-08-10 11:43 pbartok + + * Control.cs: + - Added more to the still unfinished Dock/Anchor layout code + +2004-08-10 11:39 pbartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs: + - Added GetWindowPos method + +2004-08-10 11:36 pbartok + + * XplatUIWin32.cs: + - Implemented several methods + +2004-08-10 09:47 jackson + + * TrackBar.cs: Allow control to handle buffering + +2004-08-10 09:41 jackson + + * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering + +2004-08-10 09:24 jackson + + * Label.cs, LinkLabel.cs: Let Control handle buffering. + +2004-08-10 09:09 jackson + + * StatusBar.cs: Let Control handle all the buffering. + +2004-08-10 09:08 jackson + + * Control.cs: Control will now handle the buffering code, so each + control does not have to implement this. + +2004-08-10 08:34 jackson + + * XplatUIDriver.cs: Use default colors from the theme + +2004-08-09 17:12 pbartok + + * ImageList.cs: + - Fixed several bugs Ravindra pointed out + +2004-08-09 16:11 pbartok + + * Control.cs: + - Added incomplete dock layout code + - Added support for mouse wheel + +2004-08-09 16:09 pbartok + + * 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 + +2004-08-09 15:40 jackson + + * StatusBarPanel.cs, StatusBarPanelAutoSize.cs, + StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial + checkin + +2004-08-09 15:37 jackson + + * StatusBar.cs: Initial implementation of StatusBar + +2004-08-09 15:36 jackson + + * ITheme.cs: Add support for drawing status bar and getting status + bar item sizes + +2004-08-09 15:35 pbartok + + * MouseButtons.cs: + - Fixed values + +2004-08-09 15:34 jackson + + * ThemeWin32Classic.cs: Add support for drawing status bar and get + status bar item sizes + +2004-08-09 15:21 jackson + + * ThemeWin32Classic.cs: Use known colors for default control + colours + +2004-08-09 15:12 jackson + + * ThemeWin32Classic.cs: Make the default font static, it is static + in control so this doesn't change functionality and creating fonts + is sloooooow. + +2004-08-09 14:56 pbartok + + * X11Structs.cs: + - Added GrabMode enum + +2004-08-09 14:55 pbartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Removed Run method, was only required for initial development + +2004-08-09 14:51 pbartok + + * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs: + - Implemented GrabWindow/ReleaseWindow methods to allow pointer + capture + +2004-08-09 13:48 pbartok + + * XplatUIX11.cs: + - Fixed default sizing for child windows + +2004-08-09 12:56 pbartok + + * XplatUIX11.cs: + - Added generation of WM_DESTROY message + - Added handling of window manager induced shutdown + +2004-08-09 11:31 jackson + + * ThemeWin32Classic.cs: New names for control properties + +2004-08-09 11:25 jackson + + * Control.cs: Use new color names + +2004-08-09 11:02 jackson + + * XplatUI.cs: Get default window properties from the theme + +2004-08-09 11:01 jackson + + * 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 <miguel@ximian.com> + + * 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 + |