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