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