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