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