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