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