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