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