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