- MonthCalendar.cs: Wired in NumericUpDown control for year
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
1 2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
2         * MonthCalendar.cs: Wired in NumericUpDown control for year
3
4 2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
5         * MonthCalendar.cs: Removed MonoTodo attributes on Click and 
6           DoubleClick events, since they are not meant to be fired.
7
8 2005-06-09  Peter Bartok  <pbartok@novell.com>
9
10         * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
11           Jonathan's standalone controls into MWF, implemented missing 
12           events, attributes and methods; added xxxAccessible classes
13         * AccessibleObject.cs: Made fields internal so other classes
14           can change them if needed
15
16 2005-06-09  Jonathan Gilbert  <2a5gjx302@sneakemail.com>
17
18         * UpDownBase.cs: Complete implementation
19         * NumericUpDown.cs: Complete implementation
20         * DomainUpDown.cs: Complete implementation
21
22 2005-06-09  Jordi Mas i Hernandez <jordi@ximian.com>
23
24         * DataGridTextBoxColumn.cs: drawing fixes
25         * DataGridCell.cs: fixes ToString method to match MSNet
26         * DataGridTableStyle.cs: fixes
27         * DataGridBoolColumn.cs: fixes, drawing
28         * DataGridDrawingLogic.cs: fixes, new methods
29         * DataGridTextBox.cs: Keyboard and fixes
30         * DataGrid.cs:
31                 - Keyboard navigation
32                 - Scrolling fixes
33                 - Row selection (single, multiple, deletion, etc)
34                 - Lots of fixes
35         
36 2005-06-07  Jackson Harper  <jackson@ximian.com>
37
38         * ThemeWin32Classic.cs: Clear the background area when drawing
39         buttons.
40
41 2005-06-06  Peter Bartok  <pbartok@novell.com>
42
43         * ImageListStreamer.cs: Fixed signature for GetData
44         * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
45         * ComboBox.cs: 
46           - Added missing ChildAccessibleObject class
47           - Added missing OnXXXFocus overrides, switched to using those 
48             instead of the event handler
49         * Control.cs:
50           - Added Parent property for ControlAccessibleObject
51           - Fixed signatures
52           - Fixed attributes
53           - Added ResetBindings()
54         * ListBindingConverter.cs: Implemented some methods
55         * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
56         * ImageList.cs: Implemented basic handle scheme, removed TODOs
57         * ContainerControl.cs: Fixed signature, now subscribing to the 
58           ControlRemoved event instead of overriding the handler, LAMESPEC
59         * CurrencyManager.cs: Added missing attribute
60         * MonthCalendar.cs: Added missing properties
61
62 2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
63
64         * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
65         
66 2005-06-06  Gaurav Vaish and Ankit Jain
67
68         * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
69         * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
70         
71 2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
72
73         * Control.cs: fixes CreateParams Width / Height. 
74
75 2005-06-05  Peter Bartok  <pbartok@novell.com>
76
77         * Win32DnD.cs: Removed compilation warnings
78
79 2005-06-05  Peter Bartok  <pbartok@novell.com>
80
81         * Control.cs (CreateParams): Since we don't know if one of the 
82           properties we use is overridden, lets make sure if we fail accessing 
83           we continue with a backup plan
84
85 2005-06-05  Peter Bartok  <pbartok@novell.com>
86
87         * Win32DnD.cs: 
88           - Removed debug output
89           - Added MarshalAs attribute to ensure proper marshalling of FORMATETC 
90             struct
91           - Plugged resource leak
92         * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
93           MS size
94
95 2005-06-05  Peter Bartok  <pbartok@novell.com>
96
97         * XplatUIWin32.cs: Removed DnD code
98         * Win32DnD.cs: Implemented drop source and drop target functionality
99
100 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
101
102         * UpDownBase.cs: remove duplicate addition of event, enable some code
103         that was commented out.
104         * NumericUpDown.cs: added missing attributes and Hexadecimal property.
105         Validate input when a key is pressed. It works fine now for every
106         combination of Hexadecimal. Only missing some drawing love when sharing
107         space with other controls.
108
109 2005-06-04  Peter Bartok  <pbartok@novell.com>
110
111         * Control.cs:
112           - We need to pass a window for DragDrop, so enable callback events
113           - Added DnD callback events when being a DragSource
114         * XplatUI.cs (StartDrag): Added window handle argument
115         * XplatUIDriver.cs (StartDrag): Added window handle argument
116         * QueryContinueDragEventArgs: Made fields internally accessible so
117           drivers can set them
118         * GiveFeedbackEventArgs: Made fields internally accessible so drivers
119           can set them
120
121 2005-06-03  Jordi Mas i Hernandez <jordi@ximian.com>
122
123         * DataGridTextBoxColumn.cs: column text editing
124         * DataGridTableStyle.cs: Respect columns styles created by the user
125         * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
126         * DataGridBoolColumn.cs: bool column editing
127         * DataGrid.cs: fixes to scrolling, properties, etc
128         * DataGridTextBox.cs: handle keyboard
129         * DataGridColumnStyle.cs: fixes
130
131 2005-06-02  Jackson Harper  <jackson@ximian.com>
132
133         * ImageListStreamer.cs: Somewhat broken implementation of
134         GetObjectData. The RLE needs some work to match MS properly.
135
136 2005-06-02  Jackson Harper  <jackson@ximian.com>
137
138         * X11Dnd.cs: Attempting to keep at least one file in MWF
139         monostyled.
140
141 2005-06-02  Peter Bartok  <pbartok@novell.com>
142
143         * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
144           that way
145
146 2005-06-02  Peter Bartok  <pbartok@novell.com>
147
148         * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
149         * XplatUI.cs: Added DoDragDrop() method
150         * XplatUIDriver.cs: Added DoDragDrop() method
151
152 2005-06-02  Jackson Harper  <jackson@ximian.com>
153
154         * Splitter.cs: Implement BorderStyle.
155
156 2005-06-02  Jackson Harper  <jackson@ximian.com>
157
158         * XplatUIX11.cs: Tie into the X11Dnd subsystem.
159         * X11Dnd.cs: New file. A subsystem that handles drag and drop on
160         X11 using XDND.
161
162 2005-06-02  Peter Bartok  <pbartok@novell.com>
163
164         * DataObject.cs: 
165           - Added Data setter
166           - Fixed broken insertion code for SetData, now also
167             overwrites any existing entry of the same format name
168         * Hwnd.cs: Added list of pointers that automatically gets
169           freed when the window is disposed 
170         * XplatUI.cs: Call driver initialization method when loading
171           a driver
172         * Control.cs: 
173           - OnDragLeave takes EventArgs, not DragEventArgs
174           - Added setting of WS_EX_ACCEPTFILES style when dropping is
175             supported
176           - Forces style update when drop state changes
177         * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
178           not perfect since we cannot (yet) call the IDataObject.GetData()
179           method, we keep getting 0x80004005 error, dunno why)
180
181 2005-06-02  Peter Bartok  <pbartok@novell.com>
182
183         * DragEventArgs.cs: Make fields internal so we can cache the
184           object and re-set the fields from XplatUI
185
186 2005-06-02  Jackson Harper  <jackson@ximian.com>
187
188         * Control.cs: Add some internal methods so the DnD subsystem can
189         raise DnD events. Also call into the driver when AllowDrop is set.
190         * XplatUI.cs:
191         * XplatUIDriver.cs: New method for setting whether or not a window
192         is allowed to accept drag and drop messages.
193                 
194 2005-06-01  Jordi Mas i Hernandez <jordi@ximian.com>
195         
196         * ScrollBar.cs: Make sure that values sent in Scroll events 
197         are always between Maximum and Minimum.
198
199 2005-06-01  Marek Safar  <marek.safar@seznam.cz>
200
201         * Menu.cs: Call MenuChanged when menuitem visibility has been
202         changed.
203         * MenuItem.cs: Rebuild menu when item is (not) visible.
204         * MainMenu.cs: MainMenu has special MenuChanged.
205         * Theme.cs: Caption and FrameBorderSize are not fixed.
206         * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
207         * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
208         * XplatUIX11.cs,
209         * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
210         * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
211
212 2005-05-30  Jackson Harper  <jackson@ximian.com>
213
214         * DataFormat.cs: We can't statically initialize this stuff because
215         it calls into the xplatui and could create a loop. So we lazy init
216         it.
217
218 2005-05-28  Jackson Harper  <jackson@ximian.com>
219
220         * Control.cs: Proper implementation of Product(Name/Version).
221
222 2005-05-27  Jackson Harper  <jackson@ximian.com>
223
224         * DataObject.cs: Dont crash if no data is found.
225
226 2005-05-26  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
227         * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property 
228                 as per status page, guessing it should be set to true
229
230 2005-05-26  Jordi Mas i Hernandez <jordi@ximian.com>
231
232         * DataGridTextBoxColumn.cs: Draws text and basic text formatting
233         * DataGridTableStyle.cs: set proper formatting text, def header text
234         * ThemeWin32Classic.cs: new themable paramaters
235         * DataGridBoolColumn.cs: paint check box, get data, fixes
236         * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
237         * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
238         * DataGridColumnStyle.cs: fixes
239         * Theme.cs: new themable paramaters
240                 
241 2005-05-26  Peter Bartok  <pbartok@novell.com>
242
243         * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
244
245 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
246         * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
247
248 2005-05-24  Peter Bartok  <pbartok@novell.com>
249
250         * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
251           Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
252           Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs, 
253           FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
254           NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
255           ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
256           DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
257           AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
258           DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
259           StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added 
260           missing attributes, etc
261         * DataGridPreferredColumnWidthTypeConverter.cs: Added
262
263 2005-05-24  Peter Bartok  <pbartok@novell.com>
264
265         * Help.cs: Added, implemented trivial functions, throws up MessageBox
266           when user tries to get help
267         * DataObject.cs, DataFormats.cs, LinkArea.cs, 
268           SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables 
269           to suppress warnings
270         * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to 
271           avoid unreachable code warning
272
273 2005-05-20  Peter Bartok  <pbartok@novell.com>
274
275         * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
276
277 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
278
279         * DataGridTextBoxColumn.cs: Basic painting methods
280         * DataGridTableStyle.cs: Set table style in the column
281         * ThemeWin32Classic.cs: Use Theme for colors
282         * DataGridDrawingLogic.cs: Implement more drawing
283         * DataGrid.cs: drawing, theming, enhacements, fixes
284         * DataGridColumnStyle.cs: fixes, drawing
285         * Theme.cs: theming for Datagrid
286
287 2005-05-20  Peter Bartok  <pbartok@novell.com>
288
289         * Cursor.cs: Implemented GetObjectData() method
290
291 2005-05-20  Peter Bartok  <pbartok@novell.com>
292
293         * Cursors.cs: Added setting of cursor name
294         * Cursor.cs: 
295           - Implemented constructors
296           - Implemented Draw and DrawStretched
297           - Implemented Current property
298           - Implemented == and != operators
299           - Implemented Dispose()
300           - Implemented ToString
301           - Added missing attributes
302         * XplatUIX11.cs:
303           - Added missing reset for OverrideCursor when DoEvents is called
304           - Fixed creation of cursor, logic was wrong
305         * XplatUIWin32.cs:
306           - Added missing reset for OverrideCursor when DoEvents is called
307           - Fixed creation of cursor, bit arrays were swapped
308         * Clipboard.cs: Removed obsolete MonoTODO attribute
309
310 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
311
312         * ComboBox.cs: fixes OnSelectedItemChanged
313         * ControlBindingsCollection.cs: fixes item range check
314
315 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
316
317         * UpDownBase.cs:
318                 - Calc preferred height properly
319                 - Implement missing properties
320                 
321         * NumericUpDown.cs: Implement missing events
322
323 2005-05-19  Jackson Harper  <jackson@ximian.com>
324
325         * TabControl.cs: New method that resizes the tab pages before
326         redrawing them. This as needed as the control is double buffered
327         and sizing will not be recalculated unless ResizeTabPages is
328         called.
329         * TabPage.cs: Set base.Text instead of Text in the constructor so
330         that UpdateOwner does not get called. Use the new Redraw method of
331         TabControl instead of Refresh so the sizing is recalculated.
332         * ThemeWin32Classic.cs: Draw the text for button tabs.
333
334 2005-05-19  Jackson Harper  <jackson@ximian.com>
335
336         * Control.cs: Paint control background images. Fix typo where
337         PaintControlBackground was not getting called correctly.
338
339 2005-05-19  Peter Bartok  <pbartok@novell.com>
340
341         * ScrollableControl.cs (DisplayRectangle): Undid my last change until
342           I can investigate, apparently I broke FileDialog
343
344 2005-05-19  Marek Safar  <marek.safar@seznam.cz>
345
346         * AxHost.cs: Some simple properties.
347         * Control.cs: window must be accessible after ctor.
348         * Form.cs: Added TransparencyKey property.
349         * TextBoxBase.cs: Implemented Clear. Text property can be null.
350         * XplatUIWin32.cs: SetBorderStyle implemented.
351
352 2005-05-18  Peter Bartok  <pbartok@novell.com>
353
354         * DataObject.cs: Entries are not global but particular to the 
355           DataObject, now it behaves that way
356         * XplatUIWin32.cs: Implemented Clipboard methods
357         * Clipboard.cs: Implemented
358         * ScrollableControl.cs (DisplayRectangle): Fixed calculation
359         * XplatUIOSX.cs: Updated to final clipboard prototypes
360         * XplatUIX11.cs: Implemented Clipboard methods
361         * XplatUIDriver.cs: Updated to final clipboard prototypes
362         * XplatUIStructs.cs: 
363           - Added BITMAPINFOHEADER struct 
364           - Added ClipboardFormats enum
365         * X11Structs.cs: 
366           - Added ClipboardStruct
367           - Added Atom enum items for clipboard types
368           - Fixed atom types for Selection event structures
369         * DataFormats.cs: 
370           - Added internal properties and methods for drivers to enumerate 
371             all known formats
372           - Switched initialization method to allow drivers to assign their
373             own IDs even for the MS predefined clipboard IDs
374         * XplatUI.cs: Updated to final clipboard interface
375
376 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
377         * PropertyGridView.cs: Fixed compiler warnings.
378
379 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
380         * PropertyGrid.cs: Added some event calls
381         * PropertyGridView.cs: Change drawing code to use double buffering
382         * PropertyGridTextBox.cs: Changed Text property name
383         * GridItem.cs: Added Bounds property.
384         * GridEntry.cs: Added Bounds property.
385
386 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
387
388         * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
389         since GetType() may not return the correct type if the object is
390         a remoting proxy.
391
392 2005-05-17  Jordi Mas i Hernandez <jordi@ximian.com>
393
394         * TreeNodeCollection.cs: fixes get/set item ranges
395         
396 2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
397
398         * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
399                 
400 2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
401
402         * ComboBox.cs: Fix item range comparation
403         * ListView.cs: Fix item range comparation
404
405 2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
406
407         * FontDialog.cs:
408           - Clear example panel when OnPaint is called
409           - Better solution for displaying the example panel text
410           - Select default indexes in the ListBoxes
411
412 2005-05-11  Geoff Norton  <gnorton@customerdna.com>
413
414         * XplatUIOSX.cs: Avoid painting into invisible views.  Fixes #74926
415
416 2005-05-11  Peter Bartok  <pbartok@novell.com>
417
418         * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
419         * SelectionRangeConverter.cs: Implemented
420         * PropertyGrid.cs: Fixed attribute value
421         * Control.cs:
422           - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
423           - Added Sebastien Pouliot's CAS Stack Propagation fixes
424         * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
425           that's common to all drivers. First methods to go there are
426           Sebastien Pouliot's CAS Stack Propagation helper methods
427         * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
428           Sebastien Pouliot for CAS Stack Propagation
429
430 2005-05-11  Geoff Norton  <gnorton@customerdna.com>
431
432         * OSXStructs.cs:
433           XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
434
435 2005-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
436
437         * DataGridTextBoxColumn.cs: fixed some members
438         * GridColumnStylesCollection.cs: indexed column is case insensitive
439         * DataGridTableStyle.cs: fixes
440         * ThemeWin32Classic.cs: add new theme parameter
441         * Theme.cs: add new theme parameter
442         * DataGridDrawingLogic.cs: Datagrid's drawing logic
443         * DataGrid.cs: fixes, new internal properties, etc.
444         * DataGridColumnStyle.cs: allows to set grid value
445         *
446
447 2005-05-10  Peter Bartok  <pbartok@novell.com>
448
449         * AccessibleObject.cs:
450           - Removed MonoTODO attribute on help, method is correct
451           - Fixed Bounds property
452         * AxHost.cs: Moved MonoTODO
453         * ButtonBase.cs: Now setting AccessibleObject properties
454         * RadioButton.cs: Setting proper AccessibleObject role
455         * CheckBox.cs: Setting proper AccessibleObject role
456         * ControlBindingsCollection.cs: Added properties, methods and attributes
457         * DataFormats.cs: Fixed awkward internal API, and changed to enable
458           userdefined DataFormats.Format items as well
459         * ListControl.cs: Removed data_member from the public eye
460         * OpenFileDialog.cs:
461           - Made class sealed
462           - Added missing attributes
463         * SaveFileDialog.cs: Added missing attributes
464         * ImageListStreamer.cs: Fixed code that caused warnings
465         * LinkLabel.cs: Removed unreachable code
466         * TreeView.cs: Fixed code that caused warnings
467         * PropertyGridView.cs: Fixed code that caused warnings
468         * GridColumnStylesCollection.cs: Added missing attributes
469         * GridTableStylesCollection: Added missing attribute
470         * PropertyManager: Added .ctor
471         * SecurityIDType: Added
472         * DataObject.cs: Implemented class
473         * LinkArea.cs: Added missing attribute
474
475 2005-05-11  Jordi Mas i Hernandez <jordi@ximian.com>
476
477         * RadioButton.cs: call base method to allow to fire OnClick event
478         * UpDownBase.cs: OnMouseUp call base method
479         * CheckedListBox.cs: call base method before returning
480         * TrackBar.cs: call base method before returning
481         
482
483 2005-05-10  Peter Bartok  <pbartok@novell.com>
484
485         * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
486           for messages
487
488 2005-05-10  Peter Bartok  <pbartok@novell.com>
489
490         * DataFormats.cs: Implemented
491         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
492           XplatUIX11.cs: Added Clipboard APIs
493         * XplatUIWin32.cs: Implemented Clipboard APIs
494         * FolderBrowserDialog.cs: Added missing event, attributes
495
496 2005-05-10  Jordi Mas i Hernandez <jordi@ximian.com>
497
498         * CheckBox.cs: call base method to allow to fire OnClick event
499
500 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
501
502         * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
503
504 2005-05-06  Peter Bartok  <pbartok@novell.com>
505
506         * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
507         * Screen.cs: Implemented
508         * HelpNavigator.cs: Added
509         * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
510           property
511         * HelpProvider.cs: Implemented all we can do until we have a CHM
512           help library (which means that "What's This" does work now)
513
514 2005-05-06  Jackson Harper  <jackson@ximian.com>
515
516         * XplatUIX11.cs: Fix waking up the main loop.
517                 
518 2005-05-05  Peter Bartok  <pbartok@novell.com>
519
520         * XplatUI.cs: Updated revision
521         * Form.cs: Removed enless loop
522         * GroupBox.cs (OnPaint): Added call to base.OnPaint()
523         * Label.cs (OnPaint): Added call to base.OnPaint()
524         * ToolTip.cs: Made ToolTipWindow reusable for other controls
525         * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
526         * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
527         * AxHost.cs: Added
528         * ButtonBase.cs: Moved base.OnPaint() call to end of method
529         * ThemeWin32Classic.cs: Replaced references to ToolTip with references
530           to ToolTip.ToolTipWindow for drawing and size methods; this allows
531           reuse of ToolTipWindow by other controls
532         * SizeGrip.cs: Moved base.OnPaint() call to end of method
533         * XplatUIX11.cs: Now clipping drawing area (experimental)
534         * PictureBox.cs: Moved base.OnPaint() call to end of method
535         * Theme.cs: Fixed ToolTip abstracts to match new format
536         * ErrorProvider.cs: Implemented
537
538 2005-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
539
540         * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
541         * LinkLabel.cs:
542                 - Adds cursors
543                 - Handles focus
544                 - Implements LinkBehavior
545                 - Fixes many issues
546
547 2005-05-03  Jackson Harper  <jackson@ximian.com>
548
549         * ListView.cs: Calculate the scrollbar positioning on resize and
550         paint, so they get put in the correct place.
551
552 2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
553
554         * ColorDialogs.cs: The small color panels are now handled by
555           SmallColorControl. This fixes drawing of the focus rectangle
556           and adds a 3D border.
557
558 2005-05-03  Peter Bartok  <pbartok@novell.com>
559
560         * Control.cs: Modified version of Jonathan Chamber's fix for
561           double-buffering
562
563 2005-05-03  Jackson Harper  <jackson@ximian.com>
564
565         * ListView.cs: Remove redraw variable. Control now handles whether
566         or not a redraw needs to be done, and will only raise the paint
567         event if redrawing is needed.
568
569 2005-05-03  Jackson Harper  <jackson@ximian.com>
570
571         * Splitter.cs: No decorations for the splitter form. Cache the
572         hatch brush.
573
574 2005-05-03  Jackson Harper  <jackson@ximian.com>
575
576         * TreeView.cs: Use dashed lines to connect nodes. Use the
577         ControlPaint method for drawing the focus rect instead of doing
578         that in treeview.
579
580 2005-05-02  Peter Bartok  <pbartok@novell.com>
581
582         * LinkLabel.cs: Fixed the fixes from r43566 and 43521
583
584 2005-04-29  Jackson Harper  <jackson@ximian.com>
585
586         * ThemeWin32Classic.cs: Don't clear the GC that will clear the
587         entire image buffer. Just clear the clipping rectangle.
588
589 2005-04-29  Jackson Harper  <jackson@ximian.com>
590
591         * ThemeWin32Classic.cs: Don't draw list view items that are
592         outside the clipping rectangle.
593
594 2005-04-29  Jordi Mas i Hernandez <jordi@ximian.com>
595
596         * ListBox.cs: added horizontal item scroll
597
598 2005-04-29  Jackson Harper  <jackson@ximian.com>
599
600         * ThemeWin32Classic.cs: Remove some old debug code that was
601         causing flicker with the new double buffering code.
602
603 2005-04-29  John BouAntoun  <jba-mono@optusnet.com.au>
604
605         * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
606         behave like combobox and comboboxlist (still not sure if this is
607         correct though).
608
609 2005-04-28  Jackson Harper  <jackson@ximian.com>
610
611         * ThemeWin32Classic.cs: Don't fill the middle of progress
612         bars. This fills areas outside of the clip bounds that don't need
613         to be filled.
614
615 2005-04-28  Jackson Harper  <jackson@ximian.com>
616
617         * Control.cs: Don't expose functionality to touch the image buffers.
618         * ProgressBar.cs:
619         * ListView.cs: We do not need to (and no longer can) manipulate
620         the image buffers directly. All of this is handled by Control.
621
622 2005-04-28  Peter Bartok  <pbartok@novell.com>
623
624         * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
625           RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
626           RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
627
628 2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
629
630         * Combobox:
631                 - Adjust control's height for non-simple comboboxes (bug fix)
632                 - Remove dead code
633         * MenuAPI.cs: remove unused var
634         * ScrollBar.cs: remove unsed var
635                  
636         * ListBox.cs: unselect items when clearing
637
638 2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
639
640         * ListControl.cs: honors OnPositionChanged and default Selected Item
641         * ListBox.cs: unselect items when clearing
642
643 2005-04-27  Jackson Harper  <jackson@ximian.com>
644
645         * X11Keyboard.cs: Initialize a default keyboard and give a warning
646         if a "correct" keyboard is not found. This will make us not crash,
647         but might give some users bad keyboard layouts...seems to be the
648         same thing rewind does.
649
650 2005-04-27  Jackson Harper  <jackson@ximian.com>
651
652         * BindingManagerBase.cs: Attach the current/position changed
653         handlers to their respective events.
654
655 2005-04-27  Jackson Harper  <jackson@ximian.com>
656
657         * Control.cs: Make sure that the first WM_PAINT does a full draw,
658         not just a blit.
659         * ThemeWin32Classic.cs: Don't fill the background for picture
660         boxes. This could overright user drawing.
661         * ComboBox.cs: Just fill the clipping rect not the entire client
662         rect when drawing the background. This prevents pieces of the
663         image buffer from getting overwritten and is theoretically faster.
664
665 2005-04-26  Jordi Mas i Hernandez <jordi@ximian.com>
666
667         * ComboBox.cs: Databinding support fixes, fire missing events
668         * ListControl.cs: implement missing methods and properties, fixes
669         * ThemeWin32Classic.cs: Databiding support on Drawing
670         * CheckedListBox.cs: Databinding support fixes, fire missing events
671         * ListBox.cs: Databinding support fixes, fire missing events
672         
673 2005-04-25  Peter Bartok  <pbartok@novell.com>
674
675         * LinkLabel.cs: Length of LinkArea is not allowed to be negative
676
677 2005-04-25  Jackson Harper  <jackson@ximian.com>
678
679         * TreeView.cs: Use the horizontal scrollbars height not width when
680         determining how much of the client area is available.
681
682 2005-04-25  Jackson Harper  <jackson@ximian.com>
683
684         * Control.cs: Double buffering is handled differently now. As per
685         the spec, the extra buffer is created in the WM_PAINT message and
686         passed down to the control's drawing code.
687         * GroupBox.cs:
688         * Label.cs:
689         * CheckBox.cs:
690         * ProgressBar.cs:
691         * RadioButton.cs:
692         * ColorDialog.cs:
693         * ComboBox.cs:
694         * PropertyGridView.cs:
695         * UpDownBase.cs:
696         * MessageBox.cs:
697         * MenuAPI.cs:
698         * ListView.cs:
699         * ButtonBase.cs:
700         * SizeGrip.cs:
701         * ScrollBar.cs:
702         * ListBox.cs:
703         * TrackBar.cs:
704         * ToolBar.cs:
705         * PictureBox.cs:
706         * DateTimePicker.cs:
707         * StatusBar.cs:
708         * TreeView.cs: Update to new double buffering system.
709         * MonthCalendar.cs: Uncomment block, as Capture is now
710         working. Update to new double buffering
711         * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
712         * PaintEventArgs.cs: New internal method allows us to set the
713         graphics object. This is used for double buffering.
714         * ThemeWin32Classic.cs: Give the picture box drawing code a clip
715         rectangle. The internal paint_area var has been removed from
716         StatusBar. The clipping rect should be used instead.
717         * Theme.cs: Give the PictureBox drawing method a clipping rect.
718         * TabPage.cs: The RefreshTabs method was removed, so just call the
719         tab controls Refresh method now.
720         * TabControl.cs: Update to new double buffering. Make sure the
721         handle is created before sizing the tab pages, otherwise we will
722         get stuck in a loop.
723
724 2005-04-24  Borja Sanchez Zamorano <borsanza@gmail.com>
725
726         * LinkLabel.cs: Fix typo, bug #74719; patch
727           from Borja Sanchez Zamorano
728
729 2005-04-22  Jackson Harper  <jackson@ximian.com>
730
731         * TreeNode.cs: Implement Handle stuff.
732         * TreeView.cs: Utility methods so nodes can get/lookup by handle.
733
734 2005-04-22  Jordi Mas i Hernandez <jordi@ximian.com>
735
736         * DataGridTextBoxColumn.cs: call base constructors, fixes
737         * GridColumnStylesCollection.cs: missing events, methods, and functionality
738         * GridTableStylesCollection.cs: fixes, check duplicate mapping names
739         * DataGridTableStyle.cs: implements create default column styles
740         * DataGridBoolColumn.cs: which types can handle
741         * DataGrid.cs: missing methods, fixes, new functionality
742         * DataGridColumnStyle.cs: fixes
743
744 2005-04-20  Alexander Olk  <xenomorph2@onlinehome.de>
745         * FolderBrowserDialog.cs:
746         - Use a thread to fill the TreeView
747         - Adjusted some sizes
748
749 2005-04-19  Peter Bartok  <pbartok@novell.com>
750
751         * LinkLabel.cs: (Re-)create the pieces when setting the Text
752           property. Fixes #74360.
753
754 2005-04-19  Jackson Harper  <jackson@ximian.com>
755
756         * XEventQueue.cs: Lock when getting the lockqueue size.
757         * PictureBox.cs: Call base OnPaint
758         
759 2005-04-19  Peter Bartok  <pbartok@novell.com>
760
761         * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
762           messages were no longer being processed (this broke BeginInvoke)
763
764           
765 2005-04-18  Jackson Harper  <jackson@ximian.com>
766
767         * TreeView.cs: buglet that caused node images to get drawn
768         regardless of whether or not they were in the clipping rectangle.
769
770 2005-04-18  Jackson Harper  <jackson@ximian.com>
771
772         * CurrencyManager.cs: There are four rules for GetItemProperties:
773         - If the type is an array use the element type of the array
774         - If the type is a typed list, use the type
775         - If the list contains an Item property that is not an object, use
776         that property
777         - use the first element of the list if there are any elements in
778         the list.
779         
780 2005-04-17  Jackson Harper  <jackson@ximian.oom>
781
782         * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
783         click. This handles offsets for scrolling properly and reduces
784         memory. Also fixed GetNode to not offset now that TopNode works
785         properly.
786         * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
787         
788 2005-04-17  Jackson Harper  <jackson@ximian.com>
789
790         * CursorConverter.cs: Initial implementation.
791
792 2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
793
794         * ListControl.cs: work towards complex data binding support on ListControl
795         * CurrencyManager.cs: work towards complex data binding support on ListControl
796         * ListBox.cs: work towards complex data binding support on ListControl
797
798
799 2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
800
801         * GridTableStylesCollection.cs: fixes name and constructor
802         * DataGridTableStyle.cs: fixes
803         * DataGridBoolColumn.cs: fixes names and constructors
804         * DataGrid.cs: define methods and properties. Some init implementations
805         * DataGridCell.cs: define methods and properties. Some init implementations
806         * GridTablesFactory.cs: Define methods and properties
807
808 2005-04-15  Geoff Norton  <gnorton@customerdna.com>
809
810         * XplatUIOSX.cs:  Handle proper mouse tracking even if the current
811         graphics port changes.  We still want the coordinates in global screen
812         coordinates.
813
814 2005-04-14  Jackson Harper  <jackson@ximian.com>
815
816         * TreeView.cs: Handle clicks when plus minus is disabled. Don't
817         check plus minus or checkbox clicks unless those features are enabled.
818
819 2005-04-14  Jackson Harper  <jackson@ximian.com>
820
821         * TreeView.cs: Add methods for setting the top and bottom visible
822         nodes. TreeNode::EnsureVisible uses these methods.
823         * TreeNode.cs: Implement EnsureVisible
824
825 2005-04-13  Jordi Mas i Hernandez <jordi@ximian.com>
826
827         * Form.cs: Pospone menu assignation if the window has not been created yet
828         * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
829         size and position
830
831 2005-04-12  Jackson Harper  <jackson@ximian.com>
832
833         * TreeView.cs: Set the TopNode properly when scrolling
834         occurs. This has the added benifit of reducing the amount of
835         walking that needs to be done when drawing. Also removed an old
836         misleading TODO.
837         * OpenTreeNodeEnumerator.cs: Fix moving backwards.
838         
839 2005-04-11  Jordi Mas i Hernandez <jordi@ximian.com>
840
841         * Timer.cs: fixes interval setting when the timer is already enabled
842         
843 2005-04-10  Alexander Olk  <xenomorph2@onlinehome.de>
844
845         * FolderBrowserDialog.cs: First approach
846
847 2005-04-09  Peter Bartok  <pbartok@novell.com>
848
849         * FolderBrowserDialog: Added
850
851 2005-04-07  Jordi Mas i Hernandez <jordi@ximian.com>
852
853         * LinkLabel.cs: move drawing code into the theme
854         * ThemeWin32Classic.cs: drawing code and painting background bugfix
855         * Theme.cs: define DrawLinkLabel method
856
857 2005-04-05  Jackson Harper  <jackson@ximian.com>
858
859         * BindingContext.cs: Use weak references so these bad actors don't
860         stay alive longer then they need to.
861
862 2005-04-05  Jackson Harper  <jackson@ximian.com>
863
864         * ListControl.cs: Basic implementation of complex databinding.
865         * ComboBox.cs:
866         * ListBox.cs: Add calls to ListControl databinding methods.
867
868 2005-04-05  Alexander Olk  <xenomorph2@onlinehome.de>
869
870         * FileDialog.cs:
871           - Don't change PopupButtonState to Normal when the
872             PopupButton gets pressed several times.
873           - Renamed ButtonPanel to PopupButtonPanel
874
875 2005-04-05  Jordi Mas i Hernandez <jordi@ximian.com>
876
877         * ColorDialog.cs: Use cached objects instead of creating them
878         * LinkLabel.cs: Use cached objects instead of creating them
879         * Splitter.cs: Use cached objects instead of creating them
880         * FontDialog.cs: Use cached objects instead of creating them
881         * PropertyGridView.cs: Use cached objects instead of creating them
882         * MessageBox.cs: Use cached objects instead of creating them
883         * FileDialog.cs: Use cached objects instead of creating them
884         * ThemeWin32Classic.cs: Use cached objects instead of creating them
885         * TreeView.cs: Use cached objects instead of creating them
886         
887 2005-04-04  Jordi Mas i Hernandez <jordi@ximian.com>
888
889         * Control.cs: use Equals to compare the font since no == op
890         * ScrollBar.cs: use Equals to compare the font since no == op
891
892 2005-04-04  Alexander Olk  <xenomorph2@onlinehome.de>
893
894         * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
895
896 2005-04-01  Jackson Harper  <jackson@ximian.com>
897
898         * Binding.cs: Implement IsBinding.
899         * BindingManagerBase.cs:
900         * PropertyManager.cs:
901         * CurrencyManager.cs: Add IsSuspended property.
902
903 2005-04-01  Jackson Harper  <jackson@ximian.com>
904
905         * Binding.cs: Had some IsAssignableFrom calls backwards.
906
907 2005-04-01  Jackson Harper  <jackson@ximian.com>
908
909         * Binding.cs: Handle null data members when pulling data.
910         * PropertyManager.cs: Handle the data member being a property that
911         does not exist.
912
913 2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
914
915         * DataGridTextBoxColumn.cs: fixes signature
916         * DataGrid.cs: calls right constructor
917
918 2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
919
920         * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
921         * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
922         * GridTableStylesCollection.cs: implements GridTableStylesCollection
923         * DataGridTableStyle.cs: implements DataGridTableStyle
924         * DataGridBoolColumn.cs: implements DataGridBoolColumn
925         * DataGridTextBox.cs: implements DataGridTextBox
926         * DataGridColumnStyle.cs: implements DataGridColumnStyle
927
928 2005-03-31  Alexander Olk  <xenomorph2@onlinehome.de>
929
930         * FileDialog.cs: Added simple PopupButton class for ButtonPanel
931
932 2005-03-29  Peter Bartok  <pbartok@novell.com>
933
934         * Application.cs:
935           - Properly implemented CompanyName property
936           - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
937             returns a path that includes CompanyName, ProductName and
938             Version (fixes bug #70330)
939
940 2005-03-29  Stefan Buehler  <sbuehler@gmx.ch>
941
942         * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
943           fixes bug #72588.
944
945 2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
946
947         * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
948         
949           - Added ReadOnly CheckBox
950           - Further refactoring: moved some code from Open-/SaveFileDialog
951             to FileDialog
952
953 2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
954
955         * OpenFileDialog.cs: Fixed CheckFileExists
956         * FileDialog.cs:
957           Moved FileView and DirComboBox outside FileDialog class.
958           They can now be used outside FileDialog
959
960 2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
961
962         * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
963         * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
964
965 2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
966
967         * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
968           - Added missing CreatePrompt property in SaveDialog
969           - Overall SaveDialog handling should be better now
970           - Added non standard ShowHiddenFiles property
971           - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
972           - Added InitialDirectory and RestoreDirectory support
973
974 2005-03-26  Alexander Olk  <xenomorph2@onlinehome.de>
975
976         * FileDialog.cs: Made dirComboBox usable
977
978 2005-03-24  Alexander Olk  <xenomorph2@onlinehome.de>
979
980         * FileDialog.cs: Added Filter support (case sensitiv)
981
982 2005-03-24  Jackson Harper  <jackson@ximian.com>
983
984         * TabControl.cs: Need a couple more pixels for the lines.
985
986 2005-03-23  Jackson Harper  <jackson@ximian.com>
987
988         * TabControl.cs: Give the tab page focus when it is selected.
989
990 2005-03-23  Jackson Harper  <jackson@ximian.com>
991
992         * TabControl.cs: Account for the drawing of tabs borders when
993         invalidating. If the slider was clicked dont do click detection on
994         the tabs.
995
996 2005-03-23  Jackson Harper  <jackson@ximian.com>
997
998         * TabControl.cs: Fix typo, emilinates an unneeded expose event.
999
1000 2005-03-22  Jonathan Chambers  <jonathan.chambers@ansys.com>
1001
1002         * CategoryGridEntry.cs: Added
1003         * GridItem.cs: Added helper properties
1004         * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
1005         * GridEntry.cs: Updated code for collection
1006         * PropertyGrid.cs: Cleaned up some formatting
1007         * PropertyGridView.cs: Added drop down functionality for enums.
1008         * GridItemCollection.cs: Added enumerator logic
1009         * PropertyGridEntry.cs: Added
1010
1011 2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
1012
1013         * FileDialog.cs:
1014           - Removed unnecessary commented code
1015           - Fixed handling for entering the filename manually in the combobox
1016
1017 2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
1018
1019         * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
1020
1021 2005-03-18  Peter Bartok  <pbartok@novell.com>
1022
1023         * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
1024           them being touching the border
1025
1026 2005-03-18  Peter Bartok  <pbartok@novell.com>
1027
1028         * TextControl.cs: Quick hack to center text better
1029
1030 2005-03-18  Peter Bartok  <pbartok@novell.com>
1031
1032         * ControlPaint.cs:
1033           - Don't throw NotImplemented exceptions, just print a notice once
1034             instead (requested by Miguel). This makes running existing SWF
1035             apps a bit easier
1036         * Control.cs:
1037           - Commented out Drag'N'Drop XplatUI call (no driver support yet)
1038           - Added context menu trigger on right click
1039         * Panel.cs: Trigger invalidate on resize
1040         * StatusBar.cs:
1041           - Removed old double-buffer drawing
1042           - Added ResizeRedraw style to force proper update of statusbar
1043         * ListView.cs:
1044           - Removed debug output
1045         * ThemeWin32Classic.cs:
1046           - Fixed drawing of status bar, now draws Text property if there
1047             are no defined panels
1048
1049 2005-03-18  Jackson Harper  <jackson@ximian.com>
1050
1051         * ImageList.cs: When the image stream is set pull all the images
1052         from it.
1053         * ImageListStreamer.cs: Implement reading image list streams.
1054
1055 2005-03-18  Peter Bartok  <pbartok@novell.com>
1056
1057         * ThemeWin32Classic.cs (DrawPictureBox):
1058           - Fixed calculations for centered drawing
1059           - Fixed drawing for normal mode, not scaling the image on normal
1060
1061 2005-03-18  Peter Bartok  <pbartok@novell.com>
1062
1063         * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
1064           textbox
1065         * FileDialog.cs:
1066           - Made Open/Save button the accept button for FileDialog
1067           - Tied the cancel button to the IButtonControl cancel button
1068           - Save/Open now properly builds the pathname
1069           - Now handles user-entered text
1070           - Preventing crash on right-click if no item is selected
1071           - Fixed Text property, now uses contents of textbox
1072           - Fixed SelectedText property, now just returns the text part that
1073             is selected in the text box
1074
1075 2005-03-18  Jackson Harper  <jackson@ximian.com>
1076
1077         * ThemeWin32Classic.cs: Use the proper func for drawing the focus
1078         rect, make sure to de-adjust the interior rect after drawing the
1079         tab text.
1080
1081 2005-03-18  Peter Bartok  <pbartok@novell.com>
1082
1083         * MenuAPI.cs: Remove menu *before* executing selected action to
1084           prevent the menu from 'hanging around'
1085           
1086 2005-03-17  Geoff Norton  <gnorton@customerdna.com>
1087
1088         * XplatUIOSX.cs: Implemented WorkingArea property
1089
1090 2005-03-17  Peter Bartok  <pbartok@novell.com>
1091
1092         * XplatUIX11.cs: Fixed menu coord calculations
1093         * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
1094           for calculating offsets
1095
1096 2005-03-17  Peter Bartok  <pbartok@novell.com>
1097
1098         * Hwnd.cs: Do not consider menu presence for default client
1099           rectangle location/size
1100         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
1101           XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
1102           translation functions
1103         * FileDialog.cs: Fixed (what I presume is a) typo
1104
1105 2005-03-17  Jonathan Gilbert  <logic@deltaq.org>
1106
1107         * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
1108           X access (avoids X-Async errors)
1109
1110 2005-03-16  Jackson Harper  <jackson@ximian.com>
1111
1112         * TabControl.cs: Raise the SelectedIndexChanged event.
1113
1114 2005-03-16  Alexander Olk  <xenomorph2@onlinehome.de>
1115
1116         * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
1117           - Removed vertical ToolBar and replaced it with a custom panel
1118             (desktop and home button already work)
1119           - Added Help button (some controls get resized or relocated then)
1120           - Draw correct text depending on Open or Save.
1121           - Fixed some typos...
1122
1123 2005-03-16  Jordi Mas i Hernandez <jordi@ximian.com>
1124
1125         * ScrollBar.cs:
1126           - Only change Maximum and Minimum when need it (bug fix)
1127
1128 2005-03-15  Peter Bartok  <pbartok@novell.com>
1129
1130         * Form.cs: Use Handle for icon, to trigger creation if
1131           the window does not yet exist
1132         * Control.cs:
1133           - CanSelect: Slight performance improvement
1134           - Focus(): Preventing possible recursion
1135           - Invalidate(): Removed ControlStyle based clear flag setting
1136           - WM_PAINT: fixed logic for calling OnPaintBackground
1137           - WM_ERASEBKGND: Fixed logic, added call to new driver method
1138             EraseWindowBackground if the control doesn't paint background
1139         * XplatUIWin32.cs:
1140           - Moved EraseWindowBackground() method to internal methods
1141           - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
1142             is sent via SendMessage on BeginPaint call on Win32
1143         * XplatUIX11.cs:
1144           - Added EraseWindowBackground() method
1145           - No longer sends WM_ERASEBKGND on .Expose, but on call to
1146             PaintEventStart, which more closely matches Win32 behaviour
1147           - Fixed Invalidate() call, now updates new ErasePending Hwnd property
1148           - Fixed SetFocus() to properly deal with client and whole windows
1149         * Hwnd.cs: Added ErasePending property
1150         * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
1151         * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
1152
1153 2005-03-12  Geoff Norton  <gnorton@customerdna.com>
1154
1155         * XplatUIOSX.cs:
1156           - Fix hard loop when timers exist.
1157           - Fix bugs with middle and right click for 3 button mice.
1158
1159 2005-03-11  Peter Bartok  <pbartok@novell.com>
1160
1161         * XplatUIX11.cs:
1162           - get_WorkingArea: Need to call X directly, GetWindowPos only
1163             returns cached data now
1164           - Added sanity check to GetWindowPos hwnd usage
1165
1166 2005-03-11  Jackson Harper  <jackson@ximian.com>
1167
1168         * BindingManagerBase.cs: This method isn't used anymore as
1169         PullData now updates the data in the control.
1170
1171 2005-03-11  Jordi Mas i Hernandez <jordi@ximian.com>
1172
1173         * Form.cs: fixes menu drawing on X11
1174         * MenuAPI.cs:  fixes menu drawing on X11
1175
1176 2005-03-11  Peter Bartok  <pbartok@novell.com>
1177
1178         * Control.cs: Changed OnCreateControl behaviour based on a suggestion
1179           from Jonathan Gilbert; should fix bug #73606
1180         * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
1181           in Screen coordinates. Thanks, Jordi.
1182         * Form.cs: Added missing attribute
1183
1184 2005-03-11  Peter Bartok  <pbartok@novell.com>
1185
1186         * Form.cs:
1187           - Rudimentary Mdi support
1188           - Removed outdated FormParent code
1189           - Implemented lots of missing properties and methods, still missing
1190             transparency support
1191           - Added missing attributes
1192           - Implemented support for MaximumBounds
1193           - Added firing of various events
1194         * XplatUI.cs: Added SetIcon() method
1195         * XplatUIDriver.cs: Added SetIcon() abstract
1196         * XplatUIOSX.cs: Stubbed out SetIcon() method
1197         * XplatUIX11.cs:
1198           - Implemented SetIcon() support
1199           - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
1200           - Switched to unix line endings
1201         * XplatUIWin32.cs:
1202           - Made POINT internal so for can access it as part of MINMAX
1203           - Implemented SetIcon() support
1204           - Implemented support for CLIENTCREATESTRUCT (but might have to drop
1205             native Mdi support again, might have to go managed)
1206         * Control.cs: Now fires the StyleChanged event
1207         * MdiClient.cs: Added; still mostly empty
1208
1209 2005-03-10  Peter Bartok  <pbartok@novell.com>
1210
1211         * SaveFileDialog.cs: Added emtpy file
1212
1213 2005-03-08  Peter Bartok  <pbartok@novell.com>
1214
1215         * Control.cs: Fixed bug #73190; now invokes CreateControl (which
1216           in turn triggers OnCreateContro) when creating a handle for the
1217           first time.
1218         * TextControl.cs: Fixed endless loop in certain cases when
1219           replacing the current selection
1220
1221 2005-03-08  Jordi Mas i Hernandez <jordi@ximian.com>
1222
1223         * ScrollBar.cs:
1224           - Honors NewValue changes in Scroll events allowing apps to change it
1225           - Adds First and Last Scroll events
1226           - Fixes Thumb events
1227
1228 2005-03-07  Peter Bartok  <pbartok@novell.com>
1229
1230         * Hwnd.cs: Added DefaultClientRectangle property
1231         * XplatUI.cs: Now using the X11 driver Where() method, which provides
1232           more detailed debug information
1233         * XplatUIX11.cs:
1234           - Fixed size-change feedback loop, where we would pull an old size
1235             off the queue and mistakenly change our window's size to an
1236             earlier value
1237           - Now compressing ConfigureNotify events, to reduce looping and
1238             redraw issues
1239         * TextBoxBase.cs: Preventing crash when no text is set and ToString()
1240           is called
1241
1242 2005-03-07  Jackson Harper  <jackson@ximian.com>
1243
1244         * Binding.cs: Push data pushes from data -> property. Check if the
1245         property is readonly when attempting to set it.
1246
1247 2005-03-07  Jackson Harper  <jackson@ximian.com>
1248
1249         * Binding.cs: Format and parse data correctly. Use ASsignableFrom
1250         instead of IsSubclassOf. Pulling data now sets the value on the
1251         control.
1252         * PropertyManager.cs:
1253         * CurrencyManager.cs: Just need to pull data when updating now,
1254         because PullData will set the value on the control.
1255
1256 2005-03-04  Jackson Harper  <jackson@ximian.com>
1257
1258         * Binding.cs: Implement data type parsing and converting on pulled
1259         data. TODO: Are there more ways the data can be converted?
1260
1261 2005-03-04  Jackson Harper  <jackson@ximian.com>
1262
1263         * Binding.cs: Support <Property>IsNull checks. Also bind to the
1264         controls Validating method so we can repull the data when the
1265         control loses focus.
1266
1267 2005-03-03  Jordi Mas i Hernandez <jordi@ximian.com>
1268
1269         * ColumnHeader.cs:
1270           - Fixes null string format
1271           
1272         * ListView.cs:
1273           - Adds enum type checks
1274           - Fixes redrawing and recalc need after changing some properties
1275           - Fixes on focus_item set after the event
1276           - Fixes adding columns after the control has been created
1277           
1278         * ThemeWin32Classic.cs:
1279           - Fixes CheckBox focus rectangle
1280           - Fixes ColumnHeader drawing
1281
1282
1283 2005-03-03  Jackson Harper  <jackson@ximian.com>
1284
1285         * Binding.cs: Bind to <Property>Changed events so we can detect
1286         when properties are changed and update the data.
1287
1288 2005-03-02  Jordi Mas i Hernandez <jordi@ximian.com>
1289
1290         * ImageList.cs:
1291           - Changes 32-bit pixel format to Format32bppArgb to allow transparency
1292           - Fixes ImageList constructor with ImageList container
1293           - Fixes image scaling (wrong parameters at DrawImage)
1294
1295 2005-02-02  Jackson Harper  <jackson@ximian.com>
1296
1297         * Binding.cs: Make property searches case-insensitive. Eliminate
1298         some duplicated code.
1299
1300 2005-03-01  Jordi Mas i Hernandez <jordi@ximian.com>
1301
1302         * ComboBox.cs:
1303                 - Handle focus event
1304                 - Fix scrollbar events
1305                 - Discard highlighted item if remove it
1306                 - Fixes SelectedItem with strings
1307
1308 2005-03-01  Peter Bartok  <pbartok@novell.com>
1309
1310         * Control.cs:
1311           - Fixed Visible property, now follows (once again) parent chain
1312             to return false if any control in the chain is visible=false
1313           - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
1314           - Fixed several places where is_visible instead of Visible was used
1315           - Implemented FIXME related to focus selection when setting focused
1316             control to be invisible
1317
1318         * XplatUIWin32.cs: Now using proper method to find out if window is
1319           visible. Thanks to Jordi for pointing it out
1320
1321 2005-02-28  Jordi Mas i Hernandez <jordi@ximian.com>
1322
1323         * ComboBox.cs: show/hide scrollbar instead of creating it
1324
1325 2005-02-27  Jackson Harper  <jackson@ximian.com>
1326
1327         * CurrencyManager.cs: Add PositionChanged stuff.
1328
1329 2005-02-27  Peter Bartok  <pbartok@novell.com>
1330
1331         * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
1332         * XplatUIOSX.cs: Added GetMenuOrigin() stub
1333         * XplatUIWin32.cs: Implemented GetMenuOrigin()
1334         * XplatUIX11.cs:
1335           - Implemented GetMenuDC()
1336           - Implemented GetMenuOrigin()
1337           - Implemented ReleaseMenuDC()
1338           - Implemented generation of WM_NCPAINT message
1339           - Implemented generation and handling of WM_NCCALCSIZE message
1340         * Form.cs: Added debug helper message for Jordi's menu work
1341         * Hwnd.cs:
1342           - Modified ClientRect property; added setter, fixed getter to handle
1343             setting of ClientRect
1344           - Added MenuOrigin property
1345
1346 2005-02-26  Peter Bartok  <pbartok@novell.com>
1347
1348         * XplatUIX11.cs:
1349           - Destroys the caret if a window that's being destroyed contains it
1350           - Ignores expose events coming from the X11 queue for windows that
1351             already are destroyed
1352           - Now uses the proper variable for handling DestroyNotify, before we
1353             marked the wrong window as destroyed
1354           - Improved/added some debug output
1355
1356 2005-02-26  Peter Bartok  <pbartok@novell.com>
1357
1358         * X11Keyboard.cs: Fixes to work on 64bit systems
1359
1360 2005-02-26  Peter Bartok  <pbartok@novell.com>
1361
1362         * Control.cs:
1363           - Now calling OnHandleDestroyed from DestroyHandle()
1364             instead of Dispose()
1365           - Removed bogus call to controls.Remove() from DestroyHandle()
1366
1367 2005-02-26  Peter Bartok  <pbartok@novell.com>
1368
1369         * Control.cs: Properly destroy child windows when our handle is
1370           destroyed
1371
1372 2005-02-25  Peter Bartok  <pbartok@novell.com>
1373
1374         * XplatUI.cs:
1375           - Added 'DriverDebug' define to allow tracing XplatUI API calls
1376           - Alphabetized Static Methods and Subclasses
1377
1378         * XplatUIX11.cs:
1379           - Added XException class to allow custom handling of X11 exceptions
1380           - Created custom X11 error handler, tied into XException class
1381           - Added support for MONO_XEXCEPTIONS env var to allow the user
1382             to either throw an exception on X errors or continue running
1383             after displaying the error
1384           - Added handling of DestroyNotify message
1385           - Added handler for CreateNotify message (still disabled)
1386           - Improved (tried to at least) Where method to provide file and lineno
1387         * X11Structs.cs:
1388           - Added XErrorHandler delegate
1389           - Added XRequest enumeration (to suppor translation of errors)
1390
1391 2005-02-25  Jackson Harper  <jackson@ximian.com>
1392
1393         * PropertyManager.cs: Implement editing features
1394         * CurrencyManager.cs:
1395         * Binding.cs: First attempt at UpdateIsBinding
1396         * BindingManagerBase.cs: Call UpdateIsBinding before
1397         pushing/pulling data.
1398
1399 2005-02-25  Jordi Mas i Hernandez <jordi@ximian.com>
1400
1401         * MenuAPI.cs: Respect disabled items
1402         * ThemeWin32Classic.cs
1403                 - Caches ImageAttributes creation for DrawImageDisabled
1404                 - Fixes vertical menu line drawing
1405                 - Draws disabled arrows in disable menu items
1406
1407 2005-02-24  Peter Bartok  <pbartok@novell.com>
1408
1409         * Hwnd.cs:
1410           - Added UserData property to allow associating arbitrary objects
1411             with the handle
1412           - Fixed leak; now removing Hwnd references from static windows array
1413         * XplatUIWin32.cs:
1414           - Fixed Graphics leak in PaintEventEnd
1415           - Removed usage of HandleData, switched over to Hwnd class
1416         * HandleData.cs: Removed, obsoleted by Hwnd.cs
1417
1418 2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
1419
1420         * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
1421         * ScrollBar.cs: Fixes bug
1422         * TrackBar.cs: removes death code, clipping, mimize refreshes,
1423          keyboard navigation enhancements
1424
1425 2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
1426
1427         * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
1428         * GroupBox.cs: Add control styles
1429         * Label.cs: Add control styles
1430         * UpDownBase.cs: Add control styles
1431         * ListBox.cs: Add control styles
1432         * XplatUIWin32.cs: Fixes wrong parameter order
1433
1434
1435 2005-02-23  Chris Bacon  <chris.bacon@docobo.co.uk>
1436
1437         * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
1438
1439 2005-02-23  Jackson Harper  <jackson@ximian.com>
1440
1441         * PropertyManager.cs: Implement property binding. This doesn't
1442         seem to work yet though as (I think) there are some bugs in
1443         System.ComponentModel.PropertyDescriptor.
1444         * BindingContext.cs: Use new PropertyManager constructor.
1445
1446 2005-02-23  Jordi Mas i Hernandez <jordi@ximian.com>
1447
1448         * ProgressBar.cs: use clip region in ProgressBar
1449         * ThemeWin32Classic.cs: use clip region in ProgressBar
1450
1451 2004-02-22  Jackson Harper  <jackson@ximian.com>
1452
1453         * BindingsCollection.cs: Remove some debug code.
1454
1455 2005-02-22  Jackson Harper  <jackson@ximian.com>
1456
1457         * BindingContext.cs:
1458         * ControlBindingsCollection.cs:
1459         * CurrencyManager.cs:
1460         * Binding.cs:
1461         * BindingManagerBase.cs: Initial implementation
1462         * BindingsCollection.cs: Add an internal contains method that the
1463         BindingManagerBase uses to ensure bindings aren't added twice to
1464         the collection.
1465         * PropertyManager.cs: Stubbed out.
1466         * Control.cs:
1467         * ContainerControl.cs: Hook up databinding
1468         
1469 2005-02-22  Geoff Norton  <gnorton@customerdna.com>
1470
1471         * XplatUIOSX.cs:
1472           OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
1473           Fixed Invalidate/Update chain.
1474           Fixed tons of other minor bugs (this is almost a complete rewrite).
1475
1476 2005-02-22  Jordi Mas i Hernandez <jordi@ximian.com>
1477
1478         * ComboBox.cs: do subcontrol creation when the control is created
1479
1480 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
1481
1482         * Label.cs: fixes image drawing (image and imagelist)
1483         * ThemeWin32Classic.cs: cache brushes
1484         
1485 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
1486
1487         * Form.cs: Move menu drawing code to Theme class
1488         * ComboBox.cs: Move ComboBox drawing code to Theme class
1489         * MenuItem.cs: Move menu drawing code to Theme class
1490         * MenuAPI.cs: Move menu drawing code to Theme class
1491         * ThemeWin32Classic.cs: New methods
1492         * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
1493         * ListBox.cs: Move Listbox drawing code to Theme class
1494         * Theme.cs: New methods
1495
1496 2005-02-20  Peter Bartok  <pbartok@novell.com>
1497
1498         * Control.cs:
1499           - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
1500             only process mnemonics on those)
1501           - Fixed event sequence for key handling; first calling
1502             ProcessKeyEventArgs now
1503         * TextBoxBase.cs:
1504           - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
1505             for processing non-character keys
1506           - Fixed WM_CHAR to generate proper event sequence before processing
1507         * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
1508           generation
1509
1510 2005-02-19  Peter Bartok  <pbartok@novell.com>
1511
1512         * UserControl.cs: Added TextChanged event; added attributes
1513         * SizeGrip.cs: Implemented resizing and optional display of grip
1514         * Form.cs: Fixed attribute
1515         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
1516           Changed meaning of ScrollWindow bool argument; instead of the
1517           clear attribute (which will be true usually anyway), it gives the
1518           option of moving child controls as well.
1519         * XplatUIX11.cs:
1520           - Changed to match new ScrollWindow argument
1521           - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
1522             now handles the implicit parent window a WM puts around us
1523         * ScrollableControl.cs: Implemented (not the prettiest, but it seems
1524           to work)
1525         * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
1526         * TreeView.cs: Adjusted to new ScrollWindow arguments
1527
1528 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
1529
1530         * Form.cs: Menu integration with non-client area
1531         * MenuItem.cs: Menu integration with non-client area
1532         * MenuAPI.cs: Menu integration with non-client area
1533
1534 2005-02-18  Peter Bartok  <pbartok@novell.com>
1535
1536         * MethodInvoker.cs: Added
1537         * MdiLayout.cs: Added
1538         * SendKeys.cs: Started implementation
1539         * ErrorIconAlignment.cs: Added
1540
1541 2005-02-18  Peter Bartok  <pbartok@novell.com>
1542
1543         * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
1544         * Form.cs: Added handling for Menu-related Non-client messages
1545
1546 2005-02-17  Peter Bartok  <pbartok@novell.com>
1547
1548         * UpDownBase.cs: Fixed typo, compilation errors
1549         * DomainUpDown.cs: Fixed attribute value
1550
1551 2005-02-16  Miguel de Icaza  <miguel@novell.com>
1552
1553         * UpDownBase.cs: Attach entry events.
1554         Propagate events.
1555         Add ForeColor property, Focused, InterceptArrowKeys (interception
1556         does not work yet).
1557
1558 2005-02-17  Jordi Mas i Hernandez <jordi@ximian.com>
1559
1560         * Form.cs:
1561                 - Redraw non client are on Setmenu
1562                 - Calc proper menu starting point
1563
1564 2005-02-17  Peter Bartok  <pbartok@novell.com>
1565
1566         * Application.cs: Fixed message_filter check
1567
1568 2005-02-17  Peter Bartok  <pbartok@novell.com>
1569
1570         * Application.cs: Now calls registered message filters
1571         * DockStyle.cs: Fixed attribute
1572         * Form.cs: Fixed attribute
1573         * Menu.cs: Fixed attribute
1574         * ToolTip.cs: Fixed attribute
1575         * TreeNode.cs: Added missing attributes and arranged in regions
1576         * PropertyGrid.cs: Fixed signatures
1577         * TreeNodeCollection.cs: Added attributes
1578         * Splitter.cs: Added missing attributes; arranged into regions
1579         * TabPage.cs: Added missing attributes; arranged into regions
1580         * TextBoxBase.cs: Added missing attributes
1581         * TextBox.cs: Added missing attributes
1582         * ArrangeDirection.cs: Added missing attributes
1583         * TreeNodeConverter.cs: Added stub (needed for TreeNode)
1584         * ToolBarButton.cs: Fixed attributes
1585         * AnchorStyles.cs: Fixed attribute
1586         * TrackBar.cs: Fixed attributes
1587         * TabControl.cs: Added missing attributes and arranged into regions
1588         * ToolBar.cs: Fixed attribute
1589         * StatusBar.cs: Fixed signature, organized into regions and added
1590           attributes
1591         * StatusBarPanel.cs: Fixed attributes
1592         * ContentsResizedEventArgs.cs: Implemented
1593         * ContentsResizedEventHandler.cs: Implemented
1594         * DateBoldEventArgs.cs: Implemented
1595         * DateBoldEventHandler.cs: Implemented
1596         * UpDownEventArgs.cs: Implemented
1597         * UpDownEventHandler.cs: Implemented
1598         
1599 2005-02-16  Jordi Mas i Hernandez <jordi@ximian.com>
1600
1601         * Form.cs: first Menu NC refactoring
1602         * MenuAPI.cs: first Menu NC refactoring
1603         
1604 2005-02-16  Peter Bartok  <pbartok@novell.com>
1605
1606         * ImeMode.cs: Added missing attributes
1607         * Menu.cs: Fixed attribute
1608         * GroupBox.cs: Fixed attribute
1609         * Label.cs: Fixed attribute
1610         * ColorDialog.cs (RunDialog): Removed TODO attribute
1611         * ComboBox.cs: Fixed attributes
1612         * ListControl.cs: Added missing attributes
1613         * PropertyGrid.cs: Fixed attributes
1614         * Control.cs: Fixed attributes
1615         * ListViewItem.cs: Added TypeConverter attribute
1616         * NotifyIcon.cs: Fixed attributes
1617         * ListView.cs: Fixed attributes
1618         * ButtonBase.cs: Fixed attribute
1619         * ImageList.cs: Added missing attributes
1620         * ContainerControl.cs: Fixed signature
1621         * CheckedListBox.cs: Fixed attribute; added missing attributes
1622         * Panel.cs: Fixed attributes
1623         * PropertyTabChangedEventArgs.cs: Added missing attribute
1624         * PropertyValueChangedEventArgs.cs: Added missing attribute
1625         * Binding.cs: Fixed attribute
1626         * ListViewItemConverter: Implemented ListViewSubItemConverter class
1627         * ListBox.cs: Fixed attribute; added missing attributes;
1628         * ScrollableControl.cs: Added missing attributes
1629         * PictureBox.cs: Added missing attributes; implemented missing property
1630         * DateTimePicker.cs: Added missing attributes
1631         * Theme.cs (ToolWindowCaptionHeight): Fixed type
1632         * MonthCalendar.cs: Fixed attributes
1633         * StatusBarPanel.cs: Added missing attributes
1634         * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
1635
1636 2005-02-16  Peter Bartok  <pbartok@novell.com>
1637
1638         * TextBoxBase.cs: The previous method to enforce height yet remember
1639           the requested high was less than ideal, this is an attempt to do
1640           it better.
1641         * Control.cs: Added comment about possible problem
1642         * Copyright: Updated format
1643         * GridItemType.cs: Fixed swapped values
1644
1645 2005-02-15  Jackson Harper  <jackson@ximian.com>
1646
1647         * BaseCollection.cs: Use property so we never access an
1648         uninitialized list. Also initialize the list in the property.
1649
1650 2005-02-15  Peter Bartok  <pbartok@novell.com>
1651
1652         * GroupBox.cs (ProcessMnemonic): Implemented
1653         * Label.cs (ProcessMnemonic): Implemented
1654         * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
1655           hotkeys
1656
1657 2005-02-15  Peter Bartok  <pbartok@novell.com>
1658
1659         * RadioButton.cs (ProcessMnemonic): Implemented
1660         * CheckBox.cs (ProcessMnemonic): Implemented
1661         * Control.cs:
1662           - Added handling of WM_SYSxxx keyboard messages to support mnemonic
1663             handling
1664           - Added internal method to allow calling ProcessMnemonic from other
1665             controls
1666         * ContainerControl.cs:
1667           - Started support for handling validation chain handling
1668           - Implemented ProcessMnemonic support
1669           - Added Select() call to Active, to make sure the active control
1670             receives focus
1671         * Form.cs: Setting toplevel flag for Forms (this was lost in the
1672           FormParent rewrite)
1673         * ThemeWin32Classic.cs:
1674           - DrawCheckBox(): Fixed stringformat to show hotkeys
1675           - DrawRadioButton(): Fixed stringformat to show hotkeys
1676         * CommonDialog.cs: Removed WndProc override, not needed
1677
1678 2005-02-14  Peter Bartok  <pbartok@novell.com>
1679
1680         * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
1681           missed those in the rewrite
1682
1683 2005-02-14  Miguel de Icaza  <miguel@novell.com>
1684
1685         * NumericUpDown.cs (Increment, ToString): Add.
1686         (DecimalPlaces): implement.
1687         
1688         Add attributes.
1689         
1690         * UpDownBase.cs: Add the designer attributes.
1691
1692 2005-02-13  Peter Bartok  <pbartok@novell.com>
1693
1694         * Panel.cs: Removed border_style, now in Control
1695         * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
1696           ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
1697
1698 2005-02-13  Peter Bartok  <pbartok@novell.com>
1699
1700         * MouseButtons.cs: Added missing attributes
1701         * XplatUIStructs.cs: Added enumeration for title styles
1702         * LeftRightAlignment.cs: Added missing attributes
1703         * Hwnd.cs: Switched to use client_window as handle (slower, but makes
1704           it compatible with Graphics.FromHwnd()
1705         * SelectedGridItemChangedEventArgs.cs: Fixed property type
1706         * Keys.cs: Added missing attributes
1707         * SelectionRange.cs: Added missing attributes
1708         * SelectionRangeConverter.cs: Added
1709         * XplatUI.cs:
1710           - Introduced SetBorderStyle, SetMenu, GetMenuDC and
1711             ReleaseMenuDC methods
1712           - Renamed ReleaseWindow to UngrabWindow
1713           - Added proper startup notice to allow version identification
1714         * Form.cs:
1715           - Added missing attributes
1716           - Removed FormParent concept
1717         * Label.cs: Removed border_style field, now in Control
1718         * RadioButton.cs: Now properly selects RadioButton when focus is
1719           received
1720         * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
1721         * Control.cs:
1722           - Added missing attributes
1723           - Added borderstyle handling
1724           - Removed FormParent concept support
1725           - Fixed calls to XplatUI to match changed APIs
1726           - Fixed bug that would case us to use disposed Graphics objects
1727           - Removed unneeded internal methods
1728           - PerformLayout(): Fixed to handle DockStyle.Fill properly
1729           - SelectNextControl(): Fixed to properly check common parents
1730         * TextBoxBase.cs: Removed border_style field (now in Control)
1731         * MessageBox.cs:
1732           - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
1733             fixed calculations for form size
1734           - Added support for localized strings and icons
1735           - Improved form size calculations, added border
1736         * ListView.cs: Removed border_style field (now in Control)
1737         * X11Structs.cs: Moved several structs from X11 driver here
1738         * X11Keyboard.cs: Changed debug message
1739         * Application.cs: Removed FormParent concept support
1740         * CommonDialog.cs:
1741           - Resetting end_modal flag
1742           - Removed FormParent concept support
1743         * NativeWindow.cs: Removed FormParent concept support
1744         * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
1745           Client area and Non-Client whole window to allow support for WM_NC
1746           messages
1747         * XplatUIOSX.cs: Updated to match latest driver spec; added exception
1748           prevent using it until it supports Hwnd as per Geoff Norton's request
1749         * ToolBar.cs: Fixed drawing, was not doing proper drawing
1750         * PictureBox.cs: Removed border_style field, now in Control
1751         * XplatUIWin32.cs: Added new driver methods
1752
1753 2005-02-12  Peter Bartok  <pbartok@novell.com>
1754
1755         * OpacityConverter.cs: Implemented
1756         * Hwnd.cs: Internal class to support drivers that need to emulate
1757           client area/non-client area window behaviour
1758
1759 2005-02-11  Peter Bartok  <pbartok@novell.com>
1760
1761         * KeysConverter.cs: Implemented
1762
1763 2005-02-11  Jordi Mas i Hernandez <jordi@ximian.com>
1764
1765         * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
1766         * LinkLabel: Added missing attributes
1767         * MainMenu.cs: fixes ToString
1768         * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
1769         * ListBox.cs: fixes event position
1770         * TrackBar.cs: adds missing attributes and events
1771         
1772 2005-02-10  Jordi Mas i Hernandez <jordi@ximian.com>
1773
1774         * MenuItem.cs: Use SystemInformation and bug fixes
1775         * MenuAPI.cs: Use SystemInformation and bug fixes
1776
1777 2005-02-09  Jackson Harper  <jackson@ximian.com>
1778
1779         * X11Keyboard.cs: We ignore some keys, but still need to set/reset
1780         their keystate otherwise things like VK_MENU get stuck "on".
1781
1782 2005-02-09  Kazuki Oikawa <kazuki@panicode.com>
1783
1784         * ListBox.cs: Fixes AddRange bug
1785         
1786 2005-02-09  Jordi Mas i Hernandez <jordi@ximian.com>
1787
1788         * ProgressBar.cs
1789                 - Add missing attributes
1790                 - Add missing method
1791                 
1792         * CheckedListBox.cs: Added missing attributes
1793                 - Add missing attributes
1794                 - Remove extra method
1795         
1796         * ComboBox.cs: Added missing attributes
1797         * VScrollBar.cs: Added missing attributes
1798         * ScrollBar.cs:  Added missing attributes
1799         * ListBox.cs: Fixes signature, add missing consts
1800         * LinkArea.cs:   Added missing attributes
1801         
1802
1803 2005-02-08  Peter Bartok  <pbartok@novell.com>
1804
1805         * Menu.cs: Added missing attributes
1806         * MainMenu.cs: Added missing attributes
1807         * GroupBox.cs: Added missing attributes
1808         * Label.cs: Added missing attributes
1809         * CheckBox.cs: Implemented CheckBoxAccessibleObject class
1810         * ColorDialog.cs:
1811           - Added Instance and Options properties
1812           - Added missing attributes
1813         * Cursor.cs: Made Serializable
1814         * NotifyIcon: Added missing attributes
1815         * MenuItem.cs: Added missing attributes
1816         * TextBoxBase.cs: Implemented AppendText() and Select() methods
1817         * Panel.cs: Added Missing attributes
1818         * MonthCalendar.cs: Fixed CreateParams
1819
1820 2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
1821         
1822         * LinkLabel.cs:
1823                 - Fixes signature
1824                 - Fixes issues with links
1825                 - Adds the class attributes
1826
1827 2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
1828         
1829         * ComboBox.cs:
1830                 - Fixes button when no items available in dropdown
1831                 - Fixes repainting problems
1832                 - Adds the class attributes
1833                 
1834 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
1835
1836         * XplatUIOSX.cs: Detect the menu bar and title bar height from
1837         the current theme.  Cache these on startup.
1838
1839 2005-02-07  Jackson Harper  <jackson@ximian.com>
1840
1841         * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
1842         the scrollbar buttons when they are depressed.
1843
1844 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
1845
1846         * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
1847         Get the display size from the main displayid.  We currently dont
1848         support multiple display configurations.
1849
1850 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
1851
1852         * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
1853
1854 2005-02-07  Miguel de Icaza  <miguel@novell.com>
1855
1856         * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
1857
1858 2005-02-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
1859
1860         * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
1861
1862 2005-02-04  Jackson Harper  <jackson@ximian.com>
1863
1864         * ThemeWin32Classic.cs: Respect the clipping rect when
1865         drawing. Only fill the intersection of clips and rects so there
1866         isn't a lot of large fills.
1867         * ScrollBar.cs: Pass the correct clipping rect to the theme
1868         engine. Remove some debug code.
1869
1870 2005-02-05  John BouAntoun  <jba-mono@optusnet.com.au>
1871         
1872         * DateTimePicker.cs:
1873                 - Fixed crash on DateTime.Parse, use Constructor instead
1874
1875 2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
1876         
1877         * MenuItem.cs:
1878         * MenuAPI.cs:
1879                 - Owner draw support (MeasureItem and DrawItem)
1880
1881 2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
1882         
1883         *  Menu.cs:
1884                 - Implements FindMergePosition and MergeMenu functions (very poor documented)
1885                 - Fixes MenuItems.Add range
1886         * MenuItem.cs:
1887                 - MergeMenu and Clone and CloneMenu functions
1888
1889 2005-02-03  Jackson Harper  <jackson@ximian.com>
1890
1891         * ScrollBar.cs: Make abstract
1892         * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
1893         is abstract.
1894
1895 2005-02-03  Jackson Harper  <jackson@ximian.com>
1896
1897         * ScrollBar.cs: First part of my scrollbar fixups. This removes
1898         all the unneeded refreshes and uses invalidates with properly
1899         computed rects.
1900
1901 2005-02-03  Peter Bartok  <pbartok@novell.com>
1902
1903         * ComponentModel.cs: Added
1904         * IDataGridEditingService.cs: Added
1905         * Timer.cs: Added missing attributes
1906         * ToolTip.cs: Added missing attributes
1907
1908 2005-02-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
1909
1910         * PropertyGridView.cs: Added. Patch by Jonathan Chambers
1911
1912 2005-02-03  Peter Bartok  <pbartok@novell.com>
1913
1914         * ListBox.cs: Added missing attributes
1915
1916 2005-02-03  Jordi Mas i Hernandez <jordi@ximian.com>
1917         
1918         * ListBox.cs:
1919                 - Fixes font height after font change
1920                 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
1921                 
1922 2005-02-02  Peter Bartok  <pbartok@novell.com>
1923
1924         * HandleData.cs: Introduced static methods to allow class
1925           to be more self-contained and track it's own HandleData objects
1926         * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
1927           HandleData to use new static methods
1928
1929 2005-02-02  Jordi Mas i Hernandez <jordi@ximian.com>
1930
1931         * Combobox.cs:
1932                 - Fixes default size and PreferredHeight
1933                 - Missing events
1934                 - ObjectCollection.Insert implementation
1935                 
1936         * ListControl.cs
1937                 - Fixes signature
1938         * ListBox.cs:
1939                 - Several fixes
1940                 - ObjectCollection.Insert implementation
1941                 - No selection after clean
1942                 - Small fixes
1943
1944 2005-01-31      John BouAntoun  <jba-mono@optusnet.com.au>
1945
1946         * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
1947
1948 2005-02-01  Jordi Mas i Hernandez <jordi@ximian.com>
1949
1950         * Combobox.cs:
1951                 - Caches ItemHeight calculation for OwnerDrawVariable
1952                 - Handles dropdown properly
1953                 - Fixes several minor bugs
1954
1955 2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
1956
1957         * ListBox.cs:
1958                 - Fixes 71946 and 71950
1959                 - Fixes changing Multicolumn on the fly
1960                 - Fixes keyboard navigation on Multicolumn listboxes
1961
1962 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
1963         
1964         * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
1965         crash reporter log.
1966
1967 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
1968
1969         * XplatUIOSX.cs: Allow applications to actually exit.
1970
1971 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
1972
1973         * XplatUIOSX.cs: SetWindowStyle implemented.  Reposition views in
1974         their parent at creation time rather than lazily later.  Fixes a major
1975         regression we were experiencing.
1976
1977 2005-01-31      John BouAntoun  <jba-mono@optusnet.com.au>
1978
1979         * ThemeWin32Classic.cs: more date time picker painting fixes
1980         * DateTimePicker.cs: more monthcalendar drop down fixes
1981         * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
1982
1983 2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
1984
1985         * ScrollBar.cs:
1986                 - When moving the thumb going outside the control should stop the moving
1987                 - Adds the firing of missing events
1988                 - Fixes no button show if Size is not specified
1989                 - End / Home keys for keyboard navigation
1990
1991 2005-01-30  Peter Bartok  <pbartok@novell.com>
1992
1993         * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
1994           sanity check to prevent theoretical loop
1995         * XplatUIWin32.cs (SetVisible): Removed debug output
1996         * XplatUIX11.cs (SystrayChange): Added sanity check
1997         * ScrollableControl.cs (OnVisibleChanged): Now calls base method
1998         * Control.cs (OnVisibleChanged): Added workaround for ParentForm
1999           behaviour, valid until the X11 client window rewrite is done
2000         * TextBox.cs (ctor): Setting proper default foreground and background
2001           colors
2002
2003 2005-01-30      John BouAntoun  <jba-mono@optusnet.com.au>
2004
2005         * Theme: Added DrawDateTimePicker to interface
2006         * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
2007         * DateTimePicker.cs: Created (still needs keys and painting code)
2008         * DateTimePickerFormat.cs: added
2009         * MonthCalendar.cs: fixed CreateParams for popup window mode
2010           
2011 2005-01-29  Peter Bartok  <pbartok@novell.com>
2012
2013         * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
2014           this should also the calculations for ligher/darker
2015         * Theme.cs: Fixed defaults for ScrollBar widths/heights
2016
2017 2005-01-29  Peter Bartok  <pbartok@novell.com>
2018
2019         * ArrangeDirection.cs: Added
2020         * ArrangeStartingPositon.cs: Added
2021         * SystemInformation.cs: Implemented
2022         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
2023           XplatUIX11.cs, Theme.cs: Added/implemented new static properties
2024           used by SystemInformation class
2025         * X11Strucs.cs: Added XSizeHints structure
2026         * MenuAPI.cs:
2027           - Fixed CreateParams to make sure the menu window is always visible
2028           - TrackPopupMenu: Added check to make sure we don't draw the
2029             menu offscreen
2030
2031 2005-01-29  Peter Bartok  <pbartok@novell.com>
2032
2033         * HandleData.cs: Added method for altering invalid area
2034         * TextBoxBase.cs: Implemented TextLength
2035
2036 2005-01-28  Peter Bartok  <pbartok@novell.com>
2037
2038         * XplatUIX11.cs: Improvement over last patch, not sending
2039           the WM_PAINT directly anymore, instead we scroll any pending
2040           exposed areas and let the system pick out the WM_PAINT later
2041
2042 2005-01-28  Peter Bartok  <pbartok@novell.com>
2043
2044         * SWF.csproj: Deleted, no longer used. Instead,
2045           Managed.Windows.Forms/SWF.csproj should be used
2046         * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
2047           directly, to avoid a potential race condition with the next
2048           scroll
2049
2050 2005-01-28  Peter Bartok  <pbartok@novell.com>
2051
2052         * XplatUI.cs: Made class internal
2053
2054 2005-01-28  Jordi Mas i Hernandez <jordi@ximian.com>
2055
2056         * CheckedListBox.cs:
2057                 - Draw focus
2058                 - Fixed Drawing
2059                 - Missing methods and events
2060
2061 2005-01-27  Peter Bartok  <pbartok@novell.com>
2062
2063         * Application.cs (Run): Don't use form if we don't have one
2064
2065 2005-01-27  Peter Bartok  <pbartok@novell.com>
2066
2067         * TextBoxBase.cs (get_Lines): Fixed index off by one error
2068
2069 2005-01-27  Peter Bartok  <pbartok@novell.com>
2070
2071         * GridEntry.cs: Added; Patch by Jonathan S. Chambers
2072         * GridItem.cs: Added; Patch by Jonathan S. Chambers
2073         * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
2074         * GridItemType.cs: Added; Patch by Jonathan S. Chambers
2075         * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
2076         * PropertySort.cs: Added; Patch by Jonathan S. Chambers
2077         * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
2078         * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
2079         * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
2080         * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
2081         * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
2082         * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
2083
2084 2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
2085
2086         * Combobox.cs:
2087                 - Draw focus on Simple Combobox
2088                 - Fixes drawing issues
2089                 - fixes 71834
2090
2091 2005-01-27  Peter Bartok  <pbartok@novell.com>
2092
2093         * Form.cs:
2094           - Place window in default location, instead of hardcoded 0/0
2095           - Send initial LocationChanged event
2096         * Control.cs:
2097           - UpdateBounds after creation to find out where the WM placed us
2098           - Make sure that if the ParentForm changes location the Form
2099             is notified
2100         * XplatUIX11.cs: XGetGeometry will not return the coords relative
2101             to the root, but to whatever the WM placed around us.
2102             Translate to root coordinates before returning toplevel
2103             coordinates
2104         * XplatUIWin32.cs: Removed debug output
2105         * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
2106           flag to GetWindowPos, to allow translation of coordinates on X11
2107
2108 2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
2109
2110         * ListBox.cs: connect LostFocus Event
2111
2112 2005-01-27  Peter Bartok  <pbartok@novell.com>
2113
2114         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
2115           XplatUIX11.cs: Extended the Systray API
2116         * Form.cs: Removed debug output
2117         * Application.cs: Fixed focus assignment, always need to call
2118           XplatUI.Activate() since Form.Activate() has rules that may
2119           prevent activation
2120         * NotifyIcon.cs: Should be complete now
2121         * ToolTip.cs: Worked around possible timer bug
2122
2123 2005-01-27  Jackson Harper  <jackson@ximian.com>
2124
2125         * TabControl.cs:
2126         - Only invalidate the effected tabs when the
2127         selected index changes. This reduces drawing and gets rid of some
2128         flicker.
2129         - Only refresh if the tabs need to be shifted, otherwise only
2130         invalidate the slider button.
2131         - On windows the tabs are not filled to right if the slider is
2132         visible.
2133         
2134 2005-01-27  Jackson Harper  <jackson@ximian.com>
2135
2136         * TabControl.cs: Only refresh on mouseup if we are showing the
2137         slider. Also only invalidate the button whose state has changed.
2138
2139 2005-01-26  Peter Bartok  <pbartok@novell.com>
2140
2141         * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
2142         * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
2143           and SystrayRemove() methods
2144         * XplatUIOSX.cs: Stubbed Systray methods
2145         * XplatUIX11.cs:
2146           - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
2147             methods
2148           - Fixed broken XChangeProperty calls (marshalling messed up things)
2149         * X11Structs.cs: Added enums and structs required for Size hinting
2150         * NotifyIcon.cs: Added & implemented
2151
2152 2005-01-26  Jackson Harper  <jackson@ximian.com>
2153
2154         * TabControl.cs: Space vertically layed out tabs properly.
2155
2156 2005-01-26  Peter Bartok  <pbartok@novell.com>
2157
2158         * Form.cs (CreateClientParams): Always set the location to 0,0
2159           since we're a child window.
2160
2161         * Control.cs (SetVisibleCore): Always explicitly setting the location
2162           of a toplevel window, apparently X11 doesn't like to move windows
2163           while they're not mapped.
2164
2165 2005-01-26  Jackson Harper  <jackson@ximian.com>
2166
2167         * TabControl.cs: Implement FillToRight size mode with vertically
2168         rendered tabs.
2169
2170 2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
2171
2172         * ControlPaint.cs, ThemeWin32Classic.cs
2173                 - Fixes DrawFocusRectangle
2174
2175 2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
2176
2177         * MenuAPI.cs:
2178                 - MenuBar tracking only starts when item is first clicked
2179                 - Fixes menu hidding for multiple subitems
2180                 - Unselect item in MenuBar when item Executed
2181                 - Fixes bug 71495
2182
2183 2005-01-25  Jordi Mas i Hernandez <jordi@ximian.com>
2184
2185         * ListControl.cs:
2186                 - IsInputKey for ListBox
2187         * ListBox.cs:
2188                 - Focus item
2189                 - Shift and Control item selection
2190                 - Implement SelectionMode.MultiExtended
2191                 - Fixes RightToLeft
2192         * ComboBox.cs:
2193                 - IsInputKey implemented
2194                 - Do not generate OnTextChangedEdit on internal txt changes
2195                 
2196 2005-01-23  Peter Bartok  <pbartok@novell.com>
2197
2198         * AccessibleObject.cs: Partially implemented Select()
2199         * MonthCalendar.cs: Added missing attributes and events
2200         * Form.cs: Fixed CreateParams behaviour, now controls derived from
2201           form can properly override CreateParams.
2202         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
2203           XplatUIX11.cs: Dropped RefreshWindow method, not needed if
2204           Control performs Invalidate & Update
2205         * NativeWindow (CreateHandle): Added special handling for Form
2206           and Form.FormParent classes to allow overriding of From.CreateParams
2207         * Control.cs:
2208           - ControlNativeWindow: Renamed 'control' variable to more intuitive
2209             name 'owner'
2210           - ControlNativeWindow: Added Owner property
2211           - Removed usage of Refresh() on property changes, changed into
2212             Invalidate(), we need to wait until the queue is processed for
2213             updates, direct calls might cause problems if not all vars for
2214             Paint are initialized
2215           - Added call to UpdateStyles() when creating the window, to set any
2216             styles that CreateWindow might have ignored.
2217           - Added support for Form CreateParent overrides to UpdateStyles()
2218         * MessageBox.cs: Removed no longer needed FormParent override stuff,
2219           CreateParams are now properly overridable
2220         * CommonDialog.cs: Removed no longer needed FormParent override stuff,
2221           CreateParams are now properly overridable
2222
2223 2005-01-23  Miguel de Icaza  <miguel@ximian.com>
2224
2225         * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
2226         OnTextBoxChanged.
2227
2228         Capture LostFocus and OnTextBoxChanged.  The later introduces a
2229         recursive invocation that I have not figured out yet.
2230
2231         Reset the timer when not using (it was accumulating).
2232
2233
2234         (OnTextBoxChanged): Set UserEdit to true here to track whether the
2235         user has made changes that require validation.
2236
2237         Reset changing to avoid loops.
2238
2239 2005-01-22  Miguel de Icaza  <miguel@ximian.com>
2240
2241         * NumericUpDown.cs: Display value at startup.
2242
2243         * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
2244         ValidateEditText.
2245
2246         * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
2247         filled in.  Added some basic parsing of text.
2248
2249         Still missing the OnXXX method overrides, and figuring out the
2250         events that must be emitted.
2251
2252         * UpDownBase.cs: Handle UserEdit on the Text property.
2253         
2254 2005-01-22  Jordi Mas i Hernandez <jordi@ximian.com>
2255
2256         * ComboBox.cs:
2257           - Fixes IntegralHeight
2258           - ToString method
2259
2260 2005-01-21  Jackson Harper  <jackson@ximian.com>
2261
2262         * TabControl.cs: Set the SelectedIndex property when SelectedTab
2263         is set so that the page visibility is updated and the tabs are
2264         sized correctly.
2265
2266 2005-01-21  Jackson Harper  <jackson@ximian.com>
2267
2268         * TabControl.cs: Use cliping rectangle for blitting. Give the
2269         theme the clipping rect so we can do clipping while
2270         drawing. Remove some debug code.
2271
2272 2005-01-21  Jackson Harper  <jackson@ximian.com>
2273
2274         * TabPage.cs: Add a new method so tab pages can force the tab
2275         control to recalculate the tab page sizes.
2276         * TabControl.cs: UpdateOwner needs to make the tab control recalc
2277         sizes.
2278
2279 2005-01-20  Jackson Harper  <jackson@ximian.com>
2280
2281         * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
2282
2283 2005-01-20  Jackson Harper  <jackson@ximian.com>
2284
2285         * TreeView.cs: Set the bounds for nodes properly. They were
2286         getting screwed up when checkboxes were not enabled, but images
2287         were.
2288
2289 2005-01-20  Jordi Mas i Hernandez <jordi@ximian.com>
2290
2291         * ListBox.cs:
2292                 - Owner draw support
2293                 - Fixes
2294                 
2295 2005-01-20  Jackson Harper  <jackson@ximian.com>
2296
2297         * XplatUIStructs.cs: More misc keys
2298         * X11Keyboard.cs: Ignore some control keys.
2299
2300 2005-01-20  Jackson Harper  <jackson@ximian.com>
2301
2302         * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
2303         * X11Keyboard.cs: Set the AltGr mask when we get a key event.
2304
2305 2005-01-19  Peter Bartok  <pbartok@novell.com>
2306
2307         * Control.cs: Un-selecting the control when it is loosing focus
2308
2309 2005-01-19  Jackson Harper  <jackson@ximian.com>
2310
2311         * TreeView.cs: Hook up to the text controls leave event so we can
2312         end editing when the users clicks outside the text box.
2313         
2314 2005-01-19  Jackson Harper  <jackson@ximian.com>
2315
2316         * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
2317         get set in the conversion array.
2318
2319 2005-01-19  Peter Bartok  <pbartok@novell.com>
2320
2321         * Application.cs (ModalRun): Added a call to CreateControl to ensure
2322           focus is properly set
2323         * Button.cs:
2324           - Added missing attributes
2325           - removed styles, those are already set in the base class
2326         * ButtonBase.cs:
2327           - Added missing attributes
2328           - Added clip window styles
2329         * CheckBox.cs: Added missing attributes
2330         * CommonDialog.cs:
2331           - FormParentWindow.CreateParams: Added required clip styles
2332         * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
2333           also filters modifier keys
2334         * MessageBox.cs:
2335           - Added assignment of Accept and Cancel button to enable Enter
2336             and Esc keys in MessageBox dialogs
2337           - FormParentWindow.CreateParams: Added required clip styles
2338         * RadioButton.cs: Added missing attributes
2339         * TextControl.cs: No longer draws selection if control does not
2340           have focus
2341         * TextBoxBase.cs:
2342           - Now draws simple rectangle around test area to make it obvious
2343             there's a control. This is a hack until we properly support borders
2344           - A few simple fixes to support selections better, now erases selected
2345             text when typing, and resets selection when using movement keys
2346
2347 2005-01-19  Miguel de Icaza  <miguel@ximian.com>
2348
2349         * UpDownBase.cs: Added some new properties.
2350
2351         * DomainUpDown.cs: Implement a lot to get my test working.
2352
2353 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
2354
2355         * XplatUIOSX.cs: Fix a minor bug to bring the close box back
2356
2357 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
2358
2359         * OSXStructs (WindowAttributes): Fixed csc complaints
2360
2361 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
2362
2363         * XplayUIOSX.cs:
2364           OSXStructs.cs: Initial refactor to move enums and consts into
2365           OSXStructs and use them in the driver for greater readability.
2366
2367 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
2368
2369         * XplatUIOSX.cs: Initial support for Standard Cursors.
2370         * OSXStructs.cs: Move our structs here; added ThemeCursor enum
2371
2372 2005-01-19  Jordi Mas i Hernandez <jordi@ximian.com>
2373
2374         * ComboBox.cs: ability to change style when the ctrl is already
2375         created, missing methods and events, bug fixes, signature fixes
2376
2377 2005-01-19  Peter Bartok  <pbartok@novell.com>
2378
2379         * Cursors.cs (ctor): Added ctor to fix signature
2380
2381 2005-01-18  Peter Bartok  <pbartok@novell.com>
2382
2383         * Button.cs: Implemented DoubleClick event
2384         * ButtonBase.cs:
2385           - Fixed keyboard handling to behave like MS, where the press of
2386             Spacebar is equivalent to a mousedown, and the key release is
2387             equivalent to mouseup. Now a spacebar push will give the same
2388             visual feedback like a mouse click.
2389           - Added missing attributes
2390           - Added ImeModeChanged event
2391           - Added support for generating DoubleClick event for derived classes
2392         * CheckBox.cs:
2393           - Implemented DoubleClick event
2394           - Added missing attributes
2395         * CommonDialog.cs: Added missing attribute
2396         * ContextMenu.cs: Added missing attributes
2397         * RadioButton.cs:
2398           - AutoChecked buttons do not allow to be unselected when clicked
2399             (otherwise we might end up with no selected buttons in a group)
2400           - Added missing attributes
2401           - Implemented DoubleClickEvent
2402         * ThreadExceptionDialog.cs: Enabled TextBox code
2403
2404 2005-01-18  Peter Bartok  <pbartok@novell.com>
2405
2406         * Form.cs: Removed debug output
2407         * Button.cs: Added support for DoubleClick method
2408
2409 2005-01-18  Peter Bartok  <pbartok@novell.com>
2410
2411         * Form.cs:
2412           - Added method to parent window that allows triggering size
2413             calculations when a menu is added/removed
2414           - set_Menu: Cleaned up mess from early days of Form and Control,
2415             now properly triggers a recalc when a menu is added/removed
2416           - Added case to select form itself as focused form if no child
2417             controls exist
2418           - Added PerformLayout call when showing dialog, to ensure properly
2419             placed controls
2420         * Control.cs:
2421           - Select(): Made internal so Form can access it
2422           - Focus(): Only call Xplat layer if required (avoids loop), and sets
2423             status
2424         * Application.cs (Run): Removed hack and calls PerformLayout instead
2425           to trigger calculation when Form becomes visible
2426
2427 2005-01-18  Jordi Mas i Hernandez <jordi@ximian.com>
2428
2429         * ComboBox.cs: fixes for ownerdraw
2430
2431 2005-01-18  Peter Bartok  <pbartok@novell.com>
2432
2433         * TextControl.cs:
2434           - Sentinel is no longer static, each Document gets it's own, this
2435             avoids locking or alternatively overwrite problems when more
2436             than one text control is used simultaneously.
2437           - Switched to use Hilight and HilightText brushes for text selection
2438
2439         * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
2440
2441 2005-01-18  Peter Bartok  <pbartok@novell.com>
2442
2443         * Control.cs:
2444           - Hooked up the following events:
2445                 o ControlAdded
2446                 o ControlRemoved
2447                 o HandleDestroyed
2448                 o ImeModeChanged
2449                 o ParentChanged
2450                 o TabStopChanged
2451                 o Invalidated
2452                 o SystemColorsChanged
2453                 o ParentFontChanged
2454                 o Move
2455           - Removed debug output
2456           - Added a call to the current theme's ResetDefaults when a color change
2457             is detected
2458         * Form.cs: Now setting the proper ImeMode
2459         * Theme.cs: Defined a method to force recreation of cached resources
2460           and rereading of system defaults (ResetDefaults())
2461         * ThemeWin32Classic.cs: Added ResetDefaults() stub
2462
2463 2005-01-17  Peter Bartok  <pbartok@novell.com>
2464
2465         * Control.cs: Added missing attributes
2466
2467 2005-01-17  Jackson Harper  <jackson@ximian.com>
2468
2469         * TreeNode.cs: Implement editing. Add missing properties selected
2470         and visible.
2471         * TreeView.cs: Implement node editing. Also some fixes to use
2472         Invalidate (invalid area) instead of Refresh when selecting.
2473
2474 2005-01-17  Peter Bartok  <pbartok@novell.com>
2475
2476         * Control.cs:
2477           - Implemented InvokeGotFocus() method
2478           - Implemented InvokeLostFocus() method
2479           - Implemented InvokePaint() method
2480           - Implemented InvokePaintBackground() method
2481           - Implemented InvokeClick() method
2482           - Implemented FindForm() method
2483           - Implemented RectangleToClient() method
2484           - Implemented ClientToRectangle() method
2485           - Implemented ResetBackColor() method
2486           - Implemented ResetCursor() method
2487           - Implemented ResetFont() method
2488           - Implemented ResteForeColor() method
2489           - Implemented ResetImeMode() method
2490           - Implemented ResetLeftToRight() method
2491           - Implemented ResetText() method
2492           - Implemented Scale() methods
2493           - Implemented ScaleCore() method
2494           - Implemented Update() method
2495           - Removed unused variables
2496           - Stubbed AccessibilityNotifyClients and
2497             ControlAccessibleObject.NotifyClients() methods (dunno what to do
2498             with those yet)
2499           - Now setting proper default for RightToLeft property
2500           - Fixed bug in SetClientSizeCore that would cause windows to get
2501             really big
2502           - Now sending Click/DoubleClick events
2503           - Now selecting controls when left mouse button is clicked on
2504             selectable control
2505         * AccessibleEvents.cs: Added
2506         * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
2507         * XplatUIOSX.cs: Stubbed UpdateWindow() method
2508         * XplatUIWin32.cs: Implemented UpdateWindow() method
2509         * XplatUIX11.cs: Implemented UpdateWindow() method
2510         * Form.cs: Removed stray semicolon causing CS0162 warning
2511         * ThemeWin32Classic.cs: Fixed unused variable warnings
2512         * ScrollableControl.cs: Now calls base method for ScaleCore
2513         * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
2514           style to avoid interference with internal click handler (which is
2515           different than standard Control click handling)
2516         * RadioButton.cs:
2517           - Now unchecks all sibling radio buttons when control is
2518             selected (Fixes #68756)
2519           - Removed internal tabstop variable, using the one inherited from
2520             Control
2521
2522 2005-01-17  Jackson Harper  <jackson@ximian.com>
2523
2524         * NavigateEventArgs.cs: Fix base type.
2525         * LinkLabel.cs: Sig fix
2526         
2527 2005-01-17  Jackson Harper  <jackson@ximian.com>
2528
2529         * TreeView.cs: Only invalidate the effected nodes bounds when
2530         selecting nodes.
2531
2532 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
2533
2534         * XplatUIWin32.cs: fixes Win32 marshaling
2535         * XplatUIX11.cs: fixes method signature
2536
2537 2005-01-17  Peter Bartok  <pbartok@novell.com>
2538
2539         * XplatUIX11.cs: Clean up resources when we no longer need them
2540
2541 2005-01-17  Peter Bartok  <pbartok@novell.com>
2542
2543         * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
2544           OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
2545           and DestroyCursor() methods.
2546         * Cursor.cs: Partially implemented, now supports standard cursors;
2547           still contains some debug code
2548         * Cursors.cs: Implemented class
2549         * Control.cs:
2550           - WndProc(): Added handling of WM_SETCURSOR message, setting the
2551             appropriate cursor
2552           - Implemented Cursor property
2553           - Replaced break; with return; more straightforwar and possibly
2554             faster
2555           - Now properly setting the result for WM_HELP
2556         * X11Structs.cs: Added CursorFontShape enum
2557         * XplatUIStructs.cs:
2558           - Added StdCursor enum (to support DefineStdCursor() method)
2559           - Added HitTest enum (to support sending WM_SETCURSOR message)
2560         * XplatUIX11.cs:
2561           - Now sends the WM_SETCURSOR message
2562           - Implemented new cursor methods
2563         * XplatUIOSX.cs: Stubbed new cursor methods
2564         * XplatUIWin32.cs:
2565           - Implemented new cursor methods
2566           - Added GetSystemMetrics function and associated enumeration
2567
2568 2005-01-15  Peter Bartok  <pbartok@novell.com>
2569
2570         * Control.cs:
2571           - WndProc(): Now handles EnableNotifyMessage
2572           - SelectNextControl(): Fixed bug where if no child or sibling
2573             controls exist we looped endlessly
2574
2575 2005-01-14  Jackson Harper  <jackson@ximian.com>
2576
2577         * TreeView.cs: Recalculate the tab pages when a new one is added
2578         so that the proper bounding rects are created.
2579
2580 2005-01-14  Jackson Harper  <jackson@ximian.com>
2581
2582         * TreeView.cs: Draw a gray box instead of a grip in the lower
2583         right hand corner when there are both horizontal and vertical
2584         scroll bars.
2585
2586 2005-01-14  Jackson Harper  <jackson@ximian.com>
2587
2588         * Control.cs: When erasing backgrounds use FromHwnd instead of
2589         FromHdc when there is a NULL wparam. This occurs on the X driver.
2590         * XplatUIX11.cs: Set the wparam to NULL.
2591
2592 2005-01-13  Jackson Harper  <jackson@ximian.com>
2593
2594         * PictureBox.cs: Implement missing methods (except ToString, need
2595         to test that on windows) and events. When visibility is changed we
2596         need to redraw the image because the buffers are killed. When size
2597         is changed refresh if the sizemode needs it.
2598
2599 2005-01-13  Peter Bartok  <pbartok@novell.com>
2600
2601         * Control.cs (SelectNextControl): Was using wrong method to select
2602           a control
2603
2604 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
2605
2606         * ComboBox.cs: fixes dropstyle
2607
2608 2005-01-13  Peter Bartok  <pbartok@novell.com>
2609
2610         * Form.cs:
2611           - Implemented Select() override
2612           - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
2613           - Now sets keyboard focus on startup
2614         * Control.cs (SelectNextControl): Now properly handles directed=true
2615         * TextBoxBase.cs:
2616           - WndProc: Now passes tab key on to base if AcceptTabChar=false
2617           - Added (really bad) focus rectangle (mostly for testing)
2618         * TextBox.cs: Added code to handle getting/loosing focus and invalidating
2619           to enforce redraw on focus changes
2620         * ContainerControl.cs:
2621           - Fixed detection of Shift-Tab key presses
2622           - Fixed traversal with arrow keys
2623         * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
2624           gonna keep this or if it's complete yet
2625         
2626 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
2627
2628         * ComboBox.cs: missing properties, fixes
2629
2630 2005-01-13  Peter Bartok  <pbartok@novell.com>
2631
2632         * Panel.cs (ctor): Setting Selectable window style to off
2633         * Splitter.cs (ctor): Setting Selectable window style to off
2634         * GroupBox.cs (ctor): Setting Selectable window style to off
2635         * Label.cs (ctor): Setting Selectable window style to off
2636
2637 2005-01-12  Miguel de Icaza  <miguel@ximian.com>
2638
2639         * UpDownBase.cs (InitTimer): If the timer has been already
2640         created, enable it.
2641
2642         Use a TextBox instead of a Label.
2643
2644 2005-01-12  Jackson Harper  <jackson@ximian.com>
2645
2646         * TreeView.cs: Refresh the tree after sorting the nodes. Always
2647         draw the connecting node lines (when ShowLines is true).
2648         * TreeNode.cs: The nodes index can now be updated. This is used
2649         when a node collection is sorted.
2650         * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
2651         insert or an existing unsorted node collection can be sorted.
2652         
2653 2005-01-12  Peter Bartok  <pbartok@novell.com>
2654
2655         * ContainerControl.cs: Implemented ProcessDialogKeys()
2656
2657 2005-01-12  Peter Bartok  <pbartok@novell.com>
2658
2659         * Control.cs:
2660           - Implemented SelectNextControl() method
2661           - Several focus related bug fixes
2662           - Fixed Docking calculations to match MS documentation and
2663             behaviour
2664
2665 2005-01-12  Jordi Mas i Hernandez <jordi@ximian.com>
2666
2667         * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
2668         bug fixes
2669
2670 2005-01-12  Peter Bartok  <pbartok@novell.com>
2671
2672         * Control.cs:
2673           - Fixed broken Contains() method
2674           - Implemented GetNextControl() method. Finally. This is the pre-
2675             requisite for focus handling.
2676
2677 2005-01-12  Peter Bartok  <pbartok@novell.com>
2678
2679         * OSXStrucs.cs: Added
2680
2681 2005-01-12  Peter Bartok  <pbartok@novell.com>
2682
2683         * XplatUIWin32.cs:
2684           - Removed PeekMessageFlags
2685           - Implemented SetWindowStyle() method
2686         * XplatUIStructs.cs: Added PeekMessageFlags
2687         * X11Structs: Added missing border_width field to XWindowChanges struct
2688         * XplatUIX11.cs:
2689           - PeekMessage: Now throws exception if flags which are not yet
2690             supported are passed
2691           - Implemented SetWindowStyle() method
2692           - Fixed SetZOrder to handle AfterHwnd properly
2693         * XplatUI.cs: Added SetWindowStyle() method
2694         * XplatUIDriver.cs: Added SetWindowStyle() abstract
2695         * Control.cs:
2696           - Implemented UpdateStyles() method
2697           - Implemented UpdateZOrder() method
2698         * XplatUIOSX.cs: Added SetWindowStyle() stub
2699
2700 2005-01-12  Geoff Norton  <gnorton@customerdna.com>
2701
2702         * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
2703         button mouse).
2704
2705
2706 2005-01-11  Jackson Harper  <jackson@ximian.com>
2707
2708         * TreeView.cs: Still need to draw lines to siblings even if out of
2709         the current node is out of the clip.
2710
2711 2005-01-11  Jackson Harper  <jackson@ximian.com>
2712
2713         * TreeView.cs: When setting the hbar/vbar/grip position use
2714         SetBounds so that perform layout is only called once. Also suspend
2715         and resume layout so layout is only done once for all controls.
2716         - Removed some debug fluff
2717         * SizeGrip.cs: Call base implmentation in overriding methods.
2718         - When visibility is changed the drawing buffers are killed so we
2719         need to redraw.
2720
2721 2005-01-11  Jackson Harper  <jackson@ximian.com>
2722
2723         * TreeView.cs: Calculate the open node count while drawing. This
2724         saves us an entire tree traversal for every paint operation. Use
2725         a member var for the open node count so less vars are passed around.
2726
2727 2005-01-11  John BouAntoun  <jba-mono@optusnet.com.au>
2728
2729         * MonthCalendar.cs:
2730         - fixed selection to use mousemove, not mouse polling on timer
2731         * ThemeWin32Classic.cs
2732         - removed redundant unused variable "no_more_content"
2733         
2734 2005-01-11  Peter Bartok  <pbartok@novell.com>
2735
2736         * XplatUIX11.cs (DoEvents): Needs to return when no more events
2737           are pending, so it now calls PeekMessage instead of GetMessage;
2738           implemented a incomplete version of PeekMessage
2739         
2740 2005-01-11  Peter Bartok  <pbartok@novell.com>
2741
2742         * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
2743           I18n issues
2744         * TextBoxBase.cs: Added sending of TextChanged event
2745
2746 2005-01-10  Jackson Harper  <jackson@ximian.com>
2747
2748         * TreeView.cs: Try not to draw outside the clipping rectangle on
2749         each node element.
2750
2751 2005-01-10  Jordi Mas i Hernandez <jordi@ximian.com>
2752
2753         * ComboBox.cs: keyboard navigation, item navigation, bug fixes
2754
2755 2005-01-10  Jackson Harper  <jackson@ximian.com>
2756
2757         * TreeView.cs:
2758         - Implement fast scrolling. Now only the newly
2759         exposed nodes are drawn and the old image is moved using the
2760         XplatUI::ScrollWindow method.
2761         - Factor in height of nodes when calculating whether or not the
2762         node is in the clipping rect.
2763
2764 2005-01-10  Jackson Harper  <jackson@ximian.com>
2765
2766         * TreeNodeCollection.cs: Refresh the tree when a new node is added.
2767
2768 2005-01-10  Peter Bartok  <pbartok@novell.com>
2769
2770         * Application.cs: Added temporary hack to resolve all our resize
2771           required issues on startup. This will get fixed properly at
2772           some point in the future
2773
2774 2005-01-10  Jackson Harper  <jackson@ximian.com>
2775
2776         * SizeGrip.cs: New internal class that is used as a sizing
2777         grip control...hence the name.
2778
2779 2005-01-10  Peter Bartok  <pbartok@novell.com>
2780
2781         * Control.cs: Implemented proper TabIndex handling, now assigning
2782           a tabindex when a control is added to a container
2783         * GroupBox.cs (ctor): Now sets the Container style bit, required
2784           for Control.GetNextControl()
2785
2786 2005-01-09  Jackson Harper  <jackson@ximian.com>
2787
2788         * TextBoxBase.cs: Clear window when scrolling (fixes build).
2789
2790 2005-01-09  Peter Bartok <pbartok@novell.com>
2791
2792         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
2793           XplatUIX11.cs: Added ability to control ScrollWindow expose and
2794           an overload for ScrollWindow to allow only scrolling a rectangle
2795
2796 2005-01-09  Peter Bartok <pbartok@novell.com>
2797
2798         * Form.cs:
2799           - Implemented SetDesktopBounds method
2800           - Implemented SetDesktopLocation method
2801
2802 2005-01-08  Jackson Harper  <jackson@ximian.com>
2803
2804         * TreeView.cs: Only set the vbar's Maximum and LargeChange when
2805         the node count has changed, this removes to VScroll::Refresh calls
2806         when drawing.
2807
2808 2005-01-08  Geoff Norton  <gnorton@customerdna.com>
2809
2810         * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
2811
2812 2005-01-07  Jackson Harper  <jackson@ximian.com>
2813
2814         * TreeNode.cs: Just update the single node when it is
2815         checked. Don't refresh after toggling, the Expand/Collapse already
2816         handles this.
2817         * TreeView.cs: Respect clipping a little more when drawing. Try
2818         not to redraw things that don't need to be redrawn. Just hide the
2819         scrollbars when they are no longer needed instead of removing
2820         them, so they don't have to be created again and again.
2821         
2822 2005-01-07  Geoff Norton  <gnorton@customerdna.com>
2823
2824         * XplatUIOSX.cs (SetCaretPos):  We need to translate the view
2825         coordinates to window space to place the caret properly, FIXED.
2826         Implement GetWindowState & SetWindowState
2827
2828 2005-01-06  Peter Bartok <pbartok@novell.com>
2829
2830         * Form.cs:
2831           - Implemented ClientSize property
2832           - Implemented DesktopBounds property
2833           - Implemented DesktopLocation property
2834           - Implemented IsRestrictedWindow property
2835           - Implemented Size property
2836           - Implemented TopLevel property
2837           - Implemented FormWindowState property
2838         * Control.cs:
2839           - Implemented GetTopLevel() method
2840           - Implemented SetTopLevel() method
2841         * X11Structs.cs (Atom):
2842           - Added AnyPropertyType definition
2843           - Added MapState definiton and updated XWindowAttribute struct
2844         * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
2845         * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
2846         * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
2847         * XplatUIWin32.cs:
2848           - Implemented GetWindowState() and SetWindowState() methods
2849           - Fixed Win32GetWindowLong return type
2850         * XplatUIX11.cs:
2851           - Introduced central function for sending NET_WM messages
2852           - Implemented GetWindowState() and SetWindowState() methods
2853         * TextBoxBase.cs (set_Lines):
2854           - Now uses Foreground color for text added via Text property (Duh!)
2855           - Added code to remember programmatically requested size (fixes
2856             behaviour when Multiline is set after Size)
2857           - Added AutoSize logic
2858
2859 2005-01-06  Jackson Harper  <jackson@ximian.com>
2860
2861         * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
2862
2863 2005-01-06  Jackson Harper  <jackson@ximian.com>
2864
2865         * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
2866         set to less then 0.
2867
2868 2005-01-06  Jackson Harper  <jackson@ximian.com>
2869
2870         * ScrollableControl.cs: Lazy init the scrollbars.
2871         
2872 2005-01-06  Jackson Harper  <jackson@ximian.com>
2873
2874         * Theme.cs: Speed up getting pens and solid brushes, by using
2875         their ARGB as a hash instead of tostring and not calling Contains.
2876
2877 2005-01-06  Peter Bartok <pbartok@novell.com>
2878
2879         * Form.cs:
2880           - Implemented OnActivated and OnDeactivate event trigger
2881           - Implemented Activate() method
2882           - Fixed ShowDialog() to activate the form that was active before
2883             the dialog was shown
2884         * XplatUIX11.cs:
2885           - Added global active_window var that tracks the currently active
2886             X11 window
2887           - Now always grabs Property changes from the root window to always
2888             catch changes on the active window property
2889           - Added code to PropertyNotify handler to send Active/Inactive
2890             messages when state changes. This puts X11 and Win32 en par on
2891             WM_ACTIVATE notifications (except for double notifications when
2892             the user clicks away from our modal window to another one of our
2893             windows)
2894
2895 2005-01-05  Jackson Harper  <jackson@ximian.com>
2896
2897         * ImageList.cs: Implment ctor
2898
2899 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
2900
2901         * XplatUIOSX.cs: Implement Activate/SetTopmost
2902
2903 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
2904
2905         * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
2906
2907 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
2908
2909         * XplatUIOSX.cs: Implement GetActive/SetFocus.
2910
2911 2005-01-05  Peter Bartok <pbartok@novell.com>
2912
2913         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
2914           XplatUIOSX.cs: Added GetActive method to return the currently
2915           active window for the application (or null, if none is active)
2916         * Form.cs:
2917           - Implemented ActiveForm
2918           - Commented out owner assignment for modal dialogs (causes problems
2919             on Win32, since the owner will be disabled)
2920           - Reworked some Active/Focus handling (still incomplete)
2921         * CommonDialog.cs: Commented out owner assignment for modal dialogs
2922           (causes problems on Win32, since the owner will be disabled)
2923         * IWin32Window: Added ComVisible attribute
2924
2925 2005-01-05  Peter Bartok <pbartok@novell.com>
2926
2927         * ToolTip.cs (WndProc): Enable setting focus now that we have the
2928           required XplatUI functions.
2929
2930 2005-01-05  Peter Bartok <pbartok@novell.com>
2931
2932         * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
2933           XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
2934           to implement focus and activation handling; still incomplete and
2935           with debug output
2936
2937 2005-01-04  Peter Bartok <pbartok@novell.com>
2938
2939         * TextBoxBase.cs: Changed access level for Document property to
2940           match switch to internal for TextControl
2941
2942 2005-01-04  Peter Bartok <pbartok@novell.com>
2943
2944         * AccessibleObject: Added ComVisible attribute
2945
2946 2005-01-04  Jackson Harper  <jackson@ximian.com>
2947
2948         * X11Keyboard.cs: Remove unneeded var.
2949
2950 2005-01-04  Jackson Harper  <jackson@ximian.com>
2951
2952         * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
2953         but PAINT.
2954         * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
2955         ClientMessage. This makes apps exit cleanly (more often).
2956         
2957 2005-01-04  Jackson Harper  <jackson@ximian.com>
2958
2959         * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
2960         handling focus, return correct colors and fonts,
2961         * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
2962         handle selection, horizontal scrolling, and mouse interaction.
2963
2964 2005-01-04  Peter Bartok <pbartok@novell.com>
2965
2966         * ICommandExecutor.cs: Added
2967         * IDataGridColumnStyleEditingNotificationService.cs: Added
2968         * IFeatureSupport.cs: Added
2969         * IFileReaderService.cs: Added
2970         * IDataObject.cs: Added ComVisible attribute
2971         * AmbientProperties.cs: Added
2972         * BaseCollection.cs: Added missing attributes
2973         * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
2974         * BaseCollection.cs: Added missing attributes
2975         * Binding.cs: Added TypeConverter attribute
2976         * BindingContext.cs: Added DefaultEvent attribute
2977         * BindingsCollection.cs: Added DefaultEvent attribute
2978         * Button.cs: Added DefaultValue attribute
2979         * DragEventArgs.cs: Added ComVisible attribute
2980         * GiveFeedbackEventArgs.cs: Added ComVisible attribute
2981         * KeyEventArgs.cs: Added ComVisible attribute
2982         * KeyPressEventArgs.cs: Added ComVisible attribute
2983         * MouseEventArgs.cs: Added ComVisible attribute
2984         * NavigateEventArgs.cs: Added
2985         * NavigateEventHandler.cs: Added
2986         * FeatureSupport.cs: Added
2987         * OSFeature.cs: Added
2988         * Theme.cs: Added abstract Version property to support OSFeature
2989         * ThemeWin32Classic.cs: Added Version property to
2990           support OSFeature.Themes
2991         * ProgressBar.cs: Removed OnPaintBackground override, not required since
2992           the proper styles to avoid background drawing are set, also doesn't
2993           match MS signature
2994         * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
2995         * QueryContinueDragEventArgs.cs: Added ComVisible attribute
2996         * ScrollEventArgs.cs: Added ComVisible attribute
2997         * SplitterEventArgs.cs: Added ComVisible attribute
2998         * AccessibleSelection.cs: Added Flags attribute
2999         * Appearance.cs: Added ComVisible attribute
3000         * Border3DSide.cs: Added ComVisible attribute
3001         * Border3DStyle.cs: Added ComVisible attribute
3002         * BorderStyle.cs: Added ComVisible attribute
3003         * DragAction.cs: Added ComVisible attribute
3004         * ErrorBlinkStyle.cs: Added
3005         * ScrollEventType.cs: Added ComVisible attribute
3006         * AnchorStyles.cs: Added Editor attribute
3007         * DockStyle.cs: Added Editor attribute
3008         * HorizontalAlignment.cs: Added ComVisible attribute
3009         * HelpEventArgs.cs: Added ComVisible attribute
3010         * PaintEventArgs.cs: Added IDisposable
3011
3012 2005-01-04  Peter Bartok <pbartok@novell.com>
3013
3014         * TextControl.cs: Switched Line, LineTag and Document classes to
3015           internal
3016
3017 2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
3018
3019         * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
3020         Simple mode, fixes, IntegralHeight, etc.
3021
3022 2005-01-04  Peter Bartok <pbartok@novell.com>
3023
3024         * TextBoxBase.cs: Using proper font variable now
3025
3026 2005-01-04  Peter Bartok <pbartok@novell.com>
3027
3028         * Form.cs (ShowDialog): Set parent to owner, if provided
3029         * GroupBox.cs: Removed unused vars
3030         * TextControl.cs:
3031           - Added GetHashCode() for Document and LineTag classes
3032           - Removed unused variables
3033           - Added CharIndexToLineTag() and LineTagToCharIndex() methods
3034             to allow translation between continuous char position and line/pos
3035         * CheckBox.cs: Removed vars that are provided by base class
3036         * RadioButton.cs: Removed vars that are provided by base class, added
3037           new keyword where required
3038         * LinkLabel.cs: Added new keyword where required
3039         * Control.cs (WndProc): Removed unused variable
3040         * TextBoxBase.cs:
3041           - Finished SelectionLength property
3042           - Implemented SelectionStart property
3043           - Implemented Text property
3044           - Removed unused vars
3045         * MessageBox.cs: Added new keyword where required
3046         * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
3047           WndProc signature
3048         * MenuAPI.cs: Added new keyword where required
3049         * ButtonBase.cs: Removed vars that are provided by base class, added
3050           new keyword where required
3051         * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
3052           argument to double, to allow compiling with csc 2.0 (Atsushi ran
3053           into this)
3054         * Application.cs (Run): Now triggers the ThreadExit event
3055         * CommonDialog.cs: Added new keyword where required; now properly sets
3056           parent (owner) for dialog
3057         * XplatUIX11.cs: Commented out unused vars
3058         * StatusBar.cs: Fixed signature for Text property
3059         * TabPage.cs: Undid Jordi's removal of unused var, now using the var
3060
3061 2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
3062
3063         * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
3064         TrackBar.cs, MonthCalendar.cs: remove unused vars
3065
3066 2005-01-03  Jackson Harper  <jackson@ximian.com>
3067
3068         * ThemeWin32Classic.cs:
3069         * X11Keyboard.cs: Remove unused vars.
3070
3071 2005-01-03  Peter Bartok  <pbartok@novell.com>
3072
3073         * TextBox.cs:
3074           - set_Text: Tied into TextControl
3075           - set_TextAlignment: Tied into TextControl
3076         * TextControl.cs:
3077           - Added alignment properties and implemented alignment handling
3078             and drawing (still has a bug, not generating proper expose events)
3079           - Added new Line() constructor to allow passing the line alignment
3080           - Fixed selection setting, properly handling end<start now
3081           - Added aligment considerations to RecalculateDocument()
3082         * TextBoxBase.cs:
3083           - Now properly enforces control height for single line controls
3084           - Added support for CharacterCasing
3085           - Added IsInputKey override
3086           - Fixed Keys.Enter logic
3087           - Added SetBoundsCore override
3088           - Fixed mouse selection handling
3089
3090 2005-01-03  Jackson Harper  <jackson@ximian.com>
3091
3092         * TreeView.cs:
3093           - Collapse and uncheck all nodes when CheckBoxes is disabled.
3094           - Checkboxes are always aligned to the bottom of the node,
3095           regardless of item height.
3096           - Use the node bounds to draw the text so we can center it when
3097           the item height is greater then the font height.
3098           - Node::Bounds are only the text part of the node.
3099         * TreeNode.cs: New method to combine collapsing and unchecking all
3100           nodes recursively.
3101
3102 2005-01-02  Jackson Harper  <jackson@ximian.com>
3103
3104         * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
3105         * TreeNode.cs: Add a bounding box for the checkbox, refresh the
3106         tree when a check is changed. TODO: Only refresh the checked node.
3107
3108 2004-12-30  Jackson Harper  <jackson@ximian.com>
3109
3110         * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
3111         * TreeNode.cs: When collapsing make sure to never collapse the
3112         root node.
3113
3114 2004-12-29  Jackson Harper  <jackson@ximian.com>
3115
3116         * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
3117         
3118 2004-12-28  Zoltan Varga  <vargaz@freemail.hu>
3119
3120         * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
3121
3122 2004-12-28  Peter Bartok  <pbartok@novell.com>
3123
3124         * MessageBox.cs (get_CreateParams): Don't use owner var if it's
3125           not yet assigned
3126
3127 2004-12-28  Peter Bartok  <pbartok@novell.com>
3128
3129         * Control.cs (WndProc): Added WM_HELP handler, now generates
3130           HelpRequested event
3131         * Form.cs: Added HelpButton property and required support code
3132         * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
3133
3134 2004-12-28  Peter Bartok  <pbartok@novell.com>
3135
3136         * CommonDialog.cs:
3137           - Made DialogForm.owner variable internal
3138           - Added check to ensure owner form is set before setting
3139             owner properties in CreateParams
3140
3141 2004-12-28  Geoff Norton  <gnorton@customerdna.com>
3142
3143         * XplatUIOSX.cs: Implement mouse hovering.  Fix QDPoint struct to avoid
3144           swizzling.  Implement ClientToScreen and ScreenToClient.  Implement
3145           GetCursorPos.  Fix major visibility issues.  Rework the windowing
3146           system to support borderless/titleless windows (implements menus).
3147           Fix GetWindowPos.  Implement initial background color support for
3148           views.
3149
3150 2004-12-28  Peter Bartok  <pbartok@novell.com>
3151
3152         * Form.cs (get_CreateParams): Make sure we have an owner before using
3153           the owner variable. Implement proper default if no owner exists
3154
3155 2004-12-28  Peter Bartok  <pbartok@novell.com>
3156
3157         * In preparation for making Managed.Windows.Forms the default build target
3158           for System.Windows.Forms, the following stubbed files were added.
3159           Dialogs are currently being implemented by contributors and are only
3160           short-term place holders.
3161         * ColorDialog.cs: Initial check-in (minmal stub)
3162         * DataGrid.cs: Initial check-in (minimal stub)
3163         * DataGridLineStyle.cs: Initial check-in (minimal stub)
3164         * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
3165         * DataGridTableStyle.cs: Initial check-in (minimal stub)
3166         * FontDialog.cs: Initial check-in (minimal stub)
3167         * FileDialog.cs: Initial check-in (minimal stub)
3168         * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
3169         * GridTableStylesCollection.cs: Initial check-in (minimal stub)
3170         * OpenFileDialog: Initial check-in (minimal stub)
3171         * IComponentEditorPageSite.cs: Initial check-in
3172         * Splitter.cs: Initial check-in (for Jackson)
3173         * SplitterEventArgs.cs: Initial check-in (for Jackson)
3174         * SplitterEventHandler.cs: Initial check-in (for Jackson)
3175         * TextBox.cs: Initial check-in; still needs some wiring to
3176           TextControl backend
3177         * Form.cs: Implemented ControlBox property
3178         * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
3179         * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
3180         * TextControl.cs: Added selection functionality; added todo header
3181         * TextBoxBase.cs:
3182           - Implemented Lines property
3183           - Implemented TextHeight property
3184           - Implemented SelectedText property
3185           - Implemented SelectionLength property
3186           - Implemented SelectAll method
3187           - Implemented ToString method
3188           - Removed and cleaned up some debug code
3189           - Implemented (still buggy) mouse text selection
3190
3191 2004-12-27  Jordi Mas i Hernandez <jordi@ximian.com>
3192
3193         * ComboBox.cs: Complete DropDownList implementation, fixes.
3194
3195 2004-12-26  Jordi Mas i Hernandez <jordi@ximian.com>
3196
3197         * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
3198         * ComboBoxStyle.cs: ComboBoxStyle enum
3199         * ComboBox.cs: Initial work on ComboBox control
3200
3201 2004-12-21  Peter Bartok  <pbartok@novell.com>
3202
3203         * Control.cs (ctor, CreateParams): Moved setting of is_visible
3204           forward so that anything that creates a window gets the default,
3205           also no longer uses Visible property in CreateParams to avoid
3206           walking up the parent chain and possibly get the wrong visible
3207           status. Fixed IsVisible to no longer walk up to the parent.
3208
3209 2004-12-21  Peter Bartok  <pbartok@novell.com>
3210
3211         * Form.cs (ShowDialog): Unset modality for the proper window
3212  
3213 2004-12-20  Peter Bartok  <pbartok@novell.com>
3214
3215         * CommonDialog.cs: Initial check-in
3216
3217 2004-12-20  Peter Bartok  <pbartok@novell.com>
3218
3219         * Control.cs (Visible): Now uses the parent window instead of the
3220           client area window for the property
3221
3222         * Form.cs
3223           - ShowDialog(): Now uses the proper window for modality
3224           - The default visibility state for the form parent is now false. This
3225             will prevent the user from seeing all the changes to the form and
3226             its controls before the application hits Application.Run()
3227           - Removed some stale commented out code
3228
3229         * NativeWindow.cs:
3230           - Added FindWindow() method to have a method to check for existence
3231             of a window handle
3232           - Added ability to override default exception handling (for example
3233             when debugging with VS.Net; to do this the ExternalExceptionHandler
3234             define must be set
3235           - Removed some useless debug output
3236
3237         * XplatUIX11.cs:
3238           - Removed r37929 (SetModal patch from Ashwin Bharambe), was
3239             not working as expected
3240           - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
3241             property to allow switching back to the modal window if focus is
3242             given to another one of our windows (Application Modal)
3243           - Now only sets override_redirect if we create a window
3244             without WS_CAPTION
3245           - Moved EventMask selection before mapping of newly created window
3246             so we can catch the map event as well
3247           - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
3248           - Added various Atom related DllImports
3249           - Implemented Exit() method
3250           - .ctor() : No longer shows window if WS_VISIBLE is not defined
3251             in the CreateParams
3252
3253         * MessageBox.cs: Now properly deals with the FormParent window by
3254           providing an override the FormParent CreateParams property to
3255           set as POPUP instead of OVERLAPPED window.
3256
3257 2004-12-19  Geoff Norton  <gnorton@customerdna.com>
3258
3259         * XplatUIOSX.cs: Implement DestroyWindow.  Implement ScrollWindow
3260         Minor code cleanup.
3261
3262 2004-12-19  Geoff Norton  <gnorton@customerdna.com>
3263         
3264         * XplatUIOSX.cs (SetModal): Implement this method on OSX.
3265
3266 2004-12-18  Peter Bartok  <pbartok@novell.com>
3267
3268         * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
3269           implementing SetModal() method
3270
3271 2004-12-18  Peter Bartok  <pbartok@novell.com>
3272
3273         * X11Structs.cs (XGCValues): Fixed type of function element
3274         * XplatUI.cs: Added ScrollWindow() method
3275         * XplatUIDriver.cs: Added ScrollWindow() abstract
3276         * XplatUIWin32.cs: Implemented ScrollWindow() method
3277         * XplatUIX11.cs: Implemented ScrollWindow() method
3278         * XplatUIOSX.cs: Stubbed out ScrollWindow() method
3279
3280 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
3281
3282         * XplatUIOSX.cs:  Fix cursor to use an Invert instead of drawing it
3283         Some more keyboard support (INCOMPLETE)
3284
3285 2004-12-17  Peter Bartok  <pbartok@novell.com>
3286
3287         * TextControl.cs:
3288         - Added color attribute to line tags.
3289         - Added color argument to all functions dealing with tags
3290         - Added color argument support to various functions
3291         - Fixed miss-calculation of baseline/shift in certain circumstances
3292
3293         * TextBoxBase.cs: Added new color option to test code
3294
3295 2004-12-17  Jackson Harper  <jackson@ximian.com>
3296
3297         * TreeNode.cs:
3298         * MonthCalendar.cs: Signature fixes
3299
3300 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
3301
3302         * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
3303         keyboard event moved it.  Create a new graphics context for each paint resolves this
3304
3305 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
3306
3307         * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
3308         Make caret exist and go blink blink.  Initial keyboard support.
3309         Fix exception handler, Add Invalidate support.  Change way RefreshWindow
3310         works.
3311
3312 2004-12-17  Jackson Harper  <jackson@ximian.com>
3313
3314         * XplatUIStructs.cs: Updated set of virtual keycodes.
3315         * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
3316
3317 2004-12-17  Jackson Harper  <jackson@ximian.com>
3318
3319         * XplatUIX11.cs: Prune old keyboard code.
3320
3321 2004-12-17  Jackson Harper  <jackson@ximian.com>
3322
3323         * XplatUIX11.cs: When generating mouse wparams get the modifier
3324         keys from the ModifierKeys property.
3325
3326 2004-12-17  Jackson Harper  <jackson@ximian.com>
3327
3328         * X11Keyboard.cs: Send up/down input when generating
3329         messages. Remove some unused vars.
3330
3331 2004-12-17  Jackson Harper  <jackson@ximian.com>
3332
3333         * TabControl.cs:
3334         * TreeView.cs: get rid of warnings.
3335
3336 2004-12-17  Jackson Harper  <jackson@ximian.com>
3337
3338         * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
3339
3340 2004-12-17  Jordi Mas i Hernandez <jordi@ximian.com>
3341
3342         * ListBox.cs: bug fixes, changes for CheckedListBox.cs
3343           CheckedListBox.cs: Implementation
3344
3345 2004-12-17  Peter Bartok  <pbartok@novell.com>
3346
3347         * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
3348
3349 2004-12-16  Peter Bartok  <pbartok@novell.com>
3350
3351         * TextControl.cs:
3352           - InsertCharAtCaret(): Fixed start pos fixup
3353           - CaretLine_get: No longer derives the line from the tag, the tag
3354             could be stale if lines in the document have been added or deleted
3355           - RebalanceAfterDelete(): Fixed bug in balancing code
3356           - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
3357           - Line.Streamline(): Now can also elminate leading empty tags
3358           - DumpTree(): Added a few more tests and prevented exception on
3359             uninitialized data
3360           - Added Debug section for Combining lines
3361           - Delete(): Now copies all remaining properties of a line
3362           
3363         * TextBoxBase.cs:
3364           - Left mousebutton now sets the caret (and middle button still acts
3365             as formatting tester, which must go away soon)
3366           - Added Debug section for Deleting/Combining lines
3367           - Fixed calculations for UpdateView after Combining lines
3368
3369 2004-12-16  Peter Bartok  <pbartok@novell.com>
3370
3371         * TextControl.cs: Now properly aligns text on a baseline, using the
3372           new XplatUI.GetFontMetrics() method. Simplified several calculations
3373         * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
3374           defined
3375
3376 2004-12-16  Peter Bartok  <pbartok@novell.com>
3377
3378         * XplatUI.cs: Added GetFontMetrics() method
3379         * XplatUIDriver.cs: Added GetFontMetrics() abstract
3380         * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
3381           into libgdiplus, our private GetFontMetrics function
3382         * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
3383         * XplatUIWin32.cs: Implemented GetFontMetrics() method
3384
3385 2004-12-16  Jackson Harper  <jackson@ximain.com>
3386
3387         * XplatUIStruct.cs: Add enum for dead keys
3388         * X11Keyboard.cs: Map and unmap dead keys.
3389
3390 2004-12-16  Jackson Harper  <jackson@ximian.com>
3391
3392         * X11Keyboard.cs: Detect and use the num lock mask.
3393
3394 2004-12-16  Peter Bartok  <pbartok@novell.com>
3395
3396         * Control.cs (CreateGraphics): Added check to make sure the
3397           handle of the window exists before calling Graphics.FromHwnd()
3398
3399 2004-12-16  Peter Bartok  <pbartok@novell.com>
3400
3401         * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
3402           contains a lot of code that's not supposed to be there for the
3403           real thing, but required for developing/testing the textbox
3404           backend.
3405
3406 2004-12-16  Peter Bartok  <pbartok@novell.com>
3407
3408         * TextControl.cs:
3409         - Fixed Streamline method
3410         - Added FindTag method to Line
3411         - Added DumpTree method for debugging
3412         - Added DecrementLines() method for deleting lines
3413         - Fixed UpdateView to update the cursor to end-of-line on single-line
3414           updates
3415         - Added PositionCaret() method
3416         - Fixed MoveCaret(LineDown) to move into the last line, too
3417         - Added InsertChar overload
3418         - Fixed InsertChar tag offset calculations
3419         - Added DeleteChar() method
3420         - Added Combine() method for folding lines
3421         - Fixed Delete() method, no longer allocates wasted Line object and
3422           now copies all properties when swapping nodes
3423         - Delete() method now updates document line counter
3424
3425 2004-12-15  Jackson Harper  <jackson@ximian.com>
3426
3427         * XplatUIX11.cs: Get the modifier keys from the keyboard driver
3428         * X11Keyboard.cs: Expose the currently selected modifier keys
3429         through a property.
3430
3431 2004-12-15  Peter Bartok  <pbartok@novell.com>
3432
3433         * TextControl.cs: Initial check-in. Still incomplete
3434
3435 2004-12-15  Jackson Harper  <jackson@ximian.com>
3436
3437         * TreeNode.cs:
3438         * TreeView.cs: Fix build on csc (second time today ;-))
3439
3440 2004-12-15  Jackson Harper  <jackson@ximian.com>
3441
3442         * TreeView.cs: Store the treenodes plus/minus box bounds when it
3443         is calculated and use this for click testing.
3444         * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
3445
3446 2004-12-15  Jackson Harper  <jackson@ximian.com>
3447
3448         * TreeView.cs: Pass the nodes image index to the image list when
3449         drawing that image.
3450
3451 2004-12-15  Jackson Harper  <jackson@ximian.com>
3452
3453         * X11Keyboard.cs: Set messages hwnd.
3454         * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
3455         post_message calls.
3456
3457 2004-12-15  Jackson Harper  <jackson@ximian.com>
3458
3459         * X11Keyboard.cs: Fix to compile with csc.
3460         
3461 2004-12-15  Jackson Harper  <jackson@ximian.com>
3462
3463         * X11Structs.cs: Add key mask values
3464         * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
3465         * X11Keyboard.cs: New file - Extrapolates and interpolates key
3466         down/up foo into WM_CHAR foo
3467         * KeyboardLayouts.cs: Common keyboard layouts
3468         * XplatUIX11.cs: Add the keyboard driver. Add functionality to
3469         post messages into the main queue.
3470
3471 2004-12-13  Jordi Mas i Hernandez <jordi@ximian.com>
3472
3473         * Button.cs: implement ProcessMnemonic
3474         * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
3475           brushes everytime
3476         * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
3477         * ButtonBase.cs: Show HotkeyPrefix (not the &)
3478
3479 2004-12-12  John BouAntoun  <jba-mon@optusnet.com.au>
3480         
3481         * MonthCalendar.cs: Implemented click-hold for next/previous month
3482           and date selection
3483           
3484 2004-12-11  Peter Bartok  <pbartok@novell.com>
3485
3486         * X11Structs.cs:
3487           - Added XKeyboardState (moved from XplatUIX11.cs)
3488           - Added XCreateGC related enums and structures
3489           - Added GXFunction for XSetFunction
3490
3491         * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
3492
3493         * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
3494           CaretVisible() calls
3495
3496         * ToolTip.cs: Added code to prevent stealing focus from app windows
3497
3498         * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
3499           DestroyCaret, SetCaretPos and CaretVisible)
3500
3501         * XplatUIX11.cs:
3502           - Added implementation for caret functions
3503           - Moved hover variables into a struct, to make it a bit easier
3504             on the eyes and to debug
3505           - Removed XKeyboardState (moved to XplatUIX11.cs)
3506           - Moved Keyboard properties into the properties region
3507
3508         * Control.cs (get_Region): Control.CreateGraphics is the appropriate
3509           call to get a graphics context for our control
3510
3511         * XplatUIOSX.cs: Added empty overrides for the new caret functions
3512
3513         * TreeView.cs: Fixed bug. No matter what color was set it would always
3514           return SystemColors.Window
3515
3516         * XplatUIWin32.cs: Implemented caret overrides
3517
3518 2004-12-10  Jordi Mas i Hernandez <jordi@ximian.com>
3519
3520         * ListBox.cs: fire events, implement missing methods and properties,
3521         sorting.
3522
3523 2004-12-10  John BouAntoun <jba-mono@optusnet.com.au>
3524
3525         * MonthCalendar.cs: invalidation bug fixing
3526         * ThemeWin32Classic.cs: paint fixing
3527
3528 2004-12-09  Geoff Norton  <gnorton@customerdna.com>
3529
3530         * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
3531         prepare the CGContextRef there now.
3532
3533 2004-12-09  John BouAntoun <jba-mono@optusnet.com.au>
3534
3535         * MonthCalendar.cs:
3536           - optimisationL only invalidate areas that have changed
3537         * ThemeWin32Classic.cs:
3538           - only paint parts that intersect with clip_area
3539
3540 2004-12-09  Peter Bartok  <pbartok@novell.com>
3541
3542         * Application.cs: Undid changes from r37004 which cause problems
3543         on X11
3544
3545 2004-12-09  Ravindra  <rkumar@novell.com>
3546
3547         * ToolBar.cs: Added support for displaying ContextMenu
3548         attached to a button on ToolBar.
3549         * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
3550         property.
3551
3552 2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
3553
3554         * Label.cs: autosize works in text change and removes unnecessary
3555         invalidate
3556
3557 2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
3558
3559         * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
3560         remove warnings
3561
3562 2004-12-08  Geoff Norton  <gnorton@customerdna.com>
3563
3564         * XplatUIOSX.cs: Added mouse move/click/grab support
3565         Remove some debugging WriteLines not needed anymore.
3566         Add window resizing/positioning.
3567         Fix visibility on reparenting.
3568
3569 2004-12-08  Peter Bartok  <pbartok@novell.com>
3570
3571         * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
3572
3573 2004-12-07  Geoff Norton  <gnorton@customerdna.com>
3574
3575         * XplatUIOSX.cs: Initial checkin
3576         * XplatUI.cs: Use the Quartz driver if the environment is set to use it
3577
3578 2004-12-03  Ravindra <rkumar@novell.com>
3579
3580         * ListView.cs: Added some keybindings and fixed scrolling.
3581         ScrollBars listen to ValueChanged event instead of Scroll
3582         Event. This would let us take care of all changes being
3583         done in the scrollbars' values programmatically or manually.
3584         * ListView.cs (CanMultiselect): Added a check for shift key.
3585         * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
3586         * ListViewItem.cs (Clone): Fixed. We need to make a copy
3587         of ListViewSubItemCollection as well.
3588
3589 2004-12-06  Peter Bartok <pbartok@novell.com>
3590
3591         * Control.cs (Parent): Added check and exception to prevent
3592         circular parenting
3593
3594 2004-12-03  Jordi Mas i Hernandez <jordi@ximian.com>
3595
3596         * ListBox.cs: implemented clipping, selection single and multiple,
3597         bug fixing
3598
3599 2004-12-03  Ravindra <rkumar@novell.com>
3600
3601         * ListView.cs (ListView_KeyDown):
3602         * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
3603         when CTRL key is pressed.
3604         * ListViewItem.cs (Selected): Fixed setting the property.
3605
3606 2004-12-03  Marek Safar  <marek.safar@seznam.cz>
3607
3608         * Application.cs (OnThreadException): Use ThreadExceptionDialog.
3609
3610         * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
3611         MinimizeBox, ShowInTaskbar, TopMost properties.
3612
3613         * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
3614         will be implemented).
3615
3616 2004-12-03  Marek Safar  <marek.safar@seznam.cz>
3617
3618         * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
3619
3620         * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
3621         tests.
3622         
3623         * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
3624         
3625         * TreeView.cs: BackColor is Colors.Window.
3626
3627 2004-12-01  Jackson Harper  <jackson@ximian.com>
3628
3629         * TreeView.cs: When resizing the tree if the user is making it
3630         smaller we don't get expose events, so we need to handle adding
3631         the horizontal scrollbar in the size changed handler as well as
3632         the expose handler.
3633
3634 2004-12-02  Jordi Mas i Hernandez <jordi@ximian.com>
3635
3636         * DrawItemState.cs: fixes wrong enum values
3637
3638 2004-12-01  Jackson Harper  <jackson@ximian.com>
3639
3640         * TreeView.cs: Resize the hbar as well as the vbar on resize.
3641
3642 2004-12-01  Jackson Harper  <jackson@ximian.com>
3643
3644         * NodeLabelEditEventArgs.cs:
3645         * NodeLabelEditEventHandler.cs:
3646         * OpenTreeNodeEnumerator.cs:
3647         * TreeNode.cs:
3648         * TreeNodeCollection.cs:
3649         * TreeView.cs:
3650         * TreeViewAction.cs:
3651         * TreeViewCancelEventArgs.cs:
3652         * TreeViewCancelEventHandler.cs:
3653         * TreeViewEventArgs.cs:
3654         * TreeViewEventHandler.cs: Initial implementation.
3655
3656 2004-12-01  Ravindra <rkumar@novell.com>
3657
3658         * ListView.cs (CalculateListView): Fixed scrolling related
3659         calculations. Also, removed some debug statements from other
3660         places.
3661         * ListViewItem.cs: Changed access to 'selected' instance variable
3662         from private to internal.
3663         * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
3664
3665 2004-12-01  Jordi Mas i Hernandez <jordi@ximian.com>
3666
3667         * ThemeWin32Classic.cs: remove cache of brush and pens for
3668         specific controls and use the global system, fixes scrollbutton
3669         bugs (for small sizes, disabled, etc)
3670         
3671         * ScrollBar.cs: does not show the thumb for very small controls
3672         (as MS) and allow smaller buttons that the regular size
3673
3674 2004-12-01  Miguel de Icaza  <miguel@ximian.com>
3675
3676         * UpDownBase.cs: Add abstract methods for the interface.
3677         Add new virtual methods (need to be hooked up to TextEntry when it
3678         exists).
3679         Add override methods for most features.
3680         Computes the size, forces the height of the text entry.
3681
3682         * NumericUpDown.cs: Put here the current testing code.
3683
3684         * Set eol-style property on all files that do not have mixed line
3685         endings, to minimize the future problems.  There are still a few
3686         files with mixed endings, and someone should choose whether they
3687         want to move it or not.
3688
3689 2004-11-30  Jordi Mas i Hernandez <jordi@ximian.com>
3690
3691         * MonthCalendar.cs, ListView.cs: use Theme colours instead of
3692         System.Colors
3693         
3694 2004-11-30  Ravindra <rkumar@novell.com>
3695
3696         * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
3697         drawing and replaced use of SystemColors by theme colors.
3698         * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
3699         * ListView.cs (ListViewItemCollection.Add): Throw exception when
3700         same ListViewItem is being added more than once.
3701
3702 2004-11-30  John BouAntoun <jba-mono@optusnet.com.au>
3703
3704         * MonthCalendar.cs:
3705           - ControlStyles love to make the control not flicker
3706           
3707 2004-11-30  Peter Bartok  <pbartok@novell.com>
3708
3709         * CharacterCasing.cs: Added
3710
3711 2004-11-29  Peter Bartok  <pbartok@novell.com>
3712
3713         * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
3714           TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
3715           I am removing these files as they conflict with already completed
3716           work. While it is fantastic to get contributions to MWF, I
3717           respectfully ask that everyone please coordinate their contributions
3718           through mono-winforms-list or #mono-winforms at this time. We're
3719           explicitly avoiding stubbing and don't want controls that don't have
3720           their basic functionality implemented in svn. Please also see
3721           http://www.mono-project.com/contributing/winforms.html
3722
3723
3724 2004-11-29  Marek Safar  <marek.safar@seznam.cz>
3725
3726         * Application.cs (ModalRun): Don't hang after exit.
3727
3728         * Theme.cs: New TreeViewDefaultSize property.
3729
3730         * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
3731         with less hardcoded SystemColors constant.
3732         Implemented TreeViewDefaultSize.
3733
3734         * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
3735         TreeViewAction.cs, TreeViewEventArgs.cs: New files.
3736
3737
3738 2004-11-29  John BouAntoun <jba-mono@optusnet.com.au>
3739
3740         * MonthCalendar.cs:
3741           - Fix NextMonthDate and PrevMonthDate click moving calendar
3742
3743 2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
3744
3745         * MonthCalendar.cs:
3746           - Fix usage of ScrollChange Property when scrolling months
3747
3748 2004-11-26  Jordi Mas i Hernandez <jordi@ximian.com>
3749
3750         * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
3751          - Fixes menu destroying
3752          - Support adding and removing items on already created menus
3753
3754 2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
3755
3756         * MonthCalendar.cs:
3757           - Re-worked all bolded dates handling to match win32
3758         * ThemeWin32Classic.cs:
3759           - Fixed rendering with bolded dates
3760
3761 2004-11-25  Jordi Mas i Hernandez <jordi@ximian.com>
3762
3763         * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
3764         - Horizontal scroolbar
3765         - Multicolumn
3766         - Fixes
3767
3768
3769 2004-11-25  John BouAntoun <jba-mono@optusnet.com.au>
3770
3771         * MonthCalendar.cs:
3772           - Fix Usage of MaxSelectionCount from SelectionRange
3773           - Fixed Shift + Cursor Selection
3774           - Fixed Shift + (Pg up/Pg dn, Home/End) selection
3775           - Fixed normal cursor selection to be compat with win32
3776           - Fixed Shift + Mouse Click selection
3777
3778 2004-11-24  Peter Bartok <pbartok@novell.com>
3779
3780         * XplatUI.cs (DispatchMessage): Switched to return IntPtr
3781         * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
3782         * XplatUIX11.cs:
3783           - CreatedKeyBoardMsg now updates keystate with Alt key
3784           - Added workaround for timer crash to CheckTimers, Jackson will
3785             develop a proper fix and check in later
3786           - Implemented DispatchMessage
3787           - Removed calling the native window proc from GetMessage (call
3788             now moved to DispatchMessage)
3789
3790         * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
3791           the keydata (Fixes bug #69831)
3792
3793         * XplatUIWin32.cs:
3794           - (DispatchMessage): Switched to return IntPtr
3795           - Added DllImport for SetFocus
3796
3797 2004-11-24  Ravindra <rkumar@novell.com>
3798
3799         * ThemeWin32Classic.cs: Fixed ListView border and checkbox
3800         background drawing.
3801         * ListViewItem.cs: Fixed various properties, calculations
3802         and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
3803         * ListView.cs: Fixed calculations, BackColor, ForeColor properties
3804         and some internal properties. Fixed MouseDown handler and Paint
3805         method.
3806
3807 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
3808
3809         * MonthCalendar.cs: Add TitleMonth ContextMenu handling
3810
3811 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
3812
3813         * ContainerControl.cs: correct accidental check in of local changes
3814
3815 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
3816
3817         * ThemeWin32Classic.cs:
3818                 - Fixed Drawing Last month in grid (sometimes not showing)
3819         * MonthCalendar.cs:
3820                 - Fixed title width calculation bug (makeing title small)
3821
3822 2004-11-23  Peter Bartok <pbartok@novell.com>
3823
3824         * XplatUIX11.cs:
3825           - Added generation of WM_MOUSEHOVER event
3826           - Added missing assignment of async_method atom
3827           - Fixed WM_ERASEBKGND; now only redraws the exposed area
3828
3829 2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
3830
3831         * ThemeWin32Classic.cs:
3832                 - Fixed Drawing of today circle when showtodaycircle not set
3833                 - fixed drawing of first and last month in the grid (gay dates)
3834         * MonthCalendar.cs:
3835                 - Fixed Drawing of today circle
3836                 - Fixed drawing of grady dates
3837                 - Fixed HitTest for today link when ShowToday set to false
3838                 - Fixed DefaultSize to obey ShowToday
3839
3840 2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
3841
3842         * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
3843         * System.Windows.Forms/Theme.cs
3844         * MonthCalendar.cs: added for MonthCalendar
3845         * SelectionRange.cs: added for MonthCalendar
3846         * Day.cs: added for MonthCalendar: added for MonthCalendar
3847         * DateRangeEventArgs.cs: added for MonthCalendar
3848         * DateRangeEventHandler.cs: added for MonthCalendar
3849
3850 2004-11-22  Ravindra <rkumar@novell.com>
3851
3852         * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
3853         property.
3854
3855 2004-11-22  Miguel de Icaza  <miguel@ximian.com>
3856
3857         * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
3858         event handler.
3859         
3860         * NumericUpDown.cs: Added new implementation.
3861         * UpDownBase.cs: Added new implementation.
3862
3863         * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
3864         implementations.
3865         
3866         * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
3867         implementations.
3868
3869         * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
3870         methods.
3871
3872 2004-11-21  Miguel de Icaza  <miguel@ximian.com>
3873
3874         * Timer.cs  (Dispose): Should call the base dispose when
3875         overriding.
3876
3877 2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
3878
3879         * ScrollBar.cs: updates thumb position when max, min or increment
3880         is changed
3881
3882 2004-11-21  Ravindra <rkumar@novell.com>
3883
3884         * ListView.cs: Implemented item selection, activation and
3885         column header style. Fixed properties to do a redraw, if
3886         required. Added support for MouseHover, DoubleClick, KeyDown
3887         and KeyUp event handling and some minor fixes.
3888         * ListViewItem.cs: Fixed constructor.
3889         * ThemeWin32Classic.cs: Improved drawing for ListView.
3890
3891 2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
3892
3893         * ThemeWin32Classic.cs: initial listbox drawing code
3894         * DrawMode.cs: new enumerator
3895         * ListControl.cs: stubbed class
3896         * ListBox.cs: initial implementation
3897         * Theme.cs: new methods definitions
3898         * SelectionMode.cs: new enumerator
3899
3900 2004-11-17  Peter Bartok  <pbartok@novell.com>
3901
3902         * XplatUIWin32.cs: Added double-click events to the class style
3903         * Control.cs (WndProc):
3904           - Added handling of click-count to MouseDown/ MouseUp events.
3905           - Added handling of middle and right mouse buttons
3906           - Removed old debug code
3907
3908 2004-11-17  Jackson Harper  <jackson@ximian.com>
3909
3910         * XplatUIX11.cs: Use the new Mono.Unix namespace.
3911
3912 2004-11-17  Ravindra <rkumar@novell.com>
3913
3914         * ListView.cs: Added event handling for MouseMove/Up/Down.
3915         * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
3916         * ThemeWin32Classic.cs: We need to clear the graphics context and
3917         draw column header in a proper state.
3918
3919
3920 2004-11-17  Jordi Mas i Hernandez <jordi@ximian.com>
3921
3922         *  Menu.cs: fixes signature
3923
3924 2004-11-16  Peter Bartok  <pbartok@novell.com>
3925
3926         * XplatUIX11.cs (GetMessage): Implemented generation of
3927           double click mouse messages
3928
3929 2004-11-12  Jordi Mas i Hernandez <jordi@ximian.com>
3930
3931         *  Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
3932         not by menu
3933
3934 2004-11-11  Peter Bartok  <pbartok@novell.com>
3935
3936         * HandleData.cs: Added Visible property
3937         * XplatUIX11.cs (IsVisible): Now uses Visible property from
3938           HandleData
3939         * XplatUIX11.cs: Removed old debug leftovers
3940         * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
3941         * Control.cs (WndProc): Removed old debug leftovers,
3942           streamlined handling of WM_WINDOWPOSCHANGED, removed un-
3943           needed WM_SIZE handling
3944
3945 2004-11-11  Jackson Harper  <jackson@ximian.com>
3946
3947         * OwnerDrawPropertyBag.cs:
3948         * TreeViewImageIndexConverter.cs: Initial implementation
3949
3950 2004-11-10  Jackson Harper  <jackson@ximian.com>
3951
3952         * ThemeWin32Classic.cs:
3953         * TabControl.cs: instead of moving tabs by the slider pos just
3954         start drawing at the tab that is offset by the slider. This way
3955         scrolling always moves by exactly one tab.
3956
3957 2004-11-10  Jackson Harper  <jackson@ximian.com>
3958
3959         * TabControl.cs: You can only scroll left when the slider has
3960         already ben moved right.
3961         
3962 2004-11-10  Jackson Harper  <jackson@ximian.com>
3963
3964         * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
3965         the clip area.
3966         
3967 2004-11-10  Jackson Harper  <jackson@ximian.com>
3968
3969         * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
3970         clip area.
3971         
3972 2004-11-09  Jackson Harper  <jackson@ximian.com>
3973
3974         * TabControl.cs (CalcXPos): New helper method so we can determine
3975         the proper place to start drawing vertical tabs.
3976         * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
3977         
3978 2004-11-09  Jackson Harper  <jackson@ximian.com>
3979
3980         * TabControl.cs: Calculate sizing and rects for left aligned tabs.
3981         * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
3982         and Bottom, left and right are illegal values for this and
3983         multiline is enabled when the alignment is set to left or right.
3984         (DrawTab): Each alignment block should draw the text itself now
3985         because Left requires special love. Also add rendering for Left
3986         aligned tabs.
3987         
3988 2004-11-09  Jordi Mas i Hernandez <jordi@ximian.com>
3989
3990         *  Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
3991         does not destroy the windows, removes debugging messages
3992
3993 2004-11-09  jba  <jba-mono@optusnet.com.au>
3994
3995         * ThemeWin32Classic.cs
3996         (DrawButtonBase): Fix verticle text rect clipping in windows
3997         (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
3998         rendering and incorrect text rect clipping
3999         (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
4000         rendering and incorrect text rect clipping
4001         
4002 2004-11-08  Jackson Harper  <jackson@ximian.com>
4003
4004         * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
4005         bottom when they are bottom aligned so the bottoms of the tabs get
4006         displayed.
4007         * TabControl.cs (DropRow): Move rows up instead of down when the
4008         tab control is bottom aligned.
4009
4010 2004-11-08 13:59  pbartok
4011
4012         * XplatUIX11.cs:
4013           - Added handling for various window styles
4014           - Added handling for popup windows
4015           - Added SetTopmost handling
4016
4017 2004-11-08 13:55  pbartok
4018
4019         * XplatUIWin32.cs:
4020           - Added argument to SetTopmost method
4021           - Fixed broken ClientToScreen function
4022
4023 2004-11-08 13:53  pbartok
4024
4025         * XplatUIStructs.cs:
4026           - Added missing WS_EX styles
4027
4028 2004-11-08 13:53  pbartok
4029
4030         * XplatUI.cs, XplatUIDriver.cs:
4031           - Added argument to SetTopmost
4032
4033 2004-11-08 13:52  pbartok
4034
4035         * X11Structs.cs:
4036           - Added XSetWindowAttributes structure
4037           - Improved XWindowAttributes structure
4038           - Added SetWindowValuemask enum
4039           - Added window creation arguments enum
4040           - Added gravity enum
4041           - Added Motif hints structure
4042           - Added various Motif flags and enums
4043           - Added PropertyMode enum for property functions
4044
4045 2004-11-08 13:50  pbartok
4046
4047         * Form.cs:
4048           - Fixed arguments for updated SetTopmost method
4049
4050 2004-11-08 13:49  pbartok
4051
4052         * ToolTip.cs:
4053           - Fixed arguments for updated SetTopmost function
4054           - Fixed usage of PointToClient
4055
4056 2004-11-08 13:44  pbartok
4057
4058         * MenuAPI.cs:
4059           - Added Clipping of children and siblings
4060
4061 2004-11-08 13:41  pbartok
4062
4063         * MainMenu.cs:
4064           - Removed SetMenuBarWindow call. We do this in Form.cs
4065
4066 2004-11-08 13:40  jackson
4067
4068         * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
4069           scrolling jimmi in the correct location with bottom aligned tabs
4070
4071 2004-11-08 13:36  pbartok
4072
4073         * ContainerControl.cs:
4074           - Implemented BindingContext
4075           - Implemented ParentForm
4076
4077 2004-11-08 12:46  jackson
4078
4079         * TabControl.cs: Put bottom rendered tabs in the right location
4080
4081 2004-11-08 07:15  jordi
4082
4083         * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
4084           removes dead code
4085
4086 2004-11-05 17:30  jackson
4087
4088         * TabControl.cs: When selected tabs are expanded make sure they
4089           don't go beyond the edges of the tab control
4090
4091 2004-11-05 14:57  jackson
4092
4093         * TabControl.cs: Reset show_slider so if the control is resized to
4094           a size where it is no longer needed it's not displayed anymore
4095
4096 2004-11-05 13:16  jackson
4097
4098         * TabControl.cs: Make tab pages non visible when added to the
4099           control
4100
4101 2004-11-05 12:42  jackson
4102
4103         * TabControl.cs: Implement SizeMode.FillToRight
4104
4105 2004-11-05 12:16  jackson
4106
4107         * Control.cs: Do not call CreateHandle if the handle is already
4108           created
4109
4110 2004-11-05 11:46  jackson
4111
4112         * TabControl.cs: Remove superflous call to CalcTabRows
4113
4114 2004-11-05 09:07  jackson
4115
4116         * XplatUIX11.cs: Update for Mono.Posix changes
4117
4118 2004-11-05 07:00  ravindra
4119
4120         * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
4121           scrolling.
4122
4123 2004-11-04 22:47  jba
4124
4125         * ThemeWin32Classic.cs:
4126           - Fix Button rendering for FlatStyle = Flat or Popup
4127           - Fix RadioButton and CheckBox rendering when Appearance = Button
4128             (normal and flatstyle).
4129           - Correct outer rectangle color when drawing focus rectangle
4130           - Adjust button bounds to be 1 px smaller when focused
4131           - Make button not draw sunken 3d border when pushed (windows compat)
4132           - Fix CPDrawBorder3D to not make bottom right hand corner rounded
4133           - Offset the text in RadioButton and Checkbox when being rendered as
4134           a button.
4135           - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
4136           radiobuttons
4137           - Fixed disabled rendering for colored flatstyle radiobuttons (both)
4138           - Fixed disabled text rendering for normally rendered radiobuttons
4139
4140 2004-11-04 10:26  jackson
4141
4142         * TabControl.cs: Recalculate tab rows when resizing
4143
4144 2004-11-04 07:47  jordi
4145
4146         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
4147           collection completion, drawing issues, missing features
4148
4149 2004-11-04 05:03  ravindra
4150
4151         * ScrollBar.cs:
4152                 - We need to recalculate the Thumb area when
4153                 LargeChange/maximum/minimum values are changed.
4154           - We set the 'pos' in UpdatePos() method to minimum, if it's less
4155                 than minimum. This is required to handle the case if large_change is
4156                 more than max, and use LargeChange property instead of large_change
4157                 variable.
4158           - We return max+1 when large_change is more than max, like MS does.
4159
4160 2004-11-04 04:29  ravindra
4161
4162         * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
4163                 - Changed default value signatures (prefixed all with ListView).
4164                 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
4165                 ListView.
4166           - Fixed calculations for ListViewItem and implemented Clone()
4167           method.
4168
4169 2004-11-04 04:26  ravindra
4170
4171         * Theme.cs, ThemeWin32Classic.cs:
4172                 - Changed default ListView values signatures (prefixed all with
4173                 ListView).
4174           - Fixed default size values for VScrollBar and HScrollBar.
4175                 - Fixed DrawListViewItem method.
4176
4177 2004-11-04 04:05  ravindra
4178
4179         * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
4180
4181 2004-11-04 04:04  ravindra
4182
4183         * ImageList.cs: Implemented the missing overload for Draw method.
4184
4185 2004-11-03 19:29  jackson
4186
4187         * TabControl.cs: Handle dropping rows on selection properly
4188
4189 2004-11-03 11:59  jackson
4190
4191         * TabControl.cs: remove debug code
4192
4193 2004-11-03 11:52  jackson
4194
4195         * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
4196           the scrolly widgerywoo
4197
4198 2004-11-02 13:52  jackson
4199
4200         * TabControl.cs: Resize the tab pages and tabs when the tab control
4201           is resized
4202
4203 2004-11-02 13:40  jackson
4204
4205         * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
4206           selected tab to the bottom
4207
4208 2004-11-02 13:39  jackson
4209
4210         * TabPage.cs: Store the tab pages row
4211
4212 2004-11-02 12:33  jordi
4213
4214         * MenuItem.cs: fixes handle creation
4215
4216 2004-11-02 11:42  jackson
4217
4218         * TabControl.cs: signature fix
4219
4220 2004-11-02 08:56  jackson
4221
4222         * TabControl.cs: Calculate whether the tab is on an edge properly.
4223           Remove top secret debugging code
4224
4225 2004-11-01 19:57  jackson
4226
4227         * TabControl.cs: Add click handling, and proper sizing
4228
4229 2004-11-01 19:47  jackson
4230
4231         * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
4232           tab controls
4233
4234 2004-11-01 19:39  jackson
4235
4236         * TabPage.cs: add internal property to store the bounds of a tab
4237           page
4238
4239 2004-10-30 04:23  ravindra
4240
4241         * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
4242           values.
4243
4244 2004-10-30 04:21  ravindra
4245
4246         * ListView.cs, ListViewItem.cs: Added support for scrolling and
4247           fixed calculations.
4248
4249 2004-10-30 03:06  pbartok
4250
4251         * XplatUIX11.cs:
4252           - Removed extension of DllImported libs
4253
4254 2004-10-29 09:55  jordi
4255
4256         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
4257           navigation, itemcollection completion, menu fixes
4258
4259 2004-10-27 22:58  pbartok
4260
4261         * XplatUIX11.cs:
4262           - Now throws a nice error message when no X display could be opened
4263
4264 2004-10-26 13:51  jordi
4265
4266         * ListView.cs: removes warning
4267
4268 2004-10-26 03:55  ravindra
4269
4270         * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
4271           ThemeWin32Classic.cs: Some formatting for my last checkins.
4272
4273 2004-10-26 03:36  ravindra
4274
4275         * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
4276           control and default values.
4277
4278 2004-10-26 03:35  ravindra
4279
4280         * Theme.cs: Added some default values for ListView control.
4281
4282 2004-10-26 03:33  ravindra
4283
4284         * ToolBar.cs: ToolBar should use the user specified button size, if
4285           there is any. Added a size_specified flag for the same.
4286
4287 2004-10-26 03:33  ravindra
4288
4289         * ColumnHeader.cs: Added some internal members and calculations for
4290           ColumnHeader.
4291
4292 2004-10-26 03:32  ravindra
4293
4294         * ListViewItem.cs: Calculations for ListViewItem.
4295
4296 2004-10-26 03:31  ravindra
4297
4298         * ListView.cs: Added some internal members and calculations for
4299           ListView.
4300
4301 2004-10-22 13:31  jordi
4302
4303         * MenuAPI.cs: speedup menus drawing
4304
4305 2004-10-22 13:16  jackson
4306
4307         * XplatUIX11.cs: Make sure to update exposed regions when adding an
4308           expose event
4309
4310 2004-10-22 11:49  jackson
4311
4312         * Control.cs: oops
4313
4314 2004-10-22 11:41  jackson
4315
4316         * Control.cs: Check to see if the window should have its background
4317           repainted by X when drawing.
4318
4319 2004-10-22 11:31  jackson
4320
4321         * XplatUIX11.cs: When invalidating areas only use XClearArea if
4322           clear is true, this way we do not get flicker from X repainting the
4323           background
4324
4325 2004-10-22 11:28  jackson
4326
4327         * XEventQueue.cs: Queue properly
4328
4329 2004-10-21 09:38  jackson
4330
4331         * XEventQueue.cs: Fix access modifier
4332
4333 2004-10-21 09:36  jackson
4334
4335         * XEventQueue.cs: Don't loose messages
4336
4337 2004-10-21 09:22  jackson
4338
4339         * XEventQueue.cs: Don't loose messages
4340
4341 2004-10-20 04:15  jordi
4342
4343         * BootMode.cs: enum need it by SystemInfo
4344
4345 2004-10-19 21:58  pbartok
4346
4347         * XplatUIWin32.cs:
4348           - Small sanity check
4349
4350 2004-10-19 21:56  pbartok
4351
4352         * Form.cs:
4353           - Added private FormParentWindow class which acts as the container
4354             for our form and as the non-client area where menus are drawn
4355           - Added/Moved required tie-ins to Jordi's menus
4356           - Fixed/Implemented the FormStartPosition functionality
4357
4358 2004-10-19 21:52  pbartok
4359
4360         * Control.cs:
4361           - Removed unneeded locals
4362           - Added code to all size and location properties to understand and
4363             deal with the parent container of Form
4364
4365 2004-10-19 21:33  pbartok
4366
4367         * Application.cs:
4368           - Fixed to deal with new Form subclasses for menus
4369
4370 2004-10-19 17:48  jackson
4371
4372         * XEventQueue.cs: commit correct version of file
4373
4374 2004-10-19 16:50  jackson
4375
4376         * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
4377
4378 2004-10-19 16:15  jordi
4379
4380         * MenuAPI.cs: MenuBarCalcSize returns the height
4381
4382 2004-10-19 08:31  pbartok
4383
4384         * Control.cs:
4385           - Added missing call to PreProcessMessage before calling OnXXXKey
4386           methods
4387
4388 2004-10-19 00:04  ravindra
4389
4390         * ToolTip.cs: Fixed constructor.
4391
4392 2004-10-18 09:31  jordi
4393
4394         * MenuAPI.cs: menuitems in menubars do not have shortcuts
4395
4396 2004-10-18 09:26  jordi
4397
4398         * MenuItem.cs: fixes MenuItem class signature
4399
4400 2004-10-18 08:56  jordi
4401
4402         * MenuAPI.cs: prevents windows from showing in the taskbar
4403
4404 2004-10-18 00:28  ravindra
4405
4406         * ToolTip.cs: Suppressed a warning message.
4407
4408 2004-10-18 00:27  ravindra
4409
4410         * Control.cs: Default value of visible property must be true.
4411
4412 2004-10-17 23:19  pbartok
4413
4414         * ToolTip.cs:
4415           - Complete implementation
4416
4417 2004-10-17 23:19  pbartok
4418
4419         * XplatUIX11.cs:
4420           - Added EnableWindow method
4421           - Added SetModal stub
4422           - Added generation of WM_ACTIVATE message (still needs testing)
4423           - Added SetTopMost stub
4424           - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
4425
4426 2004-10-17 23:17  pbartok
4427
4428         * XplatUIWin32.cs:
4429           - Removed VirtualKeys to XplatUIStructs
4430           - Implemented SetTopMost method
4431           - Implemented EnableWindow method
4432           - Bugfix in ScreenToClient()
4433           - Bugfixes in ClientToScreen()
4434
4435 2004-10-17 22:51  pbartok
4436
4437         * XplatUIStructs.cs:
4438           - Added WS_EX styles to WindowStyles enumeration
4439
4440 2004-10-17 22:50  pbartok
4441
4442         * XplatUI.cs, XplatUIDriver.cs:
4443           - Added method for enabling/disabling windows
4444           - Added method for setting window modality
4445           - Added method for setting topmost window
4446
4447 2004-10-17 22:49  pbartok
4448
4449         * ThemeWin32Classic.cs:
4450           - Added ToolTip drawing code
4451
4452 2004-10-17 22:49  pbartok
4453
4454         * Theme.cs:
4455           - Added ToolTip abstracts
4456
4457 2004-10-17 22:47  pbartok
4458
4459         * Form.cs:
4460           - Fixed Form.ControlCollection to handle owner relations
4461           - Added Owner/OwnedForms handling
4462           - Implemented Z-Ordering for owned forms
4463           - Removed unneeded private overload of ShowDialog
4464           - Fixed ShowDialog, added the X11 incarnation of modal handling (or
4465             so I hope)
4466           - Fixed Close(), had wrong default
4467           - Added firing of OnLoad event
4468           - Added some commented out debug code for Ownership handling
4469
4470 2004-10-17 22:16  pbartok
4471
4472         * Control.cs:
4473           - Fixed/implemented flat list of controls
4474
4475 2004-10-17 22:14  pbartok
4476
4477         * Application.cs:
4478           - Added code to simulate modal dialogs on Win32
4479
4480 2004-10-17 16:11  jordi
4481
4482         * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
4483           mouse event
4484
4485 2004-10-17 13:39  jordi
4486
4487         * MenuAPI.cs: menu drawing fixes
4488
4489 2004-10-15 09:10  ravindra
4490
4491         * StructFormat.cs: General Enum.
4492
4493 2004-10-15 09:09  ravindra
4494
4495         * SizeGripStyle.cs: Enum for Form.
4496
4497 2004-10-15 09:08  ravindra
4498
4499         * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
4500           in Theme for ListView.
4501
4502 2004-10-15 09:06  ravindra
4503
4504         * ColumnHeader.cs: Flushing some formatting changes.
4505
4506 2004-10-15 09:05  ravindra
4507
4508         * ListViewItem.cs: Implemented GetBounds method and fixed coding
4509           style.
4510
4511 2004-10-15 09:03  ravindra
4512
4513         * ListView.cs: Implemented Paint method and fixed coding style.
4514
4515 2004-10-15 07:34  jordi
4516
4517         * MenuAPI.cs: fix for X11
4518
4519 2004-10-15 07:32  ravindra
4520
4521         * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
4522                 - Renamed Paint() method to Draw() for clarity. Also, moved
4523                 DrawImage() to OnPaint().
4524
4525 2004-10-15 07:25  ravindra
4526
4527         * CheckBox.cs, RadioButton.cs:
4528                 - Removed Redraw (), we get it from ButtonBase.
4529                 - Implemented Paint (), to do class specific painting.
4530
4531 2004-10-15 07:16  ravindra
4532
4533         * ButtonBase.cs:
4534                 - Redraw () is not virtual now.
4535                 - Added an internal virtual method Paint (), so that
4536                 derived classes can do their painting on their own.
4537                 - Modified OnPaint () to call Paint ().
4538
4539 2004-10-15 06:43  jordi
4540
4541         * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
4542           MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
4543
4544 2004-10-15 00:30  ravindra
4545
4546         * MessageBox.cs:
4547                 - MessageBox on windows does not have min/max buttons.
4548                 This change in CreateParams fixes this on Windows. We
4549                 still need to implement this windowstyle behavior in
4550                 our X11 driver.
4551
4552 2004-10-14 05:14  ravindra
4553
4554         * ToolBar.cs:
4555                 - Changed Redraw () to do a Refresh () always.
4556                 - Fixed the MouseMove event handling when mouse is pressed,
4557                 ie drag event handling.
4558                 - Replaced the usage of ToolBarButton.Pressed property to
4559                 ToolBarButton.pressed internal variable.
4560
4561 2004-10-14 05:10  ravindra
4562
4563         * ToolBarButton.cs:
4564                 - Added an internal member 'inside' to handle mouse move
4565                 with mouse pressed ie mouse drag event.
4566                 - Changed 'Pressed' property to return true only when
4567                 'inside' and 'pressed' are both true.
4568                 - Some coding style love.
4569
4570 2004-10-14 00:17  ravindra
4571
4572         * Form.cs: Fixed class signature. ShowDialog (Control) is not a
4573           public method.
4574
4575 2004-10-14 00:15  ravindra
4576
4577         * ButtonBase.cs: Redraw () related improvements.
4578
4579 2004-10-14 00:14  ravindra
4580
4581         * MessageBox.cs: Moved InitFormSize () out of Paint method and
4582           removed unnecessary calls to Button.Show () method.
4583
4584 2004-10-13 17:50  pbartok
4585
4586         * XplatUIX11.cs:
4587           - Formatting fix
4588           - Removed destroying of window until we solve the problem of X
4589             destroying the window before us on shutdown
4590
4591 2004-10-13 16:32  pbartok
4592
4593         * ButtonBase.cs:
4594           - Now Redraws on MouseUp for FlatStyle Flat and Popup
4595
4596 2004-10-13 14:18  pbartok
4597
4598         * XplatUIX11.cs:
4599           - Added code to destroy the X window
4600
4601 2004-10-13 14:18  pbartok
4602
4603         * XplatUIWin32.cs:
4604           - Added code to destroy a window
4605
4606 2004-10-13 14:12  pbartok
4607
4608         * ButtonBase.cs:
4609           - Added the Redraw on Resize that got dropped in the last rev
4610
4611 2004-10-13 09:06  pbartok
4612
4613         * ThemeWin32Classic.cs:
4614           - Path from John BouAntoun:
4615             * Fix check rendering (centre correctly for normal style, offset
4616               correctly for FlatStyle).
4617             * Fix border color usage (use backcolor) for FlatStyle.Popup
4618             * Use checkbox.Capture instead of checkbox.is_pressed when
4619               rendering flatstyle states.
4620
4621 2004-10-12 21:48  pbartok
4622
4623         * ThemeWin32Classic.cs:
4624           - Removed all occurences of SystemColors and replaced them with the
4625             matching theme color
4626
4627 2004-10-12 21:41  pbartok
4628
4629         * ThemeWin32Classic.cs:
4630           - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
4631             him using the function for flatstyle drawing
4632           - Changed functions to use the new version of CPDrawBorder3D
4633
4634 2004-10-12 21:15  pbartok
4635
4636         * ControlPaint.cs:
4637           - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
4638             match MS documentation. They need to return defined colors if the
4639             passed color matches the configured control color. Thanks to John
4640             BouAntoun for pointing this out.
4641
4642 2004-10-12 20:57  pbartok
4643
4644         * Control.cs:
4645           - Fix from John BouAntoun: Raise ForeColorChanged event when text
4646             color is changed
4647
4648 2004-10-12 20:46  pbartok
4649
4650         * CheckBox.cs:
4651           - Fix from John BouAntoun: Now properly sets the Appearance property
4652
4653 2004-10-12 20:45  pbartok
4654
4655         * ThemeWin32Classic.cs:
4656           - Fixes from John BouAntoun: now handles forecolors and backcolors
4657             for flatstyle rendered controls much better; It also fixes normal
4658             checkbox rendering when pushed or disabled.
4659
4660 2004-10-08 02:50  jordi
4661
4662         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
4663           work
4664
4665 2004-10-07 08:56  jordi
4666
4667         * ThemeWin32Classic.cs: Removes deletion of cached brushes
4668
4669 2004-10-06 03:59  jordi
4670
4671         * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
4672           XplatUIWin32.cs: removes warnings from compilation
4673
4674 2004-10-05 12:23  jackson
4675
4676         * RadioButton.cs: Fix ctor
4677
4678 2004-10-05 11:10  pbartok
4679
4680         * MessageBox.cs:
4681           - Partial implementation by Benjamin Dasnois
4682
4683 2004-10-05 10:15  jackson
4684
4685         * ThemeWin32Classic.cs: Improve rendering of the radio button patch
4686           by John BouAntoun
4687
4688 2004-10-05 03:07  ravindra
4689
4690         * ToolBar.cs:
4691                 - Removed a private method, Draw ().
4692                 - Fixed the ButtonDropDown event handling.
4693                 - Fixed MouseMove event handling.
4694
4695 2004-10-05 03:04  ravindra
4696
4697         * ThemeWin32Classic.cs:
4698                 - Added DrawListView method and ListViewDefaultSize property.
4699                 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
4700                 - Changed DOS style CRLF to Unix format (dos2unix).
4701
4702 2004-10-05 03:03  ravindra
4703
4704         * Theme.cs:
4705                 - Added DrawListView method and ListViewDefaultSize property.
4706
4707 2004-10-05 02:42  ravindra
4708
4709         * ToolBarButton.cs: Added an internal member dd_pressed to handle
4710           clicks on DropDown arrow.
4711
4712 2004-10-04 22:56  jackson
4713
4714         * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
4715           ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
4716           Control handle the buffers, derived classes should not have to
4717           CreateBuffers themselves.
4718
4719 2004-10-04 21:20  jackson
4720
4721         * StatusBar.cs: The control handles resizing the buffers now.
4722
4723 2004-10-04 21:18  jackson
4724
4725         * Control.cs: When resizing the buffers should be invalidated. This
4726           should be handled in Control not in derived classes.
4727
4728 2004-10-04 14:45  jackson
4729
4730         * TabPage.cs: oops
4731
4732 2004-10-04 02:14  pbartok
4733
4734         * LeftRightAlignment.cs:
4735           - Initial check-in
4736
4737 2004-10-04 01:09  jordi
4738
4739         * ThemeWin32Classic.cs: fixes right button position causing right
4740           button not showing on horizontal scrollbars
4741
4742 2004-10-02 13:12  pbartok
4743
4744         * XplatUIX11.cs:
4745           - Simplified the Invalidate method by using an X call instead of
4746             generating the expose ourselves
4747           - Added an expose when the window background is changed
4748           - Implemented ClientToScreen method
4749
4750 2004-10-02 13:08  pbartok
4751
4752         * XplatUIWin32.cs:
4753           - Added Win32EnableWindow method (test for implementing modal
4754           dialogs)
4755           - Added ClientToScreen method and imports
4756
4757 2004-10-02 13:07  pbartok
4758
4759         * XplatUI.cs, XplatUIDriver.cs:
4760           - Added ClientToScreen coordinate translation method
4761
4762 2004-10-02 13:06  pbartok
4763
4764         * KeyPressEventArgs.cs:
4765           - Fixed access level for constructor
4766
4767 2004-10-02 13:06  pbartok
4768
4769         * NativeWindow.cs:
4770           - Changed access level for the window_collection hash table
4771
4772 2004-10-02 13:05  pbartok
4773
4774         * Form.cs:
4775           - Added KeyPreview property
4776           - Added Menu property (still incomplete, pending Jordi's menu work)
4777           - Implemented ProcessCmdKey
4778           - Implemented ProcessDialogKey
4779           - Implemented ProcessKeyPreview
4780
4781 2004-10-02 13:02  pbartok
4782
4783         * Control.cs:
4784           - Added private method to get the Control object from the window
4785           handle
4786           - Implemented ContextMenu property
4787           - Implemented PointToScreen
4788           - Implemented PreProcessMessage
4789           - Implemented IsInputChar
4790           - Implemented IsInputKey
4791           - Implemented ProcessCmdKey
4792           - Completed ProcessKeyEventArgs
4793           - Fixed message loop to call the proper chain of functions on key
4794           events
4795           - Implemented ProcessDialogChar
4796           - Implemented ProcessDialogKey
4797           - Implemented ProcessKeyMessage
4798           - Implemented ProcessKeyPreview
4799           - Added RaiseDragEvent stub (MS internal method)
4800           - Added RaiseKeyEvent stub (MS internal method)
4801           - Added RaiseMouseEvent stub (MS Internal method)
4802           - Added RaisePaintEvent stub (MS Internal method)
4803           - Added ResetMouseEventArgs stub (MS Internal method)
4804           - Implemented RtlTranslateAlignment
4805           - Implemented RtlTranslateContent
4806           - Implemented RtlTranslateHorizontal
4807           - Implemented RtlTranslateLeftRight
4808           - Added generation of KeyPress event
4809
4810 2004-10-02 05:57  ravindra
4811
4812         * ListViewItem.cs: Added attributes.
4813
4814 2004-10-02 05:32  ravindra
4815
4816         * ListView.cs: Added attributes.
4817
4818 2004-10-01 11:53  jackson
4819
4820         * Form.cs: Implement the Close method so work on MessageBox can
4821           continue.
4822
4823 2004-09-30 14:06  pbartok
4824
4825         * XplatUIX11.cs:
4826           - Bug fixes
4827
4828 2004-09-30 11:34  jackson
4829
4830         * RadioButton.cs: Fix typo. Patch by John BouAntoun.
4831
4832 2004-09-30 07:26  ravindra
4833
4834         * ListViewItemConverter.cs: Converter for ListViewItem.
4835
4836 2004-09-30 07:26  ravindra
4837
4838         * SortOrder.cs: Enum for ListView control.
4839
4840 2004-09-30 07:25  ravindra
4841
4842         * ColumnHeader.cs: Supporting class for ListView control.
4843
4844 2004-09-30 07:24  ravindra
4845
4846         * ListView.cs, ListViewItem.cs: Initial implementation.
4847
4848 2004-09-30 07:20  ravindra
4849
4850         * ItemActivation.cs: Enum for ListView Control.
4851
4852 2004-09-29 20:29  pbartok
4853
4854         * XplatUIX11.cs:
4855           - Added lookup of pixel value for background color; tries to get a
4856             color 'close' to the requested color, it avoids having to create a
4857             colormap.  Depending on the display this could mean the used color
4858             is slightly off the desired color. Might have to change it to a more
4859             resource intensive colormap approach, but it will work as a
4860           workaround to avoid red screens.
4861
4862 2004-09-29 14:27  jackson
4863
4864         * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
4865
4866 2004-09-28 12:44  pbartok
4867
4868         * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
4869           HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
4870           ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
4871           Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
4872           TrackBar.cs, VScrollBar.cs:
4873           - Streamlined Theme interfaces:
4874             * Each DrawXXX method for a control now is passed the object for
4875               the control to be drawn in order to allow accessing any state the
4876               theme might require
4877
4878             * ControlPaint methods for the theme now have a CP prefix to avoid
4879               name clashes with the Draw methods for controls
4880
4881             * Every control now retrieves it's DefaultSize from the current
4882             theme
4883
4884 2004-09-28 12:17  jackson
4885
4886         * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
4887           drawing
4888
4889 2004-09-24 14:57  jackson
4890
4891         * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
4892           Gives us a nice little performance boost.
4893
4894 2004-09-24 12:02  jackson
4895
4896         * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
4897           TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
4898           Control and supporting classes. Initial checkin
4899
4900 2004-09-23 13:08  jackson
4901
4902         * Form.cs: Temp build fixage
4903
4904 2004-09-23 01:39  ravindra
4905
4906         * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
4907           ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
4908           ItemDragEventArgs.cs, ItemDragEventHandler.cs,
4909           LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
4910           EventHandlers needed by ListView Control.
4911
4912 2004-09-22 14:12  pbartok
4913
4914         * ScrollableControl.cs:
4915           - Implemented DockPadding property
4916           - Implemented AutoScroll property
4917           - Implemented AutoScrollMargin property
4918           - Implemented AutoScrollMinSize property
4919           - Implemented AutoScrollPosition property
4920           - Implemented DisplayRectangle property (still incomplete)
4921           - Implemented CreateParams property
4922           - Implemented HScroll property
4923           - Implemented VScroll property
4924           - Implemented OnVisibleChanged property
4925
4926 2004-09-22 14:09  pbartok
4927
4928         * Form.cs:
4929           - Added Form.ControllCollection class
4930           - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
4931             RemoveOwnedForm (still incomplete, missing on-top and common
4932             minimize/maximize behaviour)
4933           - Added StartPosition property (still incomplete, does not use when
4934             creating the form)
4935           - Added ShowDialog() methods (still incomplete, missing forcing the
4936             dialog modal)
4937
4938 2004-09-22 14:05  pbartok
4939
4940         * Application.cs:
4941           - Added message loop for modal dialogs
4942
4943 2004-09-22 14:02  pbartok
4944
4945         * GroupBox.cs:
4946           - Fixed wrong types for events
4947
4948 2004-09-22 14:00  pbartok
4949
4950         * Shortcut.cs, FormWindowState.cs:
4951           - Fixed wrong values
4952
4953 2004-09-22 12:01  jackson
4954
4955         * Control.cs: Text is never null
4956
4957 2004-09-20 22:14  pbartok
4958
4959         * XplatUIWin32.cs:
4960           - Fixed accessibility level for Idle handler
4961
4962 2004-09-20 18:54  jackson
4963
4964         * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
4965           XplatUIX11.cs: New message loop that uses poll so we don't get a
4966           busy loop
4967
4968 2004-09-17 10:43  pbartok
4969
4970         * ScrollBar.cs:
4971           - Fixed behaviour of arrow buttons. Now properly behaves like
4972             Buttons (and like Microsoft's scrollbar arrow buttons)
4973
4974 2004-09-17 10:14  pbartok
4975
4976         * ScrollBar.cs:
4977           - Added missing release of keyboard/mouse capture
4978
4979 2004-09-17 06:18  jordi
4980
4981         * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
4982           Theme.cs: Very early menu support
4983
4984 2004-09-16 17:45  pbartok
4985
4986         * XplatUIWin32.cs:
4987           - Fixed sending a window to the front
4988           - Added overload for SetWindowPos to avoid casting
4989
4990 2004-09-16 17:44  pbartok
4991
4992         * Control.cs:
4993           - Added SendToBack and BringToFront methods
4994
4995 2004-09-16 07:00  ravindra
4996
4997         * Copyright: Added Novell URL.
4998
4999 2004-09-16 07:00  ravindra
5000
5001         * ToolBar.cs: Invalidate should be done before redrawing.
5002
5003 2004-09-15 21:19  ravindra
5004
5005         * ColumnHeaderStyle.cs: Enum for ListView Control.
5006
5007 2004-09-15 21:18  ravindra
5008
5009         * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
5010           ListView Control.
5011
5012 2004-09-13 18:26  jackson
5013
5014         * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
5015           properly
5016
5017 2004-09-13 18:13  jackson
5018
5019         * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
5020           a second thread and post messages into the main threads message
5021           queue. This makes timing much more consistent. Both win2K and XP
5022           have a minimum timer value of 15 milliseconds, so we now do this
5023           too.
5024
5025 2004-09-13 15:18  pbartok
5026
5027         * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
5028           XplatUIX11.cs:
5029           - Added Z-Ordering methods
5030
5031 2004-09-13 10:56  pbartok
5032
5033         * Form.cs:
5034           - Fixed #region names
5035           - Moved properties and methods into their proper #regions
5036
5037 2004-09-13 10:51  pbartok
5038
5039         * Form.cs:
5040           - Added Accept and CancelButton properties
5041           - Added ProcessDialogKey() method
5042
5043 2004-09-13 08:18  pbartok
5044
5045         * IWindowTarget.cs:
5046           - Initial check-in
5047
5048 2004-09-10 21:50  pbartok
5049
5050         * Control.cs:
5051           - Added DoDragDrop() [incomplete]
5052           - Properly implemented 'Visible' handling
5053           - Added SetVisibleCore()
5054           - Implemented FindChildAtPoint()
5055           - Implemented GetContainerControl()
5056           - Implemented Hide()
5057
5058 2004-09-10 19:28  pbartok
5059
5060         * Control.cs:
5061           - Moved methods into their appropriate #regions
5062           - Reordered methods within regions alphabetically
5063
5064 2004-09-10 18:57  pbartok
5065
5066         * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
5067           - Added method to retrieve text from window
5068
5069 2004-09-10 18:56  pbartok
5070
5071         * Control.cs:
5072           - Moved some internal functions into the internal region
5073           - Implemented FontHeight
5074           - Implemented RenderRightToLeft
5075           - Implemented ResizeRedraw
5076           - Implemented ShowFocusCues
5077           - Implemented ShowKeyboardCues
5078           - Implemented FromChildHandle
5079           - Implemented FromHandle
5080           - Implemented IsMnemonic
5081           - Implemented ReflectMessage
5082           - All public and protected Static Methods are now complete
5083
5084 2004-09-10 16:54  pbartok
5085
5086         * Control.cs:
5087           - Implemented remaining missing public instance properties
5088           - Alphabetized some out of order properties
5089
5090 2004-09-10 05:51  ravindra
5091
5092         * PictureBox.cs: Added a check for null image.
5093
5094 2004-09-10 00:59  jordi
5095
5096         * GroupBox.cs: remove cvs tag
5097
5098 2004-09-09 05:25  ravindra
5099
5100         * ToolBar.cs: Make redraw accessible from ToolBarButton.
5101
5102 2004-09-09 05:23  ravindra
5103
5104         * ToolBarButton.cs: Changes in ToolBarButton need to make it's
5105           parent redraw.
5106
5107 2004-09-09 02:28  pbartok
5108
5109         * ThemeWin32Classic.cs:
5110           - Improve disabled string look
5111
5112 2004-09-09 01:15  jordi
5113
5114         * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
5115           args and handler
5116
5117 2004-09-08 23:56  ravindra
5118
5119         * ItemBoundsPortion.cs: It's enum, not a class!
5120
5121 2004-09-08 23:47  ravindra
5122
5123         * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
5124           Enums for Form.
5125
5126 2004-09-08 21:13  ravindra
5127
5128         * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
5129           ListView control.
5130
5131 2004-09-08 21:03  ravindra
5132
5133         * ThemeWin32Classic.cs: PictureBox would not draw a null image to
5134           avoid crash.
5135
5136 2004-09-08 21:01  ravindra
5137
5138         * ScrollableControl.cs: Removed unreachable code.
5139
5140 2004-09-08 06:45  jordi
5141
5142         * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
5143
5144 2004-09-08 01:00  jackson
5145
5146         * XplatUIX11.cs: Only run the timers when updating the message
5147           queue. This effectively gives X messages a higher priority then
5148           timer messages. Timers still need love though
5149
5150 2004-09-07 14:01  jackson
5151
5152         * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
5153           this for us and the handle is no longer valid.
5154
5155 2004-09-07 13:59  jackson
5156
5157         * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
5158           loop that manages to not crash. TODO: Add poll and cleanup timers
5159
5160 2004-09-07 11:12  jordi
5161
5162         * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
5163
5164 2004-09-07 03:40  jordi
5165
5166         * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
5167           fixes, methods, multiple links
5168
5169 2004-09-06 06:55  jordi
5170
5171         * Control.cs: Caches ClientRectangle rectangle value
5172
5173 2004-09-05 02:03  jordi
5174
5175         * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
5176           certain situations
5177
5178 2004-09-04 11:10  jordi
5179
5180         * Label.cs: Refresh when font changed
5181
5182 2004-09-02 16:24  pbartok
5183
5184         * Control.cs:
5185           - Added sanity check to creation of double buffer bitmap
5186
5187 2004-09-02 16:24  pbartok
5188
5189         * ButtonBase.cs:
5190           - Fixed selection of text color
5191           - Fixed handling of resize event; now properly recreates double
5192             buffering bitmap
5193           - Added missing assignment of TextAlignment
5194           - Added proper default for TextAlignment
5195
5196 2004-09-02 14:26  pbartok
5197
5198         * RadioButton.cs:
5199           - Added missing RadioButton.RadioButtonAccessibleObject class
5200
5201 2004-09-02 14:26  pbartok
5202
5203         * Control.cs:
5204           - Added missing Control.ControlAccessibleObject class
5205           - Started to implement Select()ion mechanisms, still very incomplete
5206
5207 2004-09-02 14:25  pbartok
5208
5209         * AccessibleObject.cs:
5210           - Added missing methods
5211
5212 2004-09-02 14:23  pbartok
5213
5214         * AccessibleNavigation.cs, AccessibleSelection.cs:
5215           - Initial check-in
5216
5217 2004-09-02 10:32  jordi
5218
5219         * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
5220           pool for pens, brushes, and hatchbruses
5221
5222 2004-09-01 15:30  jackson
5223
5224         * StatusBar.cs: Fix typo
5225
5226 2004-09-01 14:44  pbartok
5227
5228         * RadioButton.cs:
5229           - Fixed state
5230
5231 2004-09-01 14:39  pbartok
5232
5233         * Button.cs, RadioButton.cs:
5234           - Functional initial check-in
5235
5236 2004-09-01 14:01  pbartok
5237
5238         * CheckBox.cs:
5239           - Added missing default
5240           - Added missing region mark
5241
5242 2004-09-01 09:10  jordi
5243
5244         * Label.cs: fixes method signatures, new methods, events, fixes
5245           autosize
5246
5247 2004-09-01 07:19  jordi
5248
5249         * Control.cs: Init string variables with an empty object
5250
5251 2004-09-01 04:20  jordi
5252
5253         * Control.cs: fires OnFontChanged event
5254
5255 2004-08-31 20:07  pbartok
5256
5257         * ButtonBase.cs:
5258           - Enabled display of strings
5259
5260 2004-08-31 20:05  pbartok
5261
5262         * Form.cs:
5263           - Added (partial) implementation of DialogResult; rest needs to be
5264             implemented when the modal loop code is done
5265
5266 2004-08-31 19:55  pbartok
5267
5268         * CheckBox.cs:
5269           - Fixed to match the removal of the needs_redraw concept
5270
5271 2004-08-31 19:55  pbartok
5272
5273         * ButtonBase.cs:
5274           - Removed the rather odd split between 'needs redraw' and redrawing
5275           - Now handles the events that require regeneration (ambient
5276             properties and size)
5277
5278 2004-08-31 19:41  pbartok
5279
5280         * Control.cs:
5281           - Added firing of BackColorChanged event
5282           - Added TopLevelControl property
5283           - Fixed handling of WM_ERASEBKGRND message
5284
5285 2004-08-31 12:49  pbartok
5286
5287         * ButtonBase.cs:
5288           - Removed debug
5289           - Minor fixes
5290
5291 2004-08-31 12:48  pbartok
5292
5293         * CheckBox.cs:
5294           - Finished (famous last words)
5295
5296 2004-08-31 04:35  jordi
5297
5298         * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
5299           scrolling bugs, adds new methods
5300
5301 2004-08-30 14:42  pbartok
5302
5303         * CheckBox.cs:
5304           - Implemented CheckBox drawing code
5305
5306 2004-08-30 14:42  pbartok
5307
5308         * ButtonBase.cs:
5309           - Made Redraw() and CheckRedraw() virtual
5310           - Improved mouse up/down/move logic to properly track buttons
5311
5312 2004-08-30 09:44  pbartok
5313
5314         * CheckBox.cs:
5315           - Updated to fix broken build. Not complete yet.
5316
5317 2004-08-30 09:28  pbartok
5318
5319         * CheckState.cs:
5320           - Initial checkin
5321
5322 2004-08-30 09:17  pbartok
5323
5324         * Appearance.cs:
5325           - Initial check-in
5326
5327 2004-08-27 16:12  ravindra
5328
5329         * ToolBarButton.cs: Added TypeConverter attribute.
5330
5331 2004-08-27 16:07  ravindra
5332
5333         * ImageIndexConverter.cs: Implemented.
5334
5335 2004-08-27 14:17  pbartok
5336
5337         * Control.cs:
5338           - Removed unneeded stack vars
5339           - First attempt to fix sizing issues when layout is suspended
5340
5341 2004-08-25 15:35  jordi
5342
5343         * ScrollBar.cs: more fixes to scrollbar
5344
5345 2004-08-25 14:04  ravindra
5346
5347         * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
5348           Added the missing divider code and grip for ToolBar Control.
5349
5350 2004-08-25 13:20  pbartok
5351
5352         * Control.cs:
5353           - Control now properly passes the ambient background color to child
5354             controls
5355
5356 2004-08-25 13:20  jordi
5357
5358         * ScrollBar.cs: small bug fix regarding bar position
5359
5360 2004-08-25 12:33  pbartok
5361
5362         * Timer.cs:
5363           - Now only calls SetTimer or KillTimer if the enabled state has
5364           changed
5365
5366 2004-08-25 12:33  pbartok
5367
5368         * XplatUIWin32.cs:
5369           - Fixed timer handling, now seems to work
5370           - Improved error message for window creation
5371
5372 2004-08-25 12:32  pbartok
5373
5374         * Control.cs:
5375           - Fixed generation of MouseUp message
5376
5377 2004-08-25 12:29  jordi
5378
5379         * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
5380           and fixes for progressbar
5381
5382 2004-08-24 18:43  ravindra
5383
5384         * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
5385           in ToolBar control.
5386
5387 2004-08-24 17:15  pbartok
5388
5389         * Panel.cs:
5390           - Added #region
5391           - Added missing events
5392           - Alphabetized
5393
5394 2004-08-24 17:14  pbartok
5395
5396         * StatusBar.cs, PictureBox.cs:
5397           - Now uses Control's CreateParams
5398
5399 2004-08-24 16:36  pbartok
5400
5401         * XplatUIX11.cs:
5402           - Fixed background color handling
5403           - Fixed sending of enter/leave events on a grab
5404
5405 2004-08-24 16:35  pbartok
5406
5407         * X11Structs.cs:
5408           - Refined definitions for CrossingEvent
5409
5410 2004-08-24 12:37  jordi
5411
5412         * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
5413           formmating, methods signature, and adds missing events
5414
5415 2004-08-24 12:24  jordi
5416
5417         * Control.cs: fire OnEnabledChanged event
5418
5419 2004-08-24 11:17  pbartok
5420
5421         * XplatUIWin32.cs:
5422           - Implemented SetTimer() and KillTimer()
5423
5424 2004-08-24 11:16  pbartok
5425
5426         * XplatUIX11.cs:
5427           - Now uses Remove instead of Add to kill the timer
5428
5429 2004-08-24 10:16  jackson
5430
5431         * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
5432           picture boxes in the theme now. Draw picture box borders and obey
5433           sizing modes
5434
5435 2004-08-24 05:49  jackson
5436
5437         * Timer.cs: Remove top secret debugging code
5438
5439 2004-08-24 05:34  jackson
5440
5441         * PictureBox.cs: Temp hack to make picture boxes draw their full
5442           image
5443
5444 2004-08-24 05:29  jackson
5445
5446         * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
5447           XplatUIX11.cs: Move timers to the driver level. On X they are
5448           queued by the driver and checked on idle.
5449
5450 2004-08-24 01:07  jackson
5451
5452         * XplatUIX11.cs: Use a queue for async messages instead of passing
5453           them as ClientMessages since that was totally broken. Also simply
5454           check for events and return an idle message if none are found. This
5455           gives us an idle handler, and prevents deadlocking when no messages
5456           are in the queue.
5457
5458 2004-08-23 18:19  ravindra
5459
5460         * XplatUIWin32.cs: Removed the unwanted destructor.
5461
5462 2004-08-23 17:27  pbartok
5463
5464         * ButtonBase.cs:
5465           - Finishing touches. Works now, just needs some optimizations.
5466
5467 2004-08-23 16:53  jordi
5468
5469         * ScrollBar.cs: small fix
5470
5471 2004-08-23 16:45  pbartok
5472
5473         * Application.cs:
5474           - Removed debug output
5475           - Simplifications
5476
5477 2004-08-23 16:43  jordi
5478
5479         * ScrollBar.cs: [no log message]
5480
5481 2004-08-23 16:10  pbartok
5482
5483         * Form.cs:
5484           - Fixed handling of WM_CLOSE message
5485           - Removed debug output
5486
5487 2004-08-23 16:09  pbartok
5488
5489         * Application.cs:
5490           - Added handling of Idle event
5491           - Added handling of form closing
5492           - Fixed reporting of MessageLoop property
5493           - Removed some unneeded code, should provide a bit of a speedup
5494
5495 2004-08-23 15:22  pbartok
5496
5497         * Control.cs:
5498           - Added InitLayout() method
5499           - Added code to properly perform layout when Anchor or Dock property
5500             is changed
5501           - Changed 'interpretation' of ResumeLayout. MS seems to have a
5502             LAMESPEC, tried to do it in a way that makes sense
5503
5504 2004-08-23 14:10  jordi
5505
5506         * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
5507           properties and methods
5508
5509 2004-08-23 13:55  pbartok
5510
5511         * Control.cs:
5512           - Properly fixed Jordi's last fix
5513           - Now uses Cursor's Position property instead of calling XplatUI
5514           directly
5515
5516 2004-08-23 13:44  jordi
5517
5518         * PaintEventHandler.cs: Adding missing attribute
5519
5520 2004-08-23 13:39  pbartok
5521
5522         * Cursor.cs:
5523           - Implemented Position property
5524
5525 2004-08-23 13:39  pbartok
5526
5527         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
5528           - Added method to move mouse cursor
5529
5530 2004-08-23 13:39  pbartok
5531
5532         * XplatUIX11.cs:
5533           - Fixed setting of background color
5534           - Added method to move mouse cursor
5535
5536 2004-08-23 13:16  jordi
5537
5538         * Control.cs: avoids null exception
5539
5540 2004-08-22 17:46  jackson
5541
5542         * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
5543           PictureBox
5544
5545 2004-08-22 17:40  jackson
5546
5547         * XplatUIX11.cs: Add some missing locks
5548
5549 2004-08-22 15:10  pbartok
5550
5551         * Control.cs, Form.cs:
5552           - Removed OverlappedWindow style from Control, instead it's default
5553             now is child
5554           - Made form windows OverlappedWindow by default
5555
5556 2004-08-22 13:34  jackson
5557
5558         * ScrollBar.cs: Update the position through the Value property so
5559           the OnValueChanged event is raised.
5560
5561 2004-08-22 12:04  pbartok
5562
5563         * SWF.csproj:
5564           - Added Cursor.cs and UserControl.cs
5565
5566 2004-08-22 12:03  pbartok
5567
5568         * Cursor.cs:
5569           - Started implementation, not usable yet
5570
5571 2004-08-22 12:00  pbartok
5572
5573         * UserControl.cs:
5574           - Implemented UserControl (complete)
5575
5576 2004-08-21 19:20  ravindra
5577
5578         * ToolBar.cs: Correcting the formatting mess of VS.NET.
5579
5580 2004-08-21 18:49  ravindra
5581
5582         * ToolBar.cs: Probably this completes the missing attributes in
5583           toolbar control.
5584
5585 2004-08-21 18:03  ravindra
5586
5587         * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
5588           Fixed toolbar control signatures.
5589
5590 2004-08-21 16:32  pbartok
5591
5592         * LinkLabel.cs:
5593           - Signature Fixes
5594
5595 2004-08-21 16:30  pbartok
5596
5597         * Label.cs:
5598           - Signature fixes
5599
5600 2004-08-21 16:19  pbartok
5601
5602         * Control.cs, Label.cs:
5603           - Signature fixes
5604
5605 2004-08-21 15:57  pbartok
5606
5607         * ButtonBase.cs:
5608           - Added loads of debug output for development
5609           - Fixed typo in method name
5610
5611 2004-08-21 15:52  pbartok
5612
5613         * ToolBarButtonClickEventArgs.cs:
5614           - Added missing base class
5615
5616 2004-08-21 14:53  pbartok
5617
5618         * Control.cs:
5619           - Updated to match new GrabWindow signature
5620
5621 2004-08-21 14:51  pbartok
5622
5623         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
5624           - Added method to get default display size
5625
5626 2004-08-21 14:23  pbartok
5627
5628         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
5629           - Added method to query current grab state
5630           - Added argument to allow confining a grab to a window
5631
5632 2004-08-21 14:22  pbartok
5633
5634         * Keys.cs:
5635           - Added [Flags] attribute so that modifiers can be used in bitwise
5636           ops
5637
5638 2004-08-21 14:21  pbartok
5639
5640         * TrackBar.cs, ScrollBar.cs:
5641           - Replaced direct XplatUI calls with their Control counterpart
5642
5643 2004-08-21 13:32  pbartok
5644
5645         * Control.cs:
5646           - Implemented Created property
5647
5648 2004-08-21 13:28  pbartok
5649
5650         * Control.cs:
5651           - Implemented ContainsFocus
5652
5653 2004-08-21 13:26  pbartok
5654
5655         * Control.cs:
5656           - Implemented CausesValidation
5657
5658 2004-08-21 13:21  pbartok
5659
5660         * Control.cs:
5661           - Implemented CanFocus
5662           - Implemented CanSelect
5663           - Implemented Capture
5664
5665 2004-08-21 12:35  pbartok
5666
5667         * XplatUIWin32.cs:
5668           - Fixed bug with Async message handling
5669           - Implemented getting the ModifierKeys
5670
5671 2004-08-21 12:32  jackson
5672
5673         * AsyncMethodResult.cs: Make sure we have the mutex before we
5674           release it. Fixes BeginInvoke on windows
5675
5676 2004-08-21 11:31  pbartok
5677
5678         * XplatUIWin32.cs, XplatUIX11.cs:
5679           - Drivers now return proper mouse state
5680
5681 2004-08-21 10:54  jackson
5682
5683         * Control.cs: Implement EndInvoke
5684
5685 2004-08-21 10:48  jackson
5686
5687         * Timer.cs: Remove unneeded finalizer
5688
5689 2004-08-20 19:52  ravindra
5690
5691         * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
5692           in mouse event handling in the ToolBar control.
5693
5694 2004-08-20 19:50  ravindra
5695
5696         * ImageList.cs: Changed draw method to use the arguments passed in
5697           to draw the image.
5698
5699 2004-08-20 18:58  pbartok
5700
5701         * XplatUIStructs.cs:
5702           - Added private message for async communication
5703
5704 2004-08-20 17:38  ravindra
5705
5706         * Control.cs: Made RightToLeft property virtual and removed a
5707           Console.WriteLine.
5708
5709 2004-08-20 14:39  jordi
5710
5711         * ThemeGtk.cs: use style_attach
5712
5713 2004-08-20 14:39  pbartok
5714
5715         * XplatUIWin32.cs:
5716           - Added jackson's Async code from X11 to Win32
5717
5718 2004-08-20 14:09  pbartok
5719
5720         * SWF.csproj:
5721           - Added all new files
5722
5723 2004-08-20 14:09  pbartok
5724
5725         * Control.cs:
5726           - Added call to set window background color
5727
5728 2004-08-20 14:03  pbartok
5729
5730         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
5731           - Added method for setting the window background
5732
5733 2004-08-20 14:02  pbartok
5734
5735         * XplatUIWin32.cs:
5736           - Added method for setting the background color
5737           - Added handling for erasing the window background
5738
5739 2004-08-20 13:45  jordi
5740
5741         * TrackBar.cs: fixes timer, new properties and methods
5742
5743 2004-08-20 13:34  jackson
5744
5745         * ScrollBar.cs: Use the SWF timer so callbacks are run in the
5746           correct thread
5747
5748 2004-08-20 13:22  jackson
5749
5750         * Timer.cs: Timer Tick events are now handed through Controls Async
5751           mechanism so the callbacks are executed in the same thread as X
5752
5753 2004-08-20 13:19  jackson
5754
5755         * XplatUIDriver.cs: Expose functionality to send async messages
5756           through the driver
5757
5758 2004-08-20 13:18  jackson
5759
5760         * Control.cs: Implement Begininvoke
5761
5762 2004-08-20 13:14  jackson
5763
5764         * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
5765           messages through the driver
5766
5767 2004-08-20 13:12  jackson
5768
5769         * XplatUIX11.cs: Lock before all X operations. Also added Async
5770           method functionality through XSendEvent
5771
5772 2004-08-20 13:11  jackson
5773
5774         * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
5775           This will screw up on 64 bit systems)
5776
5777 2004-08-20 13:10  jackson
5778
5779         * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
5780           Async messages through X/Win32
5781
5782 2004-08-19 19:39  pbartok
5783
5784         * XplatUIX11.cs:
5785           - Updated code to match new HandleData.DeviceContext type
5786
5787 2004-08-19 19:38  pbartok
5788
5789         * HandleData.cs:
5790           - Made DeviceContext a generic object to allow usage from various
5791           drivers
5792           - Added support for queueing Windows messages
5793
5794 2004-08-19 19:37  pbartok
5795
5796         * XplatUIWin32.cs:
5797           - Added generation of MouseEnter, MouseLeave and MouseHover events
5798           - Added cleanup on EndPaint
5799
5800 2004-08-19 19:17  pbartok
5801
5802         * Control.cs:
5803           - Added handling of WM_MOUSEHOVER
5804           - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
5805           code
5806
5807 2004-08-19 18:55  jordi
5808
5809         * ThemeGtk.cs: fixes button order
5810
5811 2004-08-19 18:12  jordi
5812
5813         * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
5814
5815 2004-08-19 17:09  pbartok
5816
5817         * Control.cs:
5818           - Added Right property
5819           - Added RightToLeft property
5820
5821 2004-08-19 16:27  jordi
5822
5823         * ThemeGtk.cs: experimental GTK theme support
5824
5825 2004-08-19 16:26  jordi
5826
5827         * ITheme.cs, Theme.cs: move themes from an interface to a class
5828
5829 2004-08-19 16:25  jordi
5830
5831         * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
5832           theme enhancaments
5833
5834 2004-08-19 16:04  pbartok
5835
5836         * XplatUIX11.cs:
5837           - Added colormap basics
5838           - Added a way to re-initialize with a different display handle
5839           - Fixed setting of the window background color
5840           - Added various X11 imports related to colors and colormaps
5841
5842 2004-08-19 15:51  pbartok
5843
5844         * X11Structs.cs:
5845           - Removed packing hints (Paolo suggested this a while back)
5846           - fixed colormap type
5847           - Added default Atom types
5848           - Added Screen and color structs and enums
5849
5850 2004-08-19 15:39  pbartok
5851
5852         * ImageList.cs:
5853           - Added missing Draw() method
5854           - Added missing RecreateHandle event
5855
5856 2004-08-19 15:30  pbartok
5857
5858         * Form.cs:
5859           - Added handling of WM_CLOSE
5860
5861 2004-08-18 13:16  jordi
5862
5863         * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
5864           a table
5865
5866 2004-08-18 09:56  jordi
5867
5868         * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
5869
5870 2004-08-17 15:31  ravindra
5871
5872         * SWF.csproj: Updated project.
5873
5874 2004-08-17 15:25  pbartok
5875
5876         * Control.cs:
5877           - Drawing improvement; don't call UpdateBounds if we are not visible
5878             (or have been minimized)
5879
5880 2004-08-17 15:24  pbartok
5881
5882         * XplatUIWin32.cs:
5883           - Finished IsVisible
5884           - Added Win32GetWindowPlacement
5885
5886 2004-08-17 15:08  jackson
5887
5888         * Panel.cs: Initial checkin of the Panel
5889
5890 2004-08-17 14:25  pbartok
5891
5892         * Control.cs:
5893           - Fixed broken handling of default window sizes
5894
5895 2004-08-17 13:29  jackson
5896
5897         * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
5898           has a large startup time.
5899
5900 2004-08-17 10:25  jackson
5901
5902         * HandleData.cs: union areas properly
5903
5904 2004-08-17 10:12  jackson
5905
5906         * HandleData.cs: union areas properly
5907
5908 2004-08-16 20:00  ravindra
5909
5910         * ToolBar.cs, ToolBarButton.cs: Added attributes.
5911
5912 2004-08-16 18:48  ravindra
5913
5914         * ToolBar.cs: Added attributes.
5915
5916 2004-08-16 17:17  ravindra
5917
5918         * SWF.csproj: Updated project.
5919
5920 2004-08-16 17:16  jackson
5921
5922         * XplatUIX11.cs: Check for more expose events before sending a
5923           WM_PAINT so they can all be grouped together. This makes dragging a
5924           window across another window redraw in a sane way.
5925
5926 2004-08-16 15:47  pbartok
5927
5928         * Control.cs:
5929           - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
5930             support OnMouseEnter/Leave()
5931           - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
5932             exposure handling
5933
5934 2004-08-16 15:46  pbartok
5935
5936         * XplatUIStructs.cs, XplatUIX11.cs:
5937           - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
5938           OnMouseEnter/Leave()
5939
5940 2004-08-16 15:34  jackson
5941
5942         * XplatUIX11.cs: Group multiple expose events in HandleData, make
5943           sure messages get the message field set to WM_NULL if they are not
5944           handled.
5945
5946 2004-08-16 15:24  jackson
5947
5948         * HandleData.cs: HandleData is used for storing message information
5949           for window handles
5950
5951 2004-08-15 17:23  ravindra
5952
5953         * ColorDepth.cs: Added attribute.
5954
5955 2004-08-15 17:23  ravindra
5956
5957         * SWF.csproj: Updated project for ToolBar Control.
5958
5959 2004-08-15 17:20  ravindra
5960
5961         * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
5962           control and also dos2unix format.
5963
5964 2004-08-15 17:13  ravindra
5965
5966         * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
5967           ToolBarButtonClickEventArgs.cs,
5968           ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
5969           ToolBarTextAlign.cs: First Implementation of ToolBar control.
5970
5971 2004-08-15 15:31  pbartok
5972
5973         * ButtonBase.cs:
5974           - First (mostly) working version
5975
5976 2004-08-13 16:15  pbartok
5977
5978         * Control.cs:
5979           - Fixed Anchor default
5980
5981 2004-08-13 15:43  pbartok
5982
5983         * Control.cs:
5984           - Changed GetCursorPos signature
5985
5986 2004-08-13 15:42  pbartok
5987
5988         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
5989           - Changed signature for GetCursorPos
5990
5991 2004-08-13 15:25  pbartok
5992
5993         * XplatUIX11.cs:
5994           - Cleanup
5995           - Fixed resizing/exposure handling
5996
5997 2004-08-13 15:22  jordi
5998
5999         * ThemeWin32Classic.cs: removes redundant code and fixes issues
6000           with tickposition
6001
6002 2004-08-13 14:55  jordi
6003
6004         * TrackBar.cs: change from wndproc to events
6005
6006 2004-08-13 13:00  jordi
6007
6008         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
6009           XplatUIX11.cs: implements PointToClient (ScreenToClient)
6010
6011 2004-08-13 12:53  pbartok
6012
6013         * XplatUIWin32.cs:
6014           - Changed GetWindowPos to also provide client area size
6015           - Fixed broken prototypes for several win32 functions
6016
6017 2004-08-13 12:53  pbartok
6018
6019         * XplatUI.cs, XplatUIDriver.cs:
6020           - Changed GetWindowPos to also provide client area size
6021
6022 2004-08-13 12:52  pbartok
6023
6024         * XplatUIX11.cs:
6025           - Added generation of WM_POSCHANGED
6026           - Changed GetWindowPos to also provide client area size
6027
6028 2004-08-13 12:52  pbartok
6029
6030         * Control.cs:
6031           - Added Dispose() and destructor
6032           - Fixed resizing and bounds calculation
6033           - Fixed Layout
6034           - Added memory savings for invisible windows
6035
6036 2004-08-13 12:46  jordi
6037
6038         * TrackBar.cs: adds timer and grap window
6039
6040 2004-08-13 10:25  jackson
6041
6042         * Timer.cs: SWF Timer
6043
6044 2004-08-12 16:59  pbartok
6045
6046         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
6047           - Implemented method to get current mouse position
6048
6049 2004-08-12 14:29  jordi
6050
6051         * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
6052           enhancement, fix mouse problems, highli thumb, etc
6053
6054 2004-08-12 13:31  pbartok
6055
6056         * Control.cs:
6057           - Fixed Anchoring bugs
6058
6059 2004-08-12 13:01  jackson
6060
6061         * StatusBar.cs: Don't forget things
6062
6063 2004-08-12 12:54  jackson
6064
6065         * ThemeWin32Classic.cs: Handle owner draw status bars
6066
6067 2004-08-12 12:54  jackson
6068
6069         * StatusBar.cs: Implement missing properties, events, and methods.
6070           Handle mouse clicking
6071
6072 2004-08-12 10:19  jackson
6073
6074         * StatusBarPanelClickEventArgs.cs,
6075           StatusBarPanelClickEventHandler.cs: Classes for handling status
6076           bar panel click events
6077
6078 2004-08-12 10:10  jackson
6079
6080         * Control.cs: Add missing properties
6081
6082 2004-08-12 09:46  pbartok
6083
6084         * BindingsManagerBase.cs:
6085           - Name changed to BindingManagerBase.cs
6086
6087 2004-08-12 09:25  jordi
6088
6089         * ScrollableControl.cs: calls ctrlbase instead of exeception
6090
6091 2004-08-11 16:28  pbartok
6092
6093         * InputLanguageChangingEventArgs.cs:
6094           - Never check in before compiling. Fixes the last check-in
6095
6096 2004-08-11 16:26  pbartok
6097
6098         * InputLanguageChangingEventArgs.cs:
6099           - More signature fixes
6100
6101 2004-08-11 16:20  pbartok
6102
6103         * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
6104           Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
6105           ImageListStreamer.cs, InputLanguage.cs,
6106           InputLanguageChangedEventArgs.cs,
6107           InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
6108           LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
6109           ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
6110           XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
6111           - Signature fixes
6112
6113 2004-08-11 16:16  pbartok
6114
6115         * Application.cs:
6116           - Fixed Signature
6117           - Added .Net 1.1 method
6118
6119 2004-08-11 15:25  pbartok
6120
6121         * SWF.csproj:
6122           - Fixed BindingManagerBase.cs filename
6123
6124 2004-08-11 15:22  pbartok
6125
6126         * BindingManagerBase.cs:
6127           - Was checked in with wrong filename
6128
6129 2004-08-11 14:50  pbartok
6130
6131         * SWF.csproj:
6132           - Updated
6133
6134 2004-08-11 13:41  jordi
6135
6136         * XplatUIWin32.cs: Fixes ClientRect
6137
6138 2004-08-11 13:19  pbartok
6139
6140         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
6141           XplatUIX11.cs:
6142           - We had SetWindowPos and MoveWindow to set window positions and
6143             size, removed MoveWindow. We have GetWindowPos, so it made sense to
6144             keep SetWindowPos as matching counterpart
6145           - Added some X11 sanity checking
6146
6147 2004-08-11 12:59  pbartok
6148
6149         * Control.cs:
6150           - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
6151             (It seems that SetBounds is just a front for SetBoundsCore and
6152              SetBoundsCore updates the underlying window system and
6153              UpdateBounds is responsible for updating the variables associated
6154              with the Control and sending the events)
6155           - Major cleanup of Size handling; we now have two sizes, client_size
6156             and bounds. Bounds defines the window with decorations, client_size
6157             without them.
6158
6159 2004-08-11 12:55  pbartok
6160
6161         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
6162           - Added method to calculate difference between decorated window and
6163             raw client area
6164
6165 2004-08-11 12:54  pbartok
6166
6167         * Label.cs:
6168           - Forcing redraw on resize
6169
6170 2004-08-11 11:43  pbartok
6171
6172         * ImageList.cs:
6173           - Removed disposing of the actual images when the list is disposed
6174
6175 2004-08-11 09:13  pbartok
6176
6177         * Control.cs:
6178           - Now properly reparents windows
6179
6180 2004-08-11 08:37  pbartok
6181
6182         * Control.cs:
6183           - Duh!
6184
6185 2004-08-11 07:47  pbartok
6186
6187         * Control.cs:
6188           - Rewrote the collection stuff. Might not be as fast now, not
6189             keeping the number of children around and accessible directly, but
6190             it's more straightforward
6191
6192 2004-08-11 07:44  pbartok
6193
6194         * AccessibleObject.cs:
6195           - Fixed to match ControlCollection rewrite
6196
6197 2004-08-11 07:43  pbartok
6198
6199         * ImageList.cs:
6200           - Added missing creation of the collection list
6201
6202 2004-08-10 20:08  jackson
6203
6204         * StatusBar.cs: Get the paint message from WndProc
6205
6206 2004-08-10 19:31  jackson
6207
6208         * ThemeWin32Classic.cs: Create Brushes as little as possible
6209
6210 2004-08-10 19:20  jackson
6211
6212         * UICues.cs: Add Flags attribute
6213
6214 2004-08-10 19:19  jackson
6215
6216         * StatusBarPanel.cs: Signature cleanup
6217
6218 2004-08-10 19:10  jackson
6219
6220         * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
6221           Initial implementation of status bar item drawing
6222
6223 2004-08-10 17:27  jordi
6224
6225         * TrackBar.cs: add missing methods, properties, and restructure to
6226           hide extra ones
6227
6228 2004-08-10 16:24  jackson
6229
6230         * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
6231           ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
6232           attribute
6233
6234 2004-08-10 13:21  jordi
6235
6236         * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
6237           enhancements and standarize on win colors defaults
6238
6239 2004-08-10 12:52  jackson
6240
6241         * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
6242           ThemeWin32Classic.cs: Implement DrawItem functionality
6243
6244 2004-08-10 12:47  jordi
6245
6246         * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
6247
6248 2004-08-10 12:32  jordi
6249
6250         * Control.cs: throw ontextchange event
6251
6252 2004-08-10 11:43  pbartok
6253
6254         * Control.cs:
6255           - Added more to the still unfinished Dock/Anchor layout code
6256
6257 2004-08-10 11:39  pbartok
6258
6259         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
6260           - Added GetWindowPos method
6261
6262 2004-08-10 11:36  pbartok
6263
6264         * XplatUIWin32.cs:
6265           - Implemented several methods
6266
6267 2004-08-10 09:47  jackson
6268
6269         * TrackBar.cs: Allow control to handle buffering
6270
6271 2004-08-10 09:41  jackson
6272
6273         * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
6274
6275 2004-08-10 09:24  jackson
6276
6277         * Label.cs, LinkLabel.cs: Let Control handle buffering.
6278
6279 2004-08-10 09:09  jackson
6280
6281         * StatusBar.cs: Let Control handle all the buffering.
6282
6283 2004-08-10 09:08  jackson
6284
6285         * Control.cs: Control will now handle the buffering code, so each
6286           control does not have to implement this.
6287
6288 2004-08-10 08:34  jackson
6289
6290         * XplatUIDriver.cs: Use default colors from the theme
6291
6292 2004-08-09 17:12  pbartok
6293
6294         * ImageList.cs:
6295           - Fixed several bugs Ravindra pointed out
6296
6297 2004-08-09 16:11  pbartok
6298
6299         * Control.cs:
6300           - Added incomplete dock layout code
6301           - Added support for mouse wheel
6302
6303 2004-08-09 16:09  pbartok
6304
6305         * XplatUIX11.cs:
6306           - Added handling for middle and right mousebutton
6307           - Added handling for mouse wheel
6308           - Added handling for key state and mouse state and position
6309           - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
6310           messages
6311
6312 2004-08-09 15:40  jackson
6313
6314         * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
6315           StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
6316           checkin
6317
6318 2004-08-09 15:37  jackson
6319
6320         * StatusBar.cs: Initial implementation of StatusBar
6321
6322 2004-08-09 15:36  jackson
6323
6324         * ITheme.cs: Add support for drawing status bar and getting status
6325           bar item sizes
6326
6327 2004-08-09 15:35  pbartok
6328
6329         * MouseButtons.cs:
6330           - Fixed values
6331
6332 2004-08-09 15:34  jackson
6333
6334         * ThemeWin32Classic.cs: Add support for drawing status bar and get
6335           status bar item sizes
6336
6337 2004-08-09 15:21  jackson
6338
6339         * ThemeWin32Classic.cs: Use known colors for default control
6340           colours
6341
6342 2004-08-09 15:12  jackson
6343
6344         * ThemeWin32Classic.cs: Make the default font static, it is static
6345           in control so this doesn't change functionality and creating fonts
6346           is sloooooow.
6347
6348 2004-08-09 14:56  pbartok
6349
6350         * X11Structs.cs:
6351           - Added GrabMode enum
6352
6353 2004-08-09 14:55  pbartok
6354
6355         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
6356           - Removed Run method, was only required for initial development
6357
6358 2004-08-09 14:51  pbartok
6359
6360         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
6361           - Implemented GrabWindow/ReleaseWindow methods to allow pointer
6362           capture
6363
6364 2004-08-09 13:48  pbartok
6365
6366         * XplatUIX11.cs:
6367           - Fixed default sizing for child windows
6368
6369 2004-08-09 12:56  pbartok
6370
6371         * XplatUIX11.cs:
6372           - Added generation of WM_DESTROY message
6373           - Added handling of window manager induced shutdown
6374
6375 2004-08-09 11:31  jackson
6376
6377         * ThemeWin32Classic.cs: New names for control properties
6378
6379 2004-08-09 11:25  jackson
6380
6381         * Control.cs: Use new color names
6382
6383 2004-08-09 11:02  jackson
6384
6385         * XplatUI.cs: Get default window properties from the theme
6386
6387 2004-08-09 11:01  jackson
6388
6389         * ITheme.cs: The theme engine now controls default window
6390           properties
6391
6392 2004-08-09 11:00  jackson
6393
6394         * ThemeWin32Classic.cs: Add default window color properties
6395
6396 2004-08-09 10:17  jackson
6397
6398         * ThemeWin32Classic.cs: Use correct default back color
6399
6400 2004-08-09 10:05  jackson
6401
6402         * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
6403           the theme now.
6404
6405 2004-08-09 09:56  jackson
6406
6407         * XplatUI.cs: Remove defaults, these are handled by the theme now.
6408
6409 2004-08-09 09:54  jackson
6410
6411         * Control.cs: Get default properties from the theme.
6412
6413 2004-08-09 09:53  jackson
6414
6415         * ITheme.cs: Themes now handle default control properties
6416
6417 2004-08-09 09:53  jackson
6418
6419         * ThemeWin32Classic.cs: Themes now handle default control
6420           properties so coloring will be consistent
6421
6422 2004-08-08 16:54  jordi
6423
6424         * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
6425
6426 2004-08-08 15:08  jordi
6427
6428         * XplatUIX11.cs: fixes keyboard crash
6429
6430 2004-08-08 13:47  jordi
6431
6432         * Label.cs: add cvs header info
6433
6434 2004-08-08 12:09  jackson
6435
6436         * ThemeWin32Classic.cs: Add pen_buttonface
6437
6438 2004-08-08 11:52  jordi
6439
6440         * Label.cs, LinkLabel.cs: [no log message]
6441
6442 2004-08-08 11:34  jordi
6443
6444         * ThemeWin32Classic.cs: Use Windows Standard Colours
6445
6446 2004-08-07 17:32  jordi
6447
6448         * TrackBar.cs: throw exceptions of invalid enums values
6449
6450 2004-08-07 17:31  jordi
6451
6452         * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
6453           draw method name
6454
6455 2004-08-07 16:56  jackson
6456
6457         * HorizontalAlignment.cs: Initial checkin
6458
6459 2004-08-07 13:16  jordi
6460
6461         * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
6462           methods
6463
6464 2004-08-07 13:05  jordi
6465
6466         * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
6467           GetSysColor defines
6468
6469 2004-08-06 18:01  pbartok
6470
6471         * ThemeWin32Classic.cs:
6472           - Fixed some rounding issues with float/int
6473
6474 2004-08-06 18:00  jackson
6475
6476         * DockStyle.cs, AnchorStyles.cs:
6477
6478                   Add flags and serializable attributes.
6479
6480 2004-08-06 17:46  pbartok
6481
6482         * XplatUIX11.cs:
6483           - Implemented GetParent
6484
6485 2004-08-06 17:18  pbartok
6486
6487         * TrackBar.cs:
6488           - Fixed some rounding issues with float/int
6489
6490 2004-08-06 17:17  pbartok
6491
6492         * X11Structs.cs, XplatUIX11.cs:
6493           - Fixed Refresh and Invalidate
6494
6495 2004-08-06 15:30  pbartok
6496
6497         * Control.cs, X11Structs.cs, XplatUIX11.cs:
6498           - Fixed recursive loop when resizing
6499           - Improved/fixed redrawing on expose messages
6500
6501 2004-08-06 09:53  jordi
6502
6503         * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
6504           keyboard navigation
6505
6506 2004-08-06 08:02  pbartok
6507
6508         * X11Structs.cs, XplatUIX11.cs:
6509           - Fixed reparenting
6510           - Fixed window border creation
6511
6512 2004-08-05 15:38  pbartok
6513
6514         * XplatUIX11.cs:
6515           - Attempted fix for reparenting problems
6516
6517 2004-08-04 15:14  pbartok
6518
6519         * Control.cs:
6520           - Fixed Invalidation bug (calculated wrong client area)
6521           - Added ClientSize setter
6522
6523 2004-08-04 15:13  pbartok
6524
6525         * Form.cs:
6526           - Added AutoScale properties
6527
6528 2004-08-04 15:13  pbartok
6529
6530         * SWF.csproj:
6531           - Added latest files
6532
6533 2004-08-04 14:11  pbartok
6534
6535         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
6536           XplatUIX11.cs:
6537           - Added Invalidate handling
6538
6539 2004-08-03 17:09  jordi
6540
6541         * XplatUIDriver.cs: fixes spelling mistake
6542
6543 2004-07-27 09:53  jordi
6544
6545         * TrackBar.cs: fixes trackbar events, def classname, methods
6546           signature
6547
6548 2004-07-27 09:29  jordi
6549
6550         * ScrollBar.cs: fixes scrollbar events
6551
6552 2004-07-27 04:38  jordi
6553
6554         * Control.cs: changes to be able to run winforms samples
6555
6556 2004-07-26 11:42  jordi
6557
6558         * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
6559           ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
6560
6561 2004-07-26 05:41  jordi
6562
6563         * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
6564           MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
6565           implementation
6566
6567 2004-07-22 09:22  jordi
6568
6569         * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
6570           check link overlapping, implement events, and fixes
6571
6572 2004-07-21 10:28  jordi
6573
6574         * DialogResult.cs, IButtonControl.cs: fixes comments filenames
6575
6576 2004-07-21 10:19  jordi
6577
6578         * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
6579           LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
6580           LinkLabelLinkClickedEventArgs.cs,
6581           LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
6582           XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
6583           implementation
6584
6585 2004-07-19 13:09  jordi
6586
6587         * Control.cs, Label.cs: label control re-written: added missing
6588           functionlity, events, and properties
6589
6590 2004-07-19 10:49  jordi
6591
6592         * Control.cs: fixes SetBounds logic
6593
6594 2004-07-19 01:29  jordi
6595
6596         * Control.cs: Call RefreshWindow only if the window has created
6597
6598 2004-07-15 14:05  pbartok
6599
6600         * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
6601           - Implemented ImageList and ImageList.ImageCollection classes
6602           - Added ColorDepth enumeration
6603           - Updated SWF VS.Net project
6604
6605 2004-07-15 11:06  jordi
6606
6607         * XplatUIStructs.cs: added MsgButons enum
6608
6609 2004-07-15 11:03  jordi
6610
6611         * Control.cs: added basic mouse handeling events
6612
6613 2004-07-15 03:38  jordi
6614
6615         * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
6616           Vertical TrackBar control implementation
6617
6618 2004-07-13 09:33  jordi
6619
6620         * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
6621
6622 2004-07-13 09:31  jordi
6623
6624         * Control.cs, Form.cs: commit: new properties and fixes form size
6625           problems
6626
6627 2004-07-09 14:13  miguel
6628
6629         * ProgressBar.cs: Spelling
6630
6631 2004-07-09 11:25  pbartok
6632
6633         * ProgressBar.cs:
6634           - Removed usage of Rectangle for drawing. Miguel pointed out it's
6635           faster
6636
6637 2004-07-09 11:17  miguel
6638
6639         * ProgressBar.cs: 2004-07-09  Miguel de Icaza  <miguel@ximian.com>
6640
6641                 * ProgressBar.cs: Fixed spelling for `block'
6642
6643                 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
6644                 style guidelines.
6645
6646                 Avoid using the += on rect.X, that exposed a bug in the compiler.
6647
6648 2004-07-08 23:21  pbartok
6649
6650         * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
6651           AnchorStyles.cs, Application.cs, ApplicationContext.cs,
6652           BaseCollection.cs, Binding.cs, BindingContext.cs,
6653           BindingMemberInfo.cs, BindingsCollection.cs,
6654           BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
6655           BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
6656           ButtonState.cs, CaptionButton.cs, CheckBox.cs,
6657           ContainerControl.cs, Control.cs, ControlEventArgs.cs,
6658           ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
6659           ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
6660           CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
6661           DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
6662           FrameStyle.cs, GiveFeedbackEventArgs.cs,
6663           GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
6664           HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
6665           IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
6666           InputLanguageChangedEventArgs.cs,
6667           InputLanguageChangedEventHandler.cs,
6668           InputLanguageChangingEventArgs.cs,
6669           InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
6670           InvalidateEventArgs.cs, InvalidateEventHandler.cs,
6671           KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
6672           KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
6673           LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
6674           MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
6675           PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
6676           QueryAccessibilityHelpEventArgs.cs,
6677           QueryAccessibilityHelpEventHandler.cs,
6678           QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
6679           RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
6680           ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
6681           ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
6682           TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
6683           UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
6684           XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
6685           XplatUIX11.cs, lang.cs:
6686           - Initial check-in
6687