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