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