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