1 2006-03-13 Mike Kestner <mkestner@novell.com>
3 * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
5 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
7 * Hwnd.cs: Added fixed_size field to track windows whose size cannot
9 * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting
10 the allowed size before making programmatic size changes
12 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
14 * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are
15 set, metacity is broken and will still use the emty sizes in
16 the struct. (Fix for #77089)
18 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
20 * XplatUIStructs.cs: Split WindowStyles into WindowStyles and
21 WindowExStyles and marked both enums as Flags
22 * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs,
23 NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated
24 to match WindowStyles split
26 - SetWMStyles: Added cehck to not apply WM attributes to Child windows
27 - Updated to match WindowStyles split
29 - Fixed FosterParent creation, was using ExStyle on the Style field
30 (This should help with Popup focus issues)
31 - Updated to match WindowStyles split
33 2006-03-13 Jackson Harper <jackson@ximian.com>
35 * MdiWindowManager.cs: Use the system menu height. Fixes some
36 strange sizing issues.
38 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
40 * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
42 - Scroll to caret after inserting text (#77672)
43 - Make scroll range one pixel higher, fixes off-by-one error (and
44 makes underlines visible on the last line)
46 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
48 * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent
49 the keyboard state from being stuck with keys in 'pressed' state when
50 focus is switched away via keyboard
51 * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to
52 reset the keyboard if no X11 KeyUp events are expected to come
53 * X11Structs.cs: Switched type of Visible to bool to match driver
55 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
58 - Switched caret to be just 1 pixel wide, matches MS and looks less
60 - Moved caret display 1 pixel down from the top of the control
62 - InsertCharAtCharet: Update the selection start if moving the caret
63 (fixes bug #77696; based on patch suggested by kazuki@panicode.com)
64 - No longer always creating the caret when the caret methods are
65 called. Only the actual ShowCaret/HideCaret will do that now
66 - Only setting caret visible if the owner control has focus
67 - UpdateView: Added invalidation-shortcut logic for center and right
68 aligned text. Previously we'd update all according to the left
69 logic which caused drawing errors. Also fixed height of invalidated
70 areas, now properly invalidating the whole area (was off-by-one)
71 - owner_HandleCreated: Always generate the document when the
72 handle is created; this ensures that
74 - Fixed situation where caret would disappear under the right
75 window border, also improved scrolling behaviour on left-
77 - Fixed right-aligned textboxes to have a border to the
78 right instead of the caret being under the right border
80 - Switched from 'nested' to simple visible/not visible tracking
81 for caret (part of fix for #77671)
82 - No longer passing through translated FocusIn/FocusOut messages
83 since we were notifying too often and the wrong windows. Instead
84 we just notify our focussed window of receiving or loosing focus
85 * XplatUIWin32.cs: Switched from 'nested' show/hide
86 counting for caret to simple visible yes/no behaviour (part of
89 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
91 * Mime.cs: Remove debug code...
93 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
95 * MimeGenerated.cs: Removed
96 * Mime.cs: Mime now reads the mime data (magic, globs, aliases
97 and subclasses) from /usr/(local/)share/mime and
98 $HOME/.local/share/mime.
100 2006-03-10 Jackson Harper <jackson@ximian.com>
102 * MdiWindowManager.cs: Recalc the NC area when a window is
103 maximized/restored so that the menu area is drawn on forms that
106 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
108 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
109 XplatUIX11.cs: Added RequestNCRecalc method to driver to allow
110 us to force a WM_NCCALCRESIZE message being sent. This is needed
113 2006-03-10 Jackson Harper <jackson@ximian.com>
115 * Form.cs: We need to use the ActiveMenu when calculating menu
117 - Fix nullref when the window manager hasn't been created yet.
118 * Control.cs: Fix nullref when we try to bring a control to the
119 front that has no parent.
120 * MdiWindowManager.cs: Use the MaximizedMenu for calculating
122 - Add a dummy item to the maximized menu so it always has the
123 correct height. Otherwise when there are no menus we don't get our
127 2006-03-10 Jackson Harper <jackson@ximian.com>
129 * MenuAPI.cs: Make this available elsewhere. I need it in some MDI
131 * Form.cs: Make the window_state internal so the window managers
133 - When an MDI child is maximized let its window manager create the
134 main menu (so it can add its icon).
135 - Notify the window managers of state changes
136 - Let the window manager paint its buttons and handle button
137 clicks on the menu when it is maximized.
138 * InternalWindowManager.cs: Move the prev_bounds into the mdi
139 window manager, since tool windows don't use it, only mdi windows.
140 - Tell the main form that we don't want it to handle NCPAINT
141 itself to avoid extra painting.
142 - Handle clicks on a maximized windows menu.
143 - Handle window state changes
144 - Handle minimize/maximize clicks correctly by setting the window state.
145 * MdiWindowManager.cs: Add an icon menu that (the menu you get
146 when clicking on the forms icon).
147 - New method to create a forms maximized menu. This is its normal
149 - Handle window state changes.
150 - Handle sizing of maximized windows. Maximized windows are just
151 drawn bigger then the parent visible area. All controls are still
152 there, they are just outside the visible area (this matches windows).
153 * MdiClient.cs: No scrollbars when a child window is maximized.
154 - Let the children windows figure out how big they should be when
155 sizing maximized windows.
156 - Implement a version of ArrangeIconicWindows somewhat similar to
157 Windows version. There are some little differences, but I don't
158 think any app will rely on the layout of minimized mdi windows.
160 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
162 * Padding.cs: Several fixes to allow compiling with csc 2.0
164 2006-03-09 Jackson Harper <jackson@ximian.com>
167 * MenuItem.cs: Cheap hack so we can add items to the list without
168 the events being raised. This allows adding mdi items during
169 drawing. TODO: Should probably find a better time to add the items.
171 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
173 * ThemeWin32Classic.cs:
174 - CheckBox_DrawText: Added logic to not wrap if not enough space
175 is available (Fix for bug #77727)
176 - RadioButton_DrawText: Added logic not to wrap if not enough
177 space is available (Fix for bug #77727). Also removed some
178 duplicate code, DrawString always drawing the regular text
179 before hitting the if statement.
181 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
183 * XplatUIX11.cs: Handle an unmapped window state in SetWindowState
185 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
187 * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726)
188 * ContainerControl.cs: Partial implementation of some 2.0 scaling
189 methods. Moved the new 2.0 properties into alphabetical order with
190 other properties and added MonoTODO tags
192 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
194 * AutoScaleMode.cs: Added. Fix build.
196 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
198 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
199 XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used
200 and was requiring premature handle creation for calls from above
201 * Form.cs, Control.cs: Removed handle arguments from calls to
202 CalculateClientRect()
204 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
206 * ListView.cs (HeaderMouseMove): Fix csc compilation.
207 drag_column.column_rect is MarshalByRef and can't be used that way
209 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
211 * AxHost.cs: Added deserialization constructor for
212 AxHost+State (fixes 77743)
214 2006-03-09 Mike Kestner <mkestner@novell.com>
217 - Added column drag reordering for details view.
218 - fixed behavior when mouse is dragged off column and
219 AllowColumnReorder is false.
220 * ColumnHeader.cs: clone the format too in Clone.
221 * Theme.cs: add DrawListViewHeaderDragDetails method.
222 * ThemeWin32Classic.cs:
223 - impl new method for drawing drag column shadows and targets.
224 - support column offset for details mode in DrawListViewItem.
226 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
228 * TextControl.cs: Reset the char_count when the document is cleared
229 (Fixes bug reported on mono-winforms mailing list)
231 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
233 * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead
234 of calling base we simply process the key ourselves, since both
235 DefWindowProc and the handled method would set m.Result.
238 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
240 * Form.cs(ScaleCore): No longer calling base.ScaleCore since that
241 method also moves the window; instead implemented a copy of
242 Control.ScaleCore (Part of fix for #77456)
244 - Created new CreateGraphicsInternal method to allow providing
245 a graphics context when no handle is created without triggering
246 handle creation. (Part of fix for #77456)
247 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
249 - Switched Constructor to require TextBoxBase instead of Control (to
250 allow uncast access to CreateGraphicsInternal)
251 - Safeguarded use of owner.Handle property. No longer accessing it
252 unless the handle is already created.
253 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
254 - Now triggering a recalc when owning control becomes visible
255 * TextBox.cs, RichTextBox.cs: Switched to use new internal
256 TextBoxBase.CreateGraphicsInternal() method to avoid triggering
257 premature handle creation (Part of fix for #77456)
259 - We now only destroy our double-buffering buffers when the
260 control is resized or disposed, but not when visibility
261 changes. (The code even re-created them twice every time)
262 - Now requiring a redraw of the buffer on visibility changes
263 (fixes bug 77654 part 2)
264 - Not passing OnParentVisibleChanged up unless the control
266 - CanFocus: Fixed to match MS documentation
267 - Focus: Fixed to return actual focus state and to check if
268 setting focus is legal before setting it
270 2006-03-08 Peter Dennis Bartok <pbartok@novell.com>
272 * ThemeWin32Classic.cs: TabPages cannot have focus. Determine
273 when to draw focus rectangle by looking at parent focus and
274 selected state instead. This fixes TabPages on Linux sometimes
275 having none or multiple focus rectangles.
276 * XplatUIX11.cs (SetFocus):
277 - Don't set the focus if the same window already has focus
278 - Use SendMessage instead of PostMessage (like it's Win32
279 equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS
280 to match MS behaviour
281 * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages
284 2006-03-07 Jackson Harper <jackson@ximian.com>
286 * PictureBox.cs: Revert line I accidently committed last week.
288 2006-03-07 Peter Dennis Bartok <pbartok@novell.com>
291 - Added new IsRecreating and ParentIsRecreating properties to
292 allow testing if RecreateHandle has been called on ourselves
293 or one of our parents
294 - WndProc(WM_DESTROY): If our control handle is being recreated
295 we immediately need to create the handle when receiving the
296 destroy, that way our child windows find a valid parent handle
297 when they themselves are being recreated upon WM_DESTROY receipt
298 (fix for bug #77654 part 1)
300 - DestroyWindow: WM_DESTROY must be sent to our own window before
301 notifying any child windows. MS documents that child windows
302 are still valid when WM_DESTROY is received. (Control now relies on
304 - Added some fine-grain debug options
306 2006-03-06 Jackson Harper <jackson@ximian.com>
308 * MdiClient.cs: Redid scrolling logic a bit to create a virtual
309 box and base calculations off this.
310 * MdiChildContext.cs:
311 * MdiWindowManager.cs: Don't need to ensure scrollbars here
314 2006-03-06 Peter Dennis Bartok <pbartok@novell.com>
316 * Splitter.cs: In situations where the affected control is added
317 to the parent's control list after the splitter, we would not
318 populate affected. Now we try populating it on mousedown, if
319 it's not already set, and force it to be re-set whenever our
322 2006-03-03 Matt Hargett <matt@use.net>
324 * Control.cs: implement Control.Padding
325 * Padding.cs: -Padding.All returns -1 when constructing with the
326 implicit default ctor
327 -Padding.ToString() matches MS.NET
328 * ContainerControl.cs: implement
329 ContainerControl.AutoScaleDimensions
330 * ListControl.cs: implement ListControl.FormattingEnabled
331 * TextBox.cs: Implemented TextBox.UseSystemPasswordChar.
333 * TabPage.cs: Implement UseVisualStyleBackColor.
334 * PictureBox.cs: Implement PictureBox.InitialImage.
336 2006-03-03 Mike Kestner <mkestner@novell.com>
338 * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new
339 event declarations to proxy to base event.
340 * ListViewItem.cs: update to use ItemControl.
341 * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems.
342 * ThemeWin32Classic.cs: update to new ListView theme API and fix
343 column header label rendering for 0 width columns.
345 2006-03-03 Peter Dennis Bartok <pbartok@novell.com>
347 * Control.cs (ControlCollection.SetChildIndex): Avoid using a call
348 that causes the control to be created. Fixes #77476.
350 2006-03-02 Jackson Harper <jackson@ximian.com>
352 * Hwnd.cs: Clear the nc pending when clearing the NC area, not the
355 2006-03-02 Peter Dennis Bartok <pbartok@novell.com>
357 * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs
358 passed in for the EventArgs (fixes #77690)
360 2006-03-01 Jackson Harper <jackson@ximian.com>
362 * ScrollBar.cs: Refresh afterbeing resized.
364 2006-02-28 Mike Kestner <mkestner@novell.com>
366 * MenuAPI.cs: Call PerformPopup internal method to emit Popup.
367 Clean up a tracker compile warning.
368 * MenuItem.cs: add internal PerformPopup method.
371 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
373 * TextBoxBase.cs (set_Text): Recalculate the document (causing an
374 implicit expose) when the text is set to null
376 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
378 * RichTextBox.cs (FlushText): When newline is true, we always
379 need to split the line, even if no text is on it and we may
380 never eat newlines. (Fixes #77669)
382 2006-02-28 Mike Kestner <mkestner@novell.com>
384 * ListView.cs: Add UpdateSelection internal method. Remove SelectItem
385 and set Selected instead.
386 * ListViewItem.cs: Call owner.UpdateSelection to manipulate the
389 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
391 * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665
393 2006-02-28 Alexander Olk <alex.olk@googlemail.com>
396 - Got rid of the panel. All controls are now directly added to
398 - It is now possible to set a font with the Font property
399 - MinSize and MaxSize property do now what they should
400 - ShowApply, ShowHelp, ShowColor, ShowEffects likewise
401 - Searching and selecting a font with the font textbox works now,
402 the same applies to the style and size textbox
403 - Draw the correct 3D border in the example panel
404 - Fixed a little mem leak (unused fonts didn't get disposed)
405 - Many other internal updates/rewrites...
408 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
411 - InsertRTFFromStream: Added 'number of characters inserted' argument
412 - set_SelectedRTF: Now using the number of characters to calculate
413 the new location for the selection and cursor (x/y cannot be used
414 due to potentially already wrapped text)
416 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
418 * TextControl.cs: Added property and implemented means to allow
419 disabling recalculation of a document (can be used to speed up
420 multiple inserts and is needed to make RTF inserts predictable, see
422 * RichTextBox.cs: Using the new NoRecalc property of Document to
423 keep x/y insert locations predictable. Also makes it faster inserting
426 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
428 * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way
429 it's easier for a child control to handle the other messages without
430 having to duplicate the special functionality
432 - WndProc: Removed calling base handler for WM_KEYDOWN and added
433 code to handle processing the key ourselves, in order to get
434 access to the result of KeyEventArgs.Handled. We now only call
435 ProcessKey if they key hasn't been handled already. Fixes #77526.
436 - set_Text: If null or empty string is given, just clear the
437 document. Fixes part of #77526
439 2006-02-27 Jackson Harper <jackson@ximian.com>
441 * SizeGrip.cs: Paint the background color before painting the grip
442 so things look right.
443 * MdiClient.cs: Add the sizegrip when both scrollbars are used.
445 2006-02-27 Mike Kestner <mkestner@novell.com>
448 - Restructure layout and invalidation model to remove a ton of
449 flicker from the control and speed up performance in general.
450 - Add manual column resize, flickers like crazy, but I already have
451 some ideas on how I'll fix that. (#76822)
452 - Merge the three Icon-based views into a single layout method.
453 - Move item selection interaction logic from the item since
454 interaction with the collections is more appropriate to the view.
455 - Deselection on non-item clicks.
457 - Encapsulate most of the layout. Add some internal props to trigger
458 layout. Move to a model where Items invalidate themselves instead
459 of just invalidating the whole control every time something changes.
460 - Invalidate on Text/Caption changes.
461 - switch to an offset based layout model to avoid having to absolute
462 position every element on item moves.
463 - correct checkbox layout to conform to MS layout.
464 * ThemeWin32Classic.cs:
465 - refactor some column header drawing code.
466 - fix string justification for column headers (#76821)
467 - make SmallIcon labels top justified for compat with MS impl.
468 * ThemeClearlooks.cs:
469 - adjust to new ListViewItem internal checkbox bounds api.
471 2006-02-27 Jackson Harper <jackson@ximian.com>
473 * Control.cs: Change where implicit controls fall in the zorder.
474 They are now on top of all children.
475 - Synced AddImplicit code with Add
476 - Removed unused enumerator.
477 * SizeGrip.cs: Remove the TODO as its been TODONE.
479 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
481 * TextControl.cs(Insert): Combine the last lines unless the insertion
482 string ends with \n\n, otherwise we leave one line too many (Fixes
483 something I noticed with the testapp for #77526; the bug itself was
484 already fixed in the previous checkin)
486 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
489 - SelectionColor and SelectionFont methods no longer set absolute
490 styles. Instead, the keep font or color respectively (This
491 resolves a long-standing FIXME in the code)
492 - When flushing RTF text, the insert code now considers text trailing
493 behind the insertion point (Fixes the bug where when replacing
494 the selected text via SelectedRTF the remainder of the line behind
495 the selection would stay on the first insertion line)
497 - AppendText now updates the selection points after inserting text
498 - AppendText now ensures that the last tag (sometimes 0-length) of
499 the document is used for the style information (Fixes part of
502 - Created new FontDefiniton class to allow describing partial style
504 - StreamLine() now takes a lines argument, to allow it to decide
505 whether an encountered zero-length tag is the last in the document
506 (which must be kept to not loose the font/color contained in it,
508 - Created Combine() and Split() methods for Marker structs, to
509 support marker updates due to reformatted documents (soft line
511 - Implemented Document.CaretTag setter
512 - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
513 of the last line (Not the cause, but also exposed by bug #77220)
514 - Added LineTag argument to InsertString method, to allow callers
515 to force a certain tag to be used (required to force use of the
516 trailing zero-length tag of a document)
517 - Now updating markers in Combine(), to avoid stale tag markers
518 - Added some method descriptions to aid maintenance
519 - Implemented new FormatText concept, allowing additive/subtractive
520 formatting by only specifying the components that are to be
521 changed. This was needed for resolving the RTB.SelectedColor/
522 RTB.SelectedFont fixmes
523 - Added Break() support method to allow breaking up linetags (used
524 for partial formatting)
525 - Added GenerateTextFormat() method. It is used for partial
526 formatting and allows to generate a full font/color from given
527 attributes and an existing tag.
529 2006-02-26 Jackson Harper <jackson@ximian.com>
531 * XplatUIX11.cs: Use the correct caption height.
532 - Translate hittest coordinates to screen coords to match MS.
533 * XplatUIWin32.cs: When we create MDI windows we need to reset
534 some of the style flags, so we get a nice blank window, and can
535 draw all the decorations ourselves.
536 - Set a clipping rectangle on the non client paint event, the
537 window manager drawing code needs one.
538 * Form.cs: The window manager needs to know when the window state
540 * Hwnd.cs: The window manager stuff now does a proper NCCALC so we
541 don't need to factor in border and title sizes in these
542 methods. TODO: Remove the args and fix the call points.
543 * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA
545 - Let the driver set the cursors.
546 - Improve active window handling
547 - Correct sizes for title bars and buttons.
548 - Match MS drawing better
549 * MdiWindowManager.cs: We don't need to handle border style
550 updates specially anymore.
551 - Check for scrollbars when windows are done moving
552 - Handle Active properly.
553 * MimeIcon.cs: Don't crash when we can't load the GNOME stuff
554 correctly. I am spewing the exception though, so we don't hide the
557 2006-02-26 Pedro Martinez Julia <pedromj@gmail.com>
559 * DataGridViewRowPostPaintEventArgs.cs,
560 DataGridViewCellPaintingEventArgs.cs,
561 DataGridViewRowCollection.cs,
562 DataGridViewRowPrePaintEventArgs.cs,
563 DataGridViewCell.cs: Clear a few warnings and implement a few
564 exceptions that should be thrown.
566 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
568 * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
569 'inheriting' our parent's (non-default) cursor. (Part of
572 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
574 * XplatUIX11.cs: Fixed cast to make csc happy
576 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
578 * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
579 it's for the client area (part of fix for #77479 and needed
580 for MDI window cursor handling)
582 - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
583 the appropriate default cursors and also passing the message
585 - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
588 2006-02-15 Jackson Harper <jackson@ximian.com>
590 * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
593 2006-02-14 Alexander Olk <alex.olk@googlemail.com>
595 * X11DesktopColors.cs: Instead of checking the desktop session
596 string for "KDE" check if it starts with "KDE"
598 2006-02-10 Jackson Harper <jackson@ximian.com>
600 * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
603 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
605 * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
608 - Got rid of the panel. All controls are now directly added to
610 - Changed to mono coding style
612 2006-02-10 Jackson Harper <jackson@ximian.com>
614 * InternalWindowManager.cs: We don't need the set visibility to
615 false hack anymore now that peter has written beautiful shutdown
618 2006-02-10 Peter Dennis Bartok <pbartok@novell.com>
620 * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
621 where already explicitly destroyed
623 2006-02-10 Jackson Harper <jackson@ximian.com>
625 * MdiClient.cs: Handle the case where windows are too high or to
626 the left and we need scrollbars.
628 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
630 * MimeIcon.cs: Added some icons
633 - Got rid of the panel. All controls are now directly added to
635 - Changed to mono coding style
636 - On Linux "My Computer" and "My Network" will now show some
637 more usefull information. A new class, MasterMount, gathers
638 this information from /proc/mount. Updated MWFFileView to make
639 use of this information
640 - Fixed a bug that caused FileDialog to crash when
641 ".recently_used" file had a zero size
642 - FilterIndex does now what it should
644 * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
647 2006-02-09 Jackson Harper <jackson@ximian.com>
649 * ComboBox.cs: Don't touch if null.
651 2006-02-09 Peter Dennis Bartok <pbartok@novell.com>
653 * Cursor.cs: 64bit safeness fix
654 * XplatUIX11.cs: Removed several unneeded and one moronic cast.
656 2006-02-09 Jackson Harper <jackson@ximian.com>
658 * Form.cs: If a form is made into an MDI form update the styles so
659 all the props can get set correctly.
660 - Kill the mdi_container when we dont need it anymore.
661 * InternalWindowManager.cs: Add missing NOT
663 2006-02-08 Jackson Harper <jackson@ximian.com>
665 * InternalWindowManager.cs: Respek clipping when drawing MDi
668 2006-02-08 Jackson Harper <jackson@ximian.com>
670 * Hwnd.cs: Add bits to track non client expose events.
671 * XplatUIX11.cs: Track non client expose events on the hwnd. This
672 gives us a proper invalid rect and will allow for some nice
673 optimizations with NC client drawing
674 - MDI windows are children windows, so move their style handling
675 into the child window block.
676 * InternalWindowManager.cs: Remove a state reset that was
677 getting invoked at the wrong time. Fixes managed windows getting
678 into a 'stuck' captured state.
680 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
682 * TextControl.cs (Document.ctor): Now initializing
683 selection_anchor. Fixes #77493
685 2006-02-07 Jackson Harper <jackson@ximian.com>
687 * TrackBar.cs: The increment/decrements were backwards.
689 2006-02-07 Mike Kestner <mkestner@novell.com>
691 * Theme*.cs : remove ThemeEngine.Current usage as it just points back
692 to the instance itself.
694 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
696 * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
697 on ulongs and pointers, the size differs between 32bit and 64bit
700 2006-02-07 Mike Kestner <mkestner@novell.com>
702 * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
703 for 64 bit platforms to work around a metacity bug.
705 2006-02-07 Jackson Harper <jackson@ximian.com>
707 * TrackBar.cs: Process the input keys we need, and hookup to
708 KeyDown instead of using WndProc, so we get key messages.
710 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
712 * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
714 * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
715 we need to translate the XdndVersion atoms array before sending it
717 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
720 - The preceeding 64bit fixes had a bug: ChangeProperty expects the
721 number of bits for the property, not the number of bytes. The
722 change to provide IntPtr.Size broke 32bit. (64bit was also wrong
723 but would not crash since it specified 8 bits instead of 4 bits)
724 - More 64bit fixes: Switched all atoms from int to IntPtr (they are
725 defined as XID -> long in the C headers)
726 - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms
727 references since those are now IntPtr to begin with
728 - Switched all Atom.XXX 'int' casts to IntPtr casts
729 - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
730 - Fixed XInternAtom signature for 64bit, now returns an IntPtr
731 - Added XChangeActivePointerGrab DllImport (for X11DnD)
733 - Changed 'int' type for Atoms in XEvent structures to IntPtr
734 - Changed atom in HoverStruct to be IntPtr
736 - Removed local DllImports, switched code to use those from XplatUIX11
737 - Removed/fixed casts related to the switch of Atom to be a IntPtr
739 2006-02-06 Mike Kestner <mkestner@novell.com>
741 * XplatUIX11.cs : many more 64 bit pinvoke changes. I've audited all the
742 method signatures in the import region. There may still be some
743 lingering struct marshaling issues, as I didn't drill down into those.
746 2006-02-06 Jackson Harper <jackson@ximian.com>
748 * ComboBox.cs: Dont manually set the top_item, this is computed
749 when the scrollbar position is set.
751 2006-02-06 Mike Kestner <mkestner@novell.com>
753 * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
754 startup crashes on amd64. There's other fixes needed. All pinvoke
755 usage of Atom needs to be mapped to IntPtr for example. And there are
756 likely other int/long issues to be addressed.
758 2006-02-04 Alexander Olk <alex.olk@googlemail.com>
760 * FileDialog.cs: One more...
762 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
764 * FileDialog.cs: Next try
766 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
768 * FileDialog.cs: First part of fix for #77464
770 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
772 * ButtonBase.cs, ContainerControl.cs, Forms.cs,
773 ThemeWin32Classic.cs: Fix for #77458. Correct handling of
774 AcceptButton border drawing.
776 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
778 * Form.cs: Moved positioning of form after auto scaling is applied,
779 otherwise it would possibly use wrong form size.
781 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
783 * Control.cs (RecreateHandle): No need to re-create any child
784 controls, the child windows will get destroyed automatically by
785 the windowing system or driver, and re-created when the handle
786 is being accessed the first time. Fixes #77456
787 * Form.cs: No longer setting the form to closing if the handle is
788 being recreated. This seems like the right thing to do, don't
789 have a bug or testcase for this, though.
791 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
793 * FileDialog.cs: Suspend/Resume layouting when changing sizes of
794 controls to avoid unwanted side effects
796 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
799 - ScaleCore needs to scale the bounds, not the ClientSize of the
800 control. Fixes #77416.
801 - DefaultSize is 0,0 for control
803 - DefaultSize is 100, 20
804 - SetBoundsCore: Now enforcing the height, no matter if the provided
805 height is more or less than the preferred one, as long as AutoSize
807 * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
809 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
812 - ResumeLayout: Fixed logic when to call PerformLayout, we may not
813 call unless both performLayout is true *and* we have a pending
815 - ResumeLayout: MS does not completely nest Suspend and Resume,
816 they bottom out at 0, fixed our code to match that.
817 - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
818 SetBoundsCore, we were updating even when we shouldn't. This fixes
819 swf-anchors mis-anchoring when resizing the app fast and lots.
820 - UpdateDistances: Now only setting the left and top distance if
821 we have a parent and are not suspended, this is based on
822 a suggestion by Don Edvaldson in bug #77355.
823 - OnVisibleChanged: Fixed logic when to create the control. We may
824 not create the control if we have no parent or if it's not visible;
825 switched to using Visible property instead of is_visible field
826 since the property also considers parent states. This fixes a bug
827 when starting Paint.Net
829 2006-02-02 Jackson Harper <jackson@ximian.com>
831 * Form.cs: If the forms handle hasn't been created yet don't call
832 into xplatui to make it top most, just set the topmost flag on the
834 * XplatUIX11.cs: Handle WS_EX_TOPMOST.
836 2006-02-01 Jackson Harper <jackson@ximian.com>
838 * ScrollableControl.cs: Refactored the Recalculate method a
839 little, this wasn't handling all the variants of bottom and right
840 bars needed to be added and added/removed based on their
841 counterparts being added/removed (which changes the drawable
842 size). Also we special case client widths and heights of 0 and
843 don't add the scrollbar for those.
845 2006-02-01 Peter Dennis Bartok <pbartok@novell.com>
848 - Added method to get AbsoluteGeometry(); currently unused, but might
849 be used in the future, if we try again to figure out toplevel
850 coordinates with some more crappy window managers
851 - Added FrameExtents() method to retrieve the WM set decoration size
852 - Tried to fix up AddConfigureNotify and handling of ReparentNotify
853 to deal with at least KDE, FVWM and metacity (Fixes #77092)
855 - Added whacky_wm tracking var for metacity
856 - Added logic to have default menu height if the actual menu height
857 has not yet been calculated (part of fix for #77426)
858 * Form.cs: Keep track whether client size has been set and re-set
859 it if a menu is added/removed afterwards (Fixes #77426)
861 2006-01-31 Jackson Harper <jackson@ximian.com>
863 * Control.cs: When a new Site is set on the component attempt to
864 pull the AmbientProperties from it.
866 2006-01-31 Peter Dennis Bartok <pbartok@novell.com>
868 * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
869 in the background of the owning form. Fixes #77332
871 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
873 * MimeIcon.cs: Fix for #77409
875 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
877 * XplatUIX11GTK.cs: Initial import
879 2006-01-31 Jordi Mas i Hernandez <jordimash@gmail.com>
881 * FixedSizeTextBox: fixes class signature
883 2006-01-30 Jackson Harper <jackson@ximian.com>
885 * FixedSizeTextBox.cs: New internal class that represents a
886 textBox that will not be scaled.
889 * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
892 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
894 * XplatUIX11.cs: Retrieve default screen number instead of
895 assuming 0. Attempted fix for #77318
897 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
900 - GetWindowPos: When a window is parented by FosterParent, use
901 the desktop instead of FosterParent as the base to get coordinates
902 - CreateWindow: Don't make FosterParent the parent window for Popups
903 if we don't want a taskbar entry, Popups automatically don't get one
904 * Hwnd.cs: Need to call remove to actually remove the key from the
907 2006-01-30 Mike Kestner <mkestner@novell.com>
909 * MenuAPI.cs: adjust MainMenu item popup location to y=0.
911 2006-01-30 Jackson Harper <jackson@ximian.com>
914 * TreeNode.cs: Raise events no matter how the treenode is
915 checked. Patch by Don Edvalson.
917 2006-01-30 Jackson Harper <jackson@ximian.com>
919 * TreeNode.cs: Signature fix.
921 2006-01-29 Alexander Olk <alex.olk@googlemail.com>
923 * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
925 2006-01-20 Mike Kestner <mkestner@novell.com>
927 * Form.cs: Add ActiveTracker property to do Captures and perform mouse
928 event forwarding when menus are active.
929 * MenuAPI.cs: kill the GrabControl hack. Use Form.ActiveTracker.
930 Most of the patch is pdb's with a little rework.
932 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
934 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs:
935 Removed GetMenuDC and ReleaseMenuDC methods; replaced
936 by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
937 * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
938 * InternalWindowManager.cs: Added use of PaintEventStart/End to
939 handling of WM_NCPAINT message, now passing the PaintEventArgs to
940 the PaintWindowDecorations method
941 * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
942 * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
943 * MenuAPI.cs: Made tracker window invisible
945 - Removed GetMenuDC and ReleaseMenuDC methods
946 - Implemented the client=false path for PaintEventStart and
949 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
951 * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
952 * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
955 - MaximizeBox, MinimizeBox: Recreate the handle when setting
957 - CreateParams: Reworked the styles to match MS look'n'feel,
958 removed automatic setting of MinimizeBox, MaximizeBox, etc. via
959 the WS_OVERLAPPEDWINDOW style. This fixes #76823.
961 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
963 * XplatUIX11.cs(GetWindowState): Now throwing an exception when the
964 window is not mapped, since otherwise every form that's being
965 created is considered minimized, which is wrong.
966 * Form.cs: Catching the exception and returning our internal value
969 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
971 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
972 SetWindowMinMax() to have means to tell the driver about the minimum,
973 maximum and maximized state window sizes. (Part of the fix for #76485)
975 - Implemented tracking of minimum and maximum window size, now calling
976 new SetWindowMinMax() driver method to tell the driver (Part of the
978 - Finished handling of WM_GETMINMAXINFO method, now setting all values
979 (Completes fix for #76485)
980 - Calling new SetWindowMinMax driver method when the handle for a
981 form is created, to make sure the driver knows about it even if
982 the values have been set before the window was created
983 - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
984 to avoid messing up our anchoring calculations (partial fix
986 * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
988 - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
989 - Improved GetWindowState() to detect 'Minimized' state on Metacity
990 (and presumably other freedesktop.org compliant WMs). Left the
991 assumption unmapped=minimized, needed for SetVisible to work.
992 - Now setting the window state when creating windows
993 - Fixed SetVisible to consider/set the window state when mapping
994 a Form. We cannot set the state before it's mapped, and we cannot
995 use Form.WindowState once it's mapped (since it would ask the
996 driver and get 'normal'. Therefore, we grab the state before
997 mapping, map, and then set state.
998 - Implmemented SetWindowMinMax method; Metacity does not seem to
999 honor the ZoomHints, though.
1001 - Removed MINMAXINFO (moved to XplatUIStructs)
1002 - Added SetWindowMinMax stub (on Win32 the only way to set that
1003 information is in response to the WM_GETMINMAXINFO message, which
1004 is handled in Form.cs)
1005 - Added logic to SetVisible to set the proper window state when a
1006 form is made visible (fixes #75720)
1008 2006-01-26 Jackson Harper <jackson@ximian.com>
1010 * Control.cs (BeginInvoke): Automagically handle EventHandlers the
1011 same way we handle them with Invoke.
1013 2006-01-25 Peter Dennis Bartok <pbartok@novell.com>
1016 - Added tracking of window state so CreateParams can return
1017 the appropriate style
1018 - Moved setting of WS_CAPTION style in CreateParams to allow
1019 styles without caption
1020 * DataGridTextBoxColumn.cs: We are now also creating the TextBox
1021 control if the TextBox property is accessed. Fixes #77345
1023 - get_Created: now uses is_disposed and is_created to determine
1024 return value (suggested by Jackson)
1025 - CreateHandle: No longer exits if the handle is being recreated
1026 - RecreateHandle: If the handle is not yet created call the
1027 appropriate method to create either control or handle. If the
1028 control is already created CreateHandle will simply exit instead
1029 of just creating the handle
1030 * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
1031 now SendMessage WM_DESTROY directly to the control when DestroyWindow
1034 - When DestroyWindow is called, instead of waiting for the
1035 DestroyNotification from X11, we directly post it to the WndProc
1036 and immediately dispose the hwnd object.
1037 Same applies to DestroyChildWindows, and this obsoletes the
1038 expose_pending tracking. Contrary to Win32 behaviour we destroy our
1039 child windows before our own, to avoid X11 errors.
1040 - Removed the direct sending of WM_PAINT on UpdateWindow
1042 - Reworked DoEvents and GetMessage to allow access to internal queue
1043 even when trying non-blocking access to the queue. Fixes #77335.
1044 Based on a patch suggestion by Don Edvalson. The new private
1045 GetMessage can now also be used as a backend for a PeekMessage
1047 * XplatUI.cs: Improved debug output for CreateWindow
1049 2006-01-25 Jackson Harper <jackson@ximian.com>
1051 * Help.cs: Allow param to be null. Patch by Don Edvalson.
1053 2006-01-24 Jackson Harper <jackson@ximian.com>
1055 * ComboBox.cs: Clamp the max value set for the vertical scrollbar
1056 when we have a MaxDropItems lower then the selected index.
1058 2006-01-24 Jackson Harper <jackson@ximian.com>
1060 * Control.cs: Don't allow selection of non visible controls, allow
1061 selection of controls without parents.
1063 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
1065 * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
1066 * DataGridDrawingLogic.cs: Add editing row only when is necessary
1068 2006-01-23 Jackson Harper <jackson@ximian.com>
1070 * UpDownBase.cs: Make the textbox handle all the selection and
1071 tabbing. This fixes tabing to updown controls.
1073 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
1075 * TextBoxBase.cs: fixes exception thown the object was null
1077 2006-01-23 Jackson Harper <jackson@ximian.com>
1079 * ButtonBase.cs: Just use the base CreateParams. They set
1080 visibility and enabled correctly.
1083 * MonthCalendar.cs: Lets let the base set as much of the
1084 createparams as possible so we don't have duplicate code all over
1087 2006-01-22 Alexander Olk <alex.olk@googlemail.com>
1089 * ThemeGtk.cs: Added TrackBar and some experimental code to
1090 get double buffering back
1092 2006-01-21 Jordi Mas i Hernandez <jordimash@gmail.com>
1094 * DataGrid.cs: Allows row number set internally higher than the last
1095 when creating a new row. Restores the editing functionality.
1097 2006-01-20 Mike Kestner <mkestner@novell.com>
1099 * MimeIcon.cs: delay Image creation until the icons are accessed
1100 instead of creating 190 scaled images on GnomeHandler startup.
1102 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
1104 * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
1105 first call base before processing the event. Fixes #77279
1107 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
1109 * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
1110 that the stride for the GDI bitmap would match the stride of
1113 2006-01-19 Alexander Olk <alex.olk@googlemail.com>
1115 * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
1117 2006-01-19 Jackson Harper <jackson@ximian.com>
1119 * ComboBox.cs: Hookup the text controls keydown event so we get
1120 those when the text control has the focus.
1122 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
1124 * Label.cs: Now using the base events instead of defining new ones;
1125 this allows us to just call the base properties without having to
1126 duplicate all base property logic
1128 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
1130 * Label.cs: A label by default is not a tabstop (Fixes one of our
1131 failing nunit tests)
1133 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
1135 * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
1136 * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
1138 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
1140 * Cursor.cs: Reimplemented creating cursor bitmaps without using
1141 the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
1144 - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream)
1145 constructor creates images that can't be saved. Part of the fix
1147 - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
1148 - SetWindowState: Switched ShowWindow flags (part of an upcoming
1149 bug fix for handling window state in forms properly)
1151 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
1153 * ThemeGtk.cs: Simplify ScrollBar drawing
1155 2006-01-18 Jackson Harper <jackson@ximian.com>
1157 * Splitter.cs: Set the default dock style for the splitter control
1160 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
1162 * ThemeGtk.cs: Corrected StateType and ShadowType for
1165 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
1167 * Control.cs: Make use of Theme.DoubleBufferingSupported
1169 - Added drawing for flat style buttons
1170 - Added ScrollBar drawing
1172 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
1174 * ThemeClearlooks.cs: Removed some unneeded code.
1175 * ThemeGtk.cs: First part of ThemeGtk enhancements.
1177 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
1179 * LinkLabel.cs: We need to update the hover drawing when
1180 leaving the control as well.
1182 2006-01-18 Jordi Mas i Hernandez <jordimash@gmail.com>
1184 * DataGrid.cs: Clicking on non empty areas in the columns
1185 area was giving an exception
1187 2006-01-17 Jackson Harper <jackson@ximian.com>
1189 * ThemeWin32Classic.cs:
1190 * ListView.cs: Do not draw/clip the headers when the header style
1193 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
1195 * DataGrid.cs: Fixes 77260
1197 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
1199 * DataGrid.cs: Clicking on a column on a empty grid was giving
1202 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
1204 * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
1205 or any keypress will crash the grid.
1207 2006-01-17 Mike Kestner <mkestner@novell.com>
1209 * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
1210 * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for
1211 invisible/previously-visible items.
1214 2006-01-17 Alexander Olk <alex.olk@googlemail.com>
1216 * ThemeClearlooks.cs:
1217 - Added CL_Draw_Button method; now other theme controls that are
1218 not derived from button or do not have a button can draw buttons
1220 - Updated ComboBox drawing
1221 - Beautified RadioButton drawing
1222 - Corrected drawing of bottom and left tabs
1223 - Beautified DateTimePicker and MonthCalendar
1224 - Added CPDrawButton and CPDrawRadioButton
1226 2006-01-16 Jackson Harper <jackson@ximian.com>
1228 * ComboBox.cs: Set the initial value of the scrollbar to the
1229 current index. Reduce the numbers of refreshs and IndexOfs called.
1231 2006-01-14 Alexander Olk <alex.olk@googlemail.com>
1233 * FileDialog.cs: When the file listview is focused hitting the
1234 backspace key moves the fileview to the parent directory
1236 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
1239 - Added RecreateHandle call when changing taskbar visibility to
1240 trigger reparenting in Win32 driver (Fixes #75719)
1241 - If a window has minimize or maximize buttons, it cannot have
1244 - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
1245 the toplevel form with FosterParent (A toolwindow not on the
1246 taskbar) (Fixes #75719)
1247 - Made FosterParent a toolwindow
1249 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
1251 * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
1253 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
1255 * ToolTip.cs: If SetToolTip is called from a control and the mouse
1256 is currently over that control, make sure that tooltip_window.Text
1259 2006-01-13 Mike Kestner <mkestner@novell.com>
1261 * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
1263 2006-01-13 Jackson Harper <jackson@ximian.com>
1265 * TreeView.cs: On MS GetNodeAt never actually factors in the X
1266 value passed. Also redraw the selected node when we recieve
1267 focus, so tabbing between trees works correctly.
1269 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
1271 * MimeIcon.cs: GnomeHandler: older gnome versions don't have
1272 ~/.gconf/%gconf-tree.xml, so use
1273 .gconf/desktop/gnome/interface/%gconf.xml
1275 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
1277 * TextControl.cs: Draw text in gray if control is disabled
1279 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
1281 * TreeView.cs: Draw the focus rectangle outside the highlight, to
1282 make sure it's always visible. Fixes #76680.
1284 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
1286 * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
1288 2006-01-13 Jonathan Chambers <jonathan.chambers@ansys.com>
1290 * PageSetupDialog.cs: Added.
1291 * PrintDialog.cs: Attributes.
1292 * PrintPreviewControl.cs: Updates.
1293 * PrintPreviewDialog.cs: Updates.
1295 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
1297 * Control.cs: Undid my selection check fix, since it's not needed
1299 - Now considering the presence of hscroll/vscroll when sizing
1300 vscroll/hscroll respectively. Fixed bug #77077
1301 - Added Left/Up/Down/Right to IsInputKey list to prevent
1302 ContainerControl from stealing them. This fixes what I broke
1303 with my last checkin.
1305 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
1307 * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
1308 I finally understand how the property can be set without a setter :-)
1310 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
1313 - Switched RunLoop to use static Message.Create to create a
1315 - Added PreProcessMessage call in runloop for keyboard events; this
1316 is part of the fix for #77219, I overlooked this originally in the
1317 MSDN doc for PreProcessMessage
1319 - Removed call to PreProcessMessage from handling of keyboard
1320 messages; it's supposed to be done in the message pump
1321 - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
1322 per MSDN documentation.
1323 - IsInputChar: All chars are input chars by default; removed the
1324 parent calling chain, MS does not document that
1325 - PreProcessMessage: If IsInputChar is true, we want to return false
1326 to allow dispatching of the message
1327 - When selecting the next control, now also check that we're not
1328 selecting ourselves again and therefore return a false positive.
1330 - Tried to match return values for IsInputKey and ProcessDialogKey
1331 to what MS returns; moved processing of our special keys outside
1332 ProcessDialogKey since MS does not seem to return true on those.
1333 - Moved code that previously was in ProcessDialogKey into new private
1334 ProcessKey method, which gets called upon receipt of WM_KEYDOWN
1335 - Reworked handling of WM_CHAR to not have to duplicate code from
1336 Control.cs anymore, instead we simply call down to base.
1338 2006-01-12 Jackson Harper <jackson@ximian.com>
1340 * ComboBox.cs: We always need to refresh the text area when
1341 EndUpdate is called. Fixes the combobox in the file dialog.
1342 * Control.cs: Don't create the creator_thread until the controls
1343 handle is created. Also in InvokeRequired we check if the
1344 creator_thread is null. This gives the effect of InvokeRequired
1345 returning true if the controls handle is not created yet, and
1348 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
1351 - Added StartLoop() driver method. This is used to allow drivers to
1352 prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
1353 loop for a particular thread
1354 - Added EndLoop() driver method. This is called once the message
1355 pump for the thread is shut down
1356 - Added SupportsTransparency method to allow the driver to indicate
1357 opacity support for windows
1359 - Removed TODO attribute, completed AllowTransparency property
1360 - Added documented logic to Opacity
1361 * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
1362 ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
1363 versions of CompatibleTextRendering
1364 * X11Structs.cs: Added opacity atom to our atom enumeration
1365 * Hwnd.cs: Added opacity tracking (we need to track since the opacity
1366 of a form might be set before it's reparented by the WM, and we need
1367 the opacity value without calling up to Form)
1368 * XplatUIDriver.cs: Added StartLoop(), EndLoop() and
1369 SupportsTransparency() driver methods
1370 * Application.cs: Now calling StartLoop and EndLoop driver methods
1372 - Added opacity atom registration
1373 - Added StartLoop()/EndLoop() methods. They're empty right now but
1374 will need to get implemented when we switch to a per-thread queue
1375 - Implemented SupportsTransparency() method
1376 - Implemented SetWindowTransparency() method
1377 - Added support for setting the opacity value when a window is
1378 reparented (since the opacity needs to be set on the WM frame)
1379 * XplatUIOSX.cs, XplatUIWin32.cs:
1380 - Added SupportsTransparency(), StartLoop() and EndLoop() methods
1382 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
1384 * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
1386 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
1388 * FileDialog.cs: Added ToolTip for MWFFileView
1389 * MimeIcon.cs: Rewrote GnomeHandler.
1390 - Get currently used gnome icon theme from
1391 ($HOME)/.gconf/%gconf-tree.xml
1392 - Make use of inherited icon themes
1393 - Support SVG icon themes like Tango via librsvg
1395 2006-01-12 Miguel de Icaza <miguel@novell.com>
1397 Revert's Jackson's revert which broke 2.0 builds. Fix both
1400 * Application.cs: Move the use_compatible_text_rendering outside
1401 the NET_2_0 define. If we ever need to use the
1402 use_compatible_text_rendering on the individual controls they will
1403 access the variable from the common shared code paths.
1405 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
1408 - Added more granular debug options
1409 - Added method to print both window text and id
1410 - Switched debug output to use new Window() debug method
1411 - Added IsEnabled() driver method
1412 - Added EnableWindow() driver method
1414 - Removed end_modal; no longer needed, new loop handles termination
1415 via 'closing' variable
1416 - If form is modal, setting DialogResult will now initiate loop
1417 termination via 'closing' variable
1418 - Added support for is_enabled/WS_DISABLED to CreateParams
1419 - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
1421 - Removed code that's now in RunLoop from ShowDialog()
1422 - Added various documented sanity checks to ShowDialog()
1423 - Added handling of WM_DESTROY message; we set 'closing' on getting
1424 the message to indicate the message pump to terminate
1425 - Added handling of new internal WM_CLOSE_INTERNAL message - it's
1426 send by the Application.ExitThread method. (We send the message
1427 to destroy the window after all other events have been
1428 processed through the queue, instead of destroying the handle
1430 - Moved code from Close() method to WM_CLOSE handler; added logic
1431 to only send close-related events if the form is not displayed
1433 * Splitter.cs (..ctor): Fixed typo in resource name
1435 - DrawBackgroundImage: Explicitly selecting the wrap mode for the
1437 - set_Cursor: Now only setting calling into XplatUI if the handle for
1438 the control is already created; this avoids implict handle creation
1439 or crashes if it's not created
1440 - set_Enabled: Now setting the enabled state via the new driver method
1441 instead of just tracking it
1442 - CreateParams: Added logic to set WS_DISABLED based on enabled state
1443 - CreateControl: Reordered event firing and method calls to more
1444 closely fire events in the order MS does. Now setting the
1445 enabled state in the driver when creating the control.
1446 - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
1448 * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
1449 MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED
1450 * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
1452 - Added tracking of window enabled state (get_Enabled/set_Enabled)
1453 - Added EnabledHwnd property to easily allow a driver to find the
1454 handle of the first enabled window in the parent chain (this is
1455 used by drivers to pass up input events of disabled windows)
1456 * XplatUIDriver.cs: Added IsEnabled() method
1458 - Removed crude and obsolete exiting tracking variable
1459 - Removed internal ModalRun(); replaced by RunLoop()
1460 - Implemented private CloseForms() method to allow closing all
1461 windows owned by a particular (or all) threads
1462 - Exit() now properly closes all windows without forcing the message
1464 - Removed obsolete InternalExit() method
1465 - Changed Run() methods to use new RunLoop() message pump
1466 - Implemented new RunLoop() method for both modal and non-modal forms
1468 - get_CreateParams: Added setting of WS_DISABLED
1469 - Simplified ShowDialog(); now all the work is done in RunLoop(),
1470 invoked via Form.ShowDialog()
1471 * NativeWindow.cs: We don't remove the window from the collection when
1472 the handle is destroyed; there might still be messages for it in the
1473 queue (mainly the resulting WM_DESTROY); instead it will be removed
1474 when Control calls InvalidateHandle in the WM_DESTROY handler
1476 - CreateWindow: Added logic to handle the WS_DISABLED window style
1477 - EnableWindow: Implemented based on Hwnd.Enabled
1478 - GetMessage: Reset PostQuitState so the method can be called again
1479 - Implemented support for disabled windows (passing messages to the
1480 first enabled parent) in handling all input messages
1481 - Added optimizations for handling Expose events
1482 - Implemeted new driver method IsEnabled()
1483 - Now always resetting paint pending tracking vars when we start paint
1484 - Re-implemented UpdateWindow via just sending a WM_PAINT message
1485 * XplatUIOSX.cs: Added IsEnabled method stub
1486 * XplatUIWin32.cs: Implemented new IsEnabled() method
1488 2006-01-11 Jackson Harper <jackson@ximian.com>
1490 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
1491 LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
1493 * ColorDialog.cs: Clear out the old form before adding the new
1496 2006-01-11 Jackson Harper <jackson@ximian.com>
1498 * X11Dnd.cs: Make sure to add all the text formats when adding
1499 strings to the data object.
1500 * TreeNodeCollection.cs: When adding to a sorted tree we need to
1501 do some redrawing too. Also change the UpdateNode to an
1502 UpdateBelow so the newly added node gets painted.
1504 2006-01-11 Miguel de Icaza <miguel@novell.com>
1506 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
1507 LinkLabel.cs, PropertyGrid.cs: Implement the
1508 UseCompatibleTextRendering property for 2.x
1510 * Application.cs (SetCompatibleTextRenderingDefault): Add.
1512 2006-01-11 Jackson Harper <jackson@ximian.com>
1514 * TreeView.cs: Use the property for setting the selected node so
1515 the correct events get raised.
1516 * TreeNode.cs: Update the tree when the fore/back colours of a
1519 2006-01-10 Jackson Harper <jackson@ximian.com>
1521 * TreeView.cs: Allow setting SelectedNode to null.
1523 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1525 * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
1527 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1529 * PrintControllerWithStatusDialog.cs: Update page number in dialog.
1531 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1533 * PrintDialog.cs: Added attributes and set default property values.
1535 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1537 * PrintControllerWithStatusDialog.cs:
1538 Added PrintControllerWithStatusDialog.
1540 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1542 * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
1543 XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
1545 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
1547 * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
1549 2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com>
1551 * ComboBox.cs: Added KeyDown event handler for processing arrow keys
1552 and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
1554 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
1556 * MimeIcon.cs: Added internal class SVGUtil.
1558 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
1560 * FileDialog.cs: Don't crash if there are two files with the
1561 same name but different locations.
1563 2006-01-08 John BouAntoun <jba-mono@optusnet.com.au>
1565 * MonthCalendar.cs: Fixed annoying rendering bug when selecting
1566 dates across multiple month grids. Used to not highlight entire
1567 month, but does now.
1569 2006-01-06 Jackson Harper <jackson@ximian.com>
1571 * MonthCalendar.cs: Removed DoEvents call to prevent a running
1572 message loop. Change timer intervals to numbers that seem more
1575 2006-01-06 John BouAntoun <jba-mono@optusnet.com.au>
1577 * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
1578 object for location info since screen object is now implemented.
1580 2006-01-05 Jackson Harper <jackson@ximian.com>
1582 * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
1583 * AsyncMethodResult.cs: We no longer use a WeakReference for the
1584 AsyncMethodResult, this is because we ALWAYS want the
1585 ManualResetEvent to get set.
1586 * Control.cs: When disposing use an async invoke to call shutdown
1587 code, so that thigns don't block on the finalizer thread. Also
1588 check if we even have a message loop before trying to send
1589 messages, if we don't then don't bother sending messages.
1590 - No more weak references for async methods
1591 * XplatUIDriver.cs: No more weak references for async methods.
1593 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
1595 * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
1596 returns two FontFamily with the same name
1598 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
1600 * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of
1601 drawing disabled text. Instead using the ColorGrayText color
1603 2006-01-04 Jackson Harper <jackson@ximian.com>
1605 * TreeNode.cs: redraw the node when its image index is changed.
1607 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
1609 * RichTextBox.cs: Same fix as last, just for SelectionColor. This
1610 time I checked there are no others like it.
1612 2006-01-04 Jackson Harper <jackson@ximian.com>
1614 * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
1615 this gives the behavoir I was looking for.
1616 * Control.cs: Special case Invoking EventHandlers, this matches MS
1617 and fixes part of bug #76326.
1619 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
1621 * ThemeClearlooks.cs, FileDialog.cs:
1622 - Reflect the latest Theme class changes
1623 - Remove Mono.Unix.Syscall.time in FileDialg and replace it
1626 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
1628 * Theme.cs: Cache UI resource images and resize them if needed
1630 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
1632 * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
1633 is called. This fixes the crash in Nexxia when setting the font
1634 attributes in the chat. [However, RTF needs a look-over to make sure
1635 that all SelectionXXX methods handle the special case that selection
1636 is empty and therefore the change must be applied to all text starting
1637 at the cursor/selection start]
1639 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
1641 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
1642 XplatUIOSX.cs: Added SendMessage and PostMessage methods
1643 * X11Keyboard.cs: Switched to new way of calling PostMessage
1645 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
1647 * Theme.cs: Added theme interface for images to allow the theme to
1648 control what images are used for things like FileDialog, MessageBox
1650 * MessageBox.cs: Now uses the new Theme icon/image interfaces
1652 2006-01-03 Alexander Olk <alex.olk@googlemail.com>
1655 - Removed some dead code
1656 - Opening a recently used file does work now
1657 - Small UI enhancements
1660 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
1662 * FileDialog.cs: Forgot too add __MonoCS__
1664 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
1666 * FileDialog.cs: We are able to read recently used files now let's
1667 go on and write them.
1669 2006-01-01 Alexander Olk <alex.olk@googlemail.com>
1671 * FileDialog.cs: Breathe some life into "last open"/"recently used"
1673 * MimeIcon.cs: Do a check for the top level media type also
1675 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
1677 * ThemeClearlooks.cs:
1678 - Added CPDrawStringDisabled
1679 - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
1680 some chars if the text doesn't fit into text_rect
1681 - DrawListViewItem: If View = View.LargeIcon center the image;
1682 rewrote the drawing of ListViewItem.Text if View =
1685 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
1687 * MimeIcon.cs: Use default KDE icon theme if there is no
1688 "48x48" directory for the current icon theme, fixes #77114
1689 * Mime.cs: Disable not working and actually not used code.
1690 * ThemeWin32Classic.cs:
1691 - Replace "new SolidBrush" in GetControlBackBrush and
1692 GetControlForeBrush with ResPool.GetSolidBrush
1693 - Changed DrawListViewItem from private to protected virtual
1695 - Added form.MaximizeBox = true
1696 - Don't throw an exception if there is a broken symbolic link
1698 2005-12-23 Jackson Harper <jackson@ximian.com>
1700 * TabControl.cs: Give the panels focus, keyboard navigation is
1701 fixed so this works correctly now.
1702 - We need these key events also.
1703 * ToolBar.cs: Remove some of the poor mans double buffering.
1705 2005-12-24 Alexander Olk <alex.olk@googlemail.com>
1707 * ComboBox.cs: The internal TextBox now returns the focus.
1709 2005-12-23 Jackson Harper <jackson@ximian.com>
1711 * ThemeWin32Classic.cs: Draw the text for all tab appearances.
1713 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
1715 * Control.cs: Removed debug code
1716 * XplatUIX11.cs: Changed DestroyChildWindows to also consider
1719 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
1721 * Control.cs: When creating the control, update the Z-order after
1722 all it's children are created, too. (Fixes nexxia not showing
1725 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
1727 * Control.cs: Do not update the anchoring distances if layout is
1728 suspended, instead do it once layout is resumed
1730 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
1733 - After many hours of debugging, for both Jackson and
1734 myself, it turns out that it helps to set the parent of a control
1735 if you want to actually see it onscreen. In the spirit of that
1736 discovery, we're now setting the parent of the control and
1737 it's children when the control's handle is created. This fix
1738 will make Lutz Roeder's Reflector run happily.
1739 - now just creating the handle instead of the whole control when
1740 getting a graphics context for the control.
1742 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
1744 * ScrollableControl.cs: When calculating the canvas, don't consider
1745 the scrollbar widths. Instead, predict if horizontal scrollbar
1746 will affect canvas when deciding on vertical display and vice versa.
1748 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
1750 * RichTextBox.cs: Set default RTF font for documents that don't
1751 have a font table (Fixes #77076)
1753 2005-12-22 Jackson Harper <jackson@ximian.com>
1755 * TextBoxBase.cs: It's difficult to do, but you can have an empty
1756 clipboard. This prevents a NullRef in that case.
1757 * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
1758 clipboard. PRIMARY is for the currently selected text only. (We
1759 should implement PRIMARY at some point.
1761 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
1763 * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
1764 a Unicode function with a structure that was defined in Ansi way.
1767 2005-12-21 Jackson Harper <jackson@ximian.com>
1769 * StatusBar.cs: Statusbar handles its fore/back colours on it's
1770 on. Because thats how it rolls. (and this avoids it using ambient
1772 * ThemeWin32Classic.cs: Use the proper back color for filling.
1773 * Menu.cs: Use the system menu bar color for drawing menu
1774 bars. Using the window back color will bring ambient colours into
1777 2005-12-21 Alexander Olk <alex.olk@googlemail.com>
1779 * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
1780 Bitmaps were created and not disposed.
1782 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
1784 * Control.cs (CreateControl): Don't do anything if the control is
1785 already created, otherwise we'd fire the OnCreated event more than
1788 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
1790 * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
1791 will always match. Instead return -1. Fixes #76464.
1793 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
1795 * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
1796 neither the beginning nor the end of the line (Fixes bug #76479)
1798 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
1801 - ControlNativeWindow.ControlFromHandle(): Now handling situation
1802 where handle is invalid
1803 - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
1804 instead of slower linear search
1805 * NativeWindow.cs: Don't remove the window from the hashtable until
1806 after the driver has destroyed it (since the driver might use
1807 Control.FromHandle to lookup the control object
1808 * Hwnd.cs: Added DestroyPending property to track if a window is
1809 already destroyed as far as the driver is concerned and only hasn't
1810 yet notified the control
1812 - Activate(): Check if the window is still valid before using the
1814 - Implemented DestroyChildWindow() method to mark child windows as
1815 destroyed when a window is destroyed. This prevents situations
1816 where we might call an X method based on queued events for a
1817 window that already has been destroyed but we haven't yet pulled
1818 the destroy method from the queue.
1819 - Added a call to the new DestroyChildWindow() method to the drivers
1820 DestroyWindow code. Also now marking the destroyed window itself
1823 2005-12-20 Jackson Harper <jackson@ximian.com>
1826 * StatusBarPanel.cs: Don't calculate panel sizes on draw
1827 anymore. Just do them when needed, also track the rects of panels
1828 so that we can optimize refreshing more in the future.
1830 2005-12-20 Alexander Olk <alex.olk@googlemail.com>
1832 * ColorDialog.cs: Fixed focus drawing in small color controls
1834 2005-12-19 Jackson Harper <jackson@ximian.com>
1836 * InternalWindowManager.cs:
1837 * MdiWindowManager.cs: Cleanup some coordinate system changes so
1838 moving windows works properly.
1840 2005-12-19 Peter Dennis Bartok <pbartok@novell.com>
1843 - Removed call to InitLayout() from SetBoundsCore(); doc says
1844 it's only called when a control is added to a container
1845 - Split InitLayout logic, moved to separate UpdateDistances() method
1846 since we need to perform those calculations more often than just
1847 when adding the control to a container. (Needed to fix #77022)
1848 - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
1849 - Reduced the OnBindingContextChanged events count, don't send them
1850 unless the control is created, we still aren't totally matching
1851 MS, but I can't quite figure out some of their rules
1853 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
1855 * ThemeClearlooks.cs: Corrected distance between ProgressBar
1858 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
1860 * ThemeClearlooks.cs:
1861 - Updated ProgressBar drawing
1862 - Corrected drawing of ScrollBars and scroll buttons
1863 - Some temporary fixes for minor pixel artefacts
1865 2005-12-18 Peter Dennis Bartok <pbartok@novell.com>
1868 - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
1869 cause events to be sent in the same order as MS does.
1870 - Added ChangeParent() method to trigger various OnXXXChanged events
1871 that need to be fired when a parent changes (This is a reworking
1872 of the patch from r54254, with the X11 errors fixed)
1873 - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
1874 since on MS we get OnLayoutChanged events when calling Clear()
1875 - Changed Enabled property to consider parent state as well, if a
1876 parent is not enabled, the control will not be either
1877 - Changed Parent property to simply call Controls.Add() since that
1878 now does all the work required, this way we avoid code duplication
1879 - Threw in a few OnBindingsContextChanged calls to try and match
1880 when MS sends them. We seem to send a few too many, though.
1881 - Added call to CreateControl when adding the control to a parent.
1882 We were never calling CreateControl. Still needs some work, in
1883 some places we treat HandleCreated and ControlCreated as equal,
1885 - Removed obsolete commented out code from UpdateZOrder()
1887 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
1889 * ThemeClearlooks.cs: Updated TrackBar drawing.
1891 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
1893 * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
1895 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
1897 * FileDialog.cs: Add the Help button and the open readonly
1898 checkbox only if needed
1900 2005-12-16 Jackson Harper <jackson@ximian.com>
1902 * Control.cs: Make sure we have an active menu before trying to
1903 process commands on it. Prevents menu-less forms from crashing
1904 when Alt is pressed.
1905 * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
1907 * RichTextBox.cs: Expand statement to help out gmcs and fix the
1910 2005-12-16 Jackson Harper <jackson@ximian.com>
1912 * InternalWindowManager.cs: Don't translate tool windows screen
1913 coordinates. This fixes windows 'bouncing' around when being moved.
1915 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
1918 - MaxLength now treats 2^31-1 equal to unlimited length (this is
1919 not quite MS compatible, MS uses that number only for single line
1920 and 2^32-1 for multi-line, but I figure it won't hurt keeping
1922 - Now enforcing the MaxLength limit when entering characters
1923 - Added argument to internal Paste() method to track if it's called
1924 from programatically or via keyboard, since keyboard driven pastes
1925 need to enforce max-length
1926 - Added logic to Paste to only paste as many chars as MaxLength
1928 * RichTextBox.cs: Updated to use new obey argument for internal Paste()
1930 - Added Length property to return number of characters in document
1931 - Added private CharCount property which only tracks actual chars
1932 in the document (no linefeeds) and fires event when CharCount
1934 - Added tracking of character count to all methods that alter it
1935 - Added LengthChanged event to allow applications to subscribe
1936 to any changes to the document
1938 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
1941 - Removed local password_char field (moved to TextBoxBase)
1942 - Now setting the document's password var when password is
1945 - Added password_char field (needed here so MultiLine can
1947 - Added logic to MultiLine property setter to set the document's
1948 variable when password display is allowed
1949 - Removed debug code and made some debug code conditional
1951 - Added RecalculatePasswordLine() method to handle special password
1953 - Added PasswordChar property, also added related tracking vars
1954 - Draw() method now uses local text var for grabbing text to draw,
1955 this var is set to line.text unless we're doing password display,
1956 then it is set to the pre-generated all-password-chars line
1957 - Added calling RecalculatePasswordLine() method for password lines
1959 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
1962 - Added Reparented property to allow tracking of Window Manager
1963 reparenting actions (which affect X/Y calculations of toplevel
1965 - Made ToString() print window handles in hex
1967 - AddConfigureNotify(): Now uses reparented state off Hwnd to
1968 determine if X/Y needs offsetting
1969 - AddConfigureNotify(): Fixed offset calculations
1970 - Now adds ReparentNotify messages into the queue
1971 - Now processes ReparentNotify messages and causes a
1972 WM_WINDOWPOSCHANGED message to be sent upstream if a window
1973 is reparented (as most likely it's X/Y coordinates are changed
1976 2005-12-14 Jackson Harper <jackson@ximian.com>
1978 * XplatUIX11.cs: Tool windows still need to respek focus.
1980 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
1982 * Control.cs: Undid 54254 (causing XConfigure errors) so we can
1983 have a working release
1985 2005-12-13 Jackson Harper <jackson@ximian.com>
1987 * Form.cs: Update styles after setting the border style regardless
1988 of whether or not the window is using a window manager.
1990 2005-12-13 Jackson Harper <jackson@ximian.com>
1992 * Form.cs: We now hook into an internal window manager instead of just an
1993 MDI subsystem, this is so we can have properly behaving tool windows.
1994 * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
1995 * InternalWindowManager.cs: New internal class that acts as a
1996 window manager for tool windows and as a base for mdi windows.
1997 * MdiWindowManager.cs: New class that acts as a window manager for
2000 2005-12-12 Jackson Harper <jackson@ximian.com>
2002 * Control.cs: Updates so we match behavoir for for implicit
2003 controls. Fixes explosions in MDI.
2005 2005-12-12 Jackson Harper <jackson@ximian.com>
2007 * Control.cs: Implement Invalidate (Region).
2009 2005-12-12 Peter Dennis Bartok <pbartok@novell.com>
2012 - Changed handling of Controls.Add/Controls.Remove to fire (almost)
2013 the same events as MS does. MS fires events for each property
2014 except, for unknown reasons, Cursor, when the control is reparented.
2015 I can't seem to totally match add/remove since MS also fires some
2016 VisibleChanged events, which makes no sense. Consolidated the
2017 parenting code into a separate method so it can be called from
2018 both Add and Remove. set_Parent no longer needs any special logic
2019 as it calls the parent's add method which implicitly fires
2021 - Removed some obsolete code and debug output
2022 - Enabled state is inherited from parents, if this is enabled
2024 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
2026 * Form.cs: Removed commented out code
2028 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
2031 - Added internal version of Invoke, with additional argument
2032 indicating if we're calling it from a Dispose() handler. That
2033 way we can avoid BeginInvoke throwing an exception if we're
2034 calling for an already destroyed window.
2035 - Added a dispose argument to BeginInvokeInternal, and made the
2036 check if a valid window handle chain exists conditional on
2037 it not being a dispose call
2038 - Removed code in DestroyHandle to destroy our children. Since we
2039 now handle the WM_DESTROY message we will catch all our children
2041 - Now calling OnHandleDestroyed from our new WM_DESTROY handler
2043 - Added a field to track the application context of the form.
2044 - No need to set closing variable as response to WM_CLOSE, instead
2045 we destroy the window. We also call PostQuitMessage if the form
2046 has an application context (which makes it the main app form,
2047 which, when closed terminates the app)
2049 - Dropped Exit() method, it's naming was confusing
2050 - Added PostQuitMessage() which causes GetMessage to return false
2051 once the message queue is empty
2052 * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added
2054 * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
2055 no longer a valid XplatUI method, but left it in since it's used
2056 internally. Added empty PostQuitMessage() method.
2057 * MenuAPI.cs: Replaced call to Exit() with call to
2058 PostQuitMessage, even though this is probably no longer needed.
2059 * Hwnd.cs: Added 'pretty' ToString() to support debugging.
2060 * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
2062 - Replaced call to XplatUI.Exit() with PostQuitMessage()
2063 - Removed old debug code that would call XplatUI for exception
2064 display, enabled standard exception handling (Still not enabled
2065 though, until NativeWindow's ExternalExceptionHandler define
2068 - Added internal method to allow control to update NativeWindow
2069 after a window has been destroyed
2070 - Added handling of already destroyed windows when calling i
2072 - Added removal of handle from list on ReleaseHandle
2074 - Dropped GetMessageResult var and related code
2075 - Added PostQuitState to field to track if PostQuitMessage has been
2077 - Dropped Exit() method
2078 - Added PostQuitMessage() method
2079 - GetMessage now will return false if PostQuitState is set and no
2080 more messages are in the queue.
2081 - Expose handler will no longer generate WM_PAINT messages if we are
2082 in PostQuitState since it's very likely any windows have already
2083 been destroyed, and since Hwnd won't get updated until we have
2084 processed the DestroyNotify we'd be causing X errors.
2086 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
2088 * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
2089 Thanks to Mike for pointing out the err of my ways.
2091 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
2093 * Control.cs(PreProcessMessage): Moved menu handling back, but
2094 after all other key handling, to match MS (who handles Menu in
2096 * Menu.cs (WndProc): Removed my brainfart
2098 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
2100 * Control.cs(PreProcessMessage): Removed special menu handling
2101 * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
2103 2005-12-07 Mike Kestner <mkestner@novell.com>
2105 * Control.cs : special case SYSKEYUP so that we can adjust keynav
2106 state according in tracker.
2107 * Menu.cs : promote tracker field to base class and provide a tracker
2108 lookup capability. Add/Remove shortcuts dynamically if the top menu
2109 has a tracker. Unparent items that are removed from the collection.
2110 * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
2111 * Theme*.cs: add always_show_hotkeys field to support configurability
2112 of mnemonic display. win32 doesn't show mnemonics until Alt is
2115 2005-12-07 Jackson Harper <jackson@ximian.com>
2117 * MdiChildContext.cs: Use Control.ResetCursor.
2118 * Control.cs: ResetCursor needs to set the property so that the
2119 correct XplatUI call gets made.
2121 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
2123 * Control.cs: More fixes to make our key events match MS. We
2124 were not setting the modifier state on KeyData, and we were
2125 not generating any events when Alt was pressed with a key
2126 since handling of WM_SYSxxx was missing for the OnKey methods.
2128 2005-12-07 Jackson Harper <jackson@ximian.com>
2130 * MdiChildContext.cs: reenable the sizing code.
2131 - When the mouse leaves a window reset its cursor.
2133 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
2135 * ThemeClearlooks.cs: Reflect latest Hwnd changes
2137 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
2139 * Hwnd.cs: Now using the theme 3d bordersize to calculate
2140 widths of Fixed3D borders
2142 2005-12-07 Jackson Harper <jackson@ximian.com>
2144 * MdiClient.cs: Fix warnings. Earn Mike's love.
2146 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
2148 * ThemeClearlooks.cs:
2149 - Adjusted mouse over button color
2150 - Added first parts of CheckBox drawing
2151 - Added correct color for selected text background
2152 - Fixed ComboBox drawing
2153 - Added CPDrawBorder3D and CPDrawBorder
2155 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
2157 * XplatUIX11.cs: Added call to XBell for AudibleAlert
2159 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
2161 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
2162 XplatUIOSX.cs: Added AudibleAlert() method to have a means to
2163 alert users via sound. We could add an enum arg with different
2164 types of alerts in the future
2166 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
2168 * Control.cs: Fix behaviour problems pointed out by Mike
2170 2005-12-05 Mike Kestner <mkestner@novell.com>
2172 * StatusBarPanel.cs: add Invalidate method and hook it into all the
2173 prop setters. Calls parent.Refresh for now, but could be maybe be
2174 optimized with an internal method on StatusBar at some point.
2177 2005-12-05 Peter Dennis Bartok <pbartok@novell.com>
2179 * RichTextBox.cs: Implemented get_SelectionColor
2181 2005-12-05 Alexander Olk <alex.olk@googlemail.com>
2183 * ThemeClearlooks.cs:
2185 - Draw black button border only if button is Form.AcceptButton
2186 - Draw correct button color for pressed RadioButton if the mouse
2187 has entered the button
2188 - Updated ProgressBar drawing!
2189 - Updated CPDrawSizeGrip drawing
2190 - Updated StatusBarPanel drawing
2192 2005-12-05 Mike Kestner <mkestner@novell.com>
2194 * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
2195 * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
2197 2005-12-04 Alexander Olk <alex.olk@googlemail.com>
2199 * ThemeClearlooks.cs: Initial check-in, activate with
2200 export MONO_THEME=clearlooks
2201 * ThemeEngine.cs: Added ThemeClearlooks
2203 2005-12-03 Mike Kestner <mkestner@novell.com>
2205 * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
2208 2005-12-02 Jackson Harper <jackson@ximian.com>
2210 * Form.cs: If the child form has no menu the default main menu is
2211 used as the active menu.
2213 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
2215 * ListBox.cs: Check if any items exist before trying to resolve
2216 coordinates into items
2218 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
2220 * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
2221 as the second color for the background hatch
2223 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
2225 * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
2226 * RichTextBox.cs: FormatText position arguments are 1-based, now making
2227 sure that what we pass to FormatText is always 1-based. Fixes #76885
2229 2005-11-29 Miguel de Icaza <miguel@novell.com>
2231 * NumericUpDown.cs (EndInit): When we are done initializing,
2232 reflect any updates on the UI.
2234 2005-12-02 Jackson Harper <jackson@ximian.com>
2236 * ImplicitHScrollBar.cs:
2237 * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
2238 their container controls.
2239 * TreeView.cs: Use the new implicit scrollbars.
2241 2005-12-02 Jackson Harper <jackson@ximian.com>
2243 * TreeView.cs: Make top_node internal so the TreeNodeCollections
2245 * TreeNodeCollection.cs: If we remove the topnode we need to
2246 update topnode to the next node in line.
2247 - When clearing nodes go through the same process as removing
2248 them, so they get depareneted and checked if they are top node.
2250 2005-12-01 Jackson Harper <jackson@ximian.com>
2252 * TreeView.cs: When imagelists are used the image area is
2253 selectable as well as the text.
2254 - If there are no selected nodes select the first one.
2255 * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
2256 so don't do it more then we need to.
2258 2005-12-01 Jackson Harper <jackson@ximian.com>
2260 * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
2261 that arrows can be scaled.
2263 2005-12-01 Jackson Harper <jackson@ximian.com>
2265 * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
2266 fail. Patch by Dieter Bremes
2268 2005-11-30 Jackson Harper <jackson@ximian.com>
2270 * Form.cs: Property is 2.0 only
2271 * PrintDialog.cs: Signature fix.
2273 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
2276 - No longer artificially moves text 2 pixels down (now that we have
2277 borders this is no longer needed)
2278 - Added calcs for left, hanging and right indent
2280 2005-11-23 Mike Kestner <mkestner@novell.com>
2282 * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
2284 2005-11-30 Jackson Harper <jackson@ximian.com>
2286 * MdiChildContext.cs: Set the cloned menus forms, as these don't
2287 get cloned as part of CloneMenu ().
2288 * Menu.cs: Make sure the parent of the items get set correctly
2289 when they are added. And the owners are notified of the changes.
2290 * Form.cs: Create an ActiveMenu property, so that when MDI is used
2291 we can change the menu being displayed/handled by the form without
2292 changing the menu assosciated with the form.
2293 - Don't let Mdi children draw/handle menus.
2295 2005-11-30 Jackson Harper <jackson@ximian.com>
2297 * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
2298 a MenuChanged event. Just to make the API a little more
2301 * MenuItem.cs: Use the new OnMenuChanged
2302 * MdiChildContext.cs: Handle menu merging.
2303 * Form.cs: Implement MergedMenu.
2305 2005-11-30 Jackson Harper <jackson@ximian.com>
2307 * Menu.cs: We were misusing Add. Add goes behind the specified
2308 index according to the docs, and does not replace the specified
2309 index. So I added an Insert method.
2311 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
2313 * TextBoxBase.cs: Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
2314 Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
2316 * RichTextBox.cs: Added calls to base for DnD events
2318 2005-11-28 Peter Dennis Bartok <pbartok@novell.com>
2321 - Fixed drag-selection related crash; style fixes
2322 - Implemented undo class
2323 o Implemented method to capture document state for specified
2324 range in document tree
2325 o Implemented method to restore captured document state
2326 o Implemented cursor tracking
2327 o Implemented basic undo stack
2328 - Added undo cursor tracking to methods altering cursor location
2329 - Added undo tracking to selection deletion (still missing
2330 other text-altering hookups)
2332 - Added SelectionLength property
2333 - Implemented CanPaste()
2334 - Implemented Paste()
2335 - Added missing protected methods
2336 - Fixed RTF->Document conversion; now uses font index 0 and color
2337 index 0 as the default font for the parsed text
2338 - Fixed RTF<->Document font size translation
2339 - Fixed RTF generation, now properly handles cross-tag boundaries
2340 for single line selection
2341 - No longer always appends blank line to generated RTF
2343 - Added missing attributes
2344 - Hooked up undo-related methods
2346 - Implemented Copy()
2347 - Implemented Paste()
2349 - Fixed caret mis-behaviour on backspace across line-boundaries
2351 2005-11-29 Jackson Harper <jackson@ximian.com>
2353 * MdiClient.cs: Add a method for activating mdi children. Very
2354 basic right now. I imagine someday it might need more girth.
2355 * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
2356 children windows names are added to the menu item.
2357 * ThemeWin32Classic.cs: Draw the arrow if the item is an
2358 mdilist. This happens regardless of whether or not there are any
2359 mdi windows to see in the list, and according to my tests happens
2360 before the items are even added. Also happens if there isn't even
2361 an mdi client to get windows from.
2363 2005-11-29 Alexander Olk <alex.olk@googlemail.com>
2365 * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
2366 * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
2368 2005-11-29 Jordi Mas i Hernandez <jordimash@gmail.com>
2370 * DataGridTableStyle.cs:
2371 - Create always the styles for the missing columns even if they are
2372 provided by the user (not default table style)
2375 - Fixes SetDataBinding (always re-attach source)
2376 - Fixes SetNewDataSource (only clear styles if they are not for
2378 - Expands OnTableStylesCollectionChanged to handle style refresh
2381 2005-11-29 Jackson Harper <jackson@ximian.com>
2383 * FileDialog.cs: Implement missing bits, remove some dead
2385 * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
2386 creation of the panel so that the options set on the dialog are
2387 seen when the panel is created.
2388 * TreeView.cs: raise a click when items are clicked.
2390 2005-11-29 Jackson Harper <jackson@ximian.com>
2392 * MdiClient.cs: Pass some signature methods through to base.
2394 2005-11-28 Jackson Harper <jackson@ximian.com>
2396 * ListView.cs: Raise the click event when items are clicked.
2398 2005-11-28 Jackson Harper <jackson@ximian.com>
2400 * MdiClient.cs: Make this algorithm even more beautiful. And fix
2403 2005-11-27 Alexander Olk <alex.olk@googlemail.com>
2405 * ThemeNice.cs: - Removed 1 pixel bitmaps
2406 - Use SmoothingMode.AntiAlias where it makes sense
2407 (ScrollButton arrow for example)
2408 - Enhanced Button focus drawing
2409 - Fixed ComboBox drawing (no artefacts anymore, focus
2410 rectangle is back again, reduced size of ComboButton, etc.)
2411 - Fixed RadioButton focus drawing for Appearence.Button
2412 - Slight ScrollButton redesign
2413 - Some LinearGradientBrush size fixes
2414 - GroupBoxes have now rounded edges
2415 - Fixed StatusBar drawing
2417 2005-11-25 Alexander Olk <alex.olk@googlemail.com>
2419 * ThemeNice.cs: - Remove dead code
2420 - use correct background colors for menus, etc.
2421 - Fake pixel drawing with 1 pixel bitmaps
2423 2005-11-24 Jackson Harper <jackson@ximian.com>
2425 * MdiClient.cs: Size the scrollbars when resizing the window.
2426 - Resize the maximized windows when the client is resized
2427 * Form.cs: Make the child context available
2429 2005-11-23 Jackson Harper <jackson@ximian.com>
2431 * MdiChildContext.cs: Don't size windows if they are maximized.
2433 2005-11-23 Mike Kestner <mkestner@novell.com>
2435 * ContextMenu.cs: use MenuTracker.
2436 * Control.cs: remove menu handle usage.
2437 * Form.cs: remove menu handle usage.
2438 * Hwnd.cs: remove menu handle usage.
2439 * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
2440 motion and clicks to the new Tracker handlers.
2441 * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
2443 * MenuAPI.cs: refactored to combine popup and menubar event handling.
2444 Killed the MENU and MENUITEM data types and associated collections
2445 since we now keep the info on Menu and MenuItem. Expanded TRACKER into
2446 MenuTracker class that exposes the leftovers from the old MenuAPI
2447 static methods. Restructured Capture handling so that only one grab is
2448 done for the entire menu hierarchy instead of handing off grabs to
2449 submenus. Tracker now has an invisible control to Capture when active.
2450 * MenuItem.cs: add sizing accessors, kill Create
2452 * Theme.cs: remove menu handle and MENU(ITEM) usage.
2453 * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
2454 MENU(ITEM). remove menu handle usage, use Menu directly.
2455 * XplatUIDriver.cs: remove menu handle usage.
2456 * XplatUIOSX.cs: remove menu handle usage.
2457 * XplatUIWin32.cs: remove menu handle usage.
2458 * XplatUIX11.cs: remove menu handle usage.
2460 2005-11-22 Jackson Harper <jackson@ximian.com>
2462 * Hwnd.cs: Don't compute the menu size for
2463 DefaultClientRectangle.
2464 - Reenable menu sizes being computed for GetClienRectangle.
2465 * Form.cs: Remove comment of trechery
2467 2005-11-22 Jackson Harper <jackson@ximian.com>
2469 * Hwnd.cs: The adjustments for the menu bar are made when it is
2470 attached to the form.
2472 2005-11-19 Jackson Harper <jackson@ximian.com>
2474 * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
2475 (just like on windows).
2477 2005-11-19 Jackson Harper <jackson@ximian.com>
2479 * MdiChildContext.cs: Handle all the buttons ourselves. We can't
2480 use real buttons anymore because they are in non client area. The
2481 one TODO here is that I need to somehow invalidate a section of
2482 the non client area.
2484 2005-11-18 Jackson Harper <jackson@ximian.com>
2486 * Control.cs: Put the enum check back in now that MDI doesnt have
2487 to use this to set border styles.
2488 * Form.cs: Only set mdi child windows borders if the handle has
2490 * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
2491 this directly on to the driver.
2492 - Get the move start position before adjusting for the titlebar
2493 height, this fixes the windows "skipping" when they are first
2496 2005-11-18 Jackson Harper <jackson@ximian.com>
2498 * XplatUIX11.cs: Just compute the mdi borders separately as they
2499 don't totally match up with normal form borders.
2501 2005-11-18 Jackson Harper <jackson@ximian.com>
2503 * Control.cs: Set WS_ styles for borders, so that the driver does
2504 not have to retrieve the control instance to figure out what kind
2505 of borders it should have.
2506 * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
2507 driver can know its an mdi child easily.
2508 * XplatUIX11.cs: Get the border styles and whether the window is
2509 MDI from the Styles and ExStyles params instead of having to get a
2510 control. This prevents a chicken and egg problem.
2512 2005-11-18 Jackson Harper <jackson@ximian.com>
2514 * MdiClient.cs: Fix typo so scrollbars show up correctly.
2516 2005-11-18 Jackson Harper <jackson@ximian.com>
2518 * MdiClient.cs: Calculate when to add and remove scrollbars
2520 * MdiChildContext.cs: Adjust the y position to take the titlebar
2522 - No height for FormBorderStyle.None
2524 2005-11-18 Jackson Harper <jackson@ximian.com>
2526 * Control.cs: Allow non enum values to be used for
2527 InternalBorderStyle. MDI does this to set a special border style.
2528 - New utility methods for converting points to/from client coords
2529 - Add the newly created control to the Controls collection before
2530 updating its style. This way UpdateStyle can walk the control
2531 heirarchy to find the control if needed.
2532 so I don't need to create a new Point object all the time.
2533 * Form.cs: Let MDI windows handle their border styles.
2534 - Set styles on MDI windows so the correct title style is derived.
2535 * MdiChildContext.cs: Move all the painting and window handling
2536 into the non client area.
2537 - Use correct sizing and put correct buttons on frames based on
2538 the FormBorderStyle.
2539 - Notify the mdi client about scrolling
2540 - Need to handle the buttons ourselves now, because they are all
2541 in non client areas and we can't add controls there.
2542 * MdiClient.cs: Halfway to scrolling, this implementation is
2543 somewhat broken though, we need to check to make sure other
2544 windows aren't causing scrolling before removing the bars. Also
2545 the bars need to be drawn on top, maybe I can switch implicit
2546 controls to be on top.
2547 * Hwnd.cs: caption_height and tool_caption_height are now
2548 properties of an hwnd, this way they can be set by the driver
2549 based on the type of window they are. In X11 the window manager
2550 handles the decorations so caption_height is zero unless its an
2552 - Add 3 pixel borders for MDI windows (0xFFFF).
2553 - Get rid of some code duplication, have DefaultClientRectanle
2554 just call GetClientRectangle.
2555 * XplatUIX11.cs: Pass caption_height and tool_caption_height to
2557 - Set border styles differently for mdi windows.
2558 * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
2561 2005-11-15 Mike Kestner <mkestner@novell.com>
2563 * Menu.cs: when adding an item to the collection, if item is already
2564 parented, remove it from the parent.
2566 2005-11-13 Alexander Olk <alex.olk@googlemail.com>
2568 * X11DesktopColors.cs: Added KDE support
2570 2005-11-11 Peter Dennis Bartok <pbartok@novell.com>
2573 - Clipboard methods now can translate Rtf format
2574 - No longer removes clipboard contents whenever a new format is added
2575 to allow placing multiple formats on the clipboard
2576 * Clipboard.cs: Clipboard now supports getting a IDataObject and
2577 will place all formats contained in it onto the clipboard. Also
2578 now cleans the clipboard before placing a new object onto it
2580 - Implemented set_Rtf
2581 - Implemented set_SelectedRtf
2582 - Created InsertRTFFromStream() method to allow single code base
2583 for all properties and methods that insert RTF into document
2584 - Removed debug output
2586 - Fixed Delete(int) to fix up line numbers
2587 - Fixed ReplaceSelection to combine start and end line
2588 - Fixed serious DeleteChars bug that would leave the document tree
2590 - Improved DumpTree with several logic checks to detect broken
2592 - Removed debug lines
2593 - Fixed Caret.WordForward/WordBack moving code, now always also
2594 updates caret.tag (fixes crash when word-selecting across tag
2595 boundaries via keyboard)
2596 - Added Insert() method for inserting multiline text into documents
2597 - Fixed DeleteChars() calculation errors that would cause a broken
2598 tag chain with multiple tag lines
2599 - DeleteChars() no longer crashes on multi-tag lines if not all tags
2600 - Split() no longer moves caret if split is at caret location
2601 - ReplaceSelection() now updates the cursor and re-displays it
2602 - ReplaceSelection() now uses new Insert() method to avoid code
2604 - FormatText() can now handle formatting partial lines
2606 - Append now uses new TextControl.Insert() method (this avoids
2608 - Implemented Ctrl-X (Cut) (
2609 - Implemented Ctrl-C (Copy)
2610 - Implemented Ctrl-V (Paste) (Still some bugs related to screen
2611 regeneration when pasting text; roundtripping Copy&Paste within
2612 edit control still fails due to some calculation bugs in GenerateRTF)
2613 - The Delete key will now remove the current selection if it is visible
2614 * TextBox.cs: Removed debug lines
2615 * XplatUI.cs: Trigger initialization of DataFormats (which requires the
2616 driver to be initialized and can't therefore be done via a static ctor)
2618 2005-11-10 Peter Dennis Bartok <pbartok@novell.com>
2620 * TextControl.cs: Added backend code for finding char arrays and strings
2622 - Added mouse wheel scroll support
2623 - Added support for VScroll and HScroll events
2625 - Implemented all seven Find() variants
2626 - Implemented GetCharFromPosition()
2627 - Implemented GetCharIndexFromPosition()
2628 - Implemented GetLineFromIndex()
2629 - Implemented GetPositionFromCharIndex();
2630 - Implemented SaveFile for PlainText and UnicodeText
2631 - Fixed set_Font, now setting a new font applies that font to
2633 - Implemented generic Document to RTF converter
2634 - Implemented SaveFile for RichText format (still missing unicode
2635 conversion for non-ansi chars)
2636 - Implemented get_Rtf
2637 - Implemented get_SelectedRtf
2639 2005-11-09 Peter Dennis Bartok <pbartok@novell.com>
2641 * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
2642 to allow any captures to be released before triggering OnClick. This
2643 way a click handler may capture the mouse without interference.
2644 * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
2645 This way we send them even though X may not allow a grab (if the window
2646 isn't visible, for example)
2648 2005-11-08 Pedro Martinez Julia <pedromj@gmail.com>
2650 * DataGridViewRowEventArgs.cs: DataGridView implementation
2651 * DataGridViewElement.cs: DataGridView implementation
2652 * DataGridViewComboBoxCell.cs: DataGridView implementation
2653 * DataGridViewDataErrorContexts.cs: DataGridView implementation
2654 * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
2655 * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
2656 * ImageLayout.cs: DataGridView implementation
2657 * DataGridViewComboBoxColumn.cs: DataGridView implementation
2658 * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
2659 * DataGridViewSelectionMode.cs: DataGridView implementation
2660 * IDataGridViewEditingControl.cs: DataGridView implementation
2661 * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
2662 * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
2663 * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
2664 * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
2665 * DataGridViewColumnSortMode.cs: DataGridView implementation
2666 * DataGridView.cs: DataGridView implementation
2667 * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
2668 * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
2669 * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
2670 * Padding.cs: DataGridView implementation
2671 * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
2672 * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
2673 * DataGridViewRowEventHandler.cs: DataGridView implementation
2674 * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
2675 * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
2676 * DataGridViewButtonCell.cs: DataGridView implementation
2677 * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
2678 * DataGridViewEditMode.cs: DataGridView implementation
2679 * DataGridViewCellValueEventArgs.cs: DataGridView implementation
2680 * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
2681 * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
2682 * DataGridViewCheckBoxColumn.cs: DataGridView implementation
2683 * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
2684 * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
2685 * DataGridViewCellEventHandler.cs: DataGridView implementation
2686 * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
2687 * DataGridViewCellStyleConverter.cs: DataGridView implementation
2688 * DataGridViewSelectedRowCollection.cs: DataGridView implementation
2689 * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
2690 * DataGridViewColumnEventArgs.cs: DataGridView implementation
2691 * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
2692 * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
2693 * QuestionEventArgs.cs: DataGridView implementation
2694 * IDataGridViewEditingCell.cs: DataGridView implementation
2695 * DataGridViewTriState.cs: DataGridView implementation
2696 * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
2697 * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
2698 * DataGridViewColumnCollection.cs: DataGridView implementation
2699 * DataGridViewCellValueEventHandler.cs: DataGridView implementation
2700 * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
2701 * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
2702 * DataGridViewColumn.cs: DataGridView implementation
2703 * DataGridViewCellBorderStyle.cs: DataGridView implementation
2704 * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
2705 * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
2706 * DataGridViewRow.cs: DataGridView implementation
2707 * DataGridViewImageCellLayout.cs: DataGridView implementation
2708 * DataGridViewImageCell.cs: DataGridView implementation
2709 * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
2710 * DataGridViewCheckBoxCell.cs: DataGridView implementation
2711 * DataGridViewHeaderCell.cs: DataGridView implementation
2712 * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
2713 * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
2714 * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
2715 * DataGridViewTextBoxColumn.cs: DataGridView implementation
2716 * QuestionEventHandler.cs: DataGridView implementation
2717 * DataGridViewCellStyleScopes.cs: DataGridView implementation
2718 * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
2719 * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
2720 * DataGridViewCell.cs: DataGridView implementation
2721 * DataGridViewCellEventArgs.cs: DataGridView implementation
2722 * DataGridViewClipboardCopyMode.cs: DataGridView implementation
2723 * DataGridViewCellStyle.cs: DataGridView implementation
2724 * DataGridViewColumnHeaderCell.cs: DataGridView implementation
2725 * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
2726 * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
2727 * TextFormatFlags.cs: DataGridView implementation
2728 * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
2729 * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
2730 * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
2731 * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
2732 * DataGridViewButtonColumn.cs: DataGridView implementation
2733 * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
2734 * HandledMouseEventArgs.cs: DataGridView implementation
2735 * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
2736 * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
2737 * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
2738 * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
2739 * DataGridViewRowCollection.cs: DataGridView implementation
2740 * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
2741 * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
2742 * DataGridViewHitTestType.cs: DataGridView implementation
2743 * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
2744 * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
2745 * DataGridViewColumnEventHandler.cs: DataGridView implementation
2746 * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
2747 * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
2748 * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
2749 * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
2750 * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
2751 * DataGridViewContentAlignment.cs: DataGridView implementation
2752 * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
2753 * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
2754 * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
2755 * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
2756 * DataGridViewPaintParts.cs: DataGridView implementation
2757 * DataGridViewCellCollection.cs: DataGridView implementation
2758 * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
2759 * DataGridViewImageColumn.cs: DataGridView implementation
2760 * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
2761 * DataGridViewElementStates.cs: DataGridView implementation
2762 * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
2763 * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
2764 * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
2765 * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
2766 * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
2767 * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
2768 * DataGridViewRowHeaderCell.cs: DataGridView implementation
2769 * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
2770 * DataGridViewTextBoxCell.cs: DataGridView implementation
2771 * DataGridViewBand.cs: DataGridView implementation
2772 * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
2773 * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
2774 * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
2775 * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
2776 * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
2777 * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
2778 * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
2779 * DataGridViewSelectedCellCollection.cs: DataGridView implementation
2780 * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
2781 * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
2782 * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
2784 2005-11-08 Peter Dennis Bartok <pbartok@novell.com>
2786 * ThemeWin32Classic.cs:
2787 - Draw the outside focus rectangle around buttons
2788 - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
2789 doesn't use end caps for every dash of a line anymore. This
2790 workaround ignores the forecolor.
2792 2005-11-08 Kornél Pál <kornelpal@hotmail.com>
2794 * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
2797 2005-11-07 Jackson Harper <jackson@ximian.com>
2799 * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
2801 2005-11-07 Jackson Harper <jackson@ximian.com>
2803 * ScrollableControl.cs: Calculate the maximum and change vars
2804 (more) correctly so that scrollbars appear as a sensible size.
2806 2005-11-04 Jackson Harper <jackson@ximian.com>
2808 * TreeNodeCollection.cs: Refresh when nodes are cleared from the
2810 * TreeView.cs: When the tree is sorted null out the top_node so
2811 that it is recalculated.
2812 - Use dotted lines instead of dashed lines to match MS better.
2814 2005-11-04 Jordi Mas i Hernandez <jordimash@gmail.com>
2817 - Implements key search for items. Useful when browsing files with FileDialog
2818 - When changing view mode or when clear the items reset scrollbar positions
2820 2005-11-04 Jackson Harper <jackson@ximian.com>
2822 * CurrencyManager.cs: Implement the MetaDataChanged event, the
2823 Reset method, and the CheckEmpty. CheckEmpty is just a total guess
2824 as to what the method may do as there is no real way of creating a
2825 derived CurrencyManager and calling the method.
2827 2005-11-03 Jackson Harper <jackson@ximian.com>
2829 * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
2830 * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
2831 method which seems to just be used internally to refresh the tabs.
2833 2005-11-03 Jackson Harper <jackson@ximian.com>
2835 * TabControl.cs: Implement the remove method. Fix some broken
2838 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
2840 * DateTimePicker.cs:
2841 - Added missing DateTimePickerAccessibleObject class
2842 - Added missing events
2843 - Added OnFontChanged method
2844 * Form.cs: Added missing attributes
2845 * TreeView.cs: Added missing attributes
2847 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
2849 * GridItemCollection.cs: Fix signatures
2851 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
2853 * XplatUI.cs: Updated build rev/date
2854 * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs,
2855 DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
2856 * Application.cs: Trigger context-specific ExitThread events
2858 2005-11-03 Jackson Harper <jackson@ximian.com>
2862 * GridTableStylesCollection.cs:
2867 * MonthCalendar.cs: Signature fixes
2869 2005-11-03 Jackson Harper <jackson@ximian.com>
2871 * TreeNodeCollection.cs: Remove should not be virtual.
2872 * TreeView.cs: Implement the last of the missing methods.
2874 2005-11-03 Jackson Harper <jackson@ximian.com>
2876 * TreeNodeConverter.cs: Implement to get off my class-status back.
2878 2005-11-03 Jackson Harper <jackson@ximian.com>
2880 * TreeView.cs: Hookup the bits for drag and drop.
2881 * TreeNode.cs: Don't cache the tree_view or index anymore, now
2882 that nodes can be moved from tree to tree easily this just causes
2883 all sorts of problems.
2884 * TreeNodeCollection: Don't need to give treenodes an index and
2885 treeview anymore when they are added, these are computed on the
2886 fly. Also make sure to remove a node before its added.
2888 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
2891 - Added CaretSelection enum
2892 - Added comparison methods to Marker struct, makes selection code
2894 - Added SelectionStart and SelectionEnd as 'moveable' location for
2895 the CaretDirection enum and handler
2896 - Added selection_prev variable to track optimized invalidation for
2897 word and line selection
2898 - Added SelectionVisible property (returns true if there is a valid
2900 - Switched CaretHasFocus to only display the caret if there is no
2902 - Avoiding StringBuilder.ToString to retrieve a single char, instead
2903 using the direct character index; should be much faster
2904 - Added various conditional debug statements
2905 - Fixed invalidation calculation for selection ranges
2906 - Added ExpandSelection() method to support word and line selection
2907 - Switched SetSelectionToCaret to use new Marker compare overloads
2908 - Added central IsWordSeparator() method to determine word
2909 separators/whitespace and FindWordSeparator() to streamline common
2910 usage of IsWordSeparator()
2912 - Removed unneeded grabbed variable, it was just mirroring
2914 - No longer firing OnTextChanged event when Text setter is called,
2915 since the base will fire the event for us
2916 - Added handling of Ctrl-Up/Down selection
2917 - Added handling of Shift-Cursorkey selection
2918 - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
2920 - Added handling of Shift and Ctrl-Shift-Home/End selection
2921 - Removed some debug output
2922 - Added handling for single/double/tripple-click to place caret/
2923 select word/select line respectively (Fixes bug #76031)
2924 - Added support for drag expansion of word/line selection
2925 * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
2928 2005-11-02 Jackson Harper <jackson@ximian.com>
2930 * X11Dnd.cs: If the drag is going to and from a MWF window just
2931 copy the data instead of sending it out through the X Selection
2934 2005-11-02 Jackson Harper <jackson@ximian.com>
2937 * XplatUIX11.cs: When in a drag we don't want motion notify
2938 messages to get passed on to the other controls. This prevents
2939 mouse move messages from showing up in the drag source.
2941 2005-11-02 Jackson Harper <jackson@ximian.com>
2943 * X11Dnd.cs: Remove unneeded call to XAllowEvents. Make sure that
2944 the correct button is release to end a drag.
2945 * XplatUIX11.cs: Make the button state internal so the drag system
2946 can access it. Dragging needs to know about all button releases,
2947 not just left button.
2949 2005-11-02 Miguel de Icaza <miguel@novell.com>
2951 * Form.cs (Icon): If the icon is null, reset the icon to the
2954 * Cursor.cs: When writing the AND-mask bitmap do not include the
2955 number of colors, but hardcode those to two (black and white),
2956 fixes the loading of color cursors (Paint Dot Net).
2958 * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
2959 turn off autoscaling.
2961 * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
2963 2005-11-02 Jackson Harper <jackson@ximian.com>
2965 * X11Dnd.cs: Make sure to send a status message if the pointer
2966 enters a control that can not accept a drop, otherwise the cursor
2967 isn't updated correctly. Also tried to compress the lines of code
2970 2005-11-02 Jackson Harper <jackson@ximian.com>
2972 * X11Dnd.cs: Change cursors based on drag action. Also attempt to
2973 set actions correctly. This isn't perfect as XDND and win32 have
2974 some differences on how you allow actions. I'll clear this up by
2975 adding a path for drag from MWF to MWF windows.
2976 * XplatUIX11.cs: Hook into the dnd system.
2978 2005-11-02 Jordi Mas i Hernandez <jmas@softcatala.org>
2980 * ListView.cs: Fixes scroll bar visibility. Hide them if they were
2981 previously shown but they are no longer need it. Very obvious when
2982 browsing files with FileDialog.
2984 2005-11-01 Peter Dennis Bartok <pbartok@novell.com>
2986 * Control.cs: We always need to call OnPaintBackground. We pretty much
2987 ignore AllPaintingInWmPaint and always do the painting there, whether
2988 it's set or not, since we always ignore the WM_ERASEBKGND message
2989 (which we don't generate on X11). This fixes #76616.
2990 * Panel.cs: Removed unneeded background painting. This happens properly
2991 in Control.cs already
2993 2005-10-31 Mike Kestner <mkestner@novell.com>
2995 * Menu.cs: Add items to collection before setting their index.
2996 * MenuItem.cs : add range checking with ArgumentException like MS.
2999 2005-10-31 Jackson Harper <jackson@ximian.com>
3001 * ListBox.cs: Invalidate if the area is visible at all not just
3002 contained in the visible rect. Fixes unselection of semi visible
3005 2005-10-31 Jackson Harper <jackson@ximian.com>
3007 * Control.cs: Consistently name the dnd methods. Make them
3008 internal so we can override them to match some MS behavoir
3010 * Win32DnD.cs: Use the new consistent names.
3012 2005-10-31 Jackson Harper <jackson@ximian.com>
3014 * TreeView.cs: Don't draw the selected node when we lose focus.
3016 2005-10-31 Jackson Harper <jackson@ximian.com>
3018 * X11Dnd.cs: We still need to reset the state even though a full
3019 reset isn't being done, otherwise status's still get sent all over
3022 2005-10-31 Jackson Harper <jackson@ximian.com>
3024 * Control.cs: Make the dnd_aware flag internal so the dnd
3025 subsystem can check it. Catch exceptions thrown in dnd handlers to
3027 * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
3028 * X11Dnd.cs: Handle null data in the converters. Set the XDND
3029 version when sending a XdndEnter. Use the control/hwnd dnd_aware
3030 flags to reduce the number of dnd enters/status's sent.
3032 2005-10-31 Jackson Harper <jackson@ximian.com>
3034 * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
3036 2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com>
3038 * PictureBox.cs: Fixes 76512
3040 2005-10-28 Jackson Harper <jackson@ximian.com>
3042 * X11Dnd.cs: Early implementation to support winforms being a drag
3043 source for data on X11. Also restructured the converters so they
3044 can go both ways now.
3045 * XplatUIX11.cs: Tie ins to the the Dnd stuff.
3047 2005-10-27 Peter Dennis Bartok <pbartok@novell.com>
3049 * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
3052 2005-10-27 Jackson Harper <jackson@ximian.com>
3054 * TreeNode.cs: Implement serialization so my DnD examples will work.
3056 2005-10-24 Kornél Pál <kornelpal@hotmail.com>
3058 * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
3059 TreeView.cs: Don't dispose objects that are not owned.
3061 2005-10-24 Peter Dennis Bartok <pbartok@novell.com>
3063 * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
3064 should retrieve the current cursor and report that, but XplatUI
3065 doesn't (yet) have an interface for that (and I'm not sure I even
3067 * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
3068 until any message loop processing is done (and the WM_SETCURSOR
3069 replaces the cursor to the proper one)
3071 - Fixed override behaviour, we can't set the cursor globally on X11,
3072 just for our windows.
3073 - Invalidating the System.Drawing X11 display handle when we are
3075 * Control.cs: Fix to make csc happy
3077 2005-10-23 Peter Dennis Bartok <pbartok@novell.com>
3080 - get_Text: Add last line (without trailing newline) to returned
3082 - get_TextLength: Count last line in returned length
3083 - ToString: Call Text property instead of duplicating code
3085 2005-10-23 Kornél Pál <kornelpal@hotmail.com>
3087 * ImageList.cs: Dispose ImageAttributes objects.
3089 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
3091 * ImageList.cs: Use attribute constructors with less arguments where
3094 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
3096 * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
3097 Use typeof instead of strings when assembly is referenced. Added
3100 2005-10-21 Jackson Harper <jackson@ximian.com>
3102 * ListView.cs: Raise a double click event. Also tried to somewhat
3103 fix when the selectedindexchanged event is raised. Its still
3106 2005-10-21 Jackson Harper <jackson@ximian.com>
3108 * TreeView.cs: New method to invalidate the plus minus area of a
3109 node without invalidating the whole node (maybe this can be used
3110 in some more places).
3111 * TreeNodeCollection.cs: When adding to an empty node we need to
3112 invalidate its plus minus area so the little block shows up.
3114 2005-10-21 Jackson Harper <jackson@ximian.com>
3116 * TreeView.cs: Make sure that when we invalidate a node the bounds
3117 are big enough to cover the selected box and the focus
3118 rectangle. Use a different colour for the lines connecting nodes
3119 so they show up with all themes.
3121 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
3123 * NativeWindow.cs: Don't call anything that could call into the driver,
3124 we might be on a different thread.
3126 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
3128 * Control.cs(Dispose): Since Dispose might run on a different thread,
3129 make sure that we call methods that could call into the driver via
3130 invoke, to avoid thread issues
3132 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
3134 * XplatUI.cs: Removed finalizer
3135 * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
3136 not allowing to be called on the finalizer thread.
3138 2005-10-21 Kornél Pál <kornelpal@hotmail.com>
3141 - Reverted r51889 and r51891.
3142 - Added ImageListItem class that stores unmodified image items and image
3143 properties required to create list images until handle is created.
3144 - Added AddItem and moved image creation logic to AddItemInternal.
3145 - Added CreateHandle method that creates images based on unmodified items.
3146 - Added DestroyHandle that changes state to store unmodified items.
3147 - Add and AddStrip methods no more create handle.
3148 - ReduceColorDepth has no return value.
3149 - Dispose destroys handle.
3150 - Modified other methods to reflect the above changes.
3151 - Implemented key support.
3152 - Added profile 2.0 members and attributes.
3153 - Added private Reset and ShouldSerialize methods that provide the same
3154 behavior as MS.NET but the Visual Studio .NET designer seems to ignore
3155 them as they are private.
3156 - Added some more comments about implementation details.
3158 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
3160 * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
3162 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
3164 * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
3166 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
3168 * DataGridDrawingLogic.cs: Fixes column hit calcultation
3169 * DataGridColumnStyle.cs: Remove debug message
3171 2005-10-20 Jackson Harper <jackson@ximian.com>
3173 * TreeView.cs: We can always get input keys regardless of whether
3174 or not editing is enabled. They are used for navigation.
3176 2005-10-20 Jackson Harper <jackson@ximian.com>
3178 * TreeNode.cs: Use the viewport rect for determining if a node
3179 needs to be moved for visibility. Don't use Begin/End edit. This
3180 calls a full refresh when its done.
3181 * TreeView.cs: New SetBottom works correctly. Make the viewport
3182 rect property internal so the treenodes can see it. When clicking
3183 on a node we need to ensure that its visible because it might just
3184 be partly visible when clicked.
3186 2005-10-20 Jackson Harper <jackson@ximian.com>
3188 * TreeNodeCollection.cs: Remove debug code.
3190 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
3192 * Datagrid.cs: Implements column sorting in Datagrid
3193 * DataGridColumnStyle.cs: Implements column sorting in Datagrid
3195 2005-10-20 Jackson Harper <jackson@ximian.com>
3197 * TreeNodeCollection.cs: Remove items properly. Update the correct
3198 area after removing them.
3200 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
3202 * Datagrid.cs: Should not call base.OnPaintBackground
3204 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
3206 * XplatUIX11.cs (GetMessage):
3207 - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
3208 window instead of client window
3209 - Now properly calculates NC_xBUTTONUP message coordinates
3210 - ScreenToMenu now properly calculates it's coordinates of whole
3211 window, since menus are in the whole window, not in the client
3213 - Added WholeToScreen coordinate translation method
3215 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
3217 * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
3218 want to return a message, loop back to the beginning of the function
3219 and grab the next real message to process instead.
3221 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
3223 * Splitter.cs: Properly set limits if no filler control is used
3225 2005-10-19 Jackson Harper <jackson@ximian.com>
3227 * ColorDialog.cs: Don't show the help button if it is not enabled
3228 instead of disabling it (this is what MS does). Don't create the
3229 panel until the dialog is run, otherwise the vars (such as
3230 ShowHelp) are not set yet.
3232 2005-10-19 Jackson Harper <jackson@ximian.com>
3234 * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
3235 are reduced when adding nodes.
3237 * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
3240 2005-10-19 Jackson Harper <jackson@ximian.com>
3242 * FolderBrowserDialog.cs: End editing our treeview so the window
3243 actually gets refreshed.
3245 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
3247 * Control.cs: Fixed logic flip on when to call OnPaintBackground.
3248 Obsoleted handling of WM_ERASEBKGND, now always draws our background
3251 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
3253 * MenuAPI.cs: Returns after Hidding window
3254 * XplatUIX11.cs: Added TODO found while debugging menu issues
3256 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
3258 * XplatUIX11.cs: Do not re-map the whole window when it's size
3259 becomes non-zero unless it's supposed to be actually visible
3261 2005-10-18 Jackson Harper <jackson@ximian.com>
3263 * TreeView.cs: We don't need to keep a count anymore.
3264 * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
3265 use the Grow method.
3267 2005-10-18 Jackson Harper <jackson@ximian.com>
3269 * TreeNodeCollection.cs: Insert is not supported on arrays, so
3270 implement it manually here.
3272 2005-10-18 Jackson Harper <jackson@ximian.com>
3274 * ImageList.cs: Dont kill the list when the colour depth is
3275 changed, just change the colour depth of all the images.
3276 - Same goes for setting the image size. Just resize them all
3277 instead of killing the list softly.
3279 2005-10-18 Jackson Harper <jackson@ximian.com>
3281 * Control.cs: Don't invalidate empty rectangles.
3283 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
3286 - Adds checked item to the Checked/Item lists (where empty before)
3287 - Do not add items to the Selected lists if they are already present
3289 - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
3290 - When deleting items make sure that we delete them for the Selected
3291 and Checked list also.
3293 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
3295 * Label.cs: Dispose objects no longer used
3296 * ThemeWin32Classic.cs: Dispose objects no longer used
3298 2005-10-18 Jackson Harper <jackson@ximian.com>
3300 * TabControl.cs: Don't refresh the whole control when the tabs are
3301 scrolled, we just need to refresh the tab area.
3303 2005-10-17 Jackson Harper <jackson@ximian.com>
3305 * XplatUIX11.cs: Compress code a little bit. Only calculate the
3306 after handle when we need it.
3308 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
3310 * Control.cs: When the parent size changes, recalculate anchor
3311 positions. Partial fix for #76462
3313 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
3315 * ThemeWin32Classic.cs: Make sure the picturebox has it's background
3318 2005-10-17 Jackson Harper <jackson@ximian.com>
3320 * MonthCalendar.cs: Don't create the numeric up down until our
3321 handle is created. Otherwise our handle is created in the
3322 constructor and we don't know if we are a WS_CHILD or WS_POPUP
3325 2005-10-17 Jackson Harper <jackson@ximian.com>
3327 * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
3330 2005-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
3331 * TreeNode.cs : small logical fix (was using local var instead of field)
3333 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
3335 * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
3337 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
3339 * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
3341 2005-10-16 Peter Dennis Bartok <pbartok@novell.com>
3344 - Re-implemented anchoring code. My first version was really broken.
3345 This fixes bug #76033. Unlike the previous implementation we will
3346 no longer have round errors since all numbers are calculated from
3347 scratch every time. Removed various anchor-related obsolete vars.
3348 - InitLayout no longer causes layout event firing and layout to be
3351 2005-10-16 Jackson Harper <jackson@ximian.com>
3353 * Hwnd.cs: Compute invalid area correctly (fixes my last commit
3356 2005-10-16 Jackson Harper <jackson@ximian.com>
3358 * TabControl.cs: Remove debug code.
3360 2005-10-16 Jackson Harper <jackson@ximian.com>
3362 * XEventQueue.cs: Increase the default queue size (very simple
3363 apps needed to grow the queue).
3364 * Hwnd.cs: No finalizer so we don't need to suppress
3365 finalization. Compute the invalid area manually so a new rectangle
3366 does not newto be created.
3367 * ScrollableControl.cs: Don't set any params (otherwise visibility
3368 isn't set correctly).
3369 * MdiChildContext.cs: New constructor takes the mdi parent so it
3370 doesn't have to be computed and avoids a crash on windows. Draw
3371 the window icon properly, and allow the text to be seen.
3372 * Form.cs: Use new MdiChildContext constructor. Make sure the
3373 child context isn't null in wndproc.
3374 * TabControl.cs: Don't set focus, this is muddling keyboard
3375 behavoir. Expand the tab rows when a window size increase will
3376 allow extra tabs to be seen. Don't allow tabs smaller than the
3377 width of a window to be scrolled out of view.
3379 * TreeView.cs: Use measure string to calculate a nodes width, the
3380 width is cached and only updated when the text or the font is
3381 changed. Don't check for expand/collapse clicks on the first level
3382 nodes if root lines are disabled.
3384 2005-10-16 Ritvik Mayank <mritvik@novell.com>
3386 * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
3388 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
3390 * DataGridBoolColumn.cs: fixes warning
3392 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
3394 * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
3395 to match more to match more precisely the MS Net behavior
3397 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
3399 * Hwnd.cs: Added field to track if window is mapped
3401 - Unmap windows if they become 0-size, re-map when
3402 they are >0 again; fixes #76035
3403 - Re-set our error handler after initializing X11Desktop
3404 to override any error handlers Gtk or whatever was called
3407 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
3409 * CheckedListBox.cs: Removed unused vars
3410 * ListView.cs: Fixed signatures
3411 * RichTextBox.cs: Removed unused vars
3412 * TextBoxBase.cs: Removed unused vars
3413 * XplatUIWin32.cs: Removed unused vars
3414 * XplatUIX11.cs: Removed unused vars
3415 * XplatUI.cs: Updated version and date to latest published
3417 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
3419 * Cursor.cs: Added private .ctor to work around a bug in
3420 resourceset (Thanks to Geoff Norton for the help on this)
3421 * SplitterEventArgs.cs: Made fields accessible so we don't
3422 waste boatloads of objects and can reuse the same one
3424 * XplatUIWin32.cs(DrawReversibleLine): Now also considers
3425 any captions and borders when generating screen coordinates
3426 * Splitter.cs: Reimplemented control, now fully complete, uses
3427 rubberband drawing, supports and obeys all properties, has
3430 2005-10-13 Miguel de Icaza <miguel@novell.com>
3432 * Form.cs (Form): Setup default values for autoscale and
3433 autoscale_base_size; Make these instance variables, not static
3436 (OnLoad): on the first load, adjust the size of the form.
3438 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
3440 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added
3441 width argument to DrawReversibleRectangle()
3442 * XplatUIWin32.cs, XplatUIX11.cs:
3443 - Implemented width for DrawReversibleRectangle()
3444 - Added logic to DrawReversibleRectangle that recognizes a zero
3445 width or height and only draws a line in that situation
3447 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
3449 * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
3450 * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
3451 * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
3452 method (it uses our FosterParent window to get a graphics context)
3454 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
3456 * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground
3457 and SetWindowBackground methods
3459 - Setting proper ControlStyles
3460 - We no longer call XplatUI.SetWindowBackground and XplatUI.
3461 EraseWindowBackground, instead we draw the window background
3462 ourselves in PaintControlBackground. This behaviour is
3463 required to match MS, where, when OnPaintBackground is not
3464 called, the background is not drawn.
3465 - Removed unneeded Refresh() in set_Text
3466 * Hwnd.cs: Dropped the ErasePending support. No longer needed
3468 - Created DeriveStyles method to translate from CreateParams to
3469 FormBorderStyle and TitleStyle, also handles BorderStyle (which
3470 matches FormBorderStyle enum values)
3471 - Consolidated SetHwndStyles and CalculateWindowRect border/title
3472 style calculations into single DeriveStyles method
3473 - Fixed CreateWindow to (finally) use Gravity. This prevents X11
3474 from redrawing the whole window on any resize or expose.
3475 - Fixed CreateWindow usage of SetWindowValuemask. Before not
3476 all styles were applied to our whole/client window appropriately
3477 - Removed EraseWindowBackground() and SetWindowBackground() methods
3478 - Removed handling of WM_ERASEBKGND message from DefWndProc, we
3479 no longer clear/redraw the background through X
3480 - Removed handling of erase_pending bit, we have no use for it (or
3483 - Removed generation and handling of WM_ERASEBKGND message
3484 - Removed EraseWindowBackground() and SetWindowBackground() methods
3485 - Removed handling of hwnd.ErasePending flag
3487 - Removed EraseWindowBackground() and SetWindowBackground() methods
3488 - We no longer call EraseWindowBackground on PaintEventStart, we
3489 ignore the fErase flag, erasing is handled in Control in the
3491 * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
3492 LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
3493 TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs,
3494 CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs,
3495 DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs,
3496 TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
3497 DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
3499 2005-10-12 Jonathan Chambers <jonathan.chambers@ansys.com>
3501 * PropertyGrids.cs: Get sub properties
3502 * PropertyGridView.cs: Fix drawing code
3504 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
3506 * ListBox.cs: Fixes 76383
3508 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
3510 * DataGridTextBoxColumn.cs: Sets location and size before attachment
3511 * ThemeWin32Classic.cs: Fixes border drawing and calculations
3512 * DataGridDrawingLogic.cs: Fixes border drawing and calculations
3515 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
3517 * ComboBox.cs: Fixes border drawing
3519 2005-10-10 Miguel de Icaza <miguel@novell.com>
3521 * MimeIcon.cs: Ignore errors if the file can not be read.
3523 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
3525 * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
3526 - Fixed border calculations
3527 - Fixed horizontal scrolling in single column listboxes
3528 - Fixed drawing issues
3530 2005-10-10 Peter Dennis Bartok <pbartok@novell.com>
3532 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to
3533 FormBorderStyle enum
3534 * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added
3535 code to determine FormBorderStyles from CreateParams
3537 - Fixed bug where we'd set the wrong window styles if we were
3538 not creating an MDI window
3539 - Added call to XplatUI.SetBorderStyle when form borders are set
3540 * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
3542 - Removed obsolete edge style
3543 - Switched from BorderStyle to FormBorderStyle
3545 2005-10-10 Jackson Harper <jackson@ximian.com>
3547 * Form.cs: Use the property to get the window handle instead of
3548 accessing it directly. Prevents a null reference exception.
3550 2005-10-10 Jackson Harper <jackson@ximian.com>
3552 * TreeView.cs: Don't adjust the rect given to DrawString now that
3553 our libgdiplus draws correctly.
3555 2005-10-08 Jackson Harper <jackson@ximian.com>
3557 * TreeView.cs: Don't try to find the clicked on node if there are
3558 no nodes in the tree.
3560 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
3566 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
3568 * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
3569 ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
3571 Use ResPool for brushes and dispose System.Drawing objects that
3572 are not used anymore.
3574 2005-10-07 Jackson Harper <jackson@ximian.com>
3576 * MdiChildContext.cs: Use the new borders instead of drawing them
3579 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
3581 * Calling UpdateBounds after changing the window's BorderStyle
3582 since the style can change the ClientSize
3584 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3586 * Control.cs: Made PaintControlBackground virtual
3587 * Panel.cs: Overriding PaintControlBackground instead of using paint
3588 event; paint event method was interfering with 'real' users of the
3591 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
3593 * ThemeWin32Classic.cs: remove border drawing since it is handled
3594 by the base control class now and was causing double border drawing.
3596 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3598 * Panel.cs: Redraw our background on paint. Not a pretty solution,
3599 but it does seem to match MS behaviour. This fixes bug #75324
3601 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3603 * XplatUIX11.cs: A better DrawReversibleRectangle version, however
3604 somewhat hackish looking
3606 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3609 - We now accept Enter even if AcceptEnter is false, if the containing
3610 form does not have an AcceptButton configured (fixes bug #76355)
3611 - Calculations are now fixed to no longer use Width/Height, but
3612 ClientSize.Width/Height, since we now support borders (this was
3613 a result of fixing borders and therefore bug #76166)
3614 - We no longer show the horizontal scrollbar if TextBox.WordWrap is
3615 true (fixes bug #76354)
3617 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3620 - Defaulting BorderStyle and setting it in XplatUI when our window
3622 - Added enum check to InternalBorderStyle setter
3624 - Added drawing of window borders
3625 - Now properly calculates WM decorations offset for toplevel
3626 windows (fixes bug #74763)
3628 - Implemented BorderStyles for windows (we're letting win32 draw
3630 - Fixed the signature for SetWindowLong
3631 * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
3632 ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for
3634 * UpDownBase.cs: Remove drawing of borders, this is handled by
3635 the driver, outside the client area
3636 * ListView.cs: Removed bogus border calculations. The control should
3637 be oblivious to borders, since those are not part of the client
3639 * X11DesktopColors.cs: Commented out (currently) unneeded variables
3640 * ThemeWin32Classic.cs: Removed border calculations from ListView
3643 2005-10-06 Jackson Harper <jackson@ximian.com>
3645 * MdiChildContext.cs: Clear out the old virtual position remove
3646 all the unneeded calls to CreateGraphics.
3648 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3650 * TextControl.cs: Use proper color for highlighted text; fixes #76350
3652 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3655 - Added loading and setting of our new default icon
3656 - Only set icon if window is already created
3658 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
3661 - Do not explicitly set the foreground and background colors, to
3662 allow inheriting from parents (fixes #76302)
3663 - Use Control's InternalBorderStyle property to deal with borders
3665 2005-10-06 Jackson Harper <jackson@ximian.com>
3667 * MdiChildContext.cs: Use the new xplatui function to draw a
3670 2005-10-06 Jackson Harper <jackson@ximian.com>
3672 * Form.cs: Add the parent before creating the child context cause
3673 we need the parent when setting up the child.
3675 2005-10-06 Jackson Harper <jackson@ximian.com>
3677 * FolderBrowserDialog.cs: redo the tree population code so a
3678 second thread isn't used. Should be a lot faster and more stable
3681 2005-10-05 Jackson Harper <jackson@ximian.com>
3683 * TreeView.cs: There are no expand/collapse boxes if the node has
3686 2005-10-05 Jackson Harper <jackson@ximian.com>
3688 * X11DesktopColors.cs: Get menu colours for the gtk theme.
3690 2005-10-05 Alexander Olk <alex.olk@googlemail.com>
3692 * FileDialog.cs: Fix InitialDirectory
3694 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
3697 - Fixes changing between styles
3699 - Fixes last item crashing when navigating with keyboard
3701 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
3703 * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
3705 2005-10-05 Jackson Harper <jackson@ximian.com>
3707 * TreeView.cs: If updating the root node do a full refresh.
3708 * TreeNode.cs: The root node should be expanded by default. Also
3709 added a utility prop to tell if we are the root node.
3710 * TreeNodeCollection.cs: Only refresh if the node we are being
3711 added to is expanded. Also added a comment on a potential
3714 2005-10-04 Peter Dennis Bartok <pbartok@novell.com>
3716 * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize()
3717 in dispose method. Fixes #76330
3719 2005-10-04 Jordi Mas i Hernandez <jordi@ximian.com>
3721 * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
3723 - Implements vertical and horizontal scrolling using XplatUI
3724 - Fixes keyboard navagation
3725 - Fixes EnsureVisible
3727 - Handles and draws focus properly
3730 2005-10-04 Kornél Pál <kornelpal@hotmail.com>
3732 * ImageList.cs: Use upper case initials for internal fields. ImageStream:
3733 Create handle. NET_2_0: Destroy handle when value is null.
3735 2005-10-03 Jackson Harper <jackson@ximian.com>
3737 * ScrollBar.cs: My last scrollbar patch was broken. This is a
3738 revert and a new patch to prevent the thumb from refreshing so
3741 2005-10-02 Jackson Harper <jackson@ximian.com>
3743 * ScrollBar.cs: Don't update position if it hasn't actually
3744 changed. This occurs when you hold down the increment/decrement
3745 buttons and the thumb gets to the max/min.
3747 2005-10-01 Jackson Harper <jackson@ximian.com>
3750 * MdiChildContext.cs:
3751 * MdiClient.cs: Implement ActiveMdiChild in Form.
3753 2005-10-01 Jordi Mas i Hernandez <jordi@ximian.com>
3755 * ComboBox.cs: Include ComboBoxEdit flag for the edit item
3757 2005-10-01 Peter Dennis Bartok <pbartok@novell.com>
3759 * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
3762 2005-09-30 Jackson Harper <jackson@ximian.com>
3764 * ListBox.cs: Don't do a full refresh unless some data has
3767 2005-09-30 Jackson Harper <jackson@ximian.com>
3769 * TreeView.cs: Make sure that the checkboxes size is factored in
3770 even when not visible.
3772 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
3774 * FileDialog.cs: Fix Jordi's build break
3776 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
3779 - Use standard the Windows colours for the combobox as espected
3780 - Dispose objects that use resouces when no longer need them
3782 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
3784 * X11DesktopColors.cs: Initial incomplete implementation
3785 * XplatUIX11.cs: Added call to initialize X11DesktopColors
3787 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
3790 - Switched Theme color names to match the names defined in
3791 System.Drawing.KnownColors. Life's hard enough, no need to make
3793 - Added setters to all theme color properties so themes can set
3794 their color schemes. The setters also propagate the color changes
3795 to System.Drawing.KnownColors via reflection
3796 * ControlPaint.cs, Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
3797 ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
3798 DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
3799 use the new, more logical theme color names
3800 * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
3802 * ThemeWin32Classic.cs:
3803 - Removed code to set the old classic Windows colors. Instead it
3804 now relies on the colors returned by System.Drawing.KnownColors
3805 which will be either modern static colors (Unix) or colors
3806 read from the user's configuration (Win32)
3807 - Updated to use the new, more logical theme color names
3808 - Switched DataGrid drawing code to use only Theme colors instead of
3809 a mix of System.Drawing.KnownColors and Theme colors
3810 - DrawFrameControl(): Removed code that fills the button area, the
3811 fill would overwrite any previous fill done by a control. This
3813 - Added DrawReversibleRectangle() stub
3814 * ScrollableControl.cs: Set visible state to false when scrollbars
3815 are removed (pdn fix)
3816 * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added
3817 DrawReversibleRectangle() method to allow drawing primitive
3819 * XplatUIX11.cs: Implemented DrawReversibleRectangle()
3821 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3823 * ImageList.cs: Add(Icon): Create handle.
3825 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
3828 * ThemeWin32Classic.cs:
3831 - Issues with drawing
3833 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3835 * ImageList.cs: Moved RecreateHandle back to ImageList as event
3836 source has to be the ImageList.
3838 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3840 * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
3842 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3844 * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
3846 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3848 * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
3850 2005-09-29 Jonathan Chambers <jonathan.chambers@ansys.com>
3851 * GridItem.cs: Fixed TODOs
3852 * GridItemCollection.cs: Added ICollection interface
3854 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
3856 * ImageList.cs: Resize icons when needed.
3858 2005-09-29 Jordi Mas i Hernandez <jordi@ximian.com>
3861 - Fixes GetBounds and returns on screen rects
3863 - Fixes vertical and horzintal scrolling of items
3864 * ThemeWin32Classic.cs:
3867 2005-09-29 Raja R Harinath <harinath@gmail.com>
3869 * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
3871 2005-09-29 Kornél Pál <kornelpal@hotmail.com>
3873 * ImageList.cs: Added comments about handle creation. Moved Handle,
3874 HandleCreated and OnRecreateHandle implementations to ImageCollection.
3875 Handle is created in Add methods.
3877 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
3879 * DataGridDrawingLogic.cs:
3880 - Takes rows into account on Colum calculations
3881 - Returns the column when clickig
3883 - Fixes default HitTestInfo values
3884 - Fixes HitTestInfo.ToString
3885 - Fixes ResetBackColor
3887 2005-09-28 Jackson Harper <jackson@ximian.com>
3889 * MdiChildContext.cs: Obey rules for fixed sized windows (no
3890 sizing or cursor changes). Also added some temp code to draw the
3891 titlebars text (Makes dev a little easier).
3893 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
3895 * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
3897 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
3899 * ListBox.cs: Fixes bug 76253
3901 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
3903 * ImageList.cs: Added comments about the current implementation. Added
3904 ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
3905 Format32bppArgb to preserve transparency and can use Graphics.FromImage
3906 while using the specified ColorDepth. ReduceColorDepth uses unsafe code
3907 with Bitmap.LockBits for better performance. Revised the whole file to
3908 match MS.NET behaviour and provide better performance. Non-public
3909 interface members are calling public members even when they throw
3910 NotSupportedException for better maintainability. Moved ColorDepth,
3911 ImageSize, ImageStream and TransparentColor implementations to
3912 ImageCollection for better performance as these properties are not used
3914 * ImageListStreamer.cs: Added a new internal constructor that takes an
3915 ImageList.ImageCollection and serializes Images based on
3916 ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
3917 match ImageList property name.
3919 2005-09-28 Kazuki Oikawa <kazuki@panicode.com>
3921 * ListBox.cs: Fixes IndexFromPoint for last item
3923 2005-09-27 Jackson Harper <jackson@ximian.com>
3925 * Form.cs: Set the position of new mdi children correctly.
3927 2005-09-27 Jackson Harper <jackson@ximian.com>
3929 * MdiClient.cs: New mdi children need to be added to the back of
3930 the controls collection so the zorder is set correctly. Also add a
3931 count of all the child windows that have been created.
3933 2005-09-27 Jackson Harper <jackson@ximian.com>
3935 * Form.cs (CreateParams): Setup MDI forms correctly.
3937 2005-09-27 Jackson Harper <jackson@ximian.com>
3939 * MdiChildContext.cs:
3946 * ScrollableControl.cs:
3947 * ComboBox.cs: Add implicit controls using the new implict control
3948 functionality in ControlCollection. Also try to block multiple
3949 control add in a suspend/resume layout to save some cycles.
3951 2005-09-27 Jackson Harper <jackson@ximian.com>
3953 * Control.cs: Add functionality to the controls collection to add
3954 'implicit controls' these are controls that are created by the
3955 containing control but should not be exposed to the user. Such as
3956 scrollbars in the treeview.
3957 * Form.cs: The list var of the ControlsCollection is no longer
3958 available because of the potential of implicit controls getting
3959 ignored by someone accessing the list directly.
3961 2005-09-26 Peter Dennis Bartok <pbartok@novell.com>
3963 * Control.cs: Fixed SetChildIndex; it no longer causes a child to
3964 loose it's parent. (Fixed bug introduced in r49103 when we added
3965 setting the child parent to null on Remove)
3967 2005-09-26 Gert Driesen <drieseng@users.sourceforge.net>
3969 * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
3970 * Splitter.cs: Added missing attributes for BorderStyle property.
3971 * TextBoxBase.cs: Marked Calculate* methods internal.
3972 * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
3975 2005-09-26 Jordi Mas i Hernandez <jordi@ximian.com>
3977 * ListBox.cs: Fixes navigation to the last item in multicolumn lists
3979 2005-09-25 Jackson Harper <jackson@ximian.com>
3981 * TreeView.cs: Update the node bounds correctly regardless of
3982 whether the node is visible.
3984 2005-09-25 Jackson Harper <jackson@ximian.com>
3986 * ImageList.cs: Don't dispose the image after it is added to the
3987 image list. Only reformat images that need to be resized.
3989 2005-09-25 Jackson Harper <jackson@ximian.com>
3991 * ImageList.cs: Don't set the format when changing the image.
3993 2005-09-25 Jackson Harper <jackson@ximian.com>
3995 * TreeView.cs: We can't just assume the node has a font. Use the
3996 treeviews font if no node font is available.
3998 2005-09-25 Jackson Harper <jackson@ximian.com>
4000 * TreeView.cs: Allow the scrollbars to be reset with negative
4002 - Don't add scrollbars to negative sized windows.
4004 2005-09-23 Jackson Harper <jackson@ximian.com>
4006 * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
4007 old Mono.Posix. Also remove some stray code that shouldn't have
4010 2005-09-23 Jackson Harper <jackson@ximian.com>
4012 * TreeView.cs: Attempt at proper sizing of the horizontal
4013 scrollbar. Also don't resize the scrollbars unless they are
4016 2005-09-23 Jackson Harper <jackson@ximian.com>
4018 * TreeView.cs: We don't need to expand the invalid area when the
4019 selection changes, as this is all drawn in the node's bounding
4020 box. The area needs to be expanded (previous typo was contracting
4021 it) when the focus rect moves.
4023 2005-09-23 Jackson Harper <jackson@ximian.com>
4025 * TreeView.cs: Display the selection box under the correct
4026 circumstances. We were rendering white text with no selection box
4029 2005-09-23 Peter Dennis Bartok <pbartok@novell.com>
4031 * TextControl.cs(Split): Now updates selection start/end if it points
4032 into a line that's being split. Fixes a FIXME and bug #75258
4034 2005-09-23 Jackson Harper <jackson@ximian.com>
4037 * ListControl.cs: Don't use the path when retrieving binding
4038 managers from the binding context. My bat sense tells me that the
4039 path is only used on insertion.
4041 2005-09-22 Jackson Harper <jackson@ximian.com>
4043 * Splitter.cs: Set the cursor an easier way. (Thanks peter).
4045 2005-09-22 Jackson Harper <jackson@ximian.com>
4047 * Splitter.cs: There are special cursors used for splitting.
4048 * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
4050 2005-09-22 Jackson Harper <jackson@ximian.com>
4052 * Splitter.cs: Change the cursor appropriately when the splitter
4053 is moused over, so the user actually knows there is a splitter
4056 2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
4058 * Label.cs : Fix ToString method to give same output as MS.NET
4060 2005-09-22 Jackson Harper <jackson@ximian.com>
4062 * TreeView.cs: Create the scrollbars when the handle is created
4063 and add them right away, just make them invisble. Also account for
4064 the window being shrunk vertically to the point that the vert
4065 scrollbar needs to be added.
4066 - Remove some 0.5 adjustments to get around anti aliasing issues.
4068 2005-09-22 Jordi Mas i Hernandez <jordi@ximian.com>
4070 * MainMenu.cs: Fixes default value
4071 * MenuItem.cs: Fixes default value
4073 2005-09-22 Kazuki Oikawa <kazuki@panicode.com>
4075 * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
4077 2005-09-21 Jackson Harper <jackson@ximian.com>
4079 * Control.cs: Don't try to set the border style on the window if
4080 it hasn't been created. When the window is created the border
4083 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
4085 * Control.cs (Update): Don't call XplatUI if we don't have a
4088 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
4090 * ContainerControl.cs: Instead of throwing an exception, print
4091 a one-time warning about Validate not being implemented
4092 * XplatUIWin32.cs: Removed debug output
4094 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
4096 * Control.cs: Only set XplatUI background if we expect the windowing
4097 system to handle the background. This stops controls that draw their
4098 own background from flickering
4100 * XplatUIX11.cs: Support custom visuals and colormaps for window
4101 creation. This allows, amongst other things, using MWF X11 windows
4104 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
4106 * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
4107 CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
4108 GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
4109 SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
4110 TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
4111 IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
4112 KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
4113 RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
4114 ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
4115 ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
4116 GridColumnStylesCollection.cs,
4117 IDataGridColumnStyleEditingNotificationService.cs,
4118 PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
4119 MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
4120 GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs,
4121 TreeNodeCollection.cs, AmbientProperties.cs,
4122 RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
4123 DataObject.cs, ErrorProvider.cs, Splitter.cs,
4124 DataGridLineStyle.cs, Shortcut.cs, Control.cs,
4125 FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
4126 BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
4127 IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
4128 FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
4129 IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
4130 NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
4131 PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
4132 SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
4133 FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
4134 DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
4135 ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
4136 RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
4137 MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
4138 ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
4139 CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
4140 MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
4141 NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
4142 ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
4143 SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
4144 Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
4145 RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
4146 DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
4147 ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
4148 PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
4149 DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
4150 ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
4151 AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
4152 RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
4153 CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
4154 SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
4155 Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
4156 SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
4157 ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
4158 TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
4160 2005-09-21 Jackson Harper <jackson@ximian.com>
4162 * TreeNode.cs: Call Before/After Expand not Collapse when
4165 2005-09-20 Jackson Harper <jackson@ximian.com>
4167 * XplatUIX11.cs: Use the more hand looking hand (in most themes).
4169 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
4173 - Fixes proper storing of subitems
4174 - Fixes not updated items
4176 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
4178 * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
4179 things if our window handle isn't created yet. Also disabled
4180 debug for TextBoxBase
4182 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
4184 * MenuAPI.cs: Remove filtering of events to allow menu usage
4186 2005-09-20 Miguel de Icaza <miguel@novell.com>
4188 * Cursor.cs: Allow null to be passed to Cursor.Current.
4190 2005-09-20 Alexander Olk <alex.olk@googlemail.com>
4192 * ThemeWin32Classic.cs:
4193 - Change some private methods/fields to protected virtual so that
4194 they can be accessed and overriden in derived classes
4195 - First refactoring of some methods. Derived themes now don't
4196 need to duplicate the complete code from ThemeWin32Classic
4198 - Added nice StatusBar
4199 - Derive from ThemeWin32Classic and not Theme
4200 - Removed duplicate ThemeWin32Classic code
4202 2005-09-20 Miguel de Icaza <miguel@novell.com>
4204 * Control.cs (ControlCollection.Add): If the value null is passed
4205 the control is ignored.
4209 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
4211 * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
4212 PostQuitMessage state.
4213 * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
4215 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
4217 * Application.cs: Our constructor will never get called, move
4218 initialization to fields; fixes bug #75933
4220 2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
4223 - Allow files to be selected properly using file name
4225 - Add ability to change diretory (absolute / relative)
4226 using file name combo box.
4228 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
4231 - Fixes Multicolumn listboxes item wrong calculations
4232 - Allows to click when only one item is in the listbox
4233 - Fixes crash when no items using keyboard navigation
4235 2005-09-16 Alexander Olk <alex.olk@googlemail.com>
4237 * ComboBox.cs: Reverted almost everything from the latest patch which
4240 2005-09-16 Kazuki Oikawa <kazuki@panicode.com>
4243 - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
4245 - When DropDownStyle is Simple, it does not show scrollbar
4246 to the last item of the list.
4247 - When DropDownStyle is Simple, it crashed when the list was
4248 scrolled down with the down cursor key.
4249 - Fixed a bug that when DropDownStyle is DropDownList, the
4250 selected item was not shown.
4251 - The position of the selected item was not preserved when
4252 the next dropdown happened.
4253 * ThemeWin32Classic.cs:
4254 - Items were wrapped at the right end.
4255 * CheckedListBox.cs:
4258 - Items should be fully shown.
4259 - When resizing and vertical scrollbar disappeared, the item
4260 of index 0 should be on the top of the list.
4261 - GetItemRectangle should consider the size of ver. scrollbar
4263 - SizingGrip area should not be allocated when it is not
4265 - Now it reflects MinWidth of the containing panel and
4266 fixed a crash that happens when its width becomes so small.
4268 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
4270 * CheckedListBox.cs: Fixes bug 76028
4271 * ListBox.cs: Fixes bug 76028
4273 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
4275 * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
4276 * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
4278 2005-09-12 Jordi Mas i Hernandez <jordi@ximian.com>
4280 * XplatUIX11.cs: fixes System.NullReferenceException in some situations
4282 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
4284 * IRootGridEntry.cs: Changed namespace to PropertyGridInternal
4286 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
4288 * IRootGridEntry.cs: Added
4289 * PropertyGridCommands.cs: Added
4290 * PropertiesTab.cs: Added missing methods and property
4291 * PropertyGridView.cs: Made class internal
4292 * PropertyGridTextBox.cs: Made class internal
4294 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
4296 * MimeIcon.cs: Try to check some other environment variables
4297 if "DESKTOP_SESSION" returns "default"
4299 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
4301 * ThemeNice.cs: Corrected background colors (e.g. menus)
4302 * ColorDialog.cs: Use correct background colors for controls
4304 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
4306 * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
4308 2005-09-08 Peter Dennis Bartok <pbartok@novell.com>
4310 * RichTextBox.cs: Added initial implementation
4311 * lang.cs: Removed. Was accidentally checked in long time ago
4312 * TODO: Removed. Contents were obsolete
4314 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
4316 * PropertiesTab.cs : Added
4318 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
4320 * PropertyGrid.cs : Update
4321 * PropertyGridView.cs : Update
4322 * System.Windows.Forms.resx : Added images and strings
4324 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
4326 * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
4328 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
4330 * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
4331 a busy loop right after the Ungrab the X11 display is otherwise
4334 2005-09-06 Jordi Mas i Hernandez <jordi@ximian.com>
4336 * ThemeWin32Classic.cs: Optimise the use of clipping
4338 2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com>
4340 * DataGrid.cs: fixes recursion bug
4342 2005-09-03 Alexander Olk <alex.olk@googlemail.com>
4345 - Draw RadioButton and CheckBox Buttons with DrawButtonBase
4348 2005-09-02 Alexander Olk <alex.olk@googlemail.com>
4350 * ThemeNice.cs: Draw nice ProgressBars
4352 2005-09-01 Miguel de Icaza <miguel@novell.com>
4354 * VScrollBar.cs: Another buglet found by Aaron's tool.
4356 * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
4359 2005-08-30 Alexander Olk <alex.olk@googlemail.com>
4362 - Added nicer menu drawing
4366 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
4368 * CreateParams.cs (ToString): Made output match MS
4369 * Control.cs (Text): Don't set Text or Focus via XplatUI unless
4370 handle is already created (to avoid forcing window creation)
4371 * XplatUIX11.cs: Set window text to caption after creating window,
4372 in case Text was set before window was created
4373 * Form.cs: Use this.Text instead of a static string as caption
4375 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
4377 * NotifyIcon.cs: Don't set the window to visible; this screws
4378 up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
4379 OnPaint without a bitmap)
4380 * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't
4381 happen very often anyway; we could add the check to the WM_PAINT
4382 event generation code
4384 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
4386 * NotifyIcon.cs: Fill the icon area with a background color, to
4387 avoid 'residue' when transparent icons are drawn
4389 - Handle whole_window == client_window when destroying windows
4390 - SystrayAdd(): Set client_window to whole_window value to
4391 get mouse and other events passed to NotifyIcon
4393 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
4395 * Form.cs: Set proper default for Opacity property
4397 - ShowSystray(): Don't bother creating telling the OS
4398 about the systray item if no icon is provided
4399 - Now handles WM_NCPAINT message to deal with whole/client window
4401 - Create window as visible to not get caught by Expose optimization
4402 * Hwnd.cs: Removed debug message
4403 * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
4404 StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched
4405 PaintEventStart/End to use new client argument
4407 - Commented out debug messages
4408 - Switched PaintEventStart/End to use new client argument
4409 * XplatUI.cs: Added client window bool to PaintEventStart()/
4410 PaintEventEnd() calls, to support drawing in non-client areas
4412 - Added client window bool to PaintEventStart()/PaintEventEnd()
4413 calls, to support drawing in non-client areas
4414 - Added conditional compile to allow using MWF BeginInvoke
4417 - Added some conditional debug output
4418 - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
4419 whole/client window split
4420 - Implemented handling of client argument to PaintEventStart()/End()
4422 - Throw exception if BeginInvoke() is called and the window handle
4423 or one of the window's parent handles is not created
4424 - Added conditional compile to allow using MWF BeginInvoke on
4426 - get_Parent(): Only sets parent if handle is created. This avoids
4427 forcing window handle creation when parent is set.
4428 - Now fires Layout and Parent changed events in proper order
4429 - Switched to use Handle instead of window.Handle for Z-Order setting,
4430 the get_Parent() patch above causes us to possibly get null for 'window'
4431 - Implemented handling of client argument to PaintEventStart()/End()
4432 - Now reports back to windows that WM_SETCURSOR was handled (to avoid
4434 - Now sends a Refresh() to all child windows when Refresh() is called
4436 2005-08-29 Peter Dennis Bartok <pbartok@novell.com>
4438 * Form.cs: Added (non-functional) Opacity property
4439 * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
4441 2005-08-29 Alexander Olk <xenomorph2@onlinehome.de>
4442 * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
4443 use export MONO_THEME=nice to activate it.
4444 Currently supported controls:
4448 - TabControl (TabAlignment.Top only, other will follow)
4449 * ThemeEngine.cs: Add theme nice
4450 * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
4453 2005-08-25 Jonathan Chambers <jonathan.chambers@ansys.com>
4455 * Splitter.cs: Resize docked control and its neighbor.
4457 2005-08-24 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
4458 -- Making Windows with Menus layout correctly --
4459 * Form.cs : The first leg of the fix
4460 Menu setter - adjust Client Size as needed to make space for the menu
4461 SetClientSizeCore - doesn't call base version to be able to pass the
4462 menu handle to XplatUI.CalculateWindowRect
4463 * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
4464 * XplatUIX11.cs: The critical second leg of the fix
4465 GetWindowPos needs to use a recalculated client_rect
4466 so that resizing the window doesn't break layout of child controls.
4467 Also a more complete rule to avoid X Server roundtrips in SetWindowPos
4470 2005-08-23 Peter Dennis Bartok <pbartok@novell.com>
4472 * Label.cs: Now properly recalculates width and height on Font and Text
4473 changes if AutoSize is set
4475 2005-08-19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
4476 * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
4478 2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com>
4480 * ImageList.cs: Makes ToString method compatible with MS
4482 2005-08-18 Jordi Mas i Hernandez <jordi@ximian.com>
4484 * MenuAPI.cs: fixes bug 75716
4486 2005-08-11 Umadevi S <sumadevi@novell.com>
4487 * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
4489 2005-08-11 Umadevi S <sumadevi@novell.com>
4490 * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
4492 2005-08-10 Umadevi S <sumadevi@novell.com>
4493 * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
4495 2005-08-07 Jordi Mas i Hernandez <jordi@ximian.com>
4497 * Menu.cs: fixes bug 75700
4498 * MenuAPI.cs: fixes navigation issues
4500 2005-08-09 Umadevi S <sumadevi@novell.com>
4501 * CheckedListBox.cs - simple fix for GetItemChecked.
4503 2005-08-08 Jordi Mas i Hernandez <jordi@ximian.com>
4505 * ComboBox.cs: Serveral fixes
4506 * ListBox.cs: Serveral fixes
4508 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
4510 * ComboBox.cs: Fixes FindString methods and GetItemHeight
4511 * ListBox.cs: Fixes FindString methods
4513 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
4515 * DataGrid.cs: fixes bugs exposed by new tests
4517 2005-08-04 Peter Dennis Bartok <pbartok@novell.com>
4519 * Mime.cs: Compile Mono assembly references only if compiling
4520 with Mono (Allows to build with VS.Net again)
4522 2005-07-28 Marek Safar <marek.safar@seznam.cz>
4524 * Control.cs (PaintControlBackground): Draw background image
4526 (CheckForIllegalCrossThreadCalls): Stubbed.
4528 * Form.cs (OnCreateControl): Center when should be centered.
4530 * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
4532 2005-07-19 Jordi Mas i Hernandez <jordi@ximian.com>
4534 * Binding.cs: Binding to properties should be case unsensitive
4536 2005-07-18 vlindos@nucleusys.com
4538 * DataGrid.cs: fixes setmember order
4540 2005-07-07 Alexander Olk <xenomorph2@onlinehome.de>
4542 * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
4543 * FileDialog.cs: FileDialog is now resizable and uses the new
4546 2005-07-06 Jordi Mas i Hernandez <jordi@ximian.com>
4548 * DataGridTextBoxColumn.cs: default value
4549 * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
4550 * GridTableStylesCollection.cs: fixes checking MappingName
4551 * DataGridDrawingLogic.cs: fixes drawing logic issues
4552 * DataSourceHelper.cs: rewritten to make compatible with more data sources
4553 * DataGrid.cs: fixes
4555 2005-07-06 Alexander Olk <xenomorph2@onlinehome.de>
4557 * MimeGenerated.cs: Use case sensitive comparer for
4558 NameValueCollections
4560 2005-07-01 Jordi Mas i Hernandez <jordi@ximian.com>
4562 * DataGridTextBoxColumn.cs: bug fixes, code refactoring
4563 * ThemeWin32Classic.cs: bug fixes, code refactoring
4564 * DataGridDrawingLogic.cs: bug fixes, code refactoring
4565 * DataGrid.cs: bug fixes, code refactoring
4566 * DataGridTextBox.cs: bug fixes, code refactoring
4567 * DataGridColumnStyle.cs: bug fixes, code refactoring
4568 * Theme.cs: bug fixes, code refactoring
4570 2005-07-01 Peter Bartok <pbartok@novell.com>
4572 * TextControl.cs: Quick fix for the reported crash on ColorDialog
4573 and other text box usage
4575 2005-07-01 Jackson Harper <jackson@ximian.com>
4577 * TabControl.cs: Make sure the bottom of the tab covers the pages
4580 2005-06-30 Peter Bartok <pbartok@novell.com>
4582 * Form.cs (ShowDialog): Assign owner of the dialog
4583 * TextBoxBase.cs: Always refresh caret size when deleting, caret
4584 might have been moved to a tag with different height
4586 2005-06-30 Jackson Harper <jackson@ximian.com>
4588 * Form.cs: Don't create an infinite loop when setting focus
4589 * MenuItem.cs: Don't dirty the parents if we don't have any
4591 2005-06-29 Ben Maurer <bmaurer@ximian.com>
4593 * LibSupport.cs: Rename
4595 2005-06-29 Peter Bartok <pbartok@novell.com>
4597 * TextBoxBase.cs: Re-align caret after deleting a character
4599 - DeleteChars(): Ensure that tag covers the provided position
4600 - StreamLine(): Drop reference for dropped tag
4602 2005-06-29 Peter Bartok <pbartok@novell.com>
4605 - Selections now work properly, anchoring at the initial location
4606 and properly extending in either direction (SetSelectionToCaret(),
4607 SetSelectionStart() and SetSelectionEnd())
4608 - No longer redraws the whole control on selection change, now
4609 calculates delta between previous and new selection and only
4610 invalidates/redraws that area
4611 - Fixed FindPos() math off-by-one errors
4612 - Changed DeleteChars() to verify the provided tag covers the
4613 provided position, selections may have a tag that doesn't cover
4614 the position if the selection is at a tag border
4615 - Fixed off-by-one errors in DeleteChars()
4616 - Added missing streamlining check in DeleteChars() to remove
4618 - Implemented Invalidate() method, now properly calculates exposures
4619 between two given lines/positions
4620 - Implemented SetSelection()
4621 - Obsoleted and removed FixupSelection()
4622 - Improved RecalculateDocument() logic, removing code duplication
4624 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4626 * LibSupport.cs: changes to match different input/output arguments.
4628 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4630 * LibSupport.cs: added libsupport.so init routine.
4632 2005-06-29 Jordi Mas i Hernandez <jordi@ximian.com>
4634 * ControlBindingsCollection.cs
4635 - Throws an exception on null datasource when adding
4636 - Checks for duplicated bindings when adding
4638 2005-06-28 Jackson Harper <jackson@ximian.com>
4640 * TreeView.cs (OnKeyDown): Support left and right properly
4641 (navigates as well as expanding and collapsing.
4642 - Add support for Multiply, this expands all the selected nodes
4646 2005-06-28 Jackson Harper <jackson@ximian.com>
4648 * TreeView.cs: Implement keyboard navigation, currently supports,
4649 LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
4650 support for toggling checkboxes with the space bar.
4652 2005-06-28 Jackson Harper <jackson@ximian.com>
4654 * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
4657 2005-06-28 Jackson Harper <jackson@ximian.com>
4659 * TreeView.cs: Add missing event.
4661 2005-06-27 Peter Bartok <pbartok@novell.com>
4664 - Made line ending size configurable (now allows for counting
4665 lineendings as \n or \r\n)
4666 - Added margin to viewport to keep caret visible on right side
4667 - Fixed translation routines for line/pos to documentpos to consider
4668 cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
4669 - Fixed some line-endings to be unix style
4670 - Fixed Document.FormatText to perform it's calculations 1-based
4671 - Added descriptions for a few methods that might otherwise get
4673 - Added NOTE section with some basic conventions to remember at
4675 - Major fixup for RichTextBox selection drawing:
4676 * Fixed crashes when multiple tags on a single line were selected
4677 * fixed selection box drawing not overlaying text
4678 * fixed bogus offset calculation for tags not starting at index 1
4679 * Switched behaviour from using multiple Substrings of a
4680 StringBuilder.ToString() to using multiple
4681 StringBuilder.ToString(start, length) statements, hoping this is
4682 faster (kept original version commented out in the code, in case
4683 original version was faster)
4684 * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if
4686 * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
4689 2005-06-27 Jackson Harper <jackson@ximian.com>
4691 * TabControl.cs: Move to the left and right with the arrow
4692 keys. These keys don't cycle beyond first and last like
4693 tab. Refresh all the tabs when scrolling them to the left or
4696 2005-06-27 Jackson Harper <jackson@ximian.com>
4699 - ToString: Added method
4700 - CreateParams: Remove TODO and comment
4701 - OnKeyDown: Cycle through bounds properly.
4702 - SelectedIndex: Scroll to the right or left if we need to
4703 display the newly selected tab.
4705 2005-06-23 Jackson Harper <jackson@ximian.com>
4707 * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
4710 2005-06-23 Jackson Harper <jackson@ximian.com>
4712 * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
4713 CTRL-SHIFT-TAB, and HOME, END are there any others?
4715 2005-06-23 Jackson Harper <jackson@ximian.com>
4717 * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
4719 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
4721 * DataGridTextBoxColumn.cs: fixes and enhancements
4722 * ThemeWin32Classic.cs: fixes and enhancements
4723 * DataGridBoolColumn.cs: fixes and enhancements
4724 * DataGridDrawingLogic.cs: fixes and enhancements
4725 * CurrencyManager.cs: fixes and enhancements
4726 * DataGrid.cs: fixes and enhancements
4727 * DataGridColumnStyle.cs: fixes and enhancements
4729 2005-06-22 Jackson Harper <jackson@ximian.com>
4731 * TabControl.cs: Add some missing methods that just call into the
4732 base. Make the TabPageCollection's IList interface behave in the
4733 same manner as the MS implementation.
4735 2005-06-22 Peter Bartok <pbartok@novell.com>
4737 * TextControl.cs: Added sanity check
4739 - Fixed wrapping behaviour, don't set wrap on single line controls
4740 (this fixes the breakage of colordialog introduced in an earlier
4742 - Added rudimentary support for autoscrolling right-aligned controls
4743 (still needs fixing, also, center alignment scroll is missing)
4745 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
4747 * ScrollBar.cs: Fixes thumbpos on Maximum values
4749 2005-06-21 Jonathan Chambers <jonathan.chambers@ansys.com>
4751 * PropertyGridView.cs: Pass context information to UITypeEditors
4753 2005-06-21 Peter Bartok <pbartok@novell.com>
4756 - Now calling PositionCaret with absolute space coordinates
4757 - Enabled vertical scrolling
4758 - Better tracking of scrollbar changes, tied into WidthChange
4760 - Improved cursor tracking
4761 - Removed debug output
4763 - PositionCaret coordinates are now works in absolute space, not
4765 - Improved tracking of document size
4766 - Added events for width and height changes
4768 2005-06-21 Peter Bartok <pbartok@novell.com>
4770 * Form.cs: Set focus to active control when form is activated
4772 - Added word-wrap functionality to RecalculateLine()
4773 - Added some short function descriptions for VS.Net to aid in
4774 writing dependent controls
4775 - Added Caret property, returning the current coords of the caret
4776 - Added ViewPortWidth and ViewPortHeight properties
4777 - Added Wrap property
4778 - Added CaretMoved event
4779 - Removed some old debug code
4780 - Split() can now create soft splits
4781 - Added PreviousTag()/NextTag() to allow walking "tag-lists"
4782 - Added method to format existing text
4783 - Fixed size/alignment calculations to use viewport
4784 - RecalculateDocument now can handle changing line-numbers while
4788 - Added some wrap logic, we don't wrap if alignment is not left
4789 - Added casts for scrollbar var, base class switched types to
4790 also support RichTextBoxA
4791 - Implemented handling of scrollbar visibility flags
4794 - Switched scrollbars type to RichTextBoxScrollBars to support
4796 - Added tracking of canvas width/height
4797 - Switched scrollbars to be not selectable (to keep focus on text)
4798 - Added central CalculateDocument() method to handle all redraw
4800 - Added ReadOnly support
4801 - Added WordWrap support
4802 - Fixed handling of Enter key (we now treat it as a DialogKey)
4803 - Fixed caret positioning when h or v scroll is not zero
4804 - Fixed placing/generation of vertical scrollbar
4805 - Added CalculateScrollBars() method to allow updating scrollbar
4806 limits and visibility
4807 - Fixed handling of horizontal scroll
4808 - Added handling of vertical scroll
4809 - Implemented auto-'jump' when caret moves to close to a left or
4810 right border and there is text to be scrolled into view (currently
4811 there's the potential for a stack overflow, until a bug in
4814 2005-06-21 Geoff Norton <gnorton@customerdna.com>
4816 * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
4818 2005-06-19 Alexander Olk <xenomorph2@onlinehome.de>
4822 - return application/x-zerosize for files with size zero
4823 (if no extension pattern matches).
4824 - check matches collection for strings too.
4825 - return only the first mime type if the name value
4826 collection has more than one mime type.
4828 2005-06-18 Jonathan Chambers <jonathan.chambers@ansys.com>
4830 * PropertyGrid.cs: Cleaned up some TODOs
4831 * PropertyGridView.cs: Added support for UITypeEditors
4833 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
4835 * DataGrid.cs: clears cached value
4837 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
4839 * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
4840 * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
4841 * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
4842 * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
4844 2005-06-16 Jordi Mas i Hernandez <jordi@ximian.com>
4846 * ThemeWin32Classic.cs: fixes colour
4848 2005-06-15 Peter Bartok <pbartok@novell.com>
4850 * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
4851 * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
4852 * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
4853 * Control.cs: Added some MWFCategory and MWFDescription attributes
4854 * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
4856 2005-06-15 Alexander Olk <xenomorph2@onlinehome.de>
4858 * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
4861 2005-06-14 Jordi Mas i Hernandez <jordi@ximian.com>
4863 * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
4864 * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
4865 * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
4866 * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
4867 * DataGrid.cs: default datagrid settings for Default Styles, fixes
4868 * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
4870 2005-06-13 Jackson Harper <jackson@ximian.com>
4872 * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
4873 isn't printed when the user enables dropping. (X11 does accept
4876 2005-06-13 Jackson Harper <jackson@ximian.com>
4878 * TreeView.cs: Remove some TODOS.
4880 2005-06-13 Jackson Harper <jackson@ximian.com>
4882 * Form.cs: Hook into the mdi framework.
4883 * MdiClient.cs: Use the base control collections add method so
4884 parents get setup correctly. Set the default back colour and dock
4886 * MdiChildContext.cs: New class, this bad actor handles an
4887 instance of an MDI window. Right now there is only basic
4888 support. You can drag, close, and resize windows. Minimize and
4889 Maximize are partially implemented.
4891 2005-06-13 Jackson Harper <jackson@ximian.com>
4893 * XplatUIX11.cs: Mash numbers together properly, otherwise we get
4894 freaky when both vals are negative. NOTE: There are probably other
4895 places in XplatUIX11 that this needs to be done.
4897 2005-06-13 Jordi Mas i Hernandez <jordi@ximian.com>
4899 * DataGrid.cs: implement missing methods, move KeyboardNavigation
4900 * DataGridColumnStyle.cs: fixes signature
4902 2005-06-12 Jackson Harper <jackson@ximian.com>
4904 * XplatUIX11.cs: Use sizing cursors similar to the ones on
4907 2005-06-11 Jackson Harper <jackson@ximian.com>
4909 * StatusBarPanel.cs: Signature cleanups. Implement
4912 2005-06-10 Jordi Mas i Hernandez <jordi@ximian.com>
4914 * DataGridTextBoxColumn.cs: Honors aligment
4915 * GridColumnStylesCollection.cs: Contains is case unsensitive
4916 * GridTableStylesCollection.cs: several fixes
4917 * DataGridTableStyle.cs: default column creation
4918 * DataGridDrawingLogic.cs: fixes
4919 * CurrencyManager.cs: ListName property
4920 * DataGrid.cs: multiple styles support
4921 * DataGridColumnStyle.cs: fixes
4924 2005-06-10 Peter Bartok <pbartok@novell.com>
4926 * Control.cs(Select): Moved SetFocus call to avoid potential
4927 loops if controls change the active control when getting focus
4928 * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
4931 2005-06-10 Matthias Felgner <matthiasf@voelcker.ocm>
4933 * ImageListConverter.cs: Implemented
4935 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
4937 * MonthCalendar.cs: Wired in NumericUpDown control for year
4939 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
4941 * MonthCalendar.cs: Removed MonoTodo attributes on Click and
4942 DoubleClick events, since they are not meant to be fired.
4944 2005-06-09 Peter Bartok <pbartok@novell.com>
4946 * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
4947 Jonathan's standalone controls into MWF, implemented missing
4948 events, attributes and methods; added xxxAccessible classes
4949 * AccessibleObject.cs: Made fields internal so other classes
4950 can change them if needed
4952 2005-06-09 Jonathan Gilbert <2a5gjx302@sneakemail.com>
4954 * UpDownBase.cs: Complete implementation
4955 * NumericUpDown.cs: Complete implementation
4956 * DomainUpDown.cs: Complete implementation
4958 2005-06-09 Jordi Mas i Hernandez <jordi@ximian.com>
4960 * DataGridTextBoxColumn.cs: drawing fixes
4961 * DataGridCell.cs: fixes ToString method to match MSNet
4962 * DataGridTableStyle.cs: fixes
4963 * DataGridBoolColumn.cs: fixes, drawing
4964 * DataGridDrawingLogic.cs: fixes, new methods
4965 * DataGridTextBox.cs: Keyboard and fixes
4967 - Keyboard navigation
4969 - Row selection (single, multiple, deletion, etc)
4972 2005-06-07 Jackson Harper <jackson@ximian.com>
4974 * ThemeWin32Classic.cs: Clear the background area when drawing
4977 2005-06-06 Peter Bartok <pbartok@novell.com>
4979 * ImageListStreamer.cs: Fixed signature for GetData
4980 * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
4982 - Added missing ChildAccessibleObject class
4983 - Added missing OnXXXFocus overrides, switched to using those
4984 instead of the event handler
4986 - Added Parent property for ControlAccessibleObject
4989 - Added ResetBindings()
4990 * ListBindingConverter.cs: Implemented some methods
4991 * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
4992 * ImageList.cs: Implemented basic handle scheme, removed TODOs
4993 * ContainerControl.cs: Fixed signature, now subscribing to the
4994 ControlRemoved event instead of overriding the handler, LAMESPEC
4995 * CurrencyManager.cs: Added missing attribute
4996 * MonthCalendar.cs: Added missing properties
4998 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
5000 * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
5002 2005-06-06 Gaurav Vaish and Ankit Jain
5004 * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
5005 * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
5007 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
5009 * Control.cs: fixes CreateParams Width / Height.
5011 2005-06-05 Peter Bartok <pbartok@novell.com>
5013 * Win32DnD.cs: Removed compilation warnings
5015 2005-06-05 Peter Bartok <pbartok@novell.com>
5017 * Control.cs (CreateParams): Since we don't know if one of the
5018 properties we use is overridden, lets make sure if we fail accessing
5019 we continue with a backup plan
5021 2005-06-05 Peter Bartok <pbartok@novell.com>
5024 - Removed debug output
5025 - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
5027 - Plugged resource leak
5028 * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
5031 2005-06-05 Peter Bartok <pbartok@novell.com>
5033 * XplatUIWin32.cs: Removed DnD code
5034 * Win32DnD.cs: Implemented drop source and drop target functionality
5036 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5038 * UpDownBase.cs: remove duplicate addition of event, enable some code
5039 that was commented out.
5040 * NumericUpDown.cs: added missing attributes and Hexadecimal property.
5041 Validate input when a key is pressed. It works fine now for every
5042 combination of Hexadecimal. Only missing some drawing love when sharing
5043 space with other controls.
5045 2005-06-04 Peter Bartok <pbartok@novell.com>
5048 - We need to pass a window for DragDrop, so enable callback events
5049 - Added DnD callback events when being a DragSource
5050 * XplatUI.cs (StartDrag): Added window handle argument
5051 * XplatUIDriver.cs (StartDrag): Added window handle argument
5052 * QueryContinueDragEventArgs: Made fields internally accessible so
5053 drivers can set them
5054 * GiveFeedbackEventArgs: Made fields internally accessible so drivers
5057 2005-06-03 Jordi Mas i Hernandez <jordi@ximian.com>
5059 * DataGridTextBoxColumn.cs: column text editing
5060 * DataGridTableStyle.cs: Respect columns styles created by the user
5061 * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
5062 * DataGridBoolColumn.cs: bool column editing
5063 * DataGrid.cs: fixes to scrolling, properties, etc
5064 * DataGridTextBox.cs: handle keyboard
5065 * DataGridColumnStyle.cs: fixes
5067 2005-06-02 Jackson Harper <jackson@ximian.com>
5069 * ImageListStreamer.cs: Somewhat broken implementation of
5070 GetObjectData. The RLE needs some work to match MS properly.
5072 2005-06-02 Jackson Harper <jackson@ximian.com>
5074 * X11Dnd.cs: Attempting to keep at least one file in MWF
5077 2005-06-02 Peter Bartok <pbartok@novell.com>
5079 * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
5082 2005-06-02 Peter Bartok <pbartok@novell.com>
5084 * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
5085 * XplatUI.cs: Added DoDragDrop() method
5086 * XplatUIDriver.cs: Added DoDragDrop() method
5088 2005-06-02 Jackson Harper <jackson@ximian.com>
5090 * Splitter.cs: Implement BorderStyle.
5092 2005-06-02 Jackson Harper <jackson@ximian.com>
5094 * XplatUIX11.cs: Tie into the X11Dnd subsystem.
5095 * X11Dnd.cs: New file. A subsystem that handles drag and drop on
5098 2005-06-02 Peter Bartok <pbartok@novell.com>
5102 - Fixed broken insertion code for SetData, now also
5103 overwrites any existing entry of the same format name
5104 * Hwnd.cs: Added list of pointers that automatically gets
5105 freed when the window is disposed
5106 * XplatUI.cs: Call driver initialization method when loading
5109 - OnDragLeave takes EventArgs, not DragEventArgs
5110 - Added setting of WS_EX_ACCEPTFILES style when dropping is
5112 - Forces style update when drop state changes
5113 * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
5114 not perfect since we cannot (yet) call the IDataObject.GetData()
5115 method, we keep getting 0x80004005 error, dunno why)
5117 2005-06-02 Peter Bartok <pbartok@novell.com>
5119 * DragEventArgs.cs: Make fields internal so we can cache the
5120 object and re-set the fields from XplatUI
5122 2005-06-02 Jackson Harper <jackson@ximian.com>
5124 * Control.cs: Add some internal methods so the DnD subsystem can
5125 raise DnD events. Also call into the driver when AllowDrop is set.
5127 * XplatUIDriver.cs: New method for setting whether or not a window
5128 is allowed to accept drag and drop messages.
5130 2005-06-01 Jordi Mas i Hernandez <jordi@ximian.com>
5132 * ScrollBar.cs: Make sure that values sent in Scroll events
5133 are always between Maximum and Minimum.
5135 2005-06-01 Marek Safar <marek.safar@seznam.cz>
5137 * Menu.cs: Call MenuChanged when menuitem visibility has been
5139 * MenuItem.cs: Rebuild menu when item is (not) visible.
5140 * MainMenu.cs: MainMenu has special MenuChanged.
5141 * Theme.cs: Caption and FrameBorderSize are not fixed.
5142 * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
5143 * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
5145 * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
5146 * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
5148 2005-05-30 Jackson Harper <jackson@ximian.com>
5150 * DataFormat.cs: We can't statically initialize this stuff because
5151 it calls into the xplatui and could create a loop. So we lazy init
5154 2005-05-28 Jackson Harper <jackson@ximian.com>
5156 * Control.cs: Proper implementation of Product(Name/Version).
5158 2005-05-27 Jackson Harper <jackson@ximian.com>
5160 * DataObject.cs: Dont crash if no data is found.
5162 2005-05-26 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
5163 * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
5164 as per status page, guessing it should be set to true
5166 2005-05-26 Jordi Mas i Hernandez <jordi@ximian.com>
5168 * DataGridTextBoxColumn.cs: Draws text and basic text formatting
5169 * DataGridTableStyle.cs: set proper formatting text, def header text
5170 * ThemeWin32Classic.cs: new themable paramaters
5171 * DataGridBoolColumn.cs: paint check box, get data, fixes
5172 * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
5173 * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
5174 * DataGridColumnStyle.cs: fixes
5175 * Theme.cs: new themable paramaters
5177 2005-05-26 Peter Bartok <pbartok@novell.com>
5179 * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
5181 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
5182 * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
5184 2005-05-24 Peter Bartok <pbartok@novell.com>
5186 * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
5187 Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
5188 Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
5189 FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
5190 NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
5191 ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
5192 DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
5193 AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
5194 DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
5195 StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
5196 missing attributes, etc
5197 * DataGridPreferredColumnWidthTypeConverter.cs: Added
5199 2005-05-24 Peter Bartok <pbartok@novell.com>
5201 * Help.cs: Added, implemented trivial functions, throws up MessageBox
5202 when user tries to get help
5203 * DataObject.cs, DataFormats.cs, LinkArea.cs,
5204 SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
5205 to suppress warnings
5206 * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
5207 avoid unreachable code warning
5209 2005-05-20 Peter Bartok <pbartok@novell.com>
5211 * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
5213 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
5215 * DataGridTextBoxColumn.cs: Basic painting methods
5216 * DataGridTableStyle.cs: Set table style in the column
5217 * ThemeWin32Classic.cs: Use Theme for colors
5218 * DataGridDrawingLogic.cs: Implement more drawing
5219 * DataGrid.cs: drawing, theming, enhacements, fixes
5220 * DataGridColumnStyle.cs: fixes, drawing
5221 * Theme.cs: theming for Datagrid
5223 2005-05-20 Peter Bartok <pbartok@novell.com>
5225 * Cursor.cs: Implemented GetObjectData() method
5227 2005-05-20 Peter Bartok <pbartok@novell.com>
5229 * Cursors.cs: Added setting of cursor name
5231 - Implemented constructors
5232 - Implemented Draw and DrawStretched
5233 - Implemented Current property
5234 - Implemented == and != operators
5235 - Implemented Dispose()
5236 - Implemented ToString
5237 - Added missing attributes
5239 - Added missing reset for OverrideCursor when DoEvents is called
5240 - Fixed creation of cursor, logic was wrong
5242 - Added missing reset for OverrideCursor when DoEvents is called
5243 - Fixed creation of cursor, bit arrays were swapped
5244 * Clipboard.cs: Removed obsolete MonoTODO attribute
5246 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
5248 * ComboBox.cs: fixes OnSelectedItemChanged
5249 * ControlBindingsCollection.cs: fixes item range check
5251 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
5254 - Calc preferred height properly
5255 - Implement missing properties
5257 * NumericUpDown.cs: Implement missing events
5259 2005-05-19 Jackson Harper <jackson@ximian.com>
5261 * TabControl.cs: New method that resizes the tab pages before
5262 redrawing them. This as needed as the control is double buffered
5263 and sizing will not be recalculated unless ResizeTabPages is
5265 * TabPage.cs: Set base.Text instead of Text in the constructor so
5266 that UpdateOwner does not get called. Use the new Redraw method of
5267 TabControl instead of Refresh so the sizing is recalculated.
5268 * ThemeWin32Classic.cs: Draw the text for button tabs.
5270 2005-05-19 Jackson Harper <jackson@ximian.com>
5272 * Control.cs: Paint control background images. Fix typo where
5273 PaintControlBackground was not getting called correctly.
5275 2005-05-19 Peter Bartok <pbartok@novell.com>
5277 * ScrollableControl.cs (DisplayRectangle): Undid my last change until
5278 I can investigate, apparently I broke FileDialog
5280 2005-05-19 Marek Safar <marek.safar@seznam.cz>
5282 * AxHost.cs: Some simple properties.
5283 * Control.cs: window must be accessible after ctor.
5284 * Form.cs: Added TransparencyKey property.
5285 * TextBoxBase.cs: Implemented Clear. Text property can be null.
5286 * XplatUIWin32.cs: SetBorderStyle implemented.
5288 2005-05-18 Peter Bartok <pbartok@novell.com>
5290 * DataObject.cs: Entries are not global but particular to the
5291 DataObject, now it behaves that way
5292 * XplatUIWin32.cs: Implemented Clipboard methods
5293 * Clipboard.cs: Implemented
5294 * ScrollableControl.cs (DisplayRectangle): Fixed calculation
5295 * XplatUIOSX.cs: Updated to final clipboard prototypes
5296 * XplatUIX11.cs: Implemented Clipboard methods
5297 * XplatUIDriver.cs: Updated to final clipboard prototypes
5298 * XplatUIStructs.cs:
5299 - Added BITMAPINFOHEADER struct
5300 - Added ClipboardFormats enum
5302 - Added ClipboardStruct
5303 - Added Atom enum items for clipboard types
5304 - Fixed atom types for Selection event structures
5306 - Added internal properties and methods for drivers to enumerate
5308 - Switched initialization method to allow drivers to assign their
5309 own IDs even for the MS predefined clipboard IDs
5310 * XplatUI.cs: Updated to final clipboard interface
5312 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
5313 * PropertyGridView.cs: Fixed compiler warnings.
5315 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
5316 * PropertyGrid.cs: Added some event calls
5317 * PropertyGridView.cs: Change drawing code to use double buffering
5318 * PropertyGridTextBox.cs: Changed Text property name
5319 * GridItem.cs: Added Bounds property.
5320 * GridEntry.cs: Added Bounds property.
5322 2005-05-17 Lluis Sanchez Gual <lluis@novell.com>
5324 * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
5325 since GetType() may not return the correct type if the object is
5328 2005-05-17 Jordi Mas i Hernandez <jordi@ximian.com>
5330 * TreeNodeCollection.cs: fixes get/set item ranges
5332 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
5334 * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
5336 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
5338 * ComboBox.cs: Fix item range comparation
5339 * ListView.cs: Fix item range comparation
5341 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
5344 - Clear example panel when OnPaint is called
5345 - Better solution for displaying the example panel text
5346 - Select default indexes in the ListBoxes
5348 2005-05-11 Geoff Norton <gnorton@customerdna.com>
5350 * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926
5352 2005-05-11 Peter Bartok <pbartok@novell.com>
5354 * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
5355 * SelectionRangeConverter.cs: Implemented
5356 * PropertyGrid.cs: Fixed attribute value
5358 - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
5359 - Added Sebastien Pouliot's CAS Stack Propagation fixes
5360 * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
5361 that's common to all drivers. First methods to go there are
5362 Sebastien Pouliot's CAS Stack Propagation helper methods
5363 * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
5364 Sebastien Pouliot for CAS Stack Propagation
5366 2005-05-11 Geoff Norton <gnorton@customerdna.com>
5369 XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
5371 2005-05-12 Jordi Mas i Hernandez <jordi@ximian.com>
5373 * DataGridTextBoxColumn.cs: fixed some members
5374 * GridColumnStylesCollection.cs: indexed column is case insensitive
5375 * DataGridTableStyle.cs: fixes
5376 * ThemeWin32Classic.cs: add new theme parameter
5377 * Theme.cs: add new theme parameter
5378 * DataGridDrawingLogic.cs: Datagrid's drawing logic
5379 * DataGrid.cs: fixes, new internal properties, etc.
5380 * DataGridColumnStyle.cs: allows to set grid value
5383 2005-05-10 Peter Bartok <pbartok@novell.com>
5385 * AccessibleObject.cs:
5386 - Removed MonoTODO attribute on help, method is correct
5387 - Fixed Bounds property
5388 * AxHost.cs: Moved MonoTODO
5389 * ButtonBase.cs: Now setting AccessibleObject properties
5390 * RadioButton.cs: Setting proper AccessibleObject role
5391 * CheckBox.cs: Setting proper AccessibleObject role
5392 * ControlBindingsCollection.cs: Added properties, methods and attributes
5393 * DataFormats.cs: Fixed awkward internal API, and changed to enable
5394 userdefined DataFormats.Format items as well
5395 * ListControl.cs: Removed data_member from the public eye
5396 * OpenFileDialog.cs:
5398 - Added missing attributes
5399 * SaveFileDialog.cs: Added missing attributes
5400 * ImageListStreamer.cs: Fixed code that caused warnings
5401 * LinkLabel.cs: Removed unreachable code
5402 * TreeView.cs: Fixed code that caused warnings
5403 * PropertyGridView.cs: Fixed code that caused warnings
5404 * GridColumnStylesCollection.cs: Added missing attributes
5405 * GridTableStylesCollection: Added missing attribute
5406 * PropertyManager: Added .ctor
5407 * SecurityIDType: Added
5408 * DataObject.cs: Implemented class
5409 * LinkArea.cs: Added missing attribute
5411 2005-05-11 Jordi Mas i Hernandez <jordi@ximian.com>
5413 * RadioButton.cs: call base method to allow to fire OnClick event
5414 * UpDownBase.cs: OnMouseUp call base method
5415 * CheckedListBox.cs: call base method before returning
5416 * TrackBar.cs: call base method before returning
5419 2005-05-10 Peter Bartok <pbartok@novell.com>
5421 * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
5424 2005-05-10 Peter Bartok <pbartok@novell.com>
5426 * DataFormats.cs: Implemented
5427 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
5428 XplatUIX11.cs: Added Clipboard APIs
5429 * XplatUIWin32.cs: Implemented Clipboard APIs
5430 * FolderBrowserDialog.cs: Added missing event, attributes
5432 2005-05-10 Jordi Mas i Hernandez <jordi@ximian.com>
5434 * CheckBox.cs: call base method to allow to fire OnClick event
5436 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
5438 * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
5440 2005-05-06 Peter Bartok <pbartok@novell.com>
5442 * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
5443 * Screen.cs: Implemented
5444 * HelpNavigator.cs: Added
5445 * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
5447 * HelpProvider.cs: Implemented all we can do until we have a CHM
5448 help library (which means that "What's This" does work now)
5450 2005-05-06 Jackson Harper <jackson@ximian.com>
5452 * XplatUIX11.cs: Fix waking up the main loop.
5454 2005-05-05 Peter Bartok <pbartok@novell.com>
5456 * XplatUI.cs: Updated revision
5457 * Form.cs: Removed enless loop
5458 * GroupBox.cs (OnPaint): Added call to base.OnPaint()
5459 * Label.cs (OnPaint): Added call to base.OnPaint()
5460 * ToolTip.cs: Made ToolTipWindow reusable for other controls
5461 * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
5462 * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
5464 * ButtonBase.cs: Moved base.OnPaint() call to end of method
5465 * ThemeWin32Classic.cs: Replaced references to ToolTip with references
5466 to ToolTip.ToolTipWindow for drawing and size methods; this allows
5467 reuse of ToolTipWindow by other controls
5468 * SizeGrip.cs: Moved base.OnPaint() call to end of method
5469 * XplatUIX11.cs: Now clipping drawing area (experimental)
5470 * PictureBox.cs: Moved base.OnPaint() call to end of method
5471 * Theme.cs: Fixed ToolTip abstracts to match new format
5472 * ErrorProvider.cs: Implemented
5474 2005-05-05 Jordi Mas i Hernandez <jordi@ximian.com>
5476 * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
5480 - Implements LinkBehavior
5483 2005-05-03 Jackson Harper <jackson@ximian.com>
5485 * ListView.cs: Calculate the scrollbar positioning on resize and
5486 paint, so they get put in the correct place.
5488 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
5490 * ColorDialogs.cs: The small color panels are now handled by
5491 SmallColorControl. This fixes drawing of the focus rectangle
5492 and adds a 3D border.
5494 2005-05-03 Peter Bartok <pbartok@novell.com>
5496 * Control.cs: Modified version of Jonathan Chamber's fix for
5499 2005-05-03 Jackson Harper <jackson@ximian.com>
5501 * ListView.cs: Remove redraw variable. Control now handles whether
5502 or not a redraw needs to be done, and will only raise the paint
5503 event if redrawing is needed.
5505 2005-05-03 Jackson Harper <jackson@ximian.com>
5507 * Splitter.cs: No decorations for the splitter form. Cache the
5510 2005-05-03 Jackson Harper <jackson@ximian.com>
5512 * TreeView.cs: Use dashed lines to connect nodes. Use the
5513 ControlPaint method for drawing the focus rect instead of doing
5516 2005-05-02 Peter Bartok <pbartok@novell.com>
5518 * LinkLabel.cs: Fixed the fixes from r43566 and 43521
5520 2005-04-29 Jackson Harper <jackson@ximian.com>
5522 * ThemeWin32Classic.cs: Don't clear the GC that will clear the
5523 entire image buffer. Just clear the clipping rectangle.
5525 2005-04-29 Jackson Harper <jackson@ximian.com>
5527 * ThemeWin32Classic.cs: Don't draw list view items that are
5528 outside the clipping rectangle.
5530 2005-04-29 Jordi Mas i Hernandez <jordi@ximian.com>
5532 * ListBox.cs: added horizontal item scroll
5534 2005-04-29 Jackson Harper <jackson@ximian.com>
5536 * ThemeWin32Classic.cs: Remove some old debug code that was
5537 causing flicker with the new double buffering code.
5539 2005-04-29 John BouAntoun <jba-mono@optusnet.com.au>
5541 * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
5542 behave like combobox and comboboxlist (still not sure if this is
5545 2005-04-28 Jackson Harper <jackson@ximian.com>
5547 * ThemeWin32Classic.cs: Don't fill the middle of progress
5548 bars. This fills areas outside of the clip bounds that don't need
5551 2005-04-28 Jackson Harper <jackson@ximian.com>
5553 * Control.cs: Don't expose functionality to touch the image buffers.
5555 * ListView.cs: We do not need to (and no longer can) manipulate
5556 the image buffers directly. All of this is handled by Control.
5558 2005-04-28 Peter Bartok <pbartok@novell.com>
5560 * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
5561 RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
5562 RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
5564 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
5567 - Adjust control's height for non-simple comboboxes (bug fix)
5569 * MenuAPI.cs: remove unused var
5570 * ScrollBar.cs: remove unsed var
5572 * ListBox.cs: unselect items when clearing
5574 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
5576 * ListControl.cs: honors OnPositionChanged and default Selected Item
5577 * ListBox.cs: unselect items when clearing
5579 2005-04-27 Jackson Harper <jackson@ximian.com>
5581 * X11Keyboard.cs: Initialize a default keyboard and give a warning
5582 if a "correct" keyboard is not found. This will make us not crash,
5583 but might give some users bad keyboard layouts...seems to be the
5584 same thing rewind does.
5586 2005-04-27 Jackson Harper <jackson@ximian.com>
5588 * BindingManagerBase.cs: Attach the current/position changed
5589 handlers to their respective events.
5591 2005-04-27 Jackson Harper <jackson@ximian.com>
5593 * Control.cs: Make sure that the first WM_PAINT does a full draw,
5595 * ThemeWin32Classic.cs: Don't fill the background for picture
5596 boxes. This could overright user drawing.
5597 * ComboBox.cs: Just fill the clipping rect not the entire client
5598 rect when drawing the background. This prevents pieces of the
5599 image buffer from getting overwritten and is theoretically faster.
5601 2005-04-26 Jordi Mas i Hernandez <jordi@ximian.com>
5603 * ComboBox.cs: Databinding support fixes, fire missing events
5604 * ListControl.cs: implement missing methods and properties, fixes
5605 * ThemeWin32Classic.cs: Databiding support on Drawing
5606 * CheckedListBox.cs: Databinding support fixes, fire missing events
5607 * ListBox.cs: Databinding support fixes, fire missing events
5609 2005-04-25 Peter Bartok <pbartok@novell.com>
5611 * LinkLabel.cs: Length of LinkArea is not allowed to be negative
5613 2005-04-25 Jackson Harper <jackson@ximian.com>
5615 * TreeView.cs: Use the horizontal scrollbars height not width when
5616 determining how much of the client area is available.
5618 2005-04-25 Jackson Harper <jackson@ximian.com>
5620 * Control.cs: Double buffering is handled differently now. As per
5621 the spec, the extra buffer is created in the WM_PAINT message and
5622 passed down to the control's drawing code.
5630 * PropertyGridView.cs:
5642 * DateTimePicker.cs:
5644 * TreeView.cs: Update to new double buffering system.
5645 * MonthCalendar.cs: Uncomment block, as Capture is now
5646 working. Update to new double buffering
5647 * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
5648 * PaintEventArgs.cs: New internal method allows us to set the
5649 graphics object. This is used for double buffering.
5650 * ThemeWin32Classic.cs: Give the picture box drawing code a clip
5651 rectangle. The internal paint_area var has been removed from
5652 StatusBar. The clipping rect should be used instead.
5653 * Theme.cs: Give the PictureBox drawing method a clipping rect.
5654 * TabPage.cs: The RefreshTabs method was removed, so just call the
5655 tab controls Refresh method now.
5656 * TabControl.cs: Update to new double buffering. Make sure the
5657 handle is created before sizing the tab pages, otherwise we will
5658 get stuck in a loop.
5660 2005-04-24 Borja Sanchez Zamorano <borsanza@gmail.com>
5662 * LinkLabel.cs: Fix typo, bug #74719; patch
5663 from Borja Sanchez Zamorano
5665 2005-04-22 Jackson Harper <jackson@ximian.com>
5667 * TreeNode.cs: Implement Handle stuff.
5668 * TreeView.cs: Utility methods so nodes can get/lookup by handle.
5670 2005-04-22 Jordi Mas i Hernandez <jordi@ximian.com>
5672 * DataGridTextBoxColumn.cs: call base constructors, fixes
5673 * GridColumnStylesCollection.cs: missing events, methods, and functionality
5674 * GridTableStylesCollection.cs: fixes, check duplicate mapping names
5675 * DataGridTableStyle.cs: implements create default column styles
5676 * DataGridBoolColumn.cs: which types can handle
5677 * DataGrid.cs: missing methods, fixes, new functionality
5678 * DataGridColumnStyle.cs: fixes
5680 2005-04-20 Alexander Olk <xenomorph2@onlinehome.de>
5681 * FolderBrowserDialog.cs:
5682 - Use a thread to fill the TreeView
5683 - Adjusted some sizes
5685 2005-04-19 Peter Bartok <pbartok@novell.com>
5687 * LinkLabel.cs: (Re-)create the pieces when setting the Text
5688 property. Fixes #74360.
5690 2005-04-19 Jackson Harper <jackson@ximian.com>
5692 * XEventQueue.cs: Lock when getting the lockqueue size.
5693 * PictureBox.cs: Call base OnPaint
5695 2005-04-19 Peter Bartok <pbartok@novell.com>
5697 * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
5698 messages were no longer being processed (this broke BeginInvoke)
5701 2005-04-18 Jackson Harper <jackson@ximian.com>
5703 * TreeView.cs: buglet that caused node images to get drawn
5704 regardless of whether or not they were in the clipping rectangle.
5706 2005-04-18 Jackson Harper <jackson@ximian.com>
5708 * CurrencyManager.cs: There are four rules for GetItemProperties:
5709 - If the type is an array use the element type of the array
5710 - If the type is a typed list, use the type
5711 - If the list contains an Item property that is not an object, use
5713 - use the first element of the list if there are any elements in
5716 2005-04-17 Jackson Harper <jackson@ximian.oom>
5718 * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
5719 click. This handles offsets for scrolling properly and reduces
5720 memory. Also fixed GetNode to not offset now that TopNode works
5722 * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
5724 2005-04-17 Jackson Harper <jackson@ximian.com>
5726 * CursorConverter.cs: Initial implementation.
5728 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
5730 * ListControl.cs: work towards complex data binding support on ListControl
5731 * CurrencyManager.cs: work towards complex data binding support on ListControl
5732 * ListBox.cs: work towards complex data binding support on ListControl
5735 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
5737 * GridTableStylesCollection.cs: fixes name and constructor
5738 * DataGridTableStyle.cs: fixes
5739 * DataGridBoolColumn.cs: fixes names and constructors
5740 * DataGrid.cs: define methods and properties. Some init implementations
5741 * DataGridCell.cs: define methods and properties. Some init implementations
5742 * GridTablesFactory.cs: Define methods and properties
5744 2005-04-15 Geoff Norton <gnorton@customerdna.com>
5746 * XplatUIOSX.cs: Handle proper mouse tracking even if the current
5747 graphics port changes. We still want the coordinates in global screen
5750 2005-04-14 Jackson Harper <jackson@ximian.com>
5752 * TreeView.cs: Handle clicks when plus minus is disabled. Don't
5753 check plus minus or checkbox clicks unless those features are enabled.
5755 2005-04-14 Jackson Harper <jackson@ximian.com>
5757 * TreeView.cs: Add methods for setting the top and bottom visible
5758 nodes. TreeNode::EnsureVisible uses these methods.
5759 * TreeNode.cs: Implement EnsureVisible
5761 2005-04-13 Jordi Mas i Hernandez <jordi@ximian.com>
5763 * Form.cs: Pospone menu assignation if the window has not been created yet
5764 * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
5767 2005-04-12 Jackson Harper <jackson@ximian.com>
5769 * TreeView.cs: Set the TopNode properly when scrolling
5770 occurs. This has the added benifit of reducing the amount of
5771 walking that needs to be done when drawing. Also removed an old
5773 * OpenTreeNodeEnumerator.cs: Fix moving backwards.
5775 2005-04-11 Jordi Mas i Hernandez <jordi@ximian.com>
5777 * Timer.cs: fixes interval setting when the timer is already enabled
5779 2005-04-10 Alexander Olk <xenomorph2@onlinehome.de>
5781 * FolderBrowserDialog.cs: First approach
5783 2005-04-09 Peter Bartok <pbartok@novell.com>
5785 * FolderBrowserDialog: Added
5787 2005-04-07 Jordi Mas i Hernandez <jordi@ximian.com>
5789 * LinkLabel.cs: move drawing code into the theme
5790 * ThemeWin32Classic.cs: drawing code and painting background bugfix
5791 * Theme.cs: define DrawLinkLabel method
5793 2005-04-05 Jackson Harper <jackson@ximian.com>
5795 * BindingContext.cs: Use weak references so these bad actors don't
5796 stay alive longer then they need to.
5798 2005-04-05 Jackson Harper <jackson@ximian.com>
5800 * ListControl.cs: Basic implementation of complex databinding.
5802 * ListBox.cs: Add calls to ListControl databinding methods.
5804 2005-04-05 Alexander Olk <xenomorph2@onlinehome.de>
5807 - Don't change PopupButtonState to Normal when the
5808 PopupButton gets pressed several times.
5809 - Renamed ButtonPanel to PopupButtonPanel
5811 2005-04-05 Jordi Mas i Hernandez <jordi@ximian.com>
5813 * ColorDialog.cs: Use cached objects instead of creating them
5814 * LinkLabel.cs: Use cached objects instead of creating them
5815 * Splitter.cs: Use cached objects instead of creating them
5816 * FontDialog.cs: Use cached objects instead of creating them
5817 * PropertyGridView.cs: Use cached objects instead of creating them
5818 * MessageBox.cs: Use cached objects instead of creating them
5819 * FileDialog.cs: Use cached objects instead of creating them
5820 * ThemeWin32Classic.cs: Use cached objects instead of creating them
5821 * TreeView.cs: Use cached objects instead of creating them
5823 2005-04-04 Jordi Mas i Hernandez <jordi@ximian.com>
5825 * Control.cs: use Equals to compare the font since no == op
5826 * ScrollBar.cs: use Equals to compare the font since no == op
5828 2005-04-04 Alexander Olk <xenomorph2@onlinehome.de>
5830 * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
5832 2005-04-01 Jackson Harper <jackson@ximian.com>
5834 * Binding.cs: Implement IsBinding.
5835 * BindingManagerBase.cs:
5836 * PropertyManager.cs:
5837 * CurrencyManager.cs: Add IsSuspended property.
5839 2005-04-01 Jackson Harper <jackson@ximian.com>
5841 * Binding.cs: Had some IsAssignableFrom calls backwards.
5843 2005-04-01 Jackson Harper <jackson@ximian.com>
5845 * Binding.cs: Handle null data members when pulling data.
5846 * PropertyManager.cs: Handle the data member being a property that
5849 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
5851 * DataGridTextBoxColumn.cs: fixes signature
5852 * DataGrid.cs: calls right constructor
5854 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
5856 * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
5857 * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
5858 * GridTableStylesCollection.cs: implements GridTableStylesCollection
5859 * DataGridTableStyle.cs: implements DataGridTableStyle
5860 * DataGridBoolColumn.cs: implements DataGridBoolColumn
5861 * DataGridTextBox.cs: implements DataGridTextBox
5862 * DataGridColumnStyle.cs: implements DataGridColumnStyle
5864 2005-03-31 Alexander Olk <xenomorph2@onlinehome.de>
5866 * FileDialog.cs: Added simple PopupButton class for ButtonPanel
5868 2005-03-29 Peter Bartok <pbartok@novell.com>
5871 - Properly implemented CompanyName property
5872 - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
5873 returns a path that includes CompanyName, ProductName and
5874 Version (fixes bug #70330)
5876 2005-03-29 Stefan Buehler <sbuehler@gmx.ch>
5878 * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
5881 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
5883 * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
5885 - Added ReadOnly CheckBox
5886 - Further refactoring: moved some code from Open-/SaveFileDialog
5889 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
5891 * OpenFileDialog.cs: Fixed CheckFileExists
5893 Moved FileView and DirComboBox outside FileDialog class.
5894 They can now be used outside FileDialog
5896 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
5898 * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
5899 * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
5901 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
5903 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
5904 - Added missing CreatePrompt property in SaveDialog
5905 - Overall SaveDialog handling should be better now
5906 - Added non standard ShowHiddenFiles property
5907 - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
5908 - Added InitialDirectory and RestoreDirectory support
5910 2005-03-26 Alexander Olk <xenomorph2@onlinehome.de>
5912 * FileDialog.cs: Made dirComboBox usable
5914 2005-03-24 Alexander Olk <xenomorph2@onlinehome.de>
5916 * FileDialog.cs: Added Filter support (case sensitiv)
5918 2005-03-24 Jackson Harper <jackson@ximian.com>
5920 * TabControl.cs: Need a couple more pixels for the lines.
5922 2005-03-23 Jackson Harper <jackson@ximian.com>
5924 * TabControl.cs: Give the tab page focus when it is selected.
5926 2005-03-23 Jackson Harper <jackson@ximian.com>
5928 * TabControl.cs: Account for the drawing of tabs borders when
5929 invalidating. If the slider was clicked dont do click detection on
5932 2005-03-23 Jackson Harper <jackson@ximian.com>
5934 * TabControl.cs: Fix typo, emilinates an unneeded expose event.
5936 2005-03-22 Jonathan Chambers <jonathan.chambers@ansys.com>
5938 * CategoryGridEntry.cs: Added
5939 * GridItem.cs: Added helper properties
5940 * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
5941 * GridEntry.cs: Updated code for collection
5942 * PropertyGrid.cs: Cleaned up some formatting
5943 * PropertyGridView.cs: Added drop down functionality for enums.
5944 * GridItemCollection.cs: Added enumerator logic
5945 * PropertyGridEntry.cs: Added
5947 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
5950 - Removed unnecessary commented code
5951 - Fixed handling for entering the filename manually in the combobox
5953 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
5955 * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
5957 2005-03-18 Peter Bartok <pbartok@novell.com>
5959 * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
5960 them being touching the border
5962 2005-03-18 Peter Bartok <pbartok@novell.com>
5964 * TextControl.cs: Quick hack to center text better
5966 2005-03-18 Peter Bartok <pbartok@novell.com>
5969 - Don't throw NotImplemented exceptions, just print a notice once
5970 instead (requested by Miguel). This makes running existing SWF
5973 - Commented out Drag'N'Drop XplatUI call (no driver support yet)
5974 - Added context menu trigger on right click
5975 * Panel.cs: Trigger invalidate on resize
5977 - Removed old double-buffer drawing
5978 - Added ResizeRedraw style to force proper update of statusbar
5980 - Removed debug output
5981 * ThemeWin32Classic.cs:
5982 - Fixed drawing of status bar, now draws Text property if there
5983 are no defined panels
5985 2005-03-18 Jackson Harper <jackson@ximian.com>
5987 * ImageList.cs: When the image stream is set pull all the images
5989 * ImageListStreamer.cs: Implement reading image list streams.
5991 2005-03-18 Peter Bartok <pbartok@novell.com>
5993 * ThemeWin32Classic.cs (DrawPictureBox):
5994 - Fixed calculations for centered drawing
5995 - Fixed drawing for normal mode, not scaling the image on normal
5997 2005-03-18 Peter Bartok <pbartok@novell.com>
5999 * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
6002 - Made Open/Save button the accept button for FileDialog
6003 - Tied the cancel button to the IButtonControl cancel button
6004 - Save/Open now properly builds the pathname
6005 - Now handles user-entered text
6006 - Preventing crash on right-click if no item is selected
6007 - Fixed Text property, now uses contents of textbox
6008 - Fixed SelectedText property, now just returns the text part that
6009 is selected in the text box
6011 2005-03-18 Jackson Harper <jackson@ximian.com>
6013 * ThemeWin32Classic.cs: Use the proper func for drawing the focus
6014 rect, make sure to de-adjust the interior rect after drawing the
6017 2005-03-18 Peter Bartok <pbartok@novell.com>
6019 * MenuAPI.cs: Remove menu *before* executing selected action to
6020 prevent the menu from 'hanging around'
6022 2005-03-17 Geoff Norton <gnorton@customerdna.com>
6024 * XplatUIOSX.cs: Implemented WorkingArea property
6026 2005-03-17 Peter Bartok <pbartok@novell.com>
6028 * XplatUIX11.cs: Fixed menu coord calculations
6029 * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
6030 for calculating offsets
6032 2005-03-17 Peter Bartok <pbartok@novell.com>
6034 * Hwnd.cs: Do not consider menu presence for default client
6035 rectangle location/size
6036 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
6037 XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
6038 translation functions
6039 * FileDialog.cs: Fixed (what I presume is a) typo
6041 2005-03-17 Jonathan Gilbert <logic@deltaq.org>
6043 * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
6044 X access (avoids X-Async errors)
6046 2005-03-16 Jackson Harper <jackson@ximian.com>
6048 * TabControl.cs: Raise the SelectedIndexChanged event.
6050 2005-03-16 Alexander Olk <xenomorph2@onlinehome.de>
6052 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
6053 - Removed vertical ToolBar and replaced it with a custom panel
6054 (desktop and home button already work)
6055 - Added Help button (some controls get resized or relocated then)
6056 - Draw correct text depending on Open or Save.
6057 - Fixed some typos...
6059 2005-03-16 Jordi Mas i Hernandez <jordi@ximian.com>
6062 - Only change Maximum and Minimum when need it (bug fix)
6064 2005-03-15 Peter Bartok <pbartok@novell.com>
6066 * Form.cs: Use Handle for icon, to trigger creation if
6067 the window does not yet exist
6069 - CanSelect: Slight performance improvement
6070 - Focus(): Preventing possible recursion
6071 - Invalidate(): Removed ControlStyle based clear flag setting
6072 - WM_PAINT: fixed logic for calling OnPaintBackground
6073 - WM_ERASEBKGND: Fixed logic, added call to new driver method
6074 EraseWindowBackground if the control doesn't paint background
6076 - Moved EraseWindowBackground() method to internal methods
6077 - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
6078 is sent via SendMessage on BeginPaint call on Win32
6080 - Added EraseWindowBackground() method
6081 - No longer sends WM_ERASEBKGND on .Expose, but on call to
6082 PaintEventStart, which more closely matches Win32 behaviour
6083 - Fixed Invalidate() call, now updates new ErasePending Hwnd property
6084 - Fixed SetFocus() to properly deal with client and whole windows
6085 * Hwnd.cs: Added ErasePending property
6086 * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
6087 * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
6089 2005-03-12 Geoff Norton <gnorton@customerdna.com>
6092 - Fix hard loop when timers exist.
6093 - Fix bugs with middle and right click for 3 button mice.
6095 2005-03-11 Peter Bartok <pbartok@novell.com>
6098 - get_WorkingArea: Need to call X directly, GetWindowPos only
6099 returns cached data now
6100 - Added sanity check to GetWindowPos hwnd usage
6102 2005-03-11 Jackson Harper <jackson@ximian.com>
6104 * BindingManagerBase.cs: This method isn't used anymore as
6105 PullData now updates the data in the control.
6107 2005-03-11 Jordi Mas i Hernandez <jordi@ximian.com>
6109 * Form.cs: fixes menu drawing on X11
6110 * MenuAPI.cs: fixes menu drawing on X11
6112 2005-03-11 Peter Bartok <pbartok@novell.com>
6114 * Control.cs: Changed OnCreateControl behaviour based on a suggestion
6115 from Jonathan Gilbert; should fix bug #73606
6116 * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
6117 in Screen coordinates. Thanks, Jordi.
6118 * Form.cs: Added missing attribute
6120 2005-03-11 Peter Bartok <pbartok@novell.com>
6123 - Rudimentary Mdi support
6124 - Removed outdated FormParent code
6125 - Implemented lots of missing properties and methods, still missing
6126 transparency support
6127 - Added missing attributes
6128 - Implemented support for MaximumBounds
6129 - Added firing of various events
6130 * XplatUI.cs: Added SetIcon() method
6131 * XplatUIDriver.cs: Added SetIcon() abstract
6132 * XplatUIOSX.cs: Stubbed out SetIcon() method
6134 - Implemented SetIcon() support
6135 - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
6136 - Switched to unix line endings
6138 - Made POINT internal so for can access it as part of MINMAX
6139 - Implemented SetIcon() support
6140 - Implemented support for CLIENTCREATESTRUCT (but might have to drop
6141 native Mdi support again, might have to go managed)
6142 * Control.cs: Now fires the StyleChanged event
6143 * MdiClient.cs: Added; still mostly empty
6145 2005-03-10 Peter Bartok <pbartok@novell.com>
6147 * SaveFileDialog.cs: Added emtpy file
6149 2005-03-08 Peter Bartok <pbartok@novell.com>
6151 * Control.cs: Fixed bug #73190; now invokes CreateControl (which
6152 in turn triggers OnCreateContro) when creating a handle for the
6154 * TextControl.cs: Fixed endless loop in certain cases when
6155 replacing the current selection
6157 2005-03-08 Jordi Mas i Hernandez <jordi@ximian.com>
6160 - Honors NewValue changes in Scroll events allowing apps to change it
6161 - Adds First and Last Scroll events
6162 - Fixes Thumb events
6164 2005-03-07 Peter Bartok <pbartok@novell.com>
6166 * Hwnd.cs: Added DefaultClientRectangle property
6167 * XplatUI.cs: Now using the X11 driver Where() method, which provides
6168 more detailed debug information
6170 - Fixed size-change feedback loop, where we would pull an old size
6171 off the queue and mistakenly change our window's size to an
6173 - Now compressing ConfigureNotify events, to reduce looping and
6175 * TextBoxBase.cs: Preventing crash when no text is set and ToString()
6178 2005-03-07 Jackson Harper <jackson@ximian.com>
6180 * Binding.cs: Push data pushes from data -> property. Check if the
6181 property is readonly when attempting to set it.
6183 2005-03-07 Jackson Harper <jackson@ximian.com>
6185 * Binding.cs: Format and parse data correctly. Use ASsignableFrom
6186 instead of IsSubclassOf. Pulling data now sets the value on the
6188 * PropertyManager.cs:
6189 * CurrencyManager.cs: Just need to pull data when updating now,
6190 because PullData will set the value on the control.
6192 2005-03-04 Jackson Harper <jackson@ximian.com>
6194 * Binding.cs: Implement data type parsing and converting on pulled
6195 data. TODO: Are there more ways the data can be converted?
6197 2005-03-04 Jackson Harper <jackson@ximian.com>
6199 * Binding.cs: Support <Property>IsNull checks. Also bind to the
6200 controls Validating method so we can repull the data when the
6201 control loses focus.
6203 2005-03-03 Jordi Mas i Hernandez <jordi@ximian.com>
6206 - Fixes null string format
6209 - Adds enum type checks
6210 - Fixes redrawing and recalc need after changing some properties
6211 - Fixes on focus_item set after the event
6212 - Fixes adding columns after the control has been created
6214 * ThemeWin32Classic.cs:
6215 - Fixes CheckBox focus rectangle
6216 - Fixes ColumnHeader drawing
6219 2005-03-03 Jackson Harper <jackson@ximian.com>
6221 * Binding.cs: Bind to <Property>Changed events so we can detect
6222 when properties are changed and update the data.
6224 2005-03-02 Jordi Mas i Hernandez <jordi@ximian.com>
6227 - Changes 32-bit pixel format to Format32bppArgb to allow transparency
6228 - Fixes ImageList constructor with ImageList container
6229 - Fixes image scaling (wrong parameters at DrawImage)
6231 2005-02-02 Jackson Harper <jackson@ximian.com>
6233 * Binding.cs: Make property searches case-insensitive. Eliminate
6234 some duplicated code.
6236 2005-03-01 Jordi Mas i Hernandez <jordi@ximian.com>
6239 - Handle focus event
6240 - Fix scrollbar events
6241 - Discard highlighted item if remove it
6242 - Fixes SelectedItem with strings
6244 2005-03-01 Peter Bartok <pbartok@novell.com>
6247 - Fixed Visible property, now follows (once again) parent chain
6248 to return false if any control in the chain is visible=false
6249 - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
6250 - Fixed several places where is_visible instead of Visible was used
6251 - Implemented FIXME related to focus selection when setting focused
6252 control to be invisible
6254 * XplatUIWin32.cs: Now using proper method to find out if window is
6255 visible. Thanks to Jordi for pointing it out
6257 2005-02-28 Jordi Mas i Hernandez <jordi@ximian.com>
6259 * ComboBox.cs: show/hide scrollbar instead of creating it
6261 2005-02-27 Jackson Harper <jackson@ximian.com>
6263 * CurrencyManager.cs: Add PositionChanged stuff.
6265 2005-02-27 Peter Bartok <pbartok@novell.com>
6267 * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
6268 * XplatUIOSX.cs: Added GetMenuOrigin() stub
6269 * XplatUIWin32.cs: Implemented GetMenuOrigin()
6271 - Implemented GetMenuDC()
6272 - Implemented GetMenuOrigin()
6273 - Implemented ReleaseMenuDC()
6274 - Implemented generation of WM_NCPAINT message
6275 - Implemented generation and handling of WM_NCCALCSIZE message
6276 * Form.cs: Added debug helper message for Jordi's menu work
6278 - Modified ClientRect property; added setter, fixed getter to handle
6279 setting of ClientRect
6280 - Added MenuOrigin property
6282 2005-02-26 Peter Bartok <pbartok@novell.com>
6285 - Destroys the caret if a window that's being destroyed contains it
6286 - Ignores expose events coming from the X11 queue for windows that
6287 already are destroyed
6288 - Now uses the proper variable for handling DestroyNotify, before we
6289 marked the wrong window as destroyed
6290 - Improved/added some debug output
6292 2005-02-26 Peter Bartok <pbartok@novell.com>
6294 * X11Keyboard.cs: Fixes to work on 64bit systems
6296 2005-02-26 Peter Bartok <pbartok@novell.com>
6299 - Now calling OnHandleDestroyed from DestroyHandle()
6300 instead of Dispose()
6301 - Removed bogus call to controls.Remove() from DestroyHandle()
6303 2005-02-26 Peter Bartok <pbartok@novell.com>
6305 * Control.cs: Properly destroy child windows when our handle is
6308 2005-02-25 Peter Bartok <pbartok@novell.com>
6311 - Added 'DriverDebug' define to allow tracing XplatUI API calls
6312 - Alphabetized Static Methods and Subclasses
6315 - Added XException class to allow custom handling of X11 exceptions
6316 - Created custom X11 error handler, tied into XException class
6317 - Added support for MONO_XEXCEPTIONS env var to allow the user
6318 to either throw an exception on X errors or continue running
6319 after displaying the error
6320 - Added handling of DestroyNotify message
6321 - Added handler for CreateNotify message (still disabled)
6322 - Improved (tried to at least) Where method to provide file and lineno
6324 - Added XErrorHandler delegate
6325 - Added XRequest enumeration (to suppor translation of errors)
6327 2005-02-25 Jackson Harper <jackson@ximian.com>
6329 * PropertyManager.cs: Implement editing features
6330 * CurrencyManager.cs:
6331 * Binding.cs: First attempt at UpdateIsBinding
6332 * BindingManagerBase.cs: Call UpdateIsBinding before
6333 pushing/pulling data.
6335 2005-02-25 Jordi Mas i Hernandez <jordi@ximian.com>
6337 * MenuAPI.cs: Respect disabled items
6338 * ThemeWin32Classic.cs
6339 - Caches ImageAttributes creation for DrawImageDisabled
6340 - Fixes vertical menu line drawing
6341 - Draws disabled arrows in disable menu items
6343 2005-02-24 Peter Bartok <pbartok@novell.com>
6346 - Added UserData property to allow associating arbitrary objects
6348 - Fixed leak; now removing Hwnd references from static windows array
6350 - Fixed Graphics leak in PaintEventEnd
6351 - Removed usage of HandleData, switched over to Hwnd class
6352 * HandleData.cs: Removed, obsoleted by Hwnd.cs
6354 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
6356 * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
6357 * ScrollBar.cs: Fixes bug
6358 * TrackBar.cs: removes death code, clipping, mimize refreshes,
6359 keyboard navigation enhancements
6361 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
6363 * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
6364 * GroupBox.cs: Add control styles
6365 * Label.cs: Add control styles
6366 * UpDownBase.cs: Add control styles
6367 * ListBox.cs: Add control styles
6368 * XplatUIWin32.cs: Fixes wrong parameter order
6371 2005-02-23 Chris Bacon <chris.bacon@docobo.co.uk>
6373 * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
6375 2005-02-23 Jackson Harper <jackson@ximian.com>
6377 * PropertyManager.cs: Implement property binding. This doesn't
6378 seem to work yet though as (I think) there are some bugs in
6379 System.ComponentModel.PropertyDescriptor.
6380 * BindingContext.cs: Use new PropertyManager constructor.
6382 2005-02-23 Jordi Mas i Hernandez <jordi@ximian.com>
6384 * ProgressBar.cs: use clip region in ProgressBar
6385 * ThemeWin32Classic.cs: use clip region in ProgressBar
6387 2004-02-22 Jackson Harper <jackson@ximian.com>
6389 * BindingsCollection.cs: Remove some debug code.
6391 2005-02-22 Jackson Harper <jackson@ximian.com>
6393 * BindingContext.cs:
6394 * ControlBindingsCollection.cs:
6395 * CurrencyManager.cs:
6397 * BindingManagerBase.cs: Initial implementation
6398 * BindingsCollection.cs: Add an internal contains method that the
6399 BindingManagerBase uses to ensure bindings aren't added twice to
6401 * PropertyManager.cs: Stubbed out.
6403 * ContainerControl.cs: Hook up databinding
6405 2005-02-22 Geoff Norton <gnorton@customerdna.com>
6408 OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
6409 Fixed Invalidate/Update chain.
6410 Fixed tons of other minor bugs (this is almost a complete rewrite).
6412 2005-02-22 Jordi Mas i Hernandez <jordi@ximian.com>
6414 * ComboBox.cs: do subcontrol creation when the control is created
6416 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
6418 * Label.cs: fixes image drawing (image and imagelist)
6419 * ThemeWin32Classic.cs: cache brushes
6421 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
6423 * Form.cs: Move menu drawing code to Theme class
6424 * ComboBox.cs: Move ComboBox drawing code to Theme class
6425 * MenuItem.cs: Move menu drawing code to Theme class
6426 * MenuAPI.cs: Move menu drawing code to Theme class
6427 * ThemeWin32Classic.cs: New methods
6428 * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
6429 * ListBox.cs: Move Listbox drawing code to Theme class
6430 * Theme.cs: New methods
6432 2005-02-20 Peter Bartok <pbartok@novell.com>
6435 - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
6436 only process mnemonics on those)
6437 - Fixed event sequence for key handling; first calling
6438 ProcessKeyEventArgs now
6440 - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
6441 for processing non-character keys
6442 - Fixed WM_CHAR to generate proper event sequence before processing
6443 * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
6446 2005-02-19 Peter Bartok <pbartok@novell.com>
6448 * UserControl.cs: Added TextChanged event; added attributes
6449 * SizeGrip.cs: Implemented resizing and optional display of grip
6450 * Form.cs: Fixed attribute
6451 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
6452 Changed meaning of ScrollWindow bool argument; instead of the
6453 clear attribute (which will be true usually anyway), it gives the
6454 option of moving child controls as well.
6456 - Changed to match new ScrollWindow argument
6457 - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
6458 now handles the implicit parent window a WM puts around us
6459 * ScrollableControl.cs: Implemented (not the prettiest, but it seems
6461 * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
6462 * TreeView.cs: Adjusted to new ScrollWindow arguments
6464 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
6466 * Form.cs: Menu integration with non-client area
6467 * MenuItem.cs: Menu integration with non-client area
6468 * MenuAPI.cs: Menu integration with non-client area
6470 2005-02-18 Peter Bartok <pbartok@novell.com>
6472 * MethodInvoker.cs: Added
6473 * MdiLayout.cs: Added
6474 * SendKeys.cs: Started implementation
6475 * ErrorIconAlignment.cs: Added
6477 2005-02-18 Peter Bartok <pbartok@novell.com>
6479 * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
6480 * Form.cs: Added handling for Menu-related Non-client messages
6482 2005-02-17 Peter Bartok <pbartok@novell.com>
6484 * UpDownBase.cs: Fixed typo, compilation errors
6485 * DomainUpDown.cs: Fixed attribute value
6487 2005-02-16 Miguel de Icaza <miguel@novell.com>
6489 * UpDownBase.cs: Attach entry events.
6491 Add ForeColor property, Focused, InterceptArrowKeys (interception
6494 2005-02-17 Jordi Mas i Hernandez <jordi@ximian.com>
6497 - Redraw non client are on Setmenu
6498 - Calc proper menu starting point
6500 2005-02-17 Peter Bartok <pbartok@novell.com>
6502 * Application.cs: Fixed message_filter check
6504 2005-02-17 Peter Bartok <pbartok@novell.com>
6506 * Application.cs: Now calls registered message filters
6507 * DockStyle.cs: Fixed attribute
6508 * Form.cs: Fixed attribute
6509 * Menu.cs: Fixed attribute
6510 * ToolTip.cs: Fixed attribute
6511 * TreeNode.cs: Added missing attributes and arranged in regions
6512 * PropertyGrid.cs: Fixed signatures
6513 * TreeNodeCollection.cs: Added attributes
6514 * Splitter.cs: Added missing attributes; arranged into regions
6515 * TabPage.cs: Added missing attributes; arranged into regions
6516 * TextBoxBase.cs: Added missing attributes
6517 * TextBox.cs: Added missing attributes
6518 * ArrangeDirection.cs: Added missing attributes
6519 * TreeNodeConverter.cs: Added stub (needed for TreeNode)
6520 * ToolBarButton.cs: Fixed attributes
6521 * AnchorStyles.cs: Fixed attribute
6522 * TrackBar.cs: Fixed attributes
6523 * TabControl.cs: Added missing attributes and arranged into regions
6524 * ToolBar.cs: Fixed attribute
6525 * StatusBar.cs: Fixed signature, organized into regions and added
6527 * StatusBarPanel.cs: Fixed attributes
6528 * ContentsResizedEventArgs.cs: Implemented
6529 * ContentsResizedEventHandler.cs: Implemented
6530 * DateBoldEventArgs.cs: Implemented
6531 * DateBoldEventHandler.cs: Implemented
6532 * UpDownEventArgs.cs: Implemented
6533 * UpDownEventHandler.cs: Implemented
6535 2005-02-16 Jordi Mas i Hernandez <jordi@ximian.com>
6537 * Form.cs: first Menu NC refactoring
6538 * MenuAPI.cs: first Menu NC refactoring
6540 2005-02-16 Peter Bartok <pbartok@novell.com>
6542 * ImeMode.cs: Added missing attributes
6543 * Menu.cs: Fixed attribute
6544 * GroupBox.cs: Fixed attribute
6545 * Label.cs: Fixed attribute
6546 * ColorDialog.cs (RunDialog): Removed TODO attribute
6547 * ComboBox.cs: Fixed attributes
6548 * ListControl.cs: Added missing attributes
6549 * PropertyGrid.cs: Fixed attributes
6550 * Control.cs: Fixed attributes
6551 * ListViewItem.cs: Added TypeConverter attribute
6552 * NotifyIcon.cs: Fixed attributes
6553 * ListView.cs: Fixed attributes
6554 * ButtonBase.cs: Fixed attribute
6555 * ImageList.cs: Added missing attributes
6556 * ContainerControl.cs: Fixed signature
6557 * CheckedListBox.cs: Fixed attribute; added missing attributes
6558 * Panel.cs: Fixed attributes
6559 * PropertyTabChangedEventArgs.cs: Added missing attribute
6560 * PropertyValueChangedEventArgs.cs: Added missing attribute
6561 * Binding.cs: Fixed attribute
6562 * ListViewItemConverter: Implemented ListViewSubItemConverter class
6563 * ListBox.cs: Fixed attribute; added missing attributes;
6564 * ScrollableControl.cs: Added missing attributes
6565 * PictureBox.cs: Added missing attributes; implemented missing property
6566 * DateTimePicker.cs: Added missing attributes
6567 * Theme.cs (ToolWindowCaptionHeight): Fixed type
6568 * MonthCalendar.cs: Fixed attributes
6569 * StatusBarPanel.cs: Added missing attributes
6570 * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
6572 2005-02-16 Peter Bartok <pbartok@novell.com>
6574 * TextBoxBase.cs: The previous method to enforce height yet remember
6575 the requested high was less than ideal, this is an attempt to do
6577 * Control.cs: Added comment about possible problem
6578 * Copyright: Updated format
6579 * GridItemType.cs: Fixed swapped values
6581 2005-02-15 Jackson Harper <jackson@ximian.com>
6583 * BaseCollection.cs: Use property so we never access an
6584 uninitialized list. Also initialize the list in the property.
6586 2005-02-15 Peter Bartok <pbartok@novell.com>
6588 * GroupBox.cs (ProcessMnemonic): Implemented
6589 * Label.cs (ProcessMnemonic): Implemented
6590 * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
6593 2005-02-15 Peter Bartok <pbartok@novell.com>
6595 * RadioButton.cs (ProcessMnemonic): Implemented
6596 * CheckBox.cs (ProcessMnemonic): Implemented
6598 - Added handling of WM_SYSxxx keyboard messages to support mnemonic
6600 - Added internal method to allow calling ProcessMnemonic from other
6602 * ContainerControl.cs:
6603 - Started support for handling validation chain handling
6604 - Implemented ProcessMnemonic support
6605 - Added Select() call to Active, to make sure the active control
6607 * Form.cs: Setting toplevel flag for Forms (this was lost in the
6609 * ThemeWin32Classic.cs:
6610 - DrawCheckBox(): Fixed stringformat to show hotkeys
6611 - DrawRadioButton(): Fixed stringformat to show hotkeys
6612 * CommonDialog.cs: Removed WndProc override, not needed
6614 2005-02-14 Peter Bartok <pbartok@novell.com>
6616 * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
6617 missed those in the rewrite
6619 2005-02-14 Miguel de Icaza <miguel@novell.com>
6621 * NumericUpDown.cs (Increment, ToString): Add.
6622 (DecimalPlaces): implement.
6626 * UpDownBase.cs: Add the designer attributes.
6628 2005-02-13 Peter Bartok <pbartok@novell.com>
6630 * Panel.cs: Removed border_style, now in Control
6631 * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
6632 ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
6634 2005-02-13 Peter Bartok <pbartok@novell.com>
6636 * MouseButtons.cs: Added missing attributes
6637 * XplatUIStructs.cs: Added enumeration for title styles
6638 * LeftRightAlignment.cs: Added missing attributes
6639 * Hwnd.cs: Switched to use client_window as handle (slower, but makes
6640 it compatible with Graphics.FromHwnd()
6641 * SelectedGridItemChangedEventArgs.cs: Fixed property type
6642 * Keys.cs: Added missing attributes
6643 * SelectionRange.cs: Added missing attributes
6644 * SelectionRangeConverter.cs: Added
6646 - Introduced SetBorderStyle, SetMenu, GetMenuDC and
6647 ReleaseMenuDC methods
6648 - Renamed ReleaseWindow to UngrabWindow
6649 - Added proper startup notice to allow version identification
6651 - Added missing attributes
6652 - Removed FormParent concept
6653 * Label.cs: Removed border_style field, now in Control
6654 * RadioButton.cs: Now properly selects RadioButton when focus is
6656 * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
6658 - Added missing attributes
6659 - Added borderstyle handling
6660 - Removed FormParent concept support
6661 - Fixed calls to XplatUI to match changed APIs
6662 - Fixed bug that would case us to use disposed Graphics objects
6663 - Removed unneeded internal methods
6664 - PerformLayout(): Fixed to handle DockStyle.Fill properly
6665 - SelectNextControl(): Fixed to properly check common parents
6666 * TextBoxBase.cs: Removed border_style field (now in Control)
6668 - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
6669 fixed calculations for form size
6670 - Added support for localized strings and icons
6671 - Improved form size calculations, added border
6672 * ListView.cs: Removed border_style field (now in Control)
6673 * X11Structs.cs: Moved several structs from X11 driver here
6674 * X11Keyboard.cs: Changed debug message
6675 * Application.cs: Removed FormParent concept support
6677 - Resetting end_modal flag
6678 - Removed FormParent concept support
6679 * NativeWindow.cs: Removed FormParent concept support
6680 * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
6681 Client area and Non-Client whole window to allow support for WM_NC
6683 * XplatUIOSX.cs: Updated to match latest driver spec; added exception
6684 prevent using it until it supports Hwnd as per Geoff Norton's request
6685 * ToolBar.cs: Fixed drawing, was not doing proper drawing
6686 * PictureBox.cs: Removed border_style field, now in Control
6687 * XplatUIWin32.cs: Added new driver methods
6689 2005-02-12 Peter Bartok <pbartok@novell.com>
6691 * OpacityConverter.cs: Implemented
6692 * Hwnd.cs: Internal class to support drivers that need to emulate
6693 client area/non-client area window behaviour
6695 2005-02-11 Peter Bartok <pbartok@novell.com>
6697 * KeysConverter.cs: Implemented
6699 2005-02-11 Jordi Mas i Hernandez <jordi@ximian.com>
6701 * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
6702 * LinkLabel: Added missing attributes
6703 * MainMenu.cs: fixes ToString
6704 * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
6705 * ListBox.cs: fixes event position
6706 * TrackBar.cs: adds missing attributes and events
6708 2005-02-10 Jordi Mas i Hernandez <jordi@ximian.com>
6710 * MenuItem.cs: Use SystemInformation and bug fixes
6711 * MenuAPI.cs: Use SystemInformation and bug fixes
6713 2005-02-09 Jackson Harper <jackson@ximian.com>
6715 * X11Keyboard.cs: We ignore some keys, but still need to set/reset
6716 their keystate otherwise things like VK_MENU get stuck "on".
6718 2005-02-09 Kazuki Oikawa <kazuki@panicode.com>
6720 * ListBox.cs: Fixes AddRange bug
6722 2005-02-09 Jordi Mas i Hernandez <jordi@ximian.com>
6725 - Add missing attributes
6726 - Add missing method
6728 * CheckedListBox.cs: Added missing attributes
6729 - Add missing attributes
6730 - Remove extra method
6732 * ComboBox.cs: Added missing attributes
6733 * VScrollBar.cs: Added missing attributes
6734 * ScrollBar.cs: Added missing attributes
6735 * ListBox.cs: Fixes signature, add missing consts
6736 * LinkArea.cs: Added missing attributes
6739 2005-02-08 Peter Bartok <pbartok@novell.com>
6741 * Menu.cs: Added missing attributes
6742 * MainMenu.cs: Added missing attributes
6743 * GroupBox.cs: Added missing attributes
6744 * Label.cs: Added missing attributes
6745 * CheckBox.cs: Implemented CheckBoxAccessibleObject class
6747 - Added Instance and Options properties
6748 - Added missing attributes
6749 * Cursor.cs: Made Serializable
6750 * NotifyIcon: Added missing attributes
6751 * MenuItem.cs: Added missing attributes
6752 * TextBoxBase.cs: Implemented AppendText() and Select() methods
6753 * Panel.cs: Added Missing attributes
6754 * MonthCalendar.cs: Fixed CreateParams
6756 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
6760 - Fixes issues with links
6761 - Adds the class attributes
6763 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
6766 - Fixes button when no items available in dropdown
6767 - Fixes repainting problems
6768 - Adds the class attributes
6770 2005-02-07 Geoff Norton <gnorton@customerdna.com>
6772 * XplatUIOSX.cs: Detect the menu bar and title bar height from
6773 the current theme. Cache these on startup.
6775 2005-02-07 Jackson Harper <jackson@ximian.com>
6777 * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
6778 the scrollbar buttons when they are depressed.
6780 2005-02-07 Geoff Norton <gnorton@customerdna.com>
6782 * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
6783 Get the display size from the main displayid. We currently dont
6784 support multiple display configurations.
6786 2005-02-07 Geoff Norton <gnorton@customerdna.com>
6788 * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
6790 2005-02-07 Miguel de Icaza <miguel@novell.com>
6792 * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
6794 2005-02-05 Jonathan Chambers <jonathan.chambers@ansys.com>
6796 * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
6798 2005-02-04 Jackson Harper <jackson@ximian.com>
6800 * ThemeWin32Classic.cs: Respect the clipping rect when
6801 drawing. Only fill the intersection of clips and rects so there
6802 isn't a lot of large fills.
6803 * ScrollBar.cs: Pass the correct clipping rect to the theme
6804 engine. Remove some debug code.
6806 2005-02-05 John BouAntoun <jba-mono@optusnet.com.au>
6808 * DateTimePicker.cs:
6809 - Fixed crash on DateTime.Parse, use Constructor instead
6811 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
6815 - Owner draw support (MeasureItem and DrawItem)
6817 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
6820 - Implements FindMergePosition and MergeMenu functions (very poor documented)
6821 - Fixes MenuItems.Add range
6823 - MergeMenu and Clone and CloneMenu functions
6825 2005-02-03 Jackson Harper <jackson@ximian.com>
6827 * ScrollBar.cs: Make abstract
6828 * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
6831 2005-02-03 Jackson Harper <jackson@ximian.com>
6833 * ScrollBar.cs: First part of my scrollbar fixups. This removes
6834 all the unneeded refreshes and uses invalidates with properly
6837 2005-02-03 Peter Bartok <pbartok@novell.com>
6839 * ComponentModel.cs: Added
6840 * IDataGridEditingService.cs: Added
6841 * Timer.cs: Added missing attributes
6842 * ToolTip.cs: Added missing attributes
6844 2005-02-03 Jonathan Chambers <jonathan.chambers@ansys.com>
6846 * PropertyGridView.cs: Added. Patch by Jonathan Chambers
6848 2005-02-03 Peter Bartok <pbartok@novell.com>
6850 * ListBox.cs: Added missing attributes
6852 2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com>
6855 - Fixes font height after font change
6856 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
6858 2005-02-02 Peter Bartok <pbartok@novell.com>
6860 * HandleData.cs: Introduced static methods to allow class
6861 to be more self-contained and track it's own HandleData objects
6862 * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
6863 HandleData to use new static methods
6865 2005-02-02 Jordi Mas i Hernandez <jordi@ximian.com>
6868 - Fixes default size and PreferredHeight
6870 - ObjectCollection.Insert implementation
6876 - ObjectCollection.Insert implementation
6877 - No selection after clean
6880 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
6882 * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
6884 2005-02-01 Jordi Mas i Hernandez <jordi@ximian.com>
6887 - Caches ItemHeight calculation for OwnerDrawVariable
6888 - Handles dropdown properly
6889 - Fixes several minor bugs
6891 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
6894 - Fixes 71946 and 71950
6895 - Fixes changing Multicolumn on the fly
6896 - Fixes keyboard navigation on Multicolumn listboxes
6898 2005-01-31 Geoff Norton <gnorton@customerdna.com>
6900 * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
6903 2005-01-31 Geoff Norton <gnorton@customerdna.com>
6905 * XplatUIOSX.cs: Allow applications to actually exit.
6907 2005-01-31 Geoff Norton <gnorton@customerdna.com>
6909 * XplatUIOSX.cs: SetWindowStyle implemented. Reposition views in
6910 their parent at creation time rather than lazily later. Fixes a major
6911 regression we were experiencing.
6913 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
6915 * ThemeWin32Classic.cs: more date time picker painting fixes
6916 * DateTimePicker.cs: more monthcalendar drop down fixes
6917 * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
6919 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
6922 - When moving the thumb going outside the control should stop the moving
6923 - Adds the firing of missing events
6924 - Fixes no button show if Size is not specified
6925 - End / Home keys for keyboard navigation
6927 2005-01-30 Peter Bartok <pbartok@novell.com>
6929 * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
6930 sanity check to prevent theoretical loop
6931 * XplatUIWin32.cs (SetVisible): Removed debug output
6932 * XplatUIX11.cs (SystrayChange): Added sanity check
6933 * ScrollableControl.cs (OnVisibleChanged): Now calls base method
6934 * Control.cs (OnVisibleChanged): Added workaround for ParentForm
6935 behaviour, valid until the X11 client window rewrite is done
6936 * TextBox.cs (ctor): Setting proper default foreground and background
6939 2005-01-30 John BouAntoun <jba-mono@optusnet.com.au>
6941 * Theme: Added DrawDateTimePicker to interface
6942 * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
6943 * DateTimePicker.cs: Created (still needs keys and painting code)
6944 * DateTimePickerFormat.cs: added
6945 * MonthCalendar.cs: fixed CreateParams for popup window mode
6947 2005-01-29 Peter Bartok <pbartok@novell.com>
6949 * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
6950 this should also the calculations for ligher/darker
6951 * Theme.cs: Fixed defaults for ScrollBar widths/heights
6953 2005-01-29 Peter Bartok <pbartok@novell.com>
6955 * ArrangeDirection.cs: Added
6956 * ArrangeStartingPositon.cs: Added
6957 * SystemInformation.cs: Implemented
6958 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
6959 XplatUIX11.cs, Theme.cs: Added/implemented new static properties
6960 used by SystemInformation class
6961 * X11Strucs.cs: Added XSizeHints structure
6963 - Fixed CreateParams to make sure the menu window is always visible
6964 - TrackPopupMenu: Added check to make sure we don't draw the
6967 2005-01-29 Peter Bartok <pbartok@novell.com>
6969 * HandleData.cs: Added method for altering invalid area
6970 * TextBoxBase.cs: Implemented TextLength
6972 2005-01-28 Peter Bartok <pbartok@novell.com>
6974 * XplatUIX11.cs: Improvement over last patch, not sending
6975 the WM_PAINT directly anymore, instead we scroll any pending
6976 exposed areas and let the system pick out the WM_PAINT later
6978 2005-01-28 Peter Bartok <pbartok@novell.com>
6980 * SWF.csproj: Deleted, no longer used. Instead,
6981 Managed.Windows.Forms/SWF.csproj should be used
6982 * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
6983 directly, to avoid a potential race condition with the next
6986 2005-01-28 Peter Bartok <pbartok@novell.com>
6988 * XplatUI.cs: Made class internal
6990 2005-01-28 Jordi Mas i Hernandez <jordi@ximian.com>
6992 * CheckedListBox.cs:
6995 - Missing methods and events
6997 2005-01-27 Peter Bartok <pbartok@novell.com>
6999 * Application.cs (Run): Don't use form if we don't have one
7001 2005-01-27 Peter Bartok <pbartok@novell.com>
7003 * TextBoxBase.cs (get_Lines): Fixed index off by one error
7005 2005-01-27 Peter Bartok <pbartok@novell.com>
7007 * GridEntry.cs: Added; Patch by Jonathan S. Chambers
7008 * GridItem.cs: Added; Patch by Jonathan S. Chambers
7009 * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
7010 * GridItemType.cs: Added; Patch by Jonathan S. Chambers
7011 * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
7012 * PropertySort.cs: Added; Patch by Jonathan S. Chambers
7013 * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
7014 * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
7015 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
7016 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
7017 * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
7018 * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
7020 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
7023 - Draw focus on Simple Combobox
7024 - Fixes drawing issues
7027 2005-01-27 Peter Bartok <pbartok@novell.com>
7030 - Place window in default location, instead of hardcoded 0/0
7031 - Send initial LocationChanged event
7033 - UpdateBounds after creation to find out where the WM placed us
7034 - Make sure that if the ParentForm changes location the Form
7036 * XplatUIX11.cs: XGetGeometry will not return the coords relative
7037 to the root, but to whatever the WM placed around us.
7038 Translate to root coordinates before returning toplevel
7040 * XplatUIWin32.cs: Removed debug output
7041 * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
7042 flag to GetWindowPos, to allow translation of coordinates on X11
7044 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
7046 * ListBox.cs: connect LostFocus Event
7048 2005-01-27 Peter Bartok <pbartok@novell.com>
7050 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
7051 XplatUIX11.cs: Extended the Systray API
7052 * Form.cs: Removed debug output
7053 * Application.cs: Fixed focus assignment, always need to call
7054 XplatUI.Activate() since Form.Activate() has rules that may
7056 * NotifyIcon.cs: Should be complete now
7057 * ToolTip.cs: Worked around possible timer bug
7059 2005-01-27 Jackson Harper <jackson@ximian.com>
7062 - Only invalidate the effected tabs when the
7063 selected index changes. This reduces drawing and gets rid of some
7065 - Only refresh if the tabs need to be shifted, otherwise only
7066 invalidate the slider button.
7067 - On windows the tabs are not filled to right if the slider is
7070 2005-01-27 Jackson Harper <jackson@ximian.com>
7072 * TabControl.cs: Only refresh on mouseup if we are showing the
7073 slider. Also only invalidate the button whose state has changed.
7075 2005-01-26 Peter Bartok <pbartok@novell.com>
7077 * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
7078 * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
7079 and SystrayRemove() methods
7080 * XplatUIOSX.cs: Stubbed Systray methods
7082 - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
7084 - Fixed broken XChangeProperty calls (marshalling messed up things)
7085 * X11Structs.cs: Added enums and structs required for Size hinting
7086 * NotifyIcon.cs: Added & implemented
7088 2005-01-26 Jackson Harper <jackson@ximian.com>
7090 * TabControl.cs: Space vertically layed out tabs properly.
7092 2005-01-26 Peter Bartok <pbartok@novell.com>
7094 * Form.cs (CreateClientParams): Always set the location to 0,0
7095 since we're a child window.
7097 * Control.cs (SetVisibleCore): Always explicitly setting the location
7098 of a toplevel window, apparently X11 doesn't like to move windows
7099 while they're not mapped.
7101 2005-01-26 Jackson Harper <jackson@ximian.com>
7103 * TabControl.cs: Implement FillToRight size mode with vertically
7106 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
7108 * ControlPaint.cs, ThemeWin32Classic.cs
7109 - Fixes DrawFocusRectangle
7111 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
7114 - MenuBar tracking only starts when item is first clicked
7115 - Fixes menu hidding for multiple subitems
7116 - Unselect item in MenuBar when item Executed
7119 2005-01-25 Jordi Mas i Hernandez <jordi@ximian.com>
7122 - IsInputKey for ListBox
7125 - Shift and Control item selection
7126 - Implement SelectionMode.MultiExtended
7129 - IsInputKey implemented
7130 - Do not generate OnTextChangedEdit on internal txt changes
7132 2005-01-23 Peter Bartok <pbartok@novell.com>
7134 * AccessibleObject.cs: Partially implemented Select()
7135 * MonthCalendar.cs: Added missing attributes and events
7136 * Form.cs: Fixed CreateParams behaviour, now controls derived from
7137 form can properly override CreateParams.
7138 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
7139 XplatUIX11.cs: Dropped RefreshWindow method, not needed if
7140 Control performs Invalidate & Update
7141 * NativeWindow (CreateHandle): Added special handling for Form
7142 and Form.FormParent classes to allow overriding of From.CreateParams
7144 - ControlNativeWindow: Renamed 'control' variable to more intuitive
7146 - ControlNativeWindow: Added Owner property
7147 - Removed usage of Refresh() on property changes, changed into
7148 Invalidate(), we need to wait until the queue is processed for
7149 updates, direct calls might cause problems if not all vars for
7150 Paint are initialized
7151 - Added call to UpdateStyles() when creating the window, to set any
7152 styles that CreateWindow might have ignored.
7153 - Added support for Form CreateParent overrides to UpdateStyles()
7154 * MessageBox.cs: Removed no longer needed FormParent override stuff,
7155 CreateParams are now properly overridable
7156 * CommonDialog.cs: Removed no longer needed FormParent override stuff,
7157 CreateParams are now properly overridable
7159 2005-01-23 Miguel de Icaza <miguel@ximian.com>
7161 * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
7164 Capture LostFocus and OnTextBoxChanged. The later introduces a
7165 recursive invocation that I have not figured out yet.
7167 Reset the timer when not using (it was accumulating).
7170 (OnTextBoxChanged): Set UserEdit to true here to track whether the
7171 user has made changes that require validation.
7173 Reset changing to avoid loops.
7175 2005-01-22 Miguel de Icaza <miguel@ximian.com>
7177 * NumericUpDown.cs: Display value at startup.
7179 * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
7182 * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
7183 filled in. Added some basic parsing of text.
7185 Still missing the OnXXX method overrides, and figuring out the
7186 events that must be emitted.
7188 * UpDownBase.cs: Handle UserEdit on the Text property.
7190 2005-01-22 Jordi Mas i Hernandez <jordi@ximian.com>
7193 - Fixes IntegralHeight
7196 2005-01-21 Jackson Harper <jackson@ximian.com>
7198 * TabControl.cs: Set the SelectedIndex property when SelectedTab
7199 is set so that the page visibility is updated and the tabs are
7202 2005-01-21 Jackson Harper <jackson@ximian.com>
7204 * TabControl.cs: Use cliping rectangle for blitting. Give the
7205 theme the clipping rect so we can do clipping while
7206 drawing. Remove some debug code.
7208 2005-01-21 Jackson Harper <jackson@ximian.com>
7210 * TabPage.cs: Add a new method so tab pages can force the tab
7211 control to recalculate the tab page sizes.
7212 * TabControl.cs: UpdateOwner needs to make the tab control recalc
7215 2005-01-20 Jackson Harper <jackson@ximian.com>
7217 * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
7219 2005-01-20 Jackson Harper <jackson@ximian.com>
7221 * TreeView.cs: Set the bounds for nodes properly. They were
7222 getting screwed up when checkboxes were not enabled, but images
7225 2005-01-20 Jordi Mas i Hernandez <jordi@ximian.com>
7228 - Owner draw support
7231 2005-01-20 Jackson Harper <jackson@ximian.com>
7233 * XplatUIStructs.cs: More misc keys
7234 * X11Keyboard.cs: Ignore some control keys.
7236 2005-01-20 Jackson Harper <jackson@ximian.com>
7238 * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
7239 * X11Keyboard.cs: Set the AltGr mask when we get a key event.
7241 2005-01-19 Peter Bartok <pbartok@novell.com>
7243 * Control.cs: Un-selecting the control when it is loosing focus
7245 2005-01-19 Jackson Harper <jackson@ximian.com>
7247 * TreeView.cs: Hook up to the text controls leave event so we can
7248 end editing when the users clicks outside the text box.
7250 2005-01-19 Jackson Harper <jackson@ximian.com>
7252 * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
7253 get set in the conversion array.
7255 2005-01-19 Peter Bartok <pbartok@novell.com>
7257 * Application.cs (ModalRun): Added a call to CreateControl to ensure
7258 focus is properly set
7260 - Added missing attributes
7261 - removed styles, those are already set in the base class
7263 - Added missing attributes
7264 - Added clip window styles
7265 * CheckBox.cs: Added missing attributes
7267 - FormParentWindow.CreateParams: Added required clip styles
7268 * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
7269 also filters modifier keys
7271 - Added assignment of Accept and Cancel button to enable Enter
7272 and Esc keys in MessageBox dialogs
7273 - FormParentWindow.CreateParams: Added required clip styles
7274 * RadioButton.cs: Added missing attributes
7275 * TextControl.cs: No longer draws selection if control does not
7278 - Now draws simple rectangle around test area to make it obvious
7279 there's a control. This is a hack until we properly support borders
7280 - A few simple fixes to support selections better, now erases selected
7281 text when typing, and resets selection when using movement keys
7283 2005-01-19 Miguel de Icaza <miguel@ximian.com>
7285 * UpDownBase.cs: Added some new properties.
7287 * DomainUpDown.cs: Implement a lot to get my test working.
7289 2005-01-19 Geoff Norton <gnorton@customerdna.com>
7291 * XplatUIOSX.cs: Fix a minor bug to bring the close box back
7293 2005-01-19 Geoff Norton <gnorton@customerdna.com>
7295 * OSXStructs (WindowAttributes): Fixed csc complaints
7297 2005-01-19 Geoff Norton <gnorton@customerdna.com>
7300 OSXStructs.cs: Initial refactor to move enums and consts into
7301 OSXStructs and use them in the driver for greater readability.
7303 2005-01-19 Geoff Norton <gnorton@customerdna.com>
7305 * XplatUIOSX.cs: Initial support for Standard Cursors.
7306 * OSXStructs.cs: Move our structs here; added ThemeCursor enum
7308 2005-01-19 Jordi Mas i Hernandez <jordi@ximian.com>
7310 * ComboBox.cs: ability to change style when the ctrl is already
7311 created, missing methods and events, bug fixes, signature fixes
7313 2005-01-19 Peter Bartok <pbartok@novell.com>
7315 * Cursors.cs (ctor): Added ctor to fix signature
7317 2005-01-18 Peter Bartok <pbartok@novell.com>
7319 * Button.cs: Implemented DoubleClick event
7321 - Fixed keyboard handling to behave like MS, where the press of
7322 Spacebar is equivalent to a mousedown, and the key release is
7323 equivalent to mouseup. Now a spacebar push will give the same
7324 visual feedback like a mouse click.
7325 - Added missing attributes
7326 - Added ImeModeChanged event
7327 - Added support for generating DoubleClick event for derived classes
7329 - Implemented DoubleClick event
7330 - Added missing attributes
7331 * CommonDialog.cs: Added missing attribute
7332 * ContextMenu.cs: Added missing attributes
7334 - AutoChecked buttons do not allow to be unselected when clicked
7335 (otherwise we might end up with no selected buttons in a group)
7336 - Added missing attributes
7337 - Implemented DoubleClickEvent
7338 * ThreadExceptionDialog.cs: Enabled TextBox code
7340 2005-01-18 Peter Bartok <pbartok@novell.com>
7342 * Form.cs: Removed debug output
7343 * Button.cs: Added support for DoubleClick method
7345 2005-01-18 Peter Bartok <pbartok@novell.com>
7348 - Added method to parent window that allows triggering size
7349 calculations when a menu is added/removed
7350 - set_Menu: Cleaned up mess from early days of Form and Control,
7351 now properly triggers a recalc when a menu is added/removed
7352 - Added case to select form itself as focused form if no child
7354 - Added PerformLayout call when showing dialog, to ensure properly
7357 - Select(): Made internal so Form can access it
7358 - Focus(): Only call Xplat layer if required (avoids loop), and sets
7360 * Application.cs (Run): Removed hack and calls PerformLayout instead
7361 to trigger calculation when Form becomes visible
7363 2005-01-18 Jordi Mas i Hernandez <jordi@ximian.com>
7365 * ComboBox.cs: fixes for ownerdraw
7367 2005-01-18 Peter Bartok <pbartok@novell.com>
7370 - Sentinel is no longer static, each Document gets it's own, this
7371 avoids locking or alternatively overwrite problems when more
7372 than one text control is used simultaneously.
7373 - Switched to use Hilight and HilightText brushes for text selection
7375 * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
7377 2005-01-18 Peter Bartok <pbartok@novell.com>
7380 - Hooked up the following events:
7388 o SystemColorsChanged
7391 - Removed debug output
7392 - Added a call to the current theme's ResetDefaults when a color change
7394 * Form.cs: Now setting the proper ImeMode
7395 * Theme.cs: Defined a method to force recreation of cached resources
7396 and rereading of system defaults (ResetDefaults())
7397 * ThemeWin32Classic.cs: Added ResetDefaults() stub
7399 2005-01-17 Peter Bartok <pbartok@novell.com>
7401 * Control.cs: Added missing attributes
7403 2005-01-17 Jackson Harper <jackson@ximian.com>
7405 * TreeNode.cs: Implement editing. Add missing properties selected
7407 * TreeView.cs: Implement node editing. Also some fixes to use
7408 Invalidate (invalid area) instead of Refresh when selecting.
7410 2005-01-17 Peter Bartok <pbartok@novell.com>
7413 - Implemented InvokeGotFocus() method
7414 - Implemented InvokeLostFocus() method
7415 - Implemented InvokePaint() method
7416 - Implemented InvokePaintBackground() method
7417 - Implemented InvokeClick() method
7418 - Implemented FindForm() method
7419 - Implemented RectangleToClient() method
7420 - Implemented ClientToRectangle() method
7421 - Implemented ResetBackColor() method
7422 - Implemented ResetCursor() method
7423 - Implemented ResetFont() method
7424 - Implemented ResteForeColor() method
7425 - Implemented ResetImeMode() method
7426 - Implemented ResetLeftToRight() method
7427 - Implemented ResetText() method
7428 - Implemented Scale() methods
7429 - Implemented ScaleCore() method
7430 - Implemented Update() method
7431 - Removed unused variables
7432 - Stubbed AccessibilityNotifyClients and
7433 ControlAccessibleObject.NotifyClients() methods (dunno what to do
7435 - Now setting proper default for RightToLeft property
7436 - Fixed bug in SetClientSizeCore that would cause windows to get
7438 - Now sending Click/DoubleClick events
7439 - Now selecting controls when left mouse button is clicked on
7441 * AccessibleEvents.cs: Added
7442 * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
7443 * XplatUIOSX.cs: Stubbed UpdateWindow() method
7444 * XplatUIWin32.cs: Implemented UpdateWindow() method
7445 * XplatUIX11.cs: Implemented UpdateWindow() method
7446 * Form.cs: Removed stray semicolon causing CS0162 warning
7447 * ThemeWin32Classic.cs: Fixed unused variable warnings
7448 * ScrollableControl.cs: Now calls base method for ScaleCore
7449 * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
7450 style to avoid interference with internal click handler (which is
7451 different than standard Control click handling)
7453 - Now unchecks all sibling radio buttons when control is
7454 selected (Fixes #68756)
7455 - Removed internal tabstop variable, using the one inherited from
7458 2005-01-17 Jackson Harper <jackson@ximian.com>
7460 * NavigateEventArgs.cs: Fix base type.
7461 * LinkLabel.cs: Sig fix
7463 2005-01-17 Jackson Harper <jackson@ximian.com>
7465 * TreeView.cs: Only invalidate the effected nodes bounds when
7468 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
7470 * XplatUIWin32.cs: fixes Win32 marshaling
7471 * XplatUIX11.cs: fixes method signature
7473 2005-01-17 Peter Bartok <pbartok@novell.com>
7475 * XplatUIX11.cs: Clean up resources when we no longer need them
7477 2005-01-17 Peter Bartok <pbartok@novell.com>
7479 * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
7480 OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
7481 and DestroyCursor() methods.
7482 * Cursor.cs: Partially implemented, now supports standard cursors;
7483 still contains some debug code
7484 * Cursors.cs: Implemented class
7486 - WndProc(): Added handling of WM_SETCURSOR message, setting the
7488 - Implemented Cursor property
7489 - Replaced break; with return; more straightforwar and possibly
7491 - Now properly setting the result for WM_HELP
7492 * X11Structs.cs: Added CursorFontShape enum
7493 * XplatUIStructs.cs:
7494 - Added StdCursor enum (to support DefineStdCursor() method)
7495 - Added HitTest enum (to support sending WM_SETCURSOR message)
7497 - Now sends the WM_SETCURSOR message
7498 - Implemented new cursor methods
7499 * XplatUIOSX.cs: Stubbed new cursor methods
7501 - Implemented new cursor methods
7502 - Added GetSystemMetrics function and associated enumeration
7504 2005-01-15 Peter Bartok <pbartok@novell.com>
7507 - WndProc(): Now handles EnableNotifyMessage
7508 - SelectNextControl(): Fixed bug where if no child or sibling
7509 controls exist we looped endlessly
7511 2005-01-14 Jackson Harper <jackson@ximian.com>
7513 * TreeView.cs: Recalculate the tab pages when a new one is added
7514 so that the proper bounding rects are created.
7516 2005-01-14 Jackson Harper <jackson@ximian.com>
7518 * TreeView.cs: Draw a gray box instead of a grip in the lower
7519 right hand corner when there are both horizontal and vertical
7522 2005-01-14 Jackson Harper <jackson@ximian.com>
7524 * Control.cs: When erasing backgrounds use FromHwnd instead of
7525 FromHdc when there is a NULL wparam. This occurs on the X driver.
7526 * XplatUIX11.cs: Set the wparam to NULL.
7528 2005-01-13 Jackson Harper <jackson@ximian.com>
7530 * PictureBox.cs: Implement missing methods (except ToString, need
7531 to test that on windows) and events. When visibility is changed we
7532 need to redraw the image because the buffers are killed. When size
7533 is changed refresh if the sizemode needs it.
7535 2005-01-13 Peter Bartok <pbartok@novell.com>
7537 * Control.cs (SelectNextControl): Was using wrong method to select
7540 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
7542 * ComboBox.cs: fixes dropstyle
7544 2005-01-13 Peter Bartok <pbartok@novell.com>
7547 - Implemented Select() override
7548 - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
7549 - Now sets keyboard focus on startup
7550 * Control.cs (SelectNextControl): Now properly handles directed=true
7552 - WndProc: Now passes tab key on to base if AcceptTabChar=false
7553 - Added (really bad) focus rectangle (mostly for testing)
7554 * TextBox.cs: Added code to handle getting/loosing focus and invalidating
7555 to enforce redraw on focus changes
7556 * ContainerControl.cs:
7557 - Fixed detection of Shift-Tab key presses
7558 - Fixed traversal with arrow keys
7559 * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
7560 gonna keep this or if it's complete yet
7562 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
7564 * ComboBox.cs: missing properties, fixes
7566 2005-01-13 Peter Bartok <pbartok@novell.com>
7568 * Panel.cs (ctor): Setting Selectable window style to off
7569 * Splitter.cs (ctor): Setting Selectable window style to off
7570 * GroupBox.cs (ctor): Setting Selectable window style to off
7571 * Label.cs (ctor): Setting Selectable window style to off
7573 2005-01-12 Miguel de Icaza <miguel@ximian.com>
7575 * UpDownBase.cs (InitTimer): If the timer has been already
7578 Use a TextBox instead of a Label.
7580 2005-01-12 Jackson Harper <jackson@ximian.com>
7582 * TreeView.cs: Refresh the tree after sorting the nodes. Always
7583 draw the connecting node lines (when ShowLines is true).
7584 * TreeNode.cs: The nodes index can now be updated. This is used
7585 when a node collection is sorted.
7586 * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
7587 insert or an existing unsorted node collection can be sorted.
7589 2005-01-12 Peter Bartok <pbartok@novell.com>
7591 * ContainerControl.cs: Implemented ProcessDialogKeys()
7593 2005-01-12 Peter Bartok <pbartok@novell.com>
7596 - Implemented SelectNextControl() method
7597 - Several focus related bug fixes
7598 - Fixed Docking calculations to match MS documentation and
7601 2005-01-12 Jordi Mas i Hernandez <jordi@ximian.com>
7603 * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
7606 2005-01-12 Peter Bartok <pbartok@novell.com>
7609 - Fixed broken Contains() method
7610 - Implemented GetNextControl() method. Finally. This is the pre-
7611 requisite for focus handling.
7613 2005-01-12 Peter Bartok <pbartok@novell.com>
7615 * OSXStrucs.cs: Added
7617 2005-01-12 Peter Bartok <pbartok@novell.com>
7620 - Removed PeekMessageFlags
7621 - Implemented SetWindowStyle() method
7622 * XplatUIStructs.cs: Added PeekMessageFlags
7623 * X11Structs: Added missing border_width field to XWindowChanges struct
7625 - PeekMessage: Now throws exception if flags which are not yet
7626 supported are passed
7627 - Implemented SetWindowStyle() method
7628 - Fixed SetZOrder to handle AfterHwnd properly
7629 * XplatUI.cs: Added SetWindowStyle() method
7630 * XplatUIDriver.cs: Added SetWindowStyle() abstract
7632 - Implemented UpdateStyles() method
7633 - Implemented UpdateZOrder() method
7634 * XplatUIOSX.cs: Added SetWindowStyle() stub
7636 2005-01-12 Geoff Norton <gnorton@customerdna.com>
7638 * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
7642 2005-01-11 Jackson Harper <jackson@ximian.com>
7644 * TreeView.cs: Still need to draw lines to siblings even if out of
7645 the current node is out of the clip.
7647 2005-01-11 Jackson Harper <jackson@ximian.com>
7649 * TreeView.cs: When setting the hbar/vbar/grip position use
7650 SetBounds so that perform layout is only called once. Also suspend
7651 and resume layout so layout is only done once for all controls.
7652 - Removed some debug fluff
7653 * SizeGrip.cs: Call base implmentation in overriding methods.
7654 - When visibility is changed the drawing buffers are killed so we
7657 2005-01-11 Jackson Harper <jackson@ximian.com>
7659 * TreeView.cs: Calculate the open node count while drawing. This
7660 saves us an entire tree traversal for every paint operation. Use
7661 a member var for the open node count so less vars are passed around.
7663 2005-01-11 John BouAntoun <jba-mono@optusnet.com.au>
7666 - fixed selection to use mousemove, not mouse polling on timer
7667 * ThemeWin32Classic.cs
7668 - removed redundant unused variable "no_more_content"
7670 2005-01-11 Peter Bartok <pbartok@novell.com>
7672 * XplatUIX11.cs (DoEvents): Needs to return when no more events
7673 are pending, so it now calls PeekMessage instead of GetMessage;
7674 implemented a incomplete version of PeekMessage
7676 2005-01-11 Peter Bartok <pbartok@novell.com>
7678 * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
7680 * TextBoxBase.cs: Added sending of TextChanged event
7682 2005-01-10 Jackson Harper <jackson@ximian.com>
7684 * TreeView.cs: Try not to draw outside the clipping rectangle on
7687 2005-01-10 Jordi Mas i Hernandez <jordi@ximian.com>
7689 * ComboBox.cs: keyboard navigation, item navigation, bug fixes
7691 2005-01-10 Jackson Harper <jackson@ximian.com>
7694 - Implement fast scrolling. Now only the newly
7695 exposed nodes are drawn and the old image is moved using the
7696 XplatUI::ScrollWindow method.
7697 - Factor in height of nodes when calculating whether or not the
7698 node is in the clipping rect.
7700 2005-01-10 Jackson Harper <jackson@ximian.com>
7702 * TreeNodeCollection.cs: Refresh the tree when a new node is added.
7704 2005-01-10 Peter Bartok <pbartok@novell.com>
7706 * Application.cs: Added temporary hack to resolve all our resize
7707 required issues on startup. This will get fixed properly at
7708 some point in the future
7710 2005-01-10 Jackson Harper <jackson@ximian.com>
7712 * SizeGrip.cs: New internal class that is used as a sizing
7713 grip control...hence the name.
7715 2005-01-10 Peter Bartok <pbartok@novell.com>
7717 * Control.cs: Implemented proper TabIndex handling, now assigning
7718 a tabindex when a control is added to a container
7719 * GroupBox.cs (ctor): Now sets the Container style bit, required
7720 for Control.GetNextControl()
7722 2005-01-09 Jackson Harper <jackson@ximian.com>
7724 * TextBoxBase.cs: Clear window when scrolling (fixes build).
7726 2005-01-09 Peter Bartok <pbartok@novell.com>
7728 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
7729 XplatUIX11.cs: Added ability to control ScrollWindow expose and
7730 an overload for ScrollWindow to allow only scrolling a rectangle
7732 2005-01-09 Peter Bartok <pbartok@novell.com>
7735 - Implemented SetDesktopBounds method
7736 - Implemented SetDesktopLocation method
7738 2005-01-08 Jackson Harper <jackson@ximian.com>
7740 * TreeView.cs: Only set the vbar's Maximum and LargeChange when
7741 the node count has changed, this removes to VScroll::Refresh calls
7744 2005-01-08 Geoff Norton <gnorton@customerdna.com>
7746 * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
7748 2005-01-07 Jackson Harper <jackson@ximian.com>
7750 * TreeNode.cs: Just update the single node when it is
7751 checked. Don't refresh after toggling, the Expand/Collapse already
7753 * TreeView.cs: Respect clipping a little more when drawing. Try
7754 not to redraw things that don't need to be redrawn. Just hide the
7755 scrollbars when they are no longer needed instead of removing
7756 them, so they don't have to be created again and again.
7758 2005-01-07 Geoff Norton <gnorton@customerdna.com>
7760 * XplatUIOSX.cs (SetCaretPos): We need to translate the view
7761 coordinates to window space to place the caret properly, FIXED.
7762 Implement GetWindowState & SetWindowState
7764 2005-01-06 Peter Bartok <pbartok@novell.com>
7767 - Implemented ClientSize property
7768 - Implemented DesktopBounds property
7769 - Implemented DesktopLocation property
7770 - Implemented IsRestrictedWindow property
7771 - Implemented Size property
7772 - Implemented TopLevel property
7773 - Implemented FormWindowState property
7775 - Implemented GetTopLevel() method
7776 - Implemented SetTopLevel() method
7777 * X11Structs.cs (Atom):
7778 - Added AnyPropertyType definition
7779 - Added MapState definiton and updated XWindowAttribute struct
7780 * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
7781 * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
7782 * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
7784 - Implemented GetWindowState() and SetWindowState() methods
7785 - Fixed Win32GetWindowLong return type
7787 - Introduced central function for sending NET_WM messages
7788 - Implemented GetWindowState() and SetWindowState() methods
7789 * TextBoxBase.cs (set_Lines):
7790 - Now uses Foreground color for text added via Text property (Duh!)
7791 - Added code to remember programmatically requested size (fixes
7792 behaviour when Multiline is set after Size)
7793 - Added AutoSize logic
7795 2005-01-06 Jackson Harper <jackson@ximian.com>
7797 * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
7799 2005-01-06 Jackson Harper <jackson@ximian.com>
7801 * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
7804 2005-01-06 Jackson Harper <jackson@ximian.com>
7806 * ScrollableControl.cs: Lazy init the scrollbars.
7808 2005-01-06 Jackson Harper <jackson@ximian.com>
7810 * Theme.cs: Speed up getting pens and solid brushes, by using
7811 their ARGB as a hash instead of tostring and not calling Contains.
7813 2005-01-06 Peter Bartok <pbartok@novell.com>
7816 - Implemented OnActivated and OnDeactivate event trigger
7817 - Implemented Activate() method
7818 - Fixed ShowDialog() to activate the form that was active before
7819 the dialog was shown
7821 - Added global active_window var that tracks the currently active
7823 - Now always grabs Property changes from the root window to always
7824 catch changes on the active window property
7825 - Added code to PropertyNotify handler to send Active/Inactive
7826 messages when state changes. This puts X11 and Win32 en par on
7827 WM_ACTIVATE notifications (except for double notifications when
7828 the user clicks away from our modal window to another one of our
7831 2005-01-05 Jackson Harper <jackson@ximian.com>
7833 * ImageList.cs: Implment ctor
7835 2005-01-05 Geoff Norton <gnorton@customerdna.com>
7837 * XplatUIOSX.cs: Implement Activate/SetTopmost
7839 2005-01-05 Geoff Norton <gnorton@customerdna.com>
7841 * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
7843 2005-01-05 Geoff Norton <gnorton@customerdna.com>
7845 * XplatUIOSX.cs: Implement GetActive/SetFocus.
7847 2005-01-05 Peter Bartok <pbartok@novell.com>
7849 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
7850 XplatUIOSX.cs: Added GetActive method to return the currently
7851 active window for the application (or null, if none is active)
7853 - Implemented ActiveForm
7854 - Commented out owner assignment for modal dialogs (causes problems
7855 on Win32, since the owner will be disabled)
7856 - Reworked some Active/Focus handling (still incomplete)
7857 * CommonDialog.cs: Commented out owner assignment for modal dialogs
7858 (causes problems on Win32, since the owner will be disabled)
7859 * IWin32Window: Added ComVisible attribute
7861 2005-01-05 Peter Bartok <pbartok@novell.com>
7863 * ToolTip.cs (WndProc): Enable setting focus now that we have the
7864 required XplatUI functions.
7866 2005-01-05 Peter Bartok <pbartok@novell.com>
7868 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
7869 XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
7870 to implement focus and activation handling; still incomplete and
7873 2005-01-04 Peter Bartok <pbartok@novell.com>
7875 * TextBoxBase.cs: Changed access level for Document property to
7876 match switch to internal for TextControl
7878 2005-01-04 Peter Bartok <pbartok@novell.com>
7880 * AccessibleObject: Added ComVisible attribute
7882 2005-01-04 Jackson Harper <jackson@ximian.com>
7884 * X11Keyboard.cs: Remove unneeded var.
7886 2005-01-04 Jackson Harper <jackson@ximian.com>
7888 * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
7890 * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
7891 ClientMessage. This makes apps exit cleanly (more often).
7893 2005-01-04 Jackson Harper <jackson@ximian.com>
7895 * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
7896 handling focus, return correct colors and fonts,
7897 * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
7898 handle selection, horizontal scrolling, and mouse interaction.
7900 2005-01-04 Peter Bartok <pbartok@novell.com>
7902 * ICommandExecutor.cs: Added
7903 * IDataGridColumnStyleEditingNotificationService.cs: Added
7904 * IFeatureSupport.cs: Added
7905 * IFileReaderService.cs: Added
7906 * IDataObject.cs: Added ComVisible attribute
7907 * AmbientProperties.cs: Added
7908 * BaseCollection.cs: Added missing attributes
7909 * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
7910 * BaseCollection.cs: Added missing attributes
7911 * Binding.cs: Added TypeConverter attribute
7912 * BindingContext.cs: Added DefaultEvent attribute
7913 * BindingsCollection.cs: Added DefaultEvent attribute
7914 * Button.cs: Added DefaultValue attribute
7915 * DragEventArgs.cs: Added ComVisible attribute
7916 * GiveFeedbackEventArgs.cs: Added ComVisible attribute
7917 * KeyEventArgs.cs: Added ComVisible attribute
7918 * KeyPressEventArgs.cs: Added ComVisible attribute
7919 * MouseEventArgs.cs: Added ComVisible attribute
7920 * NavigateEventArgs.cs: Added
7921 * NavigateEventHandler.cs: Added
7922 * FeatureSupport.cs: Added
7923 * OSFeature.cs: Added
7924 * Theme.cs: Added abstract Version property to support OSFeature
7925 * ThemeWin32Classic.cs: Added Version property to
7926 support OSFeature.Themes
7927 * ProgressBar.cs: Removed OnPaintBackground override, not required since
7928 the proper styles to avoid background drawing are set, also doesn't
7930 * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
7931 * QueryContinueDragEventArgs.cs: Added ComVisible attribute
7932 * ScrollEventArgs.cs: Added ComVisible attribute
7933 * SplitterEventArgs.cs: Added ComVisible attribute
7934 * AccessibleSelection.cs: Added Flags attribute
7935 * Appearance.cs: Added ComVisible attribute
7936 * Border3DSide.cs: Added ComVisible attribute
7937 * Border3DStyle.cs: Added ComVisible attribute
7938 * BorderStyle.cs: Added ComVisible attribute
7939 * DragAction.cs: Added ComVisible attribute
7940 * ErrorBlinkStyle.cs: Added
7941 * ScrollEventType.cs: Added ComVisible attribute
7942 * AnchorStyles.cs: Added Editor attribute
7943 * DockStyle.cs: Added Editor attribute
7944 * HorizontalAlignment.cs: Added ComVisible attribute
7945 * HelpEventArgs.cs: Added ComVisible attribute
7946 * PaintEventArgs.cs: Added IDisposable
7948 2005-01-04 Peter Bartok <pbartok@novell.com>
7950 * TextControl.cs: Switched Line, LineTag and Document classes to
7953 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
7955 * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
7956 Simple mode, fixes, IntegralHeight, etc.
7958 2005-01-04 Peter Bartok <pbartok@novell.com>
7960 * TextBoxBase.cs: Using proper font variable now
7962 2005-01-04 Peter Bartok <pbartok@novell.com>
7964 * Form.cs (ShowDialog): Set parent to owner, if provided
7965 * GroupBox.cs: Removed unused vars
7967 - Added GetHashCode() for Document and LineTag classes
7968 - Removed unused variables
7969 - Added CharIndexToLineTag() and LineTagToCharIndex() methods
7970 to allow translation between continuous char position and line/pos
7971 * CheckBox.cs: Removed vars that are provided by base class
7972 * RadioButton.cs: Removed vars that are provided by base class, added
7973 new keyword where required
7974 * LinkLabel.cs: Added new keyword where required
7975 * Control.cs (WndProc): Removed unused variable
7977 - Finished SelectionLength property
7978 - Implemented SelectionStart property
7979 - Implemented Text property
7980 - Removed unused vars
7981 * MessageBox.cs: Added new keyword where required
7982 * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
7984 * MenuAPI.cs: Added new keyword where required
7985 * ButtonBase.cs: Removed vars that are provided by base class, added
7986 new keyword where required
7987 * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
7988 argument to double, to allow compiling with csc 2.0 (Atsushi ran
7990 * Application.cs (Run): Now triggers the ThreadExit event
7991 * CommonDialog.cs: Added new keyword where required; now properly sets
7992 parent (owner) for dialog
7993 * XplatUIX11.cs: Commented out unused vars
7994 * StatusBar.cs: Fixed signature for Text property
7995 * TabPage.cs: Undid Jordi's removal of unused var, now using the var
7997 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
7999 * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
8000 TrackBar.cs, MonthCalendar.cs: remove unused vars
8002 2005-01-03 Jackson Harper <jackson@ximian.com>
8004 * ThemeWin32Classic.cs:
8005 * X11Keyboard.cs: Remove unused vars.
8007 2005-01-03 Peter Bartok <pbartok@novell.com>
8010 - set_Text: Tied into TextControl
8011 - set_TextAlignment: Tied into TextControl
8013 - Added alignment properties and implemented alignment handling
8014 and drawing (still has a bug, not generating proper expose events)
8015 - Added new Line() constructor to allow passing the line alignment
8016 - Fixed selection setting, properly handling end<start now
8017 - Added aligment considerations to RecalculateDocument()
8019 - Now properly enforces control height for single line controls
8020 - Added support for CharacterCasing
8021 - Added IsInputKey override
8022 - Fixed Keys.Enter logic
8023 - Added SetBoundsCore override
8024 - Fixed mouse selection handling
8026 2005-01-03 Jackson Harper <jackson@ximian.com>
8029 - Collapse and uncheck all nodes when CheckBoxes is disabled.
8030 - Checkboxes are always aligned to the bottom of the node,
8031 regardless of item height.
8032 - Use the node bounds to draw the text so we can center it when
8033 the item height is greater then the font height.
8034 - Node::Bounds are only the text part of the node.
8035 * TreeNode.cs: New method to combine collapsing and unchecking all
8038 2005-01-02 Jackson Harper <jackson@ximian.com>
8040 * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
8041 * TreeNode.cs: Add a bounding box for the checkbox, refresh the
8042 tree when a check is changed. TODO: Only refresh the checked node.
8044 2004-12-30 Jackson Harper <jackson@ximian.com>
8046 * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
8047 * TreeNode.cs: When collapsing make sure to never collapse the
8050 2004-12-29 Jackson Harper <jackson@ximian.com>
8052 * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
8054 2004-12-28 Zoltan Varga <vargaz@freemail.hu>
8056 * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
8058 2004-12-28 Peter Bartok <pbartok@novell.com>
8060 * MessageBox.cs (get_CreateParams): Don't use owner var if it's
8063 2004-12-28 Peter Bartok <pbartok@novell.com>
8065 * Control.cs (WndProc): Added WM_HELP handler, now generates
8067 * Form.cs: Added HelpButton property and required support code
8068 * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
8070 2004-12-28 Peter Bartok <pbartok@novell.com>
8073 - Made DialogForm.owner variable internal
8074 - Added check to ensure owner form is set before setting
8075 owner properties in CreateParams
8077 2004-12-28 Geoff Norton <gnorton@customerdna.com>
8079 * XplatUIOSX.cs: Implement mouse hovering. Fix QDPoint struct to avoid
8080 swizzling. Implement ClientToScreen and ScreenToClient. Implement
8081 GetCursorPos. Fix major visibility issues. Rework the windowing
8082 system to support borderless/titleless windows (implements menus).
8083 Fix GetWindowPos. Implement initial background color support for
8086 2004-12-28 Peter Bartok <pbartok@novell.com>
8088 * Form.cs (get_CreateParams): Make sure we have an owner before using
8089 the owner variable. Implement proper default if no owner exists
8091 2004-12-28 Peter Bartok <pbartok@novell.com>
8093 * In preparation for making Managed.Windows.Forms the default build target
8094 for System.Windows.Forms, the following stubbed files were added.
8095 Dialogs are currently being implemented by contributors and are only
8096 short-term place holders.
8097 * ColorDialog.cs: Initial check-in (minmal stub)
8098 * DataGrid.cs: Initial check-in (minimal stub)
8099 * DataGridLineStyle.cs: Initial check-in (minimal stub)
8100 * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
8101 * DataGridTableStyle.cs: Initial check-in (minimal stub)
8102 * FontDialog.cs: Initial check-in (minimal stub)
8103 * FileDialog.cs: Initial check-in (minimal stub)
8104 * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
8105 * GridTableStylesCollection.cs: Initial check-in (minimal stub)
8106 * OpenFileDialog: Initial check-in (minimal stub)
8107 * IComponentEditorPageSite.cs: Initial check-in
8108 * Splitter.cs: Initial check-in (for Jackson)
8109 * SplitterEventArgs.cs: Initial check-in (for Jackson)
8110 * SplitterEventHandler.cs: Initial check-in (for Jackson)
8111 * TextBox.cs: Initial check-in; still needs some wiring to
8113 * Form.cs: Implemented ControlBox property
8114 * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
8115 * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
8116 * TextControl.cs: Added selection functionality; added todo header
8118 - Implemented Lines property
8119 - Implemented TextHeight property
8120 - Implemented SelectedText property
8121 - Implemented SelectionLength property
8122 - Implemented SelectAll method
8123 - Implemented ToString method
8124 - Removed and cleaned up some debug code
8125 - Implemented (still buggy) mouse text selection
8127 2004-12-27 Jordi Mas i Hernandez <jordi@ximian.com>
8129 * ComboBox.cs: Complete DropDownList implementation, fixes.
8131 2004-12-26 Jordi Mas i Hernandez <jordi@ximian.com>
8133 * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
8134 * ComboBoxStyle.cs: ComboBoxStyle enum
8135 * ComboBox.cs: Initial work on ComboBox control
8137 2004-12-21 Peter Bartok <pbartok@novell.com>
8139 * Control.cs (ctor, CreateParams): Moved setting of is_visible
8140 forward so that anything that creates a window gets the default,
8141 also no longer uses Visible property in CreateParams to avoid
8142 walking up the parent chain and possibly get the wrong visible
8143 status. Fixed IsVisible to no longer walk up to the parent.
8145 2004-12-21 Peter Bartok <pbartok@novell.com>
8147 * Form.cs (ShowDialog): Unset modality for the proper window
8149 2004-12-20 Peter Bartok <pbartok@novell.com>
8151 * CommonDialog.cs: Initial check-in
8153 2004-12-20 Peter Bartok <pbartok@novell.com>
8155 * Control.cs (Visible): Now uses the parent window instead of the
8156 client area window for the property
8159 - ShowDialog(): Now uses the proper window for modality
8160 - The default visibility state for the form parent is now false. This
8161 will prevent the user from seeing all the changes to the form and
8162 its controls before the application hits Application.Run()
8163 - Removed some stale commented out code
8166 - Added FindWindow() method to have a method to check for existence
8168 - Added ability to override default exception handling (for example
8169 when debugging with VS.Net; to do this the ExternalExceptionHandler
8171 - Removed some useless debug output
8174 - Removed r37929 (SetModal patch from Ashwin Bharambe), was
8175 not working as expected
8176 - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
8177 property to allow switching back to the modal window if focus is
8178 given to another one of our windows (Application Modal)
8179 - Now only sets override_redirect if we create a window
8181 - Moved EventMask selection before mapping of newly created window
8182 so we can catch the map event as well
8183 - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
8184 - Added various Atom related DllImports
8185 - Implemented Exit() method
8186 - .ctor() : No longer shows window if WS_VISIBLE is not defined
8189 * MessageBox.cs: Now properly deals with the FormParent window by
8190 providing an override the FormParent CreateParams property to
8191 set as POPUP instead of OVERLAPPED window.
8193 2004-12-19 Geoff Norton <gnorton@customerdna.com>
8195 * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow
8198 2004-12-19 Geoff Norton <gnorton@customerdna.com>
8200 * XplatUIOSX.cs (SetModal): Implement this method on OSX.
8202 2004-12-18 Peter Bartok <pbartok@novell.com>
8204 * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
8205 implementing SetModal() method
8207 2004-12-18 Peter Bartok <pbartok@novell.com>
8209 * X11Structs.cs (XGCValues): Fixed type of function element
8210 * XplatUI.cs: Added ScrollWindow() method
8211 * XplatUIDriver.cs: Added ScrollWindow() abstract
8212 * XplatUIWin32.cs: Implemented ScrollWindow() method
8213 * XplatUIX11.cs: Implemented ScrollWindow() method
8214 * XplatUIOSX.cs: Stubbed out ScrollWindow() method
8216 2004-12-17 Geoff Norton <gnorton@customerdna.com>
8218 * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it
8219 Some more keyboard support (INCOMPLETE)
8221 2004-12-17 Peter Bartok <pbartok@novell.com>
8224 - Added color attribute to line tags.
8225 - Added color argument to all functions dealing with tags
8226 - Added color argument support to various functions
8227 - Fixed miss-calculation of baseline/shift in certain circumstances
8229 * TextBoxBase.cs: Added new color option to test code
8231 2004-12-17 Jackson Harper <jackson@ximian.com>
8234 * MonthCalendar.cs: Signature fixes
8236 2004-12-17 Geoff Norton <gnorton@customerdna.com>
8238 * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
8239 keyboard event moved it. Create a new graphics context for each paint resolves this
8241 2004-12-17 Geoff Norton <gnorton@customerdna.com>
8243 * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
8244 Make caret exist and go blink blink. Initial keyboard support.
8245 Fix exception handler, Add Invalidate support. Change way RefreshWindow
8248 2004-12-17 Jackson Harper <jackson@ximian.com>
8250 * XplatUIStructs.cs: Updated set of virtual keycodes.
8251 * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
8253 2004-12-17 Jackson Harper <jackson@ximian.com>
8255 * XplatUIX11.cs: Prune old keyboard code.
8257 2004-12-17 Jackson Harper <jackson@ximian.com>
8259 * XplatUIX11.cs: When generating mouse wparams get the modifier
8260 keys from the ModifierKeys property.
8262 2004-12-17 Jackson Harper <jackson@ximian.com>
8264 * X11Keyboard.cs: Send up/down input when generating
8265 messages. Remove some unused vars.
8267 2004-12-17 Jackson Harper <jackson@ximian.com>
8270 * TreeView.cs: get rid of warnings.
8272 2004-12-17 Jackson Harper <jackson@ximian.com>
8274 * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
8276 2004-12-17 Jordi Mas i Hernandez <jordi@ximian.com>
8278 * ListBox.cs: bug fixes, changes for CheckedListBox.cs
8279 CheckedListBox.cs: Implementation
8281 2004-12-17 Peter Bartok <pbartok@novell.com>
8283 * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
8285 2004-12-16 Peter Bartok <pbartok@novell.com>
8288 - InsertCharAtCaret(): Fixed start pos fixup
8289 - CaretLine_get: No longer derives the line from the tag, the tag
8290 could be stale if lines in the document have been added or deleted
8291 - RebalanceAfterDelete(): Fixed bug in balancing code
8292 - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
8293 - Line.Streamline(): Now can also elminate leading empty tags
8294 - DumpTree(): Added a few more tests and prevented exception on
8296 - Added Debug section for Combining lines
8297 - Delete(): Now copies all remaining properties of a line
8300 - Left mousebutton now sets the caret (and middle button still acts
8301 as formatting tester, which must go away soon)
8302 - Added Debug section for Deleting/Combining lines
8303 - Fixed calculations for UpdateView after Combining lines
8305 2004-12-16 Peter Bartok <pbartok@novell.com>
8307 * TextControl.cs: Now properly aligns text on a baseline, using the
8308 new XplatUI.GetFontMetrics() method. Simplified several calculations
8309 * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
8312 2004-12-16 Peter Bartok <pbartok@novell.com>
8314 * XplatUI.cs: Added GetFontMetrics() method
8315 * XplatUIDriver.cs: Added GetFontMetrics() abstract
8316 * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
8317 into libgdiplus, our private GetFontMetrics function
8318 * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
8319 * XplatUIWin32.cs: Implemented GetFontMetrics() method
8321 2004-12-16 Jackson Harper <jackson@ximain.com>
8323 * XplatUIStruct.cs: Add enum for dead keys
8324 * X11Keyboard.cs: Map and unmap dead keys.
8326 2004-12-16 Jackson Harper <jackson@ximian.com>
8328 * X11Keyboard.cs: Detect and use the num lock mask.
8330 2004-12-16 Peter Bartok <pbartok@novell.com>
8332 * Control.cs (CreateGraphics): Added check to make sure the
8333 handle of the window exists before calling Graphics.FromHwnd()
8335 2004-12-16 Peter Bartok <pbartok@novell.com>
8337 * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
8338 contains a lot of code that's not supposed to be there for the
8339 real thing, but required for developing/testing the textbox
8342 2004-12-16 Peter Bartok <pbartok@novell.com>
8345 - Fixed Streamline method
8346 - Added FindTag method to Line
8347 - Added DumpTree method for debugging
8348 - Added DecrementLines() method for deleting lines
8349 - Fixed UpdateView to update the cursor to end-of-line on single-line
8351 - Added PositionCaret() method
8352 - Fixed MoveCaret(LineDown) to move into the last line, too
8353 - Added InsertChar overload
8354 - Fixed InsertChar tag offset calculations
8355 - Added DeleteChar() method
8356 - Added Combine() method for folding lines
8357 - Fixed Delete() method, no longer allocates wasted Line object and
8358 now copies all properties when swapping nodes
8359 - Delete() method now updates document line counter
8361 2004-12-15 Jackson Harper <jackson@ximian.com>
8363 * XplatUIX11.cs: Get the modifier keys from the keyboard driver
8364 * X11Keyboard.cs: Expose the currently selected modifier keys
8367 2004-12-15 Peter Bartok <pbartok@novell.com>
8369 * TextControl.cs: Initial check-in. Still incomplete
8371 2004-12-15 Jackson Harper <jackson@ximian.com>
8374 * TreeView.cs: Fix build on csc (second time today ;-))
8376 2004-12-15 Jackson Harper <jackson@ximian.com>
8378 * TreeView.cs: Store the treenodes plus/minus box bounds when it
8379 is calculated and use this for click testing.
8380 * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
8382 2004-12-15 Jackson Harper <jackson@ximian.com>
8384 * TreeView.cs: Pass the nodes image index to the image list when
8387 2004-12-15 Jackson Harper <jackson@ximian.com>
8389 * X11Keyboard.cs: Set messages hwnd.
8390 * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
8393 2004-12-15 Jackson Harper <jackson@ximian.com>
8395 * X11Keyboard.cs: Fix to compile with csc.
8397 2004-12-15 Jackson Harper <jackson@ximian.com>
8399 * X11Structs.cs: Add key mask values
8400 * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
8401 * X11Keyboard.cs: New file - Extrapolates and interpolates key
8402 down/up foo into WM_CHAR foo
8403 * KeyboardLayouts.cs: Common keyboard layouts
8404 * XplatUIX11.cs: Add the keyboard driver. Add functionality to
8405 post messages into the main queue.
8407 2004-12-13 Jordi Mas i Hernandez <jordi@ximian.com>
8409 * Button.cs: implement ProcessMnemonic
8410 * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
8412 * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
8413 * ButtonBase.cs: Show HotkeyPrefix (not the &)
8415 2004-12-12 John BouAntoun <jba-mon@optusnet.com.au>
8417 * MonthCalendar.cs: Implemented click-hold for next/previous month
8420 2004-12-11 Peter Bartok <pbartok@novell.com>
8423 - Added XKeyboardState (moved from XplatUIX11.cs)
8424 - Added XCreateGC related enums and structures
8425 - Added GXFunction for XSetFunction
8427 * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
8429 * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
8430 CaretVisible() calls
8432 * ToolTip.cs: Added code to prevent stealing focus from app windows
8434 * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
8435 DestroyCaret, SetCaretPos and CaretVisible)
8438 - Added implementation for caret functions
8439 - Moved hover variables into a struct, to make it a bit easier
8440 on the eyes and to debug
8441 - Removed XKeyboardState (moved to XplatUIX11.cs)
8442 - Moved Keyboard properties into the properties region
8444 * Control.cs (get_Region): Control.CreateGraphics is the appropriate
8445 call to get a graphics context for our control
8447 * XplatUIOSX.cs: Added empty overrides for the new caret functions
8449 * TreeView.cs: Fixed bug. No matter what color was set it would always
8450 return SystemColors.Window
8452 * XplatUIWin32.cs: Implemented caret overrides
8454 2004-12-10 Jordi Mas i Hernandez <jordi@ximian.com>
8456 * ListBox.cs: fire events, implement missing methods and properties,
8459 2004-12-10 John BouAntoun <jba-mono@optusnet.com.au>
8461 * MonthCalendar.cs: invalidation bug fixing
8462 * ThemeWin32Classic.cs: paint fixing
8464 2004-12-09 Geoff Norton <gnorton@customerdna.com>
8466 * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
8467 prepare the CGContextRef there now.
8469 2004-12-09 John BouAntoun <jba-mono@optusnet.com.au>
8472 - optimisationL only invalidate areas that have changed
8473 * ThemeWin32Classic.cs:
8474 - only paint parts that intersect with clip_area
8476 2004-12-09 Peter Bartok <pbartok@novell.com>
8478 * Application.cs: Undid changes from r37004 which cause problems
8481 2004-12-09 Ravindra <rkumar@novell.com>
8483 * ToolBar.cs: Added support for displaying ContextMenu
8484 attached to a button on ToolBar.
8485 * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
8488 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
8490 * Label.cs: autosize works in text change and removes unnecessary
8493 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
8495 * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
8498 2004-12-08 Geoff Norton <gnorton@customerdna.com>
8500 * XplatUIOSX.cs: Added mouse move/click/grab support
8501 Remove some debugging WriteLines not needed anymore.
8502 Add window resizing/positioning.
8503 Fix visibility on reparenting.
8505 2004-12-08 Peter Bartok <pbartok@novell.com>
8507 * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
8509 2004-12-07 Geoff Norton <gnorton@customerdna.com>
8511 * XplatUIOSX.cs: Initial checkin
8512 * XplatUI.cs: Use the Quartz driver if the environment is set to use it
8514 2004-12-03 Ravindra <rkumar@novell.com>
8516 * ListView.cs: Added some keybindings and fixed scrolling.
8517 ScrollBars listen to ValueChanged event instead of Scroll
8518 Event. This would let us take care of all changes being
8519 done in the scrollbars' values programmatically or manually.
8520 * ListView.cs (CanMultiselect): Added a check for shift key.
8521 * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
8522 * ListViewItem.cs (Clone): Fixed. We need to make a copy
8523 of ListViewSubItemCollection as well.
8525 2004-12-06 Peter Bartok <pbartok@novell.com>
8527 * Control.cs (Parent): Added check and exception to prevent
8530 2004-12-03 Jordi Mas i Hernandez <jordi@ximian.com>
8532 * ListBox.cs: implemented clipping, selection single and multiple,
8535 2004-12-03 Ravindra <rkumar@novell.com>
8537 * ListView.cs (ListView_KeyDown):
8538 * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
8539 when CTRL key is pressed.
8540 * ListViewItem.cs (Selected): Fixed setting the property.
8542 2004-12-03 Marek Safar <marek.safar@seznam.cz>
8544 * Application.cs (OnThreadException): Use ThreadExceptionDialog.
8546 * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
8547 MinimizeBox, ShowInTaskbar, TopMost properties.
8549 * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
8550 will be implemented).
8552 2004-12-03 Marek Safar <marek.safar@seznam.cz>
8554 * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
8556 * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
8559 * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
8561 * TreeView.cs: BackColor is Colors.Window.
8563 2004-12-01 Jackson Harper <jackson@ximian.com>
8565 * TreeView.cs: When resizing the tree if the user is making it
8566 smaller we don't get expose events, so we need to handle adding
8567 the horizontal scrollbar in the size changed handler as well as
8570 2004-12-02 Jordi Mas i Hernandez <jordi@ximian.com>
8572 * DrawItemState.cs: fixes wrong enum values
8574 2004-12-01 Jackson Harper <jackson@ximian.com>
8576 * TreeView.cs: Resize the hbar as well as the vbar on resize.
8578 2004-12-01 Jackson Harper <jackson@ximian.com>
8580 * NodeLabelEditEventArgs.cs:
8581 * NodeLabelEditEventHandler.cs:
8582 * OpenTreeNodeEnumerator.cs:
8584 * TreeNodeCollection.cs:
8586 * TreeViewAction.cs:
8587 * TreeViewCancelEventArgs.cs:
8588 * TreeViewCancelEventHandler.cs:
8589 * TreeViewEventArgs.cs:
8590 * TreeViewEventHandler.cs: Initial implementation.
8592 2004-12-01 Ravindra <rkumar@novell.com>
8594 * ListView.cs (CalculateListView): Fixed scrolling related
8595 calculations. Also, removed some debug statements from other
8597 * ListViewItem.cs: Changed access to 'selected' instance variable
8598 from private to internal.
8599 * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
8601 2004-12-01 Jordi Mas i Hernandez <jordi@ximian.com>
8603 * ThemeWin32Classic.cs: remove cache of brush and pens for
8604 specific controls and use the global system, fixes scrollbutton
8605 bugs (for small sizes, disabled, etc)
8607 * ScrollBar.cs: does not show the thumb for very small controls
8608 (as MS) and allow smaller buttons that the regular size
8610 2004-12-01 Miguel de Icaza <miguel@ximian.com>
8612 * UpDownBase.cs: Add abstract methods for the interface.
8613 Add new virtual methods (need to be hooked up to TextEntry when it
8615 Add override methods for most features.
8616 Computes the size, forces the height of the text entry.
8618 * NumericUpDown.cs: Put here the current testing code.
8620 * Set eol-style property on all files that do not have mixed line
8621 endings, to minimize the future problems. There are still a few
8622 files with mixed endings, and someone should choose whether they
8623 want to move it or not.
8625 2004-11-30 Jordi Mas i Hernandez <jordi@ximian.com>
8627 * MonthCalendar.cs, ListView.cs: use Theme colours instead of
8630 2004-11-30 Ravindra <rkumar@novell.com>
8632 * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
8633 drawing and replaced use of SystemColors by theme colors.
8634 * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
8635 * ListView.cs (ListViewItemCollection.Add): Throw exception when
8636 same ListViewItem is being added more than once.
8638 2004-11-30 John BouAntoun <jba-mono@optusnet.com.au>
8641 - ControlStyles love to make the control not flicker
8643 2004-11-30 Peter Bartok <pbartok@novell.com>
8645 * CharacterCasing.cs: Added
8647 2004-11-29 Peter Bartok <pbartok@novell.com>
8649 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
8650 TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
8651 I am removing these files as they conflict with already completed
8652 work. While it is fantastic to get contributions to MWF, I
8653 respectfully ask that everyone please coordinate their contributions
8654 through mono-winforms-list or #mono-winforms at this time. We're
8655 explicitly avoiding stubbing and don't want controls that don't have
8656 their basic functionality implemented in svn. Please also see
8657 http://www.mono-project.com/contributing/winforms.html
8660 2004-11-29 Marek Safar <marek.safar@seznam.cz>
8662 * Application.cs (ModalRun): Don't hang after exit.
8664 * Theme.cs: New TreeViewDefaultSize property.
8666 * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
8667 with less hardcoded SystemColors constant.
8668 Implemented TreeViewDefaultSize.
8670 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
8671 TreeViewAction.cs, TreeViewEventArgs.cs: New files.
8674 2004-11-29 John BouAntoun <jba-mono@optusnet.com.au>
8677 - Fix NextMonthDate and PrevMonthDate click moving calendar
8679 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
8682 - Fix usage of ScrollChange Property when scrolling months
8684 2004-11-26 Jordi Mas i Hernandez <jordi@ximian.com>
8686 * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
8687 - Fixes menu destroying
8688 - Support adding and removing items on already created menus
8690 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
8693 - Re-worked all bolded dates handling to match win32
8694 * ThemeWin32Classic.cs:
8695 - Fixed rendering with bolded dates
8697 2004-11-25 Jordi Mas i Hernandez <jordi@ximian.com>
8699 * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
8700 - Horizontal scroolbar
8705 2004-11-25 John BouAntoun <jba-mono@optusnet.com.au>
8708 - Fix Usage of MaxSelectionCount from SelectionRange
8709 - Fixed Shift + Cursor Selection
8710 - Fixed Shift + (Pg up/Pg dn, Home/End) selection
8711 - Fixed normal cursor selection to be compat with win32
8712 - Fixed Shift + Mouse Click selection
8714 2004-11-24 Peter Bartok <pbartok@novell.com>
8716 * XplatUI.cs (DispatchMessage): Switched to return IntPtr
8717 * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
8719 - CreatedKeyBoardMsg now updates keystate with Alt key
8720 - Added workaround for timer crash to CheckTimers, Jackson will
8721 develop a proper fix and check in later
8722 - Implemented DispatchMessage
8723 - Removed calling the native window proc from GetMessage (call
8724 now moved to DispatchMessage)
8726 * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
8727 the keydata (Fixes bug #69831)
8730 - (DispatchMessage): Switched to return IntPtr
8731 - Added DllImport for SetFocus
8733 2004-11-24 Ravindra <rkumar@novell.com>
8735 * ThemeWin32Classic.cs: Fixed ListView border and checkbox
8737 * ListViewItem.cs: Fixed various properties, calculations
8738 and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
8739 * ListView.cs: Fixed calculations, BackColor, ForeColor properties
8740 and some internal properties. Fixed MouseDown handler and Paint
8743 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
8745 * MonthCalendar.cs: Add TitleMonth ContextMenu handling
8747 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
8749 * ContainerControl.cs: correct accidental check in of local changes
8751 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
8753 * ThemeWin32Classic.cs:
8754 - Fixed Drawing Last month in grid (sometimes not showing)
8756 - Fixed title width calculation bug (makeing title small)
8758 2004-11-23 Peter Bartok <pbartok@novell.com>
8761 - Added generation of WM_MOUSEHOVER event
8762 - Added missing assignment of async_method atom
8763 - Fixed WM_ERASEBKGND; now only redraws the exposed area
8765 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
8767 * ThemeWin32Classic.cs:
8768 - Fixed Drawing of today circle when showtodaycircle not set
8769 - fixed drawing of first and last month in the grid (gay dates)
8771 - Fixed Drawing of today circle
8772 - Fixed drawing of grady dates
8773 - Fixed HitTest for today link when ShowToday set to false
8774 - Fixed DefaultSize to obey ShowToday
8776 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
8778 * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
8779 * System.Windows.Forms/Theme.cs
8780 * MonthCalendar.cs: added for MonthCalendar
8781 * SelectionRange.cs: added for MonthCalendar
8782 * Day.cs: added for MonthCalendar: added for MonthCalendar
8783 * DateRangeEventArgs.cs: added for MonthCalendar
8784 * DateRangeEventHandler.cs: added for MonthCalendar
8786 2004-11-22 Ravindra <rkumar@novell.com>
8788 * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
8791 2004-11-22 Miguel de Icaza <miguel@ximian.com>
8793 * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
8796 * NumericUpDown.cs: Added new implementation.
8797 * UpDownBase.cs: Added new implementation.
8799 * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
8802 * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
8805 * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
8808 2004-11-21 Miguel de Icaza <miguel@ximian.com>
8810 * Timer.cs (Dispose): Should call the base dispose when
8813 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
8815 * ScrollBar.cs: updates thumb position when max, min or increment
8818 2004-11-21 Ravindra <rkumar@novell.com>
8820 * ListView.cs: Implemented item selection, activation and
8821 column header style. Fixed properties to do a redraw, if
8822 required. Added support for MouseHover, DoubleClick, KeyDown
8823 and KeyUp event handling and some minor fixes.
8824 * ListViewItem.cs: Fixed constructor.
8825 * ThemeWin32Classic.cs: Improved drawing for ListView.
8827 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
8829 * ThemeWin32Classic.cs: initial listbox drawing code
8830 * DrawMode.cs: new enumerator
8831 * ListControl.cs: stubbed class
8832 * ListBox.cs: initial implementation
8833 * Theme.cs: new methods definitions
8834 * SelectionMode.cs: new enumerator
8836 2004-11-17 Peter Bartok <pbartok@novell.com>
8838 * XplatUIWin32.cs: Added double-click events to the class style
8839 * Control.cs (WndProc):
8840 - Added handling of click-count to MouseDown/ MouseUp events.
8841 - Added handling of middle and right mouse buttons
8842 - Removed old debug code
8844 2004-11-17 Jackson Harper <jackson@ximian.com>
8846 * XplatUIX11.cs: Use the new Mono.Unix namespace.
8848 2004-11-17 Ravindra <rkumar@novell.com>
8850 * ListView.cs: Added event handling for MouseMove/Up/Down.
8851 * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
8852 * ThemeWin32Classic.cs: We need to clear the graphics context and
8853 draw column header in a proper state.
8856 2004-11-17 Jordi Mas i Hernandez <jordi@ximian.com>
8858 * Menu.cs: fixes signature
8860 2004-11-16 Peter Bartok <pbartok@novell.com>
8862 * XplatUIX11.cs (GetMessage): Implemented generation of
8863 double click mouse messages
8865 2004-11-12 Jordi Mas i Hernandez <jordi@ximian.com>
8867 * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
8870 2004-11-11 Peter Bartok <pbartok@novell.com>
8872 * HandleData.cs: Added Visible property
8873 * XplatUIX11.cs (IsVisible): Now uses Visible property from
8875 * XplatUIX11.cs: Removed old debug leftovers
8876 * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
8877 * Control.cs (WndProc): Removed old debug leftovers,
8878 streamlined handling of WM_WINDOWPOSCHANGED, removed un-
8879 needed WM_SIZE handling
8881 2004-11-11 Jackson Harper <jackson@ximian.com>
8883 * OwnerDrawPropertyBag.cs:
8884 * TreeViewImageIndexConverter.cs: Initial implementation
8886 2004-11-10 Jackson Harper <jackson@ximian.com>
8888 * ThemeWin32Classic.cs:
8889 * TabControl.cs: instead of moving tabs by the slider pos just
8890 start drawing at the tab that is offset by the slider. This way
8891 scrolling always moves by exactly one tab.
8893 2004-11-10 Jackson Harper <jackson@ximian.com>
8895 * TabControl.cs: You can only scroll left when the slider has
8896 already ben moved right.
8898 2004-11-10 Jackson Harper <jackson@ximian.com>
8900 * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
8903 2004-11-10 Jackson Harper <jackson@ximian.com>
8905 * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
8908 2004-11-09 Jackson Harper <jackson@ximian.com>
8910 * TabControl.cs (CalcXPos): New helper method so we can determine
8911 the proper place to start drawing vertical tabs.
8912 * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
8914 2004-11-09 Jackson Harper <jackson@ximian.com>
8916 * TabControl.cs: Calculate sizing and rects for left aligned tabs.
8917 * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
8918 and Bottom, left and right are illegal values for this and
8919 multiline is enabled when the alignment is set to left or right.
8920 (DrawTab): Each alignment block should draw the text itself now
8921 because Left requires special love. Also add rendering for Left
8924 2004-11-09 Jordi Mas i Hernandez <jordi@ximian.com>
8926 * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
8927 does not destroy the windows, removes debugging messages
8929 2004-11-09 jba <jba-mono@optusnet.com.au>
8931 * ThemeWin32Classic.cs
8932 (DrawButtonBase): Fix verticle text rect clipping in windows
8933 (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
8934 rendering and incorrect text rect clipping
8935 (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
8936 rendering and incorrect text rect clipping
8938 2004-11-08 Jackson Harper <jackson@ximian.com>
8940 * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
8941 bottom when they are bottom aligned so the bottoms of the tabs get
8943 * TabControl.cs (DropRow): Move rows up instead of down when the
8944 tab control is bottom aligned.
8946 2004-11-08 13:59 pbartok
8949 - Added handling for various window styles
8950 - Added handling for popup windows
8951 - Added SetTopmost handling
8953 2004-11-08 13:55 pbartok
8956 - Added argument to SetTopmost method
8957 - Fixed broken ClientToScreen function
8959 2004-11-08 13:53 pbartok
8961 * XplatUIStructs.cs:
8962 - Added missing WS_EX styles
8964 2004-11-08 13:53 pbartok
8966 * XplatUI.cs, XplatUIDriver.cs:
8967 - Added argument to SetTopmost
8969 2004-11-08 13:52 pbartok
8972 - Added XSetWindowAttributes structure
8973 - Improved XWindowAttributes structure
8974 - Added SetWindowValuemask enum
8975 - Added window creation arguments enum
8976 - Added gravity enum
8977 - Added Motif hints structure
8978 - Added various Motif flags and enums
8979 - Added PropertyMode enum for property functions
8981 2004-11-08 13:50 pbartok
8984 - Fixed arguments for updated SetTopmost method
8986 2004-11-08 13:49 pbartok
8989 - Fixed arguments for updated SetTopmost function
8990 - Fixed usage of PointToClient
8992 2004-11-08 13:44 pbartok
8995 - Added Clipping of children and siblings
8997 2004-11-08 13:41 pbartok
9000 - Removed SetMenuBarWindow call. We do this in Form.cs
9002 2004-11-08 13:40 jackson
9004 * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
9005 scrolling jimmi in the correct location with bottom aligned tabs
9007 2004-11-08 13:36 pbartok
9009 * ContainerControl.cs:
9010 - Implemented BindingContext
9011 - Implemented ParentForm
9013 2004-11-08 12:46 jackson
9015 * TabControl.cs: Put bottom rendered tabs in the right location
9017 2004-11-08 07:15 jordi
9019 * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
9022 2004-11-05 17:30 jackson
9024 * TabControl.cs: When selected tabs are expanded make sure they
9025 don't go beyond the edges of the tab control
9027 2004-11-05 14:57 jackson
9029 * TabControl.cs: Reset show_slider so if the control is resized to
9030 a size where it is no longer needed it's not displayed anymore
9032 2004-11-05 13:16 jackson
9034 * TabControl.cs: Make tab pages non visible when added to the
9037 2004-11-05 12:42 jackson
9039 * TabControl.cs: Implement SizeMode.FillToRight
9041 2004-11-05 12:16 jackson
9043 * Control.cs: Do not call CreateHandle if the handle is already
9046 2004-11-05 11:46 jackson
9048 * TabControl.cs: Remove superflous call to CalcTabRows
9050 2004-11-05 09:07 jackson
9052 * XplatUIX11.cs: Update for Mono.Posix changes
9054 2004-11-05 07:00 ravindra
9056 * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
9059 2004-11-04 22:47 jba
9061 * ThemeWin32Classic.cs:
9062 - Fix Button rendering for FlatStyle = Flat or Popup
9063 - Fix RadioButton and CheckBox rendering when Appearance = Button
9064 (normal and flatstyle).
9065 - Correct outer rectangle color when drawing focus rectangle
9066 - Adjust button bounds to be 1 px smaller when focused
9067 - Make button not draw sunken 3d border when pushed (windows compat)
9068 - Fix CPDrawBorder3D to not make bottom right hand corner rounded
9069 - Offset the text in RadioButton and Checkbox when being rendered as
9071 - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
9073 - Fixed disabled rendering for colored flatstyle radiobuttons (both)
9074 - Fixed disabled text rendering for normally rendered radiobuttons
9076 2004-11-04 10:26 jackson
9078 * TabControl.cs: Recalculate tab rows when resizing
9080 2004-11-04 07:47 jordi
9082 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
9083 collection completion, drawing issues, missing features
9085 2004-11-04 05:03 ravindra
9088 - We need to recalculate the Thumb area when
9089 LargeChange/maximum/minimum values are changed.
9090 - We set the 'pos' in UpdatePos() method to minimum, if it's less
9091 than minimum. This is required to handle the case if large_change is
9092 more than max, and use LargeChange property instead of large_change
9094 - We return max+1 when large_change is more than max, like MS does.
9096 2004-11-04 04:29 ravindra
9098 * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
9099 - Changed default value signatures (prefixed all with ListView).
9100 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
9102 - Fixed calculations for ListViewItem and implemented Clone()
9105 2004-11-04 04:26 ravindra
9107 * Theme.cs, ThemeWin32Classic.cs:
9108 - Changed default ListView values signatures (prefixed all with
9110 - Fixed default size values for VScrollBar and HScrollBar.
9111 - Fixed DrawListViewItem method.
9113 2004-11-04 04:05 ravindra
9115 * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
9117 2004-11-04 04:04 ravindra
9119 * ImageList.cs: Implemented the missing overload for Draw method.
9121 2004-11-03 19:29 jackson
9123 * TabControl.cs: Handle dropping rows on selection properly
9125 2004-11-03 11:59 jackson
9127 * TabControl.cs: remove debug code
9129 2004-11-03 11:52 jackson
9131 * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
9132 the scrolly widgerywoo
9134 2004-11-02 13:52 jackson
9136 * TabControl.cs: Resize the tab pages and tabs when the tab control
9139 2004-11-02 13:40 jackson
9141 * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
9142 selected tab to the bottom
9144 2004-11-02 13:39 jackson
9146 * TabPage.cs: Store the tab pages row
9148 2004-11-02 12:33 jordi
9150 * MenuItem.cs: fixes handle creation
9152 2004-11-02 11:42 jackson
9154 * TabControl.cs: signature fix
9156 2004-11-02 08:56 jackson
9158 * TabControl.cs: Calculate whether the tab is on an edge properly.
9159 Remove top secret debugging code
9161 2004-11-01 19:57 jackson
9163 * TabControl.cs: Add click handling, and proper sizing
9165 2004-11-01 19:47 jackson
9167 * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
9170 2004-11-01 19:39 jackson
9172 * TabPage.cs: add internal property to store the bounds of a tab
9175 2004-10-30 04:23 ravindra
9177 * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
9180 2004-10-30 04:21 ravindra
9182 * ListView.cs, ListViewItem.cs: Added support for scrolling and
9185 2004-10-30 03:06 pbartok
9188 - Removed extension of DllImported libs
9190 2004-10-29 09:55 jordi
9192 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
9193 navigation, itemcollection completion, menu fixes
9195 2004-10-27 22:58 pbartok
9198 - Now throws a nice error message when no X display could be opened
9200 2004-10-26 13:51 jordi
9202 * ListView.cs: removes warning
9204 2004-10-26 03:55 ravindra
9206 * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
9207 ThemeWin32Classic.cs: Some formatting for my last checkins.
9209 2004-10-26 03:36 ravindra
9211 * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
9212 control and default values.
9214 2004-10-26 03:35 ravindra
9216 * Theme.cs: Added some default values for ListView control.
9218 2004-10-26 03:33 ravindra
9220 * ToolBar.cs: ToolBar should use the user specified button size, if
9221 there is any. Added a size_specified flag for the same.
9223 2004-10-26 03:33 ravindra
9225 * ColumnHeader.cs: Added some internal members and calculations for
9228 2004-10-26 03:32 ravindra
9230 * ListViewItem.cs: Calculations for ListViewItem.
9232 2004-10-26 03:31 ravindra
9234 * ListView.cs: Added some internal members and calculations for
9237 2004-10-22 13:31 jordi
9239 * MenuAPI.cs: speedup menus drawing
9241 2004-10-22 13:16 jackson
9243 * XplatUIX11.cs: Make sure to update exposed regions when adding an
9246 2004-10-22 11:49 jackson
9250 2004-10-22 11:41 jackson
9252 * Control.cs: Check to see if the window should have its background
9253 repainted by X when drawing.
9255 2004-10-22 11:31 jackson
9257 * XplatUIX11.cs: When invalidating areas only use XClearArea if
9258 clear is true, this way we do not get flicker from X repainting the
9261 2004-10-22 11:28 jackson
9263 * XEventQueue.cs: Queue properly
9265 2004-10-21 09:38 jackson
9267 * XEventQueue.cs: Fix access modifier
9269 2004-10-21 09:36 jackson
9271 * XEventQueue.cs: Don't loose messages
9273 2004-10-21 09:22 jackson
9275 * XEventQueue.cs: Don't loose messages
9277 2004-10-20 04:15 jordi
9279 * BootMode.cs: enum need it by SystemInfo
9281 2004-10-19 21:58 pbartok
9284 - Small sanity check
9286 2004-10-19 21:56 pbartok
9289 - Added private FormParentWindow class which acts as the container
9290 for our form and as the non-client area where menus are drawn
9291 - Added/Moved required tie-ins to Jordi's menus
9292 - Fixed/Implemented the FormStartPosition functionality
9294 2004-10-19 21:52 pbartok
9297 - Removed unneeded locals
9298 - Added code to all size and location properties to understand and
9299 deal with the parent container of Form
9301 2004-10-19 21:33 pbartok
9304 - Fixed to deal with new Form subclasses for menus
9306 2004-10-19 17:48 jackson
9308 * XEventQueue.cs: commit correct version of file
9310 2004-10-19 16:50 jackson
9312 * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
9314 2004-10-19 16:15 jordi
9316 * MenuAPI.cs: MenuBarCalcSize returns the height
9318 2004-10-19 08:31 pbartok
9321 - Added missing call to PreProcessMessage before calling OnXXXKey
9324 2004-10-19 00:04 ravindra
9326 * ToolTip.cs: Fixed constructor.
9328 2004-10-18 09:31 jordi
9330 * MenuAPI.cs: menuitems in menubars do not have shortcuts
9332 2004-10-18 09:26 jordi
9334 * MenuItem.cs: fixes MenuItem class signature
9336 2004-10-18 08:56 jordi
9338 * MenuAPI.cs: prevents windows from showing in the taskbar
9340 2004-10-18 00:28 ravindra
9342 * ToolTip.cs: Suppressed a warning message.
9344 2004-10-18 00:27 ravindra
9346 * Control.cs: Default value of visible property must be true.
9348 2004-10-17 23:19 pbartok
9351 - Complete implementation
9353 2004-10-17 23:19 pbartok
9356 - Added EnableWindow method
9357 - Added SetModal stub
9358 - Added generation of WM_ACTIVATE message (still needs testing)
9359 - Added SetTopMost stub
9360 - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
9362 2004-10-17 23:17 pbartok
9365 - Removed VirtualKeys to XplatUIStructs
9366 - Implemented SetTopMost method
9367 - Implemented EnableWindow method
9368 - Bugfix in ScreenToClient()
9369 - Bugfixes in ClientToScreen()
9371 2004-10-17 22:51 pbartok
9373 * XplatUIStructs.cs:
9374 - Added WS_EX styles to WindowStyles enumeration
9376 2004-10-17 22:50 pbartok
9378 * XplatUI.cs, XplatUIDriver.cs:
9379 - Added method for enabling/disabling windows
9380 - Added method for setting window modality
9381 - Added method for setting topmost window
9383 2004-10-17 22:49 pbartok
9385 * ThemeWin32Classic.cs:
9386 - Added ToolTip drawing code
9388 2004-10-17 22:49 pbartok
9391 - Added ToolTip abstracts
9393 2004-10-17 22:47 pbartok
9396 - Fixed Form.ControlCollection to handle owner relations
9397 - Added Owner/OwnedForms handling
9398 - Implemented Z-Ordering for owned forms
9399 - Removed unneeded private overload of ShowDialog
9400 - Fixed ShowDialog, added the X11 incarnation of modal handling (or
9402 - Fixed Close(), had wrong default
9403 - Added firing of OnLoad event
9404 - Added some commented out debug code for Ownership handling
9406 2004-10-17 22:16 pbartok
9409 - Fixed/implemented flat list of controls
9411 2004-10-17 22:14 pbartok
9414 - Added code to simulate modal dialogs on Win32
9416 2004-10-17 16:11 jordi
9418 * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
9421 2004-10-17 13:39 jordi
9423 * MenuAPI.cs: menu drawing fixes
9425 2004-10-15 09:10 ravindra
9427 * StructFormat.cs: General Enum.
9429 2004-10-15 09:09 ravindra
9431 * SizeGripStyle.cs: Enum for Form.
9433 2004-10-15 09:08 ravindra
9435 * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
9436 in Theme for ListView.
9438 2004-10-15 09:06 ravindra
9440 * ColumnHeader.cs: Flushing some formatting changes.
9442 2004-10-15 09:05 ravindra
9444 * ListViewItem.cs: Implemented GetBounds method and fixed coding
9447 2004-10-15 09:03 ravindra
9449 * ListView.cs: Implemented Paint method and fixed coding style.
9451 2004-10-15 07:34 jordi
9453 * MenuAPI.cs: fix for X11
9455 2004-10-15 07:32 ravindra
9457 * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
9458 - Renamed Paint() method to Draw() for clarity. Also, moved
9459 DrawImage() to OnPaint().
9461 2004-10-15 07:25 ravindra
9463 * CheckBox.cs, RadioButton.cs:
9464 - Removed Redraw (), we get it from ButtonBase.
9465 - Implemented Paint (), to do class specific painting.
9467 2004-10-15 07:16 ravindra
9470 - Redraw () is not virtual now.
9471 - Added an internal virtual method Paint (), so that
9472 derived classes can do their painting on their own.
9473 - Modified OnPaint () to call Paint ().
9475 2004-10-15 06:43 jordi
9477 * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
9478 MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
9480 2004-10-15 00:30 ravindra
9483 - MessageBox on windows does not have min/max buttons.
9484 This change in CreateParams fixes this on Windows. We
9485 still need to implement this windowstyle behavior in
9488 2004-10-14 05:14 ravindra
9491 - Changed Redraw () to do a Refresh () always.
9492 - Fixed the MouseMove event handling when mouse is pressed,
9493 ie drag event handling.
9494 - Replaced the usage of ToolBarButton.Pressed property to
9495 ToolBarButton.pressed internal variable.
9497 2004-10-14 05:10 ravindra
9500 - Added an internal member 'inside' to handle mouse move
9501 with mouse pressed ie mouse drag event.
9502 - Changed 'Pressed' property to return true only when
9503 'inside' and 'pressed' are both true.
9504 - Some coding style love.
9506 2004-10-14 00:17 ravindra
9508 * Form.cs: Fixed class signature. ShowDialog (Control) is not a
9511 2004-10-14 00:15 ravindra
9513 * ButtonBase.cs: Redraw () related improvements.
9515 2004-10-14 00:14 ravindra
9517 * MessageBox.cs: Moved InitFormSize () out of Paint method and
9518 removed unnecessary calls to Button.Show () method.
9520 2004-10-13 17:50 pbartok
9524 - Removed destroying of window until we solve the problem of X
9525 destroying the window before us on shutdown
9527 2004-10-13 16:32 pbartok
9530 - Now Redraws on MouseUp for FlatStyle Flat and Popup
9532 2004-10-13 14:18 pbartok
9535 - Added code to destroy the X window
9537 2004-10-13 14:18 pbartok
9540 - Added code to destroy a window
9542 2004-10-13 14:12 pbartok
9545 - Added the Redraw on Resize that got dropped in the last rev
9547 2004-10-13 09:06 pbartok
9549 * ThemeWin32Classic.cs:
9550 - Path from John BouAntoun:
9551 * Fix check rendering (centre correctly for normal style, offset
9552 correctly for FlatStyle).
9553 * Fix border color usage (use backcolor) for FlatStyle.Popup
9554 * Use checkbox.Capture instead of checkbox.is_pressed when
9555 rendering flatstyle states.
9557 2004-10-12 21:48 pbartok
9559 * ThemeWin32Classic.cs:
9560 - Removed all occurences of SystemColors and replaced them with the
9561 matching theme color
9563 2004-10-12 21:41 pbartok
9565 * ThemeWin32Classic.cs:
9566 - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
9567 him using the function for flatstyle drawing
9568 - Changed functions to use the new version of CPDrawBorder3D
9570 2004-10-12 21:15 pbartok
9573 - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
9574 match MS documentation. They need to return defined colors if the
9575 passed color matches the configured control color. Thanks to John
9576 BouAntoun for pointing this out.
9578 2004-10-12 20:57 pbartok
9581 - Fix from John BouAntoun: Raise ForeColorChanged event when text
9584 2004-10-12 20:46 pbartok
9587 - Fix from John BouAntoun: Now properly sets the Appearance property
9589 2004-10-12 20:45 pbartok
9591 * ThemeWin32Classic.cs:
9592 - Fixes from John BouAntoun: now handles forecolors and backcolors
9593 for flatstyle rendered controls much better; It also fixes normal
9594 checkbox rendering when pushed or disabled.
9596 2004-10-08 02:50 jordi
9598 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
9601 2004-10-07 08:56 jordi
9603 * ThemeWin32Classic.cs: Removes deletion of cached brushes
9605 2004-10-06 03:59 jordi
9607 * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
9608 XplatUIWin32.cs: removes warnings from compilation
9610 2004-10-05 12:23 jackson
9612 * RadioButton.cs: Fix ctor
9614 2004-10-05 11:10 pbartok
9617 - Partial implementation by Benjamin Dasnois
9619 2004-10-05 10:15 jackson
9621 * ThemeWin32Classic.cs: Improve rendering of the radio button patch
9624 2004-10-05 03:07 ravindra
9627 - Removed a private method, Draw ().
9628 - Fixed the ButtonDropDown event handling.
9629 - Fixed MouseMove event handling.
9631 2004-10-05 03:04 ravindra
9633 * ThemeWin32Classic.cs:
9634 - Added DrawListView method and ListViewDefaultSize property.
9635 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
9636 - Changed DOS style CRLF to Unix format (dos2unix).
9638 2004-10-05 03:03 ravindra
9641 - Added DrawListView method and ListViewDefaultSize property.
9643 2004-10-05 02:42 ravindra
9645 * ToolBarButton.cs: Added an internal member dd_pressed to handle
9646 clicks on DropDown arrow.
9648 2004-10-04 22:56 jackson
9650 * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
9651 ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
9652 Control handle the buffers, derived classes should not have to
9653 CreateBuffers themselves.
9655 2004-10-04 21:20 jackson
9657 * StatusBar.cs: The control handles resizing the buffers now.
9659 2004-10-04 21:18 jackson
9661 * Control.cs: When resizing the buffers should be invalidated. This
9662 should be handled in Control not in derived classes.
9664 2004-10-04 14:45 jackson
9668 2004-10-04 02:14 pbartok
9670 * LeftRightAlignment.cs:
9673 2004-10-04 01:09 jordi
9675 * ThemeWin32Classic.cs: fixes right button position causing right
9676 button not showing on horizontal scrollbars
9678 2004-10-02 13:12 pbartok
9681 - Simplified the Invalidate method by using an X call instead of
9682 generating the expose ourselves
9683 - Added an expose when the window background is changed
9684 - Implemented ClientToScreen method
9686 2004-10-02 13:08 pbartok
9689 - Added Win32EnableWindow method (test for implementing modal
9691 - Added ClientToScreen method and imports
9693 2004-10-02 13:07 pbartok
9695 * XplatUI.cs, XplatUIDriver.cs:
9696 - Added ClientToScreen coordinate translation method
9698 2004-10-02 13:06 pbartok
9700 * KeyPressEventArgs.cs:
9701 - Fixed access level for constructor
9703 2004-10-02 13:06 pbartok
9706 - Changed access level for the window_collection hash table
9708 2004-10-02 13:05 pbartok
9711 - Added KeyPreview property
9712 - Added Menu property (still incomplete, pending Jordi's menu work)
9713 - Implemented ProcessCmdKey
9714 - Implemented ProcessDialogKey
9715 - Implemented ProcessKeyPreview
9717 2004-10-02 13:02 pbartok
9720 - Added private method to get the Control object from the window
9722 - Implemented ContextMenu property
9723 - Implemented PointToScreen
9724 - Implemented PreProcessMessage
9725 - Implemented IsInputChar
9726 - Implemented IsInputKey
9727 - Implemented ProcessCmdKey
9728 - Completed ProcessKeyEventArgs
9729 - Fixed message loop to call the proper chain of functions on key
9731 - Implemented ProcessDialogChar
9732 - Implemented ProcessDialogKey
9733 - Implemented ProcessKeyMessage
9734 - Implemented ProcessKeyPreview
9735 - Added RaiseDragEvent stub (MS internal method)
9736 - Added RaiseKeyEvent stub (MS internal method)
9737 - Added RaiseMouseEvent stub (MS Internal method)
9738 - Added RaisePaintEvent stub (MS Internal method)
9739 - Added ResetMouseEventArgs stub (MS Internal method)
9740 - Implemented RtlTranslateAlignment
9741 - Implemented RtlTranslateContent
9742 - Implemented RtlTranslateHorizontal
9743 - Implemented RtlTranslateLeftRight
9744 - Added generation of KeyPress event
9746 2004-10-02 05:57 ravindra
9748 * ListViewItem.cs: Added attributes.
9750 2004-10-02 05:32 ravindra
9752 * ListView.cs: Added attributes.
9754 2004-10-01 11:53 jackson
9756 * Form.cs: Implement the Close method so work on MessageBox can
9759 2004-09-30 14:06 pbartok
9764 2004-09-30 11:34 jackson
9766 * RadioButton.cs: Fix typo. Patch by John BouAntoun.
9768 2004-09-30 07:26 ravindra
9770 * ListViewItemConverter.cs: Converter for ListViewItem.
9772 2004-09-30 07:26 ravindra
9774 * SortOrder.cs: Enum for ListView control.
9776 2004-09-30 07:25 ravindra
9778 * ColumnHeader.cs: Supporting class for ListView control.
9780 2004-09-30 07:24 ravindra
9782 * ListView.cs, ListViewItem.cs: Initial implementation.
9784 2004-09-30 07:20 ravindra
9786 * ItemActivation.cs: Enum for ListView Control.
9788 2004-09-29 20:29 pbartok
9791 - Added lookup of pixel value for background color; tries to get a
9792 color 'close' to the requested color, it avoids having to create a
9793 colormap. Depending on the display this could mean the used color
9794 is slightly off the desired color. Might have to change it to a more
9795 resource intensive colormap approach, but it will work as a
9796 workaround to avoid red screens.
9798 2004-09-29 14:27 jackson
9800 * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
9802 2004-09-28 12:44 pbartok
9804 * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
9805 HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
9806 ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
9807 Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
9808 TrackBar.cs, VScrollBar.cs:
9809 - Streamlined Theme interfaces:
9810 * Each DrawXXX method for a control now is passed the object for
9811 the control to be drawn in order to allow accessing any state the
9814 * ControlPaint methods for the theme now have a CP prefix to avoid
9815 name clashes with the Draw methods for controls
9817 * Every control now retrieves it's DefaultSize from the current
9820 2004-09-28 12:17 jackson
9822 * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
9825 2004-09-24 14:57 jackson
9827 * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
9828 Gives us a nice little performance boost.
9830 2004-09-24 12:02 jackson
9832 * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
9833 TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
9834 Control and supporting classes. Initial checkin
9836 2004-09-23 13:08 jackson
9838 * Form.cs: Temp build fixage
9840 2004-09-23 01:39 ravindra
9842 * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
9843 ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
9844 ItemDragEventArgs.cs, ItemDragEventHandler.cs,
9845 LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
9846 EventHandlers needed by ListView Control.
9848 2004-09-22 14:12 pbartok
9850 * ScrollableControl.cs:
9851 - Implemented DockPadding property
9852 - Implemented AutoScroll property
9853 - Implemented AutoScrollMargin property
9854 - Implemented AutoScrollMinSize property
9855 - Implemented AutoScrollPosition property
9856 - Implemented DisplayRectangle property (still incomplete)
9857 - Implemented CreateParams property
9858 - Implemented HScroll property
9859 - Implemented VScroll property
9860 - Implemented OnVisibleChanged property
9862 2004-09-22 14:09 pbartok
9865 - Added Form.ControllCollection class
9866 - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
9867 RemoveOwnedForm (still incomplete, missing on-top and common
9868 minimize/maximize behaviour)
9869 - Added StartPosition property (still incomplete, does not use when
9871 - Added ShowDialog() methods (still incomplete, missing forcing the
9874 2004-09-22 14:05 pbartok
9877 - Added message loop for modal dialogs
9879 2004-09-22 14:02 pbartok
9882 - Fixed wrong types for events
9884 2004-09-22 14:00 pbartok
9886 * Shortcut.cs, FormWindowState.cs:
9887 - Fixed wrong values
9889 2004-09-22 12:01 jackson
9891 * Control.cs: Text is never null
9893 2004-09-20 22:14 pbartok
9896 - Fixed accessibility level for Idle handler
9898 2004-09-20 18:54 jackson
9900 * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
9901 XplatUIX11.cs: New message loop that uses poll so we don't get a
9904 2004-09-17 10:43 pbartok
9907 - Fixed behaviour of arrow buttons. Now properly behaves like
9908 Buttons (and like Microsoft's scrollbar arrow buttons)
9910 2004-09-17 10:14 pbartok
9913 - Added missing release of keyboard/mouse capture
9915 2004-09-17 06:18 jordi
9917 * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
9918 Theme.cs: Very early menu support
9920 2004-09-16 17:45 pbartok
9923 - Fixed sending a window to the front
9924 - Added overload for SetWindowPos to avoid casting
9926 2004-09-16 17:44 pbartok
9929 - Added SendToBack and BringToFront methods
9931 2004-09-16 07:00 ravindra
9933 * Copyright: Added Novell URL.
9935 2004-09-16 07:00 ravindra
9937 * ToolBar.cs: Invalidate should be done before redrawing.
9939 2004-09-15 21:19 ravindra
9941 * ColumnHeaderStyle.cs: Enum for ListView Control.
9943 2004-09-15 21:18 ravindra
9945 * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
9948 2004-09-13 18:26 jackson
9950 * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
9953 2004-09-13 18:13 jackson
9955 * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
9956 a second thread and post messages into the main threads message
9957 queue. This makes timing much more consistent. Both win2K and XP
9958 have a minimum timer value of 15 milliseconds, so we now do this
9961 2004-09-13 15:18 pbartok
9963 * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
9965 - Added Z-Ordering methods
9967 2004-09-13 10:56 pbartok
9970 - Fixed #region names
9971 - Moved properties and methods into their proper #regions
9973 2004-09-13 10:51 pbartok
9976 - Added Accept and CancelButton properties
9977 - Added ProcessDialogKey() method
9979 2004-09-13 08:18 pbartok
9984 2004-09-10 21:50 pbartok
9987 - Added DoDragDrop() [incomplete]
9988 - Properly implemented 'Visible' handling
9989 - Added SetVisibleCore()
9990 - Implemented FindChildAtPoint()
9991 - Implemented GetContainerControl()
9992 - Implemented Hide()
9994 2004-09-10 19:28 pbartok
9997 - Moved methods into their appropriate #regions
9998 - Reordered methods within regions alphabetically
10000 2004-09-10 18:57 pbartok
10002 * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
10003 - Added method to retrieve text from window
10005 2004-09-10 18:56 pbartok
10008 - Moved some internal functions into the internal region
10009 - Implemented FontHeight
10010 - Implemented RenderRightToLeft
10011 - Implemented ResizeRedraw
10012 - Implemented ShowFocusCues
10013 - Implemented ShowKeyboardCues
10014 - Implemented FromChildHandle
10015 - Implemented FromHandle
10016 - Implemented IsMnemonic
10017 - Implemented ReflectMessage
10018 - All public and protected Static Methods are now complete
10020 2004-09-10 16:54 pbartok
10023 - Implemented remaining missing public instance properties
10024 - Alphabetized some out of order properties
10026 2004-09-10 05:51 ravindra
10028 * PictureBox.cs: Added a check for null image.
10030 2004-09-10 00:59 jordi
10032 * GroupBox.cs: remove cvs tag
10034 2004-09-09 05:25 ravindra
10036 * ToolBar.cs: Make redraw accessible from ToolBarButton.
10038 2004-09-09 05:23 ravindra
10040 * ToolBarButton.cs: Changes in ToolBarButton need to make it's
10043 2004-09-09 02:28 pbartok
10045 * ThemeWin32Classic.cs:
10046 - Improve disabled string look
10048 2004-09-09 01:15 jordi
10050 * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
10053 2004-09-08 23:56 ravindra
10055 * ItemBoundsPortion.cs: It's enum, not a class!
10057 2004-09-08 23:47 ravindra
10059 * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
10062 2004-09-08 21:13 ravindra
10064 * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
10067 2004-09-08 21:03 ravindra
10069 * ThemeWin32Classic.cs: PictureBox would not draw a null image to
10072 2004-09-08 21:01 ravindra
10074 * ScrollableControl.cs: Removed unreachable code.
10076 2004-09-08 06:45 jordi
10078 * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
10080 2004-09-08 01:00 jackson
10082 * XplatUIX11.cs: Only run the timers when updating the message
10083 queue. This effectively gives X messages a higher priority then
10084 timer messages. Timers still need love though
10086 2004-09-07 14:01 jackson
10088 * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
10089 this for us and the handle is no longer valid.
10091 2004-09-07 13:59 jackson
10093 * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
10094 loop that manages to not crash. TODO: Add poll and cleanup timers
10096 2004-09-07 11:12 jordi
10098 * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
10100 2004-09-07 03:40 jordi
10102 * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
10103 fixes, methods, multiple links
10105 2004-09-06 06:55 jordi
10107 * Control.cs: Caches ClientRectangle rectangle value
10109 2004-09-05 02:03 jordi
10111 * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
10114 2004-09-04 11:10 jordi
10116 * Label.cs: Refresh when font changed
10118 2004-09-02 16:24 pbartok
10121 - Added sanity check to creation of double buffer bitmap
10123 2004-09-02 16:24 pbartok
10126 - Fixed selection of text color
10127 - Fixed handling of resize event; now properly recreates double
10129 - Added missing assignment of TextAlignment
10130 - Added proper default for TextAlignment
10132 2004-09-02 14:26 pbartok
10135 - Added missing RadioButton.RadioButtonAccessibleObject class
10137 2004-09-02 14:26 pbartok
10140 - Added missing Control.ControlAccessibleObject class
10141 - Started to implement Select()ion mechanisms, still very incomplete
10143 2004-09-02 14:25 pbartok
10145 * AccessibleObject.cs:
10146 - Added missing methods
10148 2004-09-02 14:23 pbartok
10150 * AccessibleNavigation.cs, AccessibleSelection.cs:
10153 2004-09-02 10:32 jordi
10155 * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
10156 pool for pens, brushes, and hatchbruses
10158 2004-09-01 15:30 jackson
10160 * StatusBar.cs: Fix typo
10162 2004-09-01 14:44 pbartok
10167 2004-09-01 14:39 pbartok
10169 * Button.cs, RadioButton.cs:
10170 - Functional initial check-in
10172 2004-09-01 14:01 pbartok
10175 - Added missing default
10176 - Added missing region mark
10178 2004-09-01 09:10 jordi
10180 * Label.cs: fixes method signatures, new methods, events, fixes
10183 2004-09-01 07:19 jordi
10185 * Control.cs: Init string variables with an empty object
10187 2004-09-01 04:20 jordi
10189 * Control.cs: fires OnFontChanged event
10191 2004-08-31 20:07 pbartok
10194 - Enabled display of strings
10196 2004-08-31 20:05 pbartok
10199 - Added (partial) implementation of DialogResult; rest needs to be
10200 implemented when the modal loop code is done
10202 2004-08-31 19:55 pbartok
10205 - Fixed to match the removal of the needs_redraw concept
10207 2004-08-31 19:55 pbartok
10210 - Removed the rather odd split between 'needs redraw' and redrawing
10211 - Now handles the events that require regeneration (ambient
10212 properties and size)
10214 2004-08-31 19:41 pbartok
10217 - Added firing of BackColorChanged event
10218 - Added TopLevelControl property
10219 - Fixed handling of WM_ERASEBKGRND message
10221 2004-08-31 12:49 pbartok
10227 2004-08-31 12:48 pbartok
10230 - Finished (famous last words)
10232 2004-08-31 04:35 jordi
10234 * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
10235 scrolling bugs, adds new methods
10237 2004-08-30 14:42 pbartok
10240 - Implemented CheckBox drawing code
10242 2004-08-30 14:42 pbartok
10245 - Made Redraw() and CheckRedraw() virtual
10246 - Improved mouse up/down/move logic to properly track buttons
10248 2004-08-30 09:44 pbartok
10251 - Updated to fix broken build. Not complete yet.
10253 2004-08-30 09:28 pbartok
10258 2004-08-30 09:17 pbartok
10263 2004-08-27 16:12 ravindra
10265 * ToolBarButton.cs: Added TypeConverter attribute.
10267 2004-08-27 16:07 ravindra
10269 * ImageIndexConverter.cs: Implemented.
10271 2004-08-27 14:17 pbartok
10274 - Removed unneeded stack vars
10275 - First attempt to fix sizing issues when layout is suspended
10277 2004-08-25 15:35 jordi
10279 * ScrollBar.cs: more fixes to scrollbar
10281 2004-08-25 14:04 ravindra
10283 * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
10284 Added the missing divider code and grip for ToolBar Control.
10286 2004-08-25 13:20 pbartok
10289 - Control now properly passes the ambient background color to child
10292 2004-08-25 13:20 jordi
10294 * ScrollBar.cs: small bug fix regarding bar position
10296 2004-08-25 12:33 pbartok
10299 - Now only calls SetTimer or KillTimer if the enabled state has
10302 2004-08-25 12:33 pbartok
10305 - Fixed timer handling, now seems to work
10306 - Improved error message for window creation
10308 2004-08-25 12:32 pbartok
10311 - Fixed generation of MouseUp message
10313 2004-08-25 12:29 jordi
10315 * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
10316 and fixes for progressbar
10318 2004-08-24 18:43 ravindra
10320 * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
10321 in ToolBar control.
10323 2004-08-24 17:15 pbartok
10327 - Added missing events
10330 2004-08-24 17:14 pbartok
10332 * StatusBar.cs, PictureBox.cs:
10333 - Now uses Control's CreateParams
10335 2004-08-24 16:36 pbartok
10338 - Fixed background color handling
10339 - Fixed sending of enter/leave events on a grab
10341 2004-08-24 16:35 pbartok
10344 - Refined definitions for CrossingEvent
10346 2004-08-24 12:37 jordi
10348 * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
10349 formmating, methods signature, and adds missing events
10351 2004-08-24 12:24 jordi
10353 * Control.cs: fire OnEnabledChanged event
10355 2004-08-24 11:17 pbartok
10358 - Implemented SetTimer() and KillTimer()
10360 2004-08-24 11:16 pbartok
10363 - Now uses Remove instead of Add to kill the timer
10365 2004-08-24 10:16 jackson
10367 * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
10368 picture boxes in the theme now. Draw picture box borders and obey
10371 2004-08-24 05:49 jackson
10373 * Timer.cs: Remove top secret debugging code
10375 2004-08-24 05:34 jackson
10377 * PictureBox.cs: Temp hack to make picture boxes draw their full
10380 2004-08-24 05:29 jackson
10382 * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
10383 XplatUIX11.cs: Move timers to the driver level. On X they are
10384 queued by the driver and checked on idle.
10386 2004-08-24 01:07 jackson
10388 * XplatUIX11.cs: Use a queue for async messages instead of passing
10389 them as ClientMessages since that was totally broken. Also simply
10390 check for events and return an idle message if none are found. This
10391 gives us an idle handler, and prevents deadlocking when no messages
10394 2004-08-23 18:19 ravindra
10396 * XplatUIWin32.cs: Removed the unwanted destructor.
10398 2004-08-23 17:27 pbartok
10401 - Finishing touches. Works now, just needs some optimizations.
10403 2004-08-23 16:53 jordi
10405 * ScrollBar.cs: small fix
10407 2004-08-23 16:45 pbartok
10410 - Removed debug output
10413 2004-08-23 16:43 jordi
10415 * ScrollBar.cs: [no log message]
10417 2004-08-23 16:10 pbartok
10420 - Fixed handling of WM_CLOSE message
10421 - Removed debug output
10423 2004-08-23 16:09 pbartok
10426 - Added handling of Idle event
10427 - Added handling of form closing
10428 - Fixed reporting of MessageLoop property
10429 - Removed some unneeded code, should provide a bit of a speedup
10431 2004-08-23 15:22 pbartok
10434 - Added InitLayout() method
10435 - Added code to properly perform layout when Anchor or Dock property
10437 - Changed 'interpretation' of ResumeLayout. MS seems to have a
10438 LAMESPEC, tried to do it in a way that makes sense
10440 2004-08-23 14:10 jordi
10442 * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
10443 properties and methods
10445 2004-08-23 13:55 pbartok
10448 - Properly fixed Jordi's last fix
10449 - Now uses Cursor's Position property instead of calling XplatUI
10452 2004-08-23 13:44 jordi
10454 * PaintEventHandler.cs: Adding missing attribute
10456 2004-08-23 13:39 pbartok
10459 - Implemented Position property
10461 2004-08-23 13:39 pbartok
10463 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
10464 - Added method to move mouse cursor
10466 2004-08-23 13:39 pbartok
10469 - Fixed setting of background color
10470 - Added method to move mouse cursor
10472 2004-08-23 13:16 jordi
10474 * Control.cs: avoids null exception
10476 2004-08-22 17:46 jackson
10478 * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
10481 2004-08-22 17:40 jackson
10483 * XplatUIX11.cs: Add some missing locks
10485 2004-08-22 15:10 pbartok
10487 * Control.cs, Form.cs:
10488 - Removed OverlappedWindow style from Control, instead it's default
10490 - Made form windows OverlappedWindow by default
10492 2004-08-22 13:34 jackson
10494 * ScrollBar.cs: Update the position through the Value property so
10495 the OnValueChanged event is raised.
10497 2004-08-22 12:04 pbartok
10500 - Added Cursor.cs and UserControl.cs
10502 2004-08-22 12:03 pbartok
10505 - Started implementation, not usable yet
10507 2004-08-22 12:00 pbartok
10510 - Implemented UserControl (complete)
10512 2004-08-21 19:20 ravindra
10514 * ToolBar.cs: Correcting the formatting mess of VS.NET.
10516 2004-08-21 18:49 ravindra
10518 * ToolBar.cs: Probably this completes the missing attributes in
10521 2004-08-21 18:03 ravindra
10523 * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
10524 Fixed toolbar control signatures.
10526 2004-08-21 16:32 pbartok
10531 2004-08-21 16:30 pbartok
10536 2004-08-21 16:19 pbartok
10538 * Control.cs, Label.cs:
10541 2004-08-21 15:57 pbartok
10544 - Added loads of debug output for development
10545 - Fixed typo in method name
10547 2004-08-21 15:52 pbartok
10549 * ToolBarButtonClickEventArgs.cs:
10550 - Added missing base class
10552 2004-08-21 14:53 pbartok
10555 - Updated to match new GrabWindow signature
10557 2004-08-21 14:51 pbartok
10559 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10560 - Added method to get default display size
10562 2004-08-21 14:23 pbartok
10564 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10565 - Added method to query current grab state
10566 - Added argument to allow confining a grab to a window
10568 2004-08-21 14:22 pbartok
10571 - Added [Flags] attribute so that modifiers can be used in bitwise
10574 2004-08-21 14:21 pbartok
10576 * TrackBar.cs, ScrollBar.cs:
10577 - Replaced direct XplatUI calls with their Control counterpart
10579 2004-08-21 13:32 pbartok
10582 - Implemented Created property
10584 2004-08-21 13:28 pbartok
10587 - Implemented ContainsFocus
10589 2004-08-21 13:26 pbartok
10592 - Implemented CausesValidation
10594 2004-08-21 13:21 pbartok
10597 - Implemented CanFocus
10598 - Implemented CanSelect
10599 - Implemented Capture
10601 2004-08-21 12:35 pbartok
10604 - Fixed bug with Async message handling
10605 - Implemented getting the ModifierKeys
10607 2004-08-21 12:32 jackson
10609 * AsyncMethodResult.cs: Make sure we have the mutex before we
10610 release it. Fixes BeginInvoke on windows
10612 2004-08-21 11:31 pbartok
10614 * XplatUIWin32.cs, XplatUIX11.cs:
10615 - Drivers now return proper mouse state
10617 2004-08-21 10:54 jackson
10619 * Control.cs: Implement EndInvoke
10621 2004-08-21 10:48 jackson
10623 * Timer.cs: Remove unneeded finalizer
10625 2004-08-20 19:52 ravindra
10627 * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
10628 in mouse event handling in the ToolBar control.
10630 2004-08-20 19:50 ravindra
10632 * ImageList.cs: Changed draw method to use the arguments passed in
10635 2004-08-20 18:58 pbartok
10637 * XplatUIStructs.cs:
10638 - Added private message for async communication
10640 2004-08-20 17:38 ravindra
10642 * Control.cs: Made RightToLeft property virtual and removed a
10645 2004-08-20 14:39 jordi
10647 * ThemeGtk.cs: use style_attach
10649 2004-08-20 14:39 pbartok
10652 - Added jackson's Async code from X11 to Win32
10654 2004-08-20 14:09 pbartok
10657 - Added all new files
10659 2004-08-20 14:09 pbartok
10662 - Added call to set window background color
10664 2004-08-20 14:03 pbartok
10666 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
10667 - Added method for setting the window background
10669 2004-08-20 14:02 pbartok
10672 - Added method for setting the background color
10673 - Added handling for erasing the window background
10675 2004-08-20 13:45 jordi
10677 * TrackBar.cs: fixes timer, new properties and methods
10679 2004-08-20 13:34 jackson
10681 * ScrollBar.cs: Use the SWF timer so callbacks are run in the
10684 2004-08-20 13:22 jackson
10686 * Timer.cs: Timer Tick events are now handed through Controls Async
10687 mechanism so the callbacks are executed in the same thread as X
10689 2004-08-20 13:19 jackson
10691 * XplatUIDriver.cs: Expose functionality to send async messages
10694 2004-08-20 13:18 jackson
10696 * Control.cs: Implement Begininvoke
10698 2004-08-20 13:14 jackson
10700 * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
10701 messages through the driver
10703 2004-08-20 13:12 jackson
10705 * XplatUIX11.cs: Lock before all X operations. Also added Async
10706 method functionality through XSendEvent
10708 2004-08-20 13:11 jackson
10710 * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
10711 This will screw up on 64 bit systems)
10713 2004-08-20 13:10 jackson
10715 * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
10716 Async messages through X/Win32
10718 2004-08-19 19:39 pbartok
10721 - Updated code to match new HandleData.DeviceContext type
10723 2004-08-19 19:38 pbartok
10726 - Made DeviceContext a generic object to allow usage from various
10728 - Added support for queueing Windows messages
10730 2004-08-19 19:37 pbartok
10733 - Added generation of MouseEnter, MouseLeave and MouseHover events
10734 - Added cleanup on EndPaint
10736 2004-08-19 19:17 pbartok
10739 - Added handling of WM_MOUSEHOVER
10740 - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
10743 2004-08-19 18:55 jordi
10745 * ThemeGtk.cs: fixes button order
10747 2004-08-19 18:12 jordi
10749 * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
10751 2004-08-19 17:09 pbartok
10754 - Added Right property
10755 - Added RightToLeft property
10757 2004-08-19 16:27 jordi
10759 * ThemeGtk.cs: experimental GTK theme support
10761 2004-08-19 16:26 jordi
10763 * ITheme.cs, Theme.cs: move themes from an interface to a class
10765 2004-08-19 16:25 jordi
10767 * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
10770 2004-08-19 16:04 pbartok
10773 - Added colormap basics
10774 - Added a way to re-initialize with a different display handle
10775 - Fixed setting of the window background color
10776 - Added various X11 imports related to colors and colormaps
10778 2004-08-19 15:51 pbartok
10781 - Removed packing hints (Paolo suggested this a while back)
10782 - fixed colormap type
10783 - Added default Atom types
10784 - Added Screen and color structs and enums
10786 2004-08-19 15:39 pbartok
10789 - Added missing Draw() method
10790 - Added missing RecreateHandle event
10792 2004-08-19 15:30 pbartok
10795 - Added handling of WM_CLOSE
10797 2004-08-18 13:16 jordi
10799 * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
10802 2004-08-18 09:56 jordi
10804 * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
10806 2004-08-17 15:31 ravindra
10808 * SWF.csproj: Updated project.
10810 2004-08-17 15:25 pbartok
10813 - Drawing improvement; don't call UpdateBounds if we are not visible
10814 (or have been minimized)
10816 2004-08-17 15:24 pbartok
10819 - Finished IsVisible
10820 - Added Win32GetWindowPlacement
10822 2004-08-17 15:08 jackson
10824 * Panel.cs: Initial checkin of the Panel
10826 2004-08-17 14:25 pbartok
10829 - Fixed broken handling of default window sizes
10831 2004-08-17 13:29 jackson
10833 * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
10834 has a large startup time.
10836 2004-08-17 10:25 jackson
10838 * HandleData.cs: union areas properly
10840 2004-08-17 10:12 jackson
10842 * HandleData.cs: union areas properly
10844 2004-08-16 20:00 ravindra
10846 * ToolBar.cs, ToolBarButton.cs: Added attributes.
10848 2004-08-16 18:48 ravindra
10850 * ToolBar.cs: Added attributes.
10852 2004-08-16 17:17 ravindra
10854 * SWF.csproj: Updated project.
10856 2004-08-16 17:16 jackson
10858 * XplatUIX11.cs: Check for more expose events before sending a
10859 WM_PAINT so they can all be grouped together. This makes dragging a
10860 window across another window redraw in a sane way.
10862 2004-08-16 15:47 pbartok
10865 - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
10866 support OnMouseEnter/Leave()
10867 - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
10870 2004-08-16 15:46 pbartok
10872 * XplatUIStructs.cs, XplatUIX11.cs:
10873 - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
10874 OnMouseEnter/Leave()
10876 2004-08-16 15:34 jackson
10878 * XplatUIX11.cs: Group multiple expose events in HandleData, make
10879 sure messages get the message field set to WM_NULL if they are not
10882 2004-08-16 15:24 jackson
10884 * HandleData.cs: HandleData is used for storing message information
10887 2004-08-15 17:23 ravindra
10889 * ColorDepth.cs: Added attribute.
10891 2004-08-15 17:23 ravindra
10893 * SWF.csproj: Updated project for ToolBar Control.
10895 2004-08-15 17:20 ravindra
10897 * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
10898 control and also dos2unix format.
10900 2004-08-15 17:13 ravindra
10902 * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
10903 ToolBarButtonClickEventArgs.cs,
10904 ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
10905 ToolBarTextAlign.cs: First Implementation of ToolBar control.
10907 2004-08-15 15:31 pbartok
10910 - First (mostly) working version
10912 2004-08-13 16:15 pbartok
10915 - Fixed Anchor default
10917 2004-08-13 15:43 pbartok
10920 - Changed GetCursorPos signature
10922 2004-08-13 15:42 pbartok
10924 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
10925 - Changed signature for GetCursorPos
10927 2004-08-13 15:25 pbartok
10931 - Fixed resizing/exposure handling
10933 2004-08-13 15:22 jordi
10935 * ThemeWin32Classic.cs: removes redundant code and fixes issues
10938 2004-08-13 14:55 jordi
10940 * TrackBar.cs: change from wndproc to events
10942 2004-08-13 13:00 jordi
10944 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
10945 XplatUIX11.cs: implements PointToClient (ScreenToClient)
10947 2004-08-13 12:53 pbartok
10950 - Changed GetWindowPos to also provide client area size
10951 - Fixed broken prototypes for several win32 functions
10953 2004-08-13 12:53 pbartok
10955 * XplatUI.cs, XplatUIDriver.cs:
10956 - Changed GetWindowPos to also provide client area size
10958 2004-08-13 12:52 pbartok
10961 - Added generation of WM_POSCHANGED
10962 - Changed GetWindowPos to also provide client area size
10964 2004-08-13 12:52 pbartok
10967 - Added Dispose() and destructor
10968 - Fixed resizing and bounds calculation
10970 - Added memory savings for invisible windows
10972 2004-08-13 12:46 jordi
10974 * TrackBar.cs: adds timer and grap window
10976 2004-08-13 10:25 jackson
10978 * Timer.cs: SWF Timer
10980 2004-08-12 16:59 pbartok
10982 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
10983 - Implemented method to get current mouse position
10985 2004-08-12 14:29 jordi
10987 * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
10988 enhancement, fix mouse problems, highli thumb, etc
10990 2004-08-12 13:31 pbartok
10993 - Fixed Anchoring bugs
10995 2004-08-12 13:01 jackson
10997 * StatusBar.cs: Don't forget things
10999 2004-08-12 12:54 jackson
11001 * ThemeWin32Classic.cs: Handle owner draw status bars
11003 2004-08-12 12:54 jackson
11005 * StatusBar.cs: Implement missing properties, events, and methods.
11006 Handle mouse clicking
11008 2004-08-12 10:19 jackson
11010 * StatusBarPanelClickEventArgs.cs,
11011 StatusBarPanelClickEventHandler.cs: Classes for handling status
11012 bar panel click events
11014 2004-08-12 10:10 jackson
11016 * Control.cs: Add missing properties
11018 2004-08-12 09:46 pbartok
11020 * BindingsManagerBase.cs:
11021 - Name changed to BindingManagerBase.cs
11023 2004-08-12 09:25 jordi
11025 * ScrollableControl.cs: calls ctrlbase instead of exeception
11027 2004-08-11 16:28 pbartok
11029 * InputLanguageChangingEventArgs.cs:
11030 - Never check in before compiling. Fixes the last check-in
11032 2004-08-11 16:26 pbartok
11034 * InputLanguageChangingEventArgs.cs:
11035 - More signature fixes
11037 2004-08-11 16:20 pbartok
11039 * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
11040 Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
11041 ImageListStreamer.cs, InputLanguage.cs,
11042 InputLanguageChangedEventArgs.cs,
11043 InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
11044 LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
11045 ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
11046 XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
11049 2004-08-11 16:16 pbartok
11053 - Added .Net 1.1 method
11055 2004-08-11 15:25 pbartok
11058 - Fixed BindingManagerBase.cs filename
11060 2004-08-11 15:22 pbartok
11062 * BindingManagerBase.cs:
11063 - Was checked in with wrong filename
11065 2004-08-11 14:50 pbartok
11070 2004-08-11 13:41 jordi
11072 * XplatUIWin32.cs: Fixes ClientRect
11074 2004-08-11 13:19 pbartok
11076 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
11078 - We had SetWindowPos and MoveWindow to set window positions and
11079 size, removed MoveWindow. We have GetWindowPos, so it made sense to
11080 keep SetWindowPos as matching counterpart
11081 - Added some X11 sanity checking
11083 2004-08-11 12:59 pbartok
11086 - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
11087 (It seems that SetBounds is just a front for SetBoundsCore and
11088 SetBoundsCore updates the underlying window system and
11089 UpdateBounds is responsible for updating the variables associated
11090 with the Control and sending the events)
11091 - Major cleanup of Size handling; we now have two sizes, client_size
11092 and bounds. Bounds defines the window with decorations, client_size
11095 2004-08-11 12:55 pbartok
11097 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
11098 - Added method to calculate difference between decorated window and
11101 2004-08-11 12:54 pbartok
11104 - Forcing redraw on resize
11106 2004-08-11 11:43 pbartok
11109 - Removed disposing of the actual images when the list is disposed
11111 2004-08-11 09:13 pbartok
11114 - Now properly reparents windows
11116 2004-08-11 08:37 pbartok
11121 2004-08-11 07:47 pbartok
11124 - Rewrote the collection stuff. Might not be as fast now, not
11125 keeping the number of children around and accessible directly, but
11126 it's more straightforward
11128 2004-08-11 07:44 pbartok
11130 * AccessibleObject.cs:
11131 - Fixed to match ControlCollection rewrite
11133 2004-08-11 07:43 pbartok
11136 - Added missing creation of the collection list
11138 2004-08-10 20:08 jackson
11140 * StatusBar.cs: Get the paint message from WndProc
11142 2004-08-10 19:31 jackson
11144 * ThemeWin32Classic.cs: Create Brushes as little as possible
11146 2004-08-10 19:20 jackson
11148 * UICues.cs: Add Flags attribute
11150 2004-08-10 19:19 jackson
11152 * StatusBarPanel.cs: Signature cleanup
11154 2004-08-10 19:10 jackson
11156 * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
11157 Initial implementation of status bar item drawing
11159 2004-08-10 17:27 jordi
11161 * TrackBar.cs: add missing methods, properties, and restructure to
11164 2004-08-10 16:24 jackson
11166 * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
11167 ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
11170 2004-08-10 13:21 jordi
11172 * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
11173 enhancements and standarize on win colors defaults
11175 2004-08-10 12:52 jackson
11177 * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
11178 ThemeWin32Classic.cs: Implement DrawItem functionality
11180 2004-08-10 12:47 jordi
11182 * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
11184 2004-08-10 12:32 jordi
11186 * Control.cs: throw ontextchange event
11188 2004-08-10 11:43 pbartok
11191 - Added more to the still unfinished Dock/Anchor layout code
11193 2004-08-10 11:39 pbartok
11195 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
11196 - Added GetWindowPos method
11198 2004-08-10 11:36 pbartok
11201 - Implemented several methods
11203 2004-08-10 09:47 jackson
11205 * TrackBar.cs: Allow control to handle buffering
11207 2004-08-10 09:41 jackson
11209 * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
11211 2004-08-10 09:24 jackson
11213 * Label.cs, LinkLabel.cs: Let Control handle buffering.
11215 2004-08-10 09:09 jackson
11217 * StatusBar.cs: Let Control handle all the buffering.
11219 2004-08-10 09:08 jackson
11221 * Control.cs: Control will now handle the buffering code, so each
11222 control does not have to implement this.
11224 2004-08-10 08:34 jackson
11226 * XplatUIDriver.cs: Use default colors from the theme
11228 2004-08-09 17:12 pbartok
11231 - Fixed several bugs Ravindra pointed out
11233 2004-08-09 16:11 pbartok
11236 - Added incomplete dock layout code
11237 - Added support for mouse wheel
11239 2004-08-09 16:09 pbartok
11242 - Added handling for middle and right mousebutton
11243 - Added handling for mouse wheel
11244 - Added handling for key state and mouse state and position
11245 - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
11248 2004-08-09 15:40 jackson
11250 * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
11251 StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
11254 2004-08-09 15:37 jackson
11256 * StatusBar.cs: Initial implementation of StatusBar
11258 2004-08-09 15:36 jackson
11260 * ITheme.cs: Add support for drawing status bar and getting status
11263 2004-08-09 15:35 pbartok
11268 2004-08-09 15:34 jackson
11270 * ThemeWin32Classic.cs: Add support for drawing status bar and get
11271 status bar item sizes
11273 2004-08-09 15:21 jackson
11275 * ThemeWin32Classic.cs: Use known colors for default control
11278 2004-08-09 15:12 jackson
11280 * ThemeWin32Classic.cs: Make the default font static, it is static
11281 in control so this doesn't change functionality and creating fonts
11284 2004-08-09 14:56 pbartok
11287 - Added GrabMode enum
11289 2004-08-09 14:55 pbartok
11291 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
11292 - Removed Run method, was only required for initial development
11294 2004-08-09 14:51 pbartok
11296 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
11297 - Implemented GrabWindow/ReleaseWindow methods to allow pointer
11300 2004-08-09 13:48 pbartok
11303 - Fixed default sizing for child windows
11305 2004-08-09 12:56 pbartok
11308 - Added generation of WM_DESTROY message
11309 - Added handling of window manager induced shutdown
11311 2004-08-09 11:31 jackson
11313 * ThemeWin32Classic.cs: New names for control properties
11315 2004-08-09 11:25 jackson
11317 * Control.cs: Use new color names
11319 2004-08-09 11:02 jackson
11321 * XplatUI.cs: Get default window properties from the theme
11323 2004-08-09 11:01 jackson
11325 * ITheme.cs: The theme engine now controls default window
11328 2004-08-09 11:00 jackson
11330 * ThemeWin32Classic.cs: Add default window color properties
11332 2004-08-09 10:17 jackson
11334 * ThemeWin32Classic.cs: Use correct default back color
11336 2004-08-09 10:05 jackson
11338 * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
11341 2004-08-09 09:56 jackson
11343 * XplatUI.cs: Remove defaults, these are handled by the theme now.
11345 2004-08-09 09:54 jackson
11347 * Control.cs: Get default properties from the theme.
11349 2004-08-09 09:53 jackson
11351 * ITheme.cs: Themes now handle default control properties
11353 2004-08-09 09:53 jackson
11355 * ThemeWin32Classic.cs: Themes now handle default control
11356 properties so coloring will be consistent
11358 2004-08-08 16:54 jordi
11360 * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
11362 2004-08-08 15:08 jordi
11364 * XplatUIX11.cs: fixes keyboard crash
11366 2004-08-08 13:47 jordi
11368 * Label.cs: add cvs header info
11370 2004-08-08 12:09 jackson
11372 * ThemeWin32Classic.cs: Add pen_buttonface
11374 2004-08-08 11:52 jordi
11376 * Label.cs, LinkLabel.cs: [no log message]
11378 2004-08-08 11:34 jordi
11380 * ThemeWin32Classic.cs: Use Windows Standard Colours
11382 2004-08-07 17:32 jordi
11384 * TrackBar.cs: throw exceptions of invalid enums values
11386 2004-08-07 17:31 jordi
11388 * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
11391 2004-08-07 16:56 jackson
11393 * HorizontalAlignment.cs: Initial checkin
11395 2004-08-07 13:16 jordi
11397 * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
11400 2004-08-07 13:05 jordi
11402 * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
11403 GetSysColor defines
11405 2004-08-06 18:01 pbartok
11407 * ThemeWin32Classic.cs:
11408 - Fixed some rounding issues with float/int
11410 2004-08-06 18:00 jackson
11412 * DockStyle.cs, AnchorStyles.cs:
11414 Add flags and serializable attributes.
11416 2004-08-06 17:46 pbartok
11419 - Implemented GetParent
11421 2004-08-06 17:18 pbartok
11424 - Fixed some rounding issues with float/int
11426 2004-08-06 17:17 pbartok
11428 * X11Structs.cs, XplatUIX11.cs:
11429 - Fixed Refresh and Invalidate
11431 2004-08-06 15:30 pbartok
11433 * Control.cs, X11Structs.cs, XplatUIX11.cs:
11434 - Fixed recursive loop when resizing
11435 - Improved/fixed redrawing on expose messages
11437 2004-08-06 09:53 jordi
11439 * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
11440 keyboard navigation
11442 2004-08-06 08:02 pbartok
11444 * X11Structs.cs, XplatUIX11.cs:
11445 - Fixed reparenting
11446 - Fixed window border creation
11448 2004-08-05 15:38 pbartok
11451 - Attempted fix for reparenting problems
11453 2004-08-04 15:14 pbartok
11456 - Fixed Invalidation bug (calculated wrong client area)
11457 - Added ClientSize setter
11459 2004-08-04 15:13 pbartok
11462 - Added AutoScale properties
11464 2004-08-04 15:13 pbartok
11467 - Added latest files
11469 2004-08-04 14:11 pbartok
11471 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
11473 - Added Invalidate handling
11475 2004-08-03 17:09 jordi
11477 * XplatUIDriver.cs: fixes spelling mistake
11479 2004-07-27 09:53 jordi
11481 * TrackBar.cs: fixes trackbar events, def classname, methods
11484 2004-07-27 09:29 jordi
11486 * ScrollBar.cs: fixes scrollbar events
11488 2004-07-27 04:38 jordi
11490 * Control.cs: changes to be able to run winforms samples
11492 2004-07-26 11:42 jordi
11494 * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
11495 ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
11497 2004-07-26 05:41 jordi
11499 * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
11500 MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
11503 2004-07-22 09:22 jordi
11505 * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
11506 check link overlapping, implement events, and fixes
11508 2004-07-21 10:28 jordi
11510 * DialogResult.cs, IButtonControl.cs: fixes comments filenames
11512 2004-07-21 10:19 jordi
11514 * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
11515 LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
11516 LinkLabelLinkClickedEventArgs.cs,
11517 LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
11518 XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
11521 2004-07-19 13:09 jordi
11523 * Control.cs, Label.cs: label control re-written: added missing
11524 functionlity, events, and properties
11526 2004-07-19 10:49 jordi
11528 * Control.cs: fixes SetBounds logic
11530 2004-07-19 01:29 jordi
11532 * Control.cs: Call RefreshWindow only if the window has created
11534 2004-07-15 14:05 pbartok
11536 * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
11537 - Implemented ImageList and ImageList.ImageCollection classes
11538 - Added ColorDepth enumeration
11539 - Updated SWF VS.Net project
11541 2004-07-15 11:06 jordi
11543 * XplatUIStructs.cs: added MsgButons enum
11545 2004-07-15 11:03 jordi
11547 * Control.cs: added basic mouse handeling events
11549 2004-07-15 03:38 jordi
11551 * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
11552 Vertical TrackBar control implementation
11554 2004-07-13 09:33 jordi
11556 * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
11558 2004-07-13 09:31 jordi
11560 * Control.cs, Form.cs: commit: new properties and fixes form size
11563 2004-07-09 14:13 miguel
11565 * ProgressBar.cs: Spelling
11567 2004-07-09 11:25 pbartok
11570 - Removed usage of Rectangle for drawing. Miguel pointed out it's
11573 2004-07-09 11:17 miguel
11575 * ProgressBar.cs: 2004-07-09 Miguel de Icaza <miguel@ximian.com>
11577 * ProgressBar.cs: Fixed spelling for `block'
11579 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
11582 Avoid using the += on rect.X, that exposed a bug in the compiler.
11584 2004-07-08 23:21 pbartok
11586 * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
11587 AnchorStyles.cs, Application.cs, ApplicationContext.cs,
11588 BaseCollection.cs, Binding.cs, BindingContext.cs,
11589 BindingMemberInfo.cs, BindingsCollection.cs,
11590 BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
11591 BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
11592 ButtonState.cs, CaptionButton.cs, CheckBox.cs,
11593 ContainerControl.cs, Control.cs, ControlEventArgs.cs,
11594 ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
11595 ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
11596 CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
11597 DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
11598 FrameStyle.cs, GiveFeedbackEventArgs.cs,
11599 GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
11600 HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
11601 IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
11602 InputLanguageChangedEventArgs.cs,
11603 InputLanguageChangedEventHandler.cs,
11604 InputLanguageChangingEventArgs.cs,
11605 InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
11606 InvalidateEventArgs.cs, InvalidateEventHandler.cs,
11607 KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
11608 KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
11609 LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
11610 MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
11611 PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
11612 QueryAccessibilityHelpEventArgs.cs,
11613 QueryAccessibilityHelpEventHandler.cs,
11614 QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
11615 RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
11616 ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
11617 ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
11618 TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
11619 UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
11620 XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
11621 XplatUIX11.cs, lang.cs: