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