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