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