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