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