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