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