2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / ChangeLog
1 2006-02-26  Peter Dennis Bartok  <pbartok@novell.com>
2
3         * RichTextBox.cs:
4           - SelectionColor and SelectionFont methods no longer set absolute
5             styles. Instead, the keep font or color respectively (This 
6             resolves a long-standing FIXME in the code)
7           - When flushing RTF text, the insert code now considers text trailing
8             behind the insertion point (Fixes the bug where when replacing
9             the selected text via SelectedRTF the remainder of the line behind 
10             the selection would stay on the first insertion line)
11         * TextBoxBase.cs:
12           - AppendText now updates the selection points after inserting text
13           - AppendText now ensures that the last tag (sometimes 0-length) of
14             the document is used for the style information (Fixes part of 
15             bug #77220)
16         * TextControl.cs:
17           - Created new FontDefiniton class to allow describing partial style
18             changes
19           - StreamLine() now takes a lines argument, to allow it to decide
20             whether an encountered zero-length tag is the last in the document
21             (which must be kept to not loose the font/color contained in it,
22             for later appends)
23           - Created Combine() and Split() methods for Marker structs, to 
24             support marker updates due to reformatted documents (soft line
25             wraps)
26           - Implemented Document.CaretTag setter
27           - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
28             of the last line (Not the cause, but also exposed by bug #77220)
29           - Added LineTag argument to InsertString method, to allow callers
30             to force a certain tag to be used (required to force use of the
31             trailing zero-length tag of a document)
32           - Now updating markers in Combine(), to avoid stale tag markers
33           - Added some method descriptions to aid maintenance
34           - Implemented new FormatText concept, allowing additive/subtractive
35             formatting by only specifying the components that are to be 
36             changed. This was needed for resolving the RTB.SelectedColor/
37             RTB.SelectedFont fixmes
38           - Added Break() support method to allow breaking up linetags (used
39             for partial formatting)
40           - Added GenerateTextFormat() method. It is used for partial 
41             formatting and allows to generate a full font/color from given
42             attributes and an existing tag.
43
44 2006-02-26  Jackson Harper  <jackson@ximian.com>
45
46         * XplatUIX11.cs:  Use the correct caption height.
47         - Translate hittest coordinates to screen coords to match MS.
48         * XplatUIWin32.cs: When we create MDI windows we need to reset
49         some of the style flags, so we get a nice blank window, and can
50         draw all the decorations ourselves.
51         - Set a clipping rectangle on the non client paint event, the
52         window manager drawing code needs one.
53
54 2006-02-26  Pedro Martinez Julia  <pedromj@gmail.com>
55
56         * DataGridViewRowPostPaintEventArgs.cs,
57           DataGridViewCellPaintingEventArgs.cs,
58           DataGridViewRowCollection.cs,
59           DataGridViewRowPrePaintEventArgs.cs,
60           DataGridViewCell.cs: Clear a few warnings and implement a few
61           exceptions that should be thrown.
62
63 2006-02-22  Peter Dennis Bartok  <pbartok@novell.com>
64
65         * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
66           'inheriting' our parent's (non-default) cursor. (Part of
67            the fix for #77479)
68
69 2006-02-22  Peter Dennis Bartok  <pbartok@novell.com> 
70
71         * XplatUIX11.cs: Fixed cast to make csc happy
72
73 2006-02-22  Peter Dennis Bartok  <pbartok@novell.com>
74
75         * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
76           it's for the client area (part of fix for #77479 and needed
77           for MDI window cursor handling)
78         * XplatUIX11.cs
79           - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
80             the appropriate default cursors and also passing the message
81             up the parent chain 
82           - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
83             for non-client areas
84
85 2006-02-15  Jackson Harper  <jackson@ximian.com>
86
87         * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
88         is a real MDI window
89
90 2006-02-14  Alexander Olk  <alex.olk@googlemail.com>
91
92         * X11DesktopColors.cs: Instead of checking the desktop session
93           string for "KDE" check if it starts with "KDE"
94
95 2006-02-10  Jackson Harper  <jackson@ximian.com>
96
97         * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
98         systems).
99
100 2006-02-10  Alexander Olk  <alex.olk@googlemail.com>
101
102         * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
103           errors
104         * ColorDialog.cs:
105           - Got rid of the panel. All controls are now directly added to
106             the dialog form
107           - Changed to mono coding style
108
109 2006-02-10  Jackson Harper  <jackson@ximian.com>
110
111         * InternalWindowManager.cs: We don't need the set visibility to
112         false hack anymore now that peter has written beautiful shutdown
113         code.
114
115 2006-02-10  Peter Dennis Bartok  <pbartok@novell.com>
116
117         * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
118           where already explicitly destroyed
119
120 2006-02-10  Jackson Harper  <jackson@ximian.com>
121
122         * MdiClient.cs: Handle the case where windows are too high or to
123         the left and we need scrollbars.
124
125 2006-02-10  Alexander Olk  <alex.olk@googlemail.com>
126
127         * MimeIcon.cs: Added some icons
128         * FileDialog.cs:
129           - Fixed bug #77477
130           - Got rid of the panel. All controls are now directly added to
131             the dialog form
132           - Changed to mono coding style
133           - On Linux "My Computer" and "My Network" will now show some
134             more usefull information. A new class, MasterMount, gathers
135             this information from /proc/mount. Updated MWFFileView to make
136             use of this information
137           - Fixed a bug that caused FileDialog to crash when
138             ".recently_used" file had a zero size
139           - FilterIndex does now what it should
140           - Some Refactoring
141         * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
142             FileDialog changes
143
144 2006-02-09  Jackson Harper  <jackson@ximian.com>
145
146         * ComboBox.cs: Don't touch if null.
147
148 2006-02-09  Peter Dennis Bartok  <pbartok@novell.com>
149
150         * Cursor.cs: 64bit safeness fix
151         * XplatUIX11.cs: Removed several unneeded and one moronic cast.
152
153 2006-02-09  Jackson Harper  <jackson@ximian.com>
154
155         * Form.cs: If a form is made into an MDI form update the styles so
156         all the props can get set correctly.
157         - Kill the mdi_container when we dont need it anymore.
158         * InternalWindowManager.cs: Add missing NOT
159
160 2006-02-08  Jackson Harper  <jackson@ximian.com>
161
162         * InternalWindowManager.cs: Respek clipping when drawing MDi
163         decorations.
164
165 2006-02-08  Jackson Harper  <jackson@ximian.com>
166
167         * Hwnd.cs: Add bits to track non client expose events.
168         * XplatUIX11.cs: Track non client expose events on the hwnd. This
169         gives us a proper invalid rect and will allow for some nice
170         optimizations with NC client drawing
171         - MDI windows are children windows, so move their style handling
172         into the child window block.
173         * InternalWindowManager.cs: Remove a state reset that was
174         getting invoked at the wrong time. Fixes managed windows getting
175         into a 'stuck' captured state.
176
177 2006-02-07  Peter Dennis Bartok  <pbartok@novell.com>
178
179         * TextControl.cs (Document.ctor): Now initializing 
180           selection_anchor. Fixes #77493
181
182 2006-02-07  Jackson Harper  <jackson@ximian.com>
183
184         * TrackBar.cs: The increment/decrements were backwards.
185
186 2006-02-07  Mike Kestner  <mkestner@novell.com>
187
188         * Theme*.cs : remove ThemeEngine.Current usage as it just points back
189         to the instance itself.
190
191 2006-02-07  Peter Dennis Bartok  <pbartok@novell.com>
192
193         * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
194           on ulongs and pointers, the size differs between 32bit and 64bit
195           systems. 
196
197 2006-02-07  Mike Kestner  <mkestner@novell.com>
198
199         * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
200         for 64 bit platforms to work around a metacity bug. 
201
202 2006-02-07  Jackson Harper  <jackson@ximian.com>
203
204         * TrackBar.cs: Process the input keys we need, and hookup to
205         KeyDown instead of using WndProc, so we get key messages.
206
207 2006-02-06  Peter Dennis Bartok  <pbartok@novell.com>
208
209         * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
210           machine we're on. 
211         * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
212           we need to translate the XdndVersion atoms array before sending it
213
214 2006-02-06  Peter Dennis Bartok  <pbartok@novell.com> 
215
216         * XplatUIX11.cs: 
217           - The preceeding 64bit fixes had a bug: ChangeProperty expects the
218             number of bits for the property, not the number of bytes. The
219             change to provide IntPtr.Size broke 32bit. (64bit was also wrong
220             but would not crash since it specified 8 bits instead of 4 bits)
221           - More 64bit fixes: Switched all atoms from int to IntPtr (they are
222             defined as XID -> long in the C headers)
223           - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms 
224             references since those are now IntPtr to begin with
225           - Switched all Atom.XXX 'int' casts to IntPtr casts
226           - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
227           - Fixed XInternAtom signature for 64bit, now returns an IntPtr
228           - Added XChangeActivePointerGrab DllImport (for X11DnD)
229         * X11Structs.cs:
230           - Changed 'int' type for Atoms in XEvent structures to IntPtr
231           - Changed atom in HoverStruct to be IntPtr
232         * X11DnD.cs:
233           - Removed local DllImports, switched code to use those from XplatUIX11
234           - Removed/fixed casts related to the switch of Atom to be a IntPtr
235
236 2006-02-06  Mike Kestner  <mkestner@novell.com>
237
238         * XplatUIX11.cs : many more 64 bit pinvoke changes.  I've audited all the 
239         method signatures in the import region.  There may still be some
240         lingering struct marshaling issues, as I didn't drill down into those.
241         Yet.
242
243 2006-02-06  Jackson Harper  <jackson@ximian.com>
244
245         * ComboBox.cs: Dont manually set the top_item, this is computed
246         when the scrollbar position is set.
247
248 2006-02-06  Mike Kestner  <mkestner@novell.com>
249
250         * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
251         startup crashes on amd64.  There's other fixes needed.  All pinvoke
252         usage of Atom needs to be mapped to IntPtr for example.  And there are
253         likely other int/long issues to be addressed.
254
255 2006-02-04  Alexander Olk  <alex.olk@googlemail.com>
256
257         * FileDialog.cs: One more...
258
259 2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
260
261         * FileDialog.cs: Next try
262
263 2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
264
265         * FileDialog.cs: First part of fix for #77464
266
267 2006-02-03  Alexander Olk  <alex.olk@googlemail.com>
268
269         * ButtonBase.cs, ContainerControl.cs, Forms.cs,
270           ThemeWin32Classic.cs: Fix for #77458. Correct handling of
271           AcceptButton border drawing.
272
273 2006-02-03  Peter Dennis Bartok  <pbartok@novell.com> 
274
275         * Form.cs: Moved positioning of form after auto scaling is applied,
276           otherwise it would possibly use wrong form size.
277
278 2006-02-03  Peter Dennis Bartok  <pbartok@novell.com>
279
280         * Control.cs (RecreateHandle): No need to re-create any child
281           controls, the child windows will get destroyed automatically by
282           the windowing system or driver, and re-created when the handle
283           is being accessed the first time. Fixes #77456
284         * Form.cs: No longer setting the form to closing if the handle is 
285           being recreated. This seems like the right thing to do, don't
286           have a bug or testcase for this, though.
287
288 2006-02-02  Peter Dennis Bartok  <pbartok@novell.com>
289
290         * FileDialog.cs: Suspend/Resume layouting when changing sizes of
291           controls to avoid unwanted side effects
292
293 2006-02-02  Peter Dennis Bartok  <pbartok@novell.com> 
294
295         * Control.cs: 
296           - ScaleCore needs to scale the bounds, not the ClientSize of the 
297             control. Fixes #77416.
298           - DefaultSize is 0,0 for control
299         * TextBoxBase.cs: 
300           - DefaultSize is 100, 20
301           - SetBoundsCore: Now enforcing the height, no matter if the provided
302             height is more or less than the preferred one, as long as AutoSize
303             is on
304         * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
305
306 2006-02-02  Peter Dennis Bartok  <pbartok@novell.com>
307
308         * Control.cs:
309           - ResumeLayout: Fixed logic when to call PerformLayout, we may not
310             call unless both performLayout is true *and* we have a pending
311             layout change
312           - ResumeLayout: MS does not completely nest Suspend and Resume,
313             they bottom out at 0, fixed our code to match that.
314           - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
315             SetBoundsCore, we were updating even when we shouldn't. This fixes
316             swf-anchors mis-anchoring when resizing the app fast and lots.
317           - UpdateDistances: Now only setting the left and top distance if 
318             we have a parent and are not suspended, this is based on
319             a suggestion by Don Edvaldson in bug #77355.
320           - OnVisibleChanged: Fixed logic when to create the control. We may
321             not create the control if we have no parent or if it's not visible;
322             switched to using Visible property instead of is_visible field 
323             since the property also considers parent states. This fixes a bug
324             when starting Paint.Net
325
326 2006-02-02  Jackson Harper  <jackson@ximian.com>
327
328         * Form.cs: If the forms handle hasn't been created yet don't call
329         into xplatui to make it top most, just set the topmost flag on the
330         form in CreateParams
331         * XplatUIX11.cs: Handle WS_EX_TOPMOST.
332
333 2006-02-01  Jackson Harper  <jackson@ximian.com>
334
335         * ScrollableControl.cs: Refactored the Recalculate method a
336         little, this wasn't handling all the variants of bottom and right
337         bars needed to be added and added/removed based on their
338         counterparts being added/removed (which changes the drawable
339         size). Also we special case client widths and heights of 0 and
340         don't add the scrollbar for those.
341
342 2006-02-01  Peter Dennis Bartok  <pbartok@novell.com>
343
344         * XplatUIX11.cs: 
345           - Added method to get AbsoluteGeometry(); currently unused, but might
346             be used in the future, if we try again to figure out toplevel
347             coordinates with some more crappy window managers
348           - Added FrameExtents() method to retrieve the WM set decoration size
349           - Tried to fix up AddConfigureNotify and handling of ReparentNotify 
350             to deal with at least KDE, FVWM and metacity (Fixes #77092)
351         * Hwnd.cs: 
352           - Added whacky_wm tracking var for metacity
353           - Added logic to have default menu height if the actual menu height
354             has not yet been calculated (part of fix for #77426)
355         * Form.cs: Keep track whether client size has been set and re-set 
356           it if a menu is added/removed afterwards (Fixes #77426)
357
358 2006-01-31  Jackson Harper  <jackson@ximian.com>
359
360         * Control.cs: When a new Site is set on the component attempt to
361         pull the AmbientProperties from it.
362
363 2006-01-31  Peter Dennis Bartok  <pbartok@novell.com>
364
365         * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
366           in the background of the owning form. Fixes #77332
367
368 2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
369
370         * MimeIcon.cs: Fix for #77409
371
372 2006-01-31  Alexander Olk  <alex.olk@googlemail.com>
373
374         * XplatUIX11GTK.cs: Initial import
375
376 2006-01-31  Jordi Mas i Hernandez <jordimash@gmail.com>
377
378         * FixedSizeTextBox: fixes class signature
379
380 2006-01-30  Jackson Harper  <jackson@ximian.com>
381
382         * FixedSizeTextBox.cs: New internal class that represents a
383         textBox that will not be scaled.
384         * TreeView.cs:
385         * ComboBox.cs:
386         * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
387         standard TextBox.
388                 
389 2006-01-30  Peter Dennis Bartok  <pbartok@novell.com> 
390
391         * XplatUIX11.cs: Retrieve default screen number instead of
392           assuming 0. Attempted fix for #77318
393
394 2006-01-30  Peter Dennis Bartok  <pbartok@novell.com>
395
396         * XplatUIWin32.cs: 
397           - GetWindowPos: When a window is parented by FosterParent, use 
398             the desktop instead of FosterParent as the base to get coordinates
399           - CreateWindow: Don't make FosterParent the parent window for Popups
400             if we don't want a taskbar entry, Popups automatically don't get one
401         * Hwnd.cs: Need to call remove to actually remove the key from the
402           hash table
403
404 2006-01-30  Mike Kestner  <mkestner@novell.com>
405
406         * MenuAPI.cs: adjust MainMenu item popup location to y=0.
407
408 2006-01-30  Jackson Harper  <jackson@ximian.com>
409
410         * TreeView.cs:
411         * TreeNode.cs: Raise events no matter how the treenode is
412         checked. Patch by Don Edvalson.
413
414 2006-01-30  Jackson Harper  <jackson@ximian.com>
415
416         * TreeNode.cs: Signature fix.
417
418 2006-01-29  Alexander Olk  <alex.olk@googlemail.com>
419
420         * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
421
422 2006-01-20  Mike Kestner  <mkestner@novell.com>
423
424         * Form.cs: Add ActiveTracker property to do Captures and perform mouse
425         event forwarding when menus are active.
426         * MenuAPI.cs: kill the GrabControl hack.  Use Form.ActiveTracker.
427         Most of the patch is pdb's with a little rework.
428
429 2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
430
431         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs: 
432           Removed GetMenuDC and ReleaseMenuDC methods; replaced
433           by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
434         * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
435         * InternalWindowManager.cs: Added use of PaintEventStart/End to
436           handling of WM_NCPAINT message, now passing the PaintEventArgs to
437           the PaintWindowDecorations method
438         * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
439         * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
440         * MenuAPI.cs: Made tracker window invisible
441         * XplatUIWin32.cs:
442           - Removed GetMenuDC and ReleaseMenuDC methods
443           - Implemented the client=false path for PaintEventStart and
444             PaintEventEnd
445
446 2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
447
448         * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
449         * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
450           styles
451         * Form.cs: 
452           - MaximizeBox, MinimizeBox: Recreate the handle when setting
453             the style
454           - CreateParams: Reworked the styles to match MS look'n'feel,
455             removed automatic setting of MinimizeBox, MaximizeBox, etc. via
456             the WS_OVERLAPPEDWINDOW style. This fixes #76823.
457
458 2006-01-26  Peter Dennis Bartok  <pbartok@novell.com> 
459
460         * XplatUIX11.cs(GetWindowState): Now throwing an exception when the 
461           window is not mapped, since otherwise every form that's being 
462           created is considered minimized, which is wrong.
463         * Form.cs: Catching the exception and returning our internal value
464           instead
465
466 2006-01-26  Peter Dennis Bartok  <pbartok@novell.com>
467
468         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
469           SetWindowMinMax() to have means to tell the driver about the minimum,
470           maximum and maximized state window sizes. (Part of the fix for #76485)
471         * Form.cs:
472           - Implemented tracking of minimum and maximum window size, now calling
473             new SetWindowMinMax() driver method to tell the driver (Part of the
474             fix for #76485)
475           - Finished handling of WM_GETMINMAXINFO method, now setting all values
476             (Completes fix for #76485)
477           - Calling new SetWindowMinMax driver method when the handle for a 
478             form is created, to make sure the driver knows about it even if
479             the values have been set before the window was created
480           - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
481             to avoid messing up our anchoring calculations (partial fix
482             for #77355)
483         * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
484         * XplatUIX11.cs:
485           - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
486           - Improved GetWindowState() to detect 'Minimized' state on Metacity 
487             (and presumably other freedesktop.org compliant WMs). Left the
488             assumption unmapped=minimized, needed for SetVisible to work.
489           - Now setting the window state when creating windows
490           - Fixed SetVisible to consider/set the window state when mapping
491             a Form. We cannot set the state before it's mapped, and we cannot
492             use Form.WindowState once it's mapped (since it would ask the
493             driver and get 'normal'. Therefore, we grab the state before
494             mapping, map, and then set state.
495           - Implmemented SetWindowMinMax method; Metacity does not seem to
496             honor the ZoomHints, though.
497         * XplatUIWin32.cs:
498           - Removed MINMAXINFO (moved to XplatUIStructs)
499           - Added SetWindowMinMax stub (on Win32 the only way to set that
500             information is in response to the WM_GETMINMAXINFO message, which
501             is handled in Form.cs)
502           - Added logic to SetVisible to set the proper window state when a 
503             form is made visible (fixes #75720)
504
505 2006-01-26  Jackson Harper  <jackson@ximian.com>
506
507         * Control.cs (BeginInvoke): Automagically handle EventHandlers the
508         same way we handle them with Invoke.
509
510 2006-01-25  Peter Dennis Bartok  <pbartok@novell.com> 
511
512         * Form.cs:
513           - Added tracking of window state so CreateParams can return
514             the appropriate style
515           - Moved setting of WS_CAPTION style in CreateParams to allow
516             styles without caption
517         * DataGridTextBoxColumn.cs: We are now also creating the TextBox 
518           control if the TextBox property is accessed. Fixes #77345
519         * Control.cs:
520           - get_Created: now uses is_disposed and is_created to determine
521             return value (suggested by Jackson)
522           - CreateHandle: No longer exits if the handle is being recreated
523           - RecreateHandle: If the handle is not yet created call the 
524             appropriate method to create either control or handle. If the
525             control is already created CreateHandle will simply exit instead
526             of just creating the handle
527         * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
528           now SendMessage WM_DESTROY directly to the control when DestroyWindow
529           is called.
530         * XplatUIX11.cs: 
531           - When DestroyWindow is called, instead of waiting for the 
532             DestroyNotification from X11, we directly post it to the WndProc
533             and immediately dispose the hwnd object.
534             Same applies to DestroyChildWindows, and this obsoletes the
535             expose_pending tracking. Contrary to Win32 behaviour we destroy our
536             child windows before our own, to avoid X11 errors.
537           - Removed the direct sending of WM_PAINT on UpdateWindow
538         * XplatUIWin32.cs:
539           - Reworked DoEvents and GetMessage to allow access to internal queue
540             even when trying non-blocking access to the queue.  Fixes #77335. 
541             Based on a patch suggestion by Don Edvalson. The new private
542             GetMessage can now also be used as a backend for a PeekMessage
543             frontend version.
544         * XplatUI.cs: Improved debug output for CreateWindow
545
546 2006-01-25  Jackson Harper  <jackson@ximian.com>
547
548         * Help.cs: Allow param to be null. Patch by Don Edvalson.
549
550 2006-01-24  Jackson Harper  <jackson@ximian.com>
551
552         * ComboBox.cs: Clamp the max value set for the vertical scrollbar
553         when we have a MaxDropItems lower then the selected index.
554
555 2006-01-24  Jackson Harper  <jackson@ximian.com>
556
557         * Control.cs: Don't allow selection of non visible controls, allow
558         selection of controls without parents.
559
560 2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
561
562         * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
563         * DataGridDrawingLogic.cs: Add editing row only when is necessary
564
565 2006-01-23  Jackson Harper  <jackson@ximian.com>
566
567         * UpDownBase.cs: Make the textbox handle all the selection and
568         tabbing. This fixes tabing to updown controls.
569
570 2006-01-24  Jordi Mas i Hernandez <jordimash@gmail.com>
571
572         * TextBoxBase.cs: fixes exception thown the object was null
573
574 2006-01-23  Jackson Harper  <jackson@ximian.com>
575
576         * ButtonBase.cs: Just use the base CreateParams. They set
577         visibility and enabled correctly.
578         * ComboBox.cs:
579         * TrackBar.cs:
580         * MonthCalendar.cs: Lets let the base set as much of the
581         createparams as possible so we don't have duplicate code all over
582         the place.
583
584 2006-01-22  Alexander Olk  <alex.olk@googlemail.com>
585
586         * ThemeGtk.cs: Added TrackBar and some experimental code to
587           get double buffering back
588
589 2006-01-21  Jordi Mas i Hernandez <jordimash@gmail.com>
590
591         * DataGrid.cs: Allows row number set internally higher than the last
592         when creating a new row. Restores the editing functionality.
593
594 2006-01-20  Mike Kestner  <mkestner@novell.com>
595
596         * MimeIcon.cs: delay Image creation until the icons are accessed
597         instead of creating 190 scaled images on GnomeHandler startup.
598
599 2006-01-19  Peter Dennis Bartok  <pbartok@novell.com> 
600
601         * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
602           first call base before processing the event. Fixes #77279
603
604 2006-01-19  Peter Dennis Bartok  <pbartok@novell.com>
605
606         * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
607           that the stride for the GDI bitmap would match the stride of
608           a DIB or a Cursor.
609
610 2006-01-19  Alexander Olk  <alex.olk@googlemail.com>
611
612         * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
613
614 2006-01-19  Jackson Harper  <jackson@ximian.com>
615
616         * ComboBox.cs: Hookup the text controls keydown event so we get
617         those when the text control has the focus.
618
619 2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
620
621         * Label.cs: Now using the base events instead of defining new ones;
622           this allows us to just call the base properties without having to
623           duplicate all base property logic 
624
625 2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
626
627         * Label.cs: A label by default is not a tabstop (Fixes one of our
628           failing nunit tests)
629
630 2006-01-18  Peter Dennis Bartok  <pbartok@novell.com> 
631
632         * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
633         * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
634
635 2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
636
637         * Cursor.cs: Reimplemented creating cursor bitmaps without using
638           the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
639           This fixes #77218
640         * XplatUIWin32.cs: 
641           - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream) 
642             constructor creates images that can't be saved. Part of the fix
643             for #76103
644           - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
645           - SetWindowState: Switched ShowWindow flags (part of an upcoming 
646             bug fix for handling window state in forms properly)
647
648 2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
649
650         * ThemeGtk.cs: Simplify ScrollBar drawing
651
652 2006-01-18  Jackson Harper  <jackson@ximian.com>
653
654         * Splitter.cs: Set the default dock style for the splitter control
655         in the constructor.
656
657 2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
658
659         * ThemeGtk.cs: Corrected StateType and ShadowType for
660           gtk_paint_box
661
662 2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
663
664         * Control.cs: Make use of Theme.DoubleBufferingSupported
665         * ThemeGtk.cs:
666           - Added drawing for flat style buttons
667           - Added ScrollBar drawing
668
669 2006-01-18  Alexander Olk  <alex.olk@googlemail.com>
670
671         * ThemeClearlooks.cs: Removed some unneeded code.
672         * ThemeGtk.cs: First part of ThemeGtk enhancements.
673
674 2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
675
676         * LinkLabel.cs: We need to update the hover drawing when
677           leaving the control as well.
678
679 2006-01-18  Jordi Mas i Hernandez <jordimash@gmail.com>
680
681         * DataGrid.cs: Clicking on non empty areas in the columns
682            area was giving an exception
683
684 2006-01-17  Jackson Harper  <jackson@ximian.com>
685
686         * ThemeWin32Classic.cs:
687         * ListView.cs: Do not draw/clip the headers when the header style
688         is None.
689
690 2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
691
692         * DataGrid.cs: Fixes 77260
693         
694 2006-01-17  Jordi Mas i Hernandez <jordimash@gmail.com>
695
696         * DataGrid.cs: Clicking on a column on a empty grid was giving
697           an exception
698
699 2006-01-17  Peter Dennis Bartok  <pbartok@novell.com>
700
701         * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
702           or any keypress will crash the grid.
703
704 2006-01-17  Mike Kestner  <mkestner@novell.com>
705
706         * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
707         * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for 
708         invisible/previously-visible items.
709         [Fixes #76909]
710
711 2006-01-17  Alexander Olk  <alex.olk@googlemail.com>
712
713         * ThemeClearlooks.cs:
714         - Added CL_Draw_Button method; now other theme controls that are 
715           not derived from button or do not have a button can draw buttons
716           too
717         - Updated ComboBox drawing
718         - Beautified RadioButton drawing
719         - Corrected drawing of bottom and left tabs
720         - Beautified DateTimePicker and MonthCalendar
721         - Added CPDrawButton and CPDrawRadioButton
722
723 2006-01-16  Jackson Harper  <jackson@ximian.com>
724
725         * ComboBox.cs: Set the initial value of the scrollbar to the
726         current index. Reduce the numbers of refreshs and IndexOfs called.
727
728 2006-01-14  Alexander Olk  <alex.olk@googlemail.com>
729
730         * FileDialog.cs: When the file listview is focused hitting the
731           backspace key moves the fileview to the parent directory
732
733 2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
734
735         * Form.cs: 
736           - Added RecreateHandle call when changing taskbar visibility to 
737             trigger reparenting in Win32 driver (Fixes #75719)
738           - If a window has minimize or maximize buttons, it cannot have
739             a help button
740         * XplatUIWin32.cs:
741           - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
742             the toplevel form with FosterParent (A toolwindow not on the
743             taskbar) (Fixes #75719)
744           - Made FosterParent a toolwindow
745
746 2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
747
748         * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
749
750 2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
751
752         * ToolTip.cs: If SetToolTip is called from a control and the mouse
753           is currently over that control, make sure that tooltip_window.Text
754           gets updated
755
756 2006-01-13  Mike Kestner  <mkestner@novell.com>
757
758         * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
759
760 2006-01-13  Jackson Harper  <jackson@ximian.com>
761
762         * TreeView.cs: On MS GetNodeAt never actually factors in the X
763         value passed.  Also redraw the selected node when we recieve
764         focus, so tabbing between trees works correctly.
765
766 2006-01-13  Alexander Olk  <alex.olk@googlemail.com>
767
768         * MimeIcon.cs: GnomeHandler: older gnome versions don't have
769           ~/.gconf/%gconf-tree.xml, so use
770           .gconf/desktop/gnome/interface/%gconf.xml
771
772 2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
773
774         * TextControl.cs: Draw text in gray if control is disabled
775
776 2006-01-13  Peter Dennis Bartok  <pbartok@novell.com> 
777
778         * TreeView.cs: Draw the focus rectangle outside the highlight, to
779           make sure it's always visible. Fixes #76680.
780
781 2006-01-13  Peter Dennis Bartok  <pbartok@novell.com>
782
783         * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
784
785 2006-01-13  Jonathan Chambers  <jonathan.chambers@ansys.com>
786
787         * PageSetupDialog.cs: Added.
788         * PrintDialog.cs: Attributes.
789         * PrintPreviewControl.cs: Updates.
790         * PrintPreviewDialog.cs: Updates.
791         
792 2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
793
794         * Control.cs: Undid my selection check fix, since it's not needed
795         * TextBoxBase.cs:
796           - Now considering the presence of hscroll/vscroll when sizing
797             vscroll/hscroll respectively. Fixed bug #77077
798           - Added Left/Up/Down/Right to IsInputKey list to prevent
799             ContainerControl from stealing them. This fixes what I broke
800             with my last checkin.
801
802 2006-01-12  Peter Dennis Bartok  <pbartok@novell.com> 
803
804         * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
805           I finally understand how the property can be set without a setter :-)
806
807 2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
808
809         * Application.cs:
810           - Switched RunLoop to use static Message.Create to create a 
811             Message object
812           - Added PreProcessMessage call in runloop for keyboard events; this
813             is part of the fix for #77219, I overlooked this originally in the
814             MSDN doc for PreProcessMessage
815         * Control.cs:
816           - Removed call to PreProcessMessage from handling of keyboard 
817             messages; it's supposed to be done in the message pump
818           - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
819             per MSDN documentation.
820           - IsInputChar: All chars are input chars by default; removed the 
821             parent calling chain, MS does not document that
822           - PreProcessMessage: If IsInputChar is true, we want to return false
823             to allow dispatching of the message
824           - When selecting the next control, now also check that we're not
825             selecting ourselves again and therefore return a false positive.
826         * TextBoxBase.cs:
827           - Tried to match return values for IsInputKey and ProcessDialogKey
828             to what MS returns; moved processing of our special keys outside
829             ProcessDialogKey since MS does not seem to return true on those.
830           - Moved code that previously was in ProcessDialogKey into new private
831             ProcessKey method, which gets called upon receipt of WM_KEYDOWN
832           - Reworked handling of WM_CHAR to not have to duplicate code from
833             Control.cs anymore, instead we simply call down to base.
834            
835 2006-01-12  Jackson Harper  <jackson@ximian.com>
836
837         * ComboBox.cs: We always need to refresh the text area when
838         EndUpdate is called. Fixes the combobox in the file dialog.
839         * Control.cs: Don't create the creator_thread until the controls
840         handle is created.  Also in InvokeRequired we check if the
841         creator_thread is null. This gives the effect of InvokeRequired
842         returning true if the controls handle is not created yet, and
843         matches MS.
844
845 2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
846
847         * XplatUI.cs:
848           - Added StartLoop() driver method. This is used to allow drivers to
849             prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
850             loop for a particular thread
851           - Added EndLoop() driver method. This is called once the message
852             pump for the thread is shut down
853           - Added SupportsTransparency method to allow the driver to indicate
854             opacity support for windows
855         * Form.cs:
856           - Removed TODO attribute, completed AllowTransparency property
857           - Added documented logic to Opacity
858         * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
859           ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
860           versions of CompatibleTextRendering
861         * X11Structs.cs: Added opacity atom to our atom enumeration
862         * Hwnd.cs: Added opacity tracking (we need to track since the opacity
863           of a form might be set before it's reparented by the WM, and we need
864           the opacity value without calling up to Form)
865         * XplatUIDriver.cs: Added StartLoop(), EndLoop() and 
866           SupportsTransparency() driver methods
867         * Application.cs: Now calling StartLoop and EndLoop driver methods
868         * XplatUIX11.cs:
869           - Added opacity atom registration
870           - Added StartLoop()/EndLoop() methods. They're empty right now but
871             will need to get implemented when we switch to a per-thread queue
872           - Implemented SupportsTransparency() method
873           - Implemented SetWindowTransparency() method
874           - Added support for setting the opacity value when a window is
875             reparented (since the opacity needs to be set on the WM frame)
876         * XplatUIOSX.cs, XplatUIWin32.cs:
877           - Added SupportsTransparency(), StartLoop() and EndLoop() methods
878
879 2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
880
881         * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
882
883 2006-01-12  Alexander Olk  <alex.olk@googlemail.com>
884
885         * FileDialog.cs: Added ToolTip for MWFFileView
886         * MimeIcon.cs: Rewrote GnomeHandler.
887           - Get currently used gnome icon theme from
888             ($HOME)/.gconf/%gconf-tree.xml
889           - Make use of inherited icon themes
890           - Support SVG icon themes like Tango via librsvg
891
892 2006-01-12  Miguel de Icaza  <miguel@novell.com>
893
894         Revert's Jackson's revert which broke 2.0 builds.   Fix both
895         builds. 
896         
897         * Application.cs: Move the use_compatible_text_rendering outside
898         the NET_2_0 define.  If we ever need to use the
899         use_compatible_text_rendering on the individual controls they will
900         access the variable from the common shared code paths.
901
902 2006-01-12  Peter Dennis Bartok  <pbartok@novell.com>
903
904         * XplatUI.cs:
905           - Added more granular debug options
906           - Added method to print both window text and id
907           - Switched debug output to use new Window() debug method
908           - Added IsEnabled() driver method
909           - Added EnableWindow() driver method
910         * Form.cs:
911           - Removed end_modal; no longer needed, new loop handles termination
912             via 'closing' variable
913           - If form is modal, setting DialogResult will now initiate loop
914             termination via 'closing' variable
915           - Added support for is_enabled/WS_DISABLED to CreateParams
916           - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
917             does all the work
918           - Removed code that's now in RunLoop from ShowDialog()
919           - Added various documented sanity checks to ShowDialog()
920           - Added handling of WM_DESTROY message; we set 'closing' on getting
921             the message to indicate the message pump to terminate
922           - Added handling of new internal WM_CLOSE_INTERNAL message - it's
923             send by the Application.ExitThread method. (We send the message
924             to destroy the window after all other events have been
925             processed through the queue, instead of destroying the handle 
926             directly)
927           - Moved code from Close() method to WM_CLOSE handler; added logic
928             to only send close-related events if the form is not displayed
929             modal
930         * Splitter.cs (..ctor): Fixed typo in resource name
931         * Control.cs:
932           - DrawBackgroundImage: Explicitly selecting the wrap mode for the
933             brush now
934           - set_Cursor: Now only setting calling into XplatUI if the handle for
935             the control is already created; this avoids implict handle creation
936             or crashes if it's not created
937           - set_Enabled: Now setting the enabled state via the new driver method
938             instead of just tracking it
939           - CreateParams: Added logic to set WS_DISABLED based on enabled state
940           - CreateControl: Reordered event firing and method calls to more
941             closely fire events in the order MS does. Now setting the
942             enabled state in the driver when creating the control.
943           - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
944             match MS order
945         * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
946           MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED 
947         * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
948         * Hwnd.cs:
949           - Added tracking of window enabled state (get_Enabled/set_Enabled)
950           - Added EnabledHwnd property to easily allow a driver to find the
951             handle of the first enabled window in the parent chain (this is
952             used by drivers to pass up input events of disabled windows)
953         * XplatUIDriver.cs: Added IsEnabled() method
954         * Application.cs:
955           - Removed crude and obsolete exiting tracking variable
956           - Removed internal ModalRun(); replaced by RunLoop()
957           - Implemented private CloseForms() method to allow closing all 
958             windows owned by a particular (or all) threads
959           - Exit() now properly closes all windows without forcing the message
960             pump to quit
961           - Removed obsolete InternalExit() method
962           - Changed Run() methods to use new RunLoop() message pump
963           - Implemented new RunLoop() method for both modal and non-modal forms
964         * CommonDialog.cs:
965           - get_CreateParams: Added setting of WS_DISABLED
966           - Simplified ShowDialog(); now all the work is done in RunLoop(),
967             invoked via Form.ShowDialog()
968         * NativeWindow.cs: We don't remove the window from the collection when
969           the handle is destroyed; there might still be messages for it in the
970           queue (mainly the resulting WM_DESTROY); instead it will be removed
971           when Control calls InvalidateHandle in the WM_DESTROY handler
972         * XplatUIX11.cs:
973           - CreateWindow: Added logic to handle the WS_DISABLED window style
974           - EnableWindow: Implemented based on Hwnd.Enabled
975           - GetMessage: Reset PostQuitState so the method can be called again
976           - Implemented support for disabled windows (passing messages to the
977             first enabled parent) in handling all input messages
978           - Added optimizations for handling Expose events
979           - Implemeted new driver method IsEnabled()
980           - Now always resetting paint pending tracking vars when we start paint
981           - Re-implemented UpdateWindow via just sending a WM_PAINT message
982         * XplatUIOSX.cs: Added IsEnabled method stub
983         * XplatUIWin32.cs: Implemented new IsEnabled() method
984
985 2006-01-11  Jackson Harper  <jackson@ximian.com>
986
987         * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
988         LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
989         variables a little.
990         * ColorDialog.cs: Clear out the old form before adding the new
991         panel.  
992
993 2006-01-11  Jackson Harper  <jackson@ximian.com>
994
995         * X11Dnd.cs: Make sure to add all the text formats when adding
996         strings to the data object.
997         * TreeNodeCollection.cs: When adding to a sorted tree we need to
998         do some redrawing too.  Also change the UpdateNode to an
999         UpdateBelow so the newly added node gets painted.
1000         
1001 2006-01-11  Miguel de Icaza  <miguel@novell.com>
1002
1003         * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
1004         LinkLabel.cs, PropertyGrid.cs: Implement the
1005         UseCompatibleTextRendering property for 2.x
1006
1007         * Application.cs (SetCompatibleTextRenderingDefault): Add. 
1008
1009 2006-01-11  Jackson Harper  <jackson@ximian.com>
1010
1011         * TreeView.cs: Use the property for setting the selected node so
1012         the correct events get raised.
1013         * TreeNode.cs: Update the tree when the fore/back colours of a
1014         node are set.
1015
1016 2006-01-10  Jackson Harper  <jackson@ximian.com>
1017
1018         * TreeView.cs: Allow setting SelectedNode to null.
1019
1020 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1021
1022         * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
1023
1024 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1025
1026         * PrintControllerWithStatusDialog.cs: Update page number in dialog.
1027
1028 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1029
1030         * PrintDialog.cs: Added attributes and set default property values.
1031
1032 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1033
1034         * PrintControllerWithStatusDialog.cs: 
1035         Added PrintControllerWithStatusDialog.
1036
1037 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1038
1039         * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs, 
1040         XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
1041
1042 2006-01-9  Jonathan Chambers  <jonathan.chambers@ansys.com>
1043
1044         * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
1045
1046 2006-01-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
1047
1048         * ComboBox.cs: Added KeyDown event handler for processing arrow keys
1049         and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
1050
1051 2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
1052
1053         * MimeIcon.cs: Added internal class SVGUtil.
1054
1055 2006-01-08  Alexander Olk  <alex.olk@googlemail.com>
1056
1057         * FileDialog.cs: Don't crash if there are two files with the
1058           same name but different locations.
1059
1060 2006-01-08  John BouAntoun  <jba-mono@optusnet.com.au>
1061
1062         * MonthCalendar.cs: Fixed annoying rendering bug when selecting
1063         dates across multiple month grids. Used to not highlight entire 
1064         month, but does now.
1065         
1066 2006-01-06  Jackson Harper  <jackson@ximian.com>
1067
1068         * MonthCalendar.cs: Removed DoEvents call to prevent a running
1069         message loop. Change timer intervals to numbers that seem more
1070         natural.
1071
1072 2006-01-06  John BouAntoun  <jba-mono@optusnet.com.au>
1073
1074         * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
1075           object for location info since screen object is now implemented.
1076
1077 2006-01-05  Jackson Harper  <jackson@ximian.com>
1078
1079         * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
1080         * AsyncMethodResult.cs: We no longer use a WeakReference for the
1081         AsyncMethodResult, this is because we ALWAYS want the
1082         ManualResetEvent to get set.
1083         * Control.cs: When disposing use an async invoke to call shutdown
1084         code, so that thigns don't block on the finalizer thread.  Also
1085         check if we even have a message loop before trying to send
1086         messages, if we don't then don't bother sending messages.
1087         - No more weak references for async methods
1088         * XplatUIDriver.cs: No more weak references for async methods.
1089
1090 2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
1091
1092         * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
1093           returns two FontFamily with the same name
1094
1095 2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
1096
1097         * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of 
1098           drawing disabled text. Instead using the ColorGrayText color
1099
1100 2006-01-04  Jackson Harper  <jackson@ximian.com>
1101
1102         * TreeNode.cs: redraw the node when its image index is changed.
1103
1104 2006-01-04  Peter Dennis Bartok  <pbartok@novell.com>
1105
1106         * RichTextBox.cs: Same fix as last, just for SelectionColor. This
1107           time I checked there are no others like it.
1108
1109 2006-01-04  Jackson Harper  <jackson@ximian.com>
1110
1111         * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
1112         this gives the behavoir I was looking for.
1113         * Control.cs: Special case Invoking EventHandlers, this matches MS
1114         and fixes part of bug #76326.
1115
1116 2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
1117
1118         * ThemeClearlooks.cs, FileDialog.cs:
1119           - Reflect the latest Theme class changes
1120           - Remove Mono.Unix.Syscall.time in FileDialg and replace it 
1121             with DateTime
1122             
1123 2006-01-04  Alexander Olk  <alex.olk@googlemail.com>
1124
1125         * Theme.cs: Cache UI resource images and resize them if needed
1126
1127 2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
1128
1129         * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
1130           is called. This fixes the crash in Nexxia when setting the font
1131           attributes in the chat. [However, RTF needs a look-over to make sure
1132           that all SelectionXXX methods handle the special case that selection
1133           is empty and therefore the change must be applied to all text starting
1134           at the cursor/selection start]
1135
1136 2006-01-03  Peter Dennis Bartok  <pbartok@novell.com> 
1137
1138         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
1139           XplatUIOSX.cs: Added SendMessage and PostMessage methods
1140         * X11Keyboard.cs: Switched to new way of calling PostMessage
1141
1142 2006-01-03  Peter Dennis Bartok  <pbartok@novell.com>
1143
1144         * Theme.cs: Added theme interface for images to allow the theme to
1145           control what images are used for things like FileDialog, MessageBox
1146           icons, etc.
1147         * MessageBox.cs: Now uses the new Theme icon/image interfaces
1148
1149 2006-01-03  Alexander Olk  <alex.olk@googlemail.com>
1150
1151         * FileDialog.cs:
1152           - Removed some dead code
1153           - Opening a recently used file does work now
1154           - Small UI enhancements
1155           - Refactoring
1156
1157 2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
1158
1159         * FileDialog.cs: Forgot too add __MonoCS__
1160
1161 2006-01-02  Alexander Olk  <alex.olk@googlemail.com>
1162
1163         * FileDialog.cs: We are able to read recently used files now let's
1164           go on and write them.
1165
1166 2006-01-01  Alexander Olk  <alex.olk@googlemail.com>
1167
1168         * FileDialog.cs: Breathe some life into "last open"/"recently used"
1169           button
1170         * MimeIcon.cs: Do a check for the top level media type also
1171
1172 2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
1173
1174         * ThemeClearlooks.cs:
1175           - Added CPDrawStringDisabled
1176           - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
1177             some chars if the text doesn't fit into text_rect
1178           - DrawListViewItem: If View = View.LargeIcon center the image;
1179             rewrote the drawing of ListViewItem.Text if View = 
1180             View.LargeIcon
1181
1182 2005-12-31  Alexander Olk  <alex.olk@googlemail.com>
1183
1184         * MimeIcon.cs: Use default KDE icon theme if there is no
1185           "48x48" directory for the current icon theme, fixes #77114
1186         * Mime.cs: Disable not working and actually not used code. 
1187         * ThemeWin32Classic.cs:
1188           - Replace "new SolidBrush" in GetControlBackBrush and
1189             GetControlForeBrush with ResPool.GetSolidBrush
1190           - Changed DrawListViewItem from private to protected virtual
1191         * FileDialog.cs:
1192           - Added form.MaximizeBox = true
1193           - Don't throw an exception if there is a broken symbolic link
1194
1195 2005-12-23  Jackson Harper  <jackson@ximian.com>
1196
1197         * TabControl.cs: Give the panels focus, keyboard navigation is
1198         fixed so this works correctly now.
1199         - We need these key events also.
1200         * ToolBar.cs: Remove some of the poor mans double buffering.
1201         
1202 2005-12-24  Alexander Olk  <alex.olk@googlemail.com>
1203
1204         * ComboBox.cs: The internal TextBox now returns the focus.
1205
1206 2005-12-23  Jackson Harper  <jackson@ximian.com>
1207
1208         * ThemeWin32Classic.cs:  Draw the text for all tab appearances.
1209
1210 2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
1211
1212         * Control.cs: Removed debug code
1213         * XplatUIX11.cs: Changed DestroyChildWindows to also consider
1214           implicit children
1215
1216 2005-12-23  Peter Dennis Bartok  <pbartok@novell.com> 
1217
1218         * Control.cs: When creating the control, update the Z-order after
1219           all it's children are created, too. (Fixes nexxia not showing
1220           picturebox bug)
1221
1222 2005-12-23  Peter Dennis Bartok  <pbartok@novell.com>
1223
1224         * Control.cs: Do not update the anchoring distances if layout is
1225           suspended, instead do it once layout is resumed
1226
1227 2005-12-22  Peter Dennis Bartok  <pbartok@novell.com> 
1228
1229         * Control.cs: 
1230           - After many hours of debugging, for both Jackson and
1231             myself, it turns out that it helps to set the parent of a control
1232             if you want to actually see it onscreen. In the spirit of that
1233             discovery, we're now setting the parent of the control and
1234             it's children when the control's handle is created. This fix
1235             will make Lutz Roeder's Reflector run happily. 
1236           - now just creating the handle instead of the whole control when
1237             getting a graphics context for the control.
1238
1239 2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
1240
1241         * ScrollableControl.cs: When calculating the canvas, don't consider
1242           the scrollbar widths. Instead, predict if horizontal scrollbar
1243           will affect canvas when deciding on vertical display and vice versa.
1244
1245 2005-12-22  Peter Dennis Bartok  <pbartok@novell.com>
1246
1247         * RichTextBox.cs: Set default RTF font for documents that don't
1248           have a font table (Fixes #77076)
1249
1250 2005-12-22  Jackson Harper  <jackson@ximian.com>
1251
1252         * TextBoxBase.cs: It's difficult to do, but you can have an empty
1253         clipboard. This prevents a NullRef in that case.
1254         * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
1255         clipboard. PRIMARY is for the currently selected text only. (We
1256         should implement PRIMARY at some point.
1257
1258 2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
1259
1260         * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
1261           a Unicode function with a structure that was defined in Ansi way.
1262           This fixes #76942.
1263
1264 2005-12-21  Jackson Harper  <jackson@ximian.com>
1265
1266         * StatusBar.cs: Statusbar handles its fore/back colours on it's
1267         on. Because thats how it rolls. (and this avoids it using ambient
1268         colours).
1269         * ThemeWin32Classic.cs: Use the proper back color for filling.
1270         * Menu.cs: Use the system menu bar color for drawing menu
1271         bars. Using the window back color will bring ambient colours into
1272         the picture.
1273
1274 2005-12-21  Alexander Olk  <alex.olk@googlemail.com>
1275
1276         * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
1277           Bitmaps were created and not disposed.
1278
1279 2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
1280
1281         * Control.cs (CreateControl): Don't do anything if the control is
1282           already created, otherwise we'd fire the OnCreated event more than
1283           once
1284
1285 2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
1286
1287         * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
1288           will always match. Instead return -1. Fixes #76464.
1289
1290 2005-12-21  Peter Dennis Bartok  <pbartok@novell.com>
1291
1292         * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
1293           neither the beginning nor the end of the line (Fixes bug #76479)
1294
1295 2005-12-21  Peter Dennis Bartok  <pbartok@novell.com> 
1296
1297         * Control.cs:
1298           - ControlNativeWindow.ControlFromHandle(): Now handling situation
1299             where handle is invalid
1300           - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
1301             instead of slower linear search
1302         * NativeWindow.cs: Don't remove the window from the hashtable until
1303           after the driver has destroyed it (since the driver might use
1304           Control.FromHandle to lookup the control object
1305         * Hwnd.cs: Added DestroyPending property to track if a window is 
1306           already destroyed as far as the driver is concerned and only hasn't
1307           yet notified the control
1308         * XplatUIX11.cs:
1309           - Activate(): Check if the window is still valid before using the 
1310             handle
1311           - Implemented DestroyChildWindow() method to mark child windows as
1312             destroyed when a window is destroyed. This prevents situations 
1313             where we might call an X method based on queued events for a
1314             window that already has been destroyed but we haven't yet pulled
1315             the destroy method from the queue.
1316           - Added a call to the new DestroyChildWindow() method to the drivers
1317             DestroyWindow code. Also now marking the destroyed window itself
1318             as pending
1319
1320 2005-12-20  Jackson Harper  <jackson@ximian.com>
1321
1322         * StatusBar.cs:
1323         * StatusBarPanel.cs: Don't calculate panel sizes on draw
1324         anymore. Just do them when needed, also track the rects of panels
1325         so that we can optimize refreshing more in the future.
1326
1327 2005-12-20  Alexander Olk  <alex.olk@googlemail.com>
1328
1329         * ColorDialog.cs: Fixed focus drawing in small color controls
1330
1331 2005-12-19  Jackson Harper  <jackson@ximian.com>
1332
1333         * InternalWindowManager.cs:
1334         * MdiWindowManager.cs: Cleanup some coordinate system changes so
1335         moving windows works properly.
1336
1337 2005-12-19  Peter Dennis Bartok  <pbartok@novell.com> 
1338
1339         * Control.cs: 
1340           - Removed call to InitLayout() from SetBoundsCore(); doc says
1341             it's only called when a control is added to a container
1342           - Split InitLayout logic, moved to separate UpdateDistances() method
1343             since we need to perform those calculations more often than just
1344             when adding the control to a container. (Needed to fix #77022)
1345           - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
1346           - Reduced the OnBindingContextChanged events count, don't send them
1347             unless the control is created, we still aren't totally matching
1348             MS, but I can't quite figure out some of their rules
1349
1350 2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
1351
1352         * ThemeClearlooks.cs: Corrected distance between ProgressBar
1353           stripes
1354
1355 2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
1356
1357         * ThemeClearlooks.cs:
1358           - Updated ProgressBar drawing
1359           - Corrected drawing of ScrollBars and scroll buttons
1360           - Some temporary fixes for minor pixel artefacts
1361
1362 2005-12-18  Peter Dennis Bartok  <pbartok@novell.com> 
1363
1364         * Control.cs:
1365           - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
1366             cause events to be sent in the same order as MS does.
1367           - Added ChangeParent() method to trigger various OnXXXChanged events
1368             that need to be fired when a parent changes (This is a reworking
1369             of the patch from r54254, with the X11 errors fixed)
1370           - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
1371             since on MS we get OnLayoutChanged events when calling Clear()
1372           - Changed Enabled property to consider parent state as well, if a
1373             parent is not enabled, the control will not be either
1374           - Changed Parent property to simply call Controls.Add() since that
1375             now does all the work required, this way we avoid code duplication
1376           - Threw in a few OnBindingsContextChanged calls to try and match
1377             when MS sends them. We seem to send a few too many, though.
1378           - Added call to CreateControl when adding the control to a parent.
1379             We were never calling CreateControl. Still needs some work, in
1380             some places we treat HandleCreated and ControlCreated as equal, 
1381             which is wrong
1382           - Removed obsolete commented out code from UpdateZOrder()
1383
1384 2005-12-18  Alexander Olk  <alex.olk@googlemail.com>
1385
1386         * ThemeClearlooks.cs: Updated TrackBar drawing.
1387
1388 2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
1389
1390         * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
1391
1392 2005-12-17  Alexander Olk  <alex.olk@googlemail.com>
1393
1394         * FileDialog.cs: Add the Help button and the open readonly
1395           checkbox only if needed
1396
1397 2005-12-16  Jackson Harper  <jackson@ximian.com>
1398
1399         * Control.cs: Make sure we have an active menu before trying to
1400         process commands on it. Prevents menu-less forms from crashing
1401         when Alt is pressed.
1402         * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
1403         Dieter Bremes.
1404         * RichTextBox.cs: Expand statement to help out gmcs and fix the
1405         2.0 build.
1406
1407 2005-12-16  Jackson Harper  <jackson@ximian.com>
1408
1409         * InternalWindowManager.cs: Don't translate tool windows screen
1410         coordinates. This fixes windows 'bouncing' around when being moved.
1411
1412 2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
1413
1414         * TextBoxBase.cs:
1415           - MaxLength now treats 2^31-1 equal to unlimited length (this is
1416             not quite MS compatible, MS uses that number only for single line
1417             and 2^32-1 for multi-line, but I figure it won't hurt keeping
1418             the limit at 2GB)
1419           - Now enforcing the MaxLength limit when entering characters
1420           - Added argument to internal Paste() method to track if it's called
1421             from programatically or via keyboard, since keyboard driven pastes
1422             need to enforce max-length
1423           - Added logic to Paste to only paste as many chars as MaxLength 
1424             allows
1425         * RichTextBox.cs: Updated to use new obey argument for internal Paste()
1426         * TextControl.cs:
1427           - Added Length property to return number of characters in document
1428           - Added private CharCount property which only tracks actual chars
1429             in the document (no linefeeds) and fires event when CharCount
1430             changes
1431           - Added tracking of character count to all methods that alter it
1432           - Added LengthChanged event to allow applications to subscribe
1433             to any changes to the document
1434
1435 2005-12-15  Peter Dennis Bartok  <pbartok@novell.com> 
1436
1437         * TextBox.cs: 
1438           - Removed local password_char field (moved to TextBoxBase)
1439           - Now setting the document's password var when password is
1440             set
1441         * TextBoxBase.cs:
1442           - Added password_char field (needed here so MultiLine can
1443             access it)
1444           - Added logic to MultiLine property setter to set the document's
1445             variable when password display is allowed
1446           - Removed debug code and made some debug code conditional
1447         * TextControl.cs:
1448           - Added RecalculatePasswordLine() method to handle special password
1449             char only lines
1450           - Added PasswordChar property, also added related tracking vars
1451           - Draw() method now uses local text var for grabbing text to draw,
1452             this var is set to line.text unless we're doing password display,
1453             then it is set to the pre-generated all-password-chars line
1454           - Added calling RecalculatePasswordLine() method for password lines
1455
1456 2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
1457
1458         * Hwnd.cs: 
1459           - Added Reparented property to allow tracking of Window Manager
1460             reparenting actions (which affect X/Y calculations of toplevel 
1461             windows)
1462           - Made ToString() print window handles in hex
1463         * XplatUIX11.cs:
1464           - AddConfigureNotify(): Now uses reparented state off Hwnd to
1465             determine if X/Y needs offsetting
1466           - AddConfigureNotify(): Fixed offset calculations
1467           - Now adds ReparentNotify messages into the queue
1468           - Now processes ReparentNotify messages and causes a 
1469             WM_WINDOWPOSCHANGED message to be sent upstream if a window
1470             is reparented (as most likely it's X/Y coordinates are changed
1471             due to that)
1472
1473 2005-12-14  Jackson Harper  <jackson@ximian.com>
1474
1475         * XplatUIX11.cs: Tool windows still need to respek focus.
1476
1477 2005-12-14  Peter Dennis Bartok  <pbartok@novell.com> 
1478
1479         * Control.cs: Undid 54254 (causing XConfigure errors) so we can
1480           have a working release
1481
1482 2005-12-13  Jackson Harper  <jackson@ximian.com>
1483
1484         * Form.cs: Update styles after setting the border style regardless
1485         of whether or not the window is using a window manager.
1486
1487 2005-12-13  Jackson Harper  <jackson@ximian.com>
1488
1489         * Form.cs: We now hook into an internal window manager instead of just an
1490         MDI subsystem, this is so we can have properly behaving tool windows.
1491         * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
1492         * InternalWindowManager.cs: New internal class that acts as a
1493         window manager for tool windows and as a base for mdi windows.
1494         * MdiWindowManager.cs: New class that acts as a window manager for
1495         mdi windows.
1496
1497 2005-12-12  Jackson Harper  <jackson@ximian.com>
1498
1499         * Control.cs: Updates so we match behavoir for for implicit
1500         controls. Fixes explosions in MDI.
1501
1502 2005-12-12  Jackson Harper  <jackson@ximian.com>
1503
1504         * Control.cs: Implement Invalidate (Region).
1505
1506 2005-12-12  Peter Dennis Bartok  <pbartok@novell.com> 
1507
1508         * Control.cs: 
1509           - Changed handling of Controls.Add/Controls.Remove to fire (almost) 
1510             the same events as MS does. MS fires events for each property 
1511             except, for unknown reasons, Cursor, when the control is reparented. 
1512             I can't seem to totally match add/remove since MS also fires some 
1513             VisibleChanged events, which makes no sense. Consolidated the
1514             parenting code into a separate method so it can be called from
1515             both Add and Remove. set_Parent no longer needs any special logic
1516             as it calls the parent's add method which implicitly fires
1517             all events
1518           - Removed some obsolete code and debug output
1519           - Enabled state is inherited from parents, if this is enabled
1520
1521 2005-12-08  Peter Dennis Bartok  <pbartok@novell.com> 
1522
1523         * Form.cs: Removed commented out code
1524
1525 2005-12-08  Peter Dennis Bartok  <pbartok@novell.com>
1526
1527         * Control.cs:
1528           - Added internal version of Invoke, with additional argument 
1529             indicating if we're calling it from a Dispose() handler. That
1530             way we can avoid BeginInvoke throwing an exception if we're
1531             calling for an already destroyed window.
1532           - Added a dispose argument to BeginInvokeInternal, and made the
1533             check if a valid window handle chain exists conditional on
1534             it not being a dispose call
1535           - Removed code in DestroyHandle to destroy our children. Since we
1536             now handle the WM_DESTROY message we will catch all our children
1537             being destroyed.
1538           - Now calling OnHandleDestroyed from our new WM_DESTROY handler
1539         * Form.cs:
1540           - Added a field to track the application context of the form.
1541           - No need to set closing variable as response to WM_CLOSE, instead
1542             we destroy the window. We also call PostQuitMessage if the form
1543             has an application context (which makes it the main app form,
1544             which, when closed terminates the app)
1545         * XplatUI.cs:
1546           - Dropped Exit() method, it's naming was confusing
1547           - Added PostQuitMessage() which causes GetMessage to return false
1548             once the message queue is empty
1549         * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added 
1550           PostQuitMessage()
1551         * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
1552           no longer a valid XplatUI method, but left it in since it's used
1553           internally. Added empty PostQuitMessage() method.
1554         * MenuAPI.cs: Replaced call to Exit() with call to
1555           PostQuitMessage, even though this is probably no longer needed.
1556         * Hwnd.cs: Added 'pretty' ToString() to support debugging.
1557         * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
1558         * Application.cs:
1559           - Replaced call to XplatUI.Exit() with PostQuitMessage()
1560           - Removed old debug code that would call XplatUI for exception
1561             display, enabled standard exception handling (Still not enabled
1562             though, until NativeWindow's ExternalExceptionHandler define
1563             is removed
1564         * NativeWindow.cs:
1565           - Added internal method to allow control to update NativeWindow
1566             after a window has been destroyed
1567           - Added handling of already destroyed windows when calling i
1568             DestroyWindow
1569           - Added removal of handle from list on ReleaseHandle
1570         * XplatUIX11.cs:
1571           - Dropped GetMessageResult var and related code
1572           - Added PostQuitState to field to track if PostQuitMessage has been
1573             called
1574           - Dropped Exit() method
1575           - Added PostQuitMessage() method
1576           - GetMessage now will return false if PostQuitState is set and no
1577             more messages are in the queue.
1578           - Expose handler will no longer generate WM_PAINT messages if we are
1579             in PostQuitState since it's very likely any windows have already
1580             been destroyed, and since Hwnd won't get updated until we have
1581             processed the DestroyNotify we'd be causing X errors.
1582         
1583 2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
1584
1585         * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
1586           Thanks to Mike for pointing out the err of my ways.
1587
1588 2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
1589
1590         * Control.cs(PreProcessMessage): Moved menu handling back, but
1591           after all other key handling, to match MS (who handles Menu in
1592           DefWndProc)
1593         * Menu.cs (WndProc): Removed my brainfart
1594
1595 2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
1596
1597         * Control.cs(PreProcessMessage): Removed special menu handling 
1598         * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
1599
1600 2005-12-07  Mike Kestner  <mkestner@novell.com>
1601
1602         * Control.cs : special case SYSKEYUP so that we can adjust keynav
1603         state according in tracker.
1604         * Menu.cs : promote tracker field to base class and provide a tracker
1605         lookup capability.  Add/Remove shortcuts dynamically if the top menu
1606         has a tracker. Unparent items that are removed from the collection.
1607         * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
1608         * Theme*.cs: add always_show_hotkeys field to support configurability
1609         of mnemonic display.  win32 doesn't show mnemonics until Alt is
1610         pressed.
1611
1612 2005-12-07  Jackson Harper  <jackson@ximian.com>
1613
1614         * MdiChildContext.cs: Use Control.ResetCursor.
1615         * Control.cs: ResetCursor needs to set the property so that the
1616         correct XplatUI call gets made.
1617
1618 2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
1619
1620         * Control.cs: More fixes to make our key events match MS. We
1621           were not setting the modifier state on KeyData, and we were
1622           not generating any events when Alt was pressed with a key
1623           since handling of WM_SYSxxx was missing for the OnKey methods.
1624
1625 2005-12-07  Jackson Harper  <jackson@ximian.com>
1626
1627         * MdiChildContext.cs: reenable the sizing code.
1628         - When the mouse leaves a window reset its cursor.
1629
1630 2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
1631
1632         * ThemeClearlooks.cs: Reflect latest Hwnd changes
1633
1634 2005-12-07  Peter Dennis Bartok  <pbartok@novell.com>
1635
1636         * Hwnd.cs: Now using the theme 3d bordersize to calculate
1637           widths of Fixed3D borders
1638
1639 2005-12-07  Jackson Harper  <jackson@ximian.com>
1640
1641         * MdiClient.cs: Fix warnings. Earn Mike's love.
1642
1643 2005-12-07  Alexander Olk  <alex.olk@googlemail.com>
1644
1645         * ThemeClearlooks.cs:
1646           - Adjusted mouse over button color
1647           - Added first parts of CheckBox drawing
1648           - Added correct color for selected text background
1649           - Fixed ComboBox drawing
1650           - Added CPDrawBorder3D and CPDrawBorder
1651
1652 2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
1653
1654         * XplatUIX11.cs: Added call to XBell for AudibleAlert
1655
1656 2005-12-06  Peter Dennis Bartok  <pbartok@novell.com> 
1657
1658         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
1659           XplatUIOSX.cs: Added AudibleAlert() method to have a means to
1660           alert users via sound. We could add an enum arg with different
1661           types of alerts in the future
1662
1663 2005-12-06  Peter Dennis Bartok  <pbartok@novell.com>
1664
1665         * Control.cs: Fix behaviour problems pointed out by Mike
1666
1667 2005-12-05  Mike Kestner  <mkestner@novell.com>
1668
1669         * StatusBarPanel.cs: add Invalidate method and hook it into all the
1670         prop setters.  Calls parent.Refresh for now, but could be maybe be
1671         optimized with an internal method on StatusBar at some point.
1672         [Fixes #76513]
1673
1674 2005-12-05  Peter Dennis Bartok  <pbartok@novell.com> 
1675
1676         * RichTextBox.cs: Implemented get_SelectionColor
1677
1678 2005-12-05  Alexander Olk  <alex.olk@googlemail.com>
1679
1680         * ThemeClearlooks.cs:
1681           - Removed dead code
1682           - Draw black button border only if button is Form.AcceptButton
1683           - Draw correct button color for pressed RadioButton if the mouse 
1684             has entered the button
1685           - Updated ProgressBar drawing!
1686           - Updated CPDrawSizeGrip drawing
1687           - Updated StatusBarPanel drawing
1688
1689 2005-12-05  Mike Kestner  <mkestner@novell.com>
1690
1691         * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
1692         * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
1693
1694 2005-12-04  Alexander Olk  <alex.olk@googlemail.com>
1695
1696         * ThemeClearlooks.cs: Initial check-in, activate with
1697           export MONO_THEME=clearlooks
1698         * ThemeEngine.cs: Added ThemeClearlooks
1699
1700 2005-12-03  Mike Kestner  <mkestner@novell.com>
1701
1702         * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
1703         [Fixes #76897]
1704
1705 2005-12-02  Jackson Harper  <jackson@ximian.com>
1706
1707         * Form.cs: If the child form has no menu the default main menu is
1708         used as the active menu.
1709
1710 2005-12-02  Peter Dennis Bartok  <pbartok@novell.com> 
1711
1712         * ListBox.cs: Check if any items exist before trying to resolve 
1713           coordinates into items
1714
1715 2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
1716
1717         * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
1718           as the second color for the background hatch
1719
1720 2005-12-02  Peter Dennis Bartok  <pbartok@novell.com>
1721
1722         * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
1723         * RichTextBox.cs: FormatText position arguments are 1-based, now making
1724           sure that what we pass to FormatText is always 1-based. Fixes #76885
1725
1726 2005-11-29  Miguel de Icaza  <miguel@novell.com>
1727
1728         * NumericUpDown.cs (EndInit): When we are done initializing,
1729         reflect any updates on the UI.
1730
1731 2005-12-02  Jackson Harper  <jackson@ximian.com>
1732
1733         * ImplicitHScrollBar.cs:
1734         * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
1735         their container controls.
1736         * TreeView.cs: Use the new implicit scrollbars.
1737
1738 2005-12-02  Jackson Harper  <jackson@ximian.com>
1739
1740         * TreeView.cs: Make top_node internal so the TreeNodeCollections
1741         can play with it.
1742         * TreeNodeCollection.cs: If we remove the topnode we need to
1743         update topnode to the next node in line.
1744         - When clearing nodes go through the same process as removing
1745         them, so they get depareneted and checked if they are top node.
1746
1747 2005-12-01  Jackson Harper  <jackson@ximian.com>
1748
1749         * TreeView.cs: When imagelists are used the image area is
1750         selectable as well as the text.
1751         - If there are no selected nodes select the first one.
1752         * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
1753         so don't do it more then we need to.
1754
1755 2005-12-01  Jackson Harper  <jackson@ximian.com>
1756
1757         * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
1758         that arrows can be scaled.
1759
1760 2005-12-01  Jackson Harper  <jackson@ximian.com>
1761
1762         * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
1763         fail. Patch by Dieter Bremes
1764
1765 2005-11-30  Jackson Harper  <jackson@ximian.com>
1766
1767         * Form.cs: Property is 2.0 only
1768         * PrintDialog.cs: Signature fix.
1769
1770 2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
1771
1772         * TextControl.cs: 
1773           - No longer artificially moves text 2 pixels down (now that we have
1774             borders this is no longer needed)
1775           - Added calcs for left, hanging and right indent
1776
1777 2005-11-23  Mike Kestner  <mkestner@novell.com>
1778
1779         * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
1780
1781 2005-11-30  Jackson Harper  <jackson@ximian.com>
1782
1783         * MdiChildContext.cs: Set the cloned menus forms, as these don't
1784         get cloned as part of CloneMenu ().
1785         * Menu.cs: Make sure the parent of the items get set correctly
1786         when they are added.  And the owners are notified of the changes.
1787         * Form.cs: Create an ActiveMenu property, so that when MDI is used
1788         we can change the menu being displayed/handled by the form without
1789         changing the menu assosciated with the form.
1790         - Don't let Mdi children draw/handle menus.
1791         
1792 2005-11-30  Jackson Harper  <jackson@ximian.com>
1793
1794         * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
1795         a MenuChanged event. Just to make the API a little more
1796         consistent.
1797         * MainMenu.cs:
1798         * MenuItem.cs: Use the new OnMenuChanged
1799         * MdiChildContext.cs: Handle menu merging.
1800         * Form.cs: Implement MergedMenu.
1801         
1802 2005-11-30  Jackson Harper  <jackson@ximian.com>
1803
1804         * Menu.cs: We were misusing Add. Add goes behind the specified
1805         index according to the docs, and does not replace the specified
1806         index. So I added an Insert method.
1807
1808 2005-11-30  Peter Dennis Bartok  <pbartok@novell.com>
1809
1810         * TextBoxBase.cs:  Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
1811           Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
1812           is for Jackson
1813         * RichTextBox.cs: Added calls to base for DnD events
1814
1815 2005-11-28  Peter Dennis Bartok  <pbartok@novell.com>
1816
1817         * TextControl.cs:
1818           - Fixed drag-selection related crash; style fixes
1819           - Implemented undo class
1820             o Implemented method to capture document state for specified
1821               range in document tree
1822             o Implemented method to restore captured document state
1823             o Implemented cursor tracking
1824             o Implemented basic undo stack
1825           - Added undo cursor tracking to methods altering cursor location
1826           - Added undo tracking to selection deletion (still missing
1827             other text-altering hookups)
1828         * RichTextBox.cs:
1829           - Added SelectionLength property
1830           - Implemented CanPaste()
1831           - Implemented Paste()
1832           - Added missing protected methods
1833           - Fixed RTF->Document conversion; now uses font index 0 and color 
1834             index 0 as the default font for the parsed text
1835           - Fixed RTF<->Document font size translation
1836           - Fixed RTF generation, now properly handles cross-tag boundaries
1837             for single line selection
1838           - No longer always appends blank line to generated RTF
1839           - Removed TODOs
1840           - Added missing attributes
1841           - Hooked up undo-related methods
1842         * TextBoxBase.cs:
1843           - Implemented Copy()
1844           - Implemented Paste()
1845           - Implemented Cut()
1846           - Fixed caret mis-behaviour on backspace across line-boundaries
1847
1848 2005-11-29  Jackson Harper  <jackson@ximian.com>
1849
1850         * MdiClient.cs: Add a method for activating mdi children. Very
1851         basic right now. I imagine someday it might need more girth.
1852         * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
1853         children windows names are added to the menu item.
1854         * ThemeWin32Classic.cs: Draw the arrow if the item is an
1855         mdilist. This happens regardless of whether or not there are any
1856         mdi windows to see in the list, and according to my tests happens
1857         before the items are even added. Also happens if there isn't even
1858         an mdi client to get windows from.
1859
1860 2005-11-29  Alexander Olk  <alex.olk@googlemail.com>
1861
1862         * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
1863         * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
1864
1865 2005-11-29  Jordi Mas i Hernandez <jordimash@gmail.com>
1866
1867         * DataGridTableStyle.cs:
1868           - Create always the styles for the missing columns even if they are
1869             provided by the user (not default table style)
1870         * DataGrid.cs:
1871           - Fixes bug 76770
1872           - Fixes SetDataBinding (always re-attach source)
1873           - Fixes SetNewDataSource (only clear styles if they are not for 
1874             this source)
1875          -  Expands OnTableStylesCollectionChanged to handle style refresh 
1876             and remove properly
1877
1878 2005-11-29  Jackson Harper  <jackson@ximian.com>
1879
1880         * FileDialog.cs: Implement missing bits, remove some dead
1881         code.
1882         * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
1883         creation of the panel so that the options set on the dialog are
1884         seen when the panel is created.
1885         * TreeView.cs: raise a click when items are clicked.
1886         
1887 2005-11-29  Jackson Harper  <jackson@ximian.com>
1888
1889         * MdiClient.cs: Pass some signature methods through to base.
1890
1891 2005-11-28  Jackson Harper  <jackson@ximian.com>
1892
1893         * ListView.cs: Raise the click event when items are clicked.
1894
1895 2005-11-28  Jackson Harper  <jackson@ximian.com>
1896
1897         * MdiClient.cs: Make this algorithm even more beautiful.  And fix
1898         a nullref.
1899
1900 2005-11-27  Alexander Olk  <alex.olk@googlemail.com>
1901
1902         * ThemeNice.cs: - Removed 1 pixel bitmaps
1903           - Use SmoothingMode.AntiAlias where it makes sense
1904             (ScrollButton arrow for example)
1905           - Enhanced Button focus drawing
1906           - Fixed ComboBox drawing (no artefacts anymore, focus
1907             rectangle is back again, reduced size of ComboButton, etc.)
1908           - Fixed RadioButton focus drawing for Appearence.Button
1909           - Slight ScrollButton redesign
1910           - Some LinearGradientBrush size fixes
1911           - GroupBoxes have now rounded edges
1912           - Fixed StatusBar drawing
1913
1914 2005-11-25  Alexander Olk  <alex.olk@googlemail.com>
1915
1916         * ThemeNice.cs: - Remove dead code
1917           - use correct background colors for menus, etc.
1918           - Fake pixel drawing with 1 pixel bitmaps
1919
1920 2005-11-24  Jackson Harper  <jackson@ximian.com>
1921
1922         * MdiClient.cs: Size the scrollbars when resizing the window.
1923         - Resize the maximized windows when the client is resized
1924         * Form.cs: Make the child context available
1925         
1926 2005-11-23  Jackson Harper  <jackson@ximian.com>
1927
1928         * MdiChildContext.cs: Don't size windows if they are maximized.
1929
1930 2005-11-23  Mike Kestner  <mkestner@novell.com>
1931
1932         * ContextMenu.cs: use MenuTracker.
1933         * Control.cs: remove menu handle usage.
1934         * Form.cs: remove menu handle usage.
1935         * Hwnd.cs: remove menu handle usage.
1936         * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
1937         motion and clicks to the new Tracker handlers.
1938         * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
1939         and handle usage.
1940         * MenuAPI.cs: refactored to combine popup and menubar event handling.
1941         Killed the MENU and MENUITEM data types and associated collections
1942         since we now keep the info on Menu and MenuItem. Expanded TRACKER into
1943         MenuTracker class that exposes the leftovers from the old MenuAPI
1944         static methods. Restructured Capture handling so that only one grab is
1945         done for the entire menu hierarchy instead of handing off grabs to
1946         submenus. Tracker now has an invisible control to Capture when active.
1947         * MenuItem.cs: add sizing accessors, kill Create
1948         and handle usage.
1949         * Theme.cs: remove menu handle and MENU(ITEM) usage.
1950         * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
1951         MENU(ITEM). remove menu handle usage, use Menu directly.
1952         * XplatUIDriver.cs: remove menu handle usage.
1953         * XplatUIOSX.cs: remove menu handle usage.
1954         * XplatUIWin32.cs: remove menu handle usage.
1955         * XplatUIX11.cs: remove menu handle usage.
1956
1957 2005-11-22  Jackson Harper  <jackson@ximian.com>
1958
1959         * Hwnd.cs: Don't compute the menu size for
1960         DefaultClientRectangle.
1961         - Reenable menu sizes being computed for GetClienRectangle.
1962         * Form.cs: Remove comment of trechery
1963         
1964 2005-11-22  Jackson Harper  <jackson@ximian.com>
1965
1966         * Hwnd.cs: The adjustments for the menu bar are made when it is
1967         attached to the form.
1968
1969 2005-11-19  Jackson Harper  <jackson@ximian.com>
1970
1971         * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
1972         (just like on windows).
1973
1974 2005-11-19  Jackson Harper  <jackson@ximian.com>
1975
1976         * MdiChildContext.cs: Handle all the buttons ourselves. We can't
1977         use real buttons anymore because they are in non client area. The
1978         one TODO here is that I need to somehow invalidate a section of
1979         the non client area.
1980
1981 2005-11-18  Jackson Harper  <jackson@ximian.com>
1982
1983         * Control.cs: Put the enum check back in now that MDI doesnt have
1984         to use this to set border styles.
1985         * Form.cs: Only set mdi child windows borders if the handle has
1986         been created.
1987         * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
1988         this directly on to the driver.
1989         - Get the move start position before adjusting for the titlebar
1990         height, this fixes the windows "skipping" when they are first
1991         moved.
1992
1993 2005-11-18  Jackson Harper  <jackson@ximian.com>
1994
1995         * XplatUIX11.cs: Just compute the mdi borders separately as they
1996         don't totally match up with normal form borders.
1997
1998 2005-11-18  Jackson Harper  <jackson@ximian.com>
1999
2000         * Control.cs: Set WS_ styles for borders, so that the driver does
2001         not have to retrieve the control instance to figure out what kind
2002         of borders it should have.
2003         * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
2004         driver can know its an mdi child easily.
2005         * XplatUIX11.cs: Get the border styles and whether the window is
2006         MDI from the Styles and ExStyles params instead of having to get a
2007         control. This prevents a chicken and egg problem.       
2008
2009 2005-11-18  Jackson Harper  <jackson@ximian.com>
2010
2011         * MdiClient.cs: Fix typo so scrollbars show up correctly.
2012
2013 2005-11-18  Jackson Harper  <jackson@ximian.com>
2014
2015         * MdiClient.cs: Calculate when to add and remove scrollbars
2016         correctly.
2017         * MdiChildContext.cs: Adjust the y position to take the titlebar
2018         into account.
2019         - No height for FormBorderStyle.None
2020
2021 2005-11-18  Jackson Harper  <jackson@ximian.com>
2022
2023         * Control.cs: Allow non enum values to be used for
2024         InternalBorderStyle.  MDI does this to set a special border style.
2025         - New utility methods for converting points to/from client coords
2026         - Add the newly created control to the Controls collection before
2027         updating its style. This way UpdateStyle can walk the control
2028         heirarchy to find the control if needed.
2029         so I don't need to create a new Point object all the time.
2030         * Form.cs: Let MDI windows handle their border styles.
2031         - Set styles on MDI windows so the correct title style is derived.
2032         * MdiChildContext.cs: Move all the painting and window handling
2033         into the non client area.
2034         - Use correct sizing and put correct buttons on frames based on
2035         the FormBorderStyle.
2036         - Notify the mdi client about scrolling
2037         - Need to handle the buttons ourselves now, because they are all
2038         in non client areas and we can't add controls there.
2039         * MdiClient.cs: Halfway to scrolling, this implementation is
2040         somewhat broken though, we need to check to make sure other
2041         windows aren't causing scrolling before removing the bars. Also
2042         the bars need to be drawn on top, maybe I can switch implicit
2043         controls to be on top.
2044         * Hwnd.cs: caption_height and tool_caption_height are now
2045         properties of an hwnd, this way they can be set by the driver
2046         based on the type of window they are.  In X11 the window manager
2047         handles the decorations so caption_height is zero unless its an
2048         MDI window.
2049         - Add 3 pixel borders for MDI windows (0xFFFF).
2050         - Get rid of some code duplication, have DefaultClientRectanle
2051         just call GetClientRectangle.
2052         * XplatUIX11.cs: Pass caption_height and tool_caption_height to
2053         Hwnd now.
2054         - Set border styles differently for mdi windows.
2055         * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
2056         Hwnd now.
2057         
2058 2005-11-15  Mike Kestner  <mkestner@novell.com>
2059
2060         * Menu.cs: when adding an item to the collection, if item is already 
2061         parented, remove it from the parent.
2062
2063 2005-11-13  Alexander Olk  <alex.olk@googlemail.com>
2064
2065         * X11DesktopColors.cs: Added KDE support
2066
2067 2005-11-11  Peter Dennis Bartok  <pbartok@novell.com>
2068
2069         * XplatUIWin32.cs: 
2070           - Clipboard methods now can translate Rtf format
2071           - No longer removes clipboard contents whenever a new format is added
2072             to allow placing multiple formats on the clipboard
2073         * Clipboard.cs: Clipboard now supports getting a IDataObject and
2074           will place all formats contained in it onto the clipboard. Also
2075           now cleans the clipboard before placing a new object onto it
2076         * RichTextBox.cs:
2077           - Implemented set_Rtf
2078           - Implemented set_SelectedRtf
2079           - Created InsertRTFFromStream() method to allow single code base
2080             for all properties and methods that insert RTF into document
2081           - Removed debug output
2082         * TextControl.cs:
2083           - Fixed Delete(int) to fix up line numbers
2084           - Fixed ReplaceSelection to combine start and end line
2085           - Fixed serious DeleteChars bug that would leave the document tree
2086             broken
2087           - Improved DumpTree with several logic checks to detect broken
2088             document trees
2089           - Removed debug lines
2090           - Fixed Caret.WordForward/WordBack moving code, now always also 
2091             updates caret.tag (fixes crash when word-selecting across tag
2092             boundaries via keyboard)
2093           - Added Insert() method for inserting multiline text into documents
2094           - Fixed DeleteChars() calculation errors that would cause a broken
2095             tag chain with multiple tag lines
2096           - DeleteChars() no longer crashes on multi-tag lines if not all tags
2097           - Split() no longer moves caret if split is at caret location
2098           - ReplaceSelection() now updates the cursor and re-displays it
2099           - ReplaceSelection() now uses new Insert() method to avoid code
2100             duplication
2101           - FormatText() can now handle formatting partial lines
2102         * TextBoxBase.cs:
2103           - Append now uses new TextControl.Insert() method (this avoids 
2104             duplicate code)
2105           - Implemented Ctrl-X (Cut) (
2106           - Implemented Ctrl-C (Copy)
2107           - Implemented Ctrl-V (Paste) (Still some bugs related to screen 
2108             regeneration when pasting text; roundtripping Copy&Paste within
2109             edit control still fails due to some calculation bugs in GenerateRTF)
2110           - The Delete key will now remove the current selection if it is visible
2111         * TextBox.cs: Removed debug lines
2112         * XplatUI.cs: Trigger initialization of DataFormats (which requires the
2113           driver to be initialized and can't therefore be done via a static ctor)
2114
2115 2005-11-10  Peter Dennis Bartok  <pbartok@novell.com>
2116
2117         * TextControl.cs: Added backend code for finding char arrays and strings
2118         * TextBoxBase.cs:
2119           - Added mouse wheel scroll support
2120           - Added support for VScroll and HScroll events
2121         * RichTextBox.cs:
2122           - Implemented all seven Find() variants
2123           - Implemented GetCharFromPosition()
2124           - Implemented GetCharIndexFromPosition()
2125           - Implemented GetLineFromIndex()
2126           - Implemented GetPositionFromCharIndex();
2127           - Implemented SaveFile for PlainText and UnicodeText
2128           - Fixed set_Font, now setting a new font applies that font to
2129             the whole document
2130           - Implemented generic Document to RTF converter
2131           - Implemented SaveFile for RichText format (still missing unicode
2132             conversion for non-ansi chars)
2133           - Implemented get_Rtf
2134           - Implemented get_SelectedRtf
2135
2136 2005-11-09  Peter Dennis Bartok  <pbartok@novell.com>
2137
2138         * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
2139           to allow any captures to be released before triggering OnClick. This
2140           way a click handler may capture the mouse without interference.
2141         * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
2142           This way we send them even though X may not allow a grab (if the window
2143           isn't visible, for example)
2144
2145 2005-11-08  Pedro Martinez Julia <pedromj@gmail.com>
2146
2147         * DataGridViewRowEventArgs.cs: DataGridView implementation
2148         * DataGridViewElement.cs: DataGridView implementation
2149         * DataGridViewComboBoxCell.cs: DataGridView implementation
2150         * DataGridViewDataErrorContexts.cs: DataGridView implementation
2151         * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
2152         * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
2153         * ImageLayout.cs: DataGridView implementation
2154         * DataGridViewComboBoxColumn.cs: DataGridView implementation
2155         * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
2156         * DataGridViewSelectionMode.cs: DataGridView implementation
2157         * IDataGridViewEditingControl.cs: DataGridView implementation
2158         * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
2159         * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
2160         * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
2161         * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
2162         * DataGridViewColumnSortMode.cs: DataGridView implementation
2163         * DataGridView.cs: DataGridView implementation
2164         * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
2165         * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
2166         * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
2167         * Padding.cs: DataGridView implementation
2168         * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
2169         * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
2170         * DataGridViewRowEventHandler.cs: DataGridView implementation
2171         * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
2172         * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
2173         * DataGridViewButtonCell.cs: DataGridView implementation
2174         * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
2175         * DataGridViewEditMode.cs: DataGridView implementation
2176         * DataGridViewCellValueEventArgs.cs: DataGridView implementation
2177         * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
2178         * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
2179         * DataGridViewCheckBoxColumn.cs: DataGridView implementation
2180         * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
2181         * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
2182         * DataGridViewCellEventHandler.cs: DataGridView implementation
2183         * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
2184         * DataGridViewCellStyleConverter.cs: DataGridView implementation
2185         * DataGridViewSelectedRowCollection.cs: DataGridView implementation
2186         * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
2187         * DataGridViewColumnEventArgs.cs: DataGridView implementation
2188         * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
2189         * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
2190         * QuestionEventArgs.cs: DataGridView implementation
2191         * IDataGridViewEditingCell.cs: DataGridView implementation
2192         * DataGridViewTriState.cs: DataGridView implementation
2193         * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
2194         * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
2195         * DataGridViewColumnCollection.cs: DataGridView implementation
2196         * DataGridViewCellValueEventHandler.cs: DataGridView implementation
2197         * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
2198         * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
2199         * DataGridViewColumn.cs: DataGridView implementation
2200         * DataGridViewCellBorderStyle.cs: DataGridView implementation
2201         * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
2202         * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
2203         * DataGridViewRow.cs: DataGridView implementation
2204         * DataGridViewImageCellLayout.cs: DataGridView implementation
2205         * DataGridViewImageCell.cs: DataGridView implementation
2206         * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
2207         * DataGridViewCheckBoxCell.cs: DataGridView implementation
2208         * DataGridViewHeaderCell.cs: DataGridView implementation
2209         * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
2210         * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
2211         * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
2212         * DataGridViewTextBoxColumn.cs: DataGridView implementation
2213         * QuestionEventHandler.cs: DataGridView implementation
2214         * DataGridViewCellStyleScopes.cs: DataGridView implementation
2215         * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
2216         * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
2217         * DataGridViewCell.cs: DataGridView implementation
2218         * DataGridViewCellEventArgs.cs: DataGridView implementation
2219         * DataGridViewClipboardCopyMode.cs: DataGridView implementation
2220         * DataGridViewCellStyle.cs: DataGridView implementation
2221         * DataGridViewColumnHeaderCell.cs: DataGridView implementation
2222         * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
2223         * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
2224         * TextFormatFlags.cs: DataGridView implementation
2225         * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
2226         * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
2227         * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
2228         * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
2229         * DataGridViewButtonColumn.cs: DataGridView implementation
2230         * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
2231         * HandledMouseEventArgs.cs: DataGridView implementation
2232         * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
2233         * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
2234         * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
2235         * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
2236         * DataGridViewRowCollection.cs: DataGridView implementation
2237         * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
2238         * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
2239         * DataGridViewHitTestType.cs: DataGridView implementation
2240         * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
2241         * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
2242         * DataGridViewColumnEventHandler.cs: DataGridView implementation
2243         * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
2244         * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
2245         * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
2246         * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
2247         * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
2248         * DataGridViewContentAlignment.cs: DataGridView implementation
2249         * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
2250         * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
2251         * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
2252         * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
2253         * DataGridViewPaintParts.cs: DataGridView implementation
2254         * DataGridViewCellCollection.cs: DataGridView implementation
2255         * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
2256         * DataGridViewImageColumn.cs: DataGridView implementation
2257         * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
2258         * DataGridViewElementStates.cs: DataGridView implementation
2259         * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
2260         * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
2261         * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
2262         * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
2263         * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
2264         * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
2265         * DataGridViewRowHeaderCell.cs: DataGridView implementation
2266         * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
2267         * DataGridViewTextBoxCell.cs: DataGridView implementation
2268         * DataGridViewBand.cs: DataGridView implementation
2269         * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
2270         * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
2271         * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
2272         * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
2273         * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
2274         * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
2275         * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
2276         * DataGridViewSelectedCellCollection.cs: DataGridView implementation
2277         * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
2278         * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
2279         * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
2280
2281 2005-11-08  Peter Dennis Bartok  <pbartok@novell.com>
2282
2283         * ThemeWin32Classic.cs: 
2284           - Draw the outside focus rectangle around buttons
2285           - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
2286             doesn't use end caps for every dash of a line anymore. This
2287             workaround ignores the forecolor.
2288
2289 2005-11-08  Kornél Pál  <kornelpal@hotmail.com>
2290
2291         * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
2292           endian safe.
2293
2294 2005-11-07  Jackson Harper  <jackson@ximian.com>
2295
2296         * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
2297
2298 2005-11-07  Jackson Harper  <jackson@ximian.com>
2299
2300         * ScrollableControl.cs: Calculate the maximum and change vars
2301         (more) correctly so that scrollbars appear as a sensible size.
2302
2303 2005-11-04  Jackson Harper  <jackson@ximian.com>
2304
2305         * TreeNodeCollection.cs: Refresh when nodes are cleared from the
2306         collection.
2307         * TreeView.cs: When the tree is sorted null out the top_node so
2308         that it is recalculated.
2309         - Use dotted lines instead of dashed lines to match MS better.
2310
2311 2005-11-04  Jordi Mas i Hernandez <jordimash@gmail.com>
2312
2313         * ListView.cs: 
2314           - Implements key search for items. Useful when browsing files with FileDialog
2315           - When changing view mode or when clear the items reset scrollbar positions
2316
2317 2005-11-04  Jackson Harper  <jackson@ximian.com>
2318
2319         * CurrencyManager.cs: Implement the MetaDataChanged event, the
2320         Reset method, and the CheckEmpty. CheckEmpty is just a total guess
2321         as to what the method may do as there is no real way of creating a
2322         derived CurrencyManager and calling the method. 
2323
2324 2005-11-03  Jackson Harper  <jackson@ximian.com>
2325
2326         * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
2327         * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
2328         method which seems to just be used internally to refresh the tabs.
2329
2330 2005-11-03  Jackson Harper  <jackson@ximian.com>
2331
2332         * TabControl.cs: Implement the remove method. Fix some broken
2333         comments.
2334
2335 2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
2336
2337         * DateTimePicker.cs:
2338           - Added missing DateTimePickerAccessibleObject class
2339           - Added missing events
2340           - Added OnFontChanged method
2341         * Form.cs: Added missing attributes
2342         * TreeView.cs: Added missing attributes
2343
2344 2005-11-03  Peter Dennis Bartok  <pbartok@novell.com> 
2345
2346         * GridItemCollection.cs: Fix signatures
2347
2348 2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
2349
2350         * XplatUI.cs: Updated build rev/date
2351         * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs, 
2352           DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
2353         * Application.cs: Trigger context-specific ExitThread events
2354
2355 2005-11-03  Jackson Harper  <jackson@ximian.com>
2356
2357         * Menu.cs:
2358         * MainMenu.cs:
2359         * GridTableStylesCollection.cs:
2360         * Timer.cs:
2361         * TabPage.cs:
2362         * HelpProvider.cs:
2363         * StatusBar.cs:
2364         * MonthCalendar.cs: Signature fixes
2365
2366 2005-11-03  Jackson Harper  <jackson@ximian.com>
2367
2368         * TreeNodeCollection.cs: Remove should not be virtual.
2369         * TreeView.cs: Implement the last of the missing methods.
2370
2371 2005-11-03  Jackson Harper  <jackson@ximian.com>
2372
2373         * TreeNodeConverter.cs: Implement to get off my class-status back.
2374
2375 2005-11-03  Jackson Harper  <jackson@ximian.com>
2376
2377         * TreeView.cs: Hookup the bits for drag and drop.
2378         * TreeNode.cs: Don't cache the tree_view or index anymore, now
2379         that nodes can be moved from tree to tree easily this just causes
2380         all sorts of problems.
2381         * TreeNodeCollection: Don't need to give treenodes an index and
2382         treeview anymore when they are added, these are computed on the
2383         fly. Also make sure to remove a node before its added.
2384
2385 2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
2386
2387         * TextControl.cs:
2388           - Added CaretSelection enum
2389           - Added comparison methods to Marker struct, makes selection code
2390             more readable
2391           - Added SelectionStart and SelectionEnd as 'moveable' location for
2392             the CaretDirection enum and handler
2393           - Added selection_prev variable to track optimized invalidation for
2394             word and line selection
2395           - Added SelectionVisible property (returns true if there is a valid 
2396             selection)
2397           - Switched CaretHasFocus to only display the caret if there is no
2398             visible selection
2399           - Avoiding StringBuilder.ToString to retrieve a single char, instead
2400             using the direct character index; should be much faster
2401           - Added various conditional debug statements
2402           - Fixed invalidation calculation for selection ranges
2403           - Added ExpandSelection() method to support word and line selection
2404           - Switched SetSelectionToCaret to use new Marker compare overloads
2405           - Added central IsWordSeparator() method to determine word 
2406             separators/whitespace and FindWordSeparator() to streamline common
2407             usage of IsWordSeparator()
2408         * TextBoxBase.cs:
2409           - Removed unneeded grabbed variable, it was just mirroring
2410             Control.Capture
2411           - No longer firing OnTextChanged event when Text setter is called,
2412             since the base will fire the event for us
2413           - Added handling of Ctrl-Up/Down selection
2414           - Added handling of Shift-Cursorkey selection
2415           - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
2416             words
2417           - Added handling of Shift and Ctrl-Shift-Home/End selection
2418           - Removed some debug output
2419           - Added handling for single/double/tripple-click to place caret/
2420             select word/select line respectively (Fixes bug #76031)
2421           - Added support for drag expansion of word/line selection
2422         * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
2423           current selection
2424
2425 2005-11-02  Jackson Harper  <jackson@ximian.com>
2426
2427         * X11Dnd.cs: If the drag is going to and from a MWF window just
2428         copy the data instead of sending it out through the X Selection
2429         mechanism.
2430
2431 2005-11-02  Jackson Harper  <jackson@ximian.com>
2432
2433         * X11Dnd.cs:
2434         * XplatUIX11.cs: When in a drag we don't want motion notify
2435         messages to get passed on to the other controls. This prevents
2436         mouse move messages from showing up in the drag source.
2437
2438 2005-11-02  Jackson Harper  <jackson@ximian.com>
2439
2440         * X11Dnd.cs: Remove unneeded call to XAllowEvents.  Make sure that
2441         the correct button is release to end a drag.
2442         * XplatUIX11.cs: Make the button state internal so the drag system
2443         can access it.  Dragging needs to know about all button releases,
2444         not just left button.
2445
2446 2005-11-02  Miguel de Icaza  <miguel@novell.com>
2447
2448         * Form.cs (Icon): If the icon is null, reset the icon to the
2449         default value. 
2450
2451         * Cursor.cs: When writing the AND-mask bitmap do not include the
2452         number of colors, but hardcode those to two (black and white),
2453         fixes the loading of color cursors (Paint Dot Net).
2454
2455         * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
2456         turn off autoscaling.
2457
2458         * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
2459
2460 2005-11-02  Jackson Harper  <jackson@ximian.com>
2461
2462         * X11Dnd.cs: Make sure to send a status message if the pointer
2463         enters a control that can not accept a drop, otherwise the cursor
2464         isn't updated correctly. Also tried to compress the lines of code
2465         a bit.
2466
2467 2005-11-02  Jackson Harper  <jackson@ximian.com>
2468
2469         * X11Dnd.cs: Change cursors based on drag action. Also attempt to
2470         set actions correctly.  This isn't perfect as XDND and win32 have
2471         some differences on how you allow actions. I'll clear this up by
2472         adding a path for drag from MWF to MWF windows.
2473         * XplatUIX11.cs: Hook into the dnd system.
2474
2475 2005-11-02  Jordi Mas i Hernandez <jmas@softcatala.org>
2476
2477         * ListView.cs: Fixes scroll bar visibility. Hide them if they were
2478         previously shown but they are no longer need it. Very obvious when 
2479         browsing files with FileDialog.
2480
2481 2005-11-01  Peter Dennis Bartok  <pbartok@novell.com>
2482
2483         * Control.cs: We always need to call OnPaintBackground. We pretty much
2484           ignore AllPaintingInWmPaint and always do the painting there, whether 
2485           it's set or not, since we always ignore the WM_ERASEBKGND message 
2486           (which we don't generate on X11). This fixes #76616.
2487         * Panel.cs: Removed unneeded background painting. This happens properly
2488           in Control.cs already
2489
2490 2005-10-31  Mike Kestner  <mkestner@novell.com>
2491
2492         * Menu.cs: Add items to collection before setting their index.
2493         * MenuItem.cs : add range checking with ArgumentException like MS.
2494         [Fixes #76510]
2495
2496 2005-10-31  Jackson Harper  <jackson@ximian.com>
2497
2498         * ListBox.cs: Invalidate if the area is visible at all not just
2499         contained in the visible rect. Fixes unselection of semi visible
2500         items.
2501
2502 2005-10-31  Jackson Harper  <jackson@ximian.com>
2503
2504         * Control.cs: Consistently name the dnd methods. Make them
2505         internal so we can override them to match some MS behavoir
2506         internally.
2507         * Win32DnD.cs: Use the new consistent names.
2508
2509 2005-10-31  Jackson Harper  <jackson@ximian.com>
2510
2511         * TreeView.cs: Don't draw the selected node when we lose focus.
2512
2513 2005-10-31  Jackson Harper  <jackson@ximian.com>
2514
2515         * X11Dnd.cs: We still need to reset the state even though a full
2516         reset isn't being done, otherwise status's still get sent all over
2517         the place.
2518
2519 2005-10-31  Jackson Harper  <jackson@ximian.com>
2520
2521         * Control.cs: Make the dnd_aware flag internal so the dnd
2522         subsystem can check it. Catch exceptions thrown in dnd handlers to
2523         match MS behavoir.
2524         * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
2525         * X11Dnd.cs: Handle null data in the converters. Set the XDND
2526         version when sending a XdndEnter. Use the control/hwnd dnd_aware
2527         flags to reduce the number of dnd enters/status's sent.
2528
2529 2005-10-31  Jackson Harper  <jackson@ximian.com>
2530
2531         * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
2532
2533 2005-10-31  Jordi Mas i Hernandez <jordi@ximian.com>
2534
2535         * PictureBox.cs: Fixes 76512
2536
2537 2005-10-28  Jackson Harper  <jackson@ximian.com>
2538
2539         * X11Dnd.cs: Early implementation to support winforms being a drag
2540         source for data on X11. Also restructured the converters so they
2541         can go both ways now.
2542         * XplatUIX11.cs: Tie ins to the the Dnd stuff.
2543         
2544 2005-10-27  Peter Dennis Bartok  <pbartok@novell.com>
2545
2546         * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
2547           clipboard requests
2548
2549 2005-10-27  Jackson Harper  <jackson@ximian.com>
2550
2551         * TreeNode.cs: Implement serialization so my DnD examples will work.
2552
2553 2005-10-24  Kornél Pál  <kornelpal@hotmail.com>
2554
2555         * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
2556           TreeView.cs: Don't dispose objects that are not owned.
2557           
2558 2005-10-24  Peter Dennis Bartok  <pbartok@novell.com>
2559
2560         * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
2561           should retrieve the current cursor and report that, but XplatUI
2562           doesn't (yet) have an interface for that (and I'm not sure I even
2563           can, on X11)
2564         * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
2565           until any message loop processing is done (and the WM_SETCURSOR
2566           replaces the cursor to the proper one)
2567         * XplatUIX11.cs: 
2568           - Fixed override behaviour, we can't set the cursor globally on X11, 
2569             just for our windows.
2570           - Invalidating the System.Drawing X11 display handle when we are
2571             shutting down
2572         * Control.cs: Fix to make csc happy
2573
2574 2005-10-23  Peter Dennis Bartok  <pbartok@novell.com>
2575
2576         * TextBoxBase.cs: 
2577           - get_Text: Add last line (without trailing newline) to returned
2578             value (Fixes 76212)
2579           - get_TextLength: Count last line in returned length
2580           - ToString: Call Text property instead of duplicating code
2581
2582 2005-10-23  Kornél Pál  <kornelpal@hotmail.com>
2583
2584         * ImageList.cs: Dispose ImageAttributes objects.
2585
2586 2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
2587
2588         * ImageList.cs: Use attribute constructors with less arguments where
2589           possible.
2590
2591 2005-10-22  Kornél Pál  <kornelpal@hotmail.com>
2592
2593         * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
2594           Use typeof instead of strings when assembly is referenced. Added
2595           some more comments.
2596
2597 2005-10-21  Jackson Harper  <jackson@ximian.com>
2598
2599         * ListView.cs: Raise a double click event. Also tried to somewhat
2600         fix when the selectedindexchanged event is raised. Its still
2601         broken though.
2602
2603 2005-10-21  Jackson Harper  <jackson@ximian.com>
2604
2605         * TreeView.cs: New method to invalidate the plus minus area of a
2606         node without invalidating the whole node (maybe this can be used
2607         in some more places).
2608         * TreeNodeCollection.cs: When adding to an empty node we need to
2609         invalidate its plus minus area so the little block shows up.
2610         
2611 2005-10-21  Jackson Harper  <jackson@ximian.com>
2612
2613         * TreeView.cs: Make sure that when we invalidate a node the bounds
2614         are big enough to cover the selected box and the focus
2615         rectangle. Use a different colour for the lines connecting nodes
2616         so they show up with all themes.
2617
2618 2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
2619
2620         * NativeWindow.cs: Don't call anything that could call into the driver,
2621           we might be on a different thread.
2622
2623 2005-10-21  Peter Dennis Bartok  <pbartok@novell.com> 
2624
2625         * Control.cs(Dispose): Since Dispose might run on a different thread,
2626           make sure that we call methods that could call into the driver via
2627           invoke, to avoid thread issues
2628
2629 2005-10-21  Peter Dennis Bartok  <pbartok@novell.com>
2630
2631         * XplatUI.cs: Removed finalizer
2632         * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
2633           not allowing to be called on the finalizer thread.
2634
2635 2005-10-21  Kornél Pál  <kornelpal@hotmail.com>
2636
2637         * ImageList.cs:
2638           - Reverted r51889 and r51891.
2639           - Added ImageListItem class that stores unmodified image items and image
2640             properties required to create list images until handle is created.
2641           - Added AddItem and moved image creation logic to AddItemInternal.
2642           - Added CreateHandle method that creates images based on unmodified items.
2643           - Added DestroyHandle that changes state to store unmodified items.
2644           - Add and AddStrip methods no more create handle.
2645           - ReduceColorDepth has no return value.
2646           - Dispose destroys handle.
2647           - Modified other methods to reflect the above changes.
2648           - Implemented key support.
2649           - Added profile 2.0 members and attributes.
2650           - Added private Reset and ShouldSerialize methods that provide the same
2651             behavior as MS.NET but the Visual Studio .NET designer seems to ignore
2652             them as they are private.
2653           - Added some more comments about implementation details.
2654
2655 2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
2656
2657         * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
2658
2659 2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
2660
2661         * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
2662
2663 2005-10-21  Jordi Mas i Hernandez <jordi@ximian.com>
2664
2665         * DataGridDrawingLogic.cs: Fixes column hit calcultation
2666         * DataGridColumnStyle.cs: Remove debug message
2667
2668 2005-10-20  Jackson Harper  <jackson@ximian.com>
2669
2670         * TreeView.cs: We can always get input keys regardless of whether
2671         or not editing is enabled. They are used for navigation.
2672
2673 2005-10-20  Jackson Harper  <jackson@ximian.com>
2674
2675         * TreeNode.cs: Use the viewport rect for determining if a node
2676         needs to be moved for visibility. Don't use Begin/End edit. This
2677         calls a full refresh when its done.
2678         * TreeView.cs: New SetBottom works correctly.  Make the viewport
2679         rect property internal so the treenodes can see it. When clicking
2680         on a node we need to ensure that its visible because it might just
2681         be partly visible when clicked.
2682
2683 2005-10-20  Jackson Harper  <jackson@ximian.com>
2684
2685         * TreeNodeCollection.cs: Remove debug code.
2686
2687 2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
2688
2689         * Datagrid.cs: Implements column sorting in Datagrid
2690         * DataGridColumnStyle.cs: Implements column sorting in Datagrid
2691
2692 2005-10-20  Jackson Harper  <jackson@ximian.com>
2693
2694         * TreeNodeCollection.cs: Remove items properly. Update the correct
2695         area after removing them.
2696
2697 2005-10-20  Jordi Mas i Hernandez <jordi@ximian.com>
2698
2699         * Datagrid.cs: Should not call base.OnPaintBackground
2700
2701 2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
2702
2703         * XplatUIX11.cs (GetMessage):
2704           - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
2705             window instead of client window
2706           - Now properly calculates NC_xBUTTONUP message coordinates
2707           - ScreenToMenu now properly calculates it's coordinates of whole 
2708             window, since menus are in the whole window, not in the client
2709             window
2710           - Added WholeToScreen coordinate translation method
2711
2712 2005-10-20  Peter Dennis Bartok  <pbartok@novell.com> 
2713
2714         * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
2715           want to return a message, loop back to the beginning of the function
2716           and grab the next real message to process instead.
2717
2718 2005-10-20  Peter Dennis Bartok  <pbartok@novell.com>
2719
2720         * Splitter.cs: Properly set limits if no filler control is used
2721
2722 2005-10-19  Jackson Harper  <jackson@ximian.com>
2723
2724         * ColorDialog.cs: Don't show the help button if it is not enabled
2725         instead of disabling it (this is what MS does). Don't create the
2726         panel until the dialog is run, otherwise the vars (such as
2727         ShowHelp) are not set yet.
2728
2729 2005-10-19  Jackson Harper  <jackson@ximian.com>
2730
2731         * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
2732         are reduced when adding nodes.
2733         * TreeNode.cs:
2734         * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
2735         tree.
2736         
2737 2005-10-19  Jackson Harper  <jackson@ximian.com>
2738
2739         * FolderBrowserDialog.cs: End editing our treeview so the window
2740         actually gets refreshed.
2741
2742 2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
2743
2744         * Control.cs: Fixed logic flip on when to call OnPaintBackground. 
2745           Obsoleted handling of WM_ERASEBKGND, now always draws our background
2746           inside of WM_PAINT
2747
2748 2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
2749
2750         * MenuAPI.cs: Returns after Hidding window
2751         * XplatUIX11.cs: Added TODO found while debugging menu issues
2752
2753 2005-10-18  Peter Dennis Bartok  <pbartok@novell.com>
2754
2755         * XplatUIX11.cs: Do not re-map the whole window when it's size
2756           becomes non-zero unless it's supposed to be actually visible
2757
2758 2005-10-18  Jackson Harper  <jackson@ximian.com>
2759
2760         * TreeView.cs: We don't need to keep a count anymore.
2761         * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
2762         use the Grow method.
2763
2764 2005-10-18  Jackson Harper  <jackson@ximian.com>
2765
2766         * TreeNodeCollection.cs: Insert is not supported on arrays, so
2767         implement it manually here.
2768
2769 2005-10-18  Jackson Harper  <jackson@ximian.com>
2770
2771         * ImageList.cs: Dont kill the list when the colour depth is
2772         changed, just change the colour depth of all the images.
2773         - Same goes for setting the image size. Just resize them all
2774         instead of killing the list softly.
2775
2776 2005-10-18  Jackson Harper  <jackson@ximian.com>
2777
2778         * Control.cs: Don't invalidate empty rectangles.
2779
2780 2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
2781
2782         * ListViewItem.cs:
2783           - Adds checked item to the Checked/Item lists (where empty before)
2784           - Do not add items to the Selected lists if they are already present
2785         * ListView.cs:
2786           - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
2787           - When deleting items make sure that we delete them for the Selected
2788           and Checked list also.
2789
2790 2005-10-18  Jordi Mas i Hernandez <jordi@ximian.com>
2791
2792         * Label.cs: Dispose objects no longer used
2793         * ThemeWin32Classic.cs: Dispose objects no longer used
2794
2795 2005-10-18  Jackson Harper  <jackson@ximian.com>
2796
2797         * TabControl.cs: Don't refresh the whole control when the tabs are
2798         scrolled, we just need to refresh the tab area.
2799
2800 2005-10-17  Jackson Harper  <jackson@ximian.com>
2801
2802         * XplatUIX11.cs: Compress code a little bit. Only calculate the
2803         after handle when we need it.
2804
2805 2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
2806
2807         * Control.cs: When the parent size changes, recalculate anchor 
2808           positions. Partial fix for #76462
2809
2810 2005-10-17  Peter Dennis Bartok  <pbartok@novell.com>
2811
2812         * ThemeWin32Classic.cs: Make sure the picturebox has it's background 
2813           drawn. Fixes #76462
2814
2815 2005-10-17  Jackson Harper  <jackson@ximian.com>
2816
2817         * MonthCalendar.cs: Don't create the numeric up down until our
2818         handle is created. Otherwise our handle is created in the
2819         constructor and we don't know if we are a WS_CHILD or WS_POPUP
2820         yet.
2821
2822 2005-10-17  Jackson Harper  <jackson@ximian.com>
2823
2824         * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
2825         correctly.
2826
2827 2005-10-17  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
2828         * TreeNode.cs : small logical fix (was using local var instead of field)
2829         
2830 2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
2831
2832         * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
2833
2834 2005-10-17  Jordi Mas i Hernandez <jordi@ximian.com>
2835
2836         * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
2837
2838 2005-10-16  Peter Dennis Bartok  <pbartok@novell.com> 
2839
2840         * Control.cs: 
2841           - Re-implemented anchoring code. My first version was really broken.
2842             This fixes bug #76033. Unlike the previous implementation we will
2843             no longer have round errors since all numbers are calculated from
2844             scratch every time. Removed various anchor-related obsolete vars.
2845           - InitLayout no longer causes layout event firing and layout to be 
2846             performed
2847
2848 2005-10-16  Jackson Harper  <jackson@ximian.com>
2849
2850         * Hwnd.cs: Compute invalid area correctly (fixes my last commit
2851         which was broken).
2852
2853 2005-10-16  Jackson Harper  <jackson@ximian.com>
2854
2855         * TabControl.cs: Remove debug code.
2856
2857 2005-10-16  Jackson Harper  <jackson@ximian.com>
2858
2859         * XEventQueue.cs: Increase the default queue size (very simple
2860         apps needed to grow the queue).
2861         * Hwnd.cs: No finalizer so we don't need to suppress
2862         finalization. Compute the invalid area manually so a new rectangle
2863         does not newto be created.
2864         * ScrollableControl.cs: Don't set any params (otherwise visibility
2865         isn't set correctly).
2866         * MdiChildContext.cs: New constructor takes the mdi parent so it
2867         doesn't have to be computed and avoids a crash on windows. Draw
2868         the window icon properly, and allow the text to be seen.
2869         * Form.cs: Use new MdiChildContext constructor. Make sure the
2870         child context isn't null in wndproc.
2871         * TabControl.cs: Don't set focus, this is muddling keyboard
2872         behavoir. Expand the tab rows when a window size increase will
2873         allow extra tabs to be seen. Don't allow tabs smaller than the
2874         width of a window to be scrolled out of view.
2875         * TreeNode.cs:
2876         * TreeView.cs: Use measure string to calculate a nodes width, the
2877         width is cached and only updated when the text or the font is
2878         changed. Don't check for expand/collapse clicks on the first level
2879         nodes if root lines are disabled.
2880         
2881 2005-10-16  Ritvik Mayank  <mritvik@novell.com>
2882
2883         * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
2884
2885 2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
2886
2887         * DataGridBoolColumn.cs: fixes warning
2888
2889 2005-10-16  Jordi Mas i Hernandez <jordi@ximian.com>
2890
2891         * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
2892         to match more to match more precisely the MS Net behavior
2893
2894 2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
2895
2896         * Hwnd.cs: Added field to track if window is mapped
2897         * XplatUIX11.cs: 
2898           - Unmap windows if they become 0-size, re-map when 
2899             they are >0 again; fixes #76035
2900           - Re-set our error handler after initializing X11Desktop
2901             to override any error handlers Gtk or whatever was called
2902             may have set.
2903
2904 2005-10-13  Peter Dennis Bartok  <pbartok@novell.com> 
2905
2906         * CheckedListBox.cs: Removed unused vars
2907         * ListView.cs: Fixed signatures
2908         * RichTextBox.cs: Removed unused vars
2909         * TextBoxBase.cs: Removed unused vars
2910         * XplatUIWin32.cs: Removed unused vars
2911         * XplatUIX11.cs: Removed unused vars
2912         * XplatUI.cs: Updated version and date to latest published
2913
2914 2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
2915
2916         * Cursor.cs: Added private .ctor to work around a bug in
2917           resourceset (Thanks to Geoff Norton for the help on this)
2918         * SplitterEventArgs.cs: Made fields accessible so we don't
2919           waste boatloads of objects and can reuse the same one
2920           in Splitter
2921         * XplatUIWin32.cs(DrawReversibleLine): Now also considers
2922           any captions and borders when generating screen coordinates
2923         * Splitter.cs: Reimplemented control, now fully complete, uses
2924           rubberband drawing, supports and obeys all properties, has
2925           proper cursors
2926
2927 2005-10-13  Miguel de Icaza  <miguel@novell.com>
2928
2929         * Form.cs (Form): Setup default values for autoscale and
2930         autoscale_base_size;  Make these instance variables, not static
2931         variables. 
2932
2933         (OnLoad): on the first load, adjust the size of the form.
2934
2935 2005-10-13  Peter Dennis Bartok  <pbartok@novell.com>
2936
2937         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added 
2938           width argument to DrawReversibleRectangle()
2939         * XplatUIWin32.cs, XplatUIX11.cs: 
2940           - Implemented width for DrawReversibleRectangle()
2941           - Added logic to DrawReversibleRectangle that recognizes a zero
2942             width or height and only draws a line in that situation
2943         
2944 2005-10-12  Peter Dennis Bartok  <pbartok@novell.com> 
2945
2946         * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
2947         * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
2948         * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
2949           method (it uses our FosterParent window to get a graphics context)
2950
2951 2005-10-12  Peter Dennis Bartok  <pbartok@novell.com>
2952
2953         * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground 
2954           and SetWindowBackground methods
2955         * Control.cs:
2956           - Setting proper ControlStyles
2957           - We no longer call XplatUI.SetWindowBackground and XplatUI.
2958             EraseWindowBackground, instead we draw the window background
2959             ourselves in PaintControlBackground. This behaviour is
2960             required to match MS, where, when OnPaintBackground is not
2961             called, the background is not drawn.
2962           - Removed unneeded Refresh() in set_Text
2963         * Hwnd.cs: Dropped the ErasePending support. No longer needed
2964         * XplatUIX11.cs:
2965           - Created DeriveStyles method to translate from CreateParams to
2966             FormBorderStyle and TitleStyle, also handles BorderStyle (which
2967             matches FormBorderStyle enum values)
2968           - Consolidated SetHwndStyles and CalculateWindowRect border/title
2969             style calculations into single DeriveStyles method
2970           - Fixed CreateWindow to (finally) use Gravity. This prevents X11
2971             from redrawing the whole window on any resize or expose.
2972           - Fixed CreateWindow usage of SetWindowValuemask. Before not
2973             all styles were applied to our whole/client window appropriately
2974           - Removed EraseWindowBackground() and SetWindowBackground() methods
2975           - Removed handling of WM_ERASEBKGND message from DefWndProc, we
2976             no longer clear/redraw the background through X
2977           - Removed handling of erase_pending bit, we have no use for it (or
2978             so it seems)
2979         * XplatUIOSX.cs:
2980           - Removed generation and handling of WM_ERASEBKGND message
2981           - Removed EraseWindowBackground() and SetWindowBackground() methods
2982           - Removed handling of hwnd.ErasePending flag
2983         * XplatUIWin32.cs:
2984           - Removed EraseWindowBackground() and SetWindowBackground() methods
2985           - We no longer call EraseWindowBackground on PaintEventStart, we 
2986             ignore the fErase flag, erasing is handled in Control in the
2987             background handler
2988         * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
2989           LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
2990           TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs, 
2991           CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs, 
2992           DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, 
2993           TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
2994           DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
2995
2996 2005-10-12  Jonathan Chambers <jonathan.chambers@ansys.com>
2997
2998         * PropertyGrids.cs: Get sub properties
2999         * PropertyGridView.cs: Fix drawing code
3000
3001 2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
3002
3003         * ListBox.cs: Fixes 76383
3004
3005 2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
3006
3007         * DataGridTextBoxColumn.cs: Sets location and size before attachment
3008         * ThemeWin32Classic.cs: Fixes border drawing and calculations
3009         * DataGridDrawingLogic.cs: Fixes border drawing and calculations
3010
3011
3012 2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
3013
3014         * ComboBox.cs: Fixes border drawing
3015
3016 2005-10-10  Miguel de Icaza  <miguel@novell.com>
3017
3018         * MimeIcon.cs: Ignore errors if the file can not be read.
3019
3020 2005-10-11  Jordi Mas i Hernandez <jordi@ximian.com>
3021
3022         * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
3023          - Fixed border calculations
3024          - Fixed horizontal scrolling in single column listboxes
3025          - Fixed drawing issues
3026
3027 2005-10-10  Peter Dennis Bartok  <pbartok@novell.com>
3028
3029         * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to 
3030           FormBorderStyle enum
3031         * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added 
3032           code to determine FormBorderStyles from CreateParams
3033         * Form.cs:
3034           - Fixed bug where we'd set the wrong window styles if we were
3035             not creating an MDI window
3036           - Added call to XplatUI.SetBorderStyle when form borders are set
3037         * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
3038         * Hwnd.cs:
3039           - Removed obsolete edge style
3040           - Switched from BorderStyle to FormBorderStyle
3041         
3042 2005-10-10  Jackson Harper  <jackson@ximian.com>
3043
3044         * Form.cs: Use the property to get the window handle instead of
3045         accessing it directly. Prevents a null reference exception.
3046
3047 2005-10-10  Jackson Harper  <jackson@ximian.com>
3048
3049         * TreeView.cs: Don't adjust the rect given to DrawString now that
3050         our libgdiplus draws correctly.
3051
3052 2005-10-08  Jackson Harper  <jackson@ximian.com>
3053
3054         * TreeView.cs: Don't try to find the clicked on node if there are
3055         no nodes in the tree.
3056
3057 2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
3058
3059         * RichTextBox.cs:
3060
3061           restore
3062
3063 2005-10-08  Alexander Olk  <alex.olk@googlemail.com>
3064
3065         * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
3066           ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
3067           ErrorProvider.cs:
3068           Use ResPool for brushes and dispose System.Drawing objects that
3069           are not used anymore.
3070
3071 2005-10-07  Jackson Harper  <jackson@ximian.com>
3072
3073         * MdiChildContext.cs: Use the new borders instead of drawing them
3074         ourselves.
3075
3076 2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
3077
3078         * Calling UpdateBounds after changing the window's BorderStyle 
3079         since the style can change the ClientSize
3080
3081 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
3082
3083         * Control.cs: Made PaintControlBackground virtual
3084         * Panel.cs: Overriding PaintControlBackground instead of using paint
3085           event; paint event method was interfering with 'real' users of the
3086           event.
3087
3088 2005-10-06  Jordi Mas i Hernandez <jordi@ximian.com>
3089
3090         * ThemeWin32Classic.cs: remove border drawing since it is handled
3091         by the base control class now and was causing double border drawing.
3092
3093 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
3094
3095         * Panel.cs: Redraw our background on paint. Not a pretty solution,
3096           but it does seem to match MS behaviour. This fixes bug #75324
3097
3098 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
3099
3100         * XplatUIX11.cs: A better DrawReversibleRectangle version, however
3101           somewhat hackish looking
3102
3103 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
3104
3105         * TextBoxBase.cs:
3106           - We now accept Enter even if AcceptEnter is false, if the containing
3107             form does not have an AcceptButton configured (fixes bug #76355)
3108           - Calculations are now fixed to no longer use Width/Height, but
3109             ClientSize.Width/Height, since we now support borders (this was
3110             a result of fixing borders and therefore bug #76166)
3111           - We no longer show the horizontal scrollbar if TextBox.WordWrap is 
3112             true (fixes bug #76354)
3113         
3114 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
3115
3116         * Control.cs: 
3117           - Defaulting BorderStyle and setting it in XplatUI when our window 
3118             is created
3119           - Added enum check to InternalBorderStyle setter
3120         * XplatUIX11.cs: 
3121           - Added drawing of window borders
3122           - Now properly calculates WM decorations offset for toplevel 
3123             windows (fixes bug #74763)
3124         * XplatUIWin32.cs: 
3125           - Implemented BorderStyles for windows (we're letting win32 draw 
3126             the border for us)
3127           - Fixed the signature for SetWindowLong
3128         * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
3129           ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for 
3130           setting borders
3131         * UpDownBase.cs: Remove drawing of borders, this is handled by
3132           the driver, outside the client area
3133         * ListView.cs: Removed bogus border calculations. The control should
3134           be oblivious to borders, since those are not part of the client
3135           area. 
3136         * X11DesktopColors.cs: Commented out (currently) unneeded variables
3137         * ThemeWin32Classic.cs: Removed border calculations from ListView 
3138           drawing code
3139
3140 2005-10-06  Jackson Harper  <jackson@ximian.com>
3141
3142         * MdiChildContext.cs: Clear out the old virtual position remove
3143         all the unneeded calls to CreateGraphics.
3144
3145 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
3146
3147         * TextControl.cs: Use proper color for highlighted text; fixes #76350
3148
3149 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com> 
3150
3151         * Form.cs: 
3152           - Added loading and setting of our new default icon
3153           - Only set icon if window is already created
3154
3155 2005-10-06  Peter Dennis Bartok  <pbartok@novell.com>
3156
3157         * Label.cs:
3158           - Do not explicitly set the foreground and background colors, to
3159             allow inheriting from parents (fixes #76302)
3160           - Use Control's InternalBorderStyle property to deal with borders
3161
3162 2005-10-06  Jackson Harper  <jackson@ximian.com>
3163
3164         * MdiChildContext.cs: Use the new xplatui function to draw a
3165         reversible rect.
3166
3167 2005-10-06  Jackson Harper  <jackson@ximian.com>
3168
3169         * Form.cs: Add the parent before creating the child context cause
3170         we need the parent when setting up the child.
3171
3172 2005-10-06  Jackson Harper  <jackson@ximian.com>
3173
3174         * FolderBrowserDialog.cs: redo the tree population code so a
3175         second thread isn't used. Should be a lot faster and more stable
3176         now.
3177
3178 2005-10-05  Jackson Harper  <jackson@ximian.com>
3179
3180         * TreeView.cs: There are no expand/collapse boxes if the node has
3181         no children.
3182
3183 2005-10-05  Jackson Harper  <jackson@ximian.com>
3184
3185         * X11DesktopColors.cs: Get menu colours for the gtk theme.
3186
3187 2005-10-05  Alexander Olk  <alex.olk@googlemail.com>
3188
3189         * FileDialog.cs: Fix InitialDirectory
3190
3191 2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
3192
3193         * ComboBox.cs:
3194                 - Fixes changing between styles
3195                 - Fixes simple mode
3196                 - Fixes last item crashing when navigating with keyboard
3197
3198 2005-10-05  Jordi Mas i Hernandez <jordi@ximian.com>
3199
3200         * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
3201
3202 2005-10-05  Jackson Harper  <jackson@ximian.com>
3203
3204         * TreeView.cs: If updating the root node do a full refresh.
3205         * TreeNode.cs: The root node should be expanded by default. Also
3206         added a utility prop to tell if we are the root node.
3207         * TreeNodeCollection.cs: Only refresh if the node we are being
3208         added to is expanded. Also added a comment on a potential
3209         optimization.
3210         
3211 2005-10-04  Peter Dennis Bartok  <pbartok@novell.com>
3212
3213         * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize() 
3214           in dispose method. Fixes #76330
3215
3216 2005-10-04  Jordi Mas i Hernandez <jordi@ximian.com>
3217
3218         * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
3219
3220                 - Implements vertical and horizontal scrolling using XplatUI
3221                 - Fixes keyboard navagation
3222                 - Fixes EnsureVisible
3223                 - Drawing fixes
3224                 - Handles and draws focus properly
3225
3226
3227 2005-10-04  Kornél Pál  <kornelpal@hotmail.com>
3228
3229         * ImageList.cs: Use upper case initials for internal fields. ImageStream:
3230           Create handle. NET_2_0: Destroy handle when value is null.
3231
3232 2005-10-03  Jackson Harper  <jackson@ximian.com>
3233
3234         * ScrollBar.cs: My last scrollbar patch was broken. This is a
3235         revert and a new patch to prevent the thumb from refreshing so
3236         much.
3237
3238 2005-10-02  Jackson Harper  <jackson@ximian.com>
3239
3240         * ScrollBar.cs: Don't update position if it hasn't actually
3241         changed. This occurs when you hold down the increment/decrement
3242         buttons and the thumb gets to the max/min.
3243
3244 2005-10-01  Jackson Harper  <jackson@ximian.com>
3245
3246         * Form.cs:
3247         * MdiChildContext.cs:
3248         * MdiClient.cs: Implement ActiveMdiChild in Form.
3249
3250 2005-10-01  Jordi Mas i Hernandez <jordi@ximian.com>
3251
3252         * ComboBox.cs: Include ComboBoxEdit flag for the edit item
3253
3254 2005-10-01  Peter Dennis Bartok  <pbartok@novell.com>
3255
3256         * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
3257           be found
3258
3259 2005-09-30  Jackson Harper  <jackson@ximian.com>
3260
3261         * ListBox.cs: Don't do a full refresh unless some data has
3262         actually changed.
3263
3264 2005-09-30  Jackson Harper  <jackson@ximian.com>
3265
3266         * TreeView.cs: Make sure that the checkboxes size is factored in
3267         even when not visible.
3268
3269 2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
3270
3271         * FileDialog.cs: Fix Jordi's build break
3272
3273 2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
3274
3275         * FileDialog.cs: 
3276                 - Use standard the Windows colours for the combobox as espected
3277                 - Dispose objects that use resouces when no longer need them
3278
3279 2005-09-30  Peter Dennis Bartok  <pbartok@novell.com> 
3280
3281         * X11DesktopColors.cs: Initial incomplete implementation
3282         * XplatUIX11.cs: Added call to initialize X11DesktopColors
3283
3284 2005-09-30  Peter Dennis Bartok  <pbartok@novell.com>
3285
3286         * Theme.cs: 
3287           - Switched Theme color names to match the names defined in 
3288             System.Drawing.KnownColors. Life's hard enough, no need to make 
3289             it harder.
3290           - Added setters to all theme color properties so themes can set
3291             their color schemes. The setters also propagate the color changes
3292             to System.Drawing.KnownColors via reflection
3293         * ControlPaint.cs,  Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
3294           ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
3295           DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
3296           use the new, more logical theme color names
3297         * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
3298           post-NT colors
3299         * ThemeWin32Classic.cs:
3300           - Removed code to set the old classic Windows colors. Instead it
3301             now relies on the colors returned by System.Drawing.KnownColors
3302             which will be either modern static colors (Unix) or colors
3303             read from the user's configuration (Win32)
3304           - Updated to use the new, more logical theme color names
3305           - Switched DataGrid drawing code to use only Theme colors instead of
3306             a mix of System.Drawing.KnownColors and Theme colors
3307           - DrawFrameControl(): Removed code that fills the button area, the
3308             fill would overwrite any previous fill done by a control. This
3309             fixes bug #75338 
3310           - Added DrawReversibleRectangle() stub
3311         * ScrollableControl.cs: Set visible state to false when scrollbars
3312           are removed (pdn fix)
3313         * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added 
3314           DrawReversibleRectangle() method to allow drawing primitive 
3315           'rubber bands'
3316         * XplatUIX11.cs: Implemented DrawReversibleRectangle()
3317
3318 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3319
3320         * ImageList.cs: Add(Icon): Create handle.
3321
3322 2005-09-30  Jordi Mas i Hernandez <jordi@ximian.com>
3323
3324         * ListView.cs:
3325         * ThemeWin32Classic.cs:
3326                 - Fixes detail mode
3327                 - Sets clippings
3328                 - Issues with drawing
3329
3330 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3331
3332         * ImageList.cs: Moved RecreateHandle back to ImageList as event
3333           source has to be the ImageList.
3334
3335 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3336
3337         * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
3338
3339 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3340
3341         * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
3342
3343 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3344
3345         * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
3346
3347 2005-09-29  Jonathan Chambers <jonathan.chambers@ansys.com>
3348         * GridItem.cs: Fixed TODOs
3349         * GridItemCollection.cs: Added ICollection interface
3350
3351 2005-09-30  Kornél Pál  <kornelpal@hotmail.com>
3352
3353         * ImageList.cs: Resize icons when needed.
3354
3355 2005-09-29  Jordi Mas i Hernandez <jordi@ximian.com>
3356
3357         * ListViewItem.cs
3358                 - Fixes GetBounds and returns on screen rects
3359         * ListView.cs:
3360                 - Fixes vertical and horzintal scrolling of items
3361         * ThemeWin32Classic.cs:
3362                 - Fixes drawing
3363                 
3364 2005-09-29  Raja R Harinath  <harinath@gmail.com>
3365
3366         * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
3367
3368 2005-09-29  Kornél Pál  <kornelpal@hotmail.com>
3369
3370         * ImageList.cs: Added comments about handle creation. Moved Handle,
3371           HandleCreated and OnRecreateHandle implementations to ImageCollection.
3372           Handle is created in Add methods.
3373
3374 2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
3375          
3376         * DataGridDrawingLogic.cs: 
3377                 - Takes rows into account on Colum calculations
3378                 - Returns the column when clickig
3379         * DataGrid.cs:
3380                 - Fixes default HitTestInfo values
3381                 - Fixes HitTestInfo.ToString
3382                 - Fixes ResetBackColor          
3383         
3384 2005-09-28  Jackson Harper  <jackson@ximian.com>
3385
3386         * MdiChildContext.cs: Obey rules for fixed sized windows (no
3387         sizing or cursor changes). Also added some temp code to draw the
3388         titlebars text (Makes dev a little easier).
3389
3390 2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
3391
3392         * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
3393
3394 2005-09-28  Jordi Mas i Hernandez <jordi@ximian.com>
3395          
3396         * ListBox.cs: Fixes bug 76253
3397
3398 2005-09-28  Kornél Pál  <kornelpal@hotmail.com>
3399
3400         * ImageList.cs: Added comments about the current implementation. Added
3401           ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
3402           Format32bppArgb to preserve transparency and can use Graphics.FromImage
3403           while using the specified ColorDepth. ReduceColorDepth uses unsafe code
3404           with Bitmap.LockBits for better performance. Revised the whole file to
3405           match MS.NET behaviour and provide better performance. Non-public
3406           interface members are calling public members even when they throw
3407           NotSupportedException for better maintainability. Moved ColorDepth,
3408           ImageSize, ImageStream and TransparentColor implementations to
3409           ImageCollection for better performance as these properties are not used
3410           by ImageList.
3411         * ImageListStreamer.cs: Added a new internal constructor that takes an
3412           ImageList.ImageCollection and serializes Images based on
3413           ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
3414           match ImageList property name.
3415
3416 2005-09-28  Kazuki Oikawa <kazuki@panicode.com>
3417
3418         * ListBox.cs: Fixes IndexFromPoint for last item
3419
3420 2005-09-27  Jackson Harper  <jackson@ximian.com>
3421
3422         * Form.cs: Set the position of new mdi children correctly.
3423
3424 2005-09-27  Jackson Harper  <jackson@ximian.com>
3425
3426         * MdiClient.cs: New mdi children need to be added to the back of
3427         the controls collection so the zorder is set correctly. Also add a
3428         count of all the child windows that have been created.
3429
3430 2005-09-27  Jackson Harper  <jackson@ximian.com>
3431
3432         * Form.cs (CreateParams): Setup MDI forms correctly.
3433
3434 2005-09-27  Jackson Harper  <jackson@ximian.com>
3435
3436         * MdiChildContext.cs:
3437         * MonthCalendar.cs:
3438         * UpDownBase.cs:
3439         * ListBox.cs:
3440         * ListView.cs:
3441         * TextBoxBase.cs:
3442         * TreeView.cs:
3443         * ScrollableControl.cs:
3444         * ComboBox.cs: Add implicit controls using the new implict control
3445         functionality in ControlCollection. Also try to block multiple
3446         control add in a suspend/resume layout to save some cycles.
3447         
3448 2005-09-27  Jackson Harper  <jackson@ximian.com>
3449
3450         * Control.cs: Add functionality to the controls collection to add
3451         'implicit controls' these are controls that are created by the
3452         containing control but should not be exposed to the user. Such as
3453         scrollbars in the treeview.
3454         * Form.cs: The list var of the ControlsCollection is no longer
3455         available because of the potential of implicit controls getting
3456         ignored by someone accessing the list directly.
3457
3458 2005-09-26  Peter Dennis Bartok  <pbartok@novell.com>
3459
3460         * Control.cs: Fixed SetChildIndex; it no longer causes a child to
3461           loose it's parent. (Fixed bug introduced in r49103 when we added
3462           setting the child parent to null on Remove)
3463
3464 2005-09-26  Gert Driesen  <drieseng@users.sourceforge.net>
3465
3466         * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
3467         * Splitter.cs: Added missing attributes for BorderStyle property.
3468         * TextBoxBase.cs: Marked Calculate* methods internal.
3469         * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
3470         MS.NET.
3471
3472 2005-09-26  Jordi Mas i Hernandez <jordi@ximian.com>
3473          
3474         * ListBox.cs: Fixes navigation to the last item in multicolumn lists
3475
3476 2005-09-25  Jackson Harper  <jackson@ximian.com>
3477
3478         * TreeView.cs: Update the node bounds correctly regardless of
3479         whether the node is visible.
3480
3481 2005-09-25  Jackson Harper  <jackson@ximian.com>
3482
3483         * ImageList.cs: Don't dispose the image after it is added to the
3484         image list. Only reformat images that need to be resized.
3485
3486 2005-09-25  Jackson Harper  <jackson@ximian.com>
3487
3488         * ImageList.cs: Don't set the format when changing the image.
3489
3490 2005-09-25  Jackson Harper  <jackson@ximian.com>
3491
3492         * TreeView.cs: We can't just assume the node has a font. Use the
3493         treeviews font if no node font is available.
3494
3495 2005-09-25  Jackson Harper  <jackson@ximian.com>
3496
3497         * TreeView.cs: Allow the scrollbars to be reset with negative
3498         values.
3499         - Don't add scrollbars to negative sized windows.
3500
3501 2005-09-23  Jackson Harper  <jackson@ximian.com>
3502
3503         * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
3504         old Mono.Posix. Also remove some stray code that shouldn't have
3505         been committed.
3506
3507 2005-09-23  Jackson Harper  <jackson@ximian.com>
3508
3509         * TreeView.cs: Attempt at proper sizing of the horizontal
3510         scrollbar. Also don't resize the scrollbars unless they are
3511         visible.
3512
3513 2005-09-23  Jackson Harper  <jackson@ximian.com>
3514
3515         * TreeView.cs: We don't need to expand the invalid area when the
3516         selection changes, as this is all drawn in the node's bounding
3517         box. The area needs to be expanded (previous typo was contracting
3518         it) when the focus rect moves.
3519
3520 2005-09-23  Jackson Harper  <jackson@ximian.com>
3521
3522         * TreeView.cs: Display the selection box under the correct
3523         circumstances. We were rendering white text with no selection box
3524         before.
3525
3526 2005-09-23  Peter Dennis Bartok  <pbartok@novell.com>
3527
3528         * TextControl.cs(Split): Now updates selection start/end if it points 
3529           into a line that's being split. Fixes a FIXME and bug #75258
3530
3531 2005-09-23  Jackson Harper  <jackson@ximian.com>
3532
3533         * Binding.cs:
3534         * ListControl.cs: Don't use the path when retrieving binding
3535         managers from the binding context. My bat sense tells me that the
3536         path is only used on insertion.
3537
3538 2005-09-22  Jackson Harper  <jackson@ximian.com>
3539
3540         * Splitter.cs: Set the cursor an easier way. (Thanks peter).
3541
3542 2005-09-22  Jackson Harper  <jackson@ximian.com>
3543
3544         * Splitter.cs: There are special cursors used for splitting.
3545         * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
3546
3547 2005-09-22  Jackson Harper  <jackson@ximian.com>
3548
3549         * Splitter.cs: Change the cursor appropriately when the splitter
3550         is moused over, so the user actually knows there is a splitter
3551         there.
3552
3553 2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
3554
3555        * Label.cs : Fix ToString method to give same output as MS.NET
3556
3557 2005-09-22  Jackson Harper  <jackson@ximian.com>
3558
3559         * TreeView.cs: Create the scrollbars when the handle is created
3560         and add them right away, just make them invisble. Also account for
3561         the window being shrunk vertically to the point that the vert
3562         scrollbar needs to be added.
3563         - Remove some 0.5 adjustments to get around anti aliasing issues.
3564         
3565 2005-09-22  Jordi Mas i Hernandez <jordi@ximian.com>
3566          
3567         * MainMenu.cs: Fixes default value
3568         * MenuItem.cs: Fixes default value
3569
3570 2005-09-22  Kazuki Oikawa  <kazuki@panicode.com>
3571
3572         * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
3573
3574 2005-09-21  Jackson Harper  <jackson@ximian.com>
3575
3576         * Control.cs: Don't try to set the border style on the window if
3577         it hasn't been created. When the window is created the border
3578         style will be used.
3579
3580 2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
3581
3582         * Control.cs (Update): Don't call XplatUI if we don't have a
3583           window handle yet
3584
3585 2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
3586
3587         * ContainerControl.cs: Instead of throwing an exception, print
3588           a one-time warning about Validate not being implemented
3589         * XplatUIWin32.cs: Removed debug output
3590
3591 2005-09-21  Peter Dennis Bartok  <pbartok@novell.com> 
3592
3593         * Control.cs: Only set XplatUI background if we expect the windowing
3594           system to handle the background. This stops controls that draw their
3595           own background from flickering
3596
3597         * XplatUIX11.cs: Support custom visuals and colormaps for window 
3598           creation. This allows, amongst other things, using MWF X11 windows 
3599           with OpenGL.
3600
3601 2005-09-21  Peter Dennis Bartok  <pbartok@novell.com>
3602
3603         * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
3604           CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
3605           GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
3606           SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
3607           TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
3608           IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
3609           KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
3610           RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
3611           ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
3612           ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
3613           GridColumnStylesCollection.cs, 
3614           IDataGridColumnStyleEditingNotificationService.cs,
3615           PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
3616           MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
3617           GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs, 
3618           TreeNodeCollection.cs, AmbientProperties.cs, 
3619           RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
3620           DataObject.cs, ErrorProvider.cs, Splitter.cs,
3621           DataGridLineStyle.cs, Shortcut.cs, Control.cs,
3622           FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
3623           BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
3624           IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
3625           FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
3626           IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
3627           NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
3628           PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
3629           SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
3630           FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
3631           DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
3632           ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
3633           RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
3634           MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
3635           ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
3636           CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
3637           MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
3638           NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
3639           ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
3640           SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
3641           Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
3642           RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
3643           DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
3644           ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
3645           PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
3646           DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
3647           ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
3648           AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
3649           RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
3650           CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
3651           SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
3652           Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
3653           SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
3654           ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
3655           TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
3656
3657 2005-09-21  Jackson Harper  <jackson@ximian.com>
3658
3659         * TreeNode.cs: Call Before/After Expand not Collapse when
3660         expanding.
3661
3662 2005-09-20  Jackson Harper  <jackson@ximian.com>
3663         
3664         * XplatUIX11.cs: Use the more hand looking hand (in most themes).
3665
3666 2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
3667          
3668         * ListViewItem.cs:
3669                 - Fixes bug 76120
3670                 - Fixes proper storing of subitems
3671                 - Fixes not updated items
3672
3673 2005-09-20  Peter Dennis Bartok  <pbartok@novell.com>
3674
3675         * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
3676           things if our window handle isn't created yet. Also disabled 
3677           debug for TextBoxBase
3678
3679 2005-09-20  Peter Dennis Bartok  <pbartok@novell.com> 
3680
3681         * MenuAPI.cs: Remove filtering of events to allow menu usage
3682
3683 2005-09-20  Miguel de Icaza  <miguel@novell.com>
3684
3685         * Cursor.cs: Allow null to be passed to Cursor.Current.
3686
3687 2005-09-20  Alexander Olk  <alex.olk@googlemail.com>
3688
3689         * ThemeWin32Classic.cs:
3690           - Change some private methods/fields to protected virtual so that 
3691             they can be accessed and overriden in derived classes
3692           - First refactoring of some methods. Derived themes now don't 
3693             need to duplicate the complete code from ThemeWin32Classic
3694         * ThemeNice.cs:
3695           - Added nice StatusBar
3696           - Derive from ThemeWin32Classic and not Theme
3697           - Removed duplicate ThemeWin32Classic code
3698
3699 2005-09-20  Miguel de Icaza  <miguel@novell.com>
3700
3701         * Control.cs (ControlCollection.Add): If the value null is passed
3702         the control is ignored. 
3703
3704         Optimize this loop.
3705
3706 2005-09-19  Peter Dennis Bartok  <pbartok@novell.com> 
3707
3708         * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
3709           PostQuitMessage state.
3710         * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
3711
3712 2005-09-19  Peter Dennis Bartok  <pbartok@novell.com>
3713
3714         * Application.cs: Our constructor will never get called, move 
3715           initialization to fields; fixes bug #75933
3716
3717 2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
3718
3719         * FileDialog.cs :
3720                 - Allow files to be selected properly using file name
3721                 combo box.
3722                 - Add ability to change diretory (absolute / relative)
3723                 using file name combo box.
3724
3725 2005-09-16  Jordi Mas i Hernandez <jordi@ximian.com>
3726          
3727         * ListBox.cs: 
3728                 - Fixes Multicolumn listboxes item wrong calculations
3729                 - Allows to click when only one item is in the listbox
3730                 - Fixes crash when no items using keyboard navigation
3731
3732 2005-09-16  Alexander Olk  <alex.olk@googlemail.com>
3733
3734         * ComboBox.cs: Reverted almost everything from the latest patch which
3735           broke ComboBox
3736
3737 2005-09-16  Kazuki Oikawa <kazuki@panicode.com>
3738         
3739         * ToolTip.cs:
3740                 - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
3741         * ComboBox.cs:
3742                 - When DropDownStyle is Simple, it does not show scrollbar 
3743                 to the last item of the list.
3744                 - When DropDownStyle is Simple, it crashed when the list was 
3745                 scrolled down with the down cursor key.
3746                 - Fixed a bug that when DropDownStyle is DropDownList, the 
3747                 selected item was not shown.
3748                 - The position of the selected item was not preserved when 
3749                 the next dropdown happened.
3750         * ThemeWin32Classic.cs:
3751                 - Items were wrapped at the right end.
3752         * CheckedListBox.cs:
3753                 - Fixed Add method
3754         * ListBox.cs:
3755                 - Items should be fully shown.
3756                 - When resizing and vertical scrollbar disappeared, the item 
3757                 of index 0 should be on the top of the list.
3758                 - GetItemRectangle should consider the size of ver. scrollbar
3759         * StatusBar.cs:
3760                 - SizingGrip area should not be allocated when it is not 
3761                 displayed.
3762                 - Now it reflects MinWidth of the containing panel and 
3763                 fixed a crash that happens when its width becomes so small.
3764
3765 2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
3766
3767         * CheckedListBox.cs: Fixes bug 76028
3768         * ListBox.cs: Fixes bug 76028
3769
3770 2005-09-13  Jordi Mas i Hernandez <jordi@ximian.com>
3771
3772         * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
3773         * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
3774
3775 2005-09-12  Jordi Mas i Hernandez <jordi@ximian.com>
3776
3777         * XplatUIX11.cs: fixes System.NullReferenceException in some situations
3778
3779 2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3780
3781         * IRootGridEntry.cs: Changed namespace to PropertyGridInternal 
3782
3783 2005-09-09  Jonathan Chambers  <jonathan.chambers@ansys.com>
3784
3785         * IRootGridEntry.cs: Added
3786         * PropertyGridCommands.cs: Added
3787         * PropertiesTab.cs: Added missing methods and property
3788         * PropertyGridView.cs: Made class internal
3789         * PropertyGridTextBox.cs: Made class internal
3790
3791 2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
3792
3793         * MimeIcon.cs: Try to check some other environment variables
3794           if "DESKTOP_SESSION" returns "default"
3795
3796 2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
3797
3798         * ThemeNice.cs: Corrected background colors (e.g. menus)
3799         * ColorDialog.cs: Use correct background colors for controls
3800
3801 2005-09-09  Alexander Olk  <alex.olk@googlemail.com>
3802
3803         * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
3804
3805 2005-09-08  Peter Dennis Bartok  <pbartok@novell.com>
3806
3807         * RichTextBox.cs: Added initial implementation
3808         * lang.cs: Removed. Was accidentally checked in long time ago
3809         * TODO: Removed. Contents were obsolete
3810
3811 2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
3812                                                                                 
3813         * PropertiesTab.cs : Added
3814
3815 2005-09-06  Jonathan Chambers  <jonathan.chambers@ansys.com>
3816                                                                                 
3817         * PropertyGrid.cs : Update
3818         * PropertyGridView.cs : Update
3819         * System.Windows.Forms.resx : Added images and strings
3820
3821 2005-09-06  Peter Dennis Bartok  <pbartok@novell.com> 
3822
3823         * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
3824  
3825 2005-09-06  Peter Dennis Bartok  <pbartok@novell.com>
3826
3827         * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
3828           a busy loop right after the Ungrab the X11 display is otherwise 
3829           blocked
3830
3831 2005-09-06  Jordi Mas i Hernandez <jordi@ximian.com>
3832
3833         * ThemeWin32Classic.cs: Optimise the use of clipping
3834
3835 2005-09-05  Jordi Mas i Hernandez <jordi@ximian.com>
3836
3837         * DataGrid.cs: fixes recursion bug
3838
3839 2005-09-03  Alexander Olk  <alex.olk@googlemail.com>
3840
3841         * ThemeNice.cs: 
3842           - Draw RadioButton and CheckBox Buttons with DrawButtonBase
3843           - Cleanup
3844
3845 2005-09-02  Alexander Olk  <alex.olk@googlemail.com>
3846
3847         * ThemeNice.cs: Draw nice ProgressBars
3848
3849 2005-09-01  Miguel de Icaza  <miguel@novell.com>
3850
3851         * VScrollBar.cs: Another buglet found by Aaron's tool. 
3852
3853         * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
3854         bug finder.
3855
3856 2005-08-30  Alexander Olk  <alex.olk@googlemail.com>
3857
3858         * ThemeNice.cs:
3859           - Added nicer menu drawing
3860           - Updated DrawTab
3861           - some refactoring
3862
3863 2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
3864
3865         * CreateParams.cs (ToString): Made output match MS
3866         * Control.cs (Text): Don't set Text or Focus via XplatUI unless 
3867             handle is already created (to avoid forcing window creation)
3868         * XplatUIX11.cs: Set window text to caption after creating window,
3869           in case Text was set before window was created
3870         * Form.cs: Use this.Text instead of a static string as caption
3871
3872 2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
3873
3874         * NotifyIcon.cs: Don't set the window to visible; this screws
3875           up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
3876           OnPaint without a bitmap)
3877         * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't 
3878           happen very often anyway; we could add the check to the WM_PAINT 
3879           event generation code
3880
3881 2005-08-30  Peter Dennis Bartok  <pbartok@novell.com>
3882
3883         * NotifyIcon.cs: Fill the icon area with a background color, to 
3884           avoid 'residue' when transparent icons are drawn
3885         * XplatUIX11.cs:
3886           - Handle whole_window == client_window when destroying windows
3887           - SystrayAdd(): Set client_window to whole_window value to
3888             get mouse and other events passed to NotifyIcon
3889
3890 2005-08-30  Peter Dennis Bartok  <pbartok@novell.com> 
3891
3892         * Form.cs: Set proper default for Opacity property
3893         * NotifyIcon.cs:
3894           - ShowSystray(): Don't bother creating telling the OS
3895             about the systray item if no icon is provided
3896           - Now handles WM_NCPAINT message to deal with whole/client window
3897             split
3898           - Create window as visible to not get caught by Expose optimization
3899         * Hwnd.cs: Removed debug message
3900         * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
3901           StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched 
3902             PaintEventStart/End to use new client argument
3903         * TextBoxBase.cs:
3904           - Commented out debug messages
3905           - Switched PaintEventStart/End to use new client argument
3906         * XplatUI.cs: Added client window bool to PaintEventStart()/
3907           PaintEventEnd() calls, to support drawing in non-client areas
3908         * XplatUIDriver.cs: 
3909           - Added client window bool to PaintEventStart()/PaintEventEnd() 
3910             calls, to support drawing in non-client areas
3911           - Added conditional compile to allow using MWF BeginInvoke 
3912             on MS runtime
3913         * XplatUIX11.cs:
3914           - Added some conditional debug output
3915           - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
3916             whole/client window split
3917           - Implemented handling of client argument to PaintEventStart()/End()
3918         * Control.cs:
3919           - Throw exception if BeginInvoke() is called and the window handle
3920             or one of the window's parent handles is not created
3921           - Added conditional compile to allow using MWF BeginInvoke on
3922             MS runtime
3923           - get_Parent(): Only sets parent if handle is created. This avoids
3924             forcing window handle creation when parent is set.
3925           - Now fires Layout and Parent changed events in proper order
3926           - Switched to use Handle instead of window.Handle for Z-Order setting,
3927             the get_Parent() patch above causes us to possibly get null for 'window'
3928           - Implemented handling of client argument to PaintEventStart()/End()
3929           - Now reports back to windows that WM_SETCURSOR was handled (to avoid
3930             default handling)
3931           - Now sends a Refresh() to all child windows when Refresh() is called
3932
3933 2005-08-29  Peter Dennis Bartok  <pbartok@novell.com> 
3934
3935         * Form.cs: Added (non-functional) Opacity property
3936         * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
3937
3938 2005-08-29  Alexander Olk  <xenomorph2@onlinehome.de>
3939         * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
3940           use export MONO_THEME=nice to activate it.
3941           Currently supported controls:
3942           - Button
3943           - ComboBox
3944           - ScrollBar
3945           - TabControl (TabAlignment.Top only, other will follow)
3946         * ThemeEngine.cs: Add theme nice
3947         * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
3948           if enabled
3949
3950 2005-08-25  Jonathan Chambers  <jonathan.chambers@ansys.com> 
3951
3952         * Splitter.cs: Resize docked control and its neighbor.
3953
3954 2005-08-24  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
3955         -- Making Windows with Menus layout correctly --
3956         * Form.cs : The first leg of the fix
3957                 Menu setter - adjust Client Size as needed to make space for the menu
3958                 SetClientSizeCore - doesn't call base version to be able to pass the 
3959                         menu handle to XplatUI.CalculateWindowRect
3960         * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
3961         * XplatUIX11.cs: The critical second leg of the fix
3962                 GetWindowPos needs to use a recalculated client_rect
3963                 so that resizing the window doesn't break layout of child controls. 
3964                 Also a more complete rule to avoid X Server roundtrips in SetWindowPos
3965                 Lots of \t\n killed
3966
3967 2005-08-23  Peter Dennis Bartok  <pbartok@novell.com> 
3968
3969         * Label.cs: Now properly recalculates width and height on Font and Text
3970           changes if AutoSize is set
3971
3972 2005-08-19  Rafael Teixeira <rafaelteixeirabr@hotmail.com> 
3973         * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
3974
3975 2005-08-19  Jordi Mas i Hernandez <jordi@ximian.com>
3976
3977         * ImageList.cs: Makes ToString method compatible with MS
3978
3979 2005-08-18  Jordi Mas i Hernandez <jordi@ximian.com>
3980
3981         * MenuAPI.cs: fixes bug 75716
3982
3983 2005-08-11 Umadevi S <sumadevi@novell.com>
3984         * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
3985
3986 2005-08-11 Umadevi S <sumadevi@novell.com>
3987         * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
3988
3989 2005-08-10  Umadevi S <sumadevi@novell.com>
3990         * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
3991
3992 2005-08-07  Jordi Mas i Hernandez <jordi@ximian.com>
3993
3994         * Menu.cs: fixes bug 75700
3995         * MenuAPI.cs: fixes navigation issues
3996
3997 2005-08-09  Umadevi S <sumadevi@novell.com>
3998         * CheckedListBox.cs - simple fix for GetItemChecked.
3999
4000 2005-08-08  Jordi Mas i Hernandez <jordi@ximian.com>
4001
4002         * ComboBox.cs: Serveral fixes
4003         * ListBox.cs: Serveral fixes
4004
4005 2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
4006
4007         * ComboBox.cs: Fixes FindString methods and GetItemHeight
4008         * ListBox.cs: Fixes FindString methods
4009
4010 2005-08-05  Jordi Mas i Hernandez <jordi@ximian.com>
4011
4012         * DataGrid.cs: fixes bugs exposed by new tests
4013
4014 2005-08-04  Peter Dennis Bartok  <pbartok@novell.com> 
4015
4016         * Mime.cs: Compile Mono assembly references only if compiling
4017           with Mono (Allows to build with VS.Net again)
4018
4019 2005-07-28  Marek Safar  <marek.safar@seznam.cz>
4020
4021         * Control.cs (PaintControlBackground): Draw background image
4022         corrrectly.
4023         (CheckForIllegalCrossThreadCalls): Stubbed.
4024         
4025         * Form.cs (OnCreateControl): Center when should be centered.
4026         
4027         * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
4028
4029 2005-07-19  Jordi Mas i Hernandez <jordi@ximian.com>
4030
4031         * Binding.cs: Binding to properties should be case unsensitive
4032
4033 2005-07-18 vlindos@nucleusys.com
4034
4035         * DataGrid.cs: fixes setmember order
4036
4037 2005-07-07  Alexander Olk  <xenomorph2@onlinehome.de>
4038
4039         * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
4040         * FileDialog.cs: FileDialog is now resizable and uses the new
4041           MimeIconEngine
4042
4043 2005-07-06  Jordi Mas i Hernandez <jordi@ximian.com>
4044
4045         * DataGridTextBoxColumn.cs: default value
4046         * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
4047         * GridTableStylesCollection.cs: fixes checking MappingName
4048         * DataGridDrawingLogic.cs: fixes drawing logic issues
4049         * DataSourceHelper.cs: rewritten to make compatible with more data sources
4050         * DataGrid.cs: fixes    
4051
4052 2005-07-06  Alexander Olk  <xenomorph2@onlinehome.de>
4053
4054         * MimeGenerated.cs: Use case sensitive comparer for
4055           NameValueCollections
4056
4057 2005-07-01  Jordi Mas i Hernandez <jordi@ximian.com>
4058
4059         * DataGridTextBoxColumn.cs: bug fixes, code refactoring 
4060         * ThemeWin32Classic.cs: bug fixes, code refactoring
4061         * DataGridDrawingLogic.cs:  bug fixes, code refactoring
4062         * DataGrid.cs: bug fixes, code refactoring
4063         * DataGridTextBox.cs: bug fixes, code refactoring
4064         * DataGridColumnStyle.cs:  bug fixes, code refactoring
4065         * Theme.cs:  bug fixes, code refactoring
4066
4067 2005-07-01  Peter Bartok  <pbartok@novell.com> 
4068
4069         * TextControl.cs: Quick fix for the reported crash on ColorDialog
4070           and other text box usage
4071
4072 2005-07-01  Jackson Harper  <jackson@ximian.com>
4073
4074         * TabControl.cs: Make sure the bottom of the tab covers the pages
4075         border.
4076
4077 2005-06-30  Peter Bartok  <pbartok@novell.com> 
4078
4079         * Form.cs (ShowDialog): Assign owner of the dialog
4080         * TextBoxBase.cs: Always refresh caret size when deleting, caret
4081           might have been moved to a tag with different height
4082
4083 2005-06-30  Jackson Harper  <jackson@ximian.com>
4084
4085         * Form.cs: Don't create an infinite loop when setting focus
4086         * MenuItem.cs: Don't dirty the parents if we don't have any
4087
4088 2005-06-29  Ben Maurer  <bmaurer@ximian.com>
4089
4090         * LibSupport.cs: Rename
4091
4092 2005-06-29  Peter Bartok  <pbartok@novell.com>
4093
4094         * TextBoxBase.cs: Re-align caret after deleting a character
4095         * TextControl.cs:
4096           - DeleteChars(): Ensure that tag covers the provided position
4097           - StreamLine(): Drop reference for dropped tag
4098
4099 2005-06-29  Peter Bartok  <pbartok@novell.com> 
4100
4101         * TextControl.cs: 
4102           - Selections now work properly, anchoring at the initial location
4103             and properly extending in either direction (SetSelectionToCaret(),
4104             SetSelectionStart() and SetSelectionEnd())
4105           - No longer redraws the whole control on selection change, now
4106             calculates delta between previous and new selection and only
4107             invalidates/redraws that area
4108           - Fixed FindPos() math off-by-one errors
4109           - Changed DeleteChars() to verify the provided tag covers the
4110             provided position, selections may have a tag that doesn't cover
4111             the position if the selection is at a tag border
4112           - Fixed off-by-one errors in DeleteChars()
4113           - Added missing streamlining check in DeleteChars() to remove
4114             zero-length tags
4115           - Implemented Invalidate() method, now properly calculates exposures
4116             between two given lines/positions
4117           - Implemented SetSelection()
4118           - Obsoleted and removed FixupSelection()
4119           - Improved RecalculateDocument() logic, removing code duplication
4120
4121 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4122
4123         * LibSupport.cs: changes to match different input/output arguments.
4124
4125 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4126
4127         * LibSupport.cs: added libsupport.so init routine.
4128
4129 2005-06-29  Jordi Mas i Hernandez <jordi@ximian.com>
4130         
4131         * ControlBindingsCollection.cs
4132                 - Throws an exception on null datasource when adding
4133                 - Checks for duplicated bindings when adding
4134
4135 2005-06-28  Jackson Harper  <jackson@ximian.com>
4136
4137         * TreeView.cs (OnKeyDown): Support left and right properly
4138         (navigates as well as expanding and collapsing.
4139         - Add support for Multiply, this expands all the selected nodes
4140         children.
4141         - Fix some tabbing.
4142
4143 2005-06-28  Jackson Harper  <jackson@ximian.com>
4144
4145         * TreeView.cs: Implement keyboard navigation, currently supports,
4146         LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
4147         support for toggling checkboxes with the space bar.
4148
4149 2005-06-28  Jackson Harper  <jackson@ximian.com>
4150
4151         * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
4152         tree.
4153
4154 2005-06-28  Jackson Harper  <jackson@ximian.com>
4155
4156         * TreeView.cs: Add missing event.
4157
4158 2005-06-27  Peter Bartok  <pbartok@novell.com> 
4159
4160         * TextControl.cs:
4161           - Made line ending size configurable (now allows for counting 
4162             lineendings as \n or \r\n)
4163           - Added margin to viewport to keep caret visible on right side
4164           - Fixed translation routines for line/pos to documentpos to consider
4165             cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
4166           - Fixed some line-endings to be unix style
4167           - Fixed Document.FormatText to perform it's calculations 1-based
4168           - Added descriptions for a few methods that might otherwise get 
4169             used wrong
4170           - Added NOTE section with some basic conventions to remember at 
4171             the top of the file
4172           - Major fixup for RichTextBox selection drawing:
4173             * Fixed crashes when multiple tags on a single line were selected
4174             * fixed selection box drawing not overlaying text
4175             * fixed bogus offset calculation for tags not starting at index 1
4176             * Switched behaviour from using multiple Substrings of a 
4177               StringBuilder.ToString() to using multiple 
4178               StringBuilder.ToString(start, length) statements, hoping this is
4179               faster (kept original version commented out in the code, in case
4180               original version was faster)
4181         * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if 
4182           alignment != Left
4183         * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
4184           call it as well
4185
4186 2005-06-27  Jackson Harper  <jackson@ximian.com>
4187
4188         * TabControl.cs: Move to the left and right with the arrow
4189         keys. These keys don't cycle beyond first and last like
4190         tab. Refresh all the tabs when scrolling them to the left or
4191         right.
4192
4193 2005-06-27  Jackson Harper  <jackson@ximian.com>
4194
4195         * TabControl.cs:
4196           - ToString: Added method
4197           - CreateParams: Remove TODO and comment
4198           - OnKeyDown: Cycle through bounds properly.
4199           - SelectedIndex: Scroll to the right or left if we need to
4200           display the newly selected tab.
4201
4202 2005-06-23  Jackson Harper  <jackson@ximian.com>
4203
4204         * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
4205         set.
4206
4207 2005-06-23  Jackson Harper  <jackson@ximian.com>
4208
4209         * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
4210         CTRL-SHIFT-TAB, and HOME, END are there any others?
4211
4212 2005-06-23  Jackson Harper  <jackson@ximian.com>
4213
4214         * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
4215
4216 2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
4217         
4218         * DataGridTextBoxColumn.cs: fixes and enhancements
4219         * ThemeWin32Classic.cs: fixes and enhancements
4220         * DataGridBoolColumn.cs:  fixes and enhancements
4221         * DataGridDrawingLogic.cs:  fixes and enhancements
4222         * CurrencyManager.cs: fixes and enhancements
4223         * DataGrid.cs: fixes and enhancements
4224         * DataGridColumnStyle.cs:  fixes and enhancements
4225
4226 2005-06-22  Jackson Harper  <jackson@ximian.com>
4227
4228         * TabControl.cs: Add some missing methods that just call into the
4229         base. Make the TabPageCollection's IList interface behave in the
4230         same manner as the MS implementation.
4231
4232 2005-06-22  Peter Bartok  <pbartok@novell.com> 
4233
4234         * TextControl.cs: Added sanity check
4235         * TextBoxBase.cs: 
4236           - Fixed wrapping behaviour, don't set wrap on single line controls
4237             (this fixes the breakage of colordialog introduced in an earlier
4238              checkin)
4239           - Added rudimentary support for autoscrolling right-aligned controls
4240             (still needs fixing, also, center alignment scroll is missing)
4241
4242 2005-06-22  Jordi Mas i Hernandez <jordi@ximian.com>
4243         
4244         * ScrollBar.cs: Fixes thumbpos on Maximum values
4245
4246 2005-06-21  Jonathan Chambers <jonathan.chambers@ansys.com>
4247         
4248         * PropertyGridView.cs: Pass context information to UITypeEditors 
4249
4250 2005-06-21  Peter Bartok  <pbartok@novell.com> 
4251
4252         * TextBoxBase.cs:
4253           - Now calling PositionCaret with absolute space coordinates
4254           - Enabled vertical scrolling
4255           - Better tracking of scrollbar changes, tied into WidthChange
4256             event
4257           - Improved cursor tracking
4258           - Removed debug output
4259         * TextControl.cs:
4260           - PositionCaret coordinates are now works in absolute space, not 
4261             the canvas
4262           - Improved tracking of document size
4263           - Added events for width and height changes
4264
4265 2005-06-21  Peter Bartok  <pbartok@novell.com>
4266
4267         * Form.cs: Set focus to active control when form is activated
4268         * TextControl.cs: 
4269           - Added word-wrap functionality to RecalculateLine() 
4270           - Added some short function descriptions for VS.Net to aid in
4271             writing dependent controls
4272           - Added Caret property, returning the current coords of the caret
4273           - Added ViewPortWidth and ViewPortHeight properties
4274           - Added Wrap property
4275           - Added CaretMoved event
4276           - Removed some old debug code
4277           - Split() can now create soft splits
4278           - Added PreviousTag()/NextTag() to allow walking "tag-lists"
4279           - Added method to format existing text
4280           - Fixed size/alignment calculations to use viewport
4281           - RecalculateDocument now can handle changing line-numbers while
4282             calculating lines
4283
4284         * TextBox.cs:
4285           - Added some wrap logic, we don't wrap if alignment is not left
4286           - Added casts for scrollbar var, base class switched types to
4287             also support RichTextBoxA
4288           - Implemented handling of scrollbar visibility flags
4289
4290         * TextBoxBase.cs:
4291           - Switched scrollbars type to RichTextBoxScrollBars to support
4292             RichTextBox
4293           - Added tracking of canvas width/height
4294           - Switched scrollbars to be not selectable (to keep focus on text)
4295           - Added central CalculateDocument() method to handle all redraw
4296             requirements
4297           - Added ReadOnly support
4298           - Added WordWrap support
4299           - Fixed handling of Enter key (we now treat it as a DialogKey)
4300           - Fixed caret positioning when h or v scroll is not zero
4301           - Fixed placing/generation of vertical scrollbar
4302           - Added CalculateScrollBars() method to allow updating scrollbar
4303             limits and visibility
4304           - Fixed handling of horizontal scroll
4305           - Added handling of vertical scroll
4306           - Implemented auto-'jump' when caret moves to close to a left or
4307             right border and there is text to be scrolled into view (currently
4308             there's the potential for a stack overflow, until a bug in
4309             scrollbar is fixed)
4310
4311 2005-06-21  Geoff Norton  <gnorton@customerdna.com>
4312         
4313         * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
4314
4315 2005-06-19  Alexander Olk  <xenomorph2@onlinehome.de>
4316
4317         * Mime.cs:
4318         - added inodes.
4319         - return application/x-zerosize for files with size zero
4320           (if no extension pattern matches).
4321         - check matches collection for strings too.
4322         - return only the first mime type if the name value
4323           collection has more than one mime type.
4324
4325 2005-06-18  Jonathan Chambers <jonathan.chambers@ansys.com>
4326         
4327         * PropertyGrid.cs: Cleaned up some TODOs
4328         * PropertyGridView.cs: Added support for UITypeEditors
4329
4330 2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
4331         
4332         * DataGrid.cs: clears cached value
4333
4334 2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>
4335
4336         * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
4337         * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
4338         * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
4339         * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
4340         
4341 2005-06-16  Jordi Mas i Hernandez <jordi@ximian.com>
4342
4343         * ThemeWin32Classic.cs: fixes colour
4344
4345 2005-06-15  Peter Bartok  <pbartok@novell.com>
4346
4347         * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
4348         * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
4349         * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
4350         * Control.cs: Added some MWFCategory and MWFDescription attributes
4351         * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
4352
4353 2005-06-15  Alexander Olk  <xenomorph2@onlinehome.de>
4354
4355         * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
4356         usage
4357
4358 2005-06-14  Jordi Mas i Hernandez <jordi@ximian.com>
4359
4360         * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
4361         * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
4362         * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
4363         * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
4364         * DataGrid.cs: default datagrid settings for Default Styles, fixes
4365         * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
4366
4367 2005-06-13  Jackson Harper  <jackson@ximian.com>
4368
4369         * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
4370         isn't printed when the user enables dropping. (X11 does accept
4371         drops).
4372         
4373 2005-06-13  Jackson Harper  <jackson@ximian.com>
4374
4375         * TreeView.cs: Remove some TODOS.
4376
4377 2005-06-13  Jackson Harper  <jackson@ximian.com>
4378
4379         * Form.cs: Hook into the mdi framework.
4380         * MdiClient.cs: Use the base control collections add method so
4381         parents get setup correctly. Set the default back colour and dock
4382         style.
4383         * MdiChildContext.cs: New class, this bad actor handles an
4384         instance of an MDI window. Right now there is only basic
4385         support. You can drag, close, and resize windows. Minimize and
4386         Maximize are partially implemented.
4387
4388 2005-06-13  Jackson Harper  <jackson@ximian.com>
4389
4390         * XplatUIX11.cs: Mash numbers together properly, otherwise we get
4391         freaky when both vals are negative. NOTE: There are probably other
4392         places in XplatUIX11 that this needs to be done.
4393
4394 2005-06-13  Jordi Mas i Hernandez <jordi@ximian.com>
4395
4396         * DataGrid.cs: implement missing methods, move KeyboardNavigation
4397         * DataGridColumnStyle.cs: fixes signature
4398
4399 2005-06-12  Jackson Harper  <jackson@ximian.com>
4400
4401         * XplatUIX11.cs: Use sizing cursors similar to the ones on
4402         windows.
4403
4404 2005-06-11  Jackson Harper  <jackson@ximian.com>
4405
4406         * StatusBarPanel.cs: Signature cleanups. Implement
4407         BeginInit/EndInit.
4408
4409 2005-06-10  Jordi Mas i Hernandez <jordi@ximian.com>
4410
4411         * DataGridTextBoxColumn.cs: Honors aligment
4412         * GridColumnStylesCollection.cs: Contains is case unsensitive
4413         * GridTableStylesCollection.cs: several fixes
4414         * DataGridTableStyle.cs: default column creation
4415         * DataGridDrawingLogic.cs: fixes
4416         * CurrencyManager.cs: ListName property
4417         * DataGrid.cs: multiple styles support
4418         * DataGridColumnStyle.cs: fixes
4419         
4420
4421 2005-06-10  Peter Bartok  <pbartok@novell.com>
4422
4423         * Control.cs(Select): Moved SetFocus call to avoid potential
4424           loops if controls change the active control when getting focus
4425         * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
4426           the up/down buttons
4427
4428 2005-06-10  Matthias Felgner  <matthiasf@voelcker.ocm>
4429
4430         * ImageListConverter.cs: Implemented
4431
4432 2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
4433
4434         * MonthCalendar.cs: Wired in NumericUpDown control for year
4435
4436 2005-06-10  John BouAntoun <jba-mono@optusnet.com.au>
4437
4438         * MonthCalendar.cs: Removed MonoTodo attributes on Click and
4439           DoubleClick events, since they are not meant to be fired.
4440
4441 2005-06-09  Peter Bartok  <pbartok@novell.com>
4442
4443         * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
4444           Jonathan's standalone controls into MWF, implemented missing
4445           events, attributes and methods; added xxxAccessible classes
4446         * AccessibleObject.cs: Made fields internal so other classes
4447           can change them if needed
4448
4449 2005-06-09  Jonathan Gilbert  <2a5gjx302@sneakemail.com>
4450
4451         * UpDownBase.cs: Complete implementation
4452         * NumericUpDown.cs: Complete implementation
4453         * DomainUpDown.cs: Complete implementation
4454
4455 2005-06-09  Jordi Mas i Hernandez <jordi@ximian.com>
4456
4457         * DataGridTextBoxColumn.cs: drawing fixes
4458         * DataGridCell.cs: fixes ToString method to match MSNet
4459         * DataGridTableStyle.cs: fixes
4460         * DataGridBoolColumn.cs: fixes, drawing
4461         * DataGridDrawingLogic.cs: fixes, new methods
4462         * DataGridTextBox.cs: Keyboard and fixes
4463         * DataGrid.cs:
4464                 - Keyboard navigation
4465                 - Scrolling fixes
4466                 - Row selection (single, multiple, deletion, etc)
4467                 - Lots of fixes
4468         
4469 2005-06-07  Jackson Harper  <jackson@ximian.com>
4470
4471         * ThemeWin32Classic.cs: Clear the background area when drawing
4472         buttons.
4473
4474 2005-06-06  Peter Bartok  <pbartok@novell.com>
4475
4476         * ImageListStreamer.cs: Fixed signature for GetData
4477         * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
4478         * ComboBox.cs:
4479           - Added missing ChildAccessibleObject class
4480           - Added missing OnXXXFocus overrides, switched to using those
4481             instead of the event handler
4482         * Control.cs:
4483           - Added Parent property for ControlAccessibleObject
4484           - Fixed signatures
4485           - Fixed attributes
4486           - Added ResetBindings()
4487         * ListBindingConverter.cs: Implemented some methods
4488         * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
4489         * ImageList.cs: Implemented basic handle scheme, removed TODOs
4490         * ContainerControl.cs: Fixed signature, now subscribing to the
4491           ControlRemoved event instead of overriding the handler, LAMESPEC
4492         * CurrencyManager.cs: Added missing attribute
4493         * MonthCalendar.cs: Added missing properties
4494
4495 2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
4496
4497         * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
4498         
4499 2005-06-06  Gaurav Vaish and Ankit Jain
4500
4501         * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
4502         * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
4503         
4504 2005-06-06  Jordi Mas i Hernandez <jordi@ximian.com>
4505
4506         * Control.cs: fixes CreateParams Width / Height.
4507
4508 2005-06-05  Peter Bartok  <pbartok@novell.com>
4509
4510         * Win32DnD.cs: Removed compilation warnings
4511
4512 2005-06-05  Peter Bartok  <pbartok@novell.com>
4513
4514         * Control.cs (CreateParams): Since we don't know if one of the
4515           properties we use is overridden, lets make sure if we fail accessing
4516           we continue with a backup plan
4517
4518 2005-06-05  Peter Bartok  <pbartok@novell.com>
4519
4520         * Win32DnD.cs:
4521           - Removed debug output
4522           - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
4523             struct
4524           - Plugged resource leak
4525         * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
4526           MS size
4527
4528 2005-06-05  Peter Bartok  <pbartok@novell.com>
4529
4530         * XplatUIWin32.cs: Removed DnD code
4531         * Win32DnD.cs: Implemented drop source and drop target functionality
4532
4533 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4534
4535         * UpDownBase.cs: remove duplicate addition of event, enable some code
4536         that was commented out.
4537         * NumericUpDown.cs: added missing attributes and Hexadecimal property.
4538         Validate input when a key is pressed. It works fine now for every
4539         combination of Hexadecimal. Only missing some drawing love when sharing
4540         space with other controls.
4541
4542 2005-06-04  Peter Bartok  <pbartok@novell.com>
4543
4544         * Control.cs:
4545           - We need to pass a window for DragDrop, so enable callback events
4546           - Added DnD callback events when being a DragSource
4547         * XplatUI.cs (StartDrag): Added window handle argument
4548         * XplatUIDriver.cs (StartDrag): Added window handle argument
4549         * QueryContinueDragEventArgs: Made fields internally accessible so
4550           drivers can set them
4551         * GiveFeedbackEventArgs: Made fields internally accessible so drivers
4552           can set them
4553
4554 2005-06-03  Jordi Mas i Hernandez <jordi@ximian.com>
4555
4556         * DataGridTextBoxColumn.cs: column text editing
4557         * DataGridTableStyle.cs: Respect columns styles created by the user
4558         * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
4559         * DataGridBoolColumn.cs: bool column editing
4560         * DataGrid.cs: fixes to scrolling, properties, etc
4561         * DataGridTextBox.cs: handle keyboard
4562         * DataGridColumnStyle.cs: fixes
4563
4564 2005-06-02  Jackson Harper  <jackson@ximian.com>
4565
4566         * ImageListStreamer.cs: Somewhat broken implementation of
4567         GetObjectData. The RLE needs some work to match MS properly.
4568
4569 2005-06-02  Jackson Harper  <jackson@ximian.com>
4570
4571         * X11Dnd.cs: Attempting to keep at least one file in MWF
4572         monostyled.
4573
4574 2005-06-02  Peter Bartok  <pbartok@novell.com>
4575
4576         * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
4577           that way
4578
4579 2005-06-02  Peter Bartok  <pbartok@novell.com>
4580
4581         * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
4582         * XplatUI.cs: Added DoDragDrop() method
4583         * XplatUIDriver.cs: Added DoDragDrop() method
4584
4585 2005-06-02  Jackson Harper  <jackson@ximian.com>
4586
4587         * Splitter.cs: Implement BorderStyle.
4588
4589 2005-06-02  Jackson Harper  <jackson@ximian.com>
4590
4591         * XplatUIX11.cs: Tie into the X11Dnd subsystem.
4592         * X11Dnd.cs: New file. A subsystem that handles drag and drop on
4593         X11 using XDND.
4594
4595 2005-06-02  Peter Bartok  <pbartok@novell.com>
4596
4597         * DataObject.cs:
4598           - Added Data setter
4599           - Fixed broken insertion code for SetData, now also
4600             overwrites any existing entry of the same format name
4601         * Hwnd.cs: Added list of pointers that automatically gets
4602           freed when the window is disposed
4603         * XplatUI.cs: Call driver initialization method when loading
4604           a driver
4605         * Control.cs:
4606           - OnDragLeave takes EventArgs, not DragEventArgs
4607           - Added setting of WS_EX_ACCEPTFILES style when dropping is
4608             supported
4609           - Forces style update when drop state changes
4610         * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
4611           not perfect since we cannot (yet) call the IDataObject.GetData()
4612           method, we keep getting 0x80004005 error, dunno why)
4613
4614 2005-06-02  Peter Bartok  <pbartok@novell.com>
4615
4616         * DragEventArgs.cs: Make fields internal so we can cache the
4617           object and re-set the fields from XplatUI
4618
4619 2005-06-02  Jackson Harper  <jackson@ximian.com>
4620
4621         * Control.cs: Add some internal methods so the DnD subsystem can
4622         raise DnD events. Also call into the driver when AllowDrop is set.
4623         * XplatUI.cs:
4624         * XplatUIDriver.cs: New method for setting whether or not a window
4625         is allowed to accept drag and drop messages.
4626                 
4627 2005-06-01  Jordi Mas i Hernandez <jordi@ximian.com>
4628         
4629         * ScrollBar.cs: Make sure that values sent in Scroll events
4630         are always between Maximum and Minimum.
4631
4632 2005-06-01  Marek Safar  <marek.safar@seznam.cz>
4633
4634         * Menu.cs: Call MenuChanged when menuitem visibility has been
4635         changed.
4636         * MenuItem.cs: Rebuild menu when item is (not) visible.
4637         * MainMenu.cs: MainMenu has special MenuChanged.
4638         * Theme.cs: Caption and FrameBorderSize are not fixed.
4639         * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
4640         * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
4641         * XplatUIX11.cs,
4642         * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
4643         * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
4644
4645 2005-05-30  Jackson Harper  <jackson@ximian.com>
4646
4647         * DataFormat.cs: We can't statically initialize this stuff because
4648         it calls into the xplatui and could create a loop. So we lazy init
4649         it.
4650
4651 2005-05-28  Jackson Harper  <jackson@ximian.com>
4652
4653         * Control.cs: Proper implementation of Product(Name/Version).
4654
4655 2005-05-27  Jackson Harper  <jackson@ximian.com>
4656
4657         * DataObject.cs: Dont crash if no data is found.
4658
4659 2005-05-26  Rafael Teixeira  <rafaelteixeirabr@hotmail.com>
4660         * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
4661                 as per status page, guessing it should be set to true
4662
4663 2005-05-26  Jordi Mas i Hernandez <jordi@ximian.com>
4664
4665         * DataGridTextBoxColumn.cs: Draws text and basic text formatting
4666         * DataGridTableStyle.cs: set proper formatting text, def header text
4667         * ThemeWin32Classic.cs: new themable paramaters
4668         * DataGridBoolColumn.cs: paint check box, get data, fixes
4669         * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
4670         * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
4671         * DataGridColumnStyle.cs: fixes
4672         * Theme.cs: new themable paramaters
4673                 
4674 2005-05-26  Peter Bartok  <pbartok@novell.com>
4675
4676         * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
4677
4678 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
4679         * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
4680
4681 2005-05-24  Peter Bartok  <pbartok@novell.com>
4682
4683         * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
4684           Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
4685           Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
4686           FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
4687           NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
4688           ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
4689           DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
4690           AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
4691           DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
4692           StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
4693           missing attributes, etc
4694         * DataGridPreferredColumnWidthTypeConverter.cs: Added
4695
4696 2005-05-24  Peter Bartok  <pbartok@novell.com>
4697
4698         * Help.cs: Added, implemented trivial functions, throws up MessageBox
4699           when user tries to get help
4700         * DataObject.cs, DataFormats.cs, LinkArea.cs,
4701           SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
4702           to suppress warnings
4703         * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
4704           avoid unreachable code warning
4705
4706 2005-05-20  Peter Bartok  <pbartok@novell.com>
4707
4708         * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
4709
4710 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
4711
4712         * DataGridTextBoxColumn.cs: Basic painting methods
4713         * DataGridTableStyle.cs: Set table style in the column
4714         * ThemeWin32Classic.cs: Use Theme for colors
4715         * DataGridDrawingLogic.cs: Implement more drawing
4716         * DataGrid.cs: drawing, theming, enhacements, fixes
4717         * DataGridColumnStyle.cs: fixes, drawing
4718         * Theme.cs: theming for Datagrid
4719
4720 2005-05-20  Peter Bartok  <pbartok@novell.com>
4721
4722         * Cursor.cs: Implemented GetObjectData() method
4723
4724 2005-05-20  Peter Bartok  <pbartok@novell.com>
4725
4726         * Cursors.cs: Added setting of cursor name
4727         * Cursor.cs:
4728           - Implemented constructors
4729           - Implemented Draw and DrawStretched
4730           - Implemented Current property
4731           - Implemented == and != operators
4732           - Implemented Dispose()
4733           - Implemented ToString
4734           - Added missing attributes
4735         * XplatUIX11.cs:
4736           - Added missing reset for OverrideCursor when DoEvents is called
4737           - Fixed creation of cursor, logic was wrong
4738         * XplatUIWin32.cs:
4739           - Added missing reset for OverrideCursor when DoEvents is called
4740           - Fixed creation of cursor, bit arrays were swapped
4741         * Clipboard.cs: Removed obsolete MonoTODO attribute
4742
4743 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
4744
4745         * ComboBox.cs: fixes OnSelectedItemChanged
4746         * ControlBindingsCollection.cs: fixes item range check
4747
4748 2005-05-20  Jordi Mas i Hernandez <jordi@ximian.com>
4749
4750         * UpDownBase.cs:
4751                 - Calc preferred height properly
4752                 - Implement missing properties
4753                 
4754         * NumericUpDown.cs: Implement missing events
4755
4756 2005-05-19  Jackson Harper  <jackson@ximian.com>
4757
4758         * TabControl.cs: New method that resizes the tab pages before
4759         redrawing them. This as needed as the control is double buffered
4760         and sizing will not be recalculated unless ResizeTabPages is
4761         called.
4762         * TabPage.cs: Set base.Text instead of Text in the constructor so
4763         that UpdateOwner does not get called. Use the new Redraw method of
4764         TabControl instead of Refresh so the sizing is recalculated.
4765         * ThemeWin32Classic.cs: Draw the text for button tabs.
4766
4767 2005-05-19  Jackson Harper  <jackson@ximian.com>
4768
4769         * Control.cs: Paint control background images. Fix typo where
4770         PaintControlBackground was not getting called correctly.
4771
4772 2005-05-19  Peter Bartok  <pbartok@novell.com>
4773
4774         * ScrollableControl.cs (DisplayRectangle): Undid my last change until
4775           I can investigate, apparently I broke FileDialog
4776
4777 2005-05-19  Marek Safar  <marek.safar@seznam.cz>
4778
4779         * AxHost.cs: Some simple properties.
4780         * Control.cs: window must be accessible after ctor.
4781         * Form.cs: Added TransparencyKey property.
4782         * TextBoxBase.cs: Implemented Clear. Text property can be null.
4783         * XplatUIWin32.cs: SetBorderStyle implemented.
4784
4785 2005-05-18  Peter Bartok  <pbartok@novell.com>
4786
4787         * DataObject.cs: Entries are not global but particular to the
4788           DataObject, now it behaves that way
4789         * XplatUIWin32.cs: Implemented Clipboard methods
4790         * Clipboard.cs: Implemented
4791         * ScrollableControl.cs (DisplayRectangle): Fixed calculation
4792         * XplatUIOSX.cs: Updated to final clipboard prototypes
4793         * XplatUIX11.cs: Implemented Clipboard methods
4794         * XplatUIDriver.cs: Updated to final clipboard prototypes
4795         * XplatUIStructs.cs:
4796           - Added BITMAPINFOHEADER struct
4797           - Added ClipboardFormats enum
4798         * X11Structs.cs:
4799           - Added ClipboardStruct
4800           - Added Atom enum items for clipboard types
4801           - Fixed atom types for Selection event structures
4802         * DataFormats.cs:
4803           - Added internal properties and methods for drivers to enumerate
4804             all known formats
4805           - Switched initialization method to allow drivers to assign their
4806             own IDs even for the MS predefined clipboard IDs
4807         * XplatUI.cs: Updated to final clipboard interface
4808
4809 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
4810         * PropertyGridView.cs: Fixed compiler warnings.
4811
4812 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
4813         * PropertyGrid.cs: Added some event calls
4814         * PropertyGridView.cs: Change drawing code to use double buffering
4815         * PropertyGridTextBox.cs: Changed Text property name
4816         * GridItem.cs: Added Bounds property.
4817         * GridEntry.cs: Added Bounds property.
4818
4819 2005-05-17  Lluis Sanchez Gual  <lluis@novell.com>
4820
4821         * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
4822         since GetType() may not return the correct type if the object is
4823         a remoting proxy.
4824
4825 2005-05-17  Jordi Mas i Hernandez <jordi@ximian.com>
4826
4827         * TreeNodeCollection.cs: fixes get/set item ranges
4828         
4829 2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
4830
4831         * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
4832                 
4833 2005-05-15  Jordi Mas i Hernandez <jordi@ximian.com>
4834
4835         * ComboBox.cs: Fix item range comparation
4836         * ListView.cs: Fix item range comparation
4837
4838 2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
4839
4840         * FontDialog.cs:
4841           - Clear example panel when OnPaint is called
4842           - Better solution for displaying the example panel text
4843           - Select default indexes in the ListBoxes
4844
4845 2005-05-11  Geoff Norton  <gnorton@customerdna.com>
4846
4847         * XplatUIOSX.cs: Avoid painting into invisible views.  Fixes #74926
4848
4849 2005-05-11  Peter Bartok  <pbartok@novell.com>
4850
4851         * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
4852         * SelectionRangeConverter.cs: Implemented
4853         * PropertyGrid.cs: Fixed attribute value
4854         * Control.cs:
4855           - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
4856           - Added Sebastien Pouliot's CAS Stack Propagation fixes
4857         * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
4858           that's common to all drivers. First methods to go there are
4859           Sebastien Pouliot's CAS Stack Propagation helper methods
4860         * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
4861           Sebastien Pouliot for CAS Stack Propagation
4862
4863 2005-05-11  Geoff Norton  <gnorton@customerdna.com>
4864
4865         * OSXStructs.cs:
4866           XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
4867
4868 2005-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
4869
4870         * DataGridTextBoxColumn.cs: fixed some members
4871         * GridColumnStylesCollection.cs: indexed column is case insensitive
4872         * DataGridTableStyle.cs: fixes
4873         * ThemeWin32Classic.cs: add new theme parameter
4874         * Theme.cs: add new theme parameter
4875         * DataGridDrawingLogic.cs: Datagrid's drawing logic
4876         * DataGrid.cs: fixes, new internal properties, etc.
4877         * DataGridColumnStyle.cs: allows to set grid value
4878         *
4879
4880 2005-05-10  Peter Bartok  <pbartok@novell.com>
4881
4882         * AccessibleObject.cs:
4883           - Removed MonoTODO attribute on help, method is correct
4884           - Fixed Bounds property
4885         * AxHost.cs: Moved MonoTODO
4886         * ButtonBase.cs: Now setting AccessibleObject properties
4887         * RadioButton.cs: Setting proper AccessibleObject role
4888         * CheckBox.cs: Setting proper AccessibleObject role
4889         * ControlBindingsCollection.cs: Added properties, methods and attributes
4890         * DataFormats.cs: Fixed awkward internal API, and changed to enable
4891           userdefined DataFormats.Format items as well
4892         * ListControl.cs: Removed data_member from the public eye
4893         * OpenFileDialog.cs:
4894           - Made class sealed
4895           - Added missing attributes
4896         * SaveFileDialog.cs: Added missing attributes
4897         * ImageListStreamer.cs: Fixed code that caused warnings
4898         * LinkLabel.cs: Removed unreachable code
4899         * TreeView.cs: Fixed code that caused warnings
4900         * PropertyGridView.cs: Fixed code that caused warnings
4901         * GridColumnStylesCollection.cs: Added missing attributes
4902         * GridTableStylesCollection: Added missing attribute
4903         * PropertyManager: Added .ctor
4904         * SecurityIDType: Added
4905         * DataObject.cs: Implemented class
4906         * LinkArea.cs: Added missing attribute
4907
4908 2005-05-11  Jordi Mas i Hernandez <jordi@ximian.com>
4909
4910         * RadioButton.cs: call base method to allow to fire OnClick event
4911         * UpDownBase.cs: OnMouseUp call base method
4912         * CheckedListBox.cs: call base method before returning
4913         * TrackBar.cs: call base method before returning
4914         
4915
4916 2005-05-10  Peter Bartok  <pbartok@novell.com>
4917
4918         * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
4919           for messages
4920
4921 2005-05-10  Peter Bartok  <pbartok@novell.com>
4922
4923         * DataFormats.cs: Implemented
4924         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
4925           XplatUIX11.cs: Added Clipboard APIs
4926         * XplatUIWin32.cs: Implemented Clipboard APIs
4927         * FolderBrowserDialog.cs: Added missing event, attributes
4928
4929 2005-05-10  Jordi Mas i Hernandez <jordi@ximian.com>
4930
4931         * CheckBox.cs: call base method to allow to fire OnClick event
4932
4933 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
4934
4935         * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
4936
4937 2005-05-06  Peter Bartok  <pbartok@novell.com>
4938
4939         * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
4940         * Screen.cs: Implemented
4941         * HelpNavigator.cs: Added
4942         * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
4943           property
4944         * HelpProvider.cs: Implemented all we can do until we have a CHM
4945           help library (which means that "What's This" does work now)
4946
4947 2005-05-06  Jackson Harper  <jackson@ximian.com>
4948
4949         * XplatUIX11.cs: Fix waking up the main loop.
4950                 
4951 2005-05-05  Peter Bartok  <pbartok@novell.com>
4952
4953         * XplatUI.cs: Updated revision
4954         * Form.cs: Removed enless loop
4955         * GroupBox.cs (OnPaint): Added call to base.OnPaint()
4956         * Label.cs (OnPaint): Added call to base.OnPaint()
4957         * ToolTip.cs: Made ToolTipWindow reusable for other controls
4958         * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
4959         * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
4960         * AxHost.cs: Added
4961         * ButtonBase.cs: Moved base.OnPaint() call to end of method
4962         * ThemeWin32Classic.cs: Replaced references to ToolTip with references
4963           to ToolTip.ToolTipWindow for drawing and size methods; this allows
4964           reuse of ToolTipWindow by other controls
4965         * SizeGrip.cs: Moved base.OnPaint() call to end of method
4966         * XplatUIX11.cs: Now clipping drawing area (experimental)
4967         * PictureBox.cs: Moved base.OnPaint() call to end of method
4968         * Theme.cs: Fixed ToolTip abstracts to match new format
4969         * ErrorProvider.cs: Implemented
4970
4971 2005-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
4972
4973         * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
4974         * LinkLabel.cs:
4975                 - Adds cursors
4976                 - Handles focus
4977                 - Implements LinkBehavior
4978                 - Fixes many issues
4979
4980 2005-05-03  Jackson Harper  <jackson@ximian.com>
4981
4982         * ListView.cs: Calculate the scrollbar positioning on resize and
4983         paint, so they get put in the correct place.
4984
4985 2005-05-03  Alexander Olk  <xenomorph2@onlinehome.de>
4986
4987         * ColorDialogs.cs: The small color panels are now handled by
4988           SmallColorControl. This fixes drawing of the focus rectangle
4989           and adds a 3D border.
4990
4991 2005-05-03  Peter Bartok  <pbartok@novell.com>
4992
4993         * Control.cs: Modified version of Jonathan Chamber's fix for
4994           double-buffering
4995
4996 2005-05-03  Jackson Harper  <jackson@ximian.com>
4997
4998         * ListView.cs: Remove redraw variable. Control now handles whether
4999         or not a redraw needs to be done, and will only raise the paint
5000         event if redrawing is needed.
5001
5002 2005-05-03  Jackson Harper  <jackson@ximian.com>
5003
5004         * Splitter.cs: No decorations for the splitter form. Cache the
5005         hatch brush.
5006
5007 2005-05-03  Jackson Harper  <jackson@ximian.com>
5008
5009         * TreeView.cs: Use dashed lines to connect nodes. Use the
5010         ControlPaint method for drawing the focus rect instead of doing
5011         that in treeview.
5012
5013 2005-05-02  Peter Bartok  <pbartok@novell.com>
5014
5015         * LinkLabel.cs: Fixed the fixes from r43566 and 43521
5016
5017 2005-04-29  Jackson Harper  <jackson@ximian.com>
5018
5019         * ThemeWin32Classic.cs: Don't clear the GC that will clear the
5020         entire image buffer. Just clear the clipping rectangle.
5021
5022 2005-04-29  Jackson Harper  <jackson@ximian.com>
5023
5024         * ThemeWin32Classic.cs: Don't draw list view items that are
5025         outside the clipping rectangle.
5026
5027 2005-04-29  Jordi Mas i Hernandez <jordi@ximian.com>
5028
5029         * ListBox.cs: added horizontal item scroll
5030
5031 2005-04-29  Jackson Harper  <jackson@ximian.com>
5032
5033         * ThemeWin32Classic.cs: Remove some old debug code that was
5034         causing flicker with the new double buffering code.
5035
5036 2005-04-29  John BouAntoun  <jba-mono@optusnet.com.au>
5037
5038         * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
5039         behave like combobox and comboboxlist (still not sure if this is
5040         correct though).
5041
5042 2005-04-28  Jackson Harper  <jackson@ximian.com>
5043
5044         * ThemeWin32Classic.cs: Don't fill the middle of progress
5045         bars. This fills areas outside of the clip bounds that don't need
5046         to be filled.
5047
5048 2005-04-28  Jackson Harper  <jackson@ximian.com>
5049
5050         * Control.cs: Don't expose functionality to touch the image buffers.
5051         * ProgressBar.cs:
5052         * ListView.cs: We do not need to (and no longer can) manipulate
5053         the image buffers directly. All of this is handled by Control.
5054
5055 2005-04-28  Peter Bartok  <pbartok@novell.com>
5056
5057         * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
5058           RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
5059           RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
5060
5061 2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
5062
5063         * Combobox:
5064                 - Adjust control's height for non-simple comboboxes (bug fix)
5065                 - Remove dead code
5066         * MenuAPI.cs: remove unused var
5067         * ScrollBar.cs: remove unsed var
5068                  
5069         * ListBox.cs: unselect items when clearing
5070
5071 2005-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
5072
5073         * ListControl.cs: honors OnPositionChanged and default Selected Item
5074         * ListBox.cs: unselect items when clearing
5075
5076 2005-04-27  Jackson Harper  <jackson@ximian.com>
5077
5078         * X11Keyboard.cs: Initialize a default keyboard and give a warning
5079         if a "correct" keyboard is not found. This will make us not crash,
5080         but might give some users bad keyboard layouts...seems to be the
5081         same thing rewind does.
5082
5083 2005-04-27  Jackson Harper  <jackson@ximian.com>
5084
5085         * BindingManagerBase.cs: Attach the current/position changed
5086         handlers to their respective events.
5087
5088 2005-04-27  Jackson Harper  <jackson@ximian.com>
5089
5090         * Control.cs: Make sure that the first WM_PAINT does a full draw,
5091         not just a blit.
5092         * ThemeWin32Classic.cs: Don't fill the background for picture
5093         boxes. This could overright user drawing.
5094         * ComboBox.cs: Just fill the clipping rect not the entire client
5095         rect when drawing the background. This prevents pieces of the
5096         image buffer from getting overwritten and is theoretically faster.
5097
5098 2005-04-26  Jordi Mas i Hernandez <jordi@ximian.com>
5099
5100         * ComboBox.cs: Databinding support fixes, fire missing events
5101         * ListControl.cs: implement missing methods and properties, fixes
5102         * ThemeWin32Classic.cs: Databiding support on Drawing
5103         * CheckedListBox.cs: Databinding support fixes, fire missing events
5104         * ListBox.cs: Databinding support fixes, fire missing events
5105         
5106 2005-04-25  Peter Bartok  <pbartok@novell.com>
5107
5108         * LinkLabel.cs: Length of LinkArea is not allowed to be negative
5109
5110 2005-04-25  Jackson Harper  <jackson@ximian.com>
5111
5112         * TreeView.cs: Use the horizontal scrollbars height not width when
5113         determining how much of the client area is available.
5114
5115 2005-04-25  Jackson Harper  <jackson@ximian.com>
5116
5117         * Control.cs: Double buffering is handled differently now. As per
5118         the spec, the extra buffer is created in the WM_PAINT message and
5119         passed down to the control's drawing code.
5120         * GroupBox.cs:
5121         * Label.cs:
5122         * CheckBox.cs:
5123         * ProgressBar.cs:
5124         * RadioButton.cs:
5125         * ColorDialog.cs:
5126         * ComboBox.cs:
5127         * PropertyGridView.cs:
5128         * UpDownBase.cs:
5129         * MessageBox.cs:
5130         * MenuAPI.cs:
5131         * ListView.cs:
5132         * ButtonBase.cs:
5133         * SizeGrip.cs:
5134         * ScrollBar.cs:
5135         * ListBox.cs:
5136         * TrackBar.cs:
5137         * ToolBar.cs:
5138         * PictureBox.cs:
5139         * DateTimePicker.cs:
5140         * StatusBar.cs:
5141         * TreeView.cs: Update to new double buffering system.
5142         * MonthCalendar.cs: Uncomment block, as Capture is now
5143         working. Update to new double buffering
5144         * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
5145         * PaintEventArgs.cs: New internal method allows us to set the
5146         graphics object. This is used for double buffering.
5147         * ThemeWin32Classic.cs: Give the picture box drawing code a clip
5148         rectangle. The internal paint_area var has been removed from
5149         StatusBar. The clipping rect should be used instead.
5150         * Theme.cs: Give the PictureBox drawing method a clipping rect.
5151         * TabPage.cs: The RefreshTabs method was removed, so just call the
5152         tab controls Refresh method now.
5153         * TabControl.cs: Update to new double buffering. Make sure the
5154         handle is created before sizing the tab pages, otherwise we will
5155         get stuck in a loop.
5156
5157 2005-04-24  Borja Sanchez Zamorano <borsanza@gmail.com>
5158
5159         * LinkLabel.cs: Fix typo, bug #74719; patch
5160           from Borja Sanchez Zamorano
5161
5162 2005-04-22  Jackson Harper  <jackson@ximian.com>
5163
5164         * TreeNode.cs: Implement Handle stuff.
5165         * TreeView.cs: Utility methods so nodes can get/lookup by handle.
5166
5167 2005-04-22  Jordi Mas i Hernandez <jordi@ximian.com>
5168
5169         * DataGridTextBoxColumn.cs: call base constructors, fixes
5170         * GridColumnStylesCollection.cs: missing events, methods, and functionality
5171         * GridTableStylesCollection.cs: fixes, check duplicate mapping names
5172         * DataGridTableStyle.cs: implements create default column styles
5173         * DataGridBoolColumn.cs: which types can handle
5174         * DataGrid.cs: missing methods, fixes, new functionality
5175         * DataGridColumnStyle.cs: fixes
5176
5177 2005-04-20  Alexander Olk  <xenomorph2@onlinehome.de>
5178         * FolderBrowserDialog.cs:
5179         - Use a thread to fill the TreeView
5180         - Adjusted some sizes
5181
5182 2005-04-19  Peter Bartok  <pbartok@novell.com>
5183
5184         * LinkLabel.cs: (Re-)create the pieces when setting the Text
5185           property. Fixes #74360.
5186
5187 2005-04-19  Jackson Harper  <jackson@ximian.com>
5188
5189         * XEventQueue.cs: Lock when getting the lockqueue size.
5190         * PictureBox.cs: Call base OnPaint
5191         
5192 2005-04-19  Peter Bartok  <pbartok@novell.com>
5193
5194         * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
5195           messages were no longer being processed (this broke BeginInvoke)
5196
5197           
5198 2005-04-18  Jackson Harper  <jackson@ximian.com>
5199
5200         * TreeView.cs: buglet that caused node images to get drawn
5201         regardless of whether or not they were in the clipping rectangle.
5202
5203 2005-04-18  Jackson Harper  <jackson@ximian.com>
5204
5205         * CurrencyManager.cs: There are four rules for GetItemProperties:
5206         - If the type is an array use the element type of the array
5207         - If the type is a typed list, use the type
5208         - If the list contains an Item property that is not an object, use
5209         that property
5210         - use the first element of the list if there are any elements in
5211         the list.
5212         
5213 2005-04-17  Jackson Harper  <jackson@ximian.oom>
5214
5215         * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
5216         click. This handles offsets for scrolling properly and reduces
5217         memory. Also fixed GetNode to not offset now that TopNode works
5218         properly.
5219         * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
5220         
5221 2005-04-17  Jackson Harper  <jackson@ximian.com>
5222
5223         * CursorConverter.cs: Initial implementation.
5224
5225 2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
5226
5227         * ListControl.cs: work towards complex data binding support on ListControl
5228         * CurrencyManager.cs: work towards complex data binding support on ListControl
5229         * ListBox.cs: work towards complex data binding support on ListControl
5230
5231
5232 2005-04-15  Jordi Mas i Hernandez <jordi@ximian.com>
5233
5234         * GridTableStylesCollection.cs: fixes name and constructor
5235         * DataGridTableStyle.cs: fixes
5236         * DataGridBoolColumn.cs: fixes names and constructors
5237         * DataGrid.cs: define methods and properties. Some init implementations
5238         * DataGridCell.cs: define methods and properties. Some init implementations
5239         * GridTablesFactory.cs: Define methods and properties
5240
5241 2005-04-15  Geoff Norton  <gnorton@customerdna.com>
5242
5243         * XplatUIOSX.cs:  Handle proper mouse tracking even if the current
5244         graphics port changes.  We still want the coordinates in global screen
5245         coordinates.
5246
5247 2005-04-14  Jackson Harper  <jackson@ximian.com>
5248
5249         * TreeView.cs: Handle clicks when plus minus is disabled. Don't
5250         check plus minus or checkbox clicks unless those features are enabled.
5251
5252 2005-04-14  Jackson Harper  <jackson@ximian.com>
5253
5254         * TreeView.cs: Add methods for setting the top and bottom visible
5255         nodes. TreeNode::EnsureVisible uses these methods.
5256         * TreeNode.cs: Implement EnsureVisible
5257
5258 2005-04-13  Jordi Mas i Hernandez <jordi@ximian.com>
5259
5260         * Form.cs: Pospone menu assignation if the window has not been created yet
5261         * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
5262         size and position
5263
5264 2005-04-12  Jackson Harper  <jackson@ximian.com>
5265
5266         * TreeView.cs: Set the TopNode properly when scrolling
5267         occurs. This has the added benifit of reducing the amount of
5268         walking that needs to be done when drawing. Also removed an old
5269         misleading TODO.
5270         * OpenTreeNodeEnumerator.cs: Fix moving backwards.
5271         
5272 2005-04-11  Jordi Mas i Hernandez <jordi@ximian.com>
5273
5274         * Timer.cs: fixes interval setting when the timer is already enabled
5275         
5276 2005-04-10  Alexander Olk  <xenomorph2@onlinehome.de>
5277
5278         * FolderBrowserDialog.cs: First approach
5279
5280 2005-04-09  Peter Bartok  <pbartok@novell.com>
5281
5282         * FolderBrowserDialog: Added
5283
5284 2005-04-07  Jordi Mas i Hernandez <jordi@ximian.com>
5285
5286         * LinkLabel.cs: move drawing code into the theme
5287         * ThemeWin32Classic.cs: drawing code and painting background bugfix
5288         * Theme.cs: define DrawLinkLabel method
5289
5290 2005-04-05  Jackson Harper  <jackson@ximian.com>
5291
5292         * BindingContext.cs: Use weak references so these bad actors don't
5293         stay alive longer then they need to.
5294
5295 2005-04-05  Jackson Harper  <jackson@ximian.com>
5296
5297         * ListControl.cs: Basic implementation of complex databinding.
5298         * ComboBox.cs:
5299         * ListBox.cs: Add calls to ListControl databinding methods.
5300
5301 2005-04-05  Alexander Olk  <xenomorph2@onlinehome.de>
5302
5303         * FileDialog.cs:
5304           - Don't change PopupButtonState to Normal when the
5305             PopupButton gets pressed several times.
5306           - Renamed ButtonPanel to PopupButtonPanel
5307
5308 2005-04-05  Jordi Mas i Hernandez <jordi@ximian.com>
5309
5310         * ColorDialog.cs: Use cached objects instead of creating them
5311         * LinkLabel.cs: Use cached objects instead of creating them
5312         * Splitter.cs: Use cached objects instead of creating them
5313         * FontDialog.cs: Use cached objects instead of creating them
5314         * PropertyGridView.cs: Use cached objects instead of creating them
5315         * MessageBox.cs: Use cached objects instead of creating them
5316         * FileDialog.cs: Use cached objects instead of creating them
5317         * ThemeWin32Classic.cs: Use cached objects instead of creating them
5318         * TreeView.cs: Use cached objects instead of creating them
5319         
5320 2005-04-04  Jordi Mas i Hernandez <jordi@ximian.com>
5321
5322         * Control.cs: use Equals to compare the font since no == op
5323         * ScrollBar.cs: use Equals to compare the font since no == op
5324
5325 2005-04-04  Alexander Olk  <xenomorph2@onlinehome.de>
5326
5327         * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
5328
5329 2005-04-01  Jackson Harper  <jackson@ximian.com>
5330
5331         * Binding.cs: Implement IsBinding.
5332         * BindingManagerBase.cs:
5333         * PropertyManager.cs:
5334         * CurrencyManager.cs: Add IsSuspended property.
5335
5336 2005-04-01  Jackson Harper  <jackson@ximian.com>
5337
5338         * Binding.cs: Had some IsAssignableFrom calls backwards.
5339
5340 2005-04-01  Jackson Harper  <jackson@ximian.com>
5341
5342         * Binding.cs: Handle null data members when pulling data.
5343         * PropertyManager.cs: Handle the data member being a property that
5344         does not exist.
5345
5346 2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
5347
5348         * DataGridTextBoxColumn.cs: fixes signature
5349         * DataGrid.cs: calls right constructor
5350
5351 2005-04-01  Jordi Mas i Hernandez <jordi@ximian.com>
5352
5353         * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
5354         * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
5355         * GridTableStylesCollection.cs: implements GridTableStylesCollection
5356         * DataGridTableStyle.cs: implements DataGridTableStyle
5357         * DataGridBoolColumn.cs: implements DataGridBoolColumn
5358         * DataGridTextBox.cs: implements DataGridTextBox
5359         * DataGridColumnStyle.cs: implements DataGridColumnStyle
5360
5361 2005-03-31  Alexander Olk  <xenomorph2@onlinehome.de>
5362
5363         * FileDialog.cs: Added simple PopupButton class for ButtonPanel
5364
5365 2005-03-29  Peter Bartok  <pbartok@novell.com>
5366
5367         * Application.cs:
5368           - Properly implemented CompanyName property
5369           - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
5370             returns a path that includes CompanyName, ProductName and
5371             Version (fixes bug #70330)
5372
5373 2005-03-29  Stefan Buehler  <sbuehler@gmx.ch>
5374
5375         * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
5376           fixes bug #72588.
5377
5378 2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
5379
5380         * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
5381         
5382           - Added ReadOnly CheckBox
5383           - Further refactoring: moved some code from Open-/SaveFileDialog
5384             to FileDialog
5385
5386 2005-03-28  Alexander Olk  <xenomorph2@onlinehome.de>
5387
5388         * OpenFileDialog.cs: Fixed CheckFileExists
5389         * FileDialog.cs:
5390           Moved FileView and DirComboBox outside FileDialog class.
5391           They can now be used outside FileDialog
5392
5393 2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
5394
5395         * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
5396         * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
5397
5398 2005-03-27  Alexander Olk  <xenomorph2@onlinehome.de>
5399
5400         * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
5401           - Added missing CreatePrompt property in SaveDialog
5402           - Overall SaveDialog handling should be better now
5403           - Added non standard ShowHiddenFiles property
5404           - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
5405           - Added InitialDirectory and RestoreDirectory support
5406
5407 2005-03-26  Alexander Olk  <xenomorph2@onlinehome.de>
5408
5409         * FileDialog.cs: Made dirComboBox usable
5410
5411 2005-03-24  Alexander Olk  <xenomorph2@onlinehome.de>
5412
5413         * FileDialog.cs: Added Filter support (case sensitiv)
5414
5415 2005-03-24  Jackson Harper  <jackson@ximian.com>
5416
5417         * TabControl.cs: Need a couple more pixels for the lines.
5418
5419 2005-03-23  Jackson Harper  <jackson@ximian.com>
5420
5421         * TabControl.cs: Give the tab page focus when it is selected.
5422
5423 2005-03-23  Jackson Harper  <jackson@ximian.com>
5424
5425         * TabControl.cs: Account for the drawing of tabs borders when
5426         invalidating. If the slider was clicked dont do click detection on
5427         the tabs.
5428
5429 2005-03-23  Jackson Harper  <jackson@ximian.com>
5430
5431         * TabControl.cs: Fix typo, emilinates an unneeded expose event.
5432
5433 2005-03-22  Jonathan Chambers  <jonathan.chambers@ansys.com>
5434
5435         * CategoryGridEntry.cs: Added
5436         * GridItem.cs: Added helper properties
5437         * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
5438         * GridEntry.cs: Updated code for collection
5439         * PropertyGrid.cs: Cleaned up some formatting
5440         * PropertyGridView.cs: Added drop down functionality for enums.
5441         * GridItemCollection.cs: Added enumerator logic
5442         * PropertyGridEntry.cs: Added
5443
5444 2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
5445
5446         * FileDialog.cs:
5447           - Removed unnecessary commented code
5448           - Fixed handling for entering the filename manually in the combobox
5449
5450 2005-03-19  Alexander Olk  <xenomorph2@onlinehome.de>
5451
5452         * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
5453
5454 2005-03-18  Peter Bartok  <pbartok@novell.com>
5455
5456         * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
5457           them being touching the border
5458
5459 2005-03-18  Peter Bartok  <pbartok@novell.com>
5460
5461         * TextControl.cs: Quick hack to center text better
5462
5463 2005-03-18  Peter Bartok  <pbartok@novell.com>
5464
5465         * ControlPaint.cs:
5466           - Don't throw NotImplemented exceptions, just print a notice once
5467             instead (requested by Miguel). This makes running existing SWF
5468             apps a bit easier
5469         * Control.cs:
5470           - Commented out Drag'N'Drop XplatUI call (no driver support yet)
5471           - Added context menu trigger on right click
5472         * Panel.cs: Trigger invalidate on resize
5473         * StatusBar.cs:
5474           - Removed old double-buffer drawing
5475           - Added ResizeRedraw style to force proper update of statusbar
5476         * ListView.cs:
5477           - Removed debug output
5478         * ThemeWin32Classic.cs:
5479           - Fixed drawing of status bar, now draws Text property if there
5480             are no defined panels
5481
5482 2005-03-18  Jackson Harper  <jackson@ximian.com>
5483
5484         * ImageList.cs: When the image stream is set pull all the images
5485         from it.
5486         * ImageListStreamer.cs: Implement reading image list streams.
5487
5488 2005-03-18  Peter Bartok  <pbartok@novell.com>
5489
5490         * ThemeWin32Classic.cs (DrawPictureBox):
5491           - Fixed calculations for centered drawing
5492           - Fixed drawing for normal mode, not scaling the image on normal
5493
5494 2005-03-18  Peter Bartok  <pbartok@novell.com>
5495
5496         * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
5497           textbox
5498         * FileDialog.cs:
5499           - Made Open/Save button the accept button for FileDialog
5500           - Tied the cancel button to the IButtonControl cancel button
5501           - Save/Open now properly builds the pathname
5502           - Now handles user-entered text
5503           - Preventing crash on right-click if no item is selected
5504           - Fixed Text property, now uses contents of textbox
5505           - Fixed SelectedText property, now just returns the text part that
5506             is selected in the text box
5507
5508 2005-03-18  Jackson Harper  <jackson@ximian.com>
5509
5510         * ThemeWin32Classic.cs: Use the proper func for drawing the focus
5511         rect, make sure to de-adjust the interior rect after drawing the
5512         tab text.
5513
5514 2005-03-18  Peter Bartok  <pbartok@novell.com>
5515
5516         * MenuAPI.cs: Remove menu *before* executing selected action to
5517           prevent the menu from 'hanging around'
5518           
5519 2005-03-17  Geoff Norton  <gnorton@customerdna.com>
5520
5521         * XplatUIOSX.cs: Implemented WorkingArea property
5522
5523 2005-03-17  Peter Bartok  <pbartok@novell.com>
5524
5525         * XplatUIX11.cs: Fixed menu coord calculations
5526         * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
5527           for calculating offsets
5528
5529 2005-03-17  Peter Bartok  <pbartok@novell.com>
5530
5531         * Hwnd.cs: Do not consider menu presence for default client
5532           rectangle location/size
5533         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
5534           XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
5535           translation functions
5536         * FileDialog.cs: Fixed (what I presume is a) typo
5537
5538 2005-03-17  Jonathan Gilbert  <logic@deltaq.org>
5539
5540         * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
5541           X access (avoids X-Async errors)
5542
5543 2005-03-16  Jackson Harper  <jackson@ximian.com>
5544
5545         * TabControl.cs: Raise the SelectedIndexChanged event.
5546
5547 2005-03-16  Alexander Olk  <xenomorph2@onlinehome.de>
5548
5549         * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
5550           - Removed vertical ToolBar and replaced it with a custom panel
5551             (desktop and home button already work)
5552           - Added Help button (some controls get resized or relocated then)
5553           - Draw correct text depending on Open or Save.
5554           - Fixed some typos...
5555
5556 2005-03-16  Jordi Mas i Hernandez <jordi@ximian.com>
5557
5558         * ScrollBar.cs:
5559           - Only change Maximum and Minimum when need it (bug fix)
5560
5561 2005-03-15  Peter Bartok  <pbartok@novell.com>
5562
5563         * Form.cs: Use Handle for icon, to trigger creation if
5564           the window does not yet exist
5565         * Control.cs:
5566           - CanSelect: Slight performance improvement
5567           - Focus(): Preventing possible recursion
5568           - Invalidate(): Removed ControlStyle based clear flag setting
5569           - WM_PAINT: fixed logic for calling OnPaintBackground
5570           - WM_ERASEBKGND: Fixed logic, added call to new driver method
5571             EraseWindowBackground if the control doesn't paint background
5572         * XplatUIWin32.cs:
5573           - Moved EraseWindowBackground() method to internal methods
5574           - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
5575             is sent via SendMessage on BeginPaint call on Win32
5576         * XplatUIX11.cs:
5577           - Added EraseWindowBackground() method
5578           - No longer sends WM_ERASEBKGND on .Expose, but on call to
5579             PaintEventStart, which more closely matches Win32 behaviour
5580           - Fixed Invalidate() call, now updates new ErasePending Hwnd property
5581           - Fixed SetFocus() to properly deal with client and whole windows
5582         * Hwnd.cs: Added ErasePending property
5583         * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
5584         * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
5585
5586 2005-03-12  Geoff Norton  <gnorton@customerdna.com>
5587
5588         * XplatUIOSX.cs:
5589           - Fix hard loop when timers exist.
5590           - Fix bugs with middle and right click for 3 button mice.
5591
5592 2005-03-11  Peter Bartok  <pbartok@novell.com>
5593
5594         * XplatUIX11.cs:
5595           - get_WorkingArea: Need to call X directly, GetWindowPos only
5596             returns cached data now
5597           - Added sanity check to GetWindowPos hwnd usage
5598
5599 2005-03-11  Jackson Harper  <jackson@ximian.com>
5600
5601         * BindingManagerBase.cs: This method isn't used anymore as
5602         PullData now updates the data in the control.
5603
5604 2005-03-11  Jordi Mas i Hernandez <jordi@ximian.com>
5605
5606         * Form.cs: fixes menu drawing on X11
5607         * MenuAPI.cs:  fixes menu drawing on X11
5608
5609 2005-03-11  Peter Bartok  <pbartok@novell.com>
5610
5611         * Control.cs: Changed OnCreateControl behaviour based on a suggestion
5612           from Jonathan Gilbert; should fix bug #73606
5613         * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
5614           in Screen coordinates. Thanks, Jordi.
5615         * Form.cs: Added missing attribute
5616
5617 2005-03-11  Peter Bartok  <pbartok@novell.com>
5618
5619         * Form.cs:
5620           - Rudimentary Mdi support
5621           - Removed outdated FormParent code
5622           - Implemented lots of missing properties and methods, still missing
5623             transparency support
5624           - Added missing attributes
5625           - Implemented support for MaximumBounds
5626           - Added firing of various events
5627         * XplatUI.cs: Added SetIcon() method
5628         * XplatUIDriver.cs: Added SetIcon() abstract
5629         * XplatUIOSX.cs: Stubbed out SetIcon() method
5630         * XplatUIX11.cs:
5631           - Implemented SetIcon() support
5632           - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
5633           - Switched to unix line endings
5634         * XplatUIWin32.cs:
5635           - Made POINT internal so for can access it as part of MINMAX
5636           - Implemented SetIcon() support
5637           - Implemented support for CLIENTCREATESTRUCT (but might have to drop
5638             native Mdi support again, might have to go managed)
5639         * Control.cs: Now fires the StyleChanged event
5640         * MdiClient.cs: Added; still mostly empty
5641
5642 2005-03-10  Peter Bartok  <pbartok@novell.com>
5643
5644         * SaveFileDialog.cs: Added emtpy file
5645
5646 2005-03-08  Peter Bartok  <pbartok@novell.com>
5647
5648         * Control.cs: Fixed bug #73190; now invokes CreateControl (which
5649           in turn triggers OnCreateContro) when creating a handle for the
5650           first time.
5651         * TextControl.cs: Fixed endless loop in certain cases when
5652           replacing the current selection
5653
5654 2005-03-08  Jordi Mas i Hernandez <jordi@ximian.com>
5655
5656         * ScrollBar.cs:
5657           - Honors NewValue changes in Scroll events allowing apps to change it
5658           - Adds First and Last Scroll events
5659           - Fixes Thumb events
5660
5661 2005-03-07  Peter Bartok  <pbartok@novell.com>
5662
5663         * Hwnd.cs: Added DefaultClientRectangle property
5664         * XplatUI.cs: Now using the X11 driver Where() method, which provides
5665           more detailed debug information
5666         * XplatUIX11.cs:
5667           - Fixed size-change feedback loop, where we would pull an old size
5668             off the queue and mistakenly change our window's size to an
5669             earlier value
5670           - Now compressing ConfigureNotify events, to reduce looping and
5671             redraw issues
5672         * TextBoxBase.cs: Preventing crash when no text is set and ToString()
5673           is called
5674
5675 2005-03-07  Jackson Harper  <jackson@ximian.com>
5676
5677         * Binding.cs: Push data pushes from data -> property. Check if the
5678         property is readonly when attempting to set it.
5679
5680 2005-03-07  Jackson Harper  <jackson@ximian.com>
5681
5682         * Binding.cs: Format and parse data correctly. Use ASsignableFrom
5683         instead of IsSubclassOf. Pulling data now sets the value on the
5684         control.
5685         * PropertyManager.cs:
5686         * CurrencyManager.cs: Just need to pull data when updating now,
5687         because PullData will set the value on the control.
5688
5689 2005-03-04  Jackson Harper  <jackson@ximian.com>
5690
5691         * Binding.cs: Implement data type parsing and converting on pulled
5692         data. TODO: Are there more ways the data can be converted?
5693
5694 2005-03-04  Jackson Harper  <jackson@ximian.com>
5695
5696         * Binding.cs: Support <Property>IsNull checks. Also bind to the
5697         controls Validating method so we can repull the data when the
5698         control loses focus.
5699
5700 2005-03-03  Jordi Mas i Hernandez <jordi@ximian.com>
5701
5702         * ColumnHeader.cs:
5703           - Fixes null string format
5704           
5705         * ListView.cs:
5706           - Adds enum type checks
5707           - Fixes redrawing and recalc need after changing some properties
5708           - Fixes on focus_item set after the event
5709           - Fixes adding columns after the control has been created
5710           
5711         * ThemeWin32Classic.cs:
5712           - Fixes CheckBox focus rectangle
5713           - Fixes ColumnHeader drawing
5714
5715
5716 2005-03-03  Jackson Harper  <jackson@ximian.com>
5717
5718         * Binding.cs: Bind to <Property>Changed events so we can detect
5719         when properties are changed and update the data.
5720
5721 2005-03-02  Jordi Mas i Hernandez <jordi@ximian.com>
5722
5723         * ImageList.cs:
5724           - Changes 32-bit pixel format to Format32bppArgb to allow transparency
5725           - Fixes ImageList constructor with ImageList container
5726           - Fixes image scaling (wrong parameters at DrawImage)
5727
5728 2005-02-02  Jackson Harper  <jackson@ximian.com>
5729
5730         * Binding.cs: Make property searches case-insensitive. Eliminate
5731         some duplicated code.
5732
5733 2005-03-01  Jordi Mas i Hernandez <jordi@ximian.com>
5734
5735         * ComboBox.cs:
5736                 - Handle focus event
5737                 - Fix scrollbar events
5738                 - Discard highlighted item if remove it
5739                 - Fixes SelectedItem with strings
5740
5741 2005-03-01  Peter Bartok  <pbartok@novell.com>
5742
5743         * Control.cs:
5744           - Fixed Visible property, now follows (once again) parent chain
5745             to return false if any control in the chain is visible=false
5746           - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
5747           - Fixed several places where is_visible instead of Visible was used
5748           - Implemented FIXME related to focus selection when setting focused
5749             control to be invisible
5750
5751         * XplatUIWin32.cs: Now using proper method to find out if window is
5752           visible. Thanks to Jordi for pointing it out
5753
5754 2005-02-28  Jordi Mas i Hernandez <jordi@ximian.com>
5755
5756         * ComboBox.cs: show/hide scrollbar instead of creating it
5757
5758 2005-02-27  Jackson Harper  <jackson@ximian.com>
5759
5760         * CurrencyManager.cs: Add PositionChanged stuff.
5761
5762 2005-02-27  Peter Bartok  <pbartok@novell.com>
5763
5764         * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
5765         * XplatUIOSX.cs: Added GetMenuOrigin() stub
5766         * XplatUIWin32.cs: Implemented GetMenuOrigin()
5767         * XplatUIX11.cs:
5768           - Implemented GetMenuDC()
5769           - Implemented GetMenuOrigin()
5770           - Implemented ReleaseMenuDC()
5771           - Implemented generation of WM_NCPAINT message
5772           - Implemented generation and handling of WM_NCCALCSIZE message
5773         * Form.cs: Added debug helper message for Jordi's menu work
5774         * Hwnd.cs:
5775           - Modified ClientRect property; added setter, fixed getter to handle
5776             setting of ClientRect
5777           - Added MenuOrigin property
5778
5779 2005-02-26  Peter Bartok  <pbartok@novell.com>
5780
5781         * XplatUIX11.cs:
5782           - Destroys the caret if a window that's being destroyed contains it
5783           - Ignores expose events coming from the X11 queue for windows that
5784             already are destroyed
5785           - Now uses the proper variable for handling DestroyNotify, before we
5786             marked the wrong window as destroyed
5787           - Improved/added some debug output
5788
5789 2005-02-26  Peter Bartok  <pbartok@novell.com>
5790
5791         * X11Keyboard.cs: Fixes to work on 64bit systems
5792
5793 2005-02-26  Peter Bartok  <pbartok@novell.com>
5794
5795         * Control.cs:
5796           - Now calling OnHandleDestroyed from DestroyHandle()
5797             instead of Dispose()
5798           - Removed bogus call to controls.Remove() from DestroyHandle()
5799
5800 2005-02-26  Peter Bartok  <pbartok@novell.com>
5801
5802         * Control.cs: Properly destroy child windows when our handle is
5803           destroyed
5804
5805 2005-02-25  Peter Bartok  <pbartok@novell.com>
5806
5807         * XplatUI.cs:
5808           - Added 'DriverDebug' define to allow tracing XplatUI API calls
5809           - Alphabetized Static Methods and Subclasses
5810
5811         * XplatUIX11.cs:
5812           - Added XException class to allow custom handling of X11 exceptions
5813           - Created custom X11 error handler, tied into XException class
5814           - Added support for MONO_XEXCEPTIONS env var to allow the user
5815             to either throw an exception on X errors or continue running
5816             after displaying the error
5817           - Added handling of DestroyNotify message
5818           - Added handler for CreateNotify message (still disabled)
5819           - Improved (tried to at least) Where method to provide file and lineno
5820         * X11Structs.cs:
5821           - Added XErrorHandler delegate
5822           - Added XRequest enumeration (to suppor translation of errors)
5823
5824 2005-02-25  Jackson Harper  <jackson@ximian.com>
5825
5826         * PropertyManager.cs: Implement editing features
5827         * CurrencyManager.cs:
5828         * Binding.cs: First attempt at UpdateIsBinding
5829         * BindingManagerBase.cs: Call UpdateIsBinding before
5830         pushing/pulling data.
5831
5832 2005-02-25  Jordi Mas i Hernandez <jordi@ximian.com>
5833
5834         * MenuAPI.cs: Respect disabled items
5835         * ThemeWin32Classic.cs
5836                 - Caches ImageAttributes creation for DrawImageDisabled
5837                 - Fixes vertical menu line drawing
5838                 - Draws disabled arrows in disable menu items
5839
5840 2005-02-24  Peter Bartok  <pbartok@novell.com>
5841
5842         * Hwnd.cs:
5843           - Added UserData property to allow associating arbitrary objects
5844             with the handle
5845           - Fixed leak; now removing Hwnd references from static windows array
5846         * XplatUIWin32.cs:
5847           - Fixed Graphics leak in PaintEventEnd
5848           - Removed usage of HandleData, switched over to Hwnd class
5849         * HandleData.cs: Removed, obsoleted by Hwnd.cs
5850
5851 2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
5852
5853         * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
5854         * ScrollBar.cs: Fixes bug
5855         * TrackBar.cs: removes death code, clipping, mimize refreshes,
5856          keyboard navigation enhancements
5857
5858 2005-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
5859
5860         * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
5861         * GroupBox.cs: Add control styles
5862         * Label.cs: Add control styles
5863         * UpDownBase.cs: Add control styles
5864         * ListBox.cs: Add control styles
5865         * XplatUIWin32.cs: Fixes wrong parameter order
5866
5867
5868 2005-02-23  Chris Bacon  <chris.bacon@docobo.co.uk>
5869
5870         * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
5871
5872 2005-02-23  Jackson Harper  <jackson@ximian.com>
5873
5874         * PropertyManager.cs: Implement property binding. This doesn't
5875         seem to work yet though as (I think) there are some bugs in
5876         System.ComponentModel.PropertyDescriptor.
5877         * BindingContext.cs: Use new PropertyManager constructor.
5878
5879 2005-02-23  Jordi Mas i Hernandez <jordi@ximian.com>
5880
5881         * ProgressBar.cs: use clip region in ProgressBar
5882         * ThemeWin32Classic.cs: use clip region in ProgressBar
5883
5884 2004-02-22  Jackson Harper  <jackson@ximian.com>
5885
5886         * BindingsCollection.cs: Remove some debug code.
5887
5888 2005-02-22  Jackson Harper  <jackson@ximian.com>
5889
5890         * BindingContext.cs:
5891         * ControlBindingsCollection.cs:
5892         * CurrencyManager.cs:
5893         * Binding.cs:
5894         * BindingManagerBase.cs: Initial implementation
5895         * BindingsCollection.cs: Add an internal contains method that the
5896         BindingManagerBase uses to ensure bindings aren't added twice to
5897         the collection.
5898         * PropertyManager.cs: Stubbed out.
5899         * Control.cs:
5900         * ContainerControl.cs: Hook up databinding
5901         
5902 2005-02-22  Geoff Norton  <gnorton@customerdna.com>
5903
5904         * XplatUIOSX.cs:
5905           OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
5906           Fixed Invalidate/Update chain.
5907           Fixed tons of other minor bugs (this is almost a complete rewrite).
5908
5909 2005-02-22  Jordi Mas i Hernandez <jordi@ximian.com>
5910
5911         * ComboBox.cs: do subcontrol creation when the control is created
5912
5913 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
5914
5915         * Label.cs: fixes image drawing (image and imagelist)
5916         * ThemeWin32Classic.cs: cache brushes
5917         
5918 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
5919
5920         * Form.cs: Move menu drawing code to Theme class
5921         * ComboBox.cs: Move ComboBox drawing code to Theme class
5922         * MenuItem.cs: Move menu drawing code to Theme class
5923         * MenuAPI.cs: Move menu drawing code to Theme class
5924         * ThemeWin32Classic.cs: New methods
5925         * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
5926         * ListBox.cs: Move Listbox drawing code to Theme class
5927         * Theme.cs: New methods
5928
5929 2005-02-20  Peter Bartok  <pbartok@novell.com>
5930
5931         * Control.cs:
5932           - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
5933             only process mnemonics on those)
5934           - Fixed event sequence for key handling; first calling
5935             ProcessKeyEventArgs now
5936         * TextBoxBase.cs:
5937           - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
5938             for processing non-character keys
5939           - Fixed WM_CHAR to generate proper event sequence before processing
5940         * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
5941           generation
5942
5943 2005-02-19  Peter Bartok  <pbartok@novell.com>
5944
5945         * UserControl.cs: Added TextChanged event; added attributes
5946         * SizeGrip.cs: Implemented resizing and optional display of grip
5947         * Form.cs: Fixed attribute
5948         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
5949           Changed meaning of ScrollWindow bool argument; instead of the
5950           clear attribute (which will be true usually anyway), it gives the
5951           option of moving child controls as well.
5952         * XplatUIX11.cs:
5953           - Changed to match new ScrollWindow argument
5954           - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
5955             now handles the implicit parent window a WM puts around us
5956         * ScrollableControl.cs: Implemented (not the prettiest, but it seems
5957           to work)
5958         * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
5959         * TreeView.cs: Adjusted to new ScrollWindow arguments
5960
5961 2005-02-19  Jordi Mas i Hernandez <jordi@ximian.com>
5962
5963         * Form.cs: Menu integration with non-client area
5964         * MenuItem.cs: Menu integration with non-client area
5965         * MenuAPI.cs: Menu integration with non-client area
5966
5967 2005-02-18  Peter Bartok  <pbartok@novell.com>
5968
5969         * MethodInvoker.cs: Added
5970         * MdiLayout.cs: Added
5971         * SendKeys.cs: Started implementation
5972         * ErrorIconAlignment.cs: Added
5973
5974 2005-02-18  Peter Bartok  <pbartok@novell.com>
5975
5976         * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
5977         * Form.cs: Added handling for Menu-related Non-client messages
5978
5979 2005-02-17  Peter Bartok  <pbartok@novell.com>
5980
5981         * UpDownBase.cs: Fixed typo, compilation errors
5982         * DomainUpDown.cs: Fixed attribute value
5983
5984 2005-02-16  Miguel de Icaza  <miguel@novell.com>
5985
5986         * UpDownBase.cs: Attach entry events.
5987         Propagate events.
5988         Add ForeColor property, Focused, InterceptArrowKeys (interception
5989         does not work yet).
5990
5991 2005-02-17  Jordi Mas i Hernandez <jordi@ximian.com>
5992
5993         * Form.cs:
5994                 - Redraw non client are on Setmenu
5995                 - Calc proper menu starting point
5996
5997 2005-02-17  Peter Bartok  <pbartok@novell.com>
5998
5999         * Application.cs: Fixed message_filter check
6000
6001 2005-02-17  Peter Bartok  <pbartok@novell.com>
6002
6003         * Application.cs: Now calls registered message filters
6004         * DockStyle.cs: Fixed attribute
6005         * Form.cs: Fixed attribute
6006         * Menu.cs: Fixed attribute
6007         * ToolTip.cs: Fixed attribute
6008         * TreeNode.cs: Added missing attributes and arranged in regions
6009         * PropertyGrid.cs: Fixed signatures
6010         * TreeNodeCollection.cs: Added attributes
6011         * Splitter.cs: Added missing attributes; arranged into regions
6012         * TabPage.cs: Added missing attributes; arranged into regions
6013         * TextBoxBase.cs: Added missing attributes
6014         * TextBox.cs: Added missing attributes
6015         * ArrangeDirection.cs: Added missing attributes
6016         * TreeNodeConverter.cs: Added stub (needed for TreeNode)
6017         * ToolBarButton.cs: Fixed attributes
6018         * AnchorStyles.cs: Fixed attribute
6019         * TrackBar.cs: Fixed attributes
6020         * TabControl.cs: Added missing attributes and arranged into regions
6021         * ToolBar.cs: Fixed attribute
6022         * StatusBar.cs: Fixed signature, organized into regions and added
6023           attributes
6024         * StatusBarPanel.cs: Fixed attributes
6025         * ContentsResizedEventArgs.cs: Implemented
6026         * ContentsResizedEventHandler.cs: Implemented
6027         * DateBoldEventArgs.cs: Implemented
6028         * DateBoldEventHandler.cs: Implemented
6029         * UpDownEventArgs.cs: Implemented
6030         * UpDownEventHandler.cs: Implemented
6031         
6032 2005-02-16  Jordi Mas i Hernandez <jordi@ximian.com>
6033
6034         * Form.cs: first Menu NC refactoring
6035         * MenuAPI.cs: first Menu NC refactoring
6036         
6037 2005-02-16  Peter Bartok  <pbartok@novell.com>
6038
6039         * ImeMode.cs: Added missing attributes
6040         * Menu.cs: Fixed attribute
6041         * GroupBox.cs: Fixed attribute
6042         * Label.cs: Fixed attribute
6043         * ColorDialog.cs (RunDialog): Removed TODO attribute
6044         * ComboBox.cs: Fixed attributes
6045         * ListControl.cs: Added missing attributes
6046         * PropertyGrid.cs: Fixed attributes
6047         * Control.cs: Fixed attributes
6048         * ListViewItem.cs: Added TypeConverter attribute
6049         * NotifyIcon.cs: Fixed attributes
6050         * ListView.cs: Fixed attributes
6051         * ButtonBase.cs: Fixed attribute
6052         * ImageList.cs: Added missing attributes
6053         * ContainerControl.cs: Fixed signature
6054         * CheckedListBox.cs: Fixed attribute; added missing attributes
6055         * Panel.cs: Fixed attributes
6056         * PropertyTabChangedEventArgs.cs: Added missing attribute
6057         * PropertyValueChangedEventArgs.cs: Added missing attribute
6058         * Binding.cs: Fixed attribute
6059         * ListViewItemConverter: Implemented ListViewSubItemConverter class
6060         * ListBox.cs: Fixed attribute; added missing attributes;
6061         * ScrollableControl.cs: Added missing attributes
6062         * PictureBox.cs: Added missing attributes; implemented missing property
6063         * DateTimePicker.cs: Added missing attributes
6064         * Theme.cs (ToolWindowCaptionHeight): Fixed type
6065         * MonthCalendar.cs: Fixed attributes
6066         * StatusBarPanel.cs: Added missing attributes
6067         * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
6068
6069 2005-02-16  Peter Bartok  <pbartok@novell.com>
6070
6071         * TextBoxBase.cs: The previous method to enforce height yet remember
6072           the requested high was less than ideal, this is an attempt to do
6073           it better.
6074         * Control.cs: Added comment about possible problem
6075         * Copyright: Updated format
6076         * GridItemType.cs: Fixed swapped values
6077
6078 2005-02-15  Jackson Harper  <jackson@ximian.com>
6079
6080         * BaseCollection.cs: Use property so we never access an
6081         uninitialized list. Also initialize the list in the property.
6082
6083 2005-02-15  Peter Bartok  <pbartok@novell.com>
6084
6085         * GroupBox.cs (ProcessMnemonic): Implemented
6086         * Label.cs (ProcessMnemonic): Implemented
6087         * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
6088           hotkeys
6089
6090 2005-02-15  Peter Bartok  <pbartok@novell.com>
6091
6092         * RadioButton.cs (ProcessMnemonic): Implemented
6093         * CheckBox.cs (ProcessMnemonic): Implemented
6094         * Control.cs:
6095           - Added handling of WM_SYSxxx keyboard messages to support mnemonic
6096             handling
6097           - Added internal method to allow calling ProcessMnemonic from other
6098             controls
6099         * ContainerControl.cs:
6100           - Started support for handling validation chain handling
6101           - Implemented ProcessMnemonic support
6102           - Added Select() call to Active, to make sure the active control
6103             receives focus
6104         * Form.cs: Setting toplevel flag for Forms (this was lost in the
6105           FormParent rewrite)
6106         * ThemeWin32Classic.cs:
6107           - DrawCheckBox(): Fixed stringformat to show hotkeys
6108           - DrawRadioButton(): Fixed stringformat to show hotkeys
6109         * CommonDialog.cs: Removed WndProc override, not needed
6110
6111 2005-02-14  Peter Bartok  <pbartok@novell.com>
6112
6113         * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
6114           missed those in the rewrite
6115
6116 2005-02-14  Miguel de Icaza  <miguel@novell.com>
6117
6118         * NumericUpDown.cs (Increment, ToString): Add.
6119         (DecimalPlaces): implement.
6120         
6121         Add attributes.
6122         
6123         * UpDownBase.cs: Add the designer attributes.
6124
6125 2005-02-13  Peter Bartok  <pbartok@novell.com>
6126
6127         * Panel.cs: Removed border_style, now in Control
6128         * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
6129           ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
6130
6131 2005-02-13  Peter Bartok  <pbartok@novell.com>
6132
6133         * MouseButtons.cs: Added missing attributes
6134         * XplatUIStructs.cs: Added enumeration for title styles
6135         * LeftRightAlignment.cs: Added missing attributes
6136         * Hwnd.cs: Switched to use client_window as handle (slower, but makes
6137           it compatible with Graphics.FromHwnd()
6138         * SelectedGridItemChangedEventArgs.cs: Fixed property type
6139         * Keys.cs: Added missing attributes
6140         * SelectionRange.cs: Added missing attributes
6141         * SelectionRangeConverter.cs: Added
6142         * XplatUI.cs:
6143           - Introduced SetBorderStyle, SetMenu, GetMenuDC and
6144             ReleaseMenuDC methods
6145           - Renamed ReleaseWindow to UngrabWindow
6146           - Added proper startup notice to allow version identification
6147         * Form.cs:
6148           - Added missing attributes
6149           - Removed FormParent concept
6150         * Label.cs: Removed border_style field, now in Control
6151         * RadioButton.cs: Now properly selects RadioButton when focus is
6152           received
6153         * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
6154         * Control.cs:
6155           - Added missing attributes
6156           - Added borderstyle handling
6157           - Removed FormParent concept support
6158           - Fixed calls to XplatUI to match changed APIs
6159           - Fixed bug that would case us to use disposed Graphics objects
6160           - Removed unneeded internal methods
6161           - PerformLayout(): Fixed to handle DockStyle.Fill properly
6162           - SelectNextControl(): Fixed to properly check common parents
6163         * TextBoxBase.cs: Removed border_style field (now in Control)
6164         * MessageBox.cs:
6165           - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
6166             fixed calculations for form size
6167           - Added support for localized strings and icons
6168           - Improved form size calculations, added border
6169         * ListView.cs: Removed border_style field (now in Control)
6170         * X11Structs.cs: Moved several structs from X11 driver here
6171         * X11Keyboard.cs: Changed debug message
6172         * Application.cs: Removed FormParent concept support
6173         * CommonDialog.cs:
6174           - Resetting end_modal flag
6175           - Removed FormParent concept support
6176         * NativeWindow.cs: Removed FormParent concept support
6177         * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
6178           Client area and Non-Client whole window to allow support for WM_NC
6179           messages
6180         * XplatUIOSX.cs: Updated to match latest driver spec; added exception
6181           prevent using it until it supports Hwnd as per Geoff Norton's request
6182         * ToolBar.cs: Fixed drawing, was not doing proper drawing
6183         * PictureBox.cs: Removed border_style field, now in Control
6184         * XplatUIWin32.cs: Added new driver methods
6185
6186 2005-02-12  Peter Bartok  <pbartok@novell.com>
6187
6188         * OpacityConverter.cs: Implemented
6189         * Hwnd.cs: Internal class to support drivers that need to emulate
6190           client area/non-client area window behaviour
6191
6192 2005-02-11  Peter Bartok  <pbartok@novell.com>
6193
6194         * KeysConverter.cs: Implemented
6195
6196 2005-02-11  Jordi Mas i Hernandez <jordi@ximian.com>
6197
6198         * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
6199         * LinkLabel: Added missing attributes
6200         * MainMenu.cs: fixes ToString
6201         * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
6202         * ListBox.cs: fixes event position
6203         * TrackBar.cs: adds missing attributes and events
6204         
6205 2005-02-10  Jordi Mas i Hernandez <jordi@ximian.com>
6206
6207         * MenuItem.cs: Use SystemInformation and bug fixes
6208         * MenuAPI.cs: Use SystemInformation and bug fixes
6209
6210 2005-02-09  Jackson Harper  <jackson@ximian.com>
6211
6212         * X11Keyboard.cs: We ignore some keys, but still need to set/reset
6213         their keystate otherwise things like VK_MENU get stuck "on".
6214
6215 2005-02-09  Kazuki Oikawa <kazuki@panicode.com>
6216
6217         * ListBox.cs: Fixes AddRange bug
6218         
6219 2005-02-09  Jordi Mas i Hernandez <jordi@ximian.com>
6220
6221         * ProgressBar.cs
6222                 - Add missing attributes
6223                 - Add missing method
6224                 
6225         * CheckedListBox.cs: Added missing attributes
6226                 - Add missing attributes
6227                 - Remove extra method
6228         
6229         * ComboBox.cs: Added missing attributes
6230         * VScrollBar.cs: Added missing attributes
6231         * ScrollBar.cs:  Added missing attributes
6232         * ListBox.cs: Fixes signature, add missing consts
6233         * LinkArea.cs:   Added missing attributes
6234         
6235
6236 2005-02-08  Peter Bartok  <pbartok@novell.com>
6237
6238         * Menu.cs: Added missing attributes
6239         * MainMenu.cs: Added missing attributes
6240         * GroupBox.cs: Added missing attributes
6241         * Label.cs: Added missing attributes
6242         * CheckBox.cs: Implemented CheckBoxAccessibleObject class
6243         * ColorDialog.cs:
6244           - Added Instance and Options properties
6245           - Added missing attributes
6246         * Cursor.cs: Made Serializable
6247         * NotifyIcon: Added missing attributes
6248         * MenuItem.cs: Added missing attributes
6249         * TextBoxBase.cs: Implemented AppendText() and Select() methods
6250         * Panel.cs: Added Missing attributes
6251         * MonthCalendar.cs: Fixed CreateParams
6252
6253 2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
6254         
6255         * LinkLabel.cs:
6256                 - Fixes signature
6257                 - Fixes issues with links
6258                 - Adds the class attributes
6259
6260 2005-02-08  Jordi Mas i Hernandez <jordi@ximian.com>
6261         
6262         * ComboBox.cs:
6263                 - Fixes button when no items available in dropdown
6264                 - Fixes repainting problems
6265                 - Adds the class attributes
6266                 
6267 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
6268
6269         * XplatUIOSX.cs: Detect the menu bar and title bar height from
6270         the current theme.  Cache these on startup.
6271
6272 2005-02-07  Jackson Harper  <jackson@ximian.com>
6273
6274         * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
6275         the scrollbar buttons when they are depressed.
6276
6277 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
6278
6279         * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
6280         Get the display size from the main displayid.  We currently dont
6281         support multiple display configurations.
6282
6283 2005-02-07  Geoff Norton  <gnorton@customerdna.com>
6284
6285         * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
6286
6287 2005-02-07  Miguel de Icaza  <miguel@novell.com>
6288
6289         * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
6290
6291 2005-02-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
6292
6293         * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
6294
6295 2005-02-04  Jackson Harper  <jackson@ximian.com>
6296
6297         * ThemeWin32Classic.cs: Respect the clipping rect when
6298         drawing. Only fill the intersection of clips and rects so there
6299         isn't a lot of large fills.
6300         * ScrollBar.cs: Pass the correct clipping rect to the theme
6301         engine. Remove some debug code.
6302
6303 2005-02-05  John BouAntoun  <jba-mono@optusnet.com.au>
6304         
6305         * DateTimePicker.cs:
6306                 - Fixed crash on DateTime.Parse, use Constructor instead
6307
6308 2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
6309         
6310         * MenuItem.cs:
6311         * MenuAPI.cs:
6312                 - Owner draw support (MeasureItem and DrawItem)
6313
6314 2005-02-04  Jordi Mas i Hernandez <jordi@ximian.com>
6315         
6316         *  Menu.cs:
6317                 - Implements FindMergePosition and MergeMenu functions (very poor documented)
6318                 - Fixes MenuItems.Add range
6319         * MenuItem.cs:
6320                 - MergeMenu and Clone and CloneMenu functions
6321
6322 2005-02-03  Jackson Harper  <jackson@ximian.com>
6323
6324         * ScrollBar.cs: Make abstract
6325         * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
6326         is abstract.
6327
6328 2005-02-03  Jackson Harper  <jackson@ximian.com>
6329
6330         * ScrollBar.cs: First part of my scrollbar fixups. This removes
6331         all the unneeded refreshes and uses invalidates with properly
6332         computed rects.
6333
6334 2005-02-03  Peter Bartok  <pbartok@novell.com>
6335
6336         * ComponentModel.cs: Added
6337         * IDataGridEditingService.cs: Added
6338         * Timer.cs: Added missing attributes
6339         * ToolTip.cs: Added missing attributes
6340
6341 2005-02-03  Jonathan Chambers  <jonathan.chambers@ansys.com>
6342
6343         * PropertyGridView.cs: Added. Patch by Jonathan Chambers
6344
6345 2005-02-03  Peter Bartok  <pbartok@novell.com>
6346
6347         * ListBox.cs: Added missing attributes
6348
6349 2005-02-03  Jordi Mas i Hernandez <jordi@ximian.com>
6350         
6351         * ListBox.cs:
6352                 - Fixes font height after font change
6353                 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
6354                 
6355 2005-02-02  Peter Bartok  <pbartok@novell.com>
6356
6357         * HandleData.cs: Introduced static methods to allow class
6358           to be more self-contained and track it's own HandleData objects
6359         * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
6360           HandleData to use new static methods
6361
6362 2005-02-02  Jordi Mas i Hernandez <jordi@ximian.com>
6363
6364         * Combobox.cs:
6365                 - Fixes default size and PreferredHeight
6366                 - Missing events
6367                 - ObjectCollection.Insert implementation
6368                 
6369         * ListControl.cs
6370                 - Fixes signature
6371         * ListBox.cs:
6372                 - Several fixes
6373                 - ObjectCollection.Insert implementation
6374                 - No selection after clean
6375                 - Small fixes
6376
6377 2005-01-31      John BouAntoun  <jba-mono@optusnet.com.au>
6378
6379         * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
6380
6381 2005-02-01  Jordi Mas i Hernandez <jordi@ximian.com>
6382
6383         * Combobox.cs:
6384                 - Caches ItemHeight calculation for OwnerDrawVariable
6385                 - Handles dropdown properly
6386                 - Fixes several minor bugs
6387
6388 2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
6389
6390         * ListBox.cs:
6391                 - Fixes 71946 and 71950
6392                 - Fixes changing Multicolumn on the fly
6393                 - Fixes keyboard navigation on Multicolumn listboxes
6394
6395 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
6396         
6397         * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
6398         crash reporter log.
6399
6400 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
6401
6402         * XplatUIOSX.cs: Allow applications to actually exit.
6403
6404 2005-01-31  Geoff Norton  <gnorton@customerdna.com>
6405
6406         * XplatUIOSX.cs: SetWindowStyle implemented.  Reposition views in
6407         their parent at creation time rather than lazily later.  Fixes a major
6408         regression we were experiencing.
6409
6410 2005-01-31      John BouAntoun  <jba-mono@optusnet.com.au>
6411
6412         * ThemeWin32Classic.cs: more date time picker painting fixes
6413         * DateTimePicker.cs: more monthcalendar drop down fixes
6414         * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
6415
6416 2005-01-31  Jordi Mas i Hernandez <jordi@ximian.com>
6417
6418         * ScrollBar.cs:
6419                 - When moving the thumb going outside the control should stop the moving
6420                 - Adds the firing of missing events
6421                 - Fixes no button show if Size is not specified
6422                 - End / Home keys for keyboard navigation
6423
6424 2005-01-30  Peter Bartok  <pbartok@novell.com>
6425
6426         * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
6427           sanity check to prevent theoretical loop
6428         * XplatUIWin32.cs (SetVisible): Removed debug output
6429         * XplatUIX11.cs (SystrayChange): Added sanity check
6430         * ScrollableControl.cs (OnVisibleChanged): Now calls base method
6431         * Control.cs (OnVisibleChanged): Added workaround for ParentForm
6432           behaviour, valid until the X11 client window rewrite is done
6433         * TextBox.cs (ctor): Setting proper default foreground and background
6434           colors
6435
6436 2005-01-30      John BouAntoun  <jba-mono@optusnet.com.au>
6437
6438         * Theme: Added DrawDateTimePicker to interface
6439         * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
6440         * DateTimePicker.cs: Created (still needs keys and painting code)
6441         * DateTimePickerFormat.cs: added
6442         * MonthCalendar.cs: fixed CreateParams for popup window mode
6443           
6444 2005-01-29  Peter Bartok  <pbartok@novell.com>
6445
6446         * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
6447           this should also the calculations for ligher/darker
6448         * Theme.cs: Fixed defaults for ScrollBar widths/heights
6449
6450 2005-01-29  Peter Bartok  <pbartok@novell.com>
6451
6452         * ArrangeDirection.cs: Added
6453         * ArrangeStartingPositon.cs: Added
6454         * SystemInformation.cs: Implemented
6455         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
6456           XplatUIX11.cs, Theme.cs: Added/implemented new static properties
6457           used by SystemInformation class
6458         * X11Strucs.cs: Added XSizeHints structure
6459         * MenuAPI.cs:
6460           - Fixed CreateParams to make sure the menu window is always visible
6461           - TrackPopupMenu: Added check to make sure we don't draw the
6462             menu offscreen
6463
6464 2005-01-29  Peter Bartok  <pbartok@novell.com>
6465
6466         * HandleData.cs: Added method for altering invalid area
6467         * TextBoxBase.cs: Implemented TextLength
6468
6469 2005-01-28  Peter Bartok  <pbartok@novell.com>
6470
6471         * XplatUIX11.cs: Improvement over last patch, not sending
6472           the WM_PAINT directly anymore, instead we scroll any pending
6473           exposed areas and let the system pick out the WM_PAINT later
6474
6475 2005-01-28  Peter Bartok  <pbartok@novell.com>
6476
6477         * SWF.csproj: Deleted, no longer used. Instead,
6478           Managed.Windows.Forms/SWF.csproj should be used
6479         * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
6480           directly, to avoid a potential race condition with the next
6481           scroll
6482
6483 2005-01-28  Peter Bartok  <pbartok@novell.com>
6484
6485         * XplatUI.cs: Made class internal
6486
6487 2005-01-28  Jordi Mas i Hernandez <jordi@ximian.com>
6488
6489         * CheckedListBox.cs:
6490                 - Draw focus
6491                 - Fixed Drawing
6492                 - Missing methods and events
6493
6494 2005-01-27  Peter Bartok  <pbartok@novell.com>
6495
6496         * Application.cs (Run): Don't use form if we don't have one
6497
6498 2005-01-27  Peter Bartok  <pbartok@novell.com>
6499
6500         * TextBoxBase.cs (get_Lines): Fixed index off by one error
6501
6502 2005-01-27  Peter Bartok  <pbartok@novell.com>
6503
6504         * GridEntry.cs: Added; Patch by Jonathan S. Chambers
6505         * GridItem.cs: Added; Patch by Jonathan S. Chambers
6506         * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
6507         * GridItemType.cs: Added; Patch by Jonathan S. Chambers
6508         * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
6509         * PropertySort.cs: Added; Patch by Jonathan S. Chambers
6510         * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
6511         * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
6512         * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
6513         * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
6514         * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
6515         * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
6516
6517 2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
6518
6519         * Combobox.cs:
6520                 - Draw focus on Simple Combobox
6521                 - Fixes drawing issues
6522                 - fixes 71834
6523
6524 2005-01-27  Peter Bartok  <pbartok@novell.com>
6525
6526         * Form.cs:
6527           - Place window in default location, instead of hardcoded 0/0
6528           - Send initial LocationChanged event
6529         * Control.cs:
6530           - UpdateBounds after creation to find out where the WM placed us
6531           - Make sure that if the ParentForm changes location the Form
6532             is notified
6533         * XplatUIX11.cs: XGetGeometry will not return the coords relative
6534             to the root, but to whatever the WM placed around us.
6535             Translate to root coordinates before returning toplevel
6536             coordinates
6537         * XplatUIWin32.cs: Removed debug output
6538         * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
6539           flag to GetWindowPos, to allow translation of coordinates on X11
6540
6541 2005-01-27  Jordi Mas i Hernandez <jordi@ximian.com>
6542
6543         * ListBox.cs: connect LostFocus Event
6544
6545 2005-01-27  Peter Bartok  <pbartok@novell.com>
6546
6547         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
6548           XplatUIX11.cs: Extended the Systray API
6549         * Form.cs: Removed debug output
6550         * Application.cs: Fixed focus assignment, always need to call
6551           XplatUI.Activate() since Form.Activate() has rules that may
6552           prevent activation
6553         * NotifyIcon.cs: Should be complete now
6554         * ToolTip.cs: Worked around possible timer bug
6555
6556 2005-01-27  Jackson Harper  <jackson@ximian.com>
6557
6558         * TabControl.cs:
6559         - Only invalidate the effected tabs when the
6560         selected index changes. This reduces drawing and gets rid of some
6561         flicker.
6562         - Only refresh if the tabs need to be shifted, otherwise only
6563         invalidate the slider button.
6564         - On windows the tabs are not filled to right if the slider is
6565         visible.
6566         
6567 2005-01-27  Jackson Harper  <jackson@ximian.com>
6568
6569         * TabControl.cs: Only refresh on mouseup if we are showing the
6570         slider. Also only invalidate the button whose state has changed.
6571
6572 2005-01-26  Peter Bartok  <pbartok@novell.com>
6573
6574         * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
6575         * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
6576           and SystrayRemove() methods
6577         * XplatUIOSX.cs: Stubbed Systray methods
6578         * XplatUIX11.cs:
6579           - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
6580             methods
6581           - Fixed broken XChangeProperty calls (marshalling messed up things)
6582         * X11Structs.cs: Added enums and structs required for Size hinting
6583         * NotifyIcon.cs: Added & implemented
6584
6585 2005-01-26  Jackson Harper  <jackson@ximian.com>
6586
6587         * TabControl.cs: Space vertically layed out tabs properly.
6588
6589 2005-01-26  Peter Bartok  <pbartok@novell.com>
6590
6591         * Form.cs (CreateClientParams): Always set the location to 0,0
6592           since we're a child window.
6593
6594         * Control.cs (SetVisibleCore): Always explicitly setting the location
6595           of a toplevel window, apparently X11 doesn't like to move windows
6596           while they're not mapped.
6597
6598 2005-01-26  Jackson Harper  <jackson@ximian.com>
6599
6600         * TabControl.cs: Implement FillToRight size mode with vertically
6601         rendered tabs.
6602
6603 2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
6604
6605         * ControlPaint.cs, ThemeWin32Classic.cs
6606                 - Fixes DrawFocusRectangle
6607
6608 2005-01-26  Jordi Mas i Hernandez <jordi@ximian.com>
6609
6610         * MenuAPI.cs:
6611                 - MenuBar tracking only starts when item is first clicked
6612                 - Fixes menu hidding for multiple subitems
6613                 - Unselect item in MenuBar when item Executed
6614                 - Fixes bug 71495
6615
6616 2005-01-25  Jordi Mas i Hernandez <jordi@ximian.com>
6617
6618         * ListControl.cs:
6619                 - IsInputKey for ListBox
6620         * ListBox.cs:
6621                 - Focus item
6622                 - Shift and Control item selection
6623                 - Implement SelectionMode.MultiExtended
6624                 - Fixes RightToLeft
6625         * ComboBox.cs:
6626                 - IsInputKey implemented
6627                 - Do not generate OnTextChangedEdit on internal txt changes
6628                 
6629 2005-01-23  Peter Bartok  <pbartok@novell.com>
6630
6631         * AccessibleObject.cs: Partially implemented Select()
6632         * MonthCalendar.cs: Added missing attributes and events
6633         * Form.cs: Fixed CreateParams behaviour, now controls derived from
6634           form can properly override CreateParams.
6635         * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
6636           XplatUIX11.cs: Dropped RefreshWindow method, not needed if
6637           Control performs Invalidate & Update
6638         * NativeWindow (CreateHandle): Added special handling for Form
6639           and Form.FormParent classes to allow overriding of From.CreateParams
6640         * Control.cs:
6641           - ControlNativeWindow: Renamed 'control' variable to more intuitive
6642             name 'owner'
6643           - ControlNativeWindow: Added Owner property
6644           - Removed usage of Refresh() on property changes, changed into
6645             Invalidate(), we need to wait until the queue is processed for
6646             updates, direct calls might cause problems if not all vars for
6647             Paint are initialized
6648           - Added call to UpdateStyles() when creating the window, to set any
6649             styles that CreateWindow might have ignored.
6650           - Added support for Form CreateParent overrides to UpdateStyles()
6651         * MessageBox.cs: Removed no longer needed FormParent override stuff,
6652           CreateParams are now properly overridable
6653         * CommonDialog.cs: Removed no longer needed FormParent override stuff,
6654           CreateParams are now properly overridable
6655
6656 2005-01-23  Miguel de Icaza  <miguel@ximian.com>
6657
6658         * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
6659         OnTextBoxChanged.
6660
6661         Capture LostFocus and OnTextBoxChanged.  The later introduces a
6662         recursive invocation that I have not figured out yet.
6663
6664         Reset the timer when not using (it was accumulating).
6665
6666
6667         (OnTextBoxChanged): Set UserEdit to true here to track whether the
6668         user has made changes that require validation.
6669
6670         Reset changing to avoid loops.
6671
6672 2005-01-22  Miguel de Icaza  <miguel@ximian.com>
6673
6674         * NumericUpDown.cs: Display value at startup.
6675
6676         * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
6677         ValidateEditText.
6678
6679         * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
6680         filled in.  Added some basic parsing of text.
6681
6682         Still missing the OnXXX method overrides, and figuring out the
6683         events that must be emitted.
6684
6685         * UpDownBase.cs: Handle UserEdit on the Text property.
6686         
6687 2005-01-22  Jordi Mas i Hernandez <jordi@ximian.com>
6688
6689         * ComboBox.cs:
6690           - Fixes IntegralHeight
6691           - ToString method
6692
6693 2005-01-21  Jackson Harper  <jackson@ximian.com>
6694
6695         * TabControl.cs: Set the SelectedIndex property when SelectedTab
6696         is set so that the page visibility is updated and the tabs are
6697         sized correctly.
6698
6699 2005-01-21  Jackson Harper  <jackson@ximian.com>
6700
6701         * TabControl.cs: Use cliping rectangle for blitting. Give the
6702         theme the clipping rect so we can do clipping while
6703         drawing. Remove some debug code.
6704
6705 2005-01-21  Jackson Harper  <jackson@ximian.com>
6706
6707         * TabPage.cs: Add a new method so tab pages can force the tab
6708         control to recalculate the tab page sizes.
6709         * TabControl.cs: UpdateOwner needs to make the tab control recalc
6710         sizes.
6711
6712 2005-01-20  Jackson Harper  <jackson@ximian.com>
6713
6714         * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
6715
6716 2005-01-20  Jackson Harper  <jackson@ximian.com>
6717
6718         * TreeView.cs: Set the bounds for nodes properly. They were
6719         getting screwed up when checkboxes were not enabled, but images
6720         were.
6721
6722 2005-01-20  Jordi Mas i Hernandez <jordi@ximian.com>
6723
6724         * ListBox.cs:
6725                 - Owner draw support
6726                 - Fixes
6727                 
6728 2005-01-20  Jackson Harper  <jackson@ximian.com>
6729
6730         * XplatUIStructs.cs: More misc keys
6731         * X11Keyboard.cs: Ignore some control keys.
6732
6733 2005-01-20  Jackson Harper  <jackson@ximian.com>
6734
6735         * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
6736         * X11Keyboard.cs: Set the AltGr mask when we get a key event.
6737
6738 2005-01-19  Peter Bartok  <pbartok@novell.com>
6739
6740         * Control.cs: Un-selecting the control when it is loosing focus
6741
6742 2005-01-19  Jackson Harper  <jackson@ximian.com>
6743
6744         * TreeView.cs: Hook up to the text controls leave event so we can
6745         end editing when the users clicks outside the text box.
6746         
6747 2005-01-19  Jackson Harper  <jackson@ximian.com>
6748
6749         * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
6750         get set in the conversion array.
6751
6752 2005-01-19  Peter Bartok  <pbartok@novell.com>
6753
6754         * Application.cs (ModalRun): Added a call to CreateControl to ensure
6755           focus is properly set
6756         * Button.cs:
6757           - Added missing attributes
6758           - removed styles, those are already set in the base class
6759         * ButtonBase.cs:
6760           - Added missing attributes
6761           - Added clip window styles
6762         * CheckBox.cs: Added missing attributes
6763         * CommonDialog.cs:
6764           - FormParentWindow.CreateParams: Added required clip styles
6765         * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
6766           also filters modifier keys
6767         * MessageBox.cs:
6768           - Added assignment of Accept and Cancel button to enable Enter
6769             and Esc keys in MessageBox dialogs
6770           - FormParentWindow.CreateParams: Added required clip styles
6771         * RadioButton.cs: Added missing attributes
6772         * TextControl.cs: No longer draws selection if control does not
6773           have focus
6774         * TextBoxBase.cs:
6775           - Now draws simple rectangle around test area to make it obvious
6776             there's a control. This is a hack until we properly support borders
6777           - A few simple fixes to support selections better, now erases selected
6778             text when typing, and resets selection when using movement keys
6779
6780 2005-01-19  Miguel de Icaza  <miguel@ximian.com>
6781
6782         * UpDownBase.cs: Added some new properties.
6783
6784         * DomainUpDown.cs: Implement a lot to get my test working.
6785
6786 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
6787
6788         * XplatUIOSX.cs: Fix a minor bug to bring the close box back
6789
6790 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
6791
6792         * OSXStructs (WindowAttributes): Fixed csc complaints
6793
6794 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
6795
6796         * XplayUIOSX.cs:
6797           OSXStructs.cs: Initial refactor to move enums and consts into
6798           OSXStructs and use them in the driver for greater readability.
6799
6800 2005-01-19  Geoff Norton  <gnorton@customerdna.com>
6801
6802         * XplatUIOSX.cs: Initial support for Standard Cursors.
6803         * OSXStructs.cs: Move our structs here; added ThemeCursor enum
6804
6805 2005-01-19  Jordi Mas i Hernandez <jordi@ximian.com>
6806
6807         * ComboBox.cs: ability to change style when the ctrl is already
6808         created, missing methods and events, bug fixes, signature fixes
6809
6810 2005-01-19  Peter Bartok  <pbartok@novell.com>
6811
6812         * Cursors.cs (ctor): Added ctor to fix signature
6813
6814 2005-01-18  Peter Bartok  <pbartok@novell.com>
6815
6816         * Button.cs: Implemented DoubleClick event
6817         * ButtonBase.cs:
6818           - Fixed keyboard handling to behave like MS, where the press of
6819             Spacebar is equivalent to a mousedown, and the key release is
6820             equivalent to mouseup. Now a spacebar push will give the same
6821             visual feedback like a mouse click.
6822           - Added missing attributes
6823           - Added ImeModeChanged event
6824           - Added support for generating DoubleClick event for derived classes
6825         * CheckBox.cs:
6826           - Implemented DoubleClick event
6827           - Added missing attributes
6828         * CommonDialog.cs: Added missing attribute
6829         * ContextMenu.cs: Added missing attributes
6830         * RadioButton.cs:
6831           - AutoChecked buttons do not allow to be unselected when clicked
6832             (otherwise we might end up with no selected buttons in a group)
6833           - Added missing attributes
6834           - Implemented DoubleClickEvent
6835         * ThreadExceptionDialog.cs: Enabled TextBox code
6836
6837 2005-01-18  Peter Bartok  <pbartok@novell.com>
6838
6839         * Form.cs: Removed debug output
6840         * Button.cs: Added support for DoubleClick method
6841
6842 2005-01-18  Peter Bartok  <pbartok@novell.com>
6843
6844         * Form.cs:
6845           - Added method to parent window that allows triggering size
6846             calculations when a menu is added/removed
6847           - set_Menu: Cleaned up mess from early days of Form and Control,
6848             now properly triggers a recalc when a menu is added/removed
6849           - Added case to select form itself as focused form if no child
6850             controls exist
6851           - Added PerformLayout call when showing dialog, to ensure properly
6852             placed controls
6853         * Control.cs:
6854           - Select(): Made internal so Form can access it
6855           - Focus(): Only call Xplat layer if required (avoids loop), and sets
6856             status
6857         * Application.cs (Run): Removed hack and calls PerformLayout instead
6858           to trigger calculation when Form becomes visible
6859
6860 2005-01-18  Jordi Mas i Hernandez <jordi@ximian.com>
6861
6862         * ComboBox.cs: fixes for ownerdraw
6863
6864 2005-01-18  Peter Bartok  <pbartok@novell.com>
6865
6866         * TextControl.cs:
6867           - Sentinel is no longer static, each Document gets it's own, this
6868             avoids locking or alternatively overwrite problems when more
6869             than one text control is used simultaneously.
6870           - Switched to use Hilight and HilightText brushes for text selection
6871
6872         * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
6873
6874 2005-01-18  Peter Bartok  <pbartok@novell.com>
6875
6876         * Control.cs:
6877           - Hooked up the following events:
6878                 o ControlAdded
6879                 o ControlRemoved
6880                 o HandleDestroyed
6881                 o ImeModeChanged
6882                 o ParentChanged
6883                 o TabStopChanged
6884                 o Invalidated
6885                 o SystemColorsChanged
6886                 o ParentFontChanged
6887                 o Move
6888           - Removed debug output
6889           - Added a call to the current theme's ResetDefaults when a color change
6890             is detected
6891         * Form.cs: Now setting the proper ImeMode
6892         * Theme.cs: Defined a method to force recreation of cached resources
6893           and rereading of system defaults (ResetDefaults())
6894         * ThemeWin32Classic.cs: Added ResetDefaults() stub
6895
6896 2005-01-17  Peter Bartok  <pbartok@novell.com>
6897
6898         * Control.cs: Added missing attributes
6899
6900 2005-01-17  Jackson Harper  <jackson@ximian.com>
6901
6902         * TreeNode.cs: Implement editing. Add missing properties selected
6903         and visible.
6904         * TreeView.cs: Implement node editing. Also some fixes to use
6905         Invalidate (invalid area) instead of Refresh when selecting.
6906
6907 2005-01-17  Peter Bartok  <pbartok@novell.com>
6908
6909         * Control.cs:
6910           - Implemented InvokeGotFocus() method
6911           - Implemented InvokeLostFocus() method
6912           - Implemented InvokePaint() method
6913           - Implemented InvokePaintBackground() method
6914           - Implemented InvokeClick() method
6915           - Implemented FindForm() method
6916           - Implemented RectangleToClient() method
6917           - Implemented ClientToRectangle() method
6918           - Implemented ResetBackColor() method
6919           - Implemented ResetCursor() method
6920           - Implemented ResetFont() method
6921           - Implemented ResteForeColor() method
6922           - Implemented ResetImeMode() method
6923           - Implemented ResetLeftToRight() method
6924           - Implemented ResetText() method
6925           - Implemented Scale() methods
6926           - Implemented ScaleCore() method
6927           - Implemented Update() method
6928           - Removed unused variables
6929           - Stubbed AccessibilityNotifyClients and
6930             ControlAccessibleObject.NotifyClients() methods (dunno what to do
6931             with those yet)
6932           - Now setting proper default for RightToLeft property
6933           - Fixed bug in SetClientSizeCore that would cause windows to get
6934             really big
6935           - Now sending Click/DoubleClick events
6936           - Now selecting controls when left mouse button is clicked on
6937             selectable control
6938         * AccessibleEvents.cs: Added
6939         * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
6940         * XplatUIOSX.cs: Stubbed UpdateWindow() method
6941         * XplatUIWin32.cs: Implemented UpdateWindow() method
6942         * XplatUIX11.cs: Implemented UpdateWindow() method
6943         * Form.cs: Removed stray semicolon causing CS0162 warning
6944         * ThemeWin32Classic.cs: Fixed unused variable warnings
6945         * ScrollableControl.cs: Now calls base method for ScaleCore
6946         * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
6947           style to avoid interference with internal click handler (which is
6948           different than standard Control click handling)
6949         * RadioButton.cs:
6950           - Now unchecks all sibling radio buttons when control is
6951             selected (Fixes #68756)
6952           - Removed internal tabstop variable, using the one inherited from
6953             Control
6954
6955 2005-01-17  Jackson Harper  <jackson@ximian.com>
6956
6957         * NavigateEventArgs.cs: Fix base type.
6958         * LinkLabel.cs: Sig fix
6959         
6960 2005-01-17  Jackson Harper  <jackson@ximian.com>
6961
6962         * TreeView.cs: Only invalidate the effected nodes bounds when
6963         selecting nodes.
6964
6965 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
6966
6967         * XplatUIWin32.cs: fixes Win32 marshaling
6968         * XplatUIX11.cs: fixes method signature
6969
6970 2005-01-17  Peter Bartok  <pbartok@novell.com>
6971
6972         * XplatUIX11.cs: Clean up resources when we no longer need them
6973
6974 2005-01-17  Peter Bartok  <pbartok@novell.com>
6975
6976         * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
6977           OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
6978           and DestroyCursor() methods.
6979         * Cursor.cs: Partially implemented, now supports standard cursors;
6980           still contains some debug code
6981         * Cursors.cs: Implemented class
6982         * Control.cs:
6983           - WndProc(): Added handling of WM_SETCURSOR message, setting the
6984             appropriate cursor
6985           - Implemented Cursor property
6986           - Replaced break; with return; more straightforwar and possibly
6987             faster
6988           - Now properly setting the result for WM_HELP
6989         * X11Structs.cs: Added CursorFontShape enum
6990         * XplatUIStructs.cs:
6991           - Added StdCursor enum (to support DefineStdCursor() method)
6992           - Added HitTest enum (to support sending WM_SETCURSOR message)
6993         * XplatUIX11.cs:
6994           - Now sends the WM_SETCURSOR message
6995           - Implemented new cursor methods
6996         * XplatUIOSX.cs: Stubbed new cursor methods
6997         * XplatUIWin32.cs:
6998           - Implemented new cursor methods
6999           - Added GetSystemMetrics function and associated enumeration
7000
7001 2005-01-15  Peter Bartok  <pbartok@novell.com>
7002
7003         * Control.cs:
7004           - WndProc(): Now handles EnableNotifyMessage
7005           - SelectNextControl(): Fixed bug where if no child or sibling
7006             controls exist we looped endlessly
7007
7008 2005-01-14  Jackson Harper  <jackson@ximian.com>
7009
7010         * TreeView.cs: Recalculate the tab pages when a new one is added
7011         so that the proper bounding rects are created.
7012
7013 2005-01-14  Jackson Harper  <jackson@ximian.com>
7014
7015         * TreeView.cs: Draw a gray box instead of a grip in the lower
7016         right hand corner when there are both horizontal and vertical
7017         scroll bars.
7018
7019 2005-01-14  Jackson Harper  <jackson@ximian.com>
7020
7021         * Control.cs: When erasing backgrounds use FromHwnd instead of
7022         FromHdc when there is a NULL wparam. This occurs on the X driver.
7023         * XplatUIX11.cs: Set the wparam to NULL.
7024
7025 2005-01-13  Jackson Harper  <jackson@ximian.com>
7026
7027         * PictureBox.cs: Implement missing methods (except ToString, need
7028         to test that on windows) and events. When visibility is changed we
7029         need to redraw the image because the buffers are killed. When size
7030         is changed refresh if the sizemode needs it.
7031
7032 2005-01-13  Peter Bartok  <pbartok@novell.com>
7033
7034         * Control.cs (SelectNextControl): Was using wrong method to select
7035           a control
7036
7037 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
7038
7039         * ComboBox.cs: fixes dropstyle
7040
7041 2005-01-13  Peter Bartok  <pbartok@novell.com>
7042
7043         * Form.cs:
7044           - Implemented Select() override
7045           - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
7046           - Now sets keyboard focus on startup
7047         * Control.cs (SelectNextControl): Now properly handles directed=true
7048         * TextBoxBase.cs:
7049           - WndProc: Now passes tab key on to base if AcceptTabChar=false
7050           - Added (really bad) focus rectangle (mostly for testing)
7051         * TextBox.cs: Added code to handle getting/loosing focus and invalidating
7052           to enforce redraw on focus changes
7053         * ContainerControl.cs:
7054           - Fixed detection of Shift-Tab key presses
7055           - Fixed traversal with arrow keys
7056         * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
7057           gonna keep this or if it's complete yet
7058         
7059 2005-01-13  Jordi Mas i Hernandez <jordi@ximian.com>
7060
7061         * ComboBox.cs: missing properties, fixes
7062
7063 2005-01-13  Peter Bartok  <pbartok@novell.com>
7064
7065         * Panel.cs (ctor): Setting Selectable window style to off
7066         * Splitter.cs (ctor): Setting Selectable window style to off
7067         * GroupBox.cs (ctor): Setting Selectable window style to off
7068         * Label.cs (ctor): Setting Selectable window style to off
7069
7070 2005-01-12  Miguel de Icaza  <miguel@ximian.com>
7071
7072         * UpDownBase.cs (InitTimer): If the timer has been already
7073         created, enable it.
7074
7075         Use a TextBox instead of a Label.
7076
7077 2005-01-12  Jackson Harper  <jackson@ximian.com>
7078
7079         * TreeView.cs: Refresh the tree after sorting the nodes. Always
7080         draw the connecting node lines (when ShowLines is true).
7081         * TreeNode.cs: The nodes index can now be updated. This is used
7082         when a node collection is sorted.
7083         * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
7084         insert or an existing unsorted node collection can be sorted.
7085         
7086 2005-01-12  Peter Bartok  <pbartok@novell.com>
7087
7088         * ContainerControl.cs: Implemented ProcessDialogKeys()
7089
7090 2005-01-12  Peter Bartok  <pbartok@novell.com>
7091
7092         * Control.cs:
7093           - Implemented SelectNextControl() method
7094           - Several focus related bug fixes
7095           - Fixed Docking calculations to match MS documentation and
7096             behaviour
7097
7098 2005-01-12  Jordi Mas i Hernandez <jordi@ximian.com>
7099
7100         * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
7101         bug fixes
7102
7103 2005-01-12  Peter Bartok  <pbartok@novell.com>
7104
7105         * Control.cs:
7106           - Fixed broken Contains() method
7107           - Implemented GetNextControl() method. Finally. This is the pre-
7108             requisite for focus handling.
7109
7110 2005-01-12  Peter Bartok  <pbartok@novell.com>
7111
7112         * OSXStrucs.cs: Added
7113
7114 2005-01-12  Peter Bartok  <pbartok@novell.com>
7115
7116         * XplatUIWin32.cs:
7117           - Removed PeekMessageFlags
7118           - Implemented SetWindowStyle() method
7119         * XplatUIStructs.cs: Added PeekMessageFlags
7120         * X11Structs: Added missing border_width field to XWindowChanges struct
7121         * XplatUIX11.cs:
7122           - PeekMessage: Now throws exception if flags which are not yet
7123             supported are passed
7124           - Implemented SetWindowStyle() method
7125           - Fixed SetZOrder to handle AfterHwnd properly
7126         * XplatUI.cs: Added SetWindowStyle() method
7127         * XplatUIDriver.cs: Added SetWindowStyle() abstract
7128         * Control.cs:
7129           - Implemented UpdateStyles() method
7130           - Implemented UpdateZOrder() method
7131         * XplatUIOSX.cs: Added SetWindowStyle() stub
7132
7133 2005-01-12  Geoff Norton  <gnorton@customerdna.com>
7134
7135         * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
7136         button mouse).
7137
7138
7139 2005-01-11  Jackson Harper  <jackson@ximian.com>
7140
7141         * TreeView.cs: Still need to draw lines to siblings even if out of
7142         the current node is out of the clip.
7143
7144 2005-01-11  Jackson Harper  <jackson@ximian.com>
7145
7146         * TreeView.cs: When setting the hbar/vbar/grip position use
7147         SetBounds so that perform layout is only called once. Also suspend
7148         and resume layout so layout is only done once for all controls.
7149         - Removed some debug fluff
7150         * SizeGrip.cs: Call base implmentation in overriding methods.
7151         - When visibility is changed the drawing buffers are killed so we
7152         need to redraw.
7153
7154 2005-01-11  Jackson Harper  <jackson@ximian.com>
7155
7156         * TreeView.cs: Calculate the open node count while drawing. This
7157         saves us an entire tree traversal for every paint operation. Use
7158         a member var for the open node count so less vars are passed around.
7159
7160 2005-01-11  John BouAntoun  <jba-mono@optusnet.com.au>
7161
7162         * MonthCalendar.cs:
7163         - fixed selection to use mousemove, not mouse polling on timer
7164         * ThemeWin32Classic.cs
7165         - removed redundant unused variable "no_more_content"
7166         
7167 2005-01-11  Peter Bartok  <pbartok@novell.com>
7168
7169         * XplatUIX11.cs (DoEvents): Needs to return when no more events
7170           are pending, so it now calls PeekMessage instead of GetMessage;
7171           implemented a incomplete version of PeekMessage
7172         
7173 2005-01-11  Peter Bartok  <pbartok@novell.com>
7174
7175         * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
7176           I18n issues
7177         * TextBoxBase.cs: Added sending of TextChanged event
7178
7179 2005-01-10  Jackson Harper  <jackson@ximian.com>
7180
7181         * TreeView.cs: Try not to draw outside the clipping rectangle on
7182         each node element.
7183
7184 2005-01-10  Jordi Mas i Hernandez <jordi@ximian.com>
7185
7186         * ComboBox.cs: keyboard navigation, item navigation, bug fixes
7187
7188 2005-01-10  Jackson Harper  <jackson@ximian.com>
7189
7190         * TreeView.cs:
7191         - Implement fast scrolling. Now only the newly
7192         exposed nodes are drawn and the old image is moved using the
7193         XplatUI::ScrollWindow method.
7194         - Factor in height of nodes when calculating whether or not the
7195         node is in the clipping rect.
7196
7197 2005-01-10  Jackson Harper  <jackson@ximian.com>
7198
7199         * TreeNodeCollection.cs: Refresh the tree when a new node is added.
7200
7201 2005-01-10  Peter Bartok  <pbartok@novell.com>
7202
7203         * Application.cs: Added temporary hack to resolve all our resize
7204           required issues on startup. This will get fixed properly at
7205           some point in the future
7206
7207 2005-01-10  Jackson Harper  <jackson@ximian.com>
7208
7209         * SizeGrip.cs: New internal class that is used as a sizing
7210         grip control...hence the name.
7211
7212 2005-01-10  Peter Bartok  <pbartok@novell.com>
7213
7214         * Control.cs: Implemented proper TabIndex handling, now assigning
7215           a tabindex when a control is added to a container
7216         * GroupBox.cs (ctor): Now sets the Container style bit, required
7217           for Control.GetNextControl()
7218
7219 2005-01-09  Jackson Harper  <jackson@ximian.com>
7220
7221         * TextBoxBase.cs: Clear window when scrolling (fixes build).
7222
7223 2005-01-09  Peter Bartok <pbartok@novell.com>
7224
7225         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
7226           XplatUIX11.cs: Added ability to control ScrollWindow expose and
7227           an overload for ScrollWindow to allow only scrolling a rectangle
7228
7229 2005-01-09  Peter Bartok <pbartok@novell.com>
7230
7231         * Form.cs:
7232           - Implemented SetDesktopBounds method
7233           - Implemented SetDesktopLocation method
7234
7235 2005-01-08  Jackson Harper  <jackson@ximian.com>
7236
7237         * TreeView.cs: Only set the vbar's Maximum and LargeChange when
7238         the node count has changed, this removes to VScroll::Refresh calls
7239         when drawing.
7240
7241 2005-01-08  Geoff Norton  <gnorton@customerdna.com>
7242
7243         * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
7244
7245 2005-01-07  Jackson Harper  <jackson@ximian.com>
7246
7247         * TreeNode.cs: Just update the single node when it is
7248         checked. Don't refresh after toggling, the Expand/Collapse already
7249         handles this.
7250         * TreeView.cs: Respect clipping a little more when drawing. Try
7251         not to redraw things that don't need to be redrawn. Just hide the
7252         scrollbars when they are no longer needed instead of removing
7253         them, so they don't have to be created again and again.
7254         
7255 2005-01-07  Geoff Norton  <gnorton@customerdna.com>
7256
7257         * XplatUIOSX.cs (SetCaretPos):  We need to translate the view
7258         coordinates to window space to place the caret properly, FIXED.
7259         Implement GetWindowState & SetWindowState
7260
7261 2005-01-06  Peter Bartok <pbartok@novell.com>
7262
7263         * Form.cs:
7264           - Implemented ClientSize property
7265           - Implemented DesktopBounds property
7266           - Implemented DesktopLocation property
7267           - Implemented IsRestrictedWindow property
7268           - Implemented Size property
7269           - Implemented TopLevel property
7270           - Implemented FormWindowState property
7271         * Control.cs:
7272           - Implemented GetTopLevel() method
7273           - Implemented SetTopLevel() method
7274         * X11Structs.cs (Atom):
7275           - Added AnyPropertyType definition
7276           - Added MapState definiton and updated XWindowAttribute struct
7277         * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
7278         * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
7279         * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
7280         * XplatUIWin32.cs:
7281           - Implemented GetWindowState() and SetWindowState() methods
7282           - Fixed Win32GetWindowLong return type
7283         * XplatUIX11.cs:
7284           - Introduced central function for sending NET_WM messages
7285           - Implemented GetWindowState() and SetWindowState() methods
7286         * TextBoxBase.cs (set_Lines):
7287           - Now uses Foreground color for text added via Text property (Duh!)
7288           - Added code to remember programmatically requested size (fixes
7289             behaviour when Multiline is set after Size)
7290           - Added AutoSize logic
7291
7292 2005-01-06  Jackson Harper  <jackson@ximian.com>
7293
7294         * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
7295
7296 2005-01-06  Jackson Harper  <jackson@ximian.com>
7297
7298         * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
7299         set to less then 0.
7300
7301 2005-01-06  Jackson Harper  <jackson@ximian.com>
7302
7303         * ScrollableControl.cs: Lazy init the scrollbars.
7304         
7305 2005-01-06  Jackson Harper  <jackson@ximian.com>
7306
7307         * Theme.cs: Speed up getting pens and solid brushes, by using
7308         their ARGB as a hash instead of tostring and not calling Contains.
7309
7310 2005-01-06  Peter Bartok <pbartok@novell.com>
7311
7312         * Form.cs:
7313           - Implemented OnActivated and OnDeactivate event trigger
7314           - Implemented Activate() method
7315           - Fixed ShowDialog() to activate the form that was active before
7316             the dialog was shown
7317         * XplatUIX11.cs:
7318           - Added global active_window var that tracks the currently active
7319             X11 window
7320           - Now always grabs Property changes from the root window to always
7321             catch changes on the active window property
7322           - Added code to PropertyNotify handler to send Active/Inactive
7323             messages when state changes. This puts X11 and Win32 en par on
7324             WM_ACTIVATE notifications (except for double notifications when
7325             the user clicks away from our modal window to another one of our
7326             windows)
7327
7328 2005-01-05  Jackson Harper  <jackson@ximian.com>
7329
7330         * ImageList.cs: Implment ctor
7331
7332 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
7333
7334         * XplatUIOSX.cs: Implement Activate/SetTopmost
7335
7336 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
7337
7338         * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
7339
7340 2005-01-05  Geoff Norton  <gnorton@customerdna.com>
7341
7342         * XplatUIOSX.cs: Implement GetActive/SetFocus.
7343
7344 2005-01-05  Peter Bartok <pbartok@novell.com>
7345
7346         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
7347           XplatUIOSX.cs: Added GetActive method to return the currently
7348           active window for the application (or null, if none is active)
7349         * Form.cs:
7350           - Implemented ActiveForm
7351           - Commented out owner assignment for modal dialogs (causes problems
7352             on Win32, since the owner will be disabled)
7353           - Reworked some Active/Focus handling (still incomplete)
7354         * CommonDialog.cs: Commented out owner assignment for modal dialogs
7355           (causes problems on Win32, since the owner will be disabled)
7356         * IWin32Window: Added ComVisible attribute
7357
7358 2005-01-05  Peter Bartok <pbartok@novell.com>
7359
7360         * ToolTip.cs (WndProc): Enable setting focus now that we have the
7361           required XplatUI functions.
7362
7363 2005-01-05  Peter Bartok <pbartok@novell.com>
7364
7365         * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
7366           XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
7367           to implement focus and activation handling; still incomplete and
7368           with debug output
7369
7370 2005-01-04  Peter Bartok <pbartok@novell.com>
7371
7372         * TextBoxBase.cs: Changed access level for Document property to
7373           match switch to internal for TextControl
7374
7375 2005-01-04  Peter Bartok <pbartok@novell.com>
7376
7377         * AccessibleObject: Added ComVisible attribute
7378
7379 2005-01-04  Jackson Harper  <jackson@ximian.com>
7380
7381         * X11Keyboard.cs: Remove unneeded var.
7382
7383 2005-01-04  Jackson Harper  <jackson@ximian.com>
7384
7385         * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
7386         but PAINT.
7387         * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
7388         ClientMessage. This makes apps exit cleanly (more often).
7389         
7390 2005-01-04  Jackson Harper  <jackson@ximian.com>
7391
7392         * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
7393         handling focus, return correct colors and fonts,
7394         * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
7395         handle selection, horizontal scrolling, and mouse interaction.
7396
7397 2005-01-04  Peter Bartok <pbartok@novell.com>
7398
7399         * ICommandExecutor.cs: Added
7400         * IDataGridColumnStyleEditingNotificationService.cs: Added
7401         * IFeatureSupport.cs: Added
7402         * IFileReaderService.cs: Added
7403         * IDataObject.cs: Added ComVisible attribute
7404         * AmbientProperties.cs: Added
7405         * BaseCollection.cs: Added missing attributes
7406         * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
7407         * BaseCollection.cs: Added missing attributes
7408         * Binding.cs: Added TypeConverter attribute
7409         * BindingContext.cs: Added DefaultEvent attribute
7410         * BindingsCollection.cs: Added DefaultEvent attribute
7411         * Button.cs: Added DefaultValue attribute
7412         * DragEventArgs.cs: Added ComVisible attribute
7413         * GiveFeedbackEventArgs.cs: Added ComVisible attribute
7414         * KeyEventArgs.cs: Added ComVisible attribute
7415         * KeyPressEventArgs.cs: Added ComVisible attribute
7416         * MouseEventArgs.cs: Added ComVisible attribute
7417         * NavigateEventArgs.cs: Added
7418         * NavigateEventHandler.cs: Added
7419         * FeatureSupport.cs: Added
7420         * OSFeature.cs: Added
7421         * Theme.cs: Added abstract Version property to support OSFeature
7422         * ThemeWin32Classic.cs: Added Version property to
7423           support OSFeature.Themes
7424         * ProgressBar.cs: Removed OnPaintBackground override, not required since
7425           the proper styles to avoid background drawing are set, also doesn't
7426           match MS signature
7427         * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
7428         * QueryContinueDragEventArgs.cs: Added ComVisible attribute
7429         * ScrollEventArgs.cs: Added ComVisible attribute
7430         * SplitterEventArgs.cs: Added ComVisible attribute
7431         * AccessibleSelection.cs: Added Flags attribute
7432         * Appearance.cs: Added ComVisible attribute
7433         * Border3DSide.cs: Added ComVisible attribute
7434         * Border3DStyle.cs: Added ComVisible attribute
7435         * BorderStyle.cs: Added ComVisible attribute
7436         * DragAction.cs: Added ComVisible attribute
7437         * ErrorBlinkStyle.cs: Added
7438         * ScrollEventType.cs: Added ComVisible attribute
7439         * AnchorStyles.cs: Added Editor attribute
7440         * DockStyle.cs: Added Editor attribute
7441         * HorizontalAlignment.cs: Added ComVisible attribute
7442         * HelpEventArgs.cs: Added ComVisible attribute
7443         * PaintEventArgs.cs: Added IDisposable
7444
7445 2005-01-04  Peter Bartok <pbartok@novell.com>
7446
7447         * TextControl.cs: Switched Line, LineTag and Document classes to
7448           internal
7449
7450 2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
7451
7452         * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
7453         Simple mode, fixes, IntegralHeight, etc.
7454
7455 2005-01-04  Peter Bartok <pbartok@novell.com>
7456
7457         * TextBoxBase.cs: Using proper font variable now
7458
7459 2005-01-04  Peter Bartok <pbartok@novell.com>
7460
7461         * Form.cs (ShowDialog): Set parent to owner, if provided
7462         * GroupBox.cs: Removed unused vars
7463         * TextControl.cs:
7464           - Added GetHashCode() for Document and LineTag classes
7465           - Removed unused variables
7466           - Added CharIndexToLineTag() and LineTagToCharIndex() methods
7467             to allow translation between continuous char position and line/pos
7468         * CheckBox.cs: Removed vars that are provided by base class
7469         * RadioButton.cs: Removed vars that are provided by base class, added
7470           new keyword where required
7471         * LinkLabel.cs: Added new keyword where required
7472         * Control.cs (WndProc): Removed unused variable
7473         * TextBoxBase.cs:
7474           - Finished SelectionLength property
7475           - Implemented SelectionStart property
7476           - Implemented Text property
7477           - Removed unused vars
7478         * MessageBox.cs: Added new keyword where required
7479         * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
7480           WndProc signature
7481         * MenuAPI.cs: Added new keyword where required
7482         * ButtonBase.cs: Removed vars that are provided by base class, added
7483           new keyword where required
7484         * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
7485           argument to double, to allow compiling with csc 2.0 (Atsushi ran
7486           into this)
7487         * Application.cs (Run): Now triggers the ThreadExit event
7488         * CommonDialog.cs: Added new keyword where required; now properly sets
7489           parent (owner) for dialog
7490         * XplatUIX11.cs: Commented out unused vars
7491         * StatusBar.cs: Fixed signature for Text property
7492         * TabPage.cs: Undid Jordi's removal of unused var, now using the var
7493
7494 2005-01-04  Jordi Mas i Hernandez <jordi@ximian.com>
7495
7496         * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
7497         TrackBar.cs, MonthCalendar.cs: remove unused vars
7498
7499 2005-01-03  Jackson Harper  <jackson@ximian.com>
7500
7501         * ThemeWin32Classic.cs:
7502         * X11Keyboard.cs: Remove unused vars.
7503
7504 2005-01-03  Peter Bartok  <pbartok@novell.com>
7505
7506         * TextBox.cs:
7507           - set_Text: Tied into TextControl
7508           - set_TextAlignment: Tied into TextControl
7509         * TextControl.cs:
7510           - Added alignment properties and implemented alignment handling
7511             and drawing (still has a bug, not generating proper expose events)
7512           - Added new Line() constructor to allow passing the line alignment
7513           - Fixed selection setting, properly handling end<start now
7514           - Added aligment considerations to RecalculateDocument()
7515         * TextBoxBase.cs:
7516           - Now properly enforces control height for single line controls
7517           - Added support for CharacterCasing
7518           - Added IsInputKey override
7519           - Fixed Keys.Enter logic
7520           - Added SetBoundsCore override
7521           - Fixed mouse selection handling
7522
7523 2005-01-03  Jackson Harper  <jackson@ximian.com>
7524
7525         * TreeView.cs:
7526           - Collapse and uncheck all nodes when CheckBoxes is disabled.
7527           - Checkboxes are always aligned to the bottom of the node,
7528           regardless of item height.
7529           - Use the node bounds to draw the text so we can center it when
7530           the item height is greater then the font height.
7531           - Node::Bounds are only the text part of the node.
7532         * TreeNode.cs: New method to combine collapsing and unchecking all
7533           nodes recursively.
7534
7535 2005-01-02  Jackson Harper  <jackson@ximian.com>
7536
7537         * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
7538         * TreeNode.cs: Add a bounding box for the checkbox, refresh the
7539         tree when a check is changed. TODO: Only refresh the checked node.
7540
7541 2004-12-30  Jackson Harper  <jackson@ximian.com>
7542
7543         * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
7544         * TreeNode.cs: When collapsing make sure to never collapse the
7545         root node.
7546
7547 2004-12-29  Jackson Harper  <jackson@ximian.com>
7548
7549         * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
7550         
7551 2004-12-28  Zoltan Varga  <vargaz@freemail.hu>
7552
7553         * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
7554
7555 2004-12-28  Peter Bartok  <pbartok@novell.com>
7556
7557         * MessageBox.cs (get_CreateParams): Don't use owner var if it's
7558           not yet assigned
7559
7560 2004-12-28  Peter Bartok  <pbartok@novell.com>
7561
7562         * Control.cs (WndProc): Added WM_HELP handler, now generates
7563           HelpRequested event
7564         * Form.cs: Added HelpButton property and required support code
7565         * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
7566
7567 2004-12-28  Peter Bartok  <pbartok@novell.com>
7568
7569         * CommonDialog.cs:
7570           - Made DialogForm.owner variable internal
7571           - Added check to ensure owner form is set before setting
7572             owner properties in CreateParams
7573
7574 2004-12-28  Geoff Norton  <gnorton@customerdna.com>
7575
7576         * XplatUIOSX.cs: Implement mouse hovering.  Fix QDPoint struct to avoid
7577           swizzling.  Implement ClientToScreen and ScreenToClient.  Implement
7578           GetCursorPos.  Fix major visibility issues.  Rework the windowing
7579           system to support borderless/titleless windows (implements menus).
7580           Fix GetWindowPos.  Implement initial background color support for
7581           views.
7582
7583 2004-12-28  Peter Bartok  <pbartok@novell.com>
7584
7585         * Form.cs (get_CreateParams): Make sure we have an owner before using
7586           the owner variable. Implement proper default if no owner exists
7587
7588 2004-12-28  Peter Bartok  <pbartok@novell.com>
7589
7590         * In preparation for making Managed.Windows.Forms the default build target
7591           for System.Windows.Forms, the following stubbed files were added.
7592           Dialogs are currently being implemented by contributors and are only
7593           short-term place holders.
7594         * ColorDialog.cs: Initial check-in (minmal stub)
7595         * DataGrid.cs: Initial check-in (minimal stub)
7596         * DataGridLineStyle.cs: Initial check-in (minimal stub)
7597         * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
7598         * DataGridTableStyle.cs: Initial check-in (minimal stub)
7599         * FontDialog.cs: Initial check-in (minimal stub)
7600         * FileDialog.cs: Initial check-in (minimal stub)
7601         * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
7602         * GridTableStylesCollection.cs: Initial check-in (minimal stub)
7603         * OpenFileDialog: Initial check-in (minimal stub)
7604         * IComponentEditorPageSite.cs: Initial check-in
7605         * Splitter.cs: Initial check-in (for Jackson)
7606         * SplitterEventArgs.cs: Initial check-in (for Jackson)
7607         * SplitterEventHandler.cs: Initial check-in (for Jackson)
7608         * TextBox.cs: Initial check-in; still needs some wiring to
7609           TextControl backend
7610         * Form.cs: Implemented ControlBox property
7611         * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
7612         * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
7613         * TextControl.cs: Added selection functionality; added todo header
7614         * TextBoxBase.cs:
7615           - Implemented Lines property
7616           - Implemented TextHeight property
7617           - Implemented SelectedText property
7618           - Implemented SelectionLength property
7619           - Implemented SelectAll method
7620           - Implemented ToString method
7621           - Removed and cleaned up some debug code
7622           - Implemented (still buggy) mouse text selection
7623
7624 2004-12-27  Jordi Mas i Hernandez <jordi@ximian.com>
7625
7626         * ComboBox.cs: Complete DropDownList implementation, fixes.
7627
7628 2004-12-26  Jordi Mas i Hernandez <jordi@ximian.com>
7629
7630         * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
7631         * ComboBoxStyle.cs: ComboBoxStyle enum
7632         * ComboBox.cs: Initial work on ComboBox control
7633
7634 2004-12-21  Peter Bartok  <pbartok@novell.com>
7635
7636         * Control.cs (ctor, CreateParams): Moved setting of is_visible
7637           forward so that anything that creates a window gets the default,
7638           also no longer uses Visible property in CreateParams to avoid
7639           walking up the parent chain and possibly get the wrong visible
7640           status. Fixed IsVisible to no longer walk up to the parent.
7641
7642 2004-12-21  Peter Bartok  <pbartok@novell.com>
7643
7644         * Form.cs (ShowDialog): Unset modality for the proper window
7645  
7646 2004-12-20  Peter Bartok  <pbartok@novell.com>
7647
7648         * CommonDialog.cs: Initial check-in
7649
7650 2004-12-20  Peter Bartok  <pbartok@novell.com>
7651
7652         * Control.cs (Visible): Now uses the parent window instead of the
7653           client area window for the property
7654
7655         * Form.cs
7656           - ShowDialog(): Now uses the proper window for modality
7657           - The default visibility state for the form parent is now false. This
7658             will prevent the user from seeing all the changes to the form and
7659             its controls before the application hits Application.Run()
7660           - Removed some stale commented out code
7661
7662         * NativeWindow.cs:
7663           - Added FindWindow() method to have a method to check for existence
7664             of a window handle
7665           - Added ability to override default exception handling (for example
7666             when debugging with VS.Net; to do this the ExternalExceptionHandler
7667             define must be set
7668           - Removed some useless debug output
7669
7670         * XplatUIX11.cs:
7671           - Removed r37929 (SetModal patch from Ashwin Bharambe), was
7672             not working as expected
7673           - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
7674             property to allow switching back to the modal window if focus is
7675             given to another one of our windows (Application Modal)
7676           - Now only sets override_redirect if we create a window
7677             without WS_CAPTION
7678           - Moved EventMask selection before mapping of newly created window
7679             so we can catch the map event as well
7680           - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
7681           - Added various Atom related DllImports
7682           - Implemented Exit() method
7683           - .ctor() : No longer shows window if WS_VISIBLE is not defined
7684             in the CreateParams
7685
7686         * MessageBox.cs: Now properly deals with the FormParent window by
7687           providing an override the FormParent CreateParams property to
7688           set as POPUP instead of OVERLAPPED window.
7689
7690 2004-12-19  Geoff Norton  <gnorton@customerdna.com>
7691
7692         * XplatUIOSX.cs: Implement DestroyWindow.  Implement ScrollWindow
7693         Minor code cleanup.
7694
7695 2004-12-19  Geoff Norton  <gnorton@customerdna.com>
7696         
7697         * XplatUIOSX.cs (SetModal): Implement this method on OSX.
7698
7699 2004-12-18  Peter Bartok  <pbartok@novell.com>
7700
7701         * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
7702           implementing SetModal() method
7703
7704 2004-12-18  Peter Bartok  <pbartok@novell.com>
7705
7706         * X11Structs.cs (XGCValues): Fixed type of function element
7707         * XplatUI.cs: Added ScrollWindow() method
7708         * XplatUIDriver.cs: Added ScrollWindow() abstract
7709         * XplatUIWin32.cs: Implemented ScrollWindow() method
7710         * XplatUIX11.cs: Implemented ScrollWindow() method
7711         * XplatUIOSX.cs: Stubbed out ScrollWindow() method
7712
7713 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
7714
7715         * XplatUIOSX.cs:  Fix cursor to use an Invert instead of drawing it
7716         Some more keyboard support (INCOMPLETE)
7717
7718 2004-12-17  Peter Bartok  <pbartok@novell.com>
7719
7720         * TextControl.cs:
7721         - Added color attribute to line tags.
7722         - Added color argument to all functions dealing with tags
7723         - Added color argument support to various functions
7724         - Fixed miss-calculation of baseline/shift in certain circumstances
7725
7726         * TextBoxBase.cs: Added new color option to test code
7727
7728 2004-12-17  Jackson Harper  <jackson@ximian.com>
7729
7730         * TreeNode.cs:
7731         * MonthCalendar.cs: Signature fixes
7732
7733 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
7734
7735         * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
7736         keyboard event moved it.  Create a new graphics context for each paint resolves this
7737
7738 2004-12-17  Geoff Norton  <gnorton@customerdna.com>
7739
7740         * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
7741         Make caret exist and go blink blink.  Initial keyboard support.
7742         Fix exception handler, Add Invalidate support.  Change way RefreshWindow
7743         works.
7744
7745 2004-12-17  Jackson Harper  <jackson@ximian.com>
7746
7747         * XplatUIStructs.cs: Updated set of virtual keycodes.
7748         * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
7749
7750 2004-12-17  Jackson Harper  <jackson@ximian.com>
7751
7752         * XplatUIX11.cs: Prune old keyboard code.
7753
7754 2004-12-17  Jackson Harper  <jackson@ximian.com>
7755
7756         * XplatUIX11.cs: When generating mouse wparams get the modifier
7757         keys from the ModifierKeys property.
7758
7759 2004-12-17  Jackson Harper  <jackson@ximian.com>
7760
7761         * X11Keyboard.cs: Send up/down input when generating
7762         messages. Remove some unused vars.
7763
7764 2004-12-17  Jackson Harper  <jackson@ximian.com>
7765
7766         * TabControl.cs:
7767         * TreeView.cs: get rid of warnings.
7768
7769 2004-12-17  Jackson Harper  <jackson@ximian.com>
7770
7771         * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
7772
7773 2004-12-17  Jordi Mas i Hernandez <jordi@ximian.com>
7774
7775         * ListBox.cs: bug fixes, changes for CheckedListBox.cs
7776           CheckedListBox.cs: Implementation
7777
7778 2004-12-17  Peter Bartok  <pbartok@novell.com>
7779
7780         * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
7781
7782 2004-12-16  Peter Bartok  <pbartok@novell.com>
7783
7784         * TextControl.cs:
7785           - InsertCharAtCaret(): Fixed start pos fixup
7786           - CaretLine_get: No longer derives the line from the tag, the tag
7787             could be stale if lines in the document have been added or deleted
7788           - RebalanceAfterDelete(): Fixed bug in balancing code
7789           - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
7790           - Line.Streamline(): Now can also elminate leading empty tags
7791           - DumpTree(): Added a few more tests and prevented exception on
7792             uninitialized data
7793           - Added Debug section for Combining lines
7794           - Delete(): Now copies all remaining properties of a line
7795           
7796         * TextBoxBase.cs:
7797           - Left mousebutton now sets the caret (and middle button still acts
7798             as formatting tester, which must go away soon)
7799           - Added Debug section for Deleting/Combining lines
7800           - Fixed calculations for UpdateView after Combining lines
7801
7802 2004-12-16  Peter Bartok  <pbartok@novell.com>
7803
7804         * TextControl.cs: Now properly aligns text on a baseline, using the
7805           new XplatUI.GetFontMetrics() method. Simplified several calculations
7806         * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
7807           defined
7808
7809 2004-12-16  Peter Bartok  <pbartok@novell.com>
7810
7811         * XplatUI.cs: Added GetFontMetrics() method
7812         * XplatUIDriver.cs: Added GetFontMetrics() abstract
7813         * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
7814           into libgdiplus, our private GetFontMetrics function
7815         * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
7816         * XplatUIWin32.cs: Implemented GetFontMetrics() method
7817
7818 2004-12-16  Jackson Harper  <jackson@ximain.com>
7819
7820         * XplatUIStruct.cs: Add enum for dead keys
7821         * X11Keyboard.cs: Map and unmap dead keys.
7822
7823 2004-12-16  Jackson Harper  <jackson@ximian.com>
7824
7825         * X11Keyboard.cs: Detect and use the num lock mask.
7826
7827 2004-12-16  Peter Bartok  <pbartok@novell.com>
7828
7829         * Control.cs (CreateGraphics): Added check to make sure the
7830           handle of the window exists before calling Graphics.FromHwnd()
7831
7832 2004-12-16  Peter Bartok  <pbartok@novell.com>
7833
7834         * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
7835           contains a lot of code that's not supposed to be there for the
7836           real thing, but required for developing/testing the textbox
7837           backend.
7838
7839 2004-12-16  Peter Bartok  <pbartok@novell.com>
7840
7841         * TextControl.cs:
7842         - Fixed Streamline method
7843         - Added FindTag method to Line
7844         - Added DumpTree method for debugging
7845         - Added DecrementLines() method for deleting lines
7846         - Fixed UpdateView to update the cursor to end-of-line on single-line
7847           updates
7848         - Added PositionCaret() method
7849         - Fixed MoveCaret(LineDown) to move into the last line, too
7850         - Added InsertChar overload
7851         - Fixed InsertChar tag offset calculations
7852         - Added DeleteChar() method
7853         - Added Combine() method for folding lines
7854         - Fixed Delete() method, no longer allocates wasted Line object and
7855           now copies all properties when swapping nodes
7856         - Delete() method now updates document line counter
7857
7858 2004-12-15  Jackson Harper  <jackson@ximian.com>
7859
7860         * XplatUIX11.cs: Get the modifier keys from the keyboard driver
7861         * X11Keyboard.cs: Expose the currently selected modifier keys
7862         through a property.
7863
7864 2004-12-15  Peter Bartok  <pbartok@novell.com>
7865
7866         * TextControl.cs: Initial check-in. Still incomplete
7867
7868 2004-12-15  Jackson Harper  <jackson@ximian.com>
7869
7870         * TreeNode.cs:
7871         * TreeView.cs: Fix build on csc (second time today ;-))
7872
7873 2004-12-15  Jackson Harper  <jackson@ximian.com>
7874
7875         * TreeView.cs: Store the treenodes plus/minus box bounds when it
7876         is calculated and use this for click testing.
7877         * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
7878
7879 2004-12-15  Jackson Harper  <jackson@ximian.com>
7880
7881         * TreeView.cs: Pass the nodes image index to the image list when
7882         drawing that image.
7883
7884 2004-12-15  Jackson Harper  <jackson@ximian.com>
7885
7886         * X11Keyboard.cs: Set messages hwnd.
7887         * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
7888         post_message calls.
7889
7890 2004-12-15  Jackson Harper  <jackson@ximian.com>
7891
7892         * X11Keyboard.cs: Fix to compile with csc.
7893         
7894 2004-12-15  Jackson Harper  <jackson@ximian.com>
7895
7896         * X11Structs.cs: Add key mask values
7897         * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
7898         * X11Keyboard.cs: New file - Extrapolates and interpolates key
7899         down/up foo into WM_CHAR foo
7900         * KeyboardLayouts.cs: Common keyboard layouts
7901         * XplatUIX11.cs: Add the keyboard driver. Add functionality to
7902         post messages into the main queue.
7903
7904 2004-12-13  Jordi Mas i Hernandez <jordi@ximian.com>
7905
7906         * Button.cs: implement ProcessMnemonic
7907         * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
7908           brushes everytime
7909         * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
7910         * ButtonBase.cs: Show HotkeyPrefix (not the &)
7911
7912 2004-12-12  John BouAntoun  <jba-mon@optusnet.com.au>
7913         
7914         * MonthCalendar.cs: Implemented click-hold for next/previous month
7915           and date selection
7916           
7917 2004-12-11  Peter Bartok  <pbartok@novell.com>
7918
7919         * X11Structs.cs:
7920           - Added XKeyboardState (moved from XplatUIX11.cs)
7921           - Added XCreateGC related enums and structures
7922           - Added GXFunction for XSetFunction
7923
7924         * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
7925
7926         * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
7927           CaretVisible() calls
7928
7929         * ToolTip.cs: Added code to prevent stealing focus from app windows
7930
7931         * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
7932           DestroyCaret, SetCaretPos and CaretVisible)
7933
7934         * XplatUIX11.cs:
7935           - Added implementation for caret functions
7936           - Moved hover variables into a struct, to make it a bit easier
7937             on the eyes and to debug
7938           - Removed XKeyboardState (moved to XplatUIX11.cs)
7939           - Moved Keyboard properties into the properties region
7940
7941         * Control.cs (get_Region): Control.CreateGraphics is the appropriate
7942           call to get a graphics context for our control
7943
7944         * XplatUIOSX.cs: Added empty overrides for the new caret functions
7945
7946         * TreeView.cs: Fixed bug. No matter what color was set it would always
7947           return SystemColors.Window
7948
7949         * XplatUIWin32.cs: Implemented caret overrides
7950
7951 2004-12-10  Jordi Mas i Hernandez <jordi@ximian.com>
7952
7953         * ListBox.cs: fire events, implement missing methods and properties,
7954         sorting.
7955
7956 2004-12-10  John BouAntoun <jba-mono@optusnet.com.au>
7957
7958         * MonthCalendar.cs: invalidation bug fixing
7959         * ThemeWin32Classic.cs: paint fixing
7960
7961 2004-12-09  Geoff Norton  <gnorton@customerdna.com>
7962
7963         * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
7964         prepare the CGContextRef there now.
7965
7966 2004-12-09  John BouAntoun <jba-mono@optusnet.com.au>
7967
7968         * MonthCalendar.cs:
7969           - optimisationL only invalidate areas that have changed
7970         * ThemeWin32Classic.cs:
7971           - only paint parts that intersect with clip_area
7972
7973 2004-12-09  Peter Bartok  <pbartok@novell.com>
7974
7975         * Application.cs: Undid changes from r37004 which cause problems
7976         on X11
7977
7978 2004-12-09  Ravindra  <rkumar@novell.com>
7979
7980         * ToolBar.cs: Added support for displaying ContextMenu
7981         attached to a button on ToolBar.
7982         * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
7983         property.
7984
7985 2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
7986
7987         * Label.cs: autosize works in text change and removes unnecessary
7988         invalidate
7989
7990 2004-12-09  Jordi Mas i Hernandez <jordi@ximian.com>
7991
7992         * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
7993         remove warnings
7994
7995 2004-12-08  Geoff Norton  <gnorton@customerdna.com>
7996
7997         * XplatUIOSX.cs: Added mouse move/click/grab support
7998         Remove some debugging WriteLines not needed anymore.
7999         Add window resizing/positioning.
8000         Fix visibility on reparenting.
8001
8002 2004-12-08  Peter Bartok  <pbartok@novell.com>
8003
8004         * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
8005
8006 2004-12-07  Geoff Norton  <gnorton@customerdna.com>
8007
8008         * XplatUIOSX.cs: Initial checkin
8009         * XplatUI.cs: Use the Quartz driver if the environment is set to use it
8010
8011 2004-12-03  Ravindra <rkumar@novell.com>
8012
8013         * ListView.cs: Added some keybindings and fixed scrolling.
8014         ScrollBars listen to ValueChanged event instead of Scroll
8015         Event. This would let us take care of all changes being
8016         done in the scrollbars' values programmatically or manually.
8017         * ListView.cs (CanMultiselect): Added a check for shift key.
8018         * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
8019         * ListViewItem.cs (Clone): Fixed. We need to make a copy
8020         of ListViewSubItemCollection as well.
8021
8022 2004-12-06  Peter Bartok <pbartok@novell.com>
8023
8024         * Control.cs (Parent): Added check and exception to prevent
8025         circular parenting
8026
8027 2004-12-03  Jordi Mas i Hernandez <jordi@ximian.com>
8028
8029         * ListBox.cs: implemented clipping, selection single and multiple,
8030         bug fixing
8031
8032 2004-12-03  Ravindra <rkumar@novell.com>
8033
8034         * ListView.cs (ListView_KeyDown):
8035         * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
8036         when CTRL key is pressed.
8037         * ListViewItem.cs (Selected): Fixed setting the property.
8038
8039 2004-12-03  Marek Safar  <marek.safar@seznam.cz>
8040
8041         * Application.cs (OnThreadException): Use ThreadExceptionDialog.
8042
8043         * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
8044         MinimizeBox, ShowInTaskbar, TopMost properties.
8045
8046         * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
8047         will be implemented).
8048
8049 2004-12-03  Marek Safar  <marek.safar@seznam.cz>
8050
8051         * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
8052
8053         * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
8054         tests.
8055         
8056         * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
8057         
8058         * TreeView.cs: BackColor is Colors.Window.
8059
8060 2004-12-01  Jackson Harper  <jackson@ximian.com>
8061
8062         * TreeView.cs: When resizing the tree if the user is making it
8063         smaller we don't get expose events, so we need to handle adding
8064         the horizontal scrollbar in the size changed handler as well as
8065         the expose handler.
8066
8067 2004-12-02  Jordi Mas i Hernandez <jordi@ximian.com>
8068
8069         * DrawItemState.cs: fixes wrong enum values
8070
8071 2004-12-01  Jackson Harper  <jackson@ximian.com>
8072
8073         * TreeView.cs: Resize the hbar as well as the vbar on resize.
8074
8075 2004-12-01  Jackson Harper  <jackson@ximian.com>
8076
8077         * NodeLabelEditEventArgs.cs:
8078         * NodeLabelEditEventHandler.cs:
8079         * OpenTreeNodeEnumerator.cs:
8080         * TreeNode.cs:
8081         * TreeNodeCollection.cs:
8082         * TreeView.cs:
8083         * TreeViewAction.cs:
8084         * TreeViewCancelEventArgs.cs:
8085         * TreeViewCancelEventHandler.cs:
8086         * TreeViewEventArgs.cs:
8087         * TreeViewEventHandler.cs: Initial implementation.
8088
8089 2004-12-01  Ravindra <rkumar@novell.com>
8090
8091         * ListView.cs (CalculateListView): Fixed scrolling related
8092         calculations. Also, removed some debug statements from other
8093         places.
8094         * ListViewItem.cs: Changed access to 'selected' instance variable
8095         from private to internal.
8096         * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
8097
8098 2004-12-01  Jordi Mas i Hernandez <jordi@ximian.com>
8099
8100         * ThemeWin32Classic.cs: remove cache of brush and pens for
8101         specific controls and use the global system, fixes scrollbutton
8102         bugs (for small sizes, disabled, etc)
8103         
8104         * ScrollBar.cs: does not show the thumb for very small controls
8105         (as MS) and allow smaller buttons that the regular size
8106
8107 2004-12-01  Miguel de Icaza  <miguel@ximian.com>
8108
8109         * UpDownBase.cs: Add abstract methods for the interface.
8110         Add new virtual methods (need to be hooked up to TextEntry when it
8111         exists).
8112         Add override methods for most features.
8113         Computes the size, forces the height of the text entry.
8114
8115         * NumericUpDown.cs: Put here the current testing code.
8116
8117         * Set eol-style property on all files that do not have mixed line
8118         endings, to minimize the future problems.  There are still a few
8119         files with mixed endings, and someone should choose whether they
8120         want to move it or not.
8121
8122 2004-11-30  Jordi Mas i Hernandez <jordi@ximian.com>
8123
8124         * MonthCalendar.cs, ListView.cs: use Theme colours instead of
8125         System.Colors
8126         
8127 2004-11-30  Ravindra <rkumar@novell.com>
8128
8129         * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
8130         drawing and replaced use of SystemColors by theme colors.
8131         * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
8132         * ListView.cs (ListViewItemCollection.Add): Throw exception when
8133         same ListViewItem is being added more than once.
8134
8135 2004-11-30  John BouAntoun <jba-mono@optusnet.com.au>
8136
8137         * MonthCalendar.cs:
8138           - ControlStyles love to make the control not flicker
8139           
8140 2004-11-30  Peter Bartok  <pbartok@novell.com>
8141
8142         * CharacterCasing.cs: Added
8143
8144 2004-11-29  Peter Bartok  <pbartok@novell.com>
8145
8146         * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
8147           TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
8148           I am removing these files as they conflict with already completed
8149           work. While it is fantastic to get contributions to MWF, I
8150           respectfully ask that everyone please coordinate their contributions
8151           through mono-winforms-list or #mono-winforms at this time. We're
8152           explicitly avoiding stubbing and don't want controls that don't have
8153           their basic functionality implemented in svn. Please also see
8154           http://www.mono-project.com/contributing/winforms.html
8155
8156
8157 2004-11-29  Marek Safar  <marek.safar@seznam.cz>
8158
8159         * Application.cs (ModalRun): Don't hang after exit.
8160
8161         * Theme.cs: New TreeViewDefaultSize property.
8162
8163         * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
8164         with less hardcoded SystemColors constant.
8165         Implemented TreeViewDefaultSize.
8166
8167         * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
8168         TreeViewAction.cs, TreeViewEventArgs.cs: New files.
8169
8170
8171 2004-11-29  John BouAntoun <jba-mono@optusnet.com.au>
8172
8173         * MonthCalendar.cs:
8174           - Fix NextMonthDate and PrevMonthDate click moving calendar
8175
8176 2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
8177
8178         * MonthCalendar.cs:
8179           - Fix usage of ScrollChange Property when scrolling months
8180
8181 2004-11-26  Jordi Mas i Hernandez <jordi@ximian.com>
8182
8183         * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
8184          - Fixes menu destroying
8185          - Support adding and removing items on already created menus
8186
8187 2004-11-26  John BouAntoun <jba-mono@optusnet.com.au>
8188
8189         * MonthCalendar.cs:
8190           - Re-worked all bolded dates handling to match win32
8191         * ThemeWin32Classic.cs:
8192           - Fixed rendering with bolded dates
8193
8194 2004-11-25  Jordi Mas i Hernandez <jordi@ximian.com>
8195
8196         * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
8197         - Horizontal scroolbar
8198         - Multicolumn
8199         - Fixes
8200
8201
8202 2004-11-25  John BouAntoun <jba-mono@optusnet.com.au>
8203
8204         * MonthCalendar.cs:
8205           - Fix Usage of MaxSelectionCount from SelectionRange
8206           - Fixed Shift + Cursor Selection
8207           - Fixed Shift + (Pg up/Pg dn, Home/End) selection
8208           - Fixed normal cursor selection to be compat with win32
8209           - Fixed Shift + Mouse Click selection
8210
8211 2004-11-24  Peter Bartok <pbartok@novell.com>
8212
8213         * XplatUI.cs (DispatchMessage): Switched to return IntPtr
8214         * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
8215         * XplatUIX11.cs:
8216           - CreatedKeyBoardMsg now updates keystate with Alt key
8217           - Added workaround for timer crash to CheckTimers, Jackson will
8218             develop a proper fix and check in later
8219           - Implemented DispatchMessage
8220           - Removed calling the native window proc from GetMessage (call
8221             now moved to DispatchMessage)
8222
8223         * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
8224           the keydata (Fixes bug #69831)
8225
8226         * XplatUIWin32.cs:
8227           - (DispatchMessage): Switched to return IntPtr
8228           - Added DllImport for SetFocus
8229
8230 2004-11-24  Ravindra <rkumar@novell.com>
8231
8232         * ThemeWin32Classic.cs: Fixed ListView border and checkbox
8233         background drawing.
8234         * ListViewItem.cs: Fixed various properties, calculations
8235         and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
8236         * ListView.cs: Fixed calculations, BackColor, ForeColor properties
8237         and some internal properties. Fixed MouseDown handler and Paint
8238         method.
8239
8240 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
8241
8242         * MonthCalendar.cs: Add TitleMonth ContextMenu handling
8243
8244 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
8245
8246         * ContainerControl.cs: correct accidental check in of local changes
8247
8248 2004-11-24  John BouAntoun <jba-mono@optusnet.com.au>
8249
8250         * ThemeWin32Classic.cs:
8251                 - Fixed Drawing Last month in grid (sometimes not showing)
8252         * MonthCalendar.cs:
8253                 - Fixed title width calculation bug (makeing title small)
8254
8255 2004-11-23  Peter Bartok <pbartok@novell.com>
8256
8257         * XplatUIX11.cs:
8258           - Added generation of WM_MOUSEHOVER event
8259           - Added missing assignment of async_method atom
8260           - Fixed WM_ERASEBKGND; now only redraws the exposed area
8261
8262 2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
8263
8264         * ThemeWin32Classic.cs:
8265                 - Fixed Drawing of today circle when showtodaycircle not set
8266                 - fixed drawing of first and last month in the grid (gay dates)
8267         * MonthCalendar.cs:
8268                 - Fixed Drawing of today circle
8269                 - Fixed drawing of grady dates
8270                 - Fixed HitTest for today link when ShowToday set to false
8271                 - Fixed DefaultSize to obey ShowToday
8272
8273 2004-11-23  John BouAntoun <jba-mono@optusnet.com.au>
8274
8275         * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
8276         * System.Windows.Forms/Theme.cs
8277         * MonthCalendar.cs: added for MonthCalendar
8278         * SelectionRange.cs: added for MonthCalendar
8279         * Day.cs: added for MonthCalendar: added for MonthCalendar
8280         * DateRangeEventArgs.cs: added for MonthCalendar
8281         * DateRangeEventHandler.cs: added for MonthCalendar
8282
8283 2004-11-22  Ravindra <rkumar@novell.com>
8284
8285         * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
8286         property.
8287
8288 2004-11-22  Miguel de Icaza  <miguel@ximian.com>
8289
8290         * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
8291         event handler.
8292         
8293         * NumericUpDown.cs: Added new implementation.
8294         * UpDownBase.cs: Added new implementation.
8295
8296         * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
8297         implementations.
8298         
8299         * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
8300         implementations.
8301
8302         * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
8303         methods.
8304
8305 2004-11-21  Miguel de Icaza  <miguel@ximian.com>
8306
8307         * Timer.cs  (Dispose): Should call the base dispose when
8308         overriding.
8309
8310 2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
8311
8312         * ScrollBar.cs: updates thumb position when max, min or increment
8313         is changed
8314
8315 2004-11-21  Ravindra <rkumar@novell.com>
8316
8317         * ListView.cs: Implemented item selection, activation and
8318         column header style. Fixed properties to do a redraw, if
8319         required. Added support for MouseHover, DoubleClick, KeyDown
8320         and KeyUp event handling and some minor fixes.
8321         * ListViewItem.cs: Fixed constructor.
8322         * ThemeWin32Classic.cs: Improved drawing for ListView.
8323
8324 2004-11-19  Jordi Mas i Hernandez <jordi@ximian.com>
8325
8326         * ThemeWin32Classic.cs: initial listbox drawing code
8327         * DrawMode.cs: new enumerator
8328         * ListControl.cs: stubbed class
8329         * ListBox.cs: initial implementation
8330         * Theme.cs: new methods definitions
8331         * SelectionMode.cs: new enumerator
8332
8333 2004-11-17  Peter Bartok  <pbartok@novell.com>
8334
8335         * XplatUIWin32.cs: Added double-click events to the class style
8336         * Control.cs (WndProc):
8337           - Added handling of click-count to MouseDown/ MouseUp events.
8338           - Added handling of middle and right mouse buttons
8339           - Removed old debug code
8340
8341 2004-11-17  Jackson Harper  <jackson@ximian.com>
8342
8343         * XplatUIX11.cs: Use the new Mono.Unix namespace.
8344
8345 2004-11-17  Ravindra <rkumar@novell.com>
8346
8347         * ListView.cs: Added event handling for MouseMove/Up/Down.
8348         * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
8349         * ThemeWin32Classic.cs: We need to clear the graphics context and
8350         draw column header in a proper state.
8351
8352
8353 2004-11-17  Jordi Mas i Hernandez <jordi@ximian.com>
8354
8355         *  Menu.cs: fixes signature
8356
8357 2004-11-16  Peter Bartok  <pbartok@novell.com>
8358
8359         * XplatUIX11.cs (GetMessage): Implemented generation of
8360           double click mouse messages
8361
8362 2004-11-12  Jordi Mas i Hernandez <jordi@ximian.com>
8363
8364         *  Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
8365         not by menu
8366
8367 2004-11-11  Peter Bartok  <pbartok@novell.com>
8368
8369         * HandleData.cs: Added Visible property
8370         * XplatUIX11.cs (IsVisible): Now uses Visible property from
8371           HandleData
8372         * XplatUIX11.cs: Removed old debug leftovers
8373         * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
8374         * Control.cs (WndProc): Removed old debug leftovers,
8375           streamlined handling of WM_WINDOWPOSCHANGED, removed un-
8376           needed WM_SIZE handling
8377
8378 2004-11-11  Jackson Harper  <jackson@ximian.com>
8379
8380         * OwnerDrawPropertyBag.cs:
8381         * TreeViewImageIndexConverter.cs: Initial implementation
8382
8383 2004-11-10  Jackson Harper  <jackson@ximian.com>
8384
8385         * ThemeWin32Classic.cs:
8386         * TabControl.cs: instead of moving tabs by the slider pos just
8387         start drawing at the tab that is offset by the slider. This way
8388         scrolling always moves by exactly one tab.
8389
8390 2004-11-10  Jackson Harper  <jackson@ximian.com>
8391
8392         * TabControl.cs: You can only scroll left when the slider has
8393         already ben moved right.
8394         
8395 2004-11-10  Jackson Harper  <jackson@ximian.com>
8396
8397         * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
8398         the clip area.
8399         
8400 2004-11-10  Jackson Harper  <jackson@ximian.com>
8401
8402         * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
8403         clip area.
8404         
8405 2004-11-09  Jackson Harper  <jackson@ximian.com>
8406
8407         * TabControl.cs (CalcXPos): New helper method so we can determine
8408         the proper place to start drawing vertical tabs.
8409         * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
8410         
8411 2004-11-09  Jackson Harper  <jackson@ximian.com>
8412
8413         * TabControl.cs: Calculate sizing and rects for left aligned tabs.
8414         * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
8415         and Bottom, left and right are illegal values for this and
8416         multiline is enabled when the alignment is set to left or right.
8417         (DrawTab): Each alignment block should draw the text itself now
8418         because Left requires special love. Also add rendering for Left
8419         aligned tabs.
8420         
8421 2004-11-09  Jordi Mas i Hernandez <jordi@ximian.com>
8422
8423         *  Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
8424         does not destroy the windows, removes debugging messages
8425
8426 2004-11-09  jba  <jba-mono@optusnet.com.au>
8427
8428         * ThemeWin32Classic.cs
8429         (DrawButtonBase): Fix verticle text rect clipping in windows
8430         (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
8431         rendering and incorrect text rect clipping
8432         (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
8433         rendering and incorrect text rect clipping
8434         
8435 2004-11-08  Jackson Harper  <jackson@ximian.com>
8436
8437         * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
8438         bottom when they are bottom aligned so the bottoms of the tabs get
8439         displayed.
8440         * TabControl.cs (DropRow): Move rows up instead of down when the
8441         tab control is bottom aligned.
8442
8443 2004-11-08 13:59  pbartok
8444
8445         * XplatUIX11.cs:
8446           - Added handling for various window styles
8447           - Added handling for popup windows
8448           - Added SetTopmost handling
8449
8450 2004-11-08 13:55  pbartok
8451
8452         * XplatUIWin32.cs:
8453           - Added argument to SetTopmost method
8454           - Fixed broken ClientToScreen function
8455
8456 2004-11-08 13:53  pbartok
8457
8458         * XplatUIStructs.cs:
8459           - Added missing WS_EX styles
8460
8461 2004-11-08 13:53  pbartok
8462
8463         * XplatUI.cs, XplatUIDriver.cs:
8464           - Added argument to SetTopmost
8465
8466 2004-11-08 13:52  pbartok
8467
8468         * X11Structs.cs:
8469           - Added XSetWindowAttributes structure
8470           - Improved XWindowAttributes structure
8471           - Added SetWindowValuemask enum
8472           - Added window creation arguments enum
8473           - Added gravity enum
8474           - Added Motif hints structure
8475           - Added various Motif flags and enums
8476           - Added PropertyMode enum for property functions
8477
8478 2004-11-08 13:50  pbartok
8479
8480         * Form.cs:
8481           - Fixed arguments for updated SetTopmost method
8482
8483 2004-11-08 13:49  pbartok
8484
8485         * ToolTip.cs:
8486           - Fixed arguments for updated SetTopmost function
8487           - Fixed usage of PointToClient
8488
8489 2004-11-08 13:44  pbartok
8490
8491         * MenuAPI.cs:
8492           - Added Clipping of children and siblings
8493
8494 2004-11-08 13:41  pbartok
8495
8496         * MainMenu.cs:
8497           - Removed SetMenuBarWindow call. We do this in Form.cs
8498
8499 2004-11-08 13:40  jackson
8500
8501         * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
8502           scrolling jimmi in the correct location with bottom aligned tabs
8503
8504 2004-11-08 13:36  pbartok
8505
8506         * ContainerControl.cs:
8507           - Implemented BindingContext
8508           - Implemented ParentForm
8509
8510 2004-11-08 12:46  jackson
8511
8512         * TabControl.cs: Put bottom rendered tabs in the right location
8513
8514 2004-11-08 07:15  jordi
8515
8516         * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
8517           removes dead code
8518
8519 2004-11-05 17:30  jackson
8520
8521         * TabControl.cs: When selected tabs are expanded make sure they
8522           don't go beyond the edges of the tab control
8523
8524 2004-11-05 14:57  jackson
8525
8526         * TabControl.cs: Reset show_slider so if the control is resized to
8527           a size where it is no longer needed it's not displayed anymore
8528
8529 2004-11-05 13:16  jackson
8530
8531         * TabControl.cs: Make tab pages non visible when added to the
8532           control
8533
8534 2004-11-05 12:42  jackson
8535
8536         * TabControl.cs: Implement SizeMode.FillToRight
8537
8538 2004-11-05 12:16  jackson
8539
8540         * Control.cs: Do not call CreateHandle if the handle is already
8541           created
8542
8543 2004-11-05 11:46  jackson
8544
8545         * TabControl.cs: Remove superflous call to CalcTabRows
8546
8547 2004-11-05 09:07  jackson
8548
8549         * XplatUIX11.cs: Update for Mono.Posix changes
8550
8551 2004-11-05 07:00  ravindra
8552
8553         * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
8554           scrolling.
8555
8556 2004-11-04 22:47  jba
8557
8558         * ThemeWin32Classic.cs:
8559           - Fix Button rendering for FlatStyle = Flat or Popup
8560           - Fix RadioButton and CheckBox rendering when Appearance = Button
8561             (normal and flatstyle).
8562           - Correct outer rectangle color when drawing focus rectangle
8563           - Adjust button bounds to be 1 px smaller when focused
8564           - Make button not draw sunken 3d border when pushed (windows compat)
8565           - Fix CPDrawBorder3D to not make bottom right hand corner rounded
8566           - Offset the text in RadioButton and Checkbox when being rendered as
8567           a button.
8568           - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
8569           radiobuttons
8570           - Fixed disabled rendering for colored flatstyle radiobuttons (both)
8571           - Fixed disabled text rendering for normally rendered radiobuttons
8572
8573 2004-11-04 10:26  jackson
8574
8575         * TabControl.cs: Recalculate tab rows when resizing
8576
8577 2004-11-04 07:47  jordi
8578
8579         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
8580           collection completion, drawing issues, missing features
8581
8582 2004-11-04 05:03  ravindra
8583
8584         * ScrollBar.cs:
8585                 - We need to recalculate the Thumb area when
8586                 LargeChange/maximum/minimum values are changed.
8587           - We set the 'pos' in UpdatePos() method to minimum, if it's less
8588                 than minimum. This is required to handle the case if large_change is
8589                 more than max, and use LargeChange property instead of large_change
8590                 variable.
8591           - We return max+1 when large_change is more than max, like MS does.
8592
8593 2004-11-04 04:29  ravindra
8594
8595         * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
8596                 - Changed default value signatures (prefixed all with ListView).
8597                 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
8598                 ListView.
8599           - Fixed calculations for ListViewItem and implemented Clone()
8600           method.
8601
8602 2004-11-04 04:26  ravindra
8603
8604         * Theme.cs, ThemeWin32Classic.cs:
8605                 - Changed default ListView values signatures (prefixed all with
8606                 ListView).
8607           - Fixed default size values for VScrollBar and HScrollBar.
8608                 - Fixed DrawListViewItem method.
8609
8610 2004-11-04 04:05  ravindra
8611
8612         * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
8613
8614 2004-11-04 04:04  ravindra
8615
8616         * ImageList.cs: Implemented the missing overload for Draw method.
8617
8618 2004-11-03 19:29  jackson
8619
8620         * TabControl.cs: Handle dropping rows on selection properly
8621
8622 2004-11-03 11:59  jackson
8623
8624         * TabControl.cs: remove debug code
8625
8626 2004-11-03 11:52  jackson
8627
8628         * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
8629           the scrolly widgerywoo
8630
8631 2004-11-02 13:52  jackson
8632
8633         * TabControl.cs: Resize the tab pages and tabs when the tab control
8634           is resized
8635
8636 2004-11-02 13:40  jackson
8637
8638         * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
8639           selected tab to the bottom
8640
8641 2004-11-02 13:39  jackson
8642
8643         * TabPage.cs: Store the tab pages row
8644
8645 2004-11-02 12:33  jordi
8646
8647         * MenuItem.cs: fixes handle creation
8648
8649 2004-11-02 11:42  jackson
8650
8651         * TabControl.cs: signature fix
8652
8653 2004-11-02 08:56  jackson
8654
8655         * TabControl.cs: Calculate whether the tab is on an edge properly.
8656           Remove top secret debugging code
8657
8658 2004-11-01 19:57  jackson
8659
8660         * TabControl.cs: Add click handling, and proper sizing
8661
8662 2004-11-01 19:47  jackson
8663
8664         * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
8665           tab controls
8666
8667 2004-11-01 19:39  jackson
8668
8669         * TabPage.cs: add internal property to store the bounds of a tab
8670           page
8671
8672 2004-10-30 04:23  ravindra
8673
8674         * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
8675           values.
8676
8677 2004-10-30 04:21  ravindra
8678
8679         * ListView.cs, ListViewItem.cs: Added support for scrolling and
8680           fixed calculations.
8681
8682 2004-10-30 03:06  pbartok
8683
8684         * XplatUIX11.cs:
8685           - Removed extension of DllImported libs
8686
8687 2004-10-29 09:55  jordi
8688
8689         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
8690           navigation, itemcollection completion, menu fixes
8691
8692 2004-10-27 22:58  pbartok
8693
8694         * XplatUIX11.cs:
8695           - Now throws a nice error message when no X display could be opened
8696
8697 2004-10-26 13:51  jordi
8698
8699         * ListView.cs: removes warning
8700
8701 2004-10-26 03:55  ravindra
8702
8703         * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
8704           ThemeWin32Classic.cs: Some formatting for my last checkins.
8705
8706 2004-10-26 03:36  ravindra
8707
8708         * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
8709           control and default values.
8710
8711 2004-10-26 03:35  ravindra
8712
8713         * Theme.cs: Added some default values for ListView control.
8714
8715 2004-10-26 03:33  ravindra
8716
8717         * ToolBar.cs: ToolBar should use the user specified button size, if
8718           there is any. Added a size_specified flag for the same.
8719
8720 2004-10-26 03:33  ravindra
8721
8722         * ColumnHeader.cs: Added some internal members and calculations for
8723           ColumnHeader.
8724
8725 2004-10-26 03:32  ravindra
8726
8727         * ListViewItem.cs: Calculations for ListViewItem.
8728
8729 2004-10-26 03:31  ravindra
8730
8731         * ListView.cs: Added some internal members and calculations for
8732           ListView.
8733
8734 2004-10-22 13:31  jordi
8735
8736         * MenuAPI.cs: speedup menus drawing
8737
8738 2004-10-22 13:16  jackson
8739
8740         * XplatUIX11.cs: Make sure to update exposed regions when adding an
8741           expose event
8742
8743 2004-10-22 11:49  jackson
8744
8745         * Control.cs: oops
8746
8747 2004-10-22 11:41  jackson
8748
8749         * Control.cs: Check to see if the window should have its background
8750           repainted by X when drawing.
8751
8752 2004-10-22 11:31  jackson
8753
8754         * XplatUIX11.cs: When invalidating areas only use XClearArea if
8755           clear is true, this way we do not get flicker from X repainting the
8756           background
8757
8758 2004-10-22 11:28  jackson
8759
8760         * XEventQueue.cs: Queue properly
8761
8762 2004-10-21 09:38  jackson
8763
8764         * XEventQueue.cs: Fix access modifier
8765
8766 2004-10-21 09:36  jackson
8767
8768         * XEventQueue.cs: Don't loose messages
8769
8770 2004-10-21 09:22  jackson
8771
8772         * XEventQueue.cs: Don't loose messages
8773
8774 2004-10-20 04:15  jordi
8775
8776         * BootMode.cs: enum need it by SystemInfo
8777
8778 2004-10-19 21:58  pbartok
8779
8780         * XplatUIWin32.cs:
8781           - Small sanity check
8782
8783 2004-10-19 21:56  pbartok
8784
8785         * Form.cs:
8786           - Added private FormParentWindow class which acts as the container
8787             for our form and as the non-client area where menus are drawn
8788           - Added/Moved required tie-ins to Jordi's menus
8789           - Fixed/Implemented the FormStartPosition functionality
8790
8791 2004-10-19 21:52  pbartok
8792
8793         * Control.cs:
8794           - Removed unneeded locals
8795           - Added code to all size and location properties to understand and
8796             deal with the parent container of Form
8797
8798 2004-10-19 21:33  pbartok
8799
8800         * Application.cs:
8801           - Fixed to deal with new Form subclasses for menus
8802
8803 2004-10-19 17:48  jackson
8804
8805         * XEventQueue.cs: commit correct version of file
8806
8807 2004-10-19 16:50  jackson
8808
8809         * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
8810
8811 2004-10-19 16:15  jordi
8812
8813         * MenuAPI.cs: MenuBarCalcSize returns the height
8814
8815 2004-10-19 08:31  pbartok
8816
8817         * Control.cs:
8818           - Added missing call to PreProcessMessage before calling OnXXXKey
8819           methods
8820
8821 2004-10-19 00:04  ravindra
8822
8823         * ToolTip.cs: Fixed constructor.
8824
8825 2004-10-18 09:31  jordi
8826
8827         * MenuAPI.cs: menuitems in menubars do not have shortcuts
8828
8829 2004-10-18 09:26  jordi
8830
8831         * MenuItem.cs: fixes MenuItem class signature
8832
8833 2004-10-18 08:56  jordi
8834
8835         * MenuAPI.cs: prevents windows from showing in the taskbar
8836
8837 2004-10-18 00:28  ravindra
8838
8839         * ToolTip.cs: Suppressed a warning message.
8840
8841 2004-10-18 00:27  ravindra
8842
8843         * Control.cs: Default value of visible property must be true.
8844
8845 2004-10-17 23:19  pbartok
8846
8847         * ToolTip.cs:
8848           - Complete implementation
8849
8850 2004-10-17 23:19  pbartok
8851
8852         * XplatUIX11.cs:
8853           - Added EnableWindow method
8854           - Added SetModal stub
8855           - Added generation of WM_ACTIVATE message (still needs testing)
8856           - Added SetTopMost stub
8857           - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
8858
8859 2004-10-17 23:17  pbartok
8860
8861         * XplatUIWin32.cs:
8862           - Removed VirtualKeys to XplatUIStructs
8863           - Implemented SetTopMost method
8864           - Implemented EnableWindow method
8865           - Bugfix in ScreenToClient()
8866           - Bugfixes in ClientToScreen()
8867
8868 2004-10-17 22:51  pbartok
8869
8870         * XplatUIStructs.cs:
8871           - Added WS_EX styles to WindowStyles enumeration
8872
8873 2004-10-17 22:50  pbartok
8874
8875         * XplatUI.cs, XplatUIDriver.cs:
8876           - Added method for enabling/disabling windows
8877           - Added method for setting window modality
8878           - Added method for setting topmost window
8879
8880 2004-10-17 22:49  pbartok
8881
8882         * ThemeWin32Classic.cs:
8883           - Added ToolTip drawing code
8884
8885 2004-10-17 22:49  pbartok
8886
8887         * Theme.cs:
8888           - Added ToolTip abstracts
8889
8890 2004-10-17 22:47  pbartok
8891
8892         * Form.cs:
8893           - Fixed Form.ControlCollection to handle owner relations
8894           - Added Owner/OwnedForms handling
8895           - Implemented Z-Ordering for owned forms
8896           - Removed unneeded private overload of ShowDialog
8897           - Fixed ShowDialog, added the X11 incarnation of modal handling (or
8898             so I hope)
8899           - Fixed Close(), had wrong default
8900           - Added firing of OnLoad event
8901           - Added some commented out debug code for Ownership handling
8902
8903 2004-10-17 22:16  pbartok
8904
8905         * Control.cs:
8906           - Fixed/implemented flat list of controls
8907
8908 2004-10-17 22:14  pbartok
8909
8910         * Application.cs:
8911           - Added code to simulate modal dialogs on Win32
8912
8913 2004-10-17 16:11  jordi
8914
8915         * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
8916           mouse event
8917
8918 2004-10-17 13:39  jordi
8919
8920         * MenuAPI.cs: menu drawing fixes
8921
8922 2004-10-15 09:10  ravindra
8923
8924         * StructFormat.cs: General Enum.
8925
8926 2004-10-15 09:09  ravindra
8927
8928         * SizeGripStyle.cs: Enum for Form.
8929
8930 2004-10-15 09:08  ravindra
8931
8932         * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
8933           in Theme for ListView.
8934
8935 2004-10-15 09:06  ravindra
8936
8937         * ColumnHeader.cs: Flushing some formatting changes.
8938
8939 2004-10-15 09:05  ravindra
8940
8941         * ListViewItem.cs: Implemented GetBounds method and fixed coding
8942           style.
8943
8944 2004-10-15 09:03  ravindra
8945
8946         * ListView.cs: Implemented Paint method and fixed coding style.
8947
8948 2004-10-15 07:34  jordi
8949
8950         * MenuAPI.cs: fix for X11
8951
8952 2004-10-15 07:32  ravindra
8953
8954         * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
8955                 - Renamed Paint() method to Draw() for clarity. Also, moved
8956                 DrawImage() to OnPaint().
8957
8958 2004-10-15 07:25  ravindra
8959
8960         * CheckBox.cs, RadioButton.cs:
8961                 - Removed Redraw (), we get it from ButtonBase.
8962                 - Implemented Paint (), to do class specific painting.
8963
8964 2004-10-15 07:16  ravindra
8965
8966         * ButtonBase.cs:
8967                 - Redraw () is not virtual now.
8968                 - Added an internal virtual method Paint (), so that
8969                 derived classes can do their painting on their own.
8970                 - Modified OnPaint () to call Paint ().
8971
8972 2004-10-15 06:43  jordi
8973
8974         * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
8975           MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
8976
8977 2004-10-15 00:30  ravindra
8978
8979         * MessageBox.cs:
8980                 - MessageBox on windows does not have min/max buttons.
8981                 This change in CreateParams fixes this on Windows. We
8982                 still need to implement this windowstyle behavior in
8983                 our X11 driver.
8984
8985 2004-10-14 05:14  ravindra
8986
8987         * ToolBar.cs:
8988                 - Changed Redraw () to do a Refresh () always.
8989                 - Fixed the MouseMove event handling when mouse is pressed,
8990                 ie drag event handling.
8991                 - Replaced the usage of ToolBarButton.Pressed property to
8992                 ToolBarButton.pressed internal variable.
8993
8994 2004-10-14 05:10  ravindra
8995
8996         * ToolBarButton.cs:
8997                 - Added an internal member 'inside' to handle mouse move
8998                 with mouse pressed ie mouse drag event.
8999                 - Changed 'Pressed' property to return true only when
9000                 'inside' and 'pressed' are both true.
9001                 - Some coding style love.
9002
9003 2004-10-14 00:17  ravindra
9004
9005         * Form.cs: Fixed class signature. ShowDialog (Control) is not a
9006           public method.
9007
9008 2004-10-14 00:15  ravindra
9009
9010         * ButtonBase.cs: Redraw () related improvements.
9011
9012 2004-10-14 00:14  ravindra
9013
9014         * MessageBox.cs: Moved InitFormSize () out of Paint method and
9015           removed unnecessary calls to Button.Show () method.
9016
9017 2004-10-13 17:50  pbartok
9018
9019         * XplatUIX11.cs:
9020           - Formatting fix
9021           - Removed destroying of window until we solve the problem of X
9022             destroying the window before us on shutdown
9023
9024 2004-10-13 16:32  pbartok
9025
9026         * ButtonBase.cs:
9027           - Now Redraws on MouseUp for FlatStyle Flat and Popup
9028
9029 2004-10-13 14:18  pbartok
9030
9031         * XplatUIX11.cs:
9032           - Added code to destroy the X window
9033
9034 2004-10-13 14:18  pbartok
9035
9036         * XplatUIWin32.cs:
9037           - Added code to destroy a window
9038
9039 2004-10-13 14:12  pbartok
9040
9041         * ButtonBase.cs:
9042           - Added the Redraw on Resize that got dropped in the last rev
9043
9044 2004-10-13 09:06  pbartok
9045
9046         * ThemeWin32Classic.cs:
9047           - Path from John BouAntoun:
9048             * Fix check rendering (centre correctly for normal style, offset
9049               correctly for FlatStyle).
9050             * Fix border color usage (use backcolor) for FlatStyle.Popup
9051             * Use checkbox.Capture instead of checkbox.is_pressed when
9052               rendering flatstyle states.
9053
9054 2004-10-12 21:48  pbartok
9055
9056         * ThemeWin32Classic.cs:
9057           - Removed all occurences of SystemColors and replaced them with the
9058             matching theme color
9059
9060 2004-10-12 21:41  pbartok
9061
9062         * ThemeWin32Classic.cs:
9063           - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
9064             him using the function for flatstyle drawing
9065           - Changed functions to use the new version of CPDrawBorder3D
9066
9067 2004-10-12 21:15  pbartok
9068
9069         * ControlPaint.cs:
9070           - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
9071             match MS documentation. They need to return defined colors if the
9072             passed color matches the configured control color. Thanks to John
9073             BouAntoun for pointing this out.
9074
9075 2004-10-12 20:57  pbartok
9076
9077         * Control.cs:
9078           - Fix from John BouAntoun: Raise ForeColorChanged event when text
9079             color is changed
9080
9081 2004-10-12 20:46  pbartok
9082
9083         * CheckBox.cs:
9084           - Fix from John BouAntoun: Now properly sets the Appearance property
9085
9086 2004-10-12 20:45  pbartok
9087
9088         * ThemeWin32Classic.cs:
9089           - Fixes from John BouAntoun: now handles forecolors and backcolors
9090             for flatstyle rendered controls much better; It also fixes normal
9091             checkbox rendering when pushed or disabled.
9092
9093 2004-10-08 02:50  jordi
9094
9095         * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
9096           work
9097
9098 2004-10-07 08:56  jordi
9099
9100         * ThemeWin32Classic.cs: Removes deletion of cached brushes
9101
9102 2004-10-06 03:59  jordi
9103
9104         * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
9105           XplatUIWin32.cs: removes warnings from compilation
9106
9107 2004-10-05 12:23  jackson
9108
9109         * RadioButton.cs: Fix ctor
9110
9111 2004-10-05 11:10  pbartok
9112
9113         * MessageBox.cs:
9114           - Partial implementation by Benjamin Dasnois
9115
9116 2004-10-05 10:15  jackson
9117
9118         * ThemeWin32Classic.cs: Improve rendering of the radio button patch
9119           by John BouAntoun
9120
9121 2004-10-05 03:07  ravindra
9122
9123         * ToolBar.cs:
9124                 - Removed a private method, Draw ().
9125                 - Fixed the ButtonDropDown event handling.
9126                 - Fixed MouseMove event handling.
9127
9128 2004-10-05 03:04  ravindra
9129
9130         * ThemeWin32Classic.cs:
9131                 - Added DrawListView method and ListViewDefaultSize property.
9132                 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
9133                 - Changed DOS style CRLF to Unix format (dos2unix).
9134
9135 2004-10-05 03:03  ravindra
9136
9137         * Theme.cs:
9138                 - Added DrawListView method and ListViewDefaultSize property.
9139
9140 2004-10-05 02:42  ravindra
9141
9142         * ToolBarButton.cs: Added an internal member dd_pressed to handle
9143           clicks on DropDown arrow.
9144
9145 2004-10-04 22:56  jackson
9146
9147         * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
9148           ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
9149           Control handle the buffers, derived classes should not have to
9150           CreateBuffers themselves.
9151
9152 2004-10-04 21:20  jackson
9153
9154         * StatusBar.cs: The control handles resizing the buffers now.
9155
9156 2004-10-04 21:18  jackson
9157
9158         * Control.cs: When resizing the buffers should be invalidated. This
9159           should be handled in Control not in derived classes.
9160
9161 2004-10-04 14:45  jackson
9162
9163         * TabPage.cs: oops
9164
9165 2004-10-04 02:14  pbartok
9166
9167         * LeftRightAlignment.cs:
9168           - Initial check-in
9169
9170 2004-10-04 01:09  jordi
9171
9172         * ThemeWin32Classic.cs: fixes right button position causing right
9173           button not showing on horizontal scrollbars
9174
9175 2004-10-02 13:12  pbartok
9176
9177         * XplatUIX11.cs:
9178           - Simplified the Invalidate method by using an X call instead of
9179             generating the expose ourselves
9180           - Added an expose when the window background is changed
9181           - Implemented ClientToScreen method
9182
9183 2004-10-02 13:08  pbartok
9184
9185         * XplatUIWin32.cs:
9186           - Added Win32EnableWindow method (test for implementing modal
9187           dialogs)
9188           - Added ClientToScreen method and imports
9189
9190 2004-10-02 13:07  pbartok
9191
9192         * XplatUI.cs, XplatUIDriver.cs:
9193           - Added ClientToScreen coordinate translation method
9194
9195 2004-10-02 13:06  pbartok
9196
9197         * KeyPressEventArgs.cs:
9198           - Fixed access level for constructor
9199
9200 2004-10-02 13:06  pbartok
9201
9202         * NativeWindow.cs:
9203           - Changed access level for the window_collection hash table
9204
9205 2004-10-02 13:05  pbartok
9206
9207         * Form.cs:
9208           - Added KeyPreview property
9209           - Added Menu property (still incomplete, pending Jordi's menu work)
9210           - Implemented ProcessCmdKey
9211           - Implemented ProcessDialogKey
9212           - Implemented ProcessKeyPreview
9213
9214 2004-10-02 13:02  pbartok
9215
9216         * Control.cs:
9217           - Added private method to get the Control object from the window
9218           handle
9219           - Implemented ContextMenu property
9220           - Implemented PointToScreen
9221           - Implemented PreProcessMessage
9222           - Implemented IsInputChar
9223           - Implemented IsInputKey
9224           - Implemented ProcessCmdKey
9225           - Completed ProcessKeyEventArgs
9226           - Fixed message loop to call the proper chain of functions on key
9227           events
9228           - Implemented ProcessDialogChar
9229           - Implemented ProcessDialogKey
9230           - Implemented ProcessKeyMessage
9231           - Implemented ProcessKeyPreview
9232           - Added RaiseDragEvent stub (MS internal method)
9233           - Added RaiseKeyEvent stub (MS internal method)
9234           - Added RaiseMouseEvent stub (MS Internal method)
9235           - Added RaisePaintEvent stub (MS Internal method)
9236           - Added ResetMouseEventArgs stub (MS Internal method)
9237           - Implemented RtlTranslateAlignment
9238           - Implemented RtlTranslateContent
9239           - Implemented RtlTranslateHorizontal
9240           - Implemented RtlTranslateLeftRight
9241           - Added generation of KeyPress event
9242
9243 2004-10-02 05:57  ravindra
9244
9245         * ListViewItem.cs: Added attributes.
9246
9247 2004-10-02 05:32  ravindra
9248
9249         * ListView.cs: Added attributes.
9250
9251 2004-10-01 11:53  jackson
9252
9253         * Form.cs: Implement the Close method so work on MessageBox can
9254           continue.
9255
9256 2004-09-30 14:06  pbartok
9257
9258         * XplatUIX11.cs:
9259           - Bug fixes
9260
9261 2004-09-30 11:34  jackson
9262
9263         * RadioButton.cs: Fix typo. Patch by John BouAntoun.
9264
9265 2004-09-30 07:26  ravindra
9266
9267         * ListViewItemConverter.cs: Converter for ListViewItem.
9268
9269 2004-09-30 07:26  ravindra
9270
9271         * SortOrder.cs: Enum for ListView control.
9272
9273 2004-09-30 07:25  ravindra
9274
9275         * ColumnHeader.cs: Supporting class for ListView control.
9276
9277 2004-09-30 07:24  ravindra
9278
9279         * ListView.cs, ListViewItem.cs: Initial implementation.
9280
9281 2004-09-30 07:20  ravindra
9282
9283         * ItemActivation.cs: Enum for ListView Control.
9284
9285 2004-09-29 20:29  pbartok
9286
9287         * XplatUIX11.cs:
9288           - Added lookup of pixel value for background color; tries to get a
9289             color 'close' to the requested color, it avoids having to create a
9290             colormap.  Depending on the display this could mean the used color
9291             is slightly off the desired color. Might have to change it to a more
9292             resource intensive colormap approach, but it will work as a
9293           workaround to avoid red screens.
9294
9295 2004-09-29 14:27  jackson
9296
9297         * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
9298
9299 2004-09-28 12:44  pbartok
9300
9301         * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
9302           HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
9303           ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
9304           Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
9305           TrackBar.cs, VScrollBar.cs:
9306           - Streamlined Theme interfaces:
9307             * Each DrawXXX method for a control now is passed the object for
9308               the control to be drawn in order to allow accessing any state the
9309               theme might require
9310
9311             * ControlPaint methods for the theme now have a CP prefix to avoid
9312               name clashes with the Draw methods for controls
9313
9314             * Every control now retrieves it's DefaultSize from the current
9315             theme
9316
9317 2004-09-28 12:17  jackson
9318
9319         * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
9320           drawing
9321
9322 2004-09-24 14:57  jackson
9323
9324         * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
9325           Gives us a nice little performance boost.
9326
9327 2004-09-24 12:02  jackson
9328
9329         * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
9330           TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
9331           Control and supporting classes. Initial checkin
9332
9333 2004-09-23 13:08  jackson
9334
9335         * Form.cs: Temp build fixage
9336
9337 2004-09-23 01:39  ravindra
9338
9339         * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
9340           ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
9341           ItemDragEventArgs.cs, ItemDragEventHandler.cs,
9342           LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
9343           EventHandlers needed by ListView Control.
9344
9345 2004-09-22 14:12  pbartok
9346
9347         * ScrollableControl.cs:
9348           - Implemented DockPadding property
9349           - Implemented AutoScroll property
9350           - Implemented AutoScrollMargin property
9351           - Implemented AutoScrollMinSize property
9352           - Implemented AutoScrollPosition property
9353           - Implemented DisplayRectangle property (still incomplete)
9354           - Implemented CreateParams property
9355           - Implemented HScroll property
9356           - Implemented VScroll property
9357           - Implemented OnVisibleChanged property
9358
9359 2004-09-22 14:09  pbartok
9360
9361         * Form.cs:
9362           - Added Form.ControllCollection class
9363           - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
9364             RemoveOwnedForm (still incomplete, missing on-top and common
9365             minimize/maximize behaviour)
9366           - Added StartPosition property (still incomplete, does not use when
9367             creating the form)
9368           - Added ShowDialog() methods (still incomplete, missing forcing the
9369             dialog modal)
9370
9371 2004-09-22 14:05  pbartok
9372
9373         * Application.cs:
9374           - Added message loop for modal dialogs
9375
9376 2004-09-22 14:02  pbartok
9377
9378         * GroupBox.cs:
9379           - Fixed wrong types for events
9380
9381 2004-09-22 14:00  pbartok
9382
9383         * Shortcut.cs, FormWindowState.cs:
9384           - Fixed wrong values
9385
9386 2004-09-22 12:01  jackson
9387
9388         * Control.cs: Text is never null
9389
9390 2004-09-20 22:14  pbartok
9391
9392         * XplatUIWin32.cs:
9393           - Fixed accessibility level for Idle handler
9394
9395 2004-09-20 18:54  jackson
9396
9397         * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
9398           XplatUIX11.cs: New message loop that uses poll so we don't get a
9399           busy loop
9400
9401 2004-09-17 10:43  pbartok
9402
9403         * ScrollBar.cs:
9404           - Fixed behaviour of arrow buttons. Now properly behaves like
9405             Buttons (and like Microsoft's scrollbar arrow buttons)
9406
9407 2004-09-17 10:14  pbartok
9408
9409         * ScrollBar.cs:
9410           - Added missing release of keyboard/mouse capture
9411
9412 2004-09-17 06:18  jordi
9413
9414         * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
9415           Theme.cs: Very early menu support
9416
9417 2004-09-16 17:45  pbartok
9418
9419         * XplatUIWin32.cs:
9420           - Fixed sending a window to the front
9421           - Added overload for SetWindowPos to avoid casting
9422
9423 2004-09-16 17:44  pbartok
9424
9425         * Control.cs:
9426           - Added SendToBack and BringToFront methods
9427
9428 2004-09-16 07:00  ravindra
9429
9430         * Copyright: Added Novell URL.
9431
9432 2004-09-16 07:00  ravindra
9433
9434         * ToolBar.cs: Invalidate should be done before redrawing.
9435
9436 2004-09-15 21:19  ravindra
9437
9438         * ColumnHeaderStyle.cs: Enum for ListView Control.
9439
9440 2004-09-15 21:18  ravindra
9441
9442         * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
9443           ListView Control.
9444
9445 2004-09-13 18:26  jackson
9446
9447         * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
9448           properly
9449
9450 2004-09-13 18:13  jackson
9451
9452         * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
9453           a second thread and post messages into the main threads message
9454           queue. This makes timing much more consistent. Both win2K and XP
9455           have a minimum timer value of 15 milliseconds, so we now do this
9456           too.
9457
9458 2004-09-13 15:18  pbartok
9459
9460         * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
9461           XplatUIX11.cs:
9462           - Added Z-Ordering methods
9463
9464 2004-09-13 10:56  pbartok
9465
9466         * Form.cs:
9467           - Fixed #region names
9468           - Moved properties and methods into their proper #regions
9469
9470 2004-09-13 10:51  pbartok
9471
9472         * Form.cs:
9473           - Added Accept and CancelButton properties
9474           - Added ProcessDialogKey() method
9475
9476 2004-09-13 08:18  pbartok
9477
9478         * IWindowTarget.cs:
9479           - Initial check-in
9480
9481 2004-09-10 21:50  pbartok
9482
9483         * Control.cs:
9484           - Added DoDragDrop() [incomplete]
9485           - Properly implemented 'Visible' handling
9486           - Added SetVisibleCore()
9487           - Implemented FindChildAtPoint()
9488           - Implemented GetContainerControl()
9489           - Implemented Hide()
9490
9491 2004-09-10 19:28  pbartok
9492
9493         * Control.cs:
9494           - Moved methods into their appropriate #regions
9495           - Reordered methods within regions alphabetically
9496
9497 2004-09-10 18:57  pbartok
9498
9499         * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
9500           - Added method to retrieve text from window
9501
9502 2004-09-10 18:56  pbartok
9503
9504         * Control.cs:
9505           - Moved some internal functions into the internal region
9506           - Implemented FontHeight
9507           - Implemented RenderRightToLeft
9508           - Implemented ResizeRedraw
9509           - Implemented ShowFocusCues
9510           - Implemented ShowKeyboardCues
9511           - Implemented FromChildHandle
9512           - Implemented FromHandle
9513           - Implemented IsMnemonic
9514           - Implemented ReflectMessage
9515           - All public and protected Static Methods are now complete
9516
9517 2004-09-10 16:54  pbartok
9518
9519         * Control.cs:
9520           - Implemented remaining missing public instance properties
9521           - Alphabetized some out of order properties
9522
9523 2004-09-10 05:51  ravindra
9524
9525         * PictureBox.cs: Added a check for null image.
9526
9527 2004-09-10 00:59  jordi
9528
9529         * GroupBox.cs: remove cvs tag
9530
9531 2004-09-09 05:25  ravindra
9532
9533         * ToolBar.cs: Make redraw accessible from ToolBarButton.
9534
9535 2004-09-09 05:23  ravindra
9536
9537         * ToolBarButton.cs: Changes in ToolBarButton need to make it's
9538           parent redraw.
9539
9540 2004-09-09 02:28  pbartok
9541
9542         * ThemeWin32Classic.cs:
9543           - Improve disabled string look
9544
9545 2004-09-09 01:15  jordi
9546
9547         * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
9548           args and handler
9549
9550 2004-09-08 23:56  ravindra
9551
9552         * ItemBoundsPortion.cs: It's enum, not a class!
9553
9554 2004-09-08 23:47  ravindra
9555
9556         * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
9557           Enums for Form.
9558
9559 2004-09-08 21:13  ravindra
9560
9561         * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
9562           ListView control.
9563
9564 2004-09-08 21:03  ravindra
9565
9566         * ThemeWin32Classic.cs: PictureBox would not draw a null image to
9567           avoid crash.
9568
9569 2004-09-08 21:01  ravindra
9570
9571         * ScrollableControl.cs: Removed unreachable code.
9572
9573 2004-09-08 06:45  jordi
9574
9575         * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
9576
9577 2004-09-08 01:00  jackson
9578
9579         * XplatUIX11.cs: Only run the timers when updating the message
9580           queue. This effectively gives X messages a higher priority then
9581           timer messages. Timers still need love though
9582
9583 2004-09-07 14:01  jackson
9584
9585         * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
9586           this for us and the handle is no longer valid.
9587
9588 2004-09-07 13:59  jackson
9589
9590         * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
9591           loop that manages to not crash. TODO: Add poll and cleanup timers
9592
9593 2004-09-07 11:12  jordi
9594
9595         * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
9596
9597 2004-09-07 03:40  jordi
9598
9599         * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
9600           fixes, methods, multiple links
9601
9602 2004-09-06 06:55  jordi
9603
9604         * Control.cs: Caches ClientRectangle rectangle value
9605
9606 2004-09-05 02:03  jordi
9607
9608         * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
9609           certain situations
9610
9611 2004-09-04 11:10  jordi
9612
9613         * Label.cs: Refresh when font changed
9614
9615 2004-09-02 16:24  pbartok
9616
9617         * Control.cs:
9618           - Added sanity check to creation of double buffer bitmap
9619
9620 2004-09-02 16:24  pbartok
9621
9622         * ButtonBase.cs:
9623           - Fixed selection of text color
9624           - Fixed handling of resize event; now properly recreates double
9625             buffering bitmap
9626           - Added missing assignment of TextAlignment
9627           - Added proper default for TextAlignment
9628
9629 2004-09-02 14:26  pbartok
9630
9631         * RadioButton.cs:
9632           - Added missing RadioButton.RadioButtonAccessibleObject class
9633
9634 2004-09-02 14:26  pbartok
9635
9636         * Control.cs:
9637           - Added missing Control.ControlAccessibleObject class
9638           - Started to implement Select()ion mechanisms, still very incomplete
9639
9640 2004-09-02 14:25  pbartok
9641
9642         * AccessibleObject.cs:
9643           - Added missing methods
9644
9645 2004-09-02 14:23  pbartok
9646
9647         * AccessibleNavigation.cs, AccessibleSelection.cs:
9648           - Initial check-in
9649
9650 2004-09-02 10:32  jordi
9651
9652         * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
9653           pool for pens, brushes, and hatchbruses
9654
9655 2004-09-01 15:30  jackson
9656
9657         * StatusBar.cs: Fix typo
9658
9659 2004-09-01 14:44  pbartok
9660
9661         * RadioButton.cs:
9662           - Fixed state
9663
9664 2004-09-01 14:39  pbartok
9665
9666         * Button.cs, RadioButton.cs:
9667           - Functional initial check-in
9668
9669 2004-09-01 14:01  pbartok
9670
9671         * CheckBox.cs:
9672           - Added missing default
9673           - Added missing region mark
9674
9675 2004-09-01 09:10  jordi
9676
9677         * Label.cs: fixes method signatures, new methods, events, fixes
9678           autosize
9679
9680 2004-09-01 07:19  jordi
9681
9682         * Control.cs: Init string variables with an empty object
9683
9684 2004-09-01 04:20  jordi
9685
9686         * Control.cs: fires OnFontChanged event
9687
9688 2004-08-31 20:07  pbartok
9689
9690         * ButtonBase.cs:
9691           - Enabled display of strings
9692
9693 2004-08-31 20:05  pbartok
9694
9695         * Form.cs:
9696           - Added (partial) implementation of DialogResult; rest needs to be
9697             implemented when the modal loop code is done
9698
9699 2004-08-31 19:55  pbartok
9700
9701         * CheckBox.cs:
9702           - Fixed to match the removal of the needs_redraw concept
9703
9704 2004-08-31 19:55  pbartok
9705
9706         * ButtonBase.cs:
9707           - Removed the rather odd split between 'needs redraw' and redrawing
9708           - Now handles the events that require regeneration (ambient
9709             properties and size)
9710
9711 2004-08-31 19:41  pbartok
9712
9713         * Control.cs:
9714           - Added firing of BackColorChanged event
9715           - Added TopLevelControl property
9716           - Fixed handling of WM_ERASEBKGRND message
9717
9718 2004-08-31 12:49  pbartok
9719
9720         * ButtonBase.cs:
9721           - Removed debug
9722           - Minor fixes
9723
9724 2004-08-31 12:48  pbartok
9725
9726         * CheckBox.cs:
9727           - Finished (famous last words)
9728
9729 2004-08-31 04:35  jordi
9730
9731         * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
9732           scrolling bugs, adds new methods
9733
9734 2004-08-30 14:42  pbartok
9735
9736         * CheckBox.cs:
9737           - Implemented CheckBox drawing code
9738
9739 2004-08-30 14:42  pbartok
9740
9741         * ButtonBase.cs:
9742           - Made Redraw() and CheckRedraw() virtual
9743           - Improved mouse up/down/move logic to properly track buttons
9744
9745 2004-08-30 09:44  pbartok
9746
9747         * CheckBox.cs:
9748           - Updated to fix broken build. Not complete yet.
9749
9750 2004-08-30 09:28  pbartok
9751
9752         * CheckState.cs:
9753           - Initial checkin
9754
9755 2004-08-30 09:17  pbartok
9756
9757         * Appearance.cs:
9758           - Initial check-in
9759
9760 2004-08-27 16:12  ravindra
9761
9762         * ToolBarButton.cs: Added TypeConverter attribute.
9763
9764 2004-08-27 16:07  ravindra
9765
9766         * ImageIndexConverter.cs: Implemented.
9767
9768 2004-08-27 14:17  pbartok
9769
9770         * Control.cs:
9771           - Removed unneeded stack vars
9772           - First attempt to fix sizing issues when layout is suspended
9773
9774 2004-08-25 15:35  jordi
9775
9776         * ScrollBar.cs: more fixes to scrollbar
9777
9778 2004-08-25 14:04  ravindra
9779
9780         * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
9781           Added the missing divider code and grip for ToolBar Control.
9782
9783 2004-08-25 13:20  pbartok
9784
9785         * Control.cs:
9786           - Control now properly passes the ambient background color to child
9787             controls
9788
9789 2004-08-25 13:20  jordi
9790
9791         * ScrollBar.cs: small bug fix regarding bar position
9792
9793 2004-08-25 12:33  pbartok
9794
9795         * Timer.cs:
9796           - Now only calls SetTimer or KillTimer if the enabled state has
9797           changed
9798
9799 2004-08-25 12:33  pbartok
9800
9801         * XplatUIWin32.cs:
9802           - Fixed timer handling, now seems to work
9803           - Improved error message for window creation
9804
9805 2004-08-25 12:32  pbartok
9806
9807         * Control.cs:
9808           - Fixed generation of MouseUp message
9809
9810 2004-08-25 12:29  jordi
9811
9812         * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
9813           and fixes for progressbar
9814
9815 2004-08-24 18:43  ravindra
9816
9817         * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
9818           in ToolBar control.
9819
9820 2004-08-24 17:15  pbartok
9821
9822         * Panel.cs:
9823           - Added #region
9824           - Added missing events
9825           - Alphabetized
9826
9827 2004-08-24 17:14  pbartok
9828
9829         * StatusBar.cs, PictureBox.cs:
9830           - Now uses Control's CreateParams
9831
9832 2004-08-24 16:36  pbartok
9833
9834         * XplatUIX11.cs:
9835           - Fixed background color handling
9836           - Fixed sending of enter/leave events on a grab
9837
9838 2004-08-24 16:35  pbartok
9839
9840         * X11Structs.cs:
9841           - Refined definitions for CrossingEvent
9842
9843 2004-08-24 12:37  jordi
9844
9845         * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
9846           formmating, methods signature, and adds missing events
9847
9848 2004-08-24 12:24  jordi
9849
9850         * Control.cs: fire OnEnabledChanged event
9851
9852 2004-08-24 11:17  pbartok
9853
9854         * XplatUIWin32.cs:
9855           - Implemented SetTimer() and KillTimer()
9856
9857 2004-08-24 11:16  pbartok
9858
9859         * XplatUIX11.cs:
9860           - Now uses Remove instead of Add to kill the timer
9861
9862 2004-08-24 10:16  jackson
9863
9864         * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
9865           picture boxes in the theme now. Draw picture box borders and obey
9866           sizing modes
9867
9868 2004-08-24 05:49  jackson
9869
9870         * Timer.cs: Remove top secret debugging code
9871
9872 2004-08-24 05:34  jackson
9873
9874         * PictureBox.cs: Temp hack to make picture boxes draw their full
9875           image
9876
9877 2004-08-24 05:29  jackson
9878
9879         * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
9880           XplatUIX11.cs: Move timers to the driver level. On X they are
9881           queued by the driver and checked on idle.
9882
9883 2004-08-24 01:07  jackson
9884
9885         * XplatUIX11.cs: Use a queue for async messages instead of passing
9886           them as ClientMessages since that was totally broken. Also simply
9887           check for events and return an idle message if none are found. This
9888           gives us an idle handler, and prevents deadlocking when no messages
9889           are in the queue.
9890
9891 2004-08-23 18:19  ravindra
9892
9893         * XplatUIWin32.cs: Removed the unwanted destructor.
9894
9895 2004-08-23 17:27  pbartok
9896
9897         * ButtonBase.cs:
9898           - Finishing touches. Works now, just needs some optimizations.
9899
9900 2004-08-23 16:53  jordi
9901
9902         * ScrollBar.cs: small fix
9903
9904 2004-08-23 16:45  pbartok
9905
9906         * Application.cs:
9907           - Removed debug output
9908           - Simplifications
9909
9910 2004-08-23 16:43  jordi
9911
9912         * ScrollBar.cs: [no log message]
9913
9914 2004-08-23 16:10  pbartok
9915
9916         * Form.cs:
9917           - Fixed handling of WM_CLOSE message
9918           - Removed debug output
9919
9920 2004-08-23 16:09  pbartok
9921
9922         * Application.cs:
9923           - Added handling of Idle event
9924           - Added handling of form closing
9925           - Fixed reporting of MessageLoop property
9926           - Removed some unneeded code, should provide a bit of a speedup
9927
9928 2004-08-23 15:22  pbartok
9929
9930         * Control.cs:
9931           - Added InitLayout() method
9932           - Added code to properly perform layout when Anchor or Dock property
9933             is changed
9934           - Changed 'interpretation' of ResumeLayout. MS seems to have a
9935             LAMESPEC, tried to do it in a way that makes sense
9936
9937 2004-08-23 14:10  jordi
9938
9939         * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
9940           properties and methods
9941
9942 2004-08-23 13:55  pbartok
9943
9944         * Control.cs:
9945           - Properly fixed Jordi's last fix
9946           - Now uses Cursor's Position property instead of calling XplatUI
9947           directly
9948
9949 2004-08-23 13:44  jordi
9950
9951         * PaintEventHandler.cs: Adding missing attribute
9952
9953 2004-08-23 13:39  pbartok
9954
9955         * Cursor.cs:
9956           - Implemented Position property
9957
9958 2004-08-23 13:39  pbartok
9959
9960         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
9961           - Added method to move mouse cursor
9962
9963 2004-08-23 13:39  pbartok
9964
9965         * XplatUIX11.cs:
9966           - Fixed setting of background color
9967           - Added method to move mouse cursor
9968
9969 2004-08-23 13:16  jordi
9970
9971         * Control.cs: avoids null exception
9972
9973 2004-08-22 17:46  jackson
9974
9975         * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
9976           PictureBox
9977
9978 2004-08-22 17:40  jackson
9979
9980         * XplatUIX11.cs: Add some missing locks
9981
9982 2004-08-22 15:10  pbartok
9983
9984         * Control.cs, Form.cs:
9985           - Removed OverlappedWindow style from Control, instead it's default
9986             now is child
9987           - Made form windows OverlappedWindow by default
9988
9989 2004-08-22 13:34  jackson
9990
9991         * ScrollBar.cs: Update the position through the Value property so
9992           the OnValueChanged event is raised.
9993
9994 2004-08-22 12:04  pbartok
9995
9996         * SWF.csproj:
9997           - Added Cursor.cs and UserControl.cs
9998
9999 2004-08-22 12:03  pbartok
10000
10001         * Cursor.cs:
10002           - Started implementation, not usable yet
10003
10004 2004-08-22 12:00  pbartok
10005
10006         * UserControl.cs:
10007           - Implemented UserControl (complete)
10008
10009 2004-08-21 19:20  ravindra
10010
10011         * ToolBar.cs: Correcting the formatting mess of VS.NET.
10012
10013 2004-08-21 18:49  ravindra
10014
10015         * ToolBar.cs: Probably this completes the missing attributes in
10016           toolbar control.
10017
10018 2004-08-21 18:03  ravindra
10019
10020         * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
10021           Fixed toolbar control signatures.
10022
10023 2004-08-21 16:32  pbartok
10024
10025         * LinkLabel.cs:
10026           - Signature Fixes
10027
10028 2004-08-21 16:30  pbartok
10029
10030         * Label.cs:
10031           - Signature fixes
10032
10033 2004-08-21 16:19  pbartok
10034
10035         * Control.cs, Label.cs:
10036           - Signature fixes
10037
10038 2004-08-21 15:57  pbartok
10039
10040         * ButtonBase.cs:
10041           - Added loads of debug output for development
10042           - Fixed typo in method name
10043
10044 2004-08-21 15:52  pbartok
10045
10046         * ToolBarButtonClickEventArgs.cs:
10047           - Added missing base class
10048
10049 2004-08-21 14:53  pbartok
10050
10051         * Control.cs:
10052           - Updated to match new GrabWindow signature
10053
10054 2004-08-21 14:51  pbartok
10055
10056         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10057           - Added method to get default display size
10058
10059 2004-08-21 14:23  pbartok
10060
10061         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10062           - Added method to query current grab state
10063           - Added argument to allow confining a grab to a window
10064
10065 2004-08-21 14:22  pbartok
10066
10067         * Keys.cs:
10068           - Added [Flags] attribute so that modifiers can be used in bitwise
10069           ops
10070
10071 2004-08-21 14:21  pbartok
10072
10073         * TrackBar.cs, ScrollBar.cs:
10074           - Replaced direct XplatUI calls with their Control counterpart
10075
10076 2004-08-21 13:32  pbartok
10077
10078         * Control.cs:
10079           - Implemented Created property
10080
10081 2004-08-21 13:28  pbartok
10082
10083         * Control.cs:
10084           - Implemented ContainsFocus
10085
10086 2004-08-21 13:26  pbartok
10087
10088         * Control.cs:
10089           - Implemented CausesValidation
10090
10091 2004-08-21 13:21  pbartok
10092
10093         * Control.cs:
10094           - Implemented CanFocus
10095           - Implemented CanSelect
10096           - Implemented Capture
10097
10098 2004-08-21 12:35  pbartok
10099
10100         * XplatUIWin32.cs:
10101           - Fixed bug with Async message handling
10102           - Implemented getting the ModifierKeys
10103
10104 2004-08-21 12:32  jackson
10105
10106         * AsyncMethodResult.cs: Make sure we have the mutex before we
10107           release it. Fixes BeginInvoke on windows
10108
10109 2004-08-21 11:31  pbartok
10110
10111         * XplatUIWin32.cs, XplatUIX11.cs:
10112           - Drivers now return proper mouse state
10113
10114 2004-08-21 10:54  jackson
10115
10116         * Control.cs: Implement EndInvoke
10117
10118 2004-08-21 10:48  jackson
10119
10120         * Timer.cs: Remove unneeded finalizer
10121
10122 2004-08-20 19:52  ravindra
10123
10124         * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
10125           in mouse event handling in the ToolBar control.
10126
10127 2004-08-20 19:50  ravindra
10128
10129         * ImageList.cs: Changed draw method to use the arguments passed in
10130           to draw the image.
10131
10132 2004-08-20 18:58  pbartok
10133
10134         * XplatUIStructs.cs:
10135           - Added private message for async communication
10136
10137 2004-08-20 17:38  ravindra
10138
10139         * Control.cs: Made RightToLeft property virtual and removed a
10140           Console.WriteLine.
10141
10142 2004-08-20 14:39  jordi
10143
10144         * ThemeGtk.cs: use style_attach
10145
10146 2004-08-20 14:39  pbartok
10147
10148         * XplatUIWin32.cs:
10149           - Added jackson's Async code from X11 to Win32
10150
10151 2004-08-20 14:09  pbartok
10152
10153         * SWF.csproj:
10154           - Added all new files
10155
10156 2004-08-20 14:09  pbartok
10157
10158         * Control.cs:
10159           - Added call to set window background color
10160
10161 2004-08-20 14:03  pbartok
10162
10163         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
10164           - Added method for setting the window background
10165
10166 2004-08-20 14:02  pbartok
10167
10168         * XplatUIWin32.cs:
10169           - Added method for setting the background color
10170           - Added handling for erasing the window background
10171
10172 2004-08-20 13:45  jordi
10173
10174         * TrackBar.cs: fixes timer, new properties and methods
10175
10176 2004-08-20 13:34  jackson
10177
10178         * ScrollBar.cs: Use the SWF timer so callbacks are run in the
10179           correct thread
10180
10181 2004-08-20 13:22  jackson
10182
10183         * Timer.cs: Timer Tick events are now handed through Controls Async
10184           mechanism so the callbacks are executed in the same thread as X
10185
10186 2004-08-20 13:19  jackson
10187
10188         * XplatUIDriver.cs: Expose functionality to send async messages
10189           through the driver
10190
10191 2004-08-20 13:18  jackson
10192
10193         * Control.cs: Implement Begininvoke
10194
10195 2004-08-20 13:14  jackson
10196
10197         * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
10198           messages through the driver
10199
10200 2004-08-20 13:12  jackson
10201
10202         * XplatUIX11.cs: Lock before all X operations. Also added Async
10203           method functionality through XSendEvent
10204
10205 2004-08-20 13:11  jackson
10206
10207         * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
10208           This will screw up on 64 bit systems)
10209
10210 2004-08-20 13:10  jackson
10211
10212         * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
10213           Async messages through X/Win32
10214
10215 2004-08-19 19:39  pbartok
10216
10217         * XplatUIX11.cs:
10218           - Updated code to match new HandleData.DeviceContext type
10219
10220 2004-08-19 19:38  pbartok
10221
10222         * HandleData.cs:
10223           - Made DeviceContext a generic object to allow usage from various
10224           drivers
10225           - Added support for queueing Windows messages
10226
10227 2004-08-19 19:37  pbartok
10228
10229         * XplatUIWin32.cs:
10230           - Added generation of MouseEnter, MouseLeave and MouseHover events
10231           - Added cleanup on EndPaint
10232
10233 2004-08-19 19:17  pbartok
10234
10235         * Control.cs:
10236           - Added handling of WM_MOUSEHOVER
10237           - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
10238           code
10239
10240 2004-08-19 18:55  jordi
10241
10242         * ThemeGtk.cs: fixes button order
10243
10244 2004-08-19 18:12  jordi
10245
10246         * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
10247
10248 2004-08-19 17:09  pbartok
10249
10250         * Control.cs:
10251           - Added Right property
10252           - Added RightToLeft property
10253
10254 2004-08-19 16:27  jordi
10255
10256         * ThemeGtk.cs: experimental GTK theme support
10257
10258 2004-08-19 16:26  jordi
10259
10260         * ITheme.cs, Theme.cs: move themes from an interface to a class
10261
10262 2004-08-19 16:25  jordi
10263
10264         * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
10265           theme enhancaments
10266
10267 2004-08-19 16:04  pbartok
10268
10269         * XplatUIX11.cs:
10270           - Added colormap basics
10271           - Added a way to re-initialize with a different display handle
10272           - Fixed setting of the window background color
10273           - Added various X11 imports related to colors and colormaps
10274
10275 2004-08-19 15:51  pbartok
10276
10277         * X11Structs.cs:
10278           - Removed packing hints (Paolo suggested this a while back)
10279           - fixed colormap type
10280           - Added default Atom types
10281           - Added Screen and color structs and enums
10282
10283 2004-08-19 15:39  pbartok
10284
10285         * ImageList.cs:
10286           - Added missing Draw() method
10287           - Added missing RecreateHandle event
10288
10289 2004-08-19 15:30  pbartok
10290
10291         * Form.cs:
10292           - Added handling of WM_CLOSE
10293
10294 2004-08-18 13:16  jordi
10295
10296         * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
10297           a table
10298
10299 2004-08-18 09:56  jordi
10300
10301         * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
10302
10303 2004-08-17 15:31  ravindra
10304
10305         * SWF.csproj: Updated project.
10306
10307 2004-08-17 15:25  pbartok
10308
10309         * Control.cs:
10310           - Drawing improvement; don't call UpdateBounds if we are not visible
10311             (or have been minimized)
10312
10313 2004-08-17 15:24  pbartok
10314
10315         * XplatUIWin32.cs:
10316           - Finished IsVisible
10317           - Added Win32GetWindowPlacement
10318
10319 2004-08-17 15:08  jackson
10320
10321         * Panel.cs: Initial checkin of the Panel
10322
10323 2004-08-17 14:25  pbartok
10324
10325         * Control.cs:
10326           - Fixed broken handling of default window sizes
10327
10328 2004-08-17 13:29  jackson
10329
10330         * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
10331           has a large startup time.
10332
10333 2004-08-17 10:25  jackson
10334
10335         * HandleData.cs: union areas properly
10336
10337 2004-08-17 10:12  jackson
10338
10339         * HandleData.cs: union areas properly
10340
10341 2004-08-16 20:00  ravindra
10342
10343         * ToolBar.cs, ToolBarButton.cs: Added attributes.
10344
10345 2004-08-16 18:48  ravindra
10346
10347         * ToolBar.cs: Added attributes.
10348
10349 2004-08-16 17:17  ravindra
10350
10351         * SWF.csproj: Updated project.
10352
10353 2004-08-16 17:16  jackson
10354
10355         * XplatUIX11.cs: Check for more expose events before sending a
10356           WM_PAINT so they can all be grouped together. This makes dragging a
10357           window across another window redraw in a sane way.
10358
10359 2004-08-16 15:47  pbartok
10360
10361         * Control.cs:
10362           - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
10363             support OnMouseEnter/Leave()
10364           - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
10365             exposure handling
10366
10367 2004-08-16 15:46  pbartok
10368
10369         * XplatUIStructs.cs, XplatUIX11.cs:
10370           - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
10371           OnMouseEnter/Leave()
10372
10373 2004-08-16 15:34  jackson
10374
10375         * XplatUIX11.cs: Group multiple expose events in HandleData, make
10376           sure messages get the message field set to WM_NULL if they are not
10377           handled.
10378
10379 2004-08-16 15:24  jackson
10380
10381         * HandleData.cs: HandleData is used for storing message information
10382           for window handles
10383
10384 2004-08-15 17:23  ravindra
10385
10386         * ColorDepth.cs: Added attribute.
10387
10388 2004-08-15 17:23  ravindra
10389
10390         * SWF.csproj: Updated project for ToolBar Control.
10391
10392 2004-08-15 17:20  ravindra
10393
10394         * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
10395           control and also dos2unix format.
10396
10397 2004-08-15 17:13  ravindra
10398
10399         * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
10400           ToolBarButtonClickEventArgs.cs,
10401           ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
10402           ToolBarTextAlign.cs: First Implementation of ToolBar control.
10403
10404 2004-08-15 15:31  pbartok
10405
10406         * ButtonBase.cs:
10407           - First (mostly) working version
10408
10409 2004-08-13 16:15  pbartok
10410
10411         * Control.cs:
10412           - Fixed Anchor default
10413
10414 2004-08-13 15:43  pbartok
10415
10416         * Control.cs:
10417           - Changed GetCursorPos signature
10418
10419 2004-08-13 15:42  pbartok
10420
10421         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
10422           - Changed signature for GetCursorPos
10423
10424 2004-08-13 15:25  pbartok
10425
10426         * XplatUIX11.cs:
10427           - Cleanup
10428           - Fixed resizing/exposure handling
10429
10430 2004-08-13 15:22  jordi
10431
10432         * ThemeWin32Classic.cs: removes redundant code and fixes issues
10433           with tickposition
10434
10435 2004-08-13 14:55  jordi
10436
10437         * TrackBar.cs: change from wndproc to events
10438
10439 2004-08-13 13:00  jordi
10440
10441         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
10442           XplatUIX11.cs: implements PointToClient (ScreenToClient)
10443
10444 2004-08-13 12:53  pbartok
10445
10446         * XplatUIWin32.cs:
10447           - Changed GetWindowPos to also provide client area size
10448           - Fixed broken prototypes for several win32 functions
10449
10450 2004-08-13 12:53  pbartok
10451
10452         * XplatUI.cs, XplatUIDriver.cs:
10453           - Changed GetWindowPos to also provide client area size
10454
10455 2004-08-13 12:52  pbartok
10456
10457         * XplatUIX11.cs:
10458           - Added generation of WM_POSCHANGED
10459           - Changed GetWindowPos to also provide client area size
10460
10461 2004-08-13 12:52  pbartok
10462
10463         * Control.cs:
10464           - Added Dispose() and destructor
10465           - Fixed resizing and bounds calculation
10466           - Fixed Layout
10467           - Added memory savings for invisible windows
10468
10469 2004-08-13 12:46  jordi
10470
10471         * TrackBar.cs: adds timer and grap window
10472
10473 2004-08-13 10:25  jackson
10474
10475         * Timer.cs: SWF Timer
10476
10477 2004-08-12 16:59  pbartok
10478
10479         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10480           - Implemented method to get current mouse position
10481
10482 2004-08-12 14:29  jordi
10483
10484         * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
10485           enhancement, fix mouse problems, highli thumb, etc
10486
10487 2004-08-12 13:31  pbartok
10488
10489         * Control.cs:
10490           - Fixed Anchoring bugs
10491
10492 2004-08-12 13:01  jackson
10493
10494         * StatusBar.cs: Don't forget things
10495
10496 2004-08-12 12:54  jackson
10497
10498         * ThemeWin32Classic.cs: Handle owner draw status bars
10499
10500 2004-08-12 12:54  jackson
10501
10502         * StatusBar.cs: Implement missing properties, events, and methods.
10503           Handle mouse clicking
10504
10505 2004-08-12 10:19  jackson
10506
10507         * StatusBarPanelClickEventArgs.cs,
10508           StatusBarPanelClickEventHandler.cs: Classes for handling status
10509           bar panel click events
10510
10511 2004-08-12 10:10  jackson
10512
10513         * Control.cs: Add missing properties
10514
10515 2004-08-12 09:46  pbartok
10516
10517         * BindingsManagerBase.cs:
10518           - Name changed to BindingManagerBase.cs
10519
10520 2004-08-12 09:25  jordi
10521
10522         * ScrollableControl.cs: calls ctrlbase instead of exeception
10523
10524 2004-08-11 16:28  pbartok
10525
10526         * InputLanguageChangingEventArgs.cs:
10527           - Never check in before compiling. Fixes the last check-in
10528
10529 2004-08-11 16:26  pbartok
10530
10531         * InputLanguageChangingEventArgs.cs:
10532           - More signature fixes
10533
10534 2004-08-11 16:20  pbartok
10535
10536         * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
10537           Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
10538           ImageListStreamer.cs, InputLanguage.cs,
10539           InputLanguageChangedEventArgs.cs,
10540           InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
10541           LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
10542           ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
10543           XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10544           - Signature fixes
10545
10546 2004-08-11 16:16  pbartok
10547
10548         * Application.cs:
10549           - Fixed Signature
10550           - Added .Net 1.1 method
10551
10552 2004-08-11 15:25  pbartok
10553
10554         * SWF.csproj:
10555           - Fixed BindingManagerBase.cs filename
10556
10557 2004-08-11 15:22  pbartok
10558
10559         * BindingManagerBase.cs:
10560           - Was checked in with wrong filename
10561
10562 2004-08-11 14:50  pbartok
10563
10564         * SWF.csproj:
10565           - Updated
10566
10567 2004-08-11 13:41  jordi
10568
10569         * XplatUIWin32.cs: Fixes ClientRect
10570
10571 2004-08-11 13:19  pbartok
10572
10573         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
10574           XplatUIX11.cs:
10575           - We had SetWindowPos and MoveWindow to set window positions and
10576             size, removed MoveWindow. We have GetWindowPos, so it made sense to
10577             keep SetWindowPos as matching counterpart
10578           - Added some X11 sanity checking
10579
10580 2004-08-11 12:59  pbartok
10581
10582         * Control.cs:
10583           - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
10584             (It seems that SetBounds is just a front for SetBoundsCore and
10585              SetBoundsCore updates the underlying window system and
10586              UpdateBounds is responsible for updating the variables associated
10587              with the Control and sending the events)
10588           - Major cleanup of Size handling; we now have two sizes, client_size
10589             and bounds. Bounds defines the window with decorations, client_size
10590             without them.
10591
10592 2004-08-11 12:55  pbartok
10593
10594         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10595           - Added method to calculate difference between decorated window and
10596             raw client area
10597
10598 2004-08-11 12:54  pbartok
10599
10600         * Label.cs:
10601           - Forcing redraw on resize
10602
10603 2004-08-11 11:43  pbartok
10604
10605         * ImageList.cs:
10606           - Removed disposing of the actual images when the list is disposed
10607
10608 2004-08-11 09:13  pbartok
10609
10610         * Control.cs:
10611           - Now properly reparents windows
10612
10613 2004-08-11 08:37  pbartok
10614
10615         * Control.cs:
10616           - Duh!
10617
10618 2004-08-11 07:47  pbartok
10619
10620         * Control.cs:
10621           - Rewrote the collection stuff. Might not be as fast now, not
10622             keeping the number of children around and accessible directly, but
10623             it's more straightforward
10624
10625 2004-08-11 07:44  pbartok
10626
10627         * AccessibleObject.cs:
10628           - Fixed to match ControlCollection rewrite
10629
10630 2004-08-11 07:43  pbartok
10631
10632         * ImageList.cs:
10633           - Added missing creation of the collection list
10634
10635 2004-08-10 20:08  jackson
10636
10637         * StatusBar.cs: Get the paint message from WndProc
10638
10639 2004-08-10 19:31  jackson
10640
10641         * ThemeWin32Classic.cs: Create Brushes as little as possible
10642
10643 2004-08-10 19:20  jackson
10644
10645         * UICues.cs: Add Flags attribute
10646
10647 2004-08-10 19:19  jackson
10648
10649         * StatusBarPanel.cs: Signature cleanup
10650
10651 2004-08-10 19:10  jackson
10652
10653         * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
10654           Initial implementation of status bar item drawing
10655
10656 2004-08-10 17:27  jordi
10657
10658         * TrackBar.cs: add missing methods, properties, and restructure to
10659           hide extra ones
10660
10661 2004-08-10 16:24  jackson
10662
10663         * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
10664           ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
10665           attribute
10666
10667 2004-08-10 13:21  jordi
10668
10669         * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
10670           enhancements and standarize on win colors defaults
10671
10672 2004-08-10 12:52  jackson
10673
10674         * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
10675           ThemeWin32Classic.cs: Implement DrawItem functionality
10676
10677 2004-08-10 12:47  jordi
10678
10679         * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
10680
10681 2004-08-10 12:32  jordi
10682
10683         * Control.cs: throw ontextchange event
10684
10685 2004-08-10 11:43  pbartok
10686
10687         * Control.cs:
10688           - Added more to the still unfinished Dock/Anchor layout code
10689
10690 2004-08-10 11:39  pbartok
10691
10692         * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
10693           - Added GetWindowPos method
10694
10695 2004-08-10 11:36  pbartok
10696
10697         * XplatUIWin32.cs:
10698           - Implemented several methods
10699
10700 2004-08-10 09:47  jackson
10701
10702         * TrackBar.cs: Allow control to handle buffering
10703
10704 2004-08-10 09:41  jackson
10705
10706         * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
10707
10708 2004-08-10 09:24  jackson
10709
10710         * Label.cs, LinkLabel.cs: Let Control handle buffering.
10711
10712 2004-08-10 09:09  jackson
10713
10714         * StatusBar.cs: Let Control handle all the buffering.
10715
10716 2004-08-10 09:08  jackson
10717
10718         * Control.cs: Control will now handle the buffering code, so each
10719           control does not have to implement this.
10720
10721 2004-08-10 08:34  jackson
10722
10723         * XplatUIDriver.cs: Use default colors from the theme
10724
10725 2004-08-09 17:12  pbartok
10726
10727         * ImageList.cs:
10728           - Fixed several bugs Ravindra pointed out
10729
10730 2004-08-09 16:11  pbartok
10731
10732         * Control.cs:
10733           - Added incomplete dock layout code
10734           - Added support for mouse wheel
10735
10736 2004-08-09 16:09  pbartok
10737
10738         * XplatUIX11.cs:
10739           - Added handling for middle and right mousebutton
10740           - Added handling for mouse wheel
10741           - Added handling for key state and mouse state and position
10742           - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
10743           messages
10744
10745 2004-08-09 15:40  jackson
10746
10747         * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
10748           StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
10749           checkin
10750
10751 2004-08-09 15:37  jackson
10752
10753         * StatusBar.cs: Initial implementation of StatusBar
10754
10755 2004-08-09 15:36  jackson
10756
10757         * ITheme.cs: Add support for drawing status bar and getting status
10758           bar item sizes
10759
10760 2004-08-09 15:35  pbartok
10761
10762         * MouseButtons.cs:
10763           - Fixed values
10764
10765 2004-08-09 15:34  jackson
10766
10767         * ThemeWin32Classic.cs: Add support for drawing status bar and get
10768           status bar item sizes
10769
10770 2004-08-09 15:21  jackson
10771
10772         * ThemeWin32Classic.cs: Use known colors for default control
10773           colours
10774
10775 2004-08-09 15:12  jackson
10776
10777         * ThemeWin32Classic.cs: Make the default font static, it is static
10778           in control so this doesn't change functionality and creating fonts
10779           is sloooooow.
10780
10781 2004-08-09 14:56  pbartok
10782
10783         * X11Structs.cs:
10784           - Added GrabMode enum
10785
10786 2004-08-09 14:55  pbartok
10787
10788         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10789           - Removed Run method, was only required for initial development
10790
10791 2004-08-09 14:51  pbartok
10792
10793         * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10794           - Implemented GrabWindow/ReleaseWindow methods to allow pointer
10795           capture
10796
10797 2004-08-09 13:48  pbartok
10798
10799         * XplatUIX11.cs:
10800           - Fixed default sizing for child windows
10801
10802 2004-08-09 12:56  pbartok
10803
10804         * XplatUIX11.cs:
10805           - Added generation of WM_DESTROY message
10806           - Added handling of window manager induced shutdown
10807
10808 2004-08-09 11:31  jackson
10809
10810         * ThemeWin32Classic.cs: New names for control properties
10811
10812 2004-08-09 11:25  jackson
10813
10814         * Control.cs: Use new color names
10815
10816 2004-08-09 11:02  jackson
10817
10818         * XplatUI.cs: Get default window properties from the theme
10819
10820 2004-08-09 11:01  jackson
10821
10822         * ITheme.cs: The theme engine now controls default window
10823           properties
10824
10825 2004-08-09 11:00  jackson
10826
10827         * ThemeWin32Classic.cs: Add default window color properties
10828
10829 2004-08-09 10:17  jackson
10830
10831         * ThemeWin32Classic.cs: Use correct default back color
10832
10833 2004-08-09 10:05  jackson
10834
10835         * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
10836           the theme now.
10837
10838 2004-08-09 09:56  jackson
10839
10840         * XplatUI.cs: Remove defaults, these are handled by the theme now.
10841
10842 2004-08-09 09:54  jackson
10843
10844         * Control.cs: Get default properties from the theme.
10845
10846 2004-08-09 09:53  jackson
10847
10848         * ITheme.cs: Themes now handle default control properties
10849
10850 2004-08-09 09:53  jackson
10851
10852         * ThemeWin32Classic.cs: Themes now handle default control
10853           properties so coloring will be consistent
10854
10855 2004-08-08 16:54  jordi
10856
10857         * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
10858
10859 2004-08-08 15:08  jordi
10860
10861         * XplatUIX11.cs: fixes keyboard crash
10862
10863 2004-08-08 13:47  jordi
10864
10865         * Label.cs: add cvs header info
10866
10867 2004-08-08 12:09  jackson
10868
10869         * ThemeWin32Classic.cs: Add pen_buttonface
10870
10871 2004-08-08 11:52  jordi
10872
10873         * Label.cs, LinkLabel.cs: [no log message]
10874
10875 2004-08-08 11:34  jordi
10876
10877         * ThemeWin32Classic.cs: Use Windows Standard Colours
10878
10879 2004-08-07 17:32  jordi
10880
10881         * TrackBar.cs: throw exceptions of invalid enums values
10882
10883 2004-08-07 17:31  jordi
10884
10885         * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
10886           draw method name
10887
10888 2004-08-07 16:56  jackson
10889
10890         * HorizontalAlignment.cs: Initial checkin
10891
10892 2004-08-07 13:16  jordi
10893
10894         * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
10895           methods
10896
10897 2004-08-07 13:05  jordi
10898
10899         * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
10900           GetSysColor defines
10901
10902 2004-08-06 18:01  pbartok
10903
10904         * ThemeWin32Classic.cs:
10905           - Fixed some rounding issues with float/int
10906
10907 2004-08-06 18:00  jackson
10908
10909         * DockStyle.cs, AnchorStyles.cs:
10910
10911                   Add flags and serializable attributes.
10912
10913 2004-08-06 17:46  pbartok
10914
10915         * XplatUIX11.cs:
10916           - Implemented GetParent
10917
10918 2004-08-06 17:18  pbartok
10919
10920         * TrackBar.cs:
10921           - Fixed some rounding issues with float/int
10922
10923 2004-08-06 17:17  pbartok
10924
10925         * X11Structs.cs, XplatUIX11.cs:
10926           - Fixed Refresh and Invalidate
10927
10928 2004-08-06 15:30  pbartok
10929
10930         * Control.cs, X11Structs.cs, XplatUIX11.cs:
10931           - Fixed recursive loop when resizing
10932           - Improved/fixed redrawing on expose messages
10933
10934 2004-08-06 09:53  jordi
10935
10936         * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
10937           keyboard navigation
10938
10939 2004-08-06 08:02  pbartok
10940
10941         * X11Structs.cs, XplatUIX11.cs:
10942           - Fixed reparenting
10943           - Fixed window border creation
10944
10945 2004-08-05 15:38  pbartok
10946
10947         * XplatUIX11.cs:
10948           - Attempted fix for reparenting problems
10949
10950 2004-08-04 15:14  pbartok
10951
10952         * Control.cs:
10953           - Fixed Invalidation bug (calculated wrong client area)
10954           - Added ClientSize setter
10955
10956 2004-08-04 15:13  pbartok
10957
10958         * Form.cs:
10959           - Added AutoScale properties
10960
10961 2004-08-04 15:13  pbartok
10962
10963         * SWF.csproj:
10964           - Added latest files
10965
10966 2004-08-04 14:11  pbartok
10967
10968         * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
10969           XplatUIX11.cs:
10970           - Added Invalidate handling
10971
10972 2004-08-03 17:09  jordi
10973
10974         * XplatUIDriver.cs: fixes spelling mistake
10975
10976 2004-07-27 09:53  jordi
10977
10978         * TrackBar.cs: fixes trackbar events, def classname, methods
10979           signature
10980
10981 2004-07-27 09:29  jordi
10982
10983         * ScrollBar.cs: fixes scrollbar events
10984
10985 2004-07-27 04:38  jordi
10986
10987         * Control.cs: changes to be able to run winforms samples
10988
10989 2004-07-26 11:42  jordi
10990
10991         * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
10992           ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
10993
10994 2004-07-26 05:41  jordi
10995
10996         * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
10997           MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
10998           implementation
10999
11000 2004-07-22 09:22  jordi
11001
11002         * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
11003           check link overlapping, implement events, and fixes
11004
11005 2004-07-21 10:28  jordi
11006
11007         * DialogResult.cs, IButtonControl.cs: fixes comments filenames
11008
11009 2004-07-21 10:19  jordi
11010
11011         * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
11012           LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
11013           LinkLabelLinkClickedEventArgs.cs,
11014           LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
11015           XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
11016           implementation
11017
11018 2004-07-19 13:09  jordi
11019
11020         * Control.cs, Label.cs: label control re-written: added missing
11021           functionlity, events, and properties
11022
11023 2004-07-19 10:49  jordi
11024
11025         * Control.cs: fixes SetBounds logic
11026
11027 2004-07-19 01:29  jordi
11028
11029         * Control.cs: Call RefreshWindow only if the window has created
11030
11031 2004-07-15 14:05  pbartok
11032
11033         * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
11034           - Implemented ImageList and ImageList.ImageCollection classes
11035           - Added ColorDepth enumeration
11036           - Updated SWF VS.Net project
11037
11038 2004-07-15 11:06  jordi
11039
11040         * XplatUIStructs.cs: added MsgButons enum
11041
11042 2004-07-15 11:03  jordi
11043
11044         * Control.cs: added basic mouse handeling events
11045
11046 2004-07-15 03:38  jordi
11047
11048         * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
11049           Vertical TrackBar control implementation
11050
11051 2004-07-13 09:33  jordi
11052
11053         * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
11054
11055 2004-07-13 09:31  jordi
11056
11057         * Control.cs, Form.cs: commit: new properties and fixes form size
11058           problems
11059
11060 2004-07-09 14:13  miguel
11061
11062         * ProgressBar.cs: Spelling
11063
11064 2004-07-09 11:25  pbartok
11065
11066         * ProgressBar.cs:
11067           - Removed usage of Rectangle for drawing. Miguel pointed out it's
11068           faster
11069
11070 2004-07-09 11:17  miguel
11071
11072         * ProgressBar.cs: 2004-07-09  Miguel de Icaza  <miguel@ximian.com>
11073
11074                 * ProgressBar.cs: Fixed spelling for `block'
11075
11076                 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
11077                 style guidelines.
11078
11079                 Avoid using the += on rect.X, that exposed a bug in the compiler.
11080
11081 2004-07-08 23:21  pbartok
11082
11083         * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
11084           AnchorStyles.cs, Application.cs, ApplicationContext.cs,
11085           BaseCollection.cs, Binding.cs, BindingContext.cs,
11086           BindingMemberInfo.cs, BindingsCollection.cs,
11087           BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
11088           BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
11089           ButtonState.cs, CaptionButton.cs, CheckBox.cs,
11090           ContainerControl.cs, Control.cs, ControlEventArgs.cs,
11091           ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
11092           ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
11093           CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
11094           DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
11095           FrameStyle.cs, GiveFeedbackEventArgs.cs,
11096           GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
11097           HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
11098           IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
11099           InputLanguageChangedEventArgs.cs,
11100           InputLanguageChangedEventHandler.cs,
11101           InputLanguageChangingEventArgs.cs,
11102           InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
11103           InvalidateEventArgs.cs, InvalidateEventHandler.cs,
11104           KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
11105           KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
11106           LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
11107           MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
11108           PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
11109           QueryAccessibilityHelpEventArgs.cs,
11110           QueryAccessibilityHelpEventHandler.cs,
11111           QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
11112           RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
11113           ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
11114           ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
11115           TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
11116           UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
11117           XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
11118           XplatUIX11.cs, lang.cs:
11119           - Initial check-in
11120