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