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