1 2006-12-06 Chris Toshok <toshok@ximian.com>
3 * Control.cs: make right_to_left and context_menu fields private.
5 2006-12-06 Chris Toshok <toshok@ximian.com>
7 * AccessibleObject.cs, Control.cs, XplatUIX11GTK.cs,
8 XplatUIX11.cs, Form.cs, RadioButton.cs, ScrollableControl.cs: make
9 Control.child_controls private. switch all uses over to
12 2006-12-06 Chris Toshok <toshok@ximian.com>
14 * System.Windows.Forms/GroupBox.cs,
15 System.Windows.Forms/AccessibleObject.cs,
16 System.Windows.Forms/ErrorProvider.cs,
17 System.Windows.Forms/Control.cs,
18 System.Windows.Forms/UpDownBase.cs,
19 System.Windows.Forms/ScrollBar.cs,
20 System.Windows.Forms/DateTimePicker.cs,
21 System.Windows.Forms/Form.cs, System.Windows.Forms/Label.cs,
22 System.Windows.Forms/ToolTip.cs,
23 System.Windows.Forms/RadioButton.cs,
24 System.Windows.Forms/LinkLabel.cs,
25 System.Windows.Forms/Splitter.cs,
26 System.Windows.Forms/TextBoxBase.cs,
27 System.Windows.Forms/ToolStripTextBox.cs,
28 System.Windows.Forms/ContainerControl.cs,
29 System.Windows.Forms/ThemeWin32Classic.cs,
30 System.Windows.Forms/SizeGrip.cs,
31 System.Windows.Forms/ToolStripDropDown.cs,
32 System.Windows.Forms/ScrollableControl.cs: Make Control.parent
33 private. switch all uses over to Control.Parent.
35 2006-12-06 Chris Toshok <toshok@ximian.com>
37 * RichTextBox.cs: don't assign to has_focus in GotFocus/LostFocus.
38 Control does this before calling emitting these events.
40 * TabControl.cs: same.
42 * ThemeWin32Classic.cs: use Control.ClientRectangle instead of
45 * ButtonBase.cs: use the ClientSize property instead of the
48 * ScrollableControl.cs: same.
50 * Control.cs: another pass at making properties private. also,
51 move the initialization of tab_stop to the ctor.
53 2006-12-05 Andreia Gaita <avidigal@novell.com>
55 * TabControl.cs: Let the selected index be set freely if the
56 control handle is not yet created.
58 2006-12-05 Jonathan Pobst <monkey@jpobst.com>
60 * Control.cs: Revert dist_top, dist_right, and dist_bottom to
61 internal until I can rewrite DefaultLayout.
62 * ToolStrip.cs: Fix build error and some general cleaning.
63 * ToolStripControlHost.cs, SplitterPanel.cs, DataGridView.cs:
64 Fix build errors caused by making some of Control's fields private.
66 2006-12-05 Jackson Harper <jackson@ximian.com>
68 * TextControl.cs: Redo Insert a little so that it use IndexOf
69 instead of Split, this prevents it from messing up on things like
70 \n\n\n. Also more effecient since the split array doesn't need to
72 * TextBoxBase.cs: AppendText doesnt handle multiline and non
73 multiline text differently, this is the first of many fixes that
74 will make multiline/non-multiline the same thing as far as the
75 TextBoxBase is concerned.
76 - Don't split the text and insert lines, this can lose some line
77 endings (like is the last line a soft or hard break). Instead use
79 - Fix an off by one when combining all the lines in the Text
81 - Remove separate multiline handling from the Text getter/setter.
83 2006-12-05 Chris Toshok <toshok@ximian.com>
85 * ButtonBase.cs: a few changes:
87 - don't reinitialize internal Control fields in the ctor when they
88 have the same values as Control sets them.
90 - don't set has_focus in OnGotFocus/OnLostFocus. Control does
91 this before calling those methods.
93 - we don't need to call Refresh for anything. use Invalidate
96 - OnEnabledChanged doesn't need to redraw at all - Control.cs
97 calls Refresh in its OnEnabledChanged.
99 - several of the events we were registered for in the ctor to
100 redraw ourselves already include calls to Invalidate in the
101 property setters that raise the events. remove the extra
104 - reformat a switch statement that was 83274658 columns wide.
106 2006-12-05 Mike Kestner <mkestner@novell.com>
108 * ComboBox.cs: fix a unit test regression from a TextBox
109 SelectionLength return of -1 when there's no selection.
111 2006-12-05 Chris Toshok <toshok@ximian.com>
113 * Control.cs, Button.cs, ThemeGtk.cs, Form.cs, ListView.cs,
114 ThemeWin32Classic.cs, SizeGrip.cs, ToolBar.cs: first pass at
115 cleaning up some of the internal Control fields being used by
118 2006-12-05 Mike Kestner <mkestner@novell.com>
120 * ComboBox.cs: fix some Simple mode regressions. Set Visible on the
121 listbox after AddImplicit calls since it defaults to hidden. Add a
122 hack to preserve requested heights across DropDownStyle changes.
124 2006-12-05 Jonathan Pobst <monkey@jpobst.com>
126 * PropertyGrid.cs: Hide FindFirstItem method from public API.
128 2006-12-05 Chris Toshok <toshok@ximian.com>
130 * DataGridView.cs: fix compiler warnings.
132 * PrintControllerWithStatusDialog.cs: same.
136 * FolderBrowserDialog.cs: same.
140 * DataGridViewComboBoxCell.cs: same.
142 * XplatUIWin32.cs: same.
144 * PictureBox.cs: same.
148 * PageSetupDialog.cs: same.
150 * FileDialog.cs: same.
152 * PrintDialog.cs: same.
154 * DataGridTextBoxColumn.cs: same.
156 * DrawTreeNodeEventArgs.cs: same (and fix corcompare)
158 2006-12-05 Chris Toshok <toshok@ximian.com>
160 * TextBox.cs, CheckedListBox.cs, MonthCalendar.cs, Menu.cs,
161 MainMenu.cs, ListView.cs, LabelEditTextBox.cs, ToolBar.cs: more
162 System.ComponentModel.EventHandlerList work.
164 2006-12-05 Jonathan Chambers <joncham@gmail.com>
166 * DrawTreeNodeEventArgs.cs: Added.
168 2006-12-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
170 * InternalWindowManager.cs: Remove an unused field.
172 2006-12-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
174 * InternalWindowManager.cs:
175 - Save the point where the title bar is clicked.
177 * MdiWindowManager.cs:
178 - Only allow moving of the window as long as the
179 clicked point on the title bar does not get out of
180 MdiClient's rectangle. Fixes #79982.
183 - Added Horizontal/VerticalScrollbarVisible.
184 - Simplified the scrollbar sizing algorithm.
185 - Cache the difference in scrolled value in
186 H/VBarValueChanged and move the calculation out
189 2006-12-05 Rolf Bjarne Kvinge <RKvinge@novell.com>
191 * Control.cs: Make the Console.WriteLine in WndProc
194 2006-12-05 Chris Toshok <toshok@ximian.com>
196 * ToolStripManager.cs, ToolStripButton.cs,
197 ToolStripContentPanel.cs, ToolStripComboBox.cs, ToolStrip.cs,
198 ToolStripMenuItem.cs, ToolStripItem.cs, ToolStripControlHost.cs,
199 ToolStripSplitButton.cs, ToolStripSeparator.cs,
200 ToolStripRenderer.cs, ToolStripDropDownItem.cs,
201 ToolStripProgressBar.cs, ToolStripContainer.cs,
202 ToolStripTextBox.cs, ToolStripPanel.cs, ToolStripDropDown.cs: move
203 to using System.ComponentModel.EventHandlerList.
205 2006-12-04 Chris Toshok <toshok@ximian.com>
207 * LinkLabel.cs: fix up compiler warnings.
209 * TableLayoutSettings.cs: same.
215 * TabControl.cs: same.
217 * RichTextBox.cs: same.
219 * ListViewItem.cs: same.
221 * PropertyGrid.cs: same.
223 * DataGridViewRowPostPaintEventArgs.cs: corcompare fix.
227 * TextRenderer.cs: fix up compiler warnings.
231 * Form.cs: corcompare fixes.
233 * PictureBox.cs: fix up compiler warnings.
235 * ImageListStreamer.cs: same.
237 * TrackBar.cs: corcompare fix.
239 * Control.cs: fix up compiler warnings.
241 * SplitterPanel.cs: same.
243 * NumericTextBox.cs: same.
245 * ImageList.cs: same.
247 * StatusStrip.cs: same.
249 * ProgressBar.cs: corcompare fix.
251 * ToolStripButton.cs: fix up compiler warnings.
253 * ToolStripStatusLabel.cs: same.
255 * ToolStripSplitButton.cs: same.
257 * ToolStripSeparator.cs: same.
259 * ToolStripProgressBar.cs: same.
261 * ToolStripDropDownMenu.cs: same
263 * ToolStripDropDown.cs: same.
265 * ToolStripDropDownButton.cs: same.
267 * ToolStrip.cs: same.
269 * ToolStripControlHost.cs: same.
271 * ToolStripContentPanel.cs: same.
273 * ToolStripDropDown.cs: same.
275 * ToolStripContainer.cs: same.
277 * ToolStripPanel.cs: same, and add "new" where we need it to work
278 with the new ArrangedElementCollection.
280 * ToolStripItemCollection.cs: add "new" where we need it to work
281 with the new ArrangedElementCollection.
283 2006-12-04 Andreia Gaita <avidigal@novell.com>
285 * TabControl.cs: Fix default tab selection to after TabControl
286 gets focus and not before. Fixes #80128
288 2006-12-04 Chris Toshok <toshok@ximian.com>
290 * DataGridTableStyle.cs: remove the gross calling of
291 datagrid.Refresh from here. It's a broken idea and it doesn't
294 * DataGrid.cs: instead, just register/unregister from the
295 DataGridTableStyle events in CurrentTableStyle. we play it
296 conservatively and EndEdit + CalcAreasAndInvalidate on any event,
297 even though some would most likely not require it. Fixes bug
298 #80115 (and one portion of #80117 as a side effect).
300 2006-12-04 Chris Toshok <toshok@ximian.com>
302 * DataGrid.cs (set_CaptionVisible): EndEdit before doing the work
303 so the textbox (if any) goes away. Fixes bug #80117.
305 2006-12-04 Chris Toshok <toshok@ximian.com>
307 * DataGridColumnStyle.cs: set the column's readonly property
308 initially based on the property descriptor's IsReadOnly. Fixes
311 2006-12-04 Chris Toshok <toshok@ximian.com>
313 * ComboBox.cs: wrap the dropdown style changing work in
314 SuspendLayout/ResumeLayout. Fixes bug #79968.
316 2006-12-04 Jackson Harper <jackson@ximian.com>
318 * TextBoxBase.cs: Fix off by one, since these are one-based.
319 * TextBox.cs: Select all the text when we get focus. The TextBox
320 does this but the RTB does not.
322 2006-12-04 Chris Toshok <toshok@ximian.com>
324 * DataGridTextBoxColumn.cs: remove some spew.
326 * DataGridColumnStyle.cs (SetColumnValueAtRow): this seems right
327 but some part of me is saying "it shouldn't be here.." At any
328 rate, it fixes bug #80046. Call IEditableObject.EndEdit after
331 2006-12-04 Chris Toshok <toshok@ximian.com>
333 * DataGridColumnStyle.cs (SetDataGrid): call CheckValidDataSource
334 to reassign the propertydescriptor.
336 2006-12-04 Jackson Harper <jackson@ximian.com>
339 * TextControl.cs: Remove some unused variables. Maybe this will
340 patch things up between mike and I.
341 - don't split lines less then one char wide, if the viewport is
342 that small text won't be visible anyways.
344 2006-12-04 Jackson Harper <jackson@ximian.com>
346 * TextBoxBase.cs: Default selection length is -1, need to do some
347 more testing on windows to see when this is used for the property.
348 - Redid the Lines [] property to that we properly remove soft line
350 - added support for preserving carriage returns
351 - CanUndo is not a variable like 'is undo enabled' it just returns
352 true if there is undo operations available.
353 - AppendText doesn't need to grab the last tag itself anymore,
354 this happens automatically when we move the cursor.
355 * TextControl.cs: Add CompoundActions to the undo class. This
356 allows combining the other operations into one big option. ie a
357 paste will combine { delete old, insert new, move cursor }
358 - Add InsertString undo operation
359 - New method for deleting multiline text
360 - Add carriage returns to lines. So we can preserve carriage
361 returns when text is 'roundtripped'
363 2006-12-04 Chris Toshok <toshok@ximian.com>
365 * DataGrid.cs (CalcCellsArea): cells_area.Width/Height are at a
366 minimum 0. Fixes the scrollbar exception in bug #80136.
368 2006-12-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
371 * MdiWindowManager: Removed unused fields and methods.
373 2006-12-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
375 * StatusBar.cs: Update all panels when a AutoSize=Contents
376 panel needs updating.
378 * StatusBarPanel.cs: Remove twidth and only use initialize.
381 2006-12-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
383 * Form.cs: When a form's MdiParent is set add it directly
384 on top of the z-order in stead of relying on MdiClient's
385 ActivateChild to do it. Fixes #80135.
388 - Remove original_order, mdi_child_list is already doing
390 - Create mdi_child_list on construction in
391 stead of first use (avoids a few null checks).
393 * MenuItem.cs: Use an already existing list of mdi children
394 to get the correct order of children and remove the other
397 2006-12-04 Chris Toshok <toshok@ximian.com>
399 * PropertyGridView.cs: cached_splitter_location is only used in
402 * PropertyGrid.cs: implement the ComComponentNameChanged event
403 using Events, hoping that would fix the warning. Looks like a
404 compiler bug instead (#80144).
406 * PropertyManager.cs: remove unused method.
408 2006-11-04 Everaldo Canuto <everaldo@simios.org>
410 * ThemeWin32Classic.cs: Dont draw arrow when menuitem on menubar,
411 include parentesis to fix expression evaluation. Fixes #79634.
413 2006-11-02 Everaldo Canuto <everaldo@simios.org>
416 - Changes to fix behavior in Menu control, some reported in #80097
417 and other detected during behavior refactory like a select event
419 - Remove unneded "if's" conditions.
420 - Created an internal to flag when popup is active in control, we need
421 it because in .NET you can have menu active but without popup active
422 when you active menu using popup without visible items.
423 - Mimic win32 behavior for Select and Popup events.
424 - Dont open popup menu when you dont have visible subitems.
425 - Do nothing when click on disabled menu item.
426 - Some small changes to follow the coding style guidelines.
427 - Unselect menu only when another control gives focus. Fixes #80097.
428 - Remove unused code.
430 * MenuItem.cs: internal VisibleItems method to check if menu
431 theres visible subitems, it will be usefull to fix some
432 behavior in Menu control.
434 2006-11-01 Everaldo Canuto <everaldo@simios.org>
436 * Timer.cs: Tag property for 2.0 profile.
438 2006-12-01 Chris Toshok <toshok@ximian.com>
440 [ after removing all warning suppressions, this cleans up over 100 warnings. ]
442 * Win32DnD.cs: comment out some unused fields.
444 * XplatUIWin32.cs: comment out some unused pinvokes, and remove
445 some unused properties/methods.
447 * XplatUIX11.cs: fix MousePosition so we override the base class's
448 property instead of conflicting with it.
450 * PictureBox.cs: comment out some unused fields
452 * OSXStructs.cs: make some struct fields public.
454 * XplatUIOSX.cs: comment out some unused pinvokes, and fix
455 MousePosition so we override the base class's property instead of
458 * X11Dnd.cs: comment out some unused fields
460 * X11DesktopColors.cs: fix some struct field visibility to quiet
463 * X11Dnd.cs: remove some debug code.
465 * ThemeClearlooks.cs: comment out unused field.
467 * ThemeNice.cs: mark some methods as overriding ThemeWin32Classic as needed.
469 * ThemeGtk.cs: comment out some unused pinvokes.
471 * Timer.cs: remove some unused fields.
473 * ThemeClearlooks.cs: comment out unused field.
475 * UpDownBase.cs: comment out unused field.
477 * DataObject.cs: comment out unused field.
479 * DataGridBoolColumn.cs: reomve unused field.
481 * DataGrid.cs: remove unused field.
483 * Cursor.cs: remove old ToBitmap code.
485 * ControlPaint.cs: remove unused method.
487 * ScrollBar.cs: remove unused fields.
489 * ComboBox.cs: remove unused field, and chain up to
490 AccessibleObject ctor.
492 * ListBox.cs: remove unused field.
494 * ButtonBase.cs: wrap a couple fields in NET_2_0.
496 * GridEntry.cs: remove unused fields.
498 * Binding.cs: remove unused fields.
500 * AxHost.cs: remove unused method.
502 * ContainerControl.cs: remove unused field.
504 * ScrollableControl.cs: remove unused fields.
506 2006-12-01 Chris Toshok <toshok@ximian.com>
508 * XplatUI.cs, XplatUIWin32.cs, XplatUIGTK.cs: nuke
509 the Where/WhereString stuff. it's easy enough to CWL
510 Environment.StackTrace.
512 * XplatUIX11.cs: same, but also fix up a lot of mcs warnings about
513 unused private fields.
515 2006-12-01 Jackson Harper <jackson@ximian.com>
517 * TextControl.cs: Do not update the view while inserting multiline
518 text. If we update the view we might wrap lines, before entering
519 the new lines, which causes the new line insertion calculations to
522 - Make debug output a little nicer
524 2006-12-01 Chris Toshok <toshok@ximian.com>
526 * ToolBar.cs: revert the ImeMode fix here and add an XXX comment.
528 2006-12-01 Chris Toshok <toshok@ximian.com>
530 [ fix the majority of the CS0108 warnings we've been suppressing ]
532 * TreeView.cs: mark BackgroundImageChanged as 'new'.
534 * ToolBar.cs: ImeMode just passes stuff to Control. Rename Layout
535 to "LayoutToolBar" to quiet mcs.
537 * TabControl.cs: mark our ControlCollection class as 'new'.
539 * TextBoxBase.cs: mark some events as 'new'.
541 * Splitter.cs: TabStop is 'new'.
543 * ControlBindingsCollection.cs: mark a few methods as new since
544 they change the visibility from protected to public.
546 * RadioButton.cs: DoubleClick -> base class, and remove unused
549 * MonthCalendar.cs: ImeMode property -> base class, and mark many
552 * NumericUpDown.cs: TextChanged -> base class.
554 * CheckedListBox.cs: mark our ObjectCollection class as new to
557 * FolderBrowserDialog.cs: make HelpRequest event new and have it
558 muck with the base class.
560 * StatusBar.cs: fix some mcs warnings about Update being the same
561 name as a base class method.
563 * RichTextBox.cs: mark some events as new, and make them do things
564 to the base class impl.
566 * UserControl.cs: mark TextChanged as new, and have it manipulate
569 * UpDownBase.cs: mark some things new.
571 * CheckBox.cs: mark DoubleClick "new", and add some text about
572 what we need to look at.
574 * Panel.cs: make the events "new", and manipulate the base
575 version. these are just here for attributes.
577 * AccessibleObject.cs: make owner private.
579 * Control.cs: deal with AccessibleObject.owner being private.
580 cache our own copy if we need it.
582 * Button.cs: add "new" to the DoubleClickEvent.
584 * ListBox.cs: no need to track our own has_focus here. let
585 Control.has_focus do it for us. Also some other work to clear up
586 warnings about not overriding base class methods of the same name.
588 * ComboBox.cs: clear up some warnings about not override base
589 class methods of the same name.
591 2006-12-01 Chris Toshok <toshok@ximian.com>
593 * Form.cs: flag a few things as "new" to quiet some of the mcs
598 * PrintPreviewDialog.cs: same.
600 * DataGridView.cs: fix a ton of corcompare warnings. not all, but
601 now DGV isn't so horrible on the class status page. also, move
602 all events to using System.ComponentModel.EventHandlerList. my
605 2006-12-01 Rolf Bjarne Kvinge <RKvinge@novell.com>
607 * MdiWindowManager.cs:
608 - Set form to active mdi child if shown,
609 and update the active mdi child to the next
610 remaining child in the z-order if the form is hidden.
613 - Track if the form has been visible and if its
614 visibility is beeing changed, so that the MdiClient
615 can properly decide the ActiveMdiChild. The MdiClient
616 cannot track this since the form can change visibility
617 before MdiClient is created.
620 - Don't activate anything of the parent form is changing
622 - Rework ActiveMdiChild to only return visible mdi
623 children and take into account several other corner
626 2006-12-01 Chris Toshok <toshok@ximian.com>
628 * IBindableComponent.cs: new 2.0 interface.
630 2006-12-01 Gert Driesen <drieseng@users.sourceforge.net>
632 * DataGrid.cs: Font for caption area is bold by default.
634 2006-12-01 Everaldo Canuto <everaldo@simios.org>
636 * Menu.cs: Tag property for 2.0.
638 2006-11-01 Everaldo Canuto <everaldo@simios.org>
640 * ThemeWin32Classic.cs: Adjust menu separator drawing.
642 2006-12-01 Chris Toshok <toshok@ximian.com>
644 * TreeView.cs: doh, the Begin* events should be
645 TreeViewCancelEventHandler.
647 2006-12-01 Chris Toshok <toshok@ximian.com>
649 * Form.cs: Form.ControlCollection already stores off the
650 form_owner field. don't access the base class's internal "owner"
653 * Control.cs: make all the fields in Control.ControlCollection
654 private. there's no need for any internal fields here.
656 2006-12-01 Chris Toshok <toshok@ximian.com>
658 * DataGrid.cs: call SetDataSource instead of CalcGridAreas in
659 OnHandleCreated. Fixes bug #80109.
661 2006-12-01 Chris Toshok <toshok@ximian.com>
663 * Button.cs, PropertyGridTextBox.cs, ComboBox.cs,
664 SplitContainer.cs, Control.cs, StatusStrip.cs,
665 DataGridTableStyle.cs, MenuItem.cs, DomainUpDown.cs, ImageList.cs,
666 NumericTextBox.cs, NumericUpDown.cs, Panel.cs, CommonDialog.cs,
667 DataGrid.cs, ScrollBar.cs, TrackBar.cs, PictureBox.cs,
668 DateTimePicker.cs, StatusBar.cs, Form.cs, PrintPreviewDialog.cs,
669 Label.cs, UserControl.cs, CheckBox.cs, RadioButton.cs,
670 LinkLabel.cs, ListControl.cs, PropertyGrid.cs, Splitter.cs,
671 MenuStrip.cs, FolderBrowserDialog.cs, NotifyIcon.cs,
672 TextBoxBase.cs, ListView.cs, DataGridBoolColumn.cs,
673 PrintPreviewControl.cs, RichTextBox.cs, ListBox.cs, TabControl.cs,
674 DataGridColumnStyle.cs, ContextMenu.cs, TreeView.cs:
676 do most of the work to convert our code over to use
677 System.ComponentModel.Component.Events for
678 adding/removing/dispatching events.
681 2006-11-30 Jonathan Pobst <monkey@jpobst.com>
683 * DataGridView.cs: Fix an ArgumentNullException reported
686 2006-11-30 Mike Kestner <mkestner@novell.com>
688 * ComboBox.cs: fix the scrollbar mouse event forwarding in the
689 grabbed listbox. Fixes #80036 and #80101.
691 2006-11-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
693 * Message.cs: Changed ToString() to match MS.
695 2006-11-30 Jackson Harper <jackson@ximian.com>
697 * TextBoxBase.cs: You can still change the selected text on a read
699 * TextControl.cs: Lower magic number for wrap calculations. This
700 lets text get closer to the right (far) edge.
702 2006-11-30 Jonathan Pobst <monkey@jpobst.com>
704 * Control.cs: Tweak 2.0 layout properties.
705 * Form.cs: Switch ToolStripMenuTracker hooks to ToolStripManager.
706 * TextRenderer.cs: Add a new overload.
707 * ToolStrip*: Huge amount of changes and new features.
709 2006-11-30 Mike Kestner <mkestner@novell.com>
711 * ComboBox.cs: fixes for LargeChange and Maximum to get the
712 scroll range correct. Fixes #79994.
714 2006-11-30 Rolf Bjarne Kvinge <RKvinge@novell.com>
716 * MdiWindowManager.cs: Update main form's text when
717 a form is closed. (fixes #80038)
719 2006-11-30 Everaldo Canuto <everaldo@simios.org>
722 - Fix an regression in ButtonSize.
723 - Get ImeMode default value change to "Disable".
724 - Get ShowTooltips default value change to true, default value is
725 "false" but after make a test in .NET we get "true" result as default.
727 2006-11-29 Jonathan Pobst <monkey@jpobst.com>
729 * ToolStripDropDown.cs: Fix for SupportsTransparency change.
731 2006-11-29 Chris Toshok <toshok@ximian.com>
733 * XplatUIWin32.cs (GetWindowTransparency): check return value of
734 GetLayeredWindowAttributes. if it's 0, return 1.0, as
735 SetWindowTransparency hasn't been called.
737 2006-11-29 Chris Toshok <toshok@ximian.com>
739 * Form.cs (set_TransparencyKey): only call SetWindowTransparency
741 (set_AllowTransparency): reorder things a little so that the
742 WS_EX_LAYERED style is removed properly.
744 2006-11-29 Chris Toshok <toshok@ximian.com>
746 [ totally cosmetic eye-candy feature, fixes bug #80089 ]
748 * Form.cs: only call the XplatUI transparency method (get/set) if
749 SupportsTransparency says it's supported. Otherwise fallback to
750 doing nothing (in the set case) or returning the instance field we
751 cache (in the get case).
753 * XplatUIStructs.cs: add TransparencySupport flag enum.
755 * XplatUIDriver.cs: add abstract GetWindowTransparency, and track
756 change to SupportsTransparency.
758 * XplatUIOSX.cs: stub out GetWindowTransparency, and return
759 TransparencySupport.None from SupportsTransparency.
761 * XplatUIX11.cs: Stub out GetWindowTransparency, and return
762 TransparencySupport.Set from SupportsTransparency.
764 * XplatUIWin32.cs: implement GetWindowTransparency calling
765 GetLayeredWindowAttributes, and implement SupportsTransparency by
766 checking whether or not both
767 GetWindowTransparency/SetWindowTransparency are available
768 entrypoints. We need to do this since SetWindowTransparency is
769 available as of win2k, but GetWindowTransparency requires winxp.
772 * XplatUI.cs: Add GetWindowTransparency, and change
773 SupportsTransparency to allow for either/both Get/Set.
775 2006-11-29 Chris Toshok <toshok@ximian.com>
777 * DataGrid.cs: keep from going into an infinite loop redrawing a
778 datagrid that has no datasource. Fixes bug #80033.
780 2006-11-29 Chris Toshok <toshok@ximian.com>
782 * MenuItem.cs: fix the NRE when we assign text (and therefore call
783 Invalidate) before the mainmenu has been assigned to a control.
785 2006-11-29 Chris Toshok <toshok@ximian.com>
787 * DataGrid.cs: detect when we should be double the double click
788 row/column autosize stuff, although that codepath has yet to be
789 written. part of the work for bug #79891.
791 2006-11-29 Chris Toshok <toshok@ximian.com>
793 * Binding.cs (SetControl): fix unit test.
795 2006-11-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
797 * PageSetupDialog.cs: Validate the margins and set them in
799 * NumericTextBox.cs: New class to mimic the behavior of the
800 textboxes used in the printing dialogs.
802 2006-11-29 Andreia Gaita <avidigal@novell.com>
804 * Form.cs: Revert previous change (remove call UpdateBounds
805 from form constructor), because it messes with the handle creation
806 order, and that one needs lots and lots of love.
807 * PrintPreviewDialog.cs: Revert change to CreateHandle (add check
808 for valid printer and throw InvalidPrinterException if document
809 is set but printer not valid), adding a MonoTODO. Once
810 handle creation is done properly, we can put this back in.
812 2006-11-28 Everaldo Canuto <everaldo@simios.org>
814 * MenuItem.cs: Create a invalidate method for menu item, to be
815 calling from set text, it make text changes to imadiate update
816 on screen. Fixes #80013.
818 2006-11-28 Everaldo Canuto <everaldo@simios.org>
820 * ToolBar.cs: Fixes and simplify toolbar button layout, it
821 fixes bug #80070 and some other problem on toolbar buttons
824 2006-11-28 Everaldo Canuto <everaldo@simios.org>
826 * ThemeWin32Classic.cs: Paint toolbar toggle button background
827 with dotted brush. Fixes #79564
829 2006-11-28 Andreia Gaita <avidigal@novell.com>
831 * Form.cs: Removed call to UpdateBounds on Form
832 constructor, it was causing a call to CreateHandle
833 before it was supposed to.
834 * PrintControllerWithStatusDialog: Applied patch
835 by Chris Toshok to hide controller when there are
836 no printers available.
837 PrintDialog.cs: initialize printer settings to
838 null - correct DefaultValues test #5
839 * PrintPreviewControl.cs: Move PrintController
840 initialization to GeneratePreview
841 * PrintPreviewDialog.cs:
842 - Remove Preview generation from Document_set(). It is
844 - Throw InvalidPrinterException on CreateHandle if
845 a Document is set but there are no printers or
846 printer is not valid.
847 * ThemeWin32Classic: don't paint PrintPreviewControl
848 if there is nothing to paint
850 2006-11-28 Miguel de Icaza <miguel@novell.com>
852 * Form.cs: Add another popular method.
856 2006-11-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
858 * MenuItem.cs: Fixed a warning.
859 * InternalWindowManager: Fixed a warning.
861 2006-11-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
864 - When cloning a menu also clone MdiList and clone the
865 window menu items properly (as the forms and menuitems
866 are kept in an internal hashtable, these need updating
868 - Rewrote the window menu code, menu items are added in the
869 order the forms were added to their parent, and they are
870 updated every time the window menu is shown (before the
871 list was only generated once, in the current order of the
872 forms, and would never be updated). A checkmark is shown
873 next to the item corresponding to the active mdi child.
875 2006-11-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
878 - Added WM_NCMOUSEHOVER and WM_NCMOUSELEAVE.
881 - Added TME_NONCLIENT to TMEFlags.
882 - Handles WM_NCMOUSEMOVE in GetMessage to
883 generate WM_NCMOUSEHOVER and WM_NCMOUSELEAVE messages.
886 - Now merges mdi child menu to parent menu when maximized.
887 - Recalculate NC areas of both mdi child and mdi parent.
889 on window state and size changes.Fixes #79844 (3).
890 - Handle WM_NCCALCSIZE to properly calculate borders.
893 - Add/remove to the mdi containers list of mdi children
894 in the order they are added.
895 - Pass on WM_NCLBUTTONUP, WM_NCMOUSEMOVE and WM_NCMOUSELEAVE
896 to the maximized mdi child.
898 * InternalWindowManager.cs:
899 - Only execute a click on the control buttons on the mouse up,
900 not on the mouse down. Show the state of the button
901 (was only showing Normal state, never Pressed state). The
902 pressed button now follows the mouse (if you click the Close
903 button and move the mouse over the Maximize button, the
904 Maximize button will be shown as pressed). Since Win32 does
905 not generate WM_NCLBUTTONUP if you release the button outside
906 of the nc area, we need to handle WM_NCMOUSELEAVE and treat
909 * ThemeWin32Classic.cs:
910 - Draw a missing border around mdi child forms. Fixes #79844 (2).
913 - Added a list of forms which contains the order the forms are
914 added to the mdi parent.
915 - Handle WM_NCPAINT to properly draw a 3D border. Fixes #79844 (2).
916 - Handle WM_NCCALCSIZE to properly calculate the 3D border.
917 - If the active form changes set the scrollbars to the top
918 of the Z order, otherwise the form could hide them.
919 - Scrollbars are now sized according to ClientSize, not
920 to Size, and they take into account the other scrollbar
921 to determine maximum.
923 2006-11-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
930 - Added RequestAdditionalWM_NCMessages for windows to
931 opt in for WM_NCMOUSELEAVE and WM_NCMOUSEHOVER.
932 Currently only implemented in XplatUIWin32.
934 2006-11-27 Chris Toshok <toshok@ximian.com>
936 * Hwnd.cs: only add the hwnd to the windows hash in
937 set_WholeWindow and set_ClientWindow if whole_window/client_window
938 are not IntPtr.Zero. also, remove the unused SetObjectWindow.
940 2006-11-27 Mike Kestner <mkestner@novell.com>
942 * ComboBox.cs: remove redundant OnDropDown call. It is called
943 from the ComboListBox.ShowWindow code. Fixes #79969.
945 2006-11-27 Chris Toshok <toshok@ximian.com>
947 * Hwnd.cs: remove the setters for ExposePending and
948 NCExposePending - noone uses them.
950 2006-11-27 Jackson Harper <jackson@ximian.com>
952 * TextControl.cs: new param for ReplaceSelection which determines
953 whether we select the new selection, or set the cursor to the end
954 of the new selection.
955 * TextBoxBase.cs: Use new param for ReplaceSelection. When
956 pasting, select the new text.
957 * RichTextBox.cs: Use new param for ReplaceSelection.
959 2006-11-27 Jackson Harper <jackson@ximian.com>
961 * TextBoxBase.cs: Set the selection to the caret after the caret
962 is moved, otherwise they get out of sync.
964 2006-11-26 Everaldo Canuto <everaldo@simios.org>
966 * ToolBar.cs: Fixe size of ToolBar when AutoSize is false,
969 2006-11-26 Everaldo Canuto <everaldo@simios.org>
971 * ThemeWin32Classic.cs:
972 - Fix toolbar drop down arrow position.
973 - Fix drop down appearance when ToolBar.Appearance is normal,
976 2006-11-26 Gert Driesen <drieseng@users.sourceforge.net>
978 * ProgressBar.cs: GetStyle fixes for 2.0 profile.
980 * UpDownBase.cs: Same.
981 * ButtonBase.cs: Same.
982 * ScrollBar.cs: Same.
984 * PictureBox.cs: Same.
985 * UserControl.cs: Same.
987 * ListControl.cs: Same.
988 * TextBoxBase.cs: Same.
990 * RichTextBox.cs: Same.
993 2006-11-25 Jordi Mas i Hernandez <jordimash@gmail.com>
996 - Text label for where
997 - Text label comment was not shown
999 2006-11-23 Everaldo Canuto <everaldo@simios.org>
1001 * ThemeWin32Classic.cs: Fix toolbar drop down arrow size.
1003 2006-11-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
1005 * InternalWindowManager.cs:
1006 - Handle WM_PARENTNOTIFY to activate the form
1007 if any child control is clicked.
1008 - The form is only sizable if not minimized.
1010 * MdiWindowManager.cs:
1011 - Save the IconicBounds if the form is moved.
1012 - Rework SetWindowState, now the window bounds
1013 are stored only if the old window state is Normal.
1016 - In SetWindowStates store the old window state if
1017 the window is maximized and restore window state if
1018 the window looses focus.
1019 - Don't handle any scrollbar value changes if
1020 initializing the scroll bars. Fixes #79771.
1021 - Reworked ArrangeIconicWindows. Current algorithm
1022 tests bounds agains all other minimized windows, if
1023 any intersections create new bounds (going left to
1024 right, bottom to top) and then test again. When
1025 successful the bounds are saved and never computed
1026 again. Fixes #79774.
1028 2006-11-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
1030 * InternalWindowManager.cs: Added HandleTitleBarUp.
1032 2006-11-23 Gert Driesen <drieseng@users.sourceforge.net>
1034 * NumericUpDown.cs: In .NET 1.1, user entered text is still
1035 hexadecimal in ParseUserEdit.
1038 2006-11-23 Rolf Bjarne Kvinge <RKvinge@novell.com>
1040 * MdiWindowManager.cs:
1041 - Handle a click on the form's icon to show the
1042 system menu (when maximized). Fixes #79775.
1043 - Change the existing click handler for the form's
1044 icon when not maximized to show on MouseUp.
1047 * Form.cs: In OnResize only layout the mdi child's
1048 parent if it actually has a parent. Might not if
1049 the window is closing.
1052 2006-11-23 Gert Driesen <drieseng@users.sourceforge.net>
1054 * MdiClient.cs: Ignore active MDI client for text of parent, if
1055 child has no text set.
1057 2006-11-23 Gert Driesen <drieseng@users.sourceforge.net>
1059 * ToolBar.cs: Fixed ToString to match MS.
1061 2006-11-22 Andreia Gaita <avidigal@novell.com>
1064 - Fix DecimalPlaces, Hexadecimal and ThousandsSeparator to
1065 update inner values on set. Fixes #79966.
1066 - Override OnLostFocus to update value on NET 2. Fixes #79950.
1067 - Fix hexadecimal parsing.
1069 * UpDownBase: Override OnGotFocus and OnLostFocus to notify
1070 parent. Fixes #79957
1072 2006-11-22 Rolf Bjarne Kvinge <RKvinge@novell.com>
1074 * Control.cs: After calling SetWindowsPos in SetBoundsCore
1075 the actual size has to be queried, since if height /
1076 width is negative Win32 changes it to 0.
1077 Fixes #79999 on Windows.
1079 * XplatUIX11.cs: Set height / width to 0 if negative
1080 in SetWindowPos. Fixes #79999 on Linux.
1082 2006-11-22 Everaldo Canuto <everaldo@simios.org>
1084 * ThemeWin32Classic.cs: Fix text redenring when button is
1087 2006-11-22 Everaldo Canuto <everaldo@simios.org>
1089 * MenuAPI.cs: Fixes behavior when menu is opened by kerboard
1090 and later navigate by mouse. Fixes #79528.
1092 2006-11-21 Everaldo Canuto <everaldo@simios.org>
1094 * ToolBar.cs: Set default value for TabStop to false in
1095 constructor, it fixes remaining behavior of bug #79863.
1097 2006-11-21 Rolf Bjarne Kvinge <RKvinge@novell.com>
1099 * MdiWindowManager.cs:
1100 * InternalWindowManager.cs:
1101 - Moved a few methods specific to Mdi from
1102 InternalWindowManager to MdiWindowManager.
1105 2006-11-21 Chris Toshok <toshok@ximian.com>
1107 * XplatUIOSX.cs: stub out InvalidateNC.
1109 * XplatUIWin32.cs: implement InvalidateNC using the call I found
1110 at http://www.dotnet247.com/247reference/msgs/58/292037.aspx.
1112 * XplatUIX11.cs: rename InvalidateWholeWindow to InvalidateNC.
1114 * XplatUIDriver.cs: add InvalidateNC abstract method.
1116 * XplatUI.cs: add InvalidateNC.
1118 2006-11-21 Everaldo Canuto <everaldo@simios.org>
1120 * ToolBar.cs: Invalidate complete button area when pressed status
1122 * ToolButton.cs: Fix InvalidateBorder for DropDown buttons.
1123 * ThemeWin32Classic.cs: Increase vertical and horizontal position
1124 by 1 when button is pressed.
1126 2006-11-20 Everaldo Canuto <everaldo@simios.org>
1128 * ToolButton.cs: Invalidate middle of DropDown button when
1129 ToolBar theres DropDownArrows.
1130 * ThemeWin32Classic.cs: Change position of DropDown arrow and
1131 fix DropDown drawing operations.
1133 2006-11-20 Chris Toshok <toshok@ximian.com>
1135 * NativeWindow.cs: fix the formatting of functions ('{' on the
1136 following line), and enable the thread exception dialog.
1138 * Application.cs: remove the duplicate exception catching from
1141 2006-11-20 Everaldo Canuto <everaldo@simios.org>
1143 * Toolbar.cs: Triggers button click event when click on icon
1144 of dropdown ToolBarButton. Fixes #79912.
1146 2006-11-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
1149 * ThemeWin32Classic.cs:
1150 - Added a property WindowBorderFont to enable themeing
1151 of mdi child windows' Text.
1153 2006-11-20 Rolf Bjarne Kvinge <RKvinge@novell.com>
1155 * InternalWindowManager.cs:
1158 * MdiWindowManager.cs:
1159 - If mdi child is maximized, set mdi parent's
1160 text to "Parent - [Child]". Fixes #79770.
1161 - If there is any maximized mdi child windows, only the active
1162 window (and any new windows) is maximized, the rest are normal.
1163 - On a WindowState change only save mdi child's window bounds
1164 if the old window state was normal. Fixes #79774.
1165 - The scroll bars are now calculated on hopefully all
1166 necessary events. Fixed #79771 / #79844->6 / #79906.
1167 - MdiClient.SizeScrollBars() now takes into account docked
1168 controls in the parent when calculating available space.
1169 - InternalWindowManager now always repaints the entire title
1170 area. Fixes #79844->1/4/5.
1171 - Added RequestNCRecalc on mdi child windowstate changes.
1174 2006-11-20 Mike Kestner <mkestner@novell.com>
1176 * ComboBox.cs: setup LargeChange on the scrollbar. Invoke FireMouseUp
1177 in the MouseUp handler of the listbox and move the return handling
1178 code to FireMouseUp to avoid scrolling on ups. Fixes #79952.
1180 2006-11-20 Everaldo Canuto <everaldo@simios.org>
1182 * Toolbar.cs: Ignore right mouse clicks in toolbar. Fixes #79855.
1184 2006-11-17 Alexander Olk <alex.olk@googlemail.com>
1186 * MimeIcon.cs: Seems that DllImports that were fine in 1.2 are not
1187 working in 1.2.x anymore. So, updated.
1189 2006-11-19 Gert Driesen <drieseng@users.sourceforge.net>
1191 * NumericUpDown.cs: Use NegativeSign, NumberDecimalSeparator and
1192 NumberGroupSeparator of current culture instead of assuming en-US.
1195 2006-11-17 Mike Kestner <mkestner@novell.com>
1197 * Control.cs: Add the concept of implicit bounds setting so that
1198 dock/undock round trips preserve explicitly set size/locations.
1201 2006-11-17 Alexander Olk <alex.olk@googlemail.com>
1203 * FileDialog.cs: Trim all filters, otherwise DirInfo.GetFiles
1204 can't handle those filters. (Fixes bug #79961)
1206 2006-11-17 Chris Toshok <toshok@ximian.com>
1208 [ fixes the exit/crashes associated with #79835. it's clearly
1209 suboptimal though, we need to figure out a better way to solve
1212 * PrintPreviewControl.cs: deal with the new invalid printer
1215 * PageSetupDialog.cs: if the printer is invalid, pop up a dialog
1216 and return false (so CommonDialog.ShowDialog doesn't actually show
1219 * PrintDialog.cs: enable/disable the Ok button depending on
1220 whether or not the printer is valid.
1222 * CommonDialog.cs (ShowDialog): only actually show the form if
1223 RunDialog returns true.
1225 2006-11-17 Jackson Harper <jackson@ximian.com>
1227 * TextControl.cs: When soft splitting a line, mark it as a soft
1228 split line. Also carry over the current line break to the next
1231 2006-11-17 Chris Toshok <toshok@ximian.com>
1233 * XplatUIX11.cs: when scrolling a window with an invalid area, we
1234 only want to shift the part of the invalid area that overlaps the
1235 area we're scrolling. we also don't want to clear the invalid
1236 area unless the invalid area was entirely contained within the
1239 2006-11-16 Chris Toshok <toshok@ximian.com>
1241 * XplatUIX11.cs: remove the handling of the TimerEvent stuff, and
1242 also make sure to free the memory returned by XGetWindowProperty
1245 * X11Structs.cs: remove the TimerEvent stuff, it's unused.
1247 2006-11-16 Chris Toshok <toshok@ximian.com>
1249 * XplatUI.cs: add a new super secret way to get at the totally
1250 unsupported X11 backend.
1252 2006-11-16 Gert Driesen <drieseng@users.sourceforge.net>
1254 * NumericUpDown.cs: Allow lowercase letters when in hex-mode.
1256 2006-11-16 Jackson Harper <jackson@ximian.com>
1258 * TreeView.cs: Allow more explicit setting of top node position
1259 for scrollbars. Slower algo, but more accurate.
1260 - CollapseAll should maintain the current top node.
1261 * TextBoxBase.cs: When positioning the caret, use the line, pos
1262 method, since the x, y method does not grab the correct tag, and
1263 the caret height never gets set correctly. (Maybe I should just do
1264 away with the caret having its own height, and always use the
1265 carets current tag for height).
1267 2006-11-16 Jonathan Pobst <monkey@jpobst.com
1269 [Fixes 79778, 79923]
1271 * XplatUIWin32.cs: Don't allow a parent to be set to IntPtr.Zero.
1272 Parent to the FosterParent instead.
1274 2006-11-16 Jackson Harper <jackson@ximian.com>
1276 * TreeView.cs: Need to recalc the topnode when we expand or
1277 collapse. The scrolling methods can't handle this on their own,
1278 since they use differences between the last scroll position, and
1279 those difference get completely messed up since we are expanding
1280 nodes. This problem should probably be fixed in the scrolling
1281 methods, so they can figure out exactly where they are, but this
1282 will slow things down a little.
1283 * ThemeWin32Classic.cs: Special case for groupboxes with empty
1284 strings, makes nunit-gui look a lot nicer.
1286 2006-11-16 Chris Toshok <toshok@ximian.com>
1288 * XplatUIX11.cs: nasty, nasty, nasty changes required because of
1289 the broken multithreaded event handling we have in here. File
1290 this entry under "Why we should move to the new X11 backend".
1292 Any thread can make it into UpdateMessageQueue, which gets events
1293 from the X socket - some of which could belong to hwnds being
1294 managed by a different thread. We can also have multiple threads
1295 in UpdateMessageQueue at the same time, with each one reading from
1296 the X socket. This leads to many problems, with the following
1299 We can't use hwnd.Queue.Enqueue anywhere in here and must use
1302 The MotionNotify compression we do can't work across threads
1303 (without locking the entire queue, perhaps) since we call
1304 hwnd.Queue.Peek, so we just punt and don't compress motion events
1305 unless the owning thread is the one which got the X event.
1307 ConfigureNotify is another fun one, since it modifies the hwnd's
1308 bounds and then enqueues the event. We add a lock to Hwnd which
1309 is held when setting configure_pending to true (and enqueuing the
1312 There is a race wrt the wake socket. we need to make sure that
1313 only 1 thread is waiting on that socket, or else a thread could
1314 sleep waiting for data that never comes. It's difficult (but not
1315 impossible) to make happen, because it seems to require something
1318 1. Thread 1 polls on wake_receive
1320 2. poll returns saying there's data to be read on
1323 3. Thread 2 polls on wake_receive and immediately returns
1324 saying there's data to be read.
1326 4. Thread 2 reads the wakeup byte from wake_receive
1328 5. Thread 1 attempts to read the wakeup byte from
1331 6. Thread 2 exits (due to a form closing, perhaps).
1333 7. Thread 1 blocks forever.
1337 Fixing the Expose handling isn't done yet, and the races inherent
1338 in that piece of code are responsible for the drawing mistakes you
1339 see when generating expose events in a MT app (like NPlot). This
1340 one is the likely to be the hardest to bandaid, and it doesn't
1341 appear to cause anything but drawing problems. The other issues
1342 caused apps to exit or hang.
1344 * XEventQueue.cs: output some spew when Dequeue/Enqueue/Peek are
1345 called from a different thread than the one that should be calling
1348 * Hwnd.cs: add some locks to be used by the XplatUIX11 code.
1350 2006-11-15 Chris Toshok <toshok@ximian.com>
1352 * Application.cs: null out the context's MainForm when we exit
1353 RunLoop. Fixes a newly checked in unit test as well as the last
1354 ODE from bug #79933.
1356 2006-11-15 Chris Toshok <toshok@ximian.com>
1358 * Form.cs (set_Owner): allow a null value so we can clear the
1360 (Dispose): set all our owned_form's Owner properties to null, and
1361 clear the owned_forms collection.
1362 (WM_CLOSE): clean up this a little bit.. still not right though.
1364 * ApplicationContext.cs: OnMainFormClosed should only call
1365 ExitThreadCore if the main form isn't recreating. Fixes unit
1368 2006-11-15 Jonathan Pobst <monkey@jpobst.com>
1372 * ComboBox.cs: Set the Hwnd.no_activate flag for the ComboListBox.
1374 2006-11-15 Jonathan Pobst <monkey@jpobst.com>
1378 * Hwnd.cs: Add a flag to show a window, but not activate it, to
1379 keep popup window types from stealing focus from the main form
1382 * XPlatUIWin32.cs: Use SW_SHOWNOACTIVATE if above field is true.
1384 * MenuAPI.cs: Set above flag to true.
1386 2006-11-15 Chris Toshok <toshok@ximian.com>
1388 * XplatUIX11.cs: mimic win32 behavior on BUTTONUP events, where
1389 the button being released is not in wParam.
1391 2006-11-15 Jonathan Pobst <monkey@jpobst.com>
1393 * Form.cs: Add the released button to MouseEventArgs.Button
1394 for the OnMouseUp call to the MenuTracker. Fixes menu clicking
1397 2006-11-15 Chris Toshok <toshok@ximian.com>
1399 * XplatUIX11.cs: add (untested) a _NET_WM_NAME implementation of
1400 GetText(). untested because it's unused in our implementation.
1401 Control.Text always caches the text, even if
1402 ControlStyles.CacheText is not set.
1406 2006-11-15 Chris Toshok <toshok@ximian.com>
1410 * Form.cs: in Close() don't do anything after we send the WM_CLOSE
1411 message. no hiding, no disposing.
1413 in the WM_CLOSE handler, hide the form if it's modal.
1415 2006-11-15 Chris Toshok <toshok@ximian.com>
1417 * XplatUIX11.cs: use AddExpose instead of sending a message.
1418 fixes textbox border drawing.
1420 2006-11-15 Chris Toshok <toshok@ximian.com>
1422 * PropertyGridView.cs: keep from crashing on mouse move/down when
1423 the property grid is empty.
1425 2006-11-14 Jackson Harper <jackson@ximian.com>
1427 * TextControl.cs: Make PageUp and PageDown more like the MS
1429 * TextBoxBase.cs: When we set the text property position the
1430 cursor at the beginning of the document.
1432 2006-11-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
1434 * Form.cs: if a mdi child's WindowState has changed
1435 before it's creation, it would display wrong control
1438 2006-11-14 Alexander Olk <alex.olk@googlemail.com>
1440 * TreeView.cs: De-uglify TreeView checkbox checkmarks.
1443 2006-11-14 Rolf Bjarne Kvinge <RKvinge@novell.com>
1445 * XplatUIX11.cs: send a WM_NCPAINT on WM_NCCALCSIZE so that
1446 the window gets to paint its borders even if the window is
1449 * Form.cs: on a WM_NCPAINT invalidate the entire menu,
1450 otherwise the old control buttons would still be painted
1451 if the window gets bigger.
1453 * PaintEventArgs.cs: add an internal method so that the clip
1454 rectangle can be changed.
1456 2006-11-13 Chris Toshok <toshok@ximian.com>
1458 [ fixes bug #79745 ]
1460 * NotifyIcon.cs: lots of cleanup.
1462 * X11Structs.cs: add an enum for XEMBED messages.
1464 * XplatUIX11.cs: reindent one of the giant switch statements, it
1465 was taking up an additional tab stop, and this file is already way
1466 too wide for my laptop's screen.
1468 Also, add handling for the XEmbed EMBEDDED_NOTIFY message. When
1469 we get it, resize the hwnd to the WMNormalHints max_width/height.
1471 2006-11-13 Jackson Harper <jackson@ximian.com>
1473 * TextBoxBase.cs: Compute the value changes for the mouse wheel
1476 2006-11-13 Chris Toshok <toshok@ximian.com>
1478 * XplatUIX11.cs, XplatUIStructs.cs: kind of a gross fix for
1479 #79898. force a reference to the Region to stick around so the
1480 unmanaged object isn't collected (rendering our handle in the MSG
1483 2006-11-13 Chris Toshok <toshok@ximian.com>
1485 * XplatUIX11.cs: fix #79917 for window managers which support
1487 using XStoreName on the raw utf8, and we need to convert to
1488 COMPOUND_TEXT if it's non-latin1.
1490 2006-11-13 Chris Toshok <toshok@ximian.com>
1492 * Form.cs (set_DialogResult): we need to set closing to false if
1493 we're setting our result to None. fixes bug #79908.
1495 2006-11-13 Jackson Harper <jackson@ximian.com>
1497 * TextControl.cs: When formatting text, compute the adjusted tag
1498 lengths correctly, using FindTag for the end tag instead of trying
1499 to figure it out outselves.
1500 * TreeNode.cs: Use ActualItemHeight, which is the actual height of
1501 the item, ItemHeight doesn't work, because trees with large
1502 imagelists use those for their height
1503 * TreeView.cs: ActualItemHeight factors in the image height
1504 - compute left edge of checkboxes correctly
1505 - when expanding/collapsing move the bottom down one pixel, so we
1506 aren't moving part of the node
1508 2006-11-13 Rolf Bjarne Kvinge <RKvinge@novell.com>
1510 * XplatUIX11.cs: The PaintEventArgs is also added to the drawing
1511 stack in PaintEventStart so that it won't get disposed by the gc
1512 before reaching PaintEventEnd.
1514 2006-11-13 Jackson Harper <jackson@ximian.com>
1516 * TextBoxBase.cs: Don't select the word if we are on a line with
1518 - We don't need to position the caret on mouse up, since the mouse
1519 move handler should be doing this
1520 - When double clicking a blank line, the caret is advanced to the
1523 2006-11-13 Gert Driesen <drieseng@users.sourceforge.net>
1525 * TreeNodeCollection.cs: Avoid duplicating indexer code.
1527 2006-11-12 Gert Driesen <drieseng@users.sourceforge.net>
1529 * ColorDialog.cs: Reset size of dialog between calls to ShowDialog.
1530 Fixes part of bug #79910.
1532 2006-11-11 Alexander Olk <alex.olk@googlemail.com>
1534 * ColorDialog.cs: Fix a NRE when adding a color to custom colors
1535 (bug #79903). Some minor string updates to match ms.
1537 2006-11-10 Alexander Olk <alex.olk@googlemail.com>
1539 * FileDialog.cs: Don't add an extension if the filename
1540 already ends with that extension.
1542 2006-11-10 Jackson Harper <jackson@ximian.com>
1544 * TreeView.cs: Use the currently highlighted node for the
1546 * TextBoxBase.cs: There is no need to expand selection on
1548 - CanUndo means 'is there any undo operations', not 'is undo
1549 allowed on this textcontrol. Fixed ClearUndo unit test.
1551 2006-11-10 Andreia Gaita <shana.ufie@gmail.com>
1553 * Button.cs: only perform click when button is Selectable (so as
1554 not to activate default buttons when they're disabled)
1556 * Control.cs: Rewrite of the SelectNextControl and related
1557 methods. HandleClick now selects next control if the current one
1560 * Form.cs: OnActivated selects next active control only if Load
1561 has already occurred. If Load hasn't run, there's no point in
1562 selecting here, Load might change the state of controls.
1564 * FocusTest.cs: Tests marked as working again for these fixes
1566 2006-11-10 Chris Toshok <toshok@ximian.com>
1568 * XplatUIX11.cs: a couple of fixes.
1570 - use XInternAtoms with almost all the atoms we need to register,
1571 instead of many, many calls to XInternAtom. should help a bit on
1572 startup time, at the expense of making the code look a little
1575 - fall back to setting TransientFor on TOOLWINDOW's if their hwnd
1576 isn't reparented (which seems to be a clue that we're running fon
1577 compiz) and they have an Owner form. This fixes the tool windows
1578 in paint.net when running under compiz.
1580 - when setting the opacity of a window, support both the case
1581 where the window has been reparented and also when it hasn't been.
1582 Since compiz/beryl doesn't seem to reparent windows, and these are
1583 the only window managers which support translucency, I'm not sure
1584 why we need the hwnd.reparented case at all.. but leave it in.
1585 now we get translucent windows in paint.net under compiz/beryl.
1587 2006-11-10 Alexander Olk <alex.olk@googlemail.com>
1589 * FileDialog.cs: Always return the value for FilterIndex that
1590 was set. Internally convert it to values that make sense.
1592 2006-11-10 Everaldo Canuto <everaldo@simios.org>
1594 * ThemeWin32Classic.cs: Fix drowp down arrow borders.
1596 2006-11-10 Everaldo Canuto <everaldo@simios.org>
1598 * Toolbar.cs: Change default value of DropDownArrows to true, the
1599 signature still using false to make it compatible with MS but the
1600 initial value is true. Fixes #79855.
1602 2006-11-10 Alexander Olk <alex.olk@googlemail.com>
1604 * MimeIcon.cs: Don't throw an exception on windows. Mime stuff is
1605 only available on Linux.
1607 2006-11-09 Everaldo Canuto <everaldo@simios.org>
1609 * Toolbar.cs, ToolBarButton.cs: Fix wrong separator size and
1610 reduce number of calls to redraw method during toolbar creation.
1612 2006-11-09 Mike Kestner <mkestner@novell.com>
1614 * ListView.cs : raise SelectedIndexChanged when an item is selected
1615 programmatically via the Item.Selected property. Gert's nice
1616 ListViewSelectedIndexChanged test fixture now runs clean.
1618 2006-11-09 Mike Kestner <mkestner@novell.com>
1620 * ListView.cs : raise SelectedIndexChanged when a selected item is
1621 removed from the item collection using Remove or RemoveAt.
1623 2006-11-09 Mike Kestner <mkestner@novell.com>
1625 * ListView.cs : raise SelectedIndexChanged once per selected item
1626 for compat with MS. Fixes #79849+.
1628 2006-11-09 Chris Toshok <toshok@ximian.com>
1630 * TabControl.cs: initialize row_count to 0, and set it to 1 when
1631 we need to (if we have any tab pages). Fixes unit test.
1633 2006-11-09 Chris Toshok <toshok@ximian.com>
1635 * Label.cs (CalcPreferredWidth): if Text == "", our preferred
1636 width is 0, not 3. Fixes a unit test.
1638 2006-11-09 Mike Kestner <mkestner@novell.com>
1640 * ListView.cs : use Implicit scrollbars so that focus isn't
1641 stolen from the listview when they are clicked. Fixes #79850.
1643 2006-11-09 Chris Toshok <toshok@ximian.com>
1645 * PropertyGridView.cs (OnPaint): only call DrawGridItems if we
1646 have a root item. Fixes #79879.
1648 2006-11-09 Alexander Olk <alex.olk@googlemail.com>
1652 - An ArgumentException is now thrown if a wrong filter
1653 is applied (matches ms). The previous filter doesn't change
1654 anymore if an exception is thrown.
1655 - Changing the FileName property also affects FileNames
1656 * ColorDialog.cs: The length of the CustomColors array is always
1657 16. It doesn't matter if we use a smaller array or null to update
1658 or change the custom colors property.
1659 * FolderBrowserDialog.cs: Throw an InvalidEnumArgumentException if
1660 for RootFolder if we get a undefined value.
1662 2006-11-09 Rolf Bjarne Kvinge <RKvinge@novell.com>
1664 * StatusBarPanel.cs:
1665 - Width is set to MinWidth if Width is smaller than
1666 MinWidth. Fixes #79842.
1667 - MinWidth now always overrides Width (MSDN says MinWidth
1668 is set to Width when AutoSize = None, but they do not
1670 - Style has now the the correct default value.
1672 2006-11-09 Rolf Bjarne Kvinge <RKvinge@novell.com>
1675 - The control is completely invalidated on
1676 Got/LostFocus to draw the focus rectangle correctly.
1677 - When AutoSize then height is always 45 (width for
1680 * ThemeWin32Classic.cs: The TrackBar thumb is now centered
1681 on the mouse when moved and it doesn't move when grabbed
1682 until the mouse moves as well. Also fixed some wrong
1683 calculations when clicking on the thumb (control thought
1684 click was outside of thumb and didn't grab it).
1685 Fixes some of the issues in #79718.
1687 2006-11-08 Everaldo Canuto <everaldo@simios.org>
1689 * Toolbar.cs: Prevent disabled button to highlight. Fixes #79868.
1691 2006-11-08 Chris Toshok <toshok@ximian.com>
1693 * PropertyGridView.cs: only call ToggleValue if the item is not
1696 2006-11-08 Jackson Harper <jackson@ximian.com>
1698 * TextBoxBase.cs: The RichTextBox and textbox have very different
1699 word selection methods. Implement the textbox's simple word
1700 selection here, and let the RichTextBox override and provide it's
1702 - Don't do extra selection on mouseup
1703 * RichTextBox.cs: Use the documents word selection algorithm, I
1704 think ideally, this function will be pulled into the
1705 RichTextBox.cs code someday.
1707 2006-11-08 Chris Toshok <toshok@ximian.com>
1709 * RootGridEntry.cs: new class to represent GridItemType.Root.
1711 * CategoryGridEntry.cs: reformat, and add boilerplate.
1713 * GridEntry.cs: remove the UIParent stuff - turns out .Parent
1714 returns the UI parent anyway, and we need special handling to
1715 implement the GetTarget method in the face of it. Also, implement
1718 * PropertyGrid.cs, PropertyGridView.cs: a number of fixes. create
1719 a root grid item, and use that instead of PropertyGrid.grid_items.
1720 Also, make use of TypeConverters (and add limitted support for
1721 ICustomTypeDescriptors) when initially populating the grid.
1722 Arrays now show up more or less properly.
1724 2006-11-08 Chris Toshok <toshok@ximian.com>
1726 * Application.cs: set the modal dialog to non modal after we close
1727 it. Fixes bug #79866.
1729 2006-11-08 Jackson Harper <jackson@ximian.com>
1731 * TextControl.cs: When combining lines carry over the line end
1732 style from the end line.
1733 - Invalidate the selected area when setting it, if it is visible.
1734 * TextBoxBase.cs: Only rich text box can do full line selects.
1735 - Make sure to set the cursor position when there is a click,
1736 otherwise two clicks in separate areas could cause a large chunk
1739 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1741 * Toolbar.cs: Release flat button borders when Toolbar lost focus.
1744 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1746 * Toolbar.cs: Prevent toolbar to open more than one tooltip at same
1747 time. Remove tooltips when ToolButton click events. Fixes #79856.
1749 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1751 * MenuAPI.cs: Ignore right click for menu actions and fixes
1752 menu border when clicked. Fixes #79846.
1754 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1756 * XplatUIX11.cs, XplatUIX11.cs: Fix MouseRelease to only release
1757 MouseState after create wParam for message, this fixes mouse button
1758 equal none in mouse up events.
1760 2006-11-07 Andreia Gaita <shana.ufie@gmail.com>
1762 * Control.cs : Focus() now calls Select to set the Container's
1763 Active Control and to give it focus. To avoid infinite recursion
1764 (because ActiveControl also calls Focus at one point), a check
1765 is made in Focus with the help of a new internal variable
1768 2006-11-07 Mike Kestner <mkestner@novell.com>
1770 * ListView.cs : raise OnSelectedIndexChanged in CreateHandle
1771 if there's a selection. Fixes #79849.
1773 2006-11-07 Gert Driesen <drieseng@users.sourceforge.net>
1775 * PropertyGrid.cs: Avoid fixed height of help description label.
1776 Fixes part of bug #79829.
1778 2006-11-07 Chris Toshok <toshok@ximian.com>
1780 * XplatUIX11.cs: fix #79790 again, by using the
1781 _NET_WM_STATE_SKIP_TASKBAR atom to implement Form.ShowInTaskbar.
1783 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1785 * ToolBar.cs: Fix left click checking.
1787 2006-11-07 Chris Toshok <toshok@ximian.com>
1789 * ProgressBar.cs: fix a typo in ToString(). fixes a unit test.
1791 2006-11-07 Chris Toshok <toshok@ximian.com>
1793 * RelatedPropertyManager.cs: set property_name in our ctor. fixes
1794 PropertyManager unit tests.
1796 * PropertyManager.cs: make property_name internal.
1798 2006-11-07 Chris Toshok <toshok@ximian.com>
1800 * ButtonBase.cs: initialize base.ime_mode to ImeMode.Disable to
1801 pass a unit test. Also, don't set image_index to anything in
1802 response to setting the ImageList property.
1804 2006-11-07 Everaldo Canuto <everaldo@simios.org>
1806 * ToolBar.cs: Ignore click events when mouse button is not a
1807 left button, only accepts other button for dropdown menus.
1810 2006-11-07 Chris Toshok <toshok@ximian.com>
1812 * DataGrid.cs: make the back and parent row buttons a little less
1815 2006-11-07 Jackson Harper <jackson@ximian.com>
1817 * TextBoxBase.cs: When converting to Text don't put line breaks in
1818 for soft line breaks.
1819 * TextControl.cs: There is an initial "fake" line in the document,
1820 this is now a soft break line, so that an extra line feed doesn't
1821 get added to the end of documents.
1823 2006-11-07 Chris Toshok <toshok@ximian.com>
1827 * CurrencyManager.cs: if the list is readonly, don't bother
1828 checking if IBindingList.AllowNew is true.
1830 * ThemeWin32Classic.cs (DataGridPaintParentRow): make this work
1831 for non-DataRowView datasources.. or rather, make it not crash.
1832 (DataGridPaintRelationRow): make sure we limit the row painting to
1833 the area not covered by the row header, and make our cell width at
1834 least large enough to cover the relation area. This allows grids
1835 that have relations but no rows to render correctly.
1836 (DataGridPaintRowContents): same type of changes here.
1837 (SetDataSource): move back to always calling
1838 CalcAreasAndInvalidate. this fixes a crash/drawing problem when
1839 navigating back through relations.
1840 (HitTest): handle the case where we have no cells but have
1841 relations. Right now we generate a hit in cell 0 of whatever the
1842 row is, not sure if this is strictly correct, but it works for our
1845 * DataGrid.cs (EndEdit, CancelEdit): if we have no columns, don't
1846 bother doing anything.
1848 2006-11-07 Jonathan Pobst <monkey@jpobst.com>
1850 * StatusStrip.cs, ToolStripStatusLabel.cs: By request, an
1851 early version of StatusStrip. Not responsible for eaten
1852 application or firstborn children.
1854 2006-11-06 Chris Toshok <toshok@ximian.com>
1856 * TabControl.cs: in OnGotFocusInternal/OnLostFocusInternal don't
1857 call GetTabRect with a -1 index. Fixes #79847.
1859 2006-11-06 Jackson Harper <jackson@ximian.com>
1861 * TreeNodeCollection.cs: Update scrollbars after clearing.
1863 2006-11-06 Chris Toshok <toshok@ximian.com>
1865 * NumericUpDown.cs: fix the ToString method for some unit test
1868 2006-11-06 Chris Toshok <toshok@ximian.com>
1871 - set the initial SelectedGridItem if we can.
1873 - Exclude non-mergable properties only if we're merging > 1
1874 object. Merging 1 object isn't really merging, obviously.
1876 - Handle PropertySort.NoSort just like Alphabetical, which is
1877 wrong of course, but at least gets things on the screen.
1879 * PropertyGridView.cs:
1880 - Add method "FindFirstItem" which finds the first property grid
1881 item, so we can select it by default.
1883 - make use of GridEntry.CanResetValue.
1885 - Don't call RedrawBelowItemOnExpansion here anymore, the
1886 individual GridEntry's will do that.
1888 - Remove the ITypeDescriptorContextImpl internal class.
1891 - this class needs to implement ITypeDescriptorContext, as it's
1892 what MS's PropertyDescriptorGridEntry does, which means we can
1893 remove the ITypeDescriptorContextImpl internal class from
1894 PropertyGrid.cs. This fixes the crashing portion of bug #79829.
1896 - keep a reference to our PropertyGridView, and move the call to
1897 RedrawBelowItemOnExpansion here from PGV. This means
1898 programmaticly setting Expanded actually does something visible.
1900 - add a CanResetValue() function which takes into account our
1901 possibly multiple "selected_objects" in the merged case. Shifting
1902 PropertyGridView to use this method fixes another unreported
1903 crasher found running the test for #79829.
1905 - when Top or Bounds is updated, make sure the PropertyGridTextBox
1906 is updated to reflect this.
1908 * CategoryGridEntry.cs: the ctor takes the PGV now.
1910 2006-11-06 Jackson Harper <jackson@ximian.com>
1912 * TextControl.cs: These are 1 based.
1913 * TextBoxBase.cs: When setting the selected text, don't change the
1914 selected text tags, this is done by ReplaceText, just position the
1915 cursor at the end of the new text.
1917 2006-11-06 Alexander Olk <alex.olk@googlemail.com>
1919 * ListView.cs: Allow label edit only when, when LabelEdit is
1922 2006-11-06 Jackson Harper <jackson@ximian.com>
1924 * TextControl.cs: If a suitable wrapping position isn't found,
1925 just wrap right in the middle of a word.
1927 2006-11-06 Alexander Olk <alex.olk@googlemail.com>
1929 * ListView.cs, ListViewItem.cs: Implement LabelEdit. Fixes
1932 2006-11-06 Jackson Harper <jackson@ximian.com>
1934 * TreeView.cs: Can't use the VisibleCount property when setting
1935 scrollbar heights, because this doesn't take into account whether
1936 or not the horz scrollbar just came visible.
1938 2006-11-05 Everaldo Canuto <everaldo@simios.org>
1940 * MenuAPI.cs: Deactivate menu on mouse up when menus it is already
1941 activated. Fixes #79369, #79832.
1943 2006-11-05 Alexander Olk <alex.olk@googlemail.com>
1945 * FileDialog.cs: *sigh* Because of recent runtime changes (r67043) I
1946 had to remove support for links that point to a directory. FileInfo
1947 returns no usefull information (means, the directory they point to)
1948 for such links. Replaced some empty string ("") with String.Empty.
1950 2006-11-04 Gert Driesen <drieseng@users.sourceforge.net>
1952 * TreeNodeCollection.cs: To match MS, in 1.0 profile throw
1953 NullReferenceException when attempting to remove node that is not in
1954 collection. Throw NullReferenceException when null is passed to
1955 Remove. Allow first element of the collection to be removed. Fixes
1956 bug #79831. In GetEnumerator ().Current return null if positioned
1957 before the first element of the collection. In GetEnumerator ().Reset,
1958 position before first element of the collection.
1960 2006-11-04 Gert Driesen <drieseng@users.sourceforge.net>
1962 * PropertyGrid.cs: To match MS, remove default title and description
1963 for panel. Fixed tooltips for Categorized and Alphabetic toolbar
1966 2006-11-04 Chris Toshok <toshok@ximian.com>
1968 * Theme.cs: add a Clamp method, just for kicks.
1970 * ThemeWin32Classic.cs: clamp all color components to [0..255].
1972 2006-11-04 Chris Toshok <toshok@ximian.com>
1974 * Form.cs: if the form isn't visible, Close() does nothing.
1976 2006-11-03 Chris Toshok <toshok@ximian.com>
1978 * Form.cs (Close): if the form is modal, don't Dispose of it, only
1980 (WndProc): don't Dispose after handling the WM_CLOSE message.
1982 * Application.cs (RunLoop): toplevels is a list of Forms, so treat
1983 them as such, instead of using casts from Control to Form. Also,
1984 don't Dispose of the modal dialog when we fall out of the loop -
1989 2006-11-03 Chris Toshok <toshok@ximian.com>
1991 * Control.cs (Dispose): only go through the dispose thing if we're
1992 @disposing, and we haven't already been disposed. Fixes bug
1995 * Form.cs: no reason to call "base.Dispose()" here instead of
1998 2006-11-03 Mike Kestner <mkestner@novell.com>
2000 * ComboBox.cs : use ToString instead of casts in AddItem for
2001 sorting functionality. Fixes #79812.
2003 2006-11-03 Chris Toshok <toshok@ximian.com>
2005 * Application.cs: pave the way for actually using the thread
2006 exception dialog. it's ifdefed out at the moment.
2008 2006-11-03 Chris Toshok <toshok@ximian.com>
2010 * ThreadExceptionDialog.cs: until we get a better layout, actually
2011 hide the details textbox and label when we shouldn't see them.
2013 2006-11-03 Jackson Harper <jackson@ximian.com>
2015 * TextBoxBase.cs: Don't bail from the scrollbar calcs for non
2016 multiline textboxes anymore. This method also determines the
2017 width/height of a textboxes canvas area.
2018 - Sorta a revert of the last patch. For multiline just position
2019 the controls, then bail. This way the scrollbar width won't be
2022 2006-11-03 Everaldo Canuto <everaldo@simios.org>
2024 * ThemeWin32Classic.cs: Dont paint inner lines of 3D border when
2025 it dont need. Fixes #79537.
2027 2006-11-02 Jackson Harper <jackson@ximian.com>
2029 * X11Dnd.cs: We always allow copy, since XDND implies Copy. Also
2030 send the status after firing the DndOver event.
2032 2006-11-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
2034 * TrackBar.cs: Now orientation only switches height / width if
2035 the control's handle is created (Win32 does it like this). Also
2036 fixed a typo in ToString() for a test to pass, changed the
2037 exception thrown in set_LargeChange and set_SmallChange to
2038 match Win32 behaviour, and added TrackBar tests to the unit
2041 2006-11-02 Chris Toshok <toshok@ximian.com>
2043 * XplatUIX11.cs: the atom we want is _NET_WM_STATE_SKIP_TASKBAR,
2044 not _NET_WM_STATE_NO_TASKBAR.
2046 2006-11-02 Jackson Harper <jackson@ximian.com>
2048 * TextControl.cs: Increment count by one, since in the update view
2051 2006-11-02 Jackson Harper <jackson@ximian.com>
2053 * TextBoxBase.cs: Use client rectangle not bounds for checking if
2054 the mouse is in the client rectangle (duh).
2056 2006-11-02 Rolf Bjarne Kvinge <RKvinge@novell.com>
2058 * TrackBar.cs: Fixed trackbar jumping around when clicking
2059 on it - the trackbar was not detecting correctly at which
2060 side of the thumb the click was done. (fixes #79718)
2062 2006-11-02 Everaldo Canuto <everaldo@simios.org>
2064 * ListBox.cs: scroll visible area when change SelectedIndex to
2065 a non visible area. Fixes #79481.
2067 2006-11-01 Jackson Harper <jackson@ximian.com>
2069 * TextControl.cs: When replacing the selection move the selection
2070 start/end/anchor to the end of the new text.
2072 2006-11-01 Jackson Harper <jackson@ximian.com>
2074 * XplatUIWin32.cs: When setting the parent change the controls
2075 visibility to it's visibility flag, not to it's old parents
2076 visibility (.Visible walks the parent chain).
2078 2006-11-01 Chris Toshok <toshok@ximian.com>
2080 * XplatUIX11.cs: revert the #79790 fix, as the simple.
2081 XSetTransientForHint fix breaks paint .net's tool windows. more
2082 work needed for that one.
2084 2006-11-01 Chris Toshok <toshok@ximian.com>
2086 * ScrollBar.cs: throw ArgumentException instead of Exception in
2087 LargeChange/SmallChange setters. fixes unit tests.
2089 2006-10-31 Andreia Gaita <shana.ufie@gmail.com>
2091 * ContainerControl.cs: reverted rev.67183 (which was itself
2092 a reversion of rev.66853... eh).
2094 * Control.cs: Fixes Reflector hang by changing Focus() call
2095 to what it was before rev.66643 (calling Select() here sets
2096 ActiveControl, which in some situations calls back Focus and
2097 eventually does a stack overflow). Temp fix.
2098 Changes to GetNextControl() to not look for children to select when
2099 parent cannot be selectable (so it looks for siblings instead)
2101 2006-10-31 Mike Kestner <mkestner@novell.com>
2103 * CheckedListBox.cs : off by one error in returned index from
2104 ObjectCollection.Add. Fixes #79758.
2106 2006-10-31 Chris Toshok <toshok@ximian.com>
2108 * UpDownBase.cs: remove the OnGotFocusInternal/OnLostFocusInternal
2109 calls for the textbox/spinner, to keep from recursing to the point
2110 where we crash. Fixes #79760.
2112 2006-10-31 Chris Toshok <toshok@ximian.com>
2114 * ListControl.cs (set_SelectedValue): don't throw exceptions on
2115 null/"" value, just return. matches ms's behavior and fixes some
2118 2006-10-31 Chris Toshok <toshok@ximian.com>
2120 * Control.cs (set_Capture): make a logic a little easier to
2123 * XplatUIX11.cs (CleanupCachedWindows): zero out the Grab window
2124 if it's being destroyed. A necessary fix surely, but a bandaid
2125 also, to fix the stuck capture problem in bug #78413.
2127 2006-10-31 Chris Toshok <toshok@ximian.com>
2129 * XplatUIX11.cs: fix a couple of compiler warnings, and follow the
2130 convention of clearing hwnd.ClientRect when we set the
2131 width/height (so it'll be recalculated by Hwnd).
2133 2006-10-31 Andreia Gaita <shana.ufie@gmail.com>
2135 * ContainerControl.cs: reversed Contains check from
2136 ActiveControl due to hanging problems. This fix
2137 partly regresses #79667 (button does not have
2138 initial focus), so this might be a symptom for
2139 a larger parenting problem (set_ActiveControl
2140 is being called but the child control does
2141 not have the parent set yet?)
2143 2006-10-31 Mike Kestner <mkestner@novell.com>
2145 * MenuAPI.cs : fix keynav when menu is click activated.
2147 2006-10-31 Jonathan Pobst <monkey@jpobst.com>
2149 * ToolStrip*: Version 0.2.
2151 * MenuStrip.cs: Version 0.1.
2153 * Form.cs: Add a 2.0 MenuStrip tracker like the 1.1 Menu one.
2155 2006-10-30 Chris Toshok <toshok@ximian.com>
2157 [ fixes the oversized notify icon issue in bug #79745 ]
2159 * NotifyIcon.cs: scale the icon down to the size we're given by
2160 the XplatUI layer (this would be faster if we did it once instead
2161 of whenever we paint..) Also, remove the WM_NCPAINT handling,
2162 since it's never invoked.
2164 * XplatUIX11.cs: the gnome and kde systrays use icons that are 24
2165 pixels high by default, so let's hardcode our systray icon to that
2166 size. The SYSTEM_TRAY protocol should really have a way for
2167 client apps to query for the correct icon size.. but oh well. A
2168 couple of patches to deal with the screwy client_window ==
2169 whole_window notifyicon stuff (we don't want to PerformNCCalc, for
2170 instance, and also make sure we don't XSelectInput twice).
2172 2006-10-30 Chris Toshok <toshok@ximian.com>
2174 * Control.cs: ugh, the unit test fix (CH11, yesterday) breaks when
2175 recreating forms. Control recreation is the bane of my existence.
2176 Fix it in a way that keeps everyone happy.
2178 2006-10-30 Chris Toshok <toshok@ximian.com>
2180 * XplatUIX11.cs: use StructureNotifyMask on all whole_windows, not
2181 just non-CHILD ones. otherwise sometimes scrollbars end up with
2182 client_windows not being resized to the proper size (ReportBuilder
2183 shows this extremely well).
2185 2006-10-30 Chris Toshok <toshok@ximian.com>
2187 * XplatUIX11.cs (SetWMStyles): reinstate the XSetTransientForHint
2188 for non-WS_EX_APPWINDOW windows. This is what keeps them from
2189 showing up in the gnome taskbar. Fixes bug #79790.
2191 2006-10-30 Chris Toshok <toshok@ximian.com>
2193 * ApplicationContext.cs: guard against a NRE.
2195 * Application.cs: null out the old MainForm for the context, so we
2196 don't try to use it again once it's disposed. Fixes bug #79783.
2198 2006-10-30 Chris Toshok <toshok@ximian.com>
2200 * DataGrid.cs (set_DataSource, set_DataMember): if we have a
2201 BindingContext, set the data source directly, otherwise do the
2202 lazy approach - the actual ListManager will be created when we get
2203 a BindingContext. Fixes bug #79700.
2205 2006-10-30 Jonathan Pobst <monkey@jpobst.com>
2207 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
2208 XplatUIX11.cs: Remove old 2 parameter SetVisible.
2210 * Control.cs: Use the new 3 parameter SetVisible with activate = true.
2212 2006-10-30 Jonathan Pobst <monkey@jpobst.com>
2214 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Add an overload
2215 of SetVisible that allows a window to be shown, but not activated.
2216 This is needed on Windows for MenuStrip, and can probably be used
2217 with MainMenu and ComboBox to fix the focus stealing issues on
2220 * XplatUIOSX.cs, XplatUIX11.cs: Not needed, call existing SetVisible.
2222 2006-10-30 Alexander Olk <alex.olk@googlemail.com>
2224 * PictureBox.cs: Fix the output of the ToString method.
2226 2006-10-29 Chris Toshok <toshok@ximian.com>
2228 * Control.cs (get_TopLevelControl): fix bug #79781.
2230 2006-10-29 Chris Toshok <toshok@ximian.com>
2232 * ListControl.cs (set_DataSource): throw Exception here, not
2233 ArgumentException, to match MS behavior.
2235 2006-10-29 Chris Toshok <toshok@ximian.com>
2237 * Form.cs: remove the try-catch's around calls to GetWindowState.
2238 We can just check the return value.
2240 * XplatUIX11.cs: don't throw exceptions from GetWindowState.
2243 * XplatUI.cs: Add note about additional return value for
2246 2006-10-29 Chris Toshok <toshok@ximian.com>
2248 * Control.cs (CreateHandle): when we create our handle, we also
2249 create the handles of our child controls. Fixes one of the
2250 Control unit tests (CH11).
2252 2006-10-28 Alexander Olk <alex.olk@googlemail.com>
2254 * MimeIcon.cs: If a gnome icon doesn't exist add a default icon.
2256 2006-10-28 Alexander Olk <alex.olk@googlemail.com>
2258 * ThemeClearlooks.cs: A little speedup.
2260 2006-10-27 Chris Toshok <toshok@ximian.com>
2262 * Control.cs: implement Control.FromChildHandle in a way that
2263 matches the docs (and fixes the failed test.)
2265 2006-10-27 Chris Toshok <toshok@ximian.com>
2267 * DataGridTableStyle.cs: reproduce buggy MS behavior (with
2270 * DataGrid.cs: implement ResetForeColor such that the tests
2273 2006-10-27 Chris Toshok <toshok@ximian.com>
2275 * ToolBarButton.cs: setting text/tooltiptext to null results in it
2276 being set to "". Fixes bug #79759.
2278 2006-10-27 Jackson Harper <jackson@ximian.com>
2280 * TextControl.cs: We need to clear the entire selection area when
2281 setting the start, otherwise multiline selections are still
2284 2006-10-26 Chris Toshok <toshok@ximian.com>
2286 * PropertyGridView.cs:
2288 - ifdef all the code specific to the double
2289 buffer case, and provide some alternatives in the non-doublebuffer
2290 code, which makes heavy use of XplatUI.ScrollWindow to move things
2291 around without having to invalidate (and cause flicker). There
2292 are still some drawing problems in the non-doublebuffered case, so
2293 DOUBLEBUFFER is defined by default.
2295 - Fix the way dropdowns are handled. now we explicitly watch for
2296 the events which might cause the dropdown to close, and break out
2297 of the nested event loop there. This gets rid of all Capture
2298 code, at the expense of the Msg special casing. Seems to work,
2299 though, and fixes bug #79743.
2301 2006-10-27 Rolf Bjarne Kvinge <RKvinge@novell.com>
2302 * Control.cs: SetIsRecreating now recreates implicitly added
2303 child controls as well. Finally fixes #79629. The flag passed to
2304 SetIsRecreating has also been removed since it wasn't used.
2306 2006-10-26 Carlos Alberto Cortez <calberto.cortez@gmail.com>
2308 * PageSetupDialog.cs: Clean some code, fix some bits,
2309 add some checks, and add a printer sub-dialog.
2311 2006-10-26 Chris Toshok <toshok@ximian.com>
2313 * PropertyGrid.cs: make set_SelectedObject call
2314 set_SelectedObjects, and move the duplicate logic to the
2315 SelectedObjects setter. Also, raise SelectedObjectsChanged.
2317 * PropertyGridView.cs: hide the textbox when we get a
2318 SelectedObjectsChanged event.
2322 2006-10-26 Chris Toshok <toshok@ximian.com>
2324 * PropertyGridView.cs: deal with the type converter not supporting
2325 GetStandardValues() or GetStandardValues() returning null, which
2326 is does in the default case. Fixes #79742.
2328 2006-10-25 Andreia Gaita <shana.ufie@gmail.com>
2330 * CheckedListBox.cs: nunit no longer crashes when selecting
2331 Project/Edit menu option
2333 2006-10-25 Andreia Gaita <shana.ufie@gmail.com>
2335 * MenuAPI.cs: prevent ExecFocusedItem from blowing up if there
2336 is no menu selected. fixes #79739
2338 2006-10-25 Chris Toshok <toshok@ximian.com>
2340 * PropertyGridView.cs: factor out the splitter invalidation code
2341 into the SplitterPercent setter, and for kicks implement the
2342 Ctrl-Left/Ctrl-Right handling that moves the splitter by a small
2343 amount in either direction.
2345 2006-10-25 Chris Toshok <toshok@ximian.com>
2347 * PropertyGridView.cs: do some cleanup of the brush used to draw
2348 text - read only fields should be grayed out. not sure how to do
2349 this with the textbox, though. but the textbox's should also be
2350 readonly now at least. Also, hide/show the textbox when resizing
2353 * CursorConverter.cs: use System.Reflection when getting the
2354 properties of Cursors, as TypeDescriptor.GetProperties isn't
2355 returning static properties.
2357 2006-10-25 Chris Toshok <toshok@ximian.com>
2359 * PropertyGridView.cs: factor out the up/down handling, and reuse
2360 it for page up/down. also add End/Home support.
2362 2006-10-25 Chris Toshok <toshok@ximian.com>
2364 * PropertyGridView.cs:
2366 - ensure the selected grid item is visible in the scrolled area,
2369 - fix Keys.Down handling when you're on the last item in the
2372 2006-10-25 Mike Kestner <mkestner@novell.com>
2374 * MenuAPI.cs : set the ActiveTracker for MainMenu non-popup
2375 clicks too. Fixes #79725.
2377 2006-10-24 Chris Toshok <toshok@ximian.com>
2379 * PropertyGrid.cs: use property.Converter instead of
2380 TypeDescriptor.GetConverter(property.PropertyType), so we catch
2381 TypeConverters declared on the property as well as on the
2382 PropertyType. Fixes bug #79678.
2384 2006-10-24 Alexander Olk <alex.olk@googlemail.com>
2386 * MimeIcon.cs, Mime.cs:
2387 Fallback to the default platform handler if no shared mime info
2388 stuff exists (fixes #79693).
2390 2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
2391 * ContainerControl.cs: Incorrect contains check in ActiveControl
2392 from previous fix (duh).
2394 2006-10-20 Chris Toshok <toshok@ximian.com>
2396 * PropertyGridView.cs: the dropdown should be MIN(number of items
2397 in list, 15). Fixes #79551.
2399 2006-10-20 Andreia Gaita <shana.ufie@gmail.com>
2400 Fixes #79384, #79394, #79652, #79667
2403 - Modal windows are now destroyed in the proper order for windows
2405 * ContainerControl.cs:
2407 - ActiveControl setter has more conditions on when to return:
2408 - if we're reselecting the active control, but it actually
2409 didn't have focus (window hidden or some such), it runs
2410 - if the active control being selected doesn't actually
2411 exist in the container, it returns
2415 - The ShowDialog now gets the current form as the owner when
2416 invoking without parameters, and correctly activates the owner
2421 - MessageBox now catches the Escape key to exit
2423 2006-10-20 Chris Toshok <toshok@ximian.com>
2425 * PropertyGridView.cs: fix a number of issues (bug #78565, and
2426 most of bug #79676):
2428 - you can navigate around the property grid with the arrow keys.
2430 - the dropdown is sized properly when the pg has a vertical
2433 - fix the indentation for subentries, and properly select the
2436 - fix the gray bar's drawing (only draw it to the last element,
2437 not for the height of the control. Also make sure we draw that
2438 last horizontal grid line.
2440 - use the same mechanism the datagrid uses wrt the editing textbox
2441 when scrolling/resizing/etc. Namely, we hide it first, do the
2442 operation, then show it again (if it's still visible).
2444 - aggressively remove a lot of unnecessary refreshes (and also
2445 calls to Invalidate(). call more limited variants, and only redraw
2450 - when we're populating the merged collection, fill in the UI
2451 parent with either the passed in item, or the category item we
2454 - remove the Refresh call from the BorderHelpControl.OnSizeChanged.
2456 * GridItem.cs: drop some fully qualified names.
2458 * GridEntry.cs: add a "UIParent", which is basically the parent
2461 * GridItemCollection.cs: add an IndexOf method.
2463 2006-10-20 Mike Kestner <mkestner@novell.com>
2465 * MainMenu.cs : go back to Draw in OnMenuChanged. Until we get
2466 a working win32 NC invalidation mechanism, we can't invalidate
2467 menus. [Fixes #79705]
2469 2006-10-20 Mike Kestner <mkestner@novell.com>
2471 * ListBox.cs : don't update the VScrollbar if the list is empty,
2472 just hide it. [Fixes #79692]
2474 2006-10-20 Jackson Harper <jackson@ximian.com>
2476 * RichTextBox.cs: Handle some special chars better, and don't skip
2477 the entire group when we encounter a special char that we don't
2480 2006-10-18 Chris Toshok <toshok@ximian.com>
2482 * PropertyGridView.cs: address a number of issues from bug #79676,
2483 mostly of the cosmetic variety.
2485 - The highlight rectangle for indented items not extends all the
2488 - Indented items aren't indented so much.
2490 - the dropdown is properly sized width-wise if the pg has a
2493 2006-10-18 Chris Toshok <toshok@ximian.com>
2495 * XplatUIX11.cs (SystrayAdd): a rather convoluted change, but the
2496 systray stuff is rather convoluted to begin with.
2498 systray icons are a single window for some reason (that I haven't
2499 figured out yet), and for them, client_window == whole_window.
2500 Given the way the tests are structured elsewhere to determine
2501 which paints are pending (client vs. nc), that situation will
2502 always yield PAINT, not NCPAINT. So, if we have a pending
2503 nc_expose and no pending expose, remove the hwnd from the paint
2504 queue, and also set nc_expose_pending to false, to keep us from
2505 blocking further expose's adding the hwnd to the paint queue.
2507 phew. like i said, a rather convoluted change. Fixes the
2508 notifyicon repaint issues in bug #79645.
2510 2006-10-18 Chris Toshok <toshok@ximian.com>
2512 * Form.cs: when getting the backcolor of the form, don't get
2513 base.BackColor, as this allows parents to influence the background
2514 color. This breaks mdi forms. Instead, if the background_color
2515 is empty, return the default.
2517 2006-10-18 Chris Toshok <toshok@ximian.com>
2519 * XplatUIX11.cs: change some debug ifdefs, and return XGetParent
2520 to being private instead of internal static.
2522 * Control.cs: remove all the stupid ParentWaitingOnRecreation
2523 crap, it wasn't working for more deeply nested controls anyway,
2524 and we already have the is_recreating flag - use that instead.
2525 Before calling DestroyHandle in RecreateHandle, recurse through
2526 the control tree setting it to true. this returns the recreate
2527 code to much of its original simplicity, while now guaranteeing we
2528 actually recreate everything we're supposed to. This change gets
2529 fyireporting actually showing mdi children.
2531 2006-10-17 Chris Toshok <toshok@ximian.com>
2533 * Form.cs: remove some debug spew, and collapse some duplicate
2534 code at the end of SetClientSizeCore.
2537 - add some more debug spew here too wrt Destroy handling.
2538 - don't call hwnd.Dispose in DestroyWindow, it's effectively done
2539 in Control's handling of WM_DESTROY.
2540 - Remove the handling of zombie window DestroyNotifies from the
2541 event loop - we don't need it. Now the only DestroyNotifies we
2542 actually handle are ones generated by X.
2543 - When sending _NET_ACTIVE_WINDOW, the first param should be 1, to
2544 match gtk's (functioning) handling of this. This keep metacity
2545 from leaving droppings in the form of wm borders with no window
2546 contents all over the place.
2549 - add a bunch of debug spew wrt control recreation.
2550 - fix a bug where we weren't tracking Visible properly on
2552 - fixed the WM_PAINT double buffer handling to support re-entrant
2553 calls (yes, i know it's gross, but it's happening to us).
2555 2006-10-17 Rolf Bjarne Kvinge <rolfkvinge@ya.com>
2556 * ThemeWin32Classic.cs: changed drawing of selected days
2557 to make them look better.
2559 2006-10-16 Chris Toshok <toshok@ximian.com>
2561 * Hwnd.cs: replace the user_data/client_dc/non_client_dc with
2562 drawing_stack. Nuke the ClientDC/NonClientDC properties.
2564 * XplatUIX11.cs: move away from using hwnd.client_dc and
2565 hwnd.non_client_dc and on to a stack of dc's (and in window's
2566 case, PAINTSTRUCT's), so we can deal with nested Paint calls
2567 without puking or not disposing of Graphics objects.
2569 * XplatUIOSX.cs: same.
2571 * XplatUIWin32.cs: same.
2573 2006-10-03 Alexander Olk <alex.olk@googlemail.com>
2575 * FileDialog.cs: Don't call on_directory_changed inside
2576 OnSelectedIndexChanged (it changes the SelectedIndex too).
2577 Instead move it to OnSelectionChangeCommitted.
2579 2006-10-13 Chris Toshok <toshok@ximian.com>
2581 * XplatUIX11.cs: more Destroy work. the current code does the
2582 following things, in order:
2584 1. Enumerates all handles of all controls at or below the one
2585 being destroyed, in pre-order. As it is doing this, it marks the
2586 handles as zombie and clears all references to them.
2588 2. calls XDestroyWindow on the window passed in.
2590 3. SendMessage's WM_DESTROY to all he handles in the accumulated
2593 2006-10-13 Chris Toshok <toshok@ximian.com>
2595 * XplatUIX11.cs: set hwnd.zombie to true before calling
2596 SendMessage (WM_DESTROY). this keeps us from marking the new
2597 window a zombie, and also keeps us from calling sendmessage at
2600 2006-10-13 Jackson Harper <jackson@ximian.com>
2602 * TextControl.cs: Do not show the caret and selection at the same
2603 time. Reduces ugliness by 35%.
2605 2006-10-13 Chris Toshok <toshok@ximian.com>
2607 * XplatUIX11.cs (SendWMDestroyMessages): set the hwnd to be a
2608 zombie after we do the recursive call, so we actually do call
2609 SendMessage on the children controls.
2610 (GetMessage): if we find a pending paint event for a zombie hwnd,
2611 remove the hwnd from the paint queue, or else it will always be
2612 there (and we'll effectively loop infinitely)
2614 2006-10-13 Mike Kestner <mkestner@novell.com>
2616 * MenuItem.cs : add Selected format under keynav too.
2619 2006-10-13 Gert Driesen <drieseng@users.sourceforge.net>
2621 * PropertyGrid.cs: Fixed some NRE's and small difference between our
2622 implementation and that of MS.
2624 2006-10-13 Chris Toshok <toshok@ximian.com>
2626 * Control.cs (OnInvalidated) only futz with the invalid_region if
2627 the control is double buffered. this fixes the apparent hang in
2628 the ListView unit tests. Someone needs to make the
2629 BeginEndUpdateTest not call OnInvalidated 15004 times, though..
2631 2006-10-13 Chris Toshok <toshok@ximian.com>
2633 * PropertyGridView.cs:
2635 - do a little refactoring so that only one place calls
2636 dropdown_form.Hide, and that is CloseDropDown. make everywhere
2637 else call that. Also make it Refresh, since there are redraw bugs
2638 otherwise (we should take a look at that...)
2640 - do a little more refactoring work to share the body of code
2641 involved with the drop down. it was duplicated in the code
2642 dealing with the listbox handling and in the code dealing with the
2645 - add a Capture to the dropdown form's control once it's
2646 displayed, and add a MouseDown handler that checks to make sure
2647 the position is inside the control. If it's not, close the
2648 dropdown. This fixes #78190.
2650 - in SetPropertyValueFromUITypeEditor, only call SetPropertyValue
2651 if the value is different than the initial value.
2653 2006-10-13 Andreia Gaita <shana.ufie@gmail.com>
2655 * Control.cs: see #78650
2656 - Fixed GetNextControl for several cases:
2657 - Changed FindFlatForward to return
2658 correct sibling control when more than one
2659 control has same TabIndex as the currently
2661 - Changed FindFlatBackward to loop children
2662 from last to first and apply same logic as in
2664 - Changed FindControlForward to search for
2665 children when control is not a container
2666 but has children, or search for siblings if
2667 control is a container...
2668 - Changed FindControlBackward to continue
2669 searching for child controls when hitting
2672 - Fixed Focus method to update ActiveControl
2673 (FocusTest.FocusSetsActive failure)
2676 - Focus rectangle now refreshes when gaining
2678 - Removed grab for Tab key on IsInputKey that
2679 was keeping tab navigation from working (#78650)
2681 2006-10-13 Chris Toshok <toshok@ximian.com>
2683 * PropertyGridView.cs:
2684 - Rewrite SetPropertyValue to loop over SelectedGridItem's
2687 - Deal with GridItem.Value == null a few places.
2690 - replace the PopulateGridItemCollection with a pair of methods
2691 which compute the intersection of all the properties in the
2692 SelectedObjects array. Fixes #79615.
2694 - Throw ArgumentException from set_SelectedObjects if there's a
2697 - Add GetTarget method which can be used to traverse up the
2698 GridItem.Parent chain. It depends on the assumption that
2699 selected_objects for different GridEntries are always in the same
2700 order (a safe assumption). Use this method and loop over all the
2701 selected objects in the entry when calling RemoveValueChanged and
2704 * GridEntry.cs: Make this handle multiple selected objects.
2705 .Value returns null if not all the selected objects share the same
2708 2006-10-12 Jonathan Pobst <monkey@jpobst.com>
2709 * ToolStrip.cs, ToolStripButton.cs, ToolStripComboBox.cs,
2710 ToolStripControlHost.cs, ToolStripItem.cs, ToolStripLabel.cs,
2711 ToolStripProfessionalRenderer.cs, ToolStripProgressBar.cs,
2712 ToolStripSeparator.cs, ToolStripSplitStackLayout.cs,
2713 ToolStripTextBox.cs: Add accessibility, fix attributes/API and
2714 add additional functionality.
2716 2006-10-12 Mike Kestner <mkestner@novell.com>
2718 * ErrorProvider.cs : new ToolTipWindow ctor sig.
2719 * HelpProvider.cs : new ToolTipWindow ctor sig.
2720 * ToolTip.cs : remove ToolTip param from Window sig since it is
2722 * ToolBar.cs : add tooltip support. Fixes #79565.
2724 2006-10-12 Rolf Bjarne Kvinge <rolfkvinge@ya.com>
2726 * ComboBox.cs: move the events in set_SelectedIndex to
2727 after the call to HighlightIndex in order to avoid
2728 possible recursion and subsequent problems with the call
2729 to HighlightIndex and include a range check in
2730 set_HighlightIndex. Fixes #79588
2732 2006-10-12 Rolf Bjarne Kvinge <rolfkvinge@ya.com>
2734 * MonthCalendar.cs: When FirstDayOfWeek is default set firstday
2735 to ui thread's settings instead of sunday.
2736 * ThemeWin32Classic.cs: Localize the day string. Fixes #79563
2738 2006-10-12 Rolf Bjarne Kvinge <rolfkvinge@ya.com>
2742 * ThemeWin32Classic.cs: rewrote DateTimePicker to fix bug #78364
2743 and implement missing functionality (selecting different parts
2744 of the date and edit them individually with the keyboard).
2746 2006-10-11 Chris Toshok <toshok@ximian.com>
2748 * Control.cs (OnInvalidated): fix NRE relating to last change.
2750 2006-10-11 Chris Toshok <toshok@ximian.com>
2752 * XplatUIX11.cs (SetWMStyles): make sure we include the MAXIMIZED
2753 atoms in _NET_WM_STATE here if the window is maximized. We need
2754 to do this because we're *replacing* the existing _NET_WM_STATE
2755 property, so those atoms will be lost otherwise, and any further
2756 call to GetWindowState will return Normal for a window which is
2757 actually maximized. Fixes #79338.
2759 2006-10-11 Jackson Harper <jackson@ximian.com>
2761 * TextControl.cs: Special case for setting selection end to
2762 selection start, we basically kill the anchor.
2763 - some todo comments.
2765 2006-10-11 Chris Toshok <toshok@ximian.com>
2767 * Control.cs: switch to using an "invalid_region" to track which
2768 parts of the image buffer need updating. This is more code than
2769 the simple fix from r66532. That version just attempted to always
2770 fill the entire buffer on redraw, which turns out to be
2771 inefficient when invalidating small rectangles. This version
2772 simply adds the invalid rectangle to the invalid region. When we
2773 get any WM_PAINT message we see if it can be filled using the
2774 image buffer, and if it can't (if the paint event's clip rectangle
2775 is visible in the invalid region) we first fill the image buffer.
2776 So, the image buffer is still a cache, we just fill it lazily.
2778 * PaintEventArgs.cs: remove the SetClipRectangle method, we don't
2781 2006-10-11 Chris Toshok <toshok@ximian.com>
2783 * XplatUIX11.cs (SetWindowPos): we need to update both position as
2784 well as size after calling XMoveResizeWindow. This keeps us from
2785 ignoring future SetWindowPos calls. Fixes the disappearing
2786 DateTimePicker in the ToolBarDockExample from bug #72499.
2788 2006-10-11 Chris Toshok <toshok@ximian.com>
2790 * TextBoxBase.cs: reorder things a bit when it comes to
2791 resizing-causing-recalculation. we were recalculating the
2792 document when our position was changed, which shouldn't happen.
2793 We only care about size changes. Clear up some more redundant
2794 recalculation calls while I'm at it. This makes the toolbar dock
2795 example snappy when you're just dragging toolbars around (since it
2796 causes a relayout whenever you move one.)
2798 2006-10-11 Chris Toshok <toshok@ximian.com>
2800 * ToolBarButton.cs (get_Rectangle): this only returns
2801 Rectangle.Empty if Visible == false, or Parent == null.
2802 Parent.Visible doesn't matter.
2804 2006-10-10 Chris Toshok <toshok@ximian.com>
2806 * Control.cs, PaintEventArgs.cs: "internal set { .. }" isn't loved
2807 by .net 1.1, so switch to an internal method instead.
2809 2006-10-10 Chris Toshok <toshok@ximian.com>
2811 * Control.cs (WM_PAINT): when a control is double buffered we draw
2812 initially to the ImageBuffer and then copy from there. But when a
2813 parent control which has child controls is double buffered, the
2814 initial drawing doesn't encompass the entire ClientRectangle of
2815 the parent control, so we end up with uninitialized bits (this is
2816 easily seen by dragging the top toolbar in
2817 wf-apps/ToolBarDockExample to the right, quickly). The fix is to
2818 manually set the ClipRectangle of the paint_event (only the one we
2819 use to populate the ImageBuffer) to ClientRectangle. Fixes more
2820 of the nastiness in bug #72499.
2822 * PaintEventArgs.cs: Add an internal setter for ClipRectangle,
2823 which we use in Control.cs's WM_PAINT handling.
2825 2006-10-10 Jackson Harper <jackson@ximian.com>
2827 * TextBoxBase.cs: Finish off the autoscrolling stuff.
2829 2006-10-10 Chris Toshok <toshok@ximian.com>
2831 * Cursor.cs: Apply a slightly different patch to the one suggested
2834 2006-10-10 Jackson Harper <jackson@ximian.com>
2836 * MenuItem.cs: Make sure to put the mdi child in the hashtable,
2837 not the parent form.
2838 * TextControl.cs: use difference in old line count vs new count to
2839 calculate how many lines were added, this takes into account soft
2840 line breaks properly.
2842 2006-10-10 Chris Toshok <toshok@ximian.com>
2844 * LinkLabel.cs: don't call MeasureCharacterRanges against a
2845 rectangle located at 0,0 and the size of the text. Use
2846 ClientRectangle instead. This fixes rendering of non-left aligned
2849 2006-10-10 Jackson Harper <jackson@ximian.com>
2851 * TextBoxBase.cs: When we set the selection start position the
2853 * TextControl.cs: Need to update the caret when we decrement it to
2855 - Make sure that the selection_visible flag gets reset to false if
2856 the selection isn't visible. Before this you could get it set to
2857 visible by changing the selection start, then changing the end to
2860 2006-10-09 Jackson Harper <jackson@ximian.com>
2862 * TreeView.cs: Don't update scrollbars when we aren't visible.
2863 * TreeNodeCollection.cs: Only need to update scrollbars if being
2864 added to an expanded visible node or the root node.
2866 2006-10-09 Chris Toshok <toshok@ximian.com>
2868 * XplatUIX11.cs (SendMessage): fix NRE.
2870 2006-10-09 Jackson Harper <jackson@ximian.com>
2872 * TextBoxBase.cs: Implement horizontal autoscrolling.
2873 * TextControl.cs: Add a movement types that allows moving forward
2874 and backwards without wrapping.
2876 2006-10-09 Mike Kestner <mkestner@novell.com>
2878 * ListViewItem.cs : layout changes for wrapped LargeIcon labels
2879 with focus "expansion" of labels. Fixes #79532 and then some.
2880 * ThemeWin32Classic.cs : add LineLimit to ListView label format
2883 2006-10-09 Jackson Harper <jackson@ximian.com>
2885 * TextBoxBase.cs: Set the default max values to MaxValue since
2886 we use the scrollbar for autoscrolling and the default value is
2887 100. If we don't do this the caret won't keep up with typing
2888 after about 18 characters.
2889 * TextControl.cs: Make sure the selection is offset by the
2890 viewport x. This fixes selection when using auto scrolling.
2892 2006-10-07 Andreia Gaita <shana.ufie@gmail.com>
2894 * Form.cs: The active control should be selected after the
2895 OnLoad so that any child control initialization that affects
2896 the selection is done. Fixes #79406
2898 2006-10-06 Chris Toshok <toshok@ximian.com>
2900 * XplatUIX11.cs: This is perhaps a dangerous change, but it seems
2901 to have no evil effects.
2903 - Stop selecting StructureNotifyMask on non-toplevel windows.
2905 The only way children should be resized is by using the SWF api,
2906 and we already send WM_WINDOWPOSCHANGED messages in those cases.
2907 Toplevel windows can be interacted with via the window manager,
2908 and so we keep the input mask there.
2910 The other event StructureNotifyMask gives us (that we care
2911 about) is DestroyNotify. The code is already structured such
2912 that it assumes we won't be getting a DestroyNotify event for
2913 the window we pass to XDestroyWindow (which is what
2914 StructureNotifyMask is supposed to guarantee.) So, that code
2915 shouldn't be affected by this either.
2917 - Stop selecting VisibilityChangeMask altogether.
2919 We weren't doing anything with the resulting events anyway.
2921 This vastly reduces the number of X requests and events we see
2922 when resizing/laying out a large ui.
2924 2006-10-06 Chris Toshok <toshok@ximian.com>
2926 * ScrollableControl.cs (DisplayRectangle): we need to take into
2927 account the DockPadding regardless of whether or not auto_scroll
2928 == true. rework this slightly to this effect, and fix bug #79606,
2929 and part of #72499 (you can now see the drag handles and drag
2932 2006-10-06 Gert Driesen <drieseng@users.souceforge.net>
2934 * ListViewItem.cs: Collections of selected and checked items are now
2935 dynamically rebuilt. Whenever an item is (un)checked or (de)selected
2936 we mark the collection "dirty".
2937 * ListView.cs: Marked collections readonly. Modified UpdateSelection
2938 to only clear SelectedItems when a new item is selected and MultiSelect
2939 is enabled. CheckedItems and SelectedItems now subscribe to Changed
2940 event of ListViewItemCollection, and mark its list dirty whenever
2941 that event is fire. This allows us to return selected/checked items
2942 in the same order as they are in the Items collection. This matches
2945 2006-10-06 Chris Toshok <toshok@ximian.com>
2947 * NotifyIcon.cs (HandleMouseUp): only show the context menu on
2948 right mouse clicks. Fixes bug #79593.
2950 2006-10-06 Chris Toshok <toshok@ximian.com>
2952 * Splitter.cs: doh, fix splitters that don't want to cancel the
2953 movement when you drag them. Also, impose the limits on the
2954 values we send to the SplitterMovingEvent. Fixes #79598.
2956 2006-10-06 Jackson Harper <jackson@ximian.com>
2958 * TextBoxBase.cs: Ignore whether or not the scrollbar is enabled,
2959 since we use this for auto scrolling also.
2961 2006-10-05 Chris Toshok <toshok@ximian.com>
2963 * DataGridBoolColumn.cs: Nuke the code from ConcedeFocus. I'm
2964 beginning to think that most datagrid column types don't need this
2965 method. Fixes bug #79392.
2967 2006-10-05 Chris Toshok <toshok@ximian.com>
2969 * DataGrid.cs: move back to a more lazy scheme for creating the
2970 CurrencyManager, so we aren't updating it every time you set
2971 either DataSource or DataMember. Also, don't call
2972 RecreateDataGridRows if the currency manager hasn't changed.
2974 2006-10-05 Chris Toshok <toshok@ximian.com>
2976 * ComboBox.cs: by the time the OnSelectionChangeCommitted event is
2977 emitted, SelectedIndex should already be updated. Fixes bug
2980 2006-10-05 Jonathan Pobst <monkey@jpobst.com>
2982 * ToolStripComboBox.cs, ToolStripControlHost.cs, ToolStripProgressBar,
2983 ToolStripTextBox.cs: Initial commit.
2984 * ToolStripItem.cs: Fixes for OnLayout, BackColor, Parent.
2986 2006-10-05 Jackson Harper <jackson@ximian.com>
2988 * TabControl.cs: We need to invalidate the tab control area when
2989 new ones are added (duh).
2991 2006-10-03 Chris Toshok <toshok@ximian.com>
2993 * Form.cs (ProcessDialogKey): if the focused control is in this
2994 form and is a button, call its PerformClick method here. Fixes
2997 2006-10-04 Jackson Harper <jackson@ximian.com>
2999 * TabPage.cs: Ignore setting of Visible, and add an internal
3000 method for setting the controls visibility. TabPage's Visible
3001 property is a little strange on MS, this seems to make us
3002 compatible, and fixes cases where people set all the tab pages to
3004 * TabControl.cs: Use the new internal setting on tab pages
3007 2006-10-03 Mike Kestner <mkestner@novell.com>
3009 * ComboBox.cs : raise Click on ComboTextBox clicks. Fixes #79555.
3011 2006-10-03 Mike Kestner <mkestner@novell.com>
3013 * ListView.cs : use is_visible instead of Visible to check if
3014 scrollbars should be placed/sized. Also some max_wrap_width
3015 love for LargeIcon view. [Fixes #79533]
3017 2006-10-03 Atsushi Enomoto <atsushi@ximian.com>
3020 Make set_TextAlign() do actually update the align. Fixed #78403.
3022 2006-10-03 Chris Toshok <toshok@ximian.com>
3024 * DataGrid.cs: fix a crash when switching datasources if the
3025 vertical scrollbar is at someplace other than Value = 0. Also,
3026 reduce the number of recalculation passes we do in SetDataSource
3029 2006-10-03 Jackson Harper <jackson@ximian.com>
3031 * TextBoxBase.cs: Move the if value the same bail check up, we
3032 don't want to empty the document if it is already empty, this
3033 seems to severly mess up the caret. TODO: I should probably fix
3034 the empty statement to update teh caret somehow.
3036 2006-10-03 Chris Toshok <toshok@ximian.com>
3038 * ThemeWin32Classic.cs, DataGrid.cs: some changes so that the
3039 incredibly hacky Windows.Forms FAQ autosize rows entry (it uses
3040 reflection, an internal row type, properties on said type, etc.)
3041 will work with our datagrid. Fixes #79531.
3043 2006-10-03 Alexander Olk <alex.olk@googlemail.com>
3045 * FileDialog.cs: Don't crash if a path is not accessible
3046 (System.UnauthorizedAccessException). Fixes #79569.
3047 * MimeIcon.cs: Workaround for a Uri bug. Unix paths/files can have
3048 a ':' too. Return unknown icon for those paths/files.
3050 2006-10-03 Sebastien Pouliot <sebastien@ximian.com>
3052 * ToolTip.cs: Fix rare, but possible, NRE on MouseEnter when
3053 GetContainerControl returns null.
3055 2006-10-02 Chris Toshok <toshok@ximian.com>
3057 * XplatUIX11.cs (GetWindowState): use hwnd.client_window in the
3058 call to XGetWindowAttributes instead of "handle". fixes an X
3059 error using notifyicon after the NotifyIconWindow to Form base
3062 2006-10-02 Chris Toshok <toshok@ximian.com>
3064 * XplatUIX11.cs (QueryPointer): new function, encapsulating the
3065 server grab and looping we need to do to get down to the most
3066 deeply nested child window.
3067 (SetCursorPos): use QueryPointer instead of GetCursorPos, and call
3068 QueryPointer again after the WarpPointer so we can generate a
3069 proper (fake) MotionNotify event to be enqueued in the destination
3071 (GetCursorPos): call QueryPointer.
3075 2006-10-02 Jackson Harper <jackson@ximian.com>
3077 * NotifyIcon.cs: Derive the notify icon from a form, so things
3078 like FindForm work on it.
3079 - Swallow the WM_CONTEXTMENU message, since that is generated on
3080 mouse down, and context menu is a mouse up kinda guy. I believe
3081 the correct fix here is probably to make the notify icon entirely
3082 NC area, but this seems to work fine for anyone not manipulating
3085 2006-10-02 Jonathan Pobst <monkey@jpobst.com>
3087 * ToolStrip.cs, ToolStripButton.cs, ToolStripItem.cs,
3088 ToolStripItemCollection.cs, ToolStripLabel.cs,
3089 ToolStripProfessionalRenderer.cs, ToolStripRenderer.cs,
3090 ToolStripSeparator.cs, ToolStripSplitStackLayout.cs:
3091 Initial implementation.
3092 * TextRenderer.cs: Provide padding to MeasureText.
3094 2006-10-02 Sebastien Pouliot <sebastien@ximian.com>
3096 * ButtonBase.cs: Fix CreateAccessibilityInstance to return an instance
3097 of ButtonBaseAccessibleObject. Fix bug #79552.
3099 2006-10-02 Jackson Harper <jackson@ximian.com>
3101 * MdiWindowManager.cs: When maximizing use the containers client
3102 rect, not it's bounds, so nc area is accounted correctly.
3103 - Use the parent form's size for the menu position, since the
3104 client isn't always the full form size.
3106 2006-10-01 Chris Toshok <toshok@ximian.com>
3108 * ScrollableControl.cs: make sure neither right_edge or
3109 bottom_edge are < 0, since they're used as LargeChange for the
3110 horiz/vert scrollbars respectively. Fixes #79539.
3112 2006-10-01 Chris Toshok <toshok@ximian.com>
3114 * NotifyIcon.cs: add NotifyIconWindow.InternalRecreateHandle, so
3115 the xplatuix11 code can cause us to destroy/recreate our handle.
3119 - this code can be invoked many times for the same Hwnd. Make
3120 sure we only destroy the client window once (the first time this
3121 method is called). This fixes bug #79544.
3122 - Remove the call to the improperly bound XSync. why we had two
3123 bindings to this, I will never know, but this call resulted in
3124 events being discarded from the queue(!).
3125 - correct a misunderstanding of _XEMBED_INFO - the second atom is
3126 not our current state but the state we wish to be in. So, 0 if
3127 we don't want to be mapped. Change it to 1.
3128 (SystrayRemove): The XEMBED spec makes mention of the fact that
3129 gtk doesn't support the reparent of client windows away from the
3130 embedder. Looking at gtksocket-x11.c seems to agree with this.
3131 The only avenue we have for removing systray icons is to destroy
3132 them. We don't want the handle to go away for good, though, so
3133 call InternalRecreateHandle on the NotifyIconWindow. Fixes
3136 2006-10-01 Chris Toshok <toshok@ximian.com>
3138 * Form.cs (WndProc): inline the native_enabled variable usage into
3139 the cases in which it's used. Fixes #79536.
3141 2006-09-29 Mike Kestner <mkestner@novell.com>
3143 * ListView.cs : toggle the selection state for ctrl clicks in
3144 multiselect mode. [Fixes #79417]
3146 2006-09-29 Mike Kestner <mkestner@novell.com>
3148 * ListView.cs : kill CanMultiSelect and refactor the selection
3149 code to support multiselection in the absence of mod keys. Steal
3150 arrow/home/end keys by overriding InternalPreProcessMessage to
3151 restore regressed keynav behavior.
3154 2006-09-29 Jackson Harper <jackson@ximian.com>
3156 * MdiClient.cs: Repaint the titlebars when the active window is
3159 2006-09-29 Chris Toshok <toshok@ximian.com>
3161 * Application.cs: when entering a runloop with a modal, make sure
3162 the hwnd is enabled. Fixes #79480.
3164 2006-09-29 Chris Toshok <toshok@ximian.com>
3166 * DataGrid.cs (CurrentCell): if we try to navigate to the add row
3167 when ListManager.CanAddRows == false, bump us back one.
3169 * DataGridColumnStyle.cs (ParentReadOnly): remove the
3170 listmanager.CanAddRows check. This makes ArrayLists uneditable
3171 using a datagrid, which is not right.
3172 (SetColumnValueAtRow): call IEditable.BeginEdit if source[rowNum]
3173 is an IEditable, but call property_descriptor.SetValue regardless.
3176 2006-09-29 Chris Toshok <toshok@ximian.com>
3178 * DataGridBoolColumn.cs: we need to test equality in the face of
3179 possible null values (as is the case with the default NullValue).
3180 This patch keeps us from crashing in that case.
3182 2006-09-29 Jackson Harper <jackson@ximian.com>
3184 * TreeNodeCollection.cs: Don't do a recalculate/updatescrollbars
3185 here, since it will get called for every node collection in the
3186 tree. This is now done in the treeview once the sorting is
3188 * TreeView.cs: Recalculate the visible order, and update the
3189 scrollbars after sorting, set the top nope to the root so that the
3190 recalc actually works.
3192 2006-09-29 Chris Toshok <toshok@ximian.com>
3194 * LinkLabel.cs: more handling of the default link collection in
3195 the face of LinkArea manipulation. The default link collection
3196 contains 1 element (start=0,length=-1). If the user sets LinkArea
3197 to anything and the links collection is the default, clear it.
3198 Then only add the link if its nonempty. Fixes #79518.
3200 2006-09-29 Chris Toshok <toshok@ximian.com>
3202 * LinkLabel.cs (CreatePiecesFromText): calculate the length of a
3203 piece correctly when we hit a '\n'. Fixes #79517.
3205 2006-09-29 Chris Toshok <toshok@ximian.com>
3207 * MimeIcon.cs, ThemeGtk.cs, X11DesktopColors.cs, XplatUIX11GTK.cs:
3208 change the binding of gdk_init_check to take two IntPtr's, and
3209 pass IntPtr.Zero for both of them. Fixes #79520.
3211 2006-09-29 Mike Kestner <mkestner@novell.com>
3213 * ComboBox.cs : raise TextChanged on ComboTextBox.TextChanged.
3216 2006-09-28 Jackson Harper <jackson@ximian.com>
3218 * XplatUIX11.cs: When translating NC messages make sure we go from
3219 whole window to screen, not client window to screen.
3220 * MdiClient.cs: Remove the calls to PaintWindowDecorations, this
3221 method doesn't exist
3222 - Skip over controls that aren't forms when arranging.
3224 2006-09-28 Jackson Harper <jackson@ximian.com>
3226 * XplatUIWin32.cs: Clip the rect to the parent window.
3227 * XplatUIStructs.cs: Add clipping modes struct.
3228 * InternalWindowManager.cs: New private method that factors title
3229 bar heights in when calculating the pos of an NC mouse message.
3230 - Use SendMessage to force a paint when the form's size is changed
3231 instead of painting the decorations immediately.
3232 - Don't let the NC button click messages get to DefWndProc,
3233 because they will attempt to handle windowing themself, and this
3234 messes up z-order (it will put them in front of the scrollbars).
3235 * XplatUIX11.cs: Make sure that we don't reset window managers if
3236 we already have one (ie the window is an MDI window).
3238 2006-09-28 Chris Toshok <toshok@ximian.com>
3240 * MainMenu.cs: fix #79405 by way of a disgusting hack. all the
3241 menu code really needs going over.
3243 2006-09-27 Chris Toshok <toshok@ximian.com>
3245 * XplatUIX11.cs (SetWMStyles): more metacity wonderment. turns
3246 out metacity ignores the MAXIMIZE_HORZ/VERT messages unless the
3247 window is maximizable. So, we need to make sure that even if we
3248 clear the border/wm frame of those functions, they're still
3249 available (basically, we remove the decoration without removing
3250 the function). Half the fix for #79338.
3252 2006-09-27 Chris Toshok <toshok@ximian.com>
3254 * DataGrid.cs (ProcessGridKey): implement Shift-Tab handling.
3257 2006-09-27 Chris Toshok <toshok@ximian.com>
3259 * Splitter.cs: reorder things a bit so that we don't actually
3260 draw/move the splitter until after calling OnSplitterMoving. This
3261 lets users cancel/disallow the movement by explicitly setting
3262 event.SplitX/SplitY. Fixes #79372.
3264 2006-09-27 Jackson Harper <jackson@ximian.com>
3266 * XplatUIX11.cs: Don't hide the caret when it is being destroyed,
3267 because it is most likely on a window being destroyed, and that
3268 will give us an X11 error.
3270 2006-09-27 Chris Toshok <toshok@ximian.com>
3272 * PropertyGridView.cs: half of the fix for #78190. Clicking on
3273 the dropdown button now toggles between showing and hiding the
3274 dropdown. Also, get rid of dropdown_form_showing and just use
3275 dropdown_form.Visible. We still don't do a grab, but I'll leave
3276 that part to someone who has handled Capture-fu before.
3278 2006-09-27 Chris Toshok <toshok@ximian.com>
3280 * DataGrid.cs: return false if alt isn't pressed when '0' is
3281 pressed. this keeps the '0' key from being swallowed, and fixes
3284 2006-09-27 Chris Toshok <toshok@ximian.com>
3286 * ComboBox.cs: use Invalidate when scrolling the dropdown list.
3287 Calling Refresh (in response to a scrollbar event) screws up the
3288 scrollbar painting. Fixes bug #78923.
3290 2006-09-27 Chris Toshok <toshok@ximian.com>
3292 * Theme.cs (SystemResPool): make the "if hashtable[key] == null
3293 then insert into hashtable" blocks threadsafe.
3295 2006-09-27 Chris Toshok <toshok@ximian.com>
3297 * MessageBox.cs (CreateParams): the styles should be |'ed with our
3298 baseclass's, since otherwise the
3299 ControlBox/MinimizeBox/MaximizeBox assignments above have no
3300 effect. This gets the close button back in messageboxes.
3302 2006-09-27 Chris Toshok <toshok@ximian.com>
3304 * XplatUIX11.cs: make StyleSet and ExStyleSet check == with the
3305 flag, not just != 0. this makes flags that are actually multiple
3306 bits (like WS_CAPTION) work. fixes bug #79508.
3308 2006-09-27 Jordi Mas i Hernandez <jordimash@gmail.com>
3310 * PageSetupDialog.cs: add support for getting and settings the
3311 paper size, source and orientation.
3313 2006-09-26 Chris Toshok <toshok@ximian.com>
3315 * XplatUIX11.cs (SetWMStyles): turns out when SYSMENU is not set
3316 and caption == "", we need to remove the resize handles as well as
3319 * Control.cs (set_Text): turns out that setting Text on a form
3320 should change the WM styles on the window, since if ControlBox ==
3321 false, the only way to get a window border is to have a non-""
3322 Text property. check winforms/forms/text.cs for an example. so,
3323 call both XplatUI.SetWindowStyle and XplatUI.Text here to properly
3324 update both window styles and title. This fixes a lot of dialogs
3325 (including the preferences dialog in MonoCalendar.)
3327 2006-09-26 Chris Toshok <toshok@ximian.com>
3329 * XplatUIWin32.cs (SetParent): if parent == IntPtr.Zero (and the
3330 control isn't a Form), call Win32ShowWindow to hide the window,
3331 but don't update the control Visible property. When we reparent
3332 back to a parent control, call SetVisible in order for the
3333 window's visibility to be reinstated.
3335 * XplatUIX11.cs (SetParent): if hwnd.parent == null, reparent to
3338 * Control.cs (ControlCollection.Remove): remove that value.Hide()
3339 call for good, since it breaks MonoCalendar (and other things I'm
3340 sure.) Also, set all_controls to null *after* the owner calls,
3341 which end up regenerating it.
3342 (ChangeParent): allow new_parent to be == null, passing
3343 IntPtr.Zero down to XplatUI.
3345 this fixes #79294 the right way.
3347 2006-09-26 Mike Kestner <mkestner@novell.com>
3349 * GridEntry.cs : internal SetParent method.
3350 * PropertyGrid.cs : attach to property changed on the proper
3351 target if we have a hierarchical grid with subobjects. Setup
3352 GridItem.Parent for hierarchical items.
3353 * PropertyGridView.cs : Set value on the correct target for
3354 hierarchical grids. [Fixes #78903]
3356 2006-09-26 Chris Toshok <toshok@ximian.com>
3358 * Control.cs (ChildNeedsRecreating): this should return true if
3359 either we're being recreated and the child is in our list, or our
3360 parent is waiting for our recreation.
3362 2006-09-26 Chris Toshok <toshok@ximian.com>
3364 * Control.cs (ControlCollection.Remove): reinstate the
3365 value.Hide() call as suggested in bug #79294.
3367 2006-09-26 Sebastien Pouliot <sebastien@ximian.com>
3369 * XplatUIX11.cs: Fixed SetCursorPos to move the cursor to screen
3370 coordinates (versus a relative move).
3372 2006-09-26 Chris Toshok <toshok@ximian.com>
3374 * Control.cs: rework child recreation a little bit. It turns out
3375 that we race between the DestroyNotify the WM_DESTROY message. If
3376 the parent gets its DestroyNotify before the child gets the
3377 WM_DESTROY message, the child ends up not recreating (since the
3378 parent finishes its recreation on DestroyNotify, and the child
3379 checks ParentIsRecreating.)
3381 So, instead we store off a list of all the child controls which
3382 need to be recreated when the parent control starts to recreate
3383 itself. Then, when child controls get their WM_DESTROY message we
3384 check to see if they're in the parent's pending recreation list,
3385 and if so, we recreate. This removes all dependency on ordering
3386 from the code and fixes the initial MonoCalendar upgrade dialog.
3388 2006-09-26 Jackson Harper <jackson@ximian.com>
3390 * TextControl.cs: Use the Line to get the length of the line,
3391 since soft line breaks can change the end line.
3393 2006-09-26 Chris Toshok <toshok@ximian.com>
3395 * Control.cs (ControlCollection.AddImplicit): don't add the
3396 control again if it's already in one of our lists. This keeps us
3397 from adding controls over and over again for comboboxes when their
3398 handle gets recreated (as the combobox adds implicit controls in
3399 OnHandleCreated). Fixes the X11 errors in bug #79480.
3401 2006-09-26 Jackson Harper <jackson@ximian.com>
3403 * TextControl.cs: When deleting characters make sure that any
3404 orphaned zero lengthed tags get deleted.
3405 - Fix ToString for zero lengthed tags.
3407 2006-09-25 Jackson Harper <jackson@ximian.com>
3409 * TextControl.cs: When getting a tag at the location there can be
3410 multiple tags at the same spot, these are 0-lengthed tags that
3411 appear when extra formatting has been stuck in a location. We
3412 need to pull out the last of these 0 lengthed tags.
3414 2006-09-25 Jackson Harper <jackson@ximian.com>
3416 * TextControl.cs: Fix print out in debug method.
3417 * TextBoxBase.cs: When text is set bail if we are setting to the
3420 2006-09-24 Alexander Olk <alex.olk@googlemail.com>
3422 * FontDialog.cs: Fixed the up/down arrow keys issue from bug #79478.
3423 It is now possible to change the selected index in a FontXXXListBox
3424 with the up and down arrow keys from the FontXXXTextBoxes.
3425 Also, send the FontXXXTextBox mouse wheel event to the corresponding
3426 FontXXXListBoxes to match ms.
3428 2006-09-22 Sebastien Pouliot <sebastien@ximian.com>
3430 * SystemInformation.cs: Return a clone of the theme's MenuFont because
3431 anyone can dispose it, anytime. All other properties returns enums,
3432 structs or basic types so they don't need such tricks.
3434 2006-09-22 Jackson Harper <jackson@ximian.com>
3441 * XplatUIDriver.cs: Update interface to add a primary selection
3442 flag, so the driver can use the primary selection buffer if
3444 * XplatUIX11.cs: Allow the clipboard to retrieve from PRIMARY.
3446 * RichTextBox.cs: We need to supply the data object to paste now
3447 (so we can choose to supply CLIPBOARD or PRIMARY).
3448 * TextBoxBase.cs: Supply data object to paste (see above).
3449 - Middle click uses the primary selection data object.
3451 2006-09-21 Chris Toshok <toshok@ximian.com>
3453 * XplatUIX11.cs: first little cleanup of the StyleSet (...) block
3454 of SetWMStyles. It's still a rat's nest and is largely
3455 order-dependent which I dislike immensely. This also fixes the X
3456 button disappearing from toplevel forms.
3458 2006-09-21 Mike Kestner <mkestner@novell.com>
3460 * ListBox.cs: move Jordi's click/dblclick raising code to the
3463 2006-09-21 Jordi Mas i Hernandez <jordimash@gmail.com>
3465 * ListBox.cs: Fixes 79450
3467 2006-09-21 Mike Kestner <mkestner@novell.com>
3469 * TreeView.cs: guard against disposed conditions in UpdateScrollbars
3470 to deal with people updating the TreeNodeCollection after the tree
3471 is disposed. "Fixes" 79330.
3473 2006-09-20 Jackson Harper <jackson@ximian.com>
3475 * TextControl.cs: Push the cursor record onto the undo stack
3476 before the delete action. This fixes 78651.
3478 2006-09-20 Jonathan Chambers <joncham@gmail.com>
3480 * PropertyGridView.cs: Remove WindowStyles.WS_VISIBLE from
3481 CreateParams. Fixes 79329.
3483 2006-09-19 Chris Toshok <toshok@ximian.com>
3485 * XplatUIX11.cs: a couple of blanket code massage passes to clean
3486 things up a bit. First, get rid of the NetAtoms array (and the NA
3487 enum), and just embed the atoms as static fields. Also, add a
3488 couple of functions (StyleSet and ExStyleSet) to clean up all the
3489 bitmask testing of styles.
3491 * X11Structs.cs: remove the NA enum, not needed anymore.
3493 2006-09-19 Chris Toshok <toshok@ximian.com>
3495 * XplatUIX11.cs: apply Alexander's tool window fix for bug #79245
3496 (mapping them to _NET_WM_WINDOW_TYPE_UTILITY). and add a little
3497 added cleanup to get MessageBox titles appearing again, which were
3498 broken by my earlier fix for caption-less/ControlBox-less windows.
3500 2006-09-18 Jonathan Pobst <monkey@jpobst.com>
3502 * ToolStripArrowRenderEventArgs.cs, ToolStripArrowRenderEventHandler.cs,
3503 ToolStripContentPanelRenderEventArgs.cs, ToolStripContentPanelRenderEventHandler.cs,
3504 ToolStripGripRenderEventArgs.cs, ToolStripGripRenderEventHandler.cs,
3505 ToolStripItemClickedEventArgs.cs, ToolStripItemClickedEventHandler.cs,
3506 ToolStripItemEventArgs.cs, ToolStripItemEventHandler.cs,
3507 ToolStripItemImageRenderEventArgs.cs, ToolStripItemImageRenderEventHandler.cs,
3508 ToolStripItemRenderEventArgs.cs, ToolStripItemRenderEventHandler.cs,
3509 ToolStripItemTextRenderEventArgs.cs, ToolStripItemTextRenderEventHandler.cs,
3510 ToolStripPanelRenderEventArgs.cs, ToolStripPanelRenderEventHandler.cs,
3511 ToolStripRenderEventArgs.cs, ToolStripRenderEventHandler.cs,
3512 ToolStripSeparatorRenderEventArgs.cs, ToolStripSeparatorRenderEventHandler.cs:
3514 * ToolStripPanel.cs, ToolStripContentPanel.cs, ToolStripSeparator.cs,
3515 ToolStripButton.cs: Stubs needed for above.
3516 * ToolStrip.cs, ToolStripItem.cs: Stub a few variables/properties for above.
3518 2006-09-15 Chris Toshok <toshok@ximian.com>
3521 - make the MessageQueues hashtable Synchronized.
3523 - SendMessage: if the Hwnd is owned by a different thread, use the
3524 AsyncMethod stuff to dispatch the SendMessage on the hwnd's
3525 thread. Fixes bug #79201.
3527 2006-09-15 Chris Toshok <toshok@ximian.com>
3529 * XplatUIX11.cs (SetWMStyles): rework the #79368 fix slightly. If
3530 ControlBox == false, we disallow maximize/minimize/close. If the
3531 form Caption is "" we also disallow move (and get rid of the Title
3532 decoration). Unfortunately, regardless of how things are set,
3533 we're stuck with the Title and WM menu.
3535 2006-09-15 Chris Toshok <toshok@ximian.com>
3537 * Application.cs: add locking around the static message_filters
3538 ArrayList, part of #79196.
3540 2006-09-15 Chris Toshok <toshok@ximian.com>
3542 * XplatUIX11.cs (SetWMStyles): if Form.Text == "" and
3543 Form.ControlBox == false, the window has no titlebar nor resize
3544 handles. fixes bug #79368.
3546 2006-09-15 Chris Toshok <toshok@ximian.com>
3548 * TextBoxBase.cs: in CalculateScrollBars make sure LargeChange is
3549 >= 0. Fixes bug #79370.
3551 2006-09-15 Jonathan Pobst <monkey@jpobst.com>
3552 * FlowLayoutPanel.cs, FlowLayoutSettings.cs: Initial commit.
3554 Add properties: LayoutEngine, Margin, DefaultMargin.
3555 Add method: GetPreferredSize.
3556 Move layout logic from PerformLayout to layout engines.
3558 2006-09-13 Chris Toshok <toshok@ximian.com>
3560 * XplatUIX11.cs: more destroy work. Jackson pointed out that my
3561 fix for #79326 broke #78718, so this change addresses that.
3563 - in SendWMDestroyMessages remove the call to
3564 CleanupCachedWindows, since we might be recreating the control and
3565 need to maintain the references to right Hwnd handles. Also, set
3566 the zombie flag to true for each of the children in the hierarchy
3567 instead of calling hwnd.Dispose. This will cause GetMessage to
3568 ignore all events for the window except for DestroyNotify.
3570 - In GetMessage, ignore messages except for DestroyNotify for
3573 * Control.cs: revert the is_recreating fix from the last
3574 ChangeLog. It's definitely "right", but it breaks switching from
3575 an MDI form to a non-MDI form. Will need to revisit that.
3577 * Hwnd.cs: add a zombie flag, which means "the
3578 client_window/whole_window handles are invalid, but we're waiting
3579 for the DestroyNotify event to come in for them". Set the flag to
3580 false explicitly if setting WholeWindow/ClientWindow, and also
3583 2006-09-13 Chris Toshok <toshok@ximian.com>
3585 * XplatUIX11.cs: rework window destruction slightly.
3587 - when destroying the windows associated with a control, we don't
3588 need 2 separate XDestroyWindow calls. Just the one for the
3589 whole_window (or for client_window if whole_window is somehow
3590 IntPtr.Zero -- can this happen?) is enough.
3592 - reworked SendWMDestroyMessages slightly, so we always dispose
3593 the child control hwnd's after sending the messages.
3595 - refactored out the ActiveWindow/FocusWindow/Caret clearing from
3596 the two places it was used (one was even using hwnd.Handle and the
3597 other hwnd.client_window. ugh), adding another call in
3598 SendWMDestroyMessages. We need this new call because now the
3599 DestroyNotify events in the queue will be ignored for the child
3600 controls (as their hwnd's were disposed, and the window id's
3601 removed from the hashtable in SendWMDestroyMessages.) fun, eh?
3603 - this fixes bug #79326.
3605 2006-09-13 Chris Toshok <toshok@ximian.com>
3607 * Control.cs: don't always set is_recreating to false at the end
3608 of RecreateHandle, since sometimes we're not done (and won't be
3609 until WndProc handles the WM_DESTROY message). Also, set
3610 is_recreating to false in the WM_DESTROY handling code. Part of
3611 the fix for bug #79326.
3613 2006-09-13 Miguel de Icaza <miguel@novell.com>
3615 * X11DesktopColors.cs: Start the droppage of debugging messages.
3617 * FileDialog.cs: Store the configuration file in ~/.mono/mwf_config
3619 2006-09-13 Jonathan Pobst <monkey@jpobst.com>
3621 * SplitContainer.cs, SplitterPanel.cs: Initial implementation [2.0].
3623 2006-09-12 Chris Toshok <toshok@ximian.com>
3625 * DataGrid.cs (get_ListManager): if the list_manager is null, try
3626 to create it using SetDataSource. Fixes bug #79151.
3628 2006-09-11 Chris Toshok <toshok@ximian.com>
3630 * XEventQueue.cs: add a DispatchIdle property.
3632 * XplatUIX11.cs (UpdateMessageQueue): only emit the Idle event if
3633 either the queue is null, or the queue has DispatchIdle set to
3635 (DoEvents): set queue.DispatchIdle to false around the
3636 peek/translate/dispatch message loop in this method. This keeps
3637 Application.Doevents from emitting idle events. Part of the fix
3640 2006-09-11 Chris Toshok <toshok@ximian.com>
3642 * DataGrid.cs (set_DataSource): make this work for both the
3643 winforms/datagrid test and ReportBuilder. It seems as though when
3644 we've created a ListManager (or maybe it's if we have a
3645 BindingContext?), when we set the DataSource it clears the
3646 DataMember to "". otherwise we reuse the datamember. Fixes bug
3649 2006-09-11 Chris Toshok <toshok@ximian.com>
3651 * XplatUIX11.cs: deal with queue being null, which happens in all
3652 the Clipboard functions. Fixes one of the two problems mentioned
3655 2006-09-11 Chris Toshok <toshok@ximian.com>
3657 * MenuAPI.cs: rework OnMouseUp a bit so that releasing the mouse
3658 button on various spots (including outside the menu) works closer
3659 to MS, and doesn't crash. Fixes #79343.
3661 2006-09-11 Gert Driesen <drieseng@users.sourceforge.net>
3663 * ListView.cs: Do not initialize item_sorter in init. To match MS,
3664 return null for ListViewItemSorter if View is SmallIcon or LargeIcon
3665 and the internal comparer is set. When a new ListViewItemSorter is set,
3666 sort the items. Use Enum.IsDefined to verify whether a valid SortOrder
3667 was specified. No further processing is necessary if SortOrder is set
3668 to it's current value. If Sorting is modified to None, and View is
3669 neither SmallIcon nor LargeIcon then: on 2.0 profile set item_sorter
3670 (either custom or our internal ItemComparer) to null, on 1.0 profile
3671 only set item_sorter to null if its our internal IComparer. If Sorting
3672 is modified to Ascending or Descending, then use our internal IComparer
3673 if none is set, and if the current IComparer is our internal one then:
3674 on 2.0 profile always replace it with one for new Sorting, and on 1.0
3675 profile only use new Sorting if view is not SmallIcon or LargeIcon. Use
3676 Enum.IsDefined to verify whether a valid View value is specified in
3677 its setter. Automatically sort listview items when listview is
3678 created. In Sort, do nothing if ListView is not yet created, or if
3679 no item_sorter is set (no Sorting was set, Sorting was explicitly set
3680 to None or ListViewItemSorter was set to null). Added Sort overload
3681 taking a bool to indicate whether the ListView should be redrawn when
3682 items are sorted (we use this in ListViewItemCollection to avoid double
3683 redraws). Modified our internal IComparer to take the sort order into
3684 account. In Add and AddRange methods of ListViewItemCollection, also
3685 call Sort if Sorting is None (necessary for SmallIcon and LargeIcon
3686 view), but use overload with noredraw option to avoid double redraw.
3687 On 2.0 profile, throw NotSupportedException when setting CheckBoxes to
3688 true when View is Tile, and do the same when attempting to set View to
3689 Tile when CheckBoxes is true. Avoid maintaining separate ArrayLists
3690 for selected/checked indices, as it involves overhead when sorting is
3691 done while these collections are not used all that often. Instead
3692 we'll build the indices on demand. Modified IList implementation of
3693 CheckedIndexCollection to use public methods if object is int.
3694 Modified CheckedListViewItemCollection to hide checked items if
3695 ListView.CheckBoxes is false. Removed LAMESPEC remark in
3696 ListViewItemCollection as the .NET SDK docs have been fixed. Modified
3697 IList implementation in SelectedIndexCollection to use public methods
3698 if object is int. Modified SelectedListViewItemCollection to hide
3699 selected items if listview is not yet created.
3700 * ListViewItem.cs: CheckedIndices list no longer needs to be
3701 maintained separately (see ListView changes). Also clone font, fixes
3704 2006-09-11 Mike Kestner <mkestner@novell.com>
3706 * ComboBox.cs: if we are updating the contents of the currently
3707 selected index, refresh the control or the textbox selection.
3710 2006-09-11 Mike Kestner <mkestner@novell.com>
3712 * ComboBox.cs (UpdateBounds): use SetBounds not SetBoundsCore since
3713 the 'specified' logic has been moved there. This seems like a bug
3714 in Control.cs, since our current SetBoundsCore completely ignores
3715 the specified parameter. Peter's commit seems to indicate that is
3716 the way the MS control implementation works. [Fixes #79325]
3718 2006-09-10 Jonathan Chambers <joncham@gmail.com>
3720 * XplatUI.cs: Set default_class_name to be composed
3721 of current domain id. This allows MWF to be loaded in multiple
3724 2006-09-09 Miguel de Icaza <miguel@novell.com>
3726 * X11Keyboard.cs: If we are unable to obtain the input method, do
3727 not call CreateXic to create the input context. Should fix
3730 2006-09-08 Alexander Olk <alex.olk@googlemail.com>
3732 * MimeIcon.cs: Rewrote major parts. Dropped KDE support for now.
3733 Simplified gnome support by adding more pinvokes to get the
3734 icon for a file or mime type.
3736 2006-09-08 Jackson Harper <jackson@ximian.com>
3738 * MenuAPI.cs: Deslect popup context menu items before closing the
3739 window, so that you don't see the previously selected item
3740 selected when you reopen the menu.
3741 * TextControl.cs: Update the cursor position even if we don't have
3742 focus. This fixes typing in things like the ComboBox. I'm not
3743 totally sure we should always set the visibility if we don't have
3744 focus, but couldn't find any corner cases where the cursor showed
3745 up when it shouldn't.
3747 2006-09-08 Chris Toshok <toshok@ximian.com>
3749 * X11Keyboard.cs: In UpdateKeyState vkey can be any integer, but
3750 our arrays are length 256. & 0xff before indexing. Fixes the
3751 crash in bug #78077.
3753 2006-09-08 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3755 * ThemeWin32Classic.cs:
3756 * DateTimePicker.cs: Draw check box if DateTimePicker.ShowCheckBox
3757 is true. Handle that check box too.
3759 2006-09-07 Chris Toshok <toshok@ximian.com>
3761 * MenuAPI.cs: move the PerformClick call to OnMouseUp. Fixes bug
3764 2006-09-07 Chris Toshok <toshok@ximian.com>
3766 * Control.cs: in set_BackColor only do the work if
3767 background_color != value.
3769 * XplatUIX11.cs: move the clearing of invalid areas (both client
3770 and nc) to the same block of code where we set (nc_)expose_pending
3771 to false. That is, move it from PaintEventEnd to PaintEventStart,
3772 so things that cause invalidates from within OnPaint will trigger
3773 another call to OnPaint. Fixes bug #79262.
3775 2006-09-07 Alexander Olk <alex.olk@googlemail.com>
3777 * Theme.cs: Use correct icon for UIIcon.PlacesPersonal
3778 * FileDialog.cs: Fix typo
3780 2006-09-07 Jackson Harper <jackson@ximian.com>
3782 * ThemeWin32Classic.cs: oops, forgot to commit. Draw the images
3783 for tab pages if they have any.
3785 2006-09-06 Mike Kestner <mkestner@novell.com>
3787 * Splitter.cs: use the "current" rect when finishing drag handle
3788 to avoid an artifact demonstrated by resedit.exe. [Fixes #79251]
3790 2006-09-06 Mike Kestner <mkestner@novell.com>
3792 * Splitter.cs: draw the drag handle at X or Y instead of 0 to deal
3793 support offset splitters. [Fixes #79298]
3795 2006-09-06 Alexander Olk <alex.olk@googlemail.com>
3797 * Mime.cs: Fixed a bug that could override the global mime type
3800 2006-09-05 Jackson Harper <jackson@ximian.com>
3802 * TabControl.cs: Better calculation method for setting the slider
3803 pos. Prevents crashes on really wide tabs.
3804 - Draw Image on tab pages if an image list is used.
3806 2006-09-02 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3808 * MonthCalendar.cs: When Font changes, the Size should be
3809 updated to fit the new font's space requirements.
3811 2006-09-02 Alexander Olk <alex.olk@googlemail.com>
3813 * ListBox.cs: If the items are cleared with Items.Clear set
3816 2006-09-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3818 * MonthCalendar.cs: Handle arrow keys as input keys. Also
3819 fire DateChanged event instead of DateSelected event when
3820 the date was changed by keyboard interaction.
3822 2006-09-01 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3824 * DateTimePicker.cs: Handle DateChanged for the associated
3825 month_calendar control, and set month_calendar.Font from
3826 OnFontChanged method, as well as resize the height of the
3827 control when needed. Make PreferredHeight proportional.
3829 2006-09-01 Chris Toshok <toshok@ximian.com>
3831 * DataGrid.cs: grr, stop overthinking the DataMember/DataSource
3834 * BindingContext.cs (HashKey.GetHashCode): use ^ instead of +.
3836 2006-09-01 Peter Dennis Bartok <pbartok@novell.com>
3838 * FileDialog.cs: Set ClientSize instead of window size, to allow space
3839 for decorations (Fixes #79219)
3841 2006-09-01 Mike Kestner <mkestner@novell.com>
3843 * ComboBox.cs: first stab at sorting plus some selection handling
3844 fixes to bring us more in line with MS behavior. Also switches back
3845 to index based selection. Alternative patches for index-based
3846 selection were provided by Jackson Harper, Carlos Alberto Cortez,
3847 and latency@gmx.de on bug 78848. I assume they were similar to this
3848 code I've had simmering in my tree forever.
3851 2006-09-01 Chris Toshok <toshok@ximian.com>
3853 * CurrencyManager.cs (ListChangedHandler): in the ItemAdded case,
3854 when setting list position guard against ending up with a -1 index
3855 (the other part of the fix for #78812). Should probably make sure
3856 we don't need the analogous fix in the ItemDeleted case.
3859 - in SetDataSource, work around the fact that the way
3860 OnBindingContextChanged is invoked will cause us to re-enter this
3861 method. I'll remove the hack once I investigate
3862 OnBindingContextChanged.
3864 - fix the logic in set_DataSource and set_DataMember (basically
3865 what to do if the other of the two is null.)
3867 - in OnListManagerItemChanged, we need to take into account the
3868 edit row when deciding whether or not to call RecreateDataGridRows
3869 (part of the fix for #78812).
3871 2006-09-01 Jackson Harper <jackson@ximian.com>
3873 * Splitter.cs: Don't do anything if there is no control to affect
3874 (prevents us from crashing in weird tet cases).
3875 * TreeView.cs: Bounding box for the mouse movement reverting
3876 focus/selection back to previously selected node. This matches
3877 MS, and makes the tree a lot more useable.
3878 * GroupBox.cs: Instead of drawing over the lines of the groupbox,
3879 use clipping so they are not drawn. This fixes when the control
3880 is set to have a transparent background, or if it was over an
3883 2006-09-01 Alexander Olk <alex.olk@googlemail.com>
3885 * MimeIcon.cs: Improved handling for reading default icons when
3886 using gnome (2.16 made it necessary). Check and read svg icons
3887 first, then 48x48 and then 32x32 icons.
3889 2006-08-31 Chris Toshok <toshok@ximian.com>
3891 * DataGridTextBoxColumn.cs: only hide the textbox if it's still
3894 * DataGridTextBox.cs: Pass Tab's up to the datagrid by calling
3895 ProcessKeyPreview. Fixes part of #77806.
3897 * DataGrid.cs: big patch.
3899 - revert the queueing up of DataSource/DataMember if inside
3900 BeginInit/EndInit calls. That's not the way the datagrid achieves
3901 its delayed databinding. Instead, call SetDataSource in
3902 OnBindingContextChanged. This mimic's MS's behavior, and fixes
3905 - Also, it wasn't mentioned in #78811, but the test case exhibits
3906 behavior that was lacking in our datagrid implementation - Columns
3907 that have mapping names that don't exist in the datasource's
3908 properties aren't shown. Yuck. To fix this I added the bound
3909 field to the column style, and basically any calculation to figure
3910 out anything about columns uses a loop to find the bound columns.
3911 still need to investigate if I can cache an array of the bound
3912 columns or if the indices must be the same.
3914 - When setting CurrentCell, we no longer abort if the cell being
3915 edited was in the add row. This fixes the other part of #77806.
3917 - The new code also fixes #78807.
3919 * ThemeWin32Classic.cs: perpetrate the same disgusting
3920 column.bound field hack, and only render bound fields.
3922 2006-08-31 Chris Toshok <toshok@ximian.com>
3924 * DataGridColumnStyle.cs: add bound field. this field is true if
3925 the datasource has a property corresponding to the mapping name.
3927 * DataGridTableStyle.cs: set the bound field on the column styles
3928 depending on whether or not we have a column for that property.
3930 2006-08-31 Peter Dennis Bartok <pbartok@novell.com>
3932 * Splitter.cs (SetBoundsCore): Don't ignore width/height of the
3933 splitter control (fixes #79228)
3935 2006-08-31 Chris Toshok <toshok@ximian.com>
3937 * DataGridColumnStyle.cs: we need to delay the assignment of
3938 property descriptor until the last possible moment due to the lazy
3939 databinding stuff in the datagrid. Also, fix the exceptions
3940 thrown by CheckValidDataSource to match MS.
3942 2006-08-31 Jackson Harper <jackson@ximian.com>
3944 * Form.cs: When activated select the active control, if there is
3945 no active control, we select the first control.
3946 * XplatUIX11.cs: If there is no focus control when we get a
3947 FocusIn event, find the toplevel form and activate it. This
3948 occurs when you popup a window, it becomes the focus window, then
3949 you close that window, giving focus back to the main window.
3951 2006-08-21 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3954 * ThemeWin32Classic.cs: Cache Font in bold style, as well
3955 as StringFormat with Center alignments in MonthCalendar,
3956 instead of creating new ones when drawing the control.
3957 Also, draw the month name in bold style.
3959 2006-08-30 Peter Dennis Bartok <pbartok@novell.com>
3962 - PerformLayout(): It would seem MS performs the fill even if the
3963 control is not visible (part of #79218 fix)
3964 - ResetBackColor(): Use the setter to reset the color, to allow
3965 overriders to catch the change.
3967 - .ctor: Call UpdateBounds to adjust client rectangle (part of #79218 fix)
3968 - CreateHandle(): dito (part of $79218 fix)
3969 - Don't set an icon if we have a dialog
3970 * ScrollableControl.cs:
3971 - set_AutoScrollMinSize: Setting the property enables AutoScroll (#79218)
3972 - ScrollIntoView(): No need to scroll if control is already visible
3973 (resolves fixme and fixes #79218)
3975 2006-08-30 Carlos Alberto Cortez <calberto.cortez@gmail.com>
3977 * MonthCalendar.cs: Change proportions in SingleMonthSize
3978 to match the aspect of the original control.
3980 2006-08-29 Alexander Olk <alex.olk@googlemail.com>
3982 * XplatUIX11.cs: Fix for a metacity/X problem where windows don't
3983 get updated when they get maximized.
3985 2006-08-29 Peter Dennis Bartok <pbartok@novell.com>
3987 * XplatUIX11.cs: Handle windows with no border (Fixes part of #79160)
3989 2006-08-29 Chris Toshok <toshok@ximian.com>
3991 * XplatUIX11.cs: when destroying the FocusWindow, send KILLFOCUS.
3993 2006-08-29 Jackson Harper <jackson@ximian.com>
3995 * TreeView.cs: Need to track selected node and highlighted node,
3996 they aren't always the same thing, when the mouse is down on a
3997 node it is hilighted, but not selected yet.
3998 - Do the HideSelection stuff right
3999 - Need to focus on rbutton mouse down. And redraw selection when
4000 right click is mouse upped.
4002 2006-08-29 Mike Kestner <mkestner@novell.com>
4004 * ThemeWin32Classic.cs: draw selections for columns in FullRowSelect
4005 when SubItems.Count < Columns.Count. [Fixes #79167]
4007 2006-08-28 Peter Dennis Bartok <pbartok@novell.com>
4009 * TextControl.cs (FindCursor): Fix math error (Fixes #78402)
4011 2006-08-28 Peter Dennis Bartok <pbartok@novell.com>
4013 * XplatUIX11.cs: Preempt the roundtrip for getting the location back
4014 from X. Only send based on ConfigureNotify if we don't have the
4015 correct location in hwnd (if the window manager moved us)
4017 2006-08-28 Mike Kestner <mkestner@novell.com>
4019 * ListView.cs: remove a TODO.
4020 * ThemeWin32Classic.cs: implement HideSelection support for ListView.
4021 [Fixes ListView part of #79166]
4023 2006-08-28 Mike Kestner <mkestner@novell.com>
4025 * ListView.cs: move wheel handler to parent since it is focused
4026 instead of the item_control now. [Fixes #79177]
4028 2006-08-28 Mike Kestner <mkestner@novell.com>
4030 * ThemeWin32Classic.cs: only highlight subitems in fullrowselect
4031 when the control is focused. [Fixes #79171]
4033 2006-08-28 Mike Kestner <mkestner@novell.com>
4035 * ListView.cs: size the item and header controls for empty and
4037 * ThemeWin32Classic.cs: draw disabled backgrounds.
4040 2006-08-28 Chris Toshok <toshok@ximian.com>
4042 * Form.cs: remove unused "active_form" static field.
4044 * Hwnd.cs: lock around accesses to static windows collection.
4046 * Application.cs: lock threads in Exit ().
4048 2006-08-28 Chris Toshok <toshok@ximian.com>
4050 * NativeWindow.cs: lock around accesses to window_collection.
4052 2006-08-28 Chris Toshok <toshok@ximian.com>
4054 * Control.cs: err, fix this the right way, by locking on controls
4055 when using it. not by making it synchronized.
4057 2006-08-28 Chris Toshok <toshok@ximian.com>
4059 * Control.cs: make the static "controls" field synchronized, as it
4060 gets updated from multiple threads.
4062 2006-08-27 Peter Dennis Bartok <pbartok@novell.com>
4064 * XplatUIX11.cs: PostQuitMessage is thread-specific not app-specific.
4065 Prevent other threads from exiting when calling thread sets quit state.
4066 * XEventQueue.cs: Added PostQuitState property
4068 2006-08-27 Chris Toshok <toshok@ximian.com>
4070 * AsyncMethodData.cs: add a slot for the window handle.
4072 * XplatUIX11.cs (SendAsyncMethod): send the event to the right
4073 window (the destination control's window, not the foster window).
4075 * Control.cs (BeginInvokeInternal): store the window's handle in
4076 the AsyncMethodData.
4079 2006-08-27 Peter Dennis Bartok <pbartok@novell.com>
4082 - PostQuitMessage: Removed resetting S.D display handle, we might have
4083 another loop started after calling PostQuitMessage (Fixes #79119)
4084 - Created destructor to reset S.D handle
4086 2006-08-27 Peter Dennis Bartok <pbartok@novell.com>
4088 * XplatUIX11.cs (SetCursor): Issue flush after setting the cursor (#79168)
4090 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4092 * TextControl.cs (Insert): Update the caret position even if we don't
4093 have a handle yet, just don't call the driver in that case.
4094 * TextBoxBase.cs (set_SelectedText): Set the Start and End selection
4095 to the end of the new selection text (Fixes #79184)
4097 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4099 * Form.cs (Activate): Only activate if the handle is created)
4101 - Mark window as invisible when it's disposed
4102 - Check if window handle is created when setting window visible,
4103 instead of relying just on the is_created variable
4104 - Check if object is disposed when creating the control (Fixes #79155)
4106 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4108 * ScrollableWindow.cs (ScrollWindow): Don't actually perform layouting
4109 when allowing layout again. Otherwise we re-generate the anchoring
4110 distance to the border again and actually alter what the user wanted
4111 This is ugly, it'd be better if we used DisplayRectangle instead of
4112 ClientRectangle for Control.UpdateDistances, but that causes us to
4113 have other problems (initial anchoring positons would be wrong)
4116 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4119 - The size and location setters shouldn't go directly to
4120 SetBoundsCore, but to SetBounds, which triggers layout on the
4121 parent, then calls SetBoundsCore. (Related to fix for #78835)
4122 - SetBounds: Moved actual location update code into this function
4123 from SetBoundsCore, to match MS. Added call to PerformLayout if
4124 we have a parent (to trigger resizing of anchored parents if the
4125 child size has changed (see testcase for #78835)
4126 * ListBox.cs, Form.cs: Call SetBounds instead of SetBoundsCore to match
4128 * ScrollableControl.cs (CalculateCanvasSize): Use shortcut variable
4130 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4132 * XplatUIX11.cs: Don't reset the DisplayHandle that's stored in
4133 System.Drawing when a toplevel window gets closed; there might
4134 be other toplevel windows belonging to the same app (Fixes #78052)
4136 2006-08-26 Alexander Olk <alex.olk@googlemail.com>
4138 * FileDialog.cs: After reading FileDialog settings from mwf_config
4139 use Desktop prefix only if a real folder doesn't exist anymore.
4140 * FontDialog.cs: Added char sets.
4141 It is now possible to select the font, size or style with the
4144 2006-08-25 Kornél Pál <kornelpal@gmail.com>
4146 * PrintPreviewDialog.cs: Use assembly name constants.
4148 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4150 * XplatUIWin32.cs (ScrollWindow): Use clipping rectangle arg (prevents
4151 scrollbar from whacking it's buttons)
4153 2006-08-24 Chris Toshok <toshok@ximian.com>
4155 * ScrollableControl.cs: fix #78271. There's a lot of misc stuff
4156 in this patch (aggregating setting Left/Top/Width/Height to
4157 setting Bounds on the scrollbars), but the crux of the fix is in
4158 Recalculate, where we scroll by the remaining scroll_position if
4159 we're hiding a scrollbar. The 2*$5 reward in the comment is
4162 2006-08-24 Jackson Harper <jackson@ximian.com>
4165 * MdiWindowManager.cs: If the form is made a non-mdi window we
4166 need to remove the form closed event so that closing forms works
4169 2006-08-24 Jackson Harper <jackson@ximian.com>
4171 * Control.cs: Make IsRecreating internal so that the driver can
4173 - Temporarily remove the Hide when controls are removed, its
4174 making a whole bunch of things not work because visibility isn't
4175 getting reset elsewhere correctly
4176 * Form.cs: Need to do a full handle recreation when the mdi parent
4178 * XplatUIX11.cs: If we are recreating handles don't dispose the
4179 HWNDs. What was happening is the handles were being recreated in
4180 SendWMDestroyMessages, but then flow continued on in that method
4181 and destroyed the new handles.
4183 2006-08-23 Jackson Harper <jackson@ximian.com>
4185 * Form.cs: MdiClient is always at the back of the bus
4186 * Control.cs: When the order of items in the collection is changed
4187 we need to reset the all_controls array
4188 - do the same sorta setup thats done when adding a control when a
4189 control is set on the collection.
4191 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4193 * TextBoxBase.cs (get_Text): Return an empty array if our document
4194 is empty (fixes #79052)
4196 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4198 * Control.cs: We should call IsInputChar on only on WM_CHAR but not
4199 on WM_SYSCHAR messages (fixes #79053)
4201 2006-08-23 Chris Toshok <toshok@ximian.com>
4203 * DataGrid.cs: fix flickering when scrolling vertically.
4205 2006-08-23 Chris Toshok <toshok@ximian.com>
4207 * DataGrid.cs (EndEdit): only invalidate the row header when we
4210 2006-08-23 Chris Toshok <toshok@ximian.com>
4212 * ThemeWin32Classic.cs: fix the clip munging of the datagrid paint
4213 methods. fixes the flicker when scrolling around.
4215 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4217 * FileDialog.cs: Making sure the control is created before we get a
4218 chance to use it with BeginInvoke (Fixes #79096)
4220 2006-08-23 Chris Toshok <toshok@ximian.com>
4222 * ThemeWin32Classic.cs (DataGridPaintRows): calculate the proper
4223 width to use when painting the rows.
4225 2006-08-23 Peter Dennis Bartok <pbartok@novell.com>
4228 - Throw ArgumentException if a negative value is passed to SelectionLength
4229 - Update the selection end if start is moved. end needs to be always
4230 after start. (Fixes #79095)
4231 - Track selection length; MS keeps the selection length even if start
4232 is changed; reset on all other operations affection selection
4234 2006-08-22 Jackson Harper <jackson@ximian.com>
4236 * TreeView.cs: Make sure both scrollbars get displayed and sized
4237 correctly when the other bar is visible.
4238 - Use the original clip rectangle for checking if the area between
4239 the two scrollbars is visible, not the viewport adjusted clipping
4242 2006-08-22 Jackson Harper <jackson@ximian.com>
4244 * Binding.cs: We don't use IsBinding because it requires the
4245 control to be created, which really shouldn't be necessary just to
4246 set a property on the control.
4248 2006-08-21 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4250 * ComboBox.cs: Some CB.ObjectCollection methods must throw
4251 ArgumentNullReferenceException when the argument is null.
4253 2006-08-21 Jackson Harper <jackson@ximian.com>
4255 * Timer.cs: Track the thread that the timer is started in (NOT
4256 CREATED), this way messages for it will only be triggered on its
4258 * XEventQueue.cs: Track the timers here, this makes timers per
4260 * XplatUIX11.cs: The timers are moved to the XEventQueue.
4262 2006-08-19 Chris Toshok <toshok@ximian.com>
4264 * XplatUIX11.cs: after further communication with pdb, we get the
4265 best of both worlds. SetZOrder working for un-Mapped windows, and
4266 no X errors for un-mapped windows.
4268 2006-08-19 Chris Toshok <toshok@ximian.com>
4270 * XplatUIX11.cs (SetZOrder): remove the if (!hwnd.mapped) check,
4271 as it was causing pdn toolbars to not have the correct stacking.
4273 2006-08-18 Mike Kestner <mkestner@novell.com>
4275 * ListView.cs : guard against negative ClientArea.Width in scrollbar
4276 calculation. Not sure why control should ever be setting a negative
4277 width though. Fixes #78931.
4279 2006-08-18 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4281 * ComboBox.cs: Throw ArgumentNullException when adding/modifyng
4282 null items in ObjectCollection class.
4283 * ListBox.cs.: Likewise.
4285 2006-08-18 Atsushi Enomoto <atsushi@ximian.com>
4287 * ThemeNice.cs, ThemeClearlooks.cs : remove RadioButton_DrawFocus()
4288 as the base method in ThemeWin32Classic should work fine.
4291 2006-08-18 Jackson Harper <jackson@ximian.com>
4293 * Binding.cs: When validating if the value entered doesn't convert
4294 properly reset to the old value.
4295 * RadioButton.cs: Don't fire click when we get focus.
4297 2006-08-18 Jackson Harper <jackson@ximian.com>
4299 * FileDialog.cs: Paint the selection on the directory combobox the
4302 2006-08-17 Jackson Harper <jackson@ximian.com>
4304 * ErrorProvider.cs: Don't allow the error control to be selected.
4305 * Control.cs: Don't send the SetFocus messages, the control
4306 activation will do this, and if we do it blindly here validation
4309 2006-08-17 Jackson Harper <jackson@ximian.com>
4312 * ContainerControl.cs: Make validation events fire in the correct
4313 order. TODO: For some reason the first validation event is not
4316 2006-08-17 Mike Kestner <mkestner@novell.com>
4318 * ComboBox.cs : some null guarding for ComboListBox.Scroll.
4320 2006-08-17 Mike Kestner <mkestner@novell.com>
4322 * ComboBox.cs : implement scroll wheel support for popped-down
4323 state. Fixes #78945.
4325 2006-08-17 Jackson Harper <jackson@ximian.com>
4327 * TreeView.cs: Specify treeview actions (old patch that didn't get
4328 committed for some reason).
4329 - Don't let the mouse wheel scroll us too far. Just want to make
4330 the bottom node visible, not scroll it all the ways to the top.
4332 2006-08-17 Jackson Harper <jackson@ximian.com>
4334 * XplatUIX11.cs: Mouse wheel events go to the focused window.
4336 2006-08-17 Mike Kestner <mkestner@novell.com>
4338 * ComboBox.cs : don't do mouseover selection in simple mode.
4340 2006-08-16 Jackson Harper <jackson@ximian.com>
4342 * Form.cs: Fire the closing events for all the mdi child windows
4343 when a window is closed. If the cancel args are set to true, the
4344 main window still gets the event fired, but it doesn't not close.
4345 * MdiWindowManager.cs: Do this closing cleanup in a Closed
4346 handler, instead of when the button is clicked, so cancelling the
4347 close works correctly.
4348 * ComboBox.cs: Send the mouse down to the scrollbar.
4350 2006-08-16 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4352 * ListBox.cs: When passing 'null' to SelectedItem,
4353 set SelectedIndex to -1, to unselect items. This is the
4354 observed behaviour in .Net.
4356 2006-08-16 Peter Dennis Bartok <pbartok@novell.com>
4358 * TextBoxBase.cs: Overriding HandleClick to get clicks in spite of
4359 MS flags saying there won't be any. (fixes #78800)
4360 * Control.cs (HandleClick): Made virtual
4362 2006-08-16 Atsushi Enomoto <atsushi@ximian.com>
4364 * PageSetupDialog.cs : use Yard-Pound units only in en-GB and en-US
4365 cultures. Fixed bug #78399.
4367 2006-08-16 Jackson Harper <jackson@ximian.com>
4369 * Form.cs: Use the MdiClients MdiChildren property to access
4370 MdiChildren instead of creating the array from the child controls.
4371 * MdiClient.cs: Maintain a separate array of the mdi children, so
4372 that insertion order is maintained when the Z-order is changed.
4374 2006-08-16 Mike Kestner <mkestner@novell.com>
4376 * ListView.cs : add an ItemComparer and default to it for sorting.
4377 Fixes #79076, but sorting needs a complete overhaul to be compat with
4380 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4382 * XplatUIX11.cs (SetZOrder): Fix debugging leftover (fixes #79080)
4384 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4386 * Hwnd.cs (Mapped): Properly traverse the tree
4388 2006-08-15 Chris Toshok <toshok@ximian.com>
4390 * Binding.cs: fix PullData/SetPropertyValue. We don't want to
4391 pass manager.Current.GetType() to ParseData. It has to be the
4392 property type. So, hold off doing the ParseData until we're in
4393 SetPropertyValue where we know the type. This fixes the crash in
4394 #78821 but the textbox is still empty.
4396 2006-08-15 Chris Toshok <toshok@ximian.com>
4399 - when we're scrolling, only call Edit() again if the
4400 current cell is still unobscured. Fixes bug #78927.
4401 - when handling mousedown on a cell, ensure the cell is visible
4402 before calling Edit.
4403 - remove the properties from DataGridRow, and remove the
4404 DataGridParentRow class altogether.
4407 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4409 * TextBoxBase.cs (set_Text): Don't use base.Text, instead just
4410 fire OnTextChanged by ourselves. There's no point calling base,
4411 we don't set the base value anywhere else. Fixes #78773.
4413 2006-08-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4415 * ListBox.cs: Call CollectionChanged when modifying
4416 an item from Items indexer, to update the actual items
4419 2006-08-15 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4421 * PrintDialog.cs: Small fixes for focus and a pair of checks,
4422 to match .Net behaviour.
4424 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4426 * XplatUIX11.cs (SetZOrder): Handle raising toplevel windows
4428 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4430 * Control.cs: Handle BringToFront for toplevel windows (Fixes #78737)
4432 2006-08-15 Peter Dennis Bartok <pbartok@novell.com>
4434 * MessageBox.cs: Prevent potential NRE exception.
4435 * TextBoxBase.cs: AutoSize only applies if MultiLine is false. Fixes #78889
4437 2006-08-14 Peter Dennis Bartok <pbartok@novell.com>
4439 * MessageBox.cs: Calculate the owner of a messagebox, also make
4440 it topmost. Fixes #78753
4442 2006-08-14 Chris Toshok <toshok@ximian.com>
4444 * XplatUIX11.cs: A couple of fixes so that metacity will let us
4445 programmatically move windows. first, set the PPosition hint as
4446 well as the USPosition hint. Second include some code from pdb
4447 that sets the window type to NORMAL when we set the transient for
4448 hint. This is because, in the absence of a window type, metacity
4449 thinks any window with TransientFor set is a dialog, and refuses
4450 to let us move it programmatically. fascists.
4452 2006-08-14 Peter Dennis Bartok <pbartok@novell.com>
4454 * XplatUIX11.cs: When setting normal hints, take into consideration
4455 an different hints previously set so we don't delete them (fixes #78866)
4457 2006-08-12 Chris Toshok <toshok@ximian.com>
4459 * ToolBarButton.cs: make Layout return a boolean, if something to
4460 do with the button's layout changed.
4463 - add another parameter to Redraw, @force, which all existing
4465 - make the Layout function return a boolean which is true if the
4466 layout has actually changed. Redraw now uses this (and @force)
4467 to determine when to invalidate. At present the only place
4468 where @force can be false is the call from OnResize, when
4469 background_image == null. So, resizing a toolbar when the
4470 layout doesn't change results in no drawing.
4472 2006-08-12 Chris Toshok <toshok@ximian.com>
4474 * ThemeWin32Classic.cs: fix the bottom right corner painting. had
4475 the VScrollBar and HScrollbar reversed. oops.
4477 * DataGrid.cs: fix the logic that assigns sizes to the implicit
4478 scrollbars. we were assigning them twice (once in
4479 Calc{Horiz,Vertical}Scrollbar, and once in CalcGridAreas),
4480 therefore causing two scrollbar resizes (and redraws?) to happen
4483 2006-08-12 Chris Toshok <toshok@ximian.com>
4485 * ToolBarButton.cs: redraw the entire button if the theme tells us
4488 * Theme.cs: add ToolBarInvalidateEntireButton.
4490 * ThemeWin32Classic.cs: we don't need to redraw the entire toolbar
4491 buttons, just the border.
4493 * ThemeNice.cs: redraw the entire toolbar button since we need to
4494 draw the highlight image.
4496 * ThemeClearlooks.cs: the rounded corners of toolbar buttons mean
4497 we need to redraw the entire button (not just the border).
4499 2006-08-11 Peter Dennis Bartok <pbartok@novell.com>
4501 * TextBoxBase.cs (CalculateScrollbars): Set the proper thumb size
4502 for vertical bars. Fixes the mismatches shown by #78513
4504 2006-08-11 Alexander Olk <alex.olk@googlemail.com>
4506 * FileDialog.cs: If a saved/remembered path doesn't exist
4507 anymore, fall back to "Desktop".
4509 2006-08-11 Peter Dennis Bartok <pbartok@novell.com>
4511 * Form.cs (CreateParams): Don't use Parent.Handle unless we have a
4512 parent. It's apparently legal to not have one
4514 - SetZOrder: Don't try to set Z-Order on an unmapped window
4515 - CreateWindow: 0,0 are legal coordinates for a window. don't move
4516 it unless the coordinates are negative
4518 2006-08-10 Mike Kestner <mkestner@novell.com>
4520 * ListControl.cs: allow null for DataSource. Clear DisplayMember
4521 when setting to null per msdn docs. Fixes #78854.
4523 2006-08-10 Chris Toshok <toshok@ximian.com>
4525 * Menu.cs, MainMenu.cs, MenuAPI.cs: get rid of most of the
4526 flickering by setting a clip rectangle on the Graphics when we
4527 need to redraw just a particular menuitem. Also, rename "OnClick"
4528 to "OnMouseDown" to reflect what it actually is.
4530 * Form.cs: track the OnMouseDown change.
4532 2006-08-10 Peter Dennis Bartok <pbartok@novell.com>
4534 * CommonDialog.cs: Properly inherit the CreateParams from the form
4535 and only change what we need. Fixes #78865
4537 2006-08-10 Chris Toshok <toshok@ximian.com>
4539 * ToolBar.cs, ToolBarButton.cs: fix the redraw-on-highlight
4540 flickering in flat mode (and most of the flickering in general) by
4541 only invalidating the button border (and not the entire rectangle)
4542 when the state changes. A couple of cases still flicker:
4543 ToggleButtons, and the dropdown arrow case when the user mouse
4546 2006-08-10 Alexander Olk <alex.olk@googlemail.com>
4548 * X11Keyboard.cs: Fixed handling of the Del key on the cursorblock
4549 for german keyboards. Numlock state shouldn't affect the behaviour
4550 of the Del key. Fixes bug #78291.
4552 2006-08-10 Chris Toshok <toshok@ximian.com>
4554 * ListControl.cs: remove the items.Clear line from BindDataItems,
4555 as this is the first thing done by both subclasses in their
4556 SetItemsCore overrides. Also, add a ItemChanged handler, and when
4557 passed -1, refresh the list. This gets databinding working when
4558 the datasource is set on the list before the datasource is
4559 populated (as in wf-apps/ReportBuilder.)
4561 * ComboBox.cs: remove the argument to BindDataItems. This call
4562 should really go away, and be initiated by the ListControl code.
4566 2006-08-09 Peter Dennis Bartok <pbartok@novell.com>
4568 * TextControl.cs (Document.ctor): Initialize caret so we don't crash
4569 if no data is in the document when the control is displayed
4571 2006-08-09 Peter Dennis Bartok <pbartok@novell.com>
4573 * TextBoxBase.cs: Don't try moving the caret if we don't have a window
4576 - PositionCaret: Allow positioning of caret but don't call methods
4577 requiring a handle if the window isn't created yet
4578 - CharIndexToLineTag: Fix ending loop early error. Lines is 1 based
4579 - owner_HandleCreated: Don't position the caret, just update it's
4580 location. User might have already set a different position
4582 2006-08-09 Peter Dennis Bartok <pbartok@novell.com>
4584 * XplatUIWin32.cs: Don't use the desktop as basis for foster-parented
4585 windows. Screws up the returned coordinates for child windows.
4586 Fixes #78825. I'm hoping this doesn't break something, since the
4587 code was explicitly put in 8 months ago, but no bug was attached.
4588 Menus still seem to work properly.
4590 2006-08-08 Chris Toshok <toshok@ximian.com>
4592 * DataGrid.cs: make BeginInit/EndInit actually do what they're
4593 supposed to do - delay data binding until the EndInit call. Also,
4594 make the table style collection's CollectionChangeAction.Refresh
4597 * GridTableStylesCollection.cs: raise a CollectionChangeEvent
4598 (with action = Refresh) when a consituent table's MappingName is
4601 2006-08-08 Chris Toshok <toshok@ximian.com>
4603 * ToolBarButton.cs: in set_Text, call Parent.Redraw, not
4604 Invalidate, since changing the text can change the size of the all
4607 2006-08-08 Peter Dennis Bartok <pbartok@novell.com>
4609 * Form.cs (AddOwnedForm): Still need to add the form to our listif
4610 we don't have it yet
4612 2006-08-08 Chris Toshok <toshok@ximian.com>
4614 * PrintControllerWithStatusDialog.cs: don't .Close() the status
4615 dialog, as this causes X errors later on, since we actually
4616 destroy the window. Instead, .Hide() it.
4618 2006-08-08 Peter Dennis Bartok <pbartok@novell.com>
4620 * ComboBox.cs: Added focus reflection for popup window
4622 - Removed transient setting for non-app windows for now, not sure it
4624 - Fixed logic checking if we have captions when deciding
4625 override_redirect, WS_CAPTION is two bits and a 0 check was not
4627 - Removed the WINDOW_TYPE stuff, it was unneeded and making things
4630 - AddOwnedForm: Don't just add the form to the list, call the property
4631 to ensure the driver is informed about the ownership as well
4632 - CreateHandle: Set the TopMost status in the driver if we have an owner
4633 * XplatUI.cs: Fixed debug statement
4635 2006-08-08 Jonathan Pobst <monkey@jpobst.com>
4636 * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs
4637 GroupBoxRenderer.cs, ProgressBarRenderer.cs, RadioButtonRenderer.cs,
4638 ScrollBarRenderer.cs, TabRenderer.cs, TextBoxRenderer.cs,
4639 TrackBarRenderer.cs: Make constructor private.
4640 * ProfessionalColors.cs, ProfessionalColorTable.cs: Fix misnamed properties.
4641 * ProfessionalColorTable.cs: Make properties virtual.
4643 2006-08-06 Duncan Mak <duncan@novell.com>
4645 * NumericUpDown.cs (Value): Don't call OnValueChanged if the value
4648 2006-08-04 Jonathan Pobst <monkey@jpobst.com>
4649 * ButtonRenderer.cs, CheckBoxRenderer.cs, ComboBoxRenderer.cs
4650 GroupBoxRenderer.cs, ProfessionalColors.cs, ProfessionalColorTable.cs,
4651 ProgressBarRenderer.cs, RadioButtonRenderer.cs, ScrollBarRenderer.cs,
4652 TabRenderer.cs, TextBoxRenderer.cs, TextRenderer.cs, TrackBarRenderer.cs:
4653 Initial import of new 2.0 classes.
4655 2006-08-04 Jonathan Pobst <monkey@jpobst.com>
4656 * Application.cs: Add 2.0 VisualStyles properties.
4658 2006-08-04 Jonathan Pobst <monkey@jpobst.com>
4659 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
4660 XplatUIX11.cs: Create property to allow access to existing private
4661 variable "themes_enabled"
4663 2006-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
4665 * ImageListStreamer.cs: generate the MemoryStreams with the exact BMP
4666 file size, as otherwise our class libraries fail using windows. Fixes
4669 2006-08-04 Jackson Harper <jackson@ximian.com>
4672 * XplatUIX11.cs: Move the toolwindow window manager creation into
4673 the X11 driver, this way on win32 we can let windows create/handle
4676 2006-08-04 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4678 * PrintDialog.cs: Remove some redundant checks, add some others,
4679 clean some code, and move the focus to the text boxes when the
4680 values are incorrect.
4682 2006-08-04 Alexander Olk <alex.olk@googlemail.com>
4684 * FontDialog.cs: Remove Form.MinimumSize. It's not needed.
4686 2006-08-03 Alexander Olk <alex.olk@googlemail.com>
4688 * NumericUpDown.cs: Setting the Minimum and Maximum is now
4689 handled correctly. Fixes bug #79001.
4691 2006-08-03 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4693 * PrintDialog.cs: The "Copies" numeric up down must have
4694 set the Minimum property to 1; only if the value is bigger
4695 than 1, activate "Collate" check box. This is the behaviour of .Net.
4696 Also modify the Document elements only if it is not null.
4698 2006-08-03 Jackson Harper <jackson@ximian.com>
4700 * TreeNodeCollection.cs: Fix copyto to use the correct nodes
4701 length. (We have a larger array then actual node count).
4703 2006-08-03 Jackson Harper <jackson@ximian.com>
4705 * ComboBox.cs: Don't show selection by default.
4706 - The SelectAll isn't needed here, since the focus code should do
4708 - DDL style lists to manual selection drawing, so when they
4709 get/lose focus they have to invalidate.
4711 2006-08-03 Peter Dennis Bartok <pbartok@novell.com>
4713 * TextBoxBase.cs: Don't always show all selections by default.
4715 2006-08-03 Jonathan Pobst <monkey@jpobst.com>
4716 * ControlUpdateMode.cs, DataSourceUpdateMode.cs,
4717 HelpNavigator.cs, WebBrowserEncryptionLevel.cs:
4718 Fixed various typos.
4720 2006-08-03 Alexander Olk <alex.olk@googlemail.com>
4722 * Control.cs: Removing the controls in a ControlCollection with
4723 Clear now hides the controls as expected. Fixes bug #78804.
4725 2006-08-03 Jackson Harper <jackson@ximian.com>
4727 * Control.cs: Revert previous focus patch, it breaks reflector.
4729 2006-08-03 Jackson Harper <jackson@ximian.com>
4731 * ComboBox.cs: Cleanup selection and focus with the combobox.
4732 This also eliminates some duplicated keyboard code, since now
4733 everything is handled by the main class.
4734 - Make list selection work on mouse up instead of down, to match
4737 2006-08-02 Jackson Harper <jackson@ximian.com>
4739 * Control.cs: Setting focus needs to go through the whole
4740 selection mechanism.
4742 2006-08-02 Chris Toshok <toshok@ximian.com>
4744 * PrintPreviewDialog.cs: change MinimumSize to use
4745 base.MinimumSize so it works.
4747 2006-08-02 Peter Dennis Bartok <pbartok@novell.com>
4750 - UpdateCaret: Added sanity check in case caret isn't defined yet
4751 - Line.Delete: Now updating selection and caret markers if we're
4752 transfering a node (Properly fixes #78323)
4753 - SetSelectionEnd: Added sanity check
4754 * TextBoxBase.cs: Removed broken attempt to fix #78323
4756 2006-08-01 Chris Toshok <toshok@ximian.com>
4758 * PrintPreviewDialog.cs: the CancelEventArgs stuff surrounding the
4759 Close() call is handled in Form, not here.
4761 2006-08-01 Chris Toshok <toshok@ximian.com>
4763 * Theme.cs, ThemeWin32Classic.cs: fix the PrintPreviewControl
4766 * PrintPreviewDialog.cs: add scrollbars, and add an image cache
4767 for sizes < 100% zoom. The code now aggressively attempts to keep
4768 from calling document.Print (), and tries not to use the scaling
4769 g.DrawImage whenever possible (it still does if you scale to >
4770 100%, since usually that involves huge images).
4772 * PrintPreviewControl.cs: hook up the close button.
4774 2006-08-01 Jonathan Pobst <monkey@jpobst.com>
4775 * ColumnClickEventHandler.cs, DrawItemEventHandler.cs,
4776 ItemChangedEventHandler.cs, ItemCheckEventHandler.cs,
4777 ItemDragEventHandler.cs, LabelEditEventHandler.cs,
4778 LinkClickedEventHandler.cs, LinkLabelLinkClickedEventHandler.cs,
4779 MeasureItemEventHandler.cs, MethodInvoker.cs, PaintEventHandler.cs,
4780 PropertyTabChangedEventHandler.cs, PropertyValueChangedEventHandler.cs,
4781 SelectedGridItemChangedEventHandler.cs, ToolBarButtonClickEventHandler.cs:
4782 Removed [Serializable] for 2.0 Event Handlers.
4784 2006-07-31 Jackson Harper <jackson@ximian.com>
4786 * TextBoxBase.cs: Make ShowSelection invalidate when changed.
4787 * TextControl.cs: Uncomment out the body of this method.
4789 2006-07-31 Alexander Olk <alex.olk@googlemail.com>
4791 * XplatUIX11.cs: Use the correct cursor shapes for arrow and default
4794 2006-07-31 Peter Dennis Bartok <pbartok@novell.com>
4796 * TextBoxBase.cs: Added internal property ShowSelection to allow controls
4797 that embed TextBox and need selections visible even if textbox is not
4798 focused to enforce that behaviour.
4799 * TextControl.cs (Draw): Use ShowSelection instead of has_focus to determine
4802 2006-07-31 Peter Dennis Bartok <pbartok@novell.com>
4805 - Added new SetSelectionStart/SetSelectionEnd overloads
4806 - Fixed viewport width assignment to be accurate
4807 - Adjusted alignment line shift calculations to allow cursor on right
4808 aligned lines to be always visible at the right border (like MS)
4810 - SetBoundsCore: Re-adjust caret location after resize (Fixes #78323)
4811 - TextBoxBase_SizeChanged: recalculating canvas on size changes
4812 - CalculateScrollBars: Use ViewPort size instead of window size, to
4813 properly consider space occupied by the border and scrollbars
4815 - hscroll_ValueChanged, vscroll_ValueChanged: Fixed scroll
4816 calculations; no longer leaves artifacts
4817 - CaretMoved: Adjusted window scrolling to match MS and fixed several
4818 calculation bugs (Still missing right/center align calculations)
4820 2006-07-31 Peter Dennis Bartok <pbartok@novell.com>
4822 * XPlatUIWin32.cs: Made ScrollRectEx a bit more flexible, and removed
4823 use of both scroll rect and clip rect, as they do the same.
4825 2006-07-31 Peter Dennis Bartok <pbartok@novell.com>
4827 * Control.cs (WM_CHAR WndProc): 2.0 profile allows changing the key
4828 in the event handler (fixes #78912)
4830 2006-07-31 Chris Toshok <toshok@ximian.com>
4832 * ThemeWin32Classic.cs: use grid.RowsCount here instead of
4833 grid.ListManager.Count, since grid.ListManager might be null.
4834 This of course begs the question "why are we drawing rows for a
4835 grid with no list manager (and therefor no rows)?" Fixes the
4836 crash in bug #78929.
4838 2006-07-31 Chris Toshok <toshok@ximian.com>
4840 * RelatedPropertyManager.cs: Don't always chain up to the parent
4841 ctor. instead, call SetDataSource if the parent's position is !=
4842 -1. Fixes the crash in #78822.
4844 2006-07-31 Chris Toshok <toshok@ximian.com>
4846 * DataGrid.cs (get_ListManager): use field instead of property
4847 accessors for datasource and datamember.
4848 (RowsCount): make internal again.
4849 (OnMouseDown): end edits before resizing columns/rows.
4850 (OnMouseUp): restart edits after resizing columns/rows.
4852 2006-07-30 Peter Dennis Bartok <pbartok@novell.com>
4854 * XplatUIX11.cs: Default cursor cannot be 0 or it will not get set.
4855 This fixes the situation where the last set cursor is displayed
4856 whenever the mouse is over scrollbars.
4858 2006-07-30 Carlos Alberto Cortez <calberto.cortez@gmail.com>
4860 * PrintDialog.cs: Fix the behaviour of PrinterSettings and
4861 Document properties, as well as initial values.
4863 2006-07-29 Peter Dennis Bartok <pbartok@novell.com>
4865 * XplatUIWin32.cs (SetBorderStyle): Setting both border
4866 and ClientEdge results in a 3-pixel border, which is
4869 2006-07-28 Jackson Harper <jackson@ximian.com>
4871 * TreeNodeCollection.cs: Fix the clear method.
4872 - Fix the Shrink also
4874 2006-07-27 Jackson Harper <jackson@ximian.com>
4876 * TreeView.cs: Make sure the visible order is computed when we
4877 attempt to size the scrollbars (for trees that mess with the
4878 scrolling when they shouldn't.
4879 - Make sure to give the scrollbars valid values.
4881 2006-07-26 Peter Dennis Bartok <pbartok@novell.com>
4883 * XplatUIX11.cs: Move motion compression code to where it
4884 has less performance impact
4886 2006-07-26 Jackson Harper <jackson@ximian.com>
4888 * UpDownBase.cs: When the control is selected make the child
4889 controls non selectable, so that a click on them won't do a
4890 focus/unfocus cycle.
4891 - Don't give focus to the text box when the spinner is selected.
4892 * XEventQueue.cs: Peek on both the x11 queue and the lock queue.
4894 2006-07-26 Chris Toshok <toshok@ximian.com>
4896 * ThemeWin32Classic.cs: add print preview rendering. I'm not
4897 satisfied with this solution. If the bitmaps are small, we should
4898 just cache them in the PrintPreviewDialog and draw them here.
4899 Also, the layout is broken for the 2-up and 3-up cases.
4901 * Theme.cs: add PrintPReviewControlPaint.
4903 * PrintPreviewDialog.cs: first pass implementation.
4905 * PrintPreviewControl.cs: first pass implementation. No
4908 * PrintDialog.cs: only validate fields if that particular portion
4909 of the UI is enabled. Also, set the document's controller to a
4910 PrintControllerWithStatusDialog wrapping the document's print
4913 * PrintControllerWithStatusDialog.cs: if we're printing to a file,
4914 bring up a SaveFileDialog (i hope we don't want to match the
4915 behavior of the crappy windows file entry) and set the
4916 PrinterSettings.PrintFileName accordingly.
4918 2006-07-26 Jackson Harper <jackson@ximian.com>
4920 * ContainerControl.cs: Add a field that disables auto selecting
4921 the next control in a container when the container is activated.
4922 * UpDownBase.cs: Don't select the text box when the up down is
4925 2006-07-26 Peter Dennis Bartok <pbartok@novell.com>
4927 * XEventQueue.cs: Added methods for peeking (used for compression
4928 of successive events)
4929 * XplatUIX11.cs (GetMessage): We're now compressing consecutive
4930 mouse move events (fixes #78732)
4932 2006-07-25 Jackson Harper <jackson@ximian.com>
4934 * UpDownBase.cs: Use an internal class for the textbox so that we
4935 can control focus. the updown control should always have focus,
4936 if either the text area or the buttons are clicked.
4937 - Send the key messages to the textbox, since it never actually
4939 - Activate and decativate the textbox caret.
4941 2006-07-24 Jackson Harper <jackson@ximian.com>
4943 * Control.cs: Use the directed select when selecting a control,
4944 this way the container controls override will get called and the
4945 whole ActiveControl chain will get triggered. TODO: probably need
4946 to make sure this gets done everywhere instead of the old
4948 * ContainerControl.cs: Implement the directed Select method to
4949 find and activate the correct child control.
4951 2006-07-22 Mike Kestner <mkestner@novell.com>
4953 * Form.cs: use Control.MousePosition for NCLBUTTONDOWN in the menu
4954 menu handling code so that clicks without a grab work too.
4957 2006-07-22 Alexander Olk <alex.olk@googlemail.com>
4959 * FileDialog.cs: Enable the BackButton when dirstack has one element.
4960 Added some small optimizations.
4962 2006-07-21 Matt Hargett <matt@use.net>
4964 * Control.cs: Implemented 2.0 MinimumSize/MaximumSize properties
4966 2006-07-21 Peter Dennis Bartok <pbartok@novell.com>
4968 * Control.cs (GetNextControl): Fixes to make all of Jackson's unit
4969 tests pass and match MS in some strange border cases.
4971 2006-07-21 Chris Toshok <toshok@ximian.com>
4973 * ThemeWin32Classic.cs: handle drawing of the relation links and
4976 * Theme.cs: change args to DataGridPaintParentRow.
4978 * DataGrid.cs: Don't use controls for the relation links and
4979 parent buttons, so we have to handle all their interactions in
4980 MouseMove, MouseDown, MouseUp, etc. Also, store a lot more stuff
4981 when we're navigating through child tables, so we can reinstate
4982 selection, expanded state, current cell, etc.
4984 2006-07-20 Chris Toshok <toshok@ximian.com>
4986 * ToolBar.cs: When we redraw a button, for whatever reason,
4987 there's no reason to redraw the entire toolbar. Also, don't call
4988 Control.Refresh from within Redraw, as it's much heavier than
4989 Invalidate (which is really what we want).
4991 2006-07-20 Chris Toshok <toshok@ximian.com>
4993 * DataGrid.cs, CurrencyManager.cs, DataGridColumnStyle.cs,
4994 DataGridTextBoxColumn.cs, DataGridTextBox.cs,
4995 ThemeWin32Classic.cs, ListControl.cs: After staring at stack
4996 traces from within a debug IBindingList datasource
4997 (in mono/winforms/datagrid) for *days*, I've finally gotten things
4998 to work in a similar fashion.
5000 2006-07-20 Carlos Alberto Cortez <calberto.cortez@gmail.com>
5002 * ListBox.cs: Don't call Sort () when setting
5003 the Sorted property to false (avoid an unnecessary sort).
5005 2006-07-20 Carlos Alberto Cortez <calberto.cortez@gmail.com>
5007 * ListControl.cs: DataSource should throw an ArgumentException
5008 instead of a normal exception when the argument is not of the
5011 2006-07-20 Mike Kestner <mkestner@novell.com>
5013 * Control.cs: add InternalPreProcessMessage to allow us to steal
5014 key events before MWF gets its paws on them. Adapted from a
5016 * ToolBar.cs: add GotLostFocus handing for flat toolbars, with
5017 up/down/left/right navigation. Override the new internal control
5018 method to steal the events since they never make it to WndProc.
5019 * ToolBarButton.cs: don't worry about pushed when setting hilight
5020 since the drawing code prefers pushed to hilight. Invalidate on
5021 Hilight changes. Fixes #78547 and #78525.
5023 2006-07-20 Peter Dennis Bartok <pbartok@novell.com>
5025 * ScrollableControl.cs: Consider AutoScrollMinSize when calculating
5026 the canvas size. Fixes #78868
5028 2006-07-20 Peter Dennis Bartok <pbartok@novell.com>
5030 * Splitter.cs: Track requested split position until first layout
5031 is performed. Fixes #78871
5033 2006-07-20 Peter Dennis Bartok <pbartok@novell.com>
5035 * Application.cs: Removed code that forces 1.x for the version
5036 number if the version started with 0. Not sure why that code was
5037 there and I couldn't find any bugs that indicated we needed it.
5040 2006-07-20 Alexander Olk <alex.olk@googlemail.com>
5042 * ThemeWin32Classic.cs: Don't throw a NotImplementedException in
5043 ResetDefaults(), just write some output to the console until it's
5044 implemented. Fixes bug #78907 for now. Eliminated two warnings.
5046 2006-07-19 Jonathan Chambers <joncham@gmail.com>
5048 * PropertyGridView.cs: set StartPosition of drop down forms
5049 so they appear in correct initial spot. Fixes #78190.
5051 2006-07-19 Mike Kestner <mkestner@novell.com>
5053 * ThemeWin32Classic.cs: use parent background color when drawing
5054 flat toolbars. Restructure the conditionals to make sure non-flat
5055 non-Divider toolbars are filled too. Fixes #78837.
5057 2006-07-19 Mike Kestner <mkestner@novell.com>
5059 * ListBox.cs: Sort on collection changes even if the handle
5060 isn't created yet. Fixes #78813.
5062 2006-07-18 Carlos Alberto Cortez <calberto.cortez@gmail.com>
5064 * ListControl.cs: DisplayMember should never be null,
5065 and now we assign String.Empty when null is passed to it (this
5068 2006-07-17 Mike Kestner <mkestner@novell.com>
5070 * ListViewItem.cs: restructure Font and subitem Font handling
5071 to hold a specific font and refer back to owner on null.
5074 2006-07-17 Mike Kestner <mkestner@novell.com>
5076 * ToolBar.cs: bandaid for side-effect of previous patch which was
5077 discarding explicit heights for non-AutoSize toolbars. Need to
5078 extend my format tester to deal with AutoSize=false. Fixes #78864.
5080 2006-07-15 Jackson Harper <jackson@ximian.com>
5082 * LabelEditTextBox.cs:
5083 * TreeView.cs: Use a new LabelEdit class for node editing, this
5084 class automatically 'closes' itself when it gets the enter key or
5086 - Use the client rectangle when setting the trees scrollbars, so
5087 border style is taken into account.
5089 2006-07-14 Jackson Harper <jackson@ximian.com>
5092 * TreeView.cs: Make the editing work similar to MSs, firing the
5093 events correctly and ending edits correctly.
5095 2006-07-14 Mike Kestner <mkestner@novell.com>
5098 * ToolBar.cs: layout restructuring and redraw enhancements to support
5099 formatting changes gracefully, like setting TextAlign, ImageList,
5100 ButtonSize, and Appearance. Handles explicit button sizing quirks
5101 of the MS controls. Things like flat toolbars ignoring button size
5102 but becoming constant sized at the largest button's size. Normal
5103 toolbars with an image set cannot be shrunk smaller than the image,
5104 but text can be clipped/ignored.
5105 * ThemeWin32Classic.cs: don't draw text if text_rect height or width
5106 is zero. Seems like DrawString should be smart enough to not put
5107 anything on screen though. Also trim labels and ellipsize at the char
5109 Fixes #78711 and #78483.
5111 2006-07-14 Alexander Olk <alex.olk@googlemail.com>
5113 * FolderBrowserDialog.cs: Disable "New Folder" button and
5114 "New Folder" contextmenu menuitem if a folder like "My Computer"
5117 2006-07-14 Alexander Olk <alex.olk@googlemail.com>
5119 * FileDialog.cs: Don't create a new folder in "MyComputer" folder.
5120 * FolderBrowserDialog.cs:
5121 - Use MWFConfig to store and read size and position settings
5122 - Added code to create a new folder (button or context menu).
5123 Use TreeView labeledit to change the name of the new folder.
5125 2006-07-14 Jackson Harper <jackson@ximian.com>
5127 * TreeView.cs: Raise the OnAfterLabelEdit event correctly. Also,
5128 when the tree is scrolled we end editing.
5130 2006-07-14 Alexander Olk <alex.olk@googlemail.com>
5132 * ThemeWin32Classic.cs: Fixed position of CPDrawScrollButton Up and
5135 2006-07-14 Jonathan Pobst <monkey@ipobst.com>
5137 WebBrowserProgressChangedEventHandler.cs, BindingCompleteEventArgs.cs,
5138 BindingCompleteEventHandler.cs, BindingManagerDataErrorEventArgs.cs,
5139 BindingManagerDataErrorEventHandler.cs, CacheVirtualItemsEventArgs.cs,
5140 CacheVirtualItemsEventHandler.cs, ColumnReorderedEventArgs.cs,
5141 ColumnReorderedEventHandler.cs, ColumnWidthChangedEventArgs.cs,
5142 ColumnWidthChangedEventHandler.cs, ColumnWidthChangingEventArgs.cs,
5143 ColumnWidthChangingEventHandler.cs, FormClosedEventArgs.cs,
5144 FormClosedEventHandler.cs, FormClosingEventArgs.cs,
5145 FormClosingEventHandler.cs, ItemCheckedEventArgs.cs,
5146 ItemCheckedEventHandler.cs, ListControlConvertEventArgs.cs,
5147 ListControlConvertEventHandler.cs, ListViewItemMouseHoverEventArgs.cs,
5148 ListViewItemMouseHoverEventHandler.cs, ListViewItemSelectionChangedEventArgs.cs,
5149 ListViewItemSelectionChangedEventHandler.cs,
5150 ListViewVirtualItemsSelectionRangeChangedEventArgs.cs,
5151 ListViewVirtualItemsSelectionRangeChangedEventHandler.cs,
5152 MaskInputRejectedEventArgs.cs, MaskInputRejectedEventHandler.cs,
5153 PopupEventArgs.cs, PopupEventHandler.cs, PreviewKeyDownEventArgs.cs,
5154 PreviewKeyDownEventHandler.cs, RetrieveVirtualItemEventArgs.cs,
5155 RetrieveVirtualItemEventHandler.cs, SearchForVirtualItemEventArgs.cs,
5156 SearchForVirtualItemEventHandler.cs, SplitterCancelEventArgs.cs,
5157 SplitterCancelEventHandler.cs, TabControlCancelEventArgs.cs,
5158 TabControlCancelEventHandler.cs, TabControlEventArgs.cs,
5159 TabControlEventHandler.cs, TableLayoutCellPaintEventArgs.cs,
5160 TableLayoutCellPaintEventHandler.cs, ToolStripDropDownClosedEventArgs.cs,
5161 ToolStripDropDownClosedEventHandler.cs, ToolStripDropDownClosingEventArgs.cs,
5162 ToolStripDropDownClosingEventHandler.cs, TreeNodeMouseClickEventArgs.cs,
5163 TreeNodeMouseClickEventHandler.cs, TreeNodeMouseHoverEventArgs.cs,
5164 TreeNodeMouseHoverEventHandler.cs, TypeValidationEventArgs.cs,
5165 TypeValidationEventHandler.cs, WebBrowserDocumentCompletedEventArgs.cs,
5166 WebBrowserDocumentCompletedEventHandler.cs, WebBrowserNavigatedEventArgs.cs,
5167 WebBrowserNavigatedEventHandler.cs, WebBrowserNavigatingEventArgs.cs,
5168 WebBrowserNavigatingEventHandler.cs,
5169 WebBrowserProgressChangedEventArgs.cs: New 2.0 Event Handlers
5171 2006-07-14 Jonathan Pobst <monkey@ipobst.com>
5173 MergeAction.cs, PowerLineStatus.cs, PowerState.cs, PreProcessControlState.cs,
5174 RichTextBoxLanguageOptions.cs, ScreenOrientation.cs, ScrollOrientation.cs,
5175 SearchDirectionHint.cs, SystemParameter.cs, TabControlAction.cs,
5176 TableLayoutPanelCellBorderStyle.cs, TextDataFormat.cs, TextImageRelation.cs,
5177 ToolStripDropDownCloseReason.cs, ToolStripDropDownDirection.cs,
5178 ToolStripGripDisplayStyle.cs, ToolStripGripStyle.cs,
5179 ToolStripItemAlignment.cs, ToolStripItemDisplayStyle.cs,
5180 ToolStripItemImageScaling.cs, ToolStripItemOverflow.cs,
5181 ToolStripItemPlacement.cs, ToolStripLayoutStyle.cs,
5182 ToolStripManagerRenderMode.cs, ToolStripRenderMode.cs,
5183 ToolStripStatusLabelBorderSides.cs, ToolStripTextDirection.cs,
5184 ToolTipIcon.cs, TreeNodeStates.cs, TreeViewDrawMode.cs,
5185 TreeViewHitTestLocations.cs, UnhandledExceptionMode.cs, ValidationConstraints.cs,
5186 WebBrowserEncryptionLevel.cs, WebBrowserReadyState.cs, WebBrowserRefreshOption.cs,
5187 ArrowDirection.cs, AutoCompleteMode.cs, AutoCompleteSource.cs, AutoSizeMode.cs,
5188 AutoValidate.cs, BatteryChargeStatus.cs, BindingCompleteContext.cs,
5189 BindingCompleteState.cs, CloseReason.cs, ColumnHeaderAutoResizeStyle.cs,
5190 ControlUpdateMode.cs, DataSourceUpdateMode.cs, DockingBehavior.cs,
5191 FixedPanel.cs, FlowDirection.cs, GetChildAtPointSkip.cs,
5192 HtmlElementInsertionOrientation.cs, InsertKeyMode.cs, ListViewHitTestLocations.cs,
5193 ListViewItemStates.cs, MaskFormat.cs: Added
5195 2006-07-13 Jonathan Chambers <joncham@gmail.com>
5197 * PropertyGridView.cs: Fix keyboard navigation of drop down.
5198 Patch from eno for bug 78558.
5200 2006-07-13 Jackson Harper <jackson@ximian.com>
5202 * TreeView.cs: When an edit is finished make sure that the
5203 selected node is visible.
5204 - When setting the top/bottom use the scrollbars is_visible, so
5205 everything will be set correctly even if the tree isn't visible
5208 2006-07-13 Jackson Harper <jackson@ximian.com>
5210 * ComboBox.cs: Revert the item->index part of my previous patch.
5211 * TreeView.cs: Use LostFocus instead of Leave for detecting when
5212 the edit box has lost focus (duh).
5213 - Just make the edit box not visible when we get return, that will
5214 take the focus, which will call EndEdit
5215 * TreeNode.cs When we start editing, notify the treeview.
5217 2006-07-12 Jackson Harper <jackson@ximian.com>
5219 * ComboBox.cs: Clear out old items before setting the item list.
5220 This prevents databound controls from having their items added
5222 - Switch the combobox to use indices whereever possible instead of
5223 using Item's. This allows usto navigate through lists that have
5224 more then one item with the same string value (ie a, b, b, a).
5225 - Scroll the listboxes scrollbar when a non visible item is
5227 - Allow keypress to cycle through all the possible values. For
5228 example if you have b1, b2, b3 and hold down the B key all the
5229 values will be cycled through.
5231 2006-07-12 Jackson Harper <jackson@ximian.com>
5234 * ListView.cs: Don't need to override SETFOCUS anymore, we can do
5235 this using the internal methods.
5236 * Control.cs: Add OnGotFocusInternal. A new method that allows
5237 controls to "override" OnGotFocus and change focus behavior if
5239 - Same thing for LostFocus
5240 * ComboBox.cs: Pass off focus to the text control properly.
5242 2006-07-12 Alexander Olk <alex.olk@googlemail.com>
5244 * FileDialog.cs: Added GetFoldersOnly to MWFVFS
5245 * FolderBrowserDialog.cs: Almost a complete rewrite.
5246 - Better support for Environment.Specialfolders
5247 - Added support for MWFVFS
5248 - Made setting SelectedPath work
5250 2006-07-12 Jackson Harper <jackson@ximian.com>
5252 * Control.cs: Optimze getting all the controls.
5254 2006-07-11 Jackson Harper <jackson@ximian.com>
5256 * ContainerControl.cs: Override SETFOCUS in the container control,
5257 so that it is not selected on mouse click.
5259 2006-07-11 Peter Dennis Bartok <pbartok@novell.com>
5261 * LinkLabel.cs: Hack to handle Shift-Tabbing to the linklabel.
5262 Hopefully we will have a better way once all of focus is complete.
5264 2006-07-11 Peter Dennis Bartok <pbartok@novell.com>
5266 * ThemeWin32Classic.cs: Commented out some debug code and fixed
5267 a compile error with csc.
5269 2006-07-11 Jackson Harper <jackson@ximian.com>
5271 * Control.cs: When hiding a control only select the next control
5272 if the current control was focused.
5273 - Don't handle enter/leave when setting/killing focus, this is
5274 done by the container control.
5275 - Remove is_selected, it's not needed anymore.
5276 - Add utility methods for selecting a child control, and for
5277 firing the Enter/Leave events.
5278 * ContainerControl.cs: When a control is activated fire the
5280 - Don't wrap when processing the tab key, so that focus can be
5281 moved outside of the container.
5282 - Use the correct active control
5284 2006-07-11 Jackson Harper <jackson@ximian.com>
5286 * ComboBox.cs: Remove some debug code that was blinding me.
5287 * UpDownBase.cs: These controls actually aren't implicit, they are
5288 visible to the user.
5290 2006-07-10 Chris Toshok <toshok@ximian.com>
5292 * DataGrid.cs: move back to the is_adding boolean field. god i
5293 hate this is_editing/is_adding/is_changing stuff.
5295 2006-07-10 Chris Toshok <toshok@ximian.com>
5297 * DataGridTableStyle.cs: just check if the property type is bool.
5298 if it is, use DataGridBoolColumn, otherwise DataGridTextBoxColumn.
5299 Don't use CanRenderType.
5301 * DataGridTextBoxColumn.cs: set the value to DBNull.Value, not "",
5302 if our text == NullText. Remove CanRenderType.
5304 * DataGridBoolColumn.cs: nuke CanRenderType.
5306 * DataGrid.cs: reenable some code to end the current edit inside
5307 of set_CurrentCell. This fixes the other 1.1.16 regression.
5308 Also, remove rowhdrs_maxheight and just use rowhdrs_area.Height.
5309 Also, remove the visible_row_count arg from CalcRowHeaders, since
5310 we don't need to worry about the actual height of the area.
5312 2006-07-10 Chris Toshok <toshok@ximian.com>
5314 * DataGridTextBoxColumn.cs: if when we Commit we're in navigate
5317 * DataGridTextBox.cs: change "isedit" to "isnavigating" to reflect
5318 the real sense of the IsInEditOrNavigateMode property (true =
5319 navigate, false = edit). Also, update OnKeyPress to reflect this.
5321 * DataGridTableStyle.cs (CreateColumnsForTable): even if the
5322 column style exists, we still need to set its property descriptor
5323 to match up with our list manager.
5325 2006-07-10 Chris Toshok <toshok@ximian.com>
5327 * ThemeWin32Classic.cs: implement the new row/header painting
5328 approach. The parent row painting will likely go away and
5329 replaced with label controls, but the rest seems to work ok (and
5332 * Theme.cs: change the way we draw datagrid rows. we don't draw
5333 the row headers as a block now. Instead we draw them in the
5334 normal draw-row loop. Add some calls for drawing parent rows and
5337 * DataGridTableStyle.cs: add tons of ArgumentExceptions if this is
5338 a default table style. Set the defaults from ThemeEngine.Current,
5339 not SystemColors. Fix lots of misc issues with property setters.
5341 * DataGrid.cs: move loads of style information out of this class
5342 as it's being duplicated with DataGridTableStyle. keep track of a
5343 special DataGridTableStyle for the properties we used to mirror
5344 here. Switch all the style properties to access this table style
5345 instead of instance fields of this class. Also add a internal
5346 class to represent parent rows (more needs to be stored here, like
5347 the selection state from the parent table, as well as the
5348 expansion state.) Also, for datasources with relations, do the
5349 right thing for collapse/expand, and add support for the
5350 navigation/parent row buttons.
5352 Lastly, fix the crash in the 1.1.16 build.
5354 * GridTableStylesCollection.cs: make the explicit interface
5355 implementations call the class's methods as opposed to duplicating
5358 * DataGridTextBoxColumn.cs: set the x/y offset of the textfield to
5359 0 so the text doesn't jump around when we move the cursor.
5361 2006-07-10 Jackson Harper <jackson@ximian.com>
5364 * ListBox.cs: Match MS's ToString (this makes debugging focus
5365 stuff infinitely easier).
5367 2006-07-10 Jackson Harper <jackson@ximian.com>
5369 * Control.cs (SelectNextControl): When checking the control's
5370 parent use this instead of ctrl.parent so that null can be passed
5371 to SelectNextControl. (I have unit tests for this).
5372 - Remove unused var.
5374 2006-07-10 Chris Toshok <toshok@ximian.com>
5376 * CurrencyManager.cs: correct one regression, the removal of the
5377 finalType field. Also, add a MonoTODO on CanAddRows, implement
5378 Refresh() correctly, and fix some event emission in
5381 2006-07-07 Alexander Olk <alex.olk@googlemail.com>
5383 * FileDialog.cs: Don't use brackets for new folders if they exist
5384 under *nix. Instead use -(number of existing folders +1).
5386 2006-07-07 Alexander Olk <alex.olk@googlemail.com>
5389 - Fixed really nasty bug #78771
5390 - Don't block the whole GUI when reading directories with a lot of
5391 entries. Use an other thread instead and call BeginInvoke to
5392 update the ListView in MWFFileView
5394 2006-07-07 Chris Toshok <toshok@ximian.com>
5396 * Control.cs (Dispose): release any Capture when disposing.
5398 2006-07-07 Chris Toshok <toshok@ximian.com>
5400 * LinkLabel.cs (Select): if we chain up to the parent, set
5401 focused_index to -1 so we'll search for the first available link
5402 the next time the user tabs into us. Also, if the direction is
5403 backward and focused_index == -1, start the search from the last
5406 2006-07-07 Chris Toshok <toshok@ximian.com>
5408 * LinkLabel.cs (CreatePiecesFromText): if the link's range piece
5409 is beyond the end of the text, don't do anything.
5410 (CreateLinkPieces): set our ControlStyles.Selectable based on
5411 whether or not we have any links.
5412 (Link.Invalidate): use a loop instead of foreach.
5413 (Link.set_Start): null out owner.sorted_links so it'll be
5414 recreated by CreateLinkPieces.
5416 2006-07-06 Chris Toshok <toshok@ximian.com>
5418 * LinkLabel.cs: revert the SetStyle change.
5420 2006-07-06 Chris Toshok <toshok@ximian.com>
5422 * LinkLabel.cs (.ctor): SetStyle Selectable to true.
5423 (OnEnableChanged): s/Refresh/Invalidate
5424 (OnGotFocus): if we have a focused index already, refocus it (so
5425 if we mouse out/in to the window it'll focus the right link).
5426 (OnKeyDown): move the tab handling out of here.
5427 (OnLostFocus): don't set focused_index to -1, so we can refocus it
5429 (OnMouseDown): don't Capture here - Control handles it. Also,
5430 focus the active link.
5431 (OnMouseUp): don't deal with Capture.
5432 (OnPaintBackgroundInternal): remove.
5433 (OnTextAlignChanged): CreateLinkPieces before calling the
5434 superclass's method.
5435 (OnTextChanged): call CreateLinkPieces before calling superclass's
5437 (ProcessDialogKey): handle Tab here, and call Select(bool,bool) to
5439 (Select): implement this, moving the selection between different
5440 links, and call parent.SelectNextControl if we don't have another
5441 link to focus in the given direction.
5442 (CreateLinkPieces): call Invalidate instead of Refresh.
5444 2006-07-06 Chris Toshok <toshok@ximian.com>
5446 * ThemeWin32Classic.cs: DrawLinkLabel changes to accomodate the
5447 new LinkLabel internals.
5449 * LinkLabel.cs: fairly major rewrite. get rid of all the loops
5450 over pieces looking for active/focused/etc links. also, deal with
5451 runs of text (and links) with embedded \n's in them, and use
5452 MeasureCharacterRanges instead of MeasureString to figure out the
5453 regions text occupies. Lastly, do the usual s/Refresh/Invalidate
5456 2006-07-04 Jackson Harper <jackson@ximian.com>
5458 * XplatUIX11.cs: Enable key auto repeat. If the user doesn't have
5459 XKB or key auto repeat, do it manually. Without key auto repeat,
5460 when a key is held down we get key press, key release, key press,
5461 key release, ... with auto repeat we get key press, key press, key
5462 press ..., and then a release when the key is actually released.
5464 2006-07-03 Jackson Harper <jackson@ximian.com>
5467 * ThemeWin32Classic.cs: Tabs do not obey normal background color
5468 rules, they are always control color regardless of the background
5471 2006-07-02 Alexander Olk <alex.olk@googlemail.com>
5473 * FileDialog.cs: Added internal class MWFConfig.
5474 Removed Registry support and replaced it with support for the new
5475 MWFConfig class. See MWFConfig comments for more information.
5477 2006-06-30 Alexander Olk <alex.olk@googlemail.com>
5479 * ThemeWin32Classic.cs: Added RadioButton and CheckBox focus
5480 rectangle. Added some patches from eno from bug #78490 and fixed
5481 the arrow position for small up and down CPDrawScrollButtons.
5483 2006-06-30 Jackson Harper <jackson@ximian.com>
5485 * InternalWindowManager.cs: Remove some debug code.
5486 * Form.cs: When an MdiParent is set to null, the window is
5487 "detatched" and becomes a normal window.
5488 * MdiClient.cs: Don't bring the new child form to the front until
5489 it is activated (setting it as active does this), this makes the
5490 previously active forms titlebar get redrawn as inactive.
5492 2006-06-29 Peter Dennis Bartok <pbartok@novell.com>
5494 * PrintDialog.cs: Labels need a tab index too, otherwise they overlap
5497 2006-06-29 Mike Kestner <mkestner@novell.com>
5499 * MenuAPI.cs: handle arrow keys in keynav state. Go active on down
5500 arrow in keynav state. Fixes #78682.
5502 2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
5504 * PrintDialog.cs: Reorder, relayout, remove extra code, set tab
5505 order (fixes #78393)
5507 2006-06-28 Jonathan Pobst <monkey@ipobst.com>
5509 * AccessibleRole.cs, AccessibleStates.cs, AnchorStyles.cs,
5510 ArrangeDirection.cs, ArrangeStartingPosition.cs, ColorDepth.cs,
5511 ControlStyles.cs, DataGridViewImageCellLayout.cs, DrawMode.cs,
5512 FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs,
5513 GridItemType.cs, HelpNavigator.cs, ImeMode.cs, ItemActivation.cs,
5514 ItemBoundsPortion.cs, Keys.cs, ListViewAlignment.cs,
5515 PictureBoxSizeMode.cs, PropertySort.cs, SelectionMode.cs,
5516 Shortcut.cs, SizeGripStyle.cs, SortOrder.cs, StructFormat.cs,
5517 TextFormatFlags.cs, ToolBarAppearance.cs, ToolBarButtonStyle.cs,
5518 ToolBarTextAlign.cs, View.cs: 2.0 Changes to existing 1.x
5519 enumerations (FlagsAttribute, SerializableAttribute, added/removed
5522 2006-06-28 Mike Kestner <mkestner@novell.com>
5524 * ComboBox.cs: implement scroll wheel support. Fixes #78360.
5526 2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
5529 PropertyGridTextBox.cs : explicitly set BackColor to differentiate
5530 item lines from other area (It also makes BackColor consistent and
5531 compatible with .NET). Fixed bug #78564.
5533 2006-06-28 Jonathan Chambers <jonathan.chambers@ansys.com>
5535 * PropertyGrid.cs: refresh toolbar when PropertySort is set.
5536 Patch from Eno for #78555.
5538 2006-06-27 Chris Toshok <toshok@ximian.com>
5540 * ThemeWin32Classic.cs: s/grid.grid_drawing/grid
5542 * DataGridColumnStyle.cs: same.
5544 * DataGrid.cs: Roll DataGridDrawingLogic.cs into this file.
5546 * DataGridDrawingLogic.cs: nuke.
5548 2006-06-27 Chris Toshok <toshok@ximian.com>
5550 * DataGridTableStyle.cs: clean up the constructors, and build the
5551 list of child relations for this table. I have no idea if this is
5552 where we should be doing it (it probably isn't), but since we're
5553 already iterating over the properties..
5555 * DataGrid.cs: add row resizing. for now we add a DataGridRow
5556 struct and array for keeping track of row information, similar to
5557 what's shown in a hack on
5558 http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c44c.aspx.
5560 * Theme.cs: be consistent about the naming of DataGrid methods,
5561 prefering ColumnWidths and RowHeights over columnsWidths and
5564 * ThemeWin32Classic.cs: same, and also add support for variable
5565 sized rows (and the +/- expansion icons for related rows).
5567 2006-06-27 Peter Dennis Bartok <pbartok@novell.com>
5569 * TextBoxBase.cs: Applied Eno's patch from #78660
5571 2006-06-27 Peter Dennis Bartok <pbartok@novell.com>
5573 * Form.cs (ScaleCore): We don't want to scale our form if it's
5574 state is minimized or maximized, but we still need to scale our
5575 child windows. Also, added try/finally block to ensure layout
5576 gets reset (Fixes #78697)
5578 2006-06-27 Peter Dennis Bartok <pbartok@novell.com>
5580 * Control.cs: Added 2.0 Scale(SizeF) method (Fixes 78700)
5582 2006-06-27 Peter Dennis Bartok <pbartok@novell.com>
5584 * Form.cs: Fixed c+p error and added check to resize form if minimum
5585 size is bigger than current size (Fixes #78709)
5587 2006-06-26 Peter Dennis Bartok <pbartok@novell.com>
5589 * ThemeEngine.cs (..ctor): Properly use ToLower() (Fixes #78704)
5591 2006-06-26 Mike Kestner <mkestner@novell.com>
5593 * ComboBox.cs: only do Keypress handling in the combo when there
5594 are items in the collection. Fixes #78710.
5596 2006-06-26 Chris Toshok <toshok@ximian.com>
5598 * Binding.cs: make this work bi-directionally. also, clear up
5599 other mixups between Push/Pull Data (e.g. we're supposed to pull
5600 data when validating).
5602 * BindingManagerBase.cs: trim some fully qualified collection
5605 * PropertyManager.cs (get_IsSuspended): oops, fix this check.
5607 2006-06-23 Chris Toshok <toshok@ximian.com>
5609 * PropertyManager.cs: It appears (according to the unit tests)
5610 that PropertyManager doesn't use
5611 PropertyDescriptor.AddValueChanged to track propery value changes
5612 in its datasource, but uses the same scheme as Binding, where it
5613 looks for a <Property>Changed event and binds to it.
5615 Also, according to the docs, IsSuspended always returns false for
5616 a property manager with a non-null datasource.
5618 2006-06-22 Peter Dennis Bartok <pbartok@novell.com>
5620 * Form.cs: (ShowDialog): If we're returning a forced cancel we still
5621 need to update the actual DialogResult. (Fixes #78613)
5623 2006-06-22 Peter Dennis Bartok <pbartok@novell.com>
5625 * Form.cs (ShowDialog): Release any captures before running the
5626 new message pump (fixes #78680)
5628 2006-06-22 Mike Kestner <mkestner@novell.com>
5630 * ListView.cs: Layout column widths properly in details mode even
5631 if HeaderStyle.None is set. Fixes #78691.
5633 2006-06-21 Peter Dennis Bartok <pbartok@novell.com>
5635 * FileDialog.cs: Fixed taborder to match MS. Fixes #77873 partially.
5637 2006-06-21 Peter Dennis Bartok <pbartok@novell.com>
5639 * Control.cs (ContainsFocus): Using new driver method to get focused
5640 window, instead of trying to use internal tracking var, which can
5641 recursion issues (Fixes #78685)
5642 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
5643 XplatUIWin32.cs: Added GetFocus method to return focused window
5645 2006-06-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5647 * ColorDialog.cs: when the mouse button is pressed inside the color
5648 matrix, don't let the cursor move out of it until the button is
5649 released, which is the behavior on windows. Changed 'colours' by
5650 'colors' to use the same word consistently.
5652 2006-06-21 Chris Toshok <toshok@ximian.com>
5654 * DataGrid.cs: add in some basic navigation stuff (navigating to a
5655 child relation and back, using a stack). Also, remove
5656 GetDataSource and the code that calls it - it's not needed. Also,
5657 track CurrencyManager.ListName's removal.
5659 2006-06-21 Chris Toshok <toshok@ximian.com>
5661 * CurrencyManager.cs: push some of the original type checking from
5662 BindingContext.CreateBindingManager to here, and remove some of
5663 the finalType stuff. Need more tests to make sure I've got the
5664 ListName part right, and we might need more in SetDataSource.
5666 * PropertyManager.cs: add a ctor that takes just the datasource,
5667 and no property name. Make SetDataSource work with a null
5668 property_name, and make Current return the data_source if the
5669 property descriptor is null. this makes 'string foo = "hi";
5670 BindingContext[foo].Current' return "hi" as it should.
5672 * RelatedCurrencyManager.cs: make this code more generic - there's
5673 no reason the parent manager has to be CurrencyManager, and
5674 there's no reason to pass the DataRelation. It suffices to use a
5675 BindingManagerBase and PropetyDescriptor.
5677 * RelatedPropertyManager.cs: make a similar change here.
5679 * BindingContext.cs: make CreateBindingManager the beautiful, tiny
5680 flower I knew it could be.
5682 2006-06-20 Chris Toshok <toshok@ximian.com>
5684 * PropertyManager.cs: the PropertyChangedHandler is invoked when
5685 data in the source has changed and we need to update the control,
5686 so s/PullData/PushData.
5688 * CurrencyManager.cs: Refresh is meant to update the control from
5689 data in the datasource. So, s/PullData/PushData.
5691 * BindingContext.cs: add more ugliness (we weren't handling the
5692 case where data_source = DataTable and data_member = column_name).
5694 * Binding.cs: fix PushData/PullData mixup. Both are interpreted
5695 from the perspective of the datasource. PullData pulls from the
5696 control, PushData pushes to the control.
5698 2006-06-20 Chris Toshok <toshok@ximian.com>
5700 * BindingContext.cs: rewrite the CreateBindingManager code to
5701 handle navigation paths more or less properly. This could
5702 definitely stand some more work, in particular to push the
5703 recursion up to the toplevel. But that relies on fixes in other
5704 places (System.Data comes to mind).
5706 Also, move to a flat hashtable (and encode the twolevel nature of
5707 the dictionary into the hash key). This lets us implement the
5708 IEnumerable.GetEnumerator method.
5710 * RelatedCurrencyManager.cs: new class. Update our view based on
5711 our relation and our parent CurrencyManager's position.
5713 * CurrencyManager.cs: split out some logic from the ctor into
5714 SetView, so it can be called from the new RelatedCurrencyManager
5717 * RelatedPropertyManager.cs: new class. Update our datasource
5718 based on the position of our parent CurrencyManager.
5720 * PropertyManager.cs: split out some logic from the ctor into
5721 SetDataSource, so it can be called from the new RelatedDataSource
5722 subclass. Also, make the Current getter return the value
5723 of the PropertyDescriptor, not the data_source.
5725 * Binding.cs: no need to duplicate the string splitting code here.
5727 2006-06-19 Peter Dennis Bartok <pbartok@novell.com>
5730 - set_Enabled: OnEnabledChanged is not called if the inherited state
5731 of the control is not altered, even though we might be changing the
5732 internal state of the control (#78458)
5733 - set_Enabled: (Re)Moved the enabling/disabling of the window to
5734 OnEnabledChanged, to allow easy altering of any child window state
5735 - OnEnabledChanged: Added code to enable/disable driver window state
5736 - OnParentEnabledChanged: Instead of firing the event, call
5737 OnEnabledChanged, which will fire the event and also a) set driver
5738 window state and pass the enabled state to any grandchildren (#78458)
5740 2006-06-19 Jackson Harper <jackson@ximian.com>
5742 * InternalWindowManager.cs: We don't set the cursor explicitly
5743 thats done via the response to NCHITTESTs.
5744 - Don't need to adjust for titlebar heights anymore, the
5745 coordinates are coming in the correct coordinates now (see peters
5749 2006-06-19 Peter Dennis Bartok <pbartok@novell.com>
5751 * XplatUIX11.cs (GetMessage): WM_NCxBUTTONx messages were wrongly
5752 being translated relative to whole window, instead of client window.
5753 That caused broken offsets on mouseclick (and caused gas for our
5754 InternalWindowManager)
5756 2006-06-15 Peter Dennis Bartok <pbartok@novell.com>
5759 - MoveCaret: Implemented PgUp, PgDown, CtrlPgUp and CtrlPgDown
5760 - Undo(): Added replay of cursor move on DeleteChars action; added
5761 calling Undo() again if a recorded cursor move is invalid (to
5762 ensure that some action is performed on Undo)
5763 * TextBoxBase.cs (ProcessKey): Added handling of PgUp and PgDown (#78482)
5765 2006-06-16 Jackson Harper <jackson@ximian.com>
5767 * MdiClient.cs: Instead of just sizing maximized windows when
5768 there is a resize we also have to adjust the Y of minimized
5769 windows, so they stay pinned to the bottom of the mdi container.
5770 - Eliminate separate tracking of the active control, we can just
5771 get this from the controls collection.
5772 - Paint the decorations for the newly activated titlebar so we get
5774 * InternalWindowManager.cs:
5775 * ThemeWin32Classic.cs: Minimized windows get all three buttons
5776 even if they are a tool window.
5778 2006-06-15 Peter Dennis Bartok <pbartok@novell.com>
5780 * TextControl.cs (Undo): Handle non-existent cursor locations in the
5781 undo buffer, these can happen when text was deleted and the cursor
5782 was recorded first. Since we will also have a recorded cursor
5783 after the delete this is not an issue. (Fixes #78651)
5785 2006-06-14 Peter Dennis Bartok <pbartok@novell.com>
5787 * AccessibleObject.cs: Remove dependence on Control.is_selected;
5788 instead properly track control states internally (allows us to
5789 remove is_selected from Control)
5791 2006-06-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5793 * ImageListStreamer.cs: correctly generate the 1bpp mask for images
5794 whose width is not a multiple of 8.
5796 2006-06-13 Jackson Harper <jackson@ximian.com>
5798 * MdiClient.cs: Only maximize the next child if the current one
5801 2006-06-13 Chris Toshok <toshok@ximian.com>
5803 * DataGridColumnStyle.cs: Invalidate the column when HeaderText is
5804 modified. Also, guard against grid or grid_drawing being null in
5807 * DataGrid.cs: Reformat tons of getters/setters. In the
5808 DataMember setter, just call SetNewDataSource instead of
5809 duplicating some of its functionality. In SetNewDataSource, don't
5810 check ListManager for null, since the property getter creates the
5813 * DataGridTableStyle.cs: don't set TableStyle or call
5814 SetDataGridInternal on the column here, it's done in
5815 GridColumnStylesCollection.Add.
5817 * GridColumnStylesCollection.cs: fix all the explicit interface
5818 implementations to just call our methods. Nuke AddInternal() and
5819 move the body of it to Add(). Also, add a call to
5820 column.SetDataGridInternal to Add().
5822 * DataGridTextBoxColumn.cs (.ctors): call this() instead of
5823 base()+duplicate code. Also, use the Format property instead of
5824 format to generate an Invalidate ala MS. Lastly, create the
5825 textbox here, unconditionally.
5826 (set_Format): call Invalidate.
5827 (get_TextBox): no need to call EnsureTextBox.
5828 (Commit): remove the message box.
5829 (Edit) remove the call to EnsureTextBox.
5830 (EndEdit): call HideEditBox instead of ReleaseHostedControl.
5831 (EnterNullValue): no need to check textbox for null.
5832 (HideEditBox): no need to check textbox for null.
5833 (SetDataGridInColumn): add the textbox to the grid's controls.
5834 (EnsureTextBox): nuke.
5836 2006-06-13 Jackson Harper <jackson@ximian.com>
5838 * MdiWindowManager.cs: Hook up to the maximized menus paint event
5839 and redraw the buttons when needed. Unhook when the window is
5841 * MainMenu.cs: Add an internal Paint event, the mdi window manager
5842 needs this so that it can redraw its buttons when the menu is
5844 * InternalWindowManager.cs:
5845 * Form.cs: The method order has changed for DrawMaximizedButtons,
5846 so that it can be a PaintEventHandler.
5848 2006-06-13 Jackson Harper <jackson@ximian.com>
5850 * MdiClient.cs: When we close a maximized mdi window, the next mdi
5851 window is activated and maximized, even if it wasn't before.
5852 - When a new window is activated repaint the decorations of the
5853 old one, so that it no longer has the Active "look" (the blue
5855 * InternalWindowManager.cs: Open up CreateButtons to base classes
5856 so they can recreate the buttons on state changes.
5857 - If a window is maximized give it all three buttons
5858 * MdiWindowManager.cs: Create the titlebar buttons when the state
5859 is changed, this is needed because a toolwindow will not have all
5860 three buttons until it is maximized.
5862 2006-06-13 Atsushi Enomoto <atsushi@ximian.com>
5864 * ProgressBar.cs : PerformStep() shouldn't exceed Maximum.
5867 2006-06-12 Jackson Harper <jackson@ximian.com>
5869 * KeysConverter.cs: Make sure we handle the Ctrl special case
5870 if its the only key.
5872 2006-06-12 Jackson Harper <jackson@ximian.com>
5874 * Theme.cs: Add a method to get the size of a managed window
5876 * InternalWindowManager.cs: Remove the ButtonSize property, this
5877 should be retrieved from the theme.
5878 * MdiWindowManager.cs: Get the button size from the theme
5879 * ThemeWin32Classic.cs: Make the method to get the managed window
5880 titlebar button size public.
5881 - Handle the different button sizes of maximized toolwindows
5882 (should match any maximized window).
5883 - Get the titlebar height from the theme, not the WM (which gets
5886 2006-06-12 Jackson Harper <jackson@ximian.com>
5888 * InternalWindowManager.cs: Handle NC Double Clicks, passing the
5889 event down to the mdi window manager.
5890 - Expose some extra stuff to base classes
5891 - Make sure to end the Capture on an NC Mouse up, so that we can
5892 get double clicks properly, and the sizing doens't stick.
5893 - When doing PointToClient contain it in the workable desktop
5894 area, this prevents windows from changing size when the cursor is
5895 pulled outside of the working area while sizing.
5896 * MdiWindowManager.cs: When we get a double click maximize the
5898 - Reset the cursor after handling mode changes.
5900 2006-06-12 Peter Dennis Bartok <pbartok@novell.com>
5902 * XplatUIX11.cs (WorkingArea): Read the actual workarea for the
5903 current desktop, instead of just assuming a 0, 0 origin. This
5904 is needed for our internal window manager, to know the top
5905 margin of the desktop
5907 2006-06-12 Chris Toshok <toshok@ximian.com>
5909 * DataGrid.cs (set_CurrentCell): concede focus as we move around.
5910 we need this to get rid of the selected background in the bool
5912 (CancelEditing): move the ConcedeFocus call to above the Abort
5913 call. Also, set is_changing to false and invalidate the row
5914 header if we were changing before.
5915 (ProcessKeyPreviewInternal): remove, since noone outside this
5916 class calls it anymore. Roll the code into ProcessKeyPreview.
5917 (EndEdit): remove the internal version.
5918 (InvalidateCurrentRowHeader): make private.
5920 * DataGridBoolColumn.cs: simplify this class a bunch. remove the
5921 Keys.Escape handling (and with it the last call to
5922 DataGrid.EndEdit from outside the class.)
5925 2006-06-12 Chris Toshok <toshok@ximian.com>
5927 * DataGridTextBox.cs (.ctor): isedit defaults to false.
5928 (OnKeyPress): set isedit to true.
5929 (ProcessKeyMessage): remove Keys.Enter handling from here. it's
5930 already handled by the grid.
5932 * DataGrid.cs (set_CurrentCell): more work here. it's still not
5934 (set_DataSource): SetDataSource always returns true, so stop
5935 putting it in an if statement.
5936 (EndEdit): get rid of some {}'s
5937 (ProcessGridKey): return true in case Keys.Escape.
5938 (ProcessKeyPreviewInternal): only handle KEYDOWN messages.
5939 (ConnectListManagerEvents,DisconnectListManagerEvents): connect to
5940 PositionChanged, stopped connecting to CurrentChanged.
5941 (GetDataSource): simplify this a bunch.
5942 (SetDataSource): change return type from bool to void.
5943 (OnListManagerPositionChanged): rename OnListManagerCurrentChanged
5944 to this, and make sure we don't set ListManager.Position inside
5946 (OnListManagerItemChanged): if we're passed an actual index,
5949 * CurrencyManager.cs (set_Position): don't call PullData here.
5951 2006-06-09 Jackson Harper <jackson@ximian.com>
5953 * TreeNode.cs: Recalculate the visible order before doing the
5954 Expand/Collapse Below calls, because those calls generate an
5956 - Reduce calls to the TreeView property, which is mildly expensive
5957 by using a local var.
5958 * Form.cs: Layout the MDI child windows when creating the parent
5960 - Don't use the internal constructor anymore
5961 * MdiClient.cs: use the parent form width/height (if available)
5962 when laying out the child windows, we do this because the
5963 mdiclient isn't docked yet when the initial layout is done.
5964 - Don't need an internal constructor anymore.
5966 2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5968 * FileDialog.cs: handle access errors when trying to create a folder
5969 or changing to a directory. No need to initialize out parameters.
5971 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
5973 * FileDialog.cs: Append a number when creating a new folder if the
5974 folder already exists (use parenthesis instead of square brackets)
5976 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
5979 - Disabled registry support for windows and added better registry
5980 error checking for other systems (need to investigate why it
5981 works perfectly on my system)
5982 - If a folder already exist show an error MessageBox instead of
5983 trying to create an indexed name.
5984 - Fixed a non intentional typo.
5986 2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
5988 * FileDialog.cs: (SetFileName) don't crash if CurrentRealFolder is null.
5990 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
5992 * FileDialog.cs: When creating a new folder don't crash if the
5993 folder already exists.
5995 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
5997 * FileDialog.cs: Allmost a complete rewrite.
5998 - added a "virtual" file system that handles the differences
5999 between unix and windows file systems (especially the directory
6000 structure). Moved most of the directory and file handling code
6002 Added vfs classes: MWFVFS, FileSystem, WinFileSystem,
6003 UnixFileSystem and FSEntry.
6004 - Recently used folder/directory, size, location and used file names
6005 (file name ComboBox) are now stored in the registry and get read
6006 before the dialog shows up (fixes part 6 of bug #78446).
6007 - Creation of new folders/directories is now possible (context menu
6008 or ToolBar). Added TextEntryDialog for this that fills in the gap
6009 until ListView.LabelEdit works.
6010 - Fixed cursor handling (bug #78527) and focus handling for
6012 - Various "Search in" ComboBox enhancements. The content of the
6013 dropdown listbox now almost matches ms.
6014 - Changed the behaviour when the user switches to SpecialFolder
6015 Recent to show the ListView in View.Details.
6016 - Beside using the ToolBar to change the View property of the
6017 file ListView it is now possible to use the context menu too.
6019 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
6021 * ComboBox.cs: Don't create a new ObjectCollection when an item
6022 gets inserted. Just insert the item in the existing object_items
6025 2006-06-08 Jackson Harper <jackson@ximian.com>
6027 * OpenTreeNodeEnumerator.cs: Fix to use the Parent property, so
6028 that the treeview and root node checks are done also, this fixes a
6029 regression i caused in the unit tests.
6031 2006-06-07 Wade Berrier <wberrier@novell.com>
6033 * RichTextBox.cs: More ISO8859-1 -> unicode
6035 2006-06-07 Mike Kestner <mkestner@novell.com>
6037 * ComboBox.cs : use items to hold highlight/selection so that
6038 collection insertions don't require synchronization.
6040 2006-06-07 Jackson Harper <jackson@ximian.com>
6042 * InternalWindowManager.cs: Simplify (and FIX) the window sizing
6043 routine. We now always keep the sized edge at the cursor instead
6044 of computing movement and adjusting rects. There is one buglet
6045 with this method though when the cursor is moved over area that
6046 the window can not expand too (such as the toolbars on the desktop).
6048 2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6050 * XplatUIX11.cs: (IsEnabled,IsVisible) the window handler can be null
6051 here. Fixes crash on startup in AlbumSurfer.
6053 2006-06-07 Peter Dennis Bartok <pbartok@novell.com>
6055 * RichTextBox.cs: Replaced embedded ISO8859-1 chars with proper unicode
6058 2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6060 * XplatUIX11.cs: call XPending and XNextEvent inside the same lock()
6061 statement to avoid calling XNextEvent which will block if another thread
6062 took the event that we were expecting. Fixes bug #78605.
6064 2006-06-07 Mike Kestner <mkestner@novell.com>
6066 * ListView.cs : isolated checkbox clicking from the selection logic.
6067 Toggle check state on item doubleclicks. Really fixes #78454 part2.
6069 2006-06-06 Carlos Alberto Cortez <calberto.cortez@gmail.com>
6071 * Form.cs: Check that the value passed to Form.DialogResult
6072 is a valid enum value.
6074 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6076 * FileDialog.cs: disable the up button when in 'Recently Used' or 'My
6077 Computer'. Clicking it in the network view goes to 'My Computer'.
6078 Added CIFS filesystem type. Display the mount point of filesystems.
6079 Avoid duplicate mount points (happens for me with CIFS);
6081 2006-06-06 Jackson Harper <jackson@ximian.com>
6083 * InternalWindowManager.cs: Draw the maximized windows buttons
6086 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6088 * Form.cs: when running a modal dialog, ignore WM_CLOSE requests for
6089 all other dialogs. Fixes bug #78585.
6091 2006-06-06 Mike Kestner <mkestner@novell.com>
6093 * CheckedListBox.cs : apply CheckOnClick behavior to unchecking too.
6094 Only invalidate checkbox on checkstate changes to avoid flicker.
6095 * ListBox.cs : avoid unselect/select when clicking selected item.
6096 avoid reselection flicker for already multiselected items.
6099 2006-06-06 Jackson Harper <jackson@ximian.com>
6101 * MdiWindowManager.cs: When the window is closed do an NCRecalc on
6102 the parent form so that the menu is removed if needed.
6104 2006-06-06 Mike Kestner <mkestner@novell.com>
6106 * ListBox.cs : add ScrollWindow call to UpdateTopItem. fix
6107 Prev/Next/PrevPage/NextPage/Home/End index calculation. Fixes #78559.
6109 2006-06-06 Mike Kestner <mkestner@novell.com>
6111 * CheckedListBox.cs : rebuild check collection on Add. Fixes #78426.
6114 2006-06-06 Jackson Harper <jackson@ximian.com>
6116 * Control.cs: Use the property (instead of the field) to get the
6117 default cursor so it is instantiated correctly.
6118 * InternalWindowManager.cs: The OS doesn't give us an NCPAINT with
6119 resizes so we need to manually repaint the window decorations here.
6120 - Set the titlebar button locations as soon as they are created,
6121 otherwise they are not set correctly on win32.
6123 2006-06-06 Chris Toshok <toshok@ximian.com>
6125 * CurrencyManager.cs (set_Position): call PullData before
6127 (AddNew): after calling IBindingList.AddNew, update our
6128 listposition, and call OnCurrentChanged/OnPositionChanged (without
6130 (OnCurrentChanged): remove the call to PullData from here.
6131 (OnItemChanged): remove the call to PushData from here.
6132 (OnPositionChanged): change the test from == null to != null to
6133 match the other methods.
6134 (ListChangedHandler): the grossest part of the patch. Implement
6135 this such that it passes the unit tests in CurrencyManagerTest and
6136 the output more or less matches that of MS's implementation.
6138 2006-06-06 Mike Kestner <mkestner@novell.com>
6140 * ListView.cs : only update check state on single click.
6141 * ThemeWin32Classic.cs : fix focus drawing for details view without
6142 fullrowselect. Fixes #78454.
6143 * XplatUIX11.cs : fix for double click emission.
6145 2006-06-05 Jonathan Chambers <jonathan.chambers@ansys.com>
6147 * PropertyGridView.cs : Applied Atsushi's patch to fix
6148 font dialog bug (#78197).
6150 2006-06-05 Jackson Harper <jackson@ximian.com>
6152 * TreeNode.cs: Compute the next node for expanding/collapsing
6153 correctly. We now factor in nodes without a NextNode
6154 correctly. (Fixes somes cases in nunit-gui).
6155 * InternalWindowManager.cs: Set the bounds when updating the
6156 virtual position of a tool window.
6158 2006-06-05 Chris Toshok <toshok@ximian.com>
6160 * DataGrid.cs: rename cached_currencymgr to list_manager.
6161 (set_CurrentCell): move SetCurrentCell code here, and clean it up
6163 (CurrentRow, CurrentColumn): single accessors so we can make the
6164 cursor movement code a lot easier to understand.
6165 (CurrentRowIndex): implement this in terms of CurrentRow.
6166 (BeginEdit): clean this up a bit.
6167 (CancelEditing): sort out the is_editing/is_changing/is_adding
6169 (EndEdit): minor changes.
6170 (OnKeyDown): add a comment about a (most likely) unnecessary
6172 (OnMouseDown): cancel editing when we click on a row header. And
6173 use the CurrentRow setter, not CurrentCell.
6174 (ProcessDialogKey): directly call ProcessGridKey.
6175 (UpdateSelectionAfterCursorMove): factor out this common block of
6176 code (it's used everywhere that we move the cursor by updating row
6178 (ProcessGridKey): pretty substantial overhaul. Use the
6179 CurrentRow/CurrentColumn properties to make the code a lot more
6180 readable. Only use the CurrentCell property when we have to
6181 modify both row and column at once. Tab behavior is still broken,
6182 and Delete is untested.
6183 (Select): if we have no selected rows, set selection_start to
6185 (EditCurrentCell): rename EditCell this. It was only ever invoked
6186 with CurrentCell as the arg, so drop the arg and rename it.
6188 * DataGridColumnStyle.cs: clean up the constructors a little, and
6189 drop CommonConstructor().
6191 * DataGridTextBox.cs (.ctor): set accepts_return to true so we
6192 actually get notified when the user hits it.
6193 (ProcessKeyMessage): *substantially* simplify this method.
6194 There's no reason (that I can see) for the textbox to be making
6195 calls into the datagrid at all. Remove all of them but the ones
6196 for Enter handling. those will take some more work.
6198 * DataGridTextBoxColumn.cs (ConcedeFocus): implement this by
6199 calling HideEditBox.
6200 (HideEditBox): if we have an active textbox, render it invisible
6201 without causing a re-layout of the datagrid.
6203 2006-06-05 Mike Kestner <mkestner@novell.com>
6205 * ListView.cs : fix NRE crasher when focuseditem is cleared by
6206 collection changes by resetting it to Items[0]. Fixes #78587.
6208 2006-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6210 * MessageBox.cs: if the height of the text is larger than the icon_size,
6211 use that. Fixes bug #78575.
6213 2006-06-05 Jackson Harper <jackson@ximian.com>
6215 * TreeView.cs: Fix line drawing when scrolling. To do this each
6216 node is basically responsible for drawing its entire horizontal
6217 area. When drawing a node it draws its parent node lines if
6219 - Adjust the clip area to the viewport rectangle
6220 - Fix Left/Right key handling to match MS. (It expand/collapses
6221 and moves to parents/first child but does not move selection to
6223 - Fix SetTop to work with new bound calculation code
6224 - When scrollbars are no longer needed we need to reset scrolling
6225 vars and recalculate the visible order so the redraw is correct
6226 * TreeNode.cs: We can't expand/collapse nodes with no children.
6228 2006-06-03 John Luke <john.luke@gmail.com>
6230 * X11DesktopColors.cs: dllimport the exact gtk and gdk versions
6231 so the colors work without dev packages
6233 2006-06-02 Peter Dennis Bartok <pbartok@novell.com>
6236 - Select: Implemented to just use activate. Seems to match MS
6237 behaviour closest. Documented to only do actual control walking
6238 based on it's parameters if in a container control so I moved
6240 - Removed selection check logic from our internal Select() method
6241 * ContainerControl.cs:
6242 - Select: Moved selection logic from Control here, since MS documents
6243 that containers obey the bool arguments. No longer calling base
6245 2006-06-02 Jackson Harper <jackson@ximian.com>
6247 * TreeView.cs: If the selected node isn't changed when we get
6248 focus update the previously selected node so that we see the
6251 2006-06-02 Mike Kestner <mkestner@novell.com>
6253 * ComboBox.cs: restructure grab and general mouse event handling.
6254 Make the composite control raise mouse events like it was a single
6255 control for leaves/enters/motion/up/down events. fix dropdown list
6256 coordinate mangling and refactor it into the scrollbar subclass to
6257 reduce code duplication. Fixes #78282 #78361 and #78457.
6259 2006-06-02 Mike Kestner <mkestner@novell.com>
6261 * ScrollBar.cs: remove Capture setting/clearing, as it happens
6262 automatically in the Control.WndProc.
6264 2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6266 * FileDialog.cs: fix crash when running SharpChess, which sets the
6267 FilterIndex to 2 with only one Filter.
6269 2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6271 * ToolBar.cs: add SizeSpecified property.
6272 * ToolBarButton.cs: when the ButtonSize is calculated by the container,
6273 try to figure out our real size, otherwise fallback to what the
6276 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
6278 * XplatUIX11.cs (DefWndProc): WM_MOUSEWHEEL needs to be passed up
6279 * Control.cs (WndProc): MS always calls the DefWndProc to pass
6282 2006-06-01 Mike Kestner <mkestner@novell.com>
6284 * ListView.cs: revamp the focus management in ListView. It still
6285 causes churn of LostFocus/GotFocus emissions on clicks, but it's
6286 better than not handling focus at all. Will revisit when pdb feels
6287 the general focus handling is solid. Fixes #78526.
6289 2006-06-01 Jackson Harper <jackson@ximian.com>
6291 * TreeView.cs: Set the default border style in the constructor.
6292 - Move painting to use OnPaintInternal instead of capturing
6293 WM_PAINT, this is the correct way of doing things
6294 - UpdateBelow shouldn't invalidate the scrollbar area
6295 - Cap the top on update below in case the node was above the top
6296 of the viewport rectangle.
6297 - ExpandBelow and Collapse below need to obey Begin/End Update.
6298 * TreeNode.cs: Make is_expanded internal so the treenode
6299 collection can change it without firing the whole event chain.
6300 * TreeNodeCollection.cs: When clearing all the child nodes make
6301 sure to recalc the visible order.
6302 - Improve algo for remove the top node
6304 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
6306 * XplatUIX11.cs (SetFocus): Make sure we can handle re-entrancy due to
6307 SendMessage directly calling window procedures, which in turn might
6310 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
6312 * Control.cs: Don't handle WM_SETFOCUS if the same window already
6313 has focus (works around X11 sending a FocusIn after our SetFocus)
6314 * XplatUIX11.cs: Send KILLFOCUS before setting SETFOCUS on new window
6316 2006-06-01 Alexander Olk <alex.olk@googlemail.com>
6318 * Mime.cs: Fix for the NET_2_0 build.
6319 NameValueCollection needs StringComparer now.
6321 2006-05-31 Chris Toshok <toshok@ximian.com>
6323 * DataGridDrawingLogic.cs (FromPixelToColumn): modify this to also
6324 return (via an out parameter) the starting X of the column.
6325 (UpdateVisibleColumn): track change to FromPixelToColumn.
6326 (HitTest): add a ColumnResize case here.
6327 (DrawResizeLine): new function, probably poorly named.
6329 * DataGrid.cs (.ctor): get rid of cached_currencymgr_events. We
6330 only need to keep one reference.
6331 (set_ListManager): same.
6332 (OnMouseDown): call HitTest instead of grid_drawing.HitTest.
6333 Also, add support for HitTestType.ColumnResize.
6334 (OnMouseMove): add column resize behavior here, and change the
6335 cursor to the correct one as we move around the datagrid.
6336 (OnMouseUp): terminate the column resize if we're resizing.
6337 (ProcessGridKey): from the MS docs, Alt-0 enters the null value
6338 for the current cell.
6339 (ConnectListManagerEvents): use cached_currencymgr.
6340 (DisconnectListManagerEvents): fill this in, using
6342 (SetCurrentCell): remove cached_currencymgr_events handling.
6343 (SetDataMember): only call DisconnectListManagerEvents if
6344 cached_currencymgr is != null.
6345 (SetDataSource): same.
6346 (OnListManagerCurrentChanged): cached_currencymgr_events ->
6349 2006-05-31 Jackson Harper <jackson@ximian.com>
6351 * BindingManagerBase.cs: Remove somedebug code that creeped into
6353 * TreeNode.cs: We get the indent level dynamically right now, so
6354 don't track it as a member.
6355 * TreeNodeCollection.cs: Make sure all nodes added to the list
6356 have parents, treeviews/topnodes setup properly.
6357 - Don't attempt to track indent level.
6359 2006-05-30 Jackson Harper <jackson@ximian.com>
6361 * BindingContext.cs: Create the currency manager tables here.
6362 This allows us to more easily create null tables (when bad data
6363 members are used), and more easily create related currency
6365 * CurrencyManager.cs: All the table creation stuff is done by the
6366 binding context now.
6367 - Current should throw an exception if listposition is -1.
6368 - CancelCurrentEdit/EndCurrentEdit, do nothing if the list hasn't
6371 2006-05-30 Mike Kestner <mkestner@novell.com>
6373 * ListView.cs: allow reexpansion of zero-width column headers.
6376 2006-05-28 Chris Toshok <toshok@ximian.com>
6378 * CurrencyManager.cs (get_Current): after the late binding
6379 listposition = -1 fix, we need to guard against it here and return
6380 null, otherwise we raise an exception (which is swallowed
6381 elsewhere, and breaks datagrid databinding.)
6383 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
6385 * MenuAPI.cs (ProcessMenuKey): We can legally get msg types other
6386 than WM_SYSKEY, don't throw if get something unexpected (#78507)
6388 2006-05-26 Jackson Harper <jackson@ximian.com>
6391 * ThemeWin32Classic.cs: For color comparisons just use the ARGB
6392 values, it's faster and it's all we care about (we don't care if
6393 the names aren't equal).
6394 * KeyboardLayouts.cs: Eliminate some dead code.
6396 * X11Keyboard.cs: Lazy init keyboard detection.
6397 - Cleanup access modifiers a little.
6399 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
6401 * XplatUIX11.cs: Once again, attempting to get layout just right.
6403 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
6405 * LinkLabel.cs (CreateLinkPieces): Use MeasureString to calculate
6406 the sizes of each link section, that will result in sizes that
6407 match DrawString's layout (Fixes #78391)
6409 2006-05-27 Alexander Olk <alex.olk@googlemail.com>
6411 * FileDialog.cs: If AddExtension property is true autocomplete the
6412 extensions in SaveFileDialog correctly. Fixes bug #78453.
6413 Set MyNetwork and MyComputer to "C:\" for windows. This should
6414 fix part 8 of bug #78446 for now.
6416 2006-05-26 Chris Toshok <toshok@ximian.com>
6418 * DataGrid.cs (ColumnStartedEditing): fill these in. for now just
6419 invalidate the current row header if we need to, but presumably
6420 we'll invalidate the row corrsponding to the bounds or
6422 (GridHScrolled): switch back to this method, as it's part of the
6424 (GridVScrolled): same.
6425 (OnMouseWheel): hack up something that more or less works. Call
6426 GridHScrolled/GridVScrolled directly, instead of duplicating much
6428 (EnsureCellVisibility): reinstate a bunch of this code, since we
6429 can't just set the scrollbar Value and expect to do all the work
6430 in the ValueChanged handler. Also, Call Update() after scrolling
6431 in one direction so the other XplatX11.ScrollWindow call has the
6432 proper stuff in the proper places.
6433 (EditCell): set is_editing to true before calling .Edit.
6435 * DataGridTextBox.cs (set_IsInEditOrNavigateMode): just set it,
6436 don't bother comparing first.
6437 (OnKeyPress): call grid.ColumnStartedEditing before calling
6438 base.OnKeyPress. this will set is_changing and invalidate the row
6439 header if necessary.
6440 (ProcessKeyMessage): for WM_CHAR messages, call
6441 ProcessKeyEventArgs directly. swallow anything other than WM_CHAR
6444 * DataGridBoolColumn.cs (Edit): don't set is_editing to true here.
6445 it's done in the DataGrid.
6446 (NextState): call grid.ColumnStartedEditing, which takes care of
6447 invalidating the row header (and setting is_changing).
6449 * DataGridTextBoxColumn.cs (Edit): don't set is_editing to true
6450 here. it's done in the DataGrid.
6452 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6454 * Control.cs: allow changing the cursor when the mouse position is
6455 out of bounds but Capture is set.
6456 * LinkLabel.cs: handle the case when the mouse button is pressed on the
6457 linklabel but released somewhere else.
6459 2006-05-25 Jackson Harper <jackson@ximian.com>
6461 * TreeView.cs: When we get focus if there is no selected node make
6463 - Remove some uneeded setup code from Draw.
6464 * TreeNodeCollection.cs: If the tree doesn't have a top node when
6465 a new node is inserted make the new node the top.
6467 * Timer.cs: Use Utc time so that no local time zone stuff needs to
6468 be used (should be faster).
6470 2006-05-25 Chris Toshok <toshok@ximian.com>
6472 * DataGrid.cs (EnsureCellVisibility): remove some code to fix a
6473 problem with the last commit.
6475 2006-05-25 Chris Toshok <toshok@ximian.com>
6477 * DataGridTextBoxColumn.cs (ReleaseHostedControl): turns out we do
6478 need the invalidate call here, while scrolling right-to-left via
6479 the left arrow key (i.e. moving the editing cell while scrolling).
6481 * DataGrid.cs (.ctor): remove the initialization of
6482 ctrl_pressed/shift_pressed. We no longer track them using key
6483 up/down handlers, but by using Control.ModifierKeys. Also, switch
6484 to using ValueChanged handlers on the scrollbars instead of
6485 Scrolled event handlers. This simplifies a bunch of the scrolling
6487 (GridHValueChanged): rename from GridHScrolled, and change it to
6488 work with the new event args.
6489 (GridVValueChanged): same.
6490 (OnMouseDown): initialize ctrl_pressed/shift_pressed here.
6491 (OnMouseWheel): actually scroll the datagrid. Don't change the
6493 (ProcessGridKey): correct all the keyboard navigation stuff I
6494 could find. Ctrl up/down/left/right/home/end work now.
6495 (EnsureCellVisibility): correct method name spelling. Also,
6496 simplify this a touch by not explicitly calling the
6497 ScrollToRow/ScrollToColumnInPixels methods. We just set the
6499 (OnKeyUpDG): no need for this method now.
6501 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6503 * LinkLabel.cs: display the OverrideCursor when hovering the label.
6506 2006-05-25 Chris Toshok <toshok@ximian.com>
6508 * ThemeWin32Classic.cs: fix datagrid clipping problems caused by
6511 2006-05-25 Peter Dennis Bartok <pbartok@novell.com>
6513 * Application.cs: Moved setting of is_modal and closing to before
6514 we create the control, to allow the event handlers called as a
6515 result of creation affect closing. Also removed Gonzalo's previous
6516 change to setting DialogResult, the behaviour has been moved to
6519 - ShowDialog(): Removed explicit creation of the form, let RunLoop
6521 - ShowDialog(): If no dialog result is set, we need to return Cancel
6522 - WM_CLOSE: Fire Closing/Closed events, and reset dialog result if
6523 the close is cancelled
6525 2006-05-25 Jackson Harper <jackson@ximian.com>
6527 * StatusBar.cs: We only need to update the sizes of the other
6528 panels when we have auto size contents. Also we are only updating
6529 the contents of the panel, not the borders, so compensate for the
6530 border width (TODO: get this width from the theme somehow).
6531 * TreeView.cs: Scrollable is true by default
6532 - Use invalidate instead of refresh where needed
6533 - Factor the scrollable value into scrollbar updating
6534 - Update the scrollbars if the Scrollable property is altered
6535 - Update the selected node if its ImageIndex is changed
6536 - Handle null nodes in UpdateNode (mainly so we don't have to
6537 check if selected is null when updating it
6538 - Fix VisibleCount to use the ViewportRectangle so that scrollbars
6539 are factored into the visible count
6540 - Use VisibleCount for clarity in the code
6541 - When the font is changed we need to recurse through all the
6542 nodes and invalidate their sizes
6544 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6546 * Application.cs: set the DialogResult to fixed when the main form is
6547 hidden or destroyed while being modal.
6549 2006-05-25 Miguel de Icaza <miguel@novell.com>
6551 * Theme.cs: Use Tangoified messagebox icons.
6553 (GetSizedResourceImage): Also cope with width = 0 and do not
6554 trigger a warning in that case (0 means "give me your icon from
6555 the resouce, no special size needed).
6557 2006-05-25 Peter Dennis Bartok <pbartok@novell.com>
6559 * Application.cs: Leave runloop if the the main modal form is
6560 hidden (fixes #78484)
6562 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
6564 * BindingContext.cs : reject null datasource in Contains() and
6566 * CurrencyManager.cs : check data_member validity when data_source
6567 is dataset. When it is late binding, the initial position is -1.
6569 2006-05-24 Jackson Harper <jackson@ximian.com>
6571 * TreeNodeCollection.cs: Dont't recalculate the visible order on
6572 inserted nodes that aren't visible. This changes the
6573 max_visible_order which confuses scrollbar settings.
6574 - Use the enumerator to get the prev node instead of duplicating
6576 * TreeView.cs: Use new method for setting scrollbar values
6577 - Don't set the bounds every time the scrollbar is updated
6578 - When updating below the root node use an invalidate instead of a
6579 refresh to prevent the child controls (scrollbars) from being
6580 refreshed. (UpdateBelow still needs to be reworked anyways).
6581 - Reenable SetBottom now that visible orders are set correctly,
6582 added some debug code incase we ever get bad values there again.
6583 - Set the scrollbar max to 2 less then the max value, this
6584 compensates for the max value being one above the node count, and
6585 for scrollbars adding one extra "notch".
6586 - When drawing image nodes if there is an imagelist we draw the
6587 first image in the list if the supplied image index is out of the
6588 image list's bounds.
6590 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
6592 * XplatUIX11.cs: Don't blindly cache hwnd.ClientRect, reset it when
6593 we receive a size change from the WM (Fixes #78503)
6595 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
6597 * XplatUIWin32.cs, XplatUIX11.cs: Refresh when setting the Clip
6598 rectangle (Fixes #78501)
6600 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
6603 - Fixed MouseUp, MouseDown and MouseMove to treat mouseevent.Button
6605 - Fixed MouseMove to no longer switch pressed state unless the left
6606 mouse button is pressed. Atsushi provided the original patch (#78485)
6608 2006-05-24 Jackson Harper <jackson@ximian.com>
6610 * ScrollBar.cs: New internal methods that allow us to change a
6611 couple values on the scrollbar (the most common case is maximum
6612 and large change) without getting multiple invalidates.
6614 2006-05-24 Chris Toshok <toshok@ximian.com>
6616 * DataGridBoolColumn.cs (Abort): revert back to the saved setting.
6617 (Edit): save off the original state in oldState, and set
6618 grid.is_editing to true.
6619 (OnKeyDown): abort editing if escape is pressed. also, call
6620 NextState if space is pressed.
6621 (OnMouseDown): call NextState.
6622 (NextState): factor out shared code from OnKeyDown and OnMouseDown
6623 here. Also, only invalidate the row header once (on the initial
6624 is_changing switch) to save on redraws.
6626 2006-05-24 Chris Toshok <toshok@ximian.com>
6628 * DataGridTextBoxColumn.cs (Commit): only call SetColumnValueAtRow
6629 if the value in the cell is different than it was before. This
6630 keeps us from triggering a layout when we move around a datarid
6631 with a highlighted cell.
6632 (Edit): suspend layout when creating/positining the text box, and
6633 resume passing false so we don't ever actually re-layout.
6634 (ReleaseHostedControl): same.
6635 (EnsureTextBox): reformat slightly, and set WordWrap to false.
6637 * DataGridTextBox.cs (ProcessKeyMessage): it's not true that all
6638 control-key sequences should go to the datagrid - remove that
6639 lock. Also, modify the conditions under which we move between
6640 cells when moving the cursor within a cell, and remove the "this"
6641 and "base" from field accesses. We weren't even consistent, given
6642 they all were in the base class.
6644 2006-05-24 Atsushi Enomoto <atsushi@ximian.com>
6646 * Binding.cs : (.ctor)
6647 An obvious NRE fix for BindingTest.CtorNullTest().
6649 2006-05-23 Chris Toshok <toshok@ximian.com>
6651 * TextBoxBase.cs (get_Text): don't add a trailing newline, add
6652 them between lines. This fixes some quirks editing cells in the
6655 2006-05-23 Jackson Harper <jackson@ximian.com>
6657 * TreeView.cs: Use begin/end update when doing expand/collapse all
6658 so that we don't get flicker on the scrollbar.
6660 2006-05-23 Jackson Harper <jackson@ximian.com>
6662 * TreeNode.cs: Bounds are computed 'on the fly' now. This allows
6663 treenode calculations to be independant of the painting code. To
6664 do this nodes track a visible order which is calculated by the
6666 - Call new methods for expanding/collapsing nodes. These methods
6667 use scrollwindow so we don't have to update everything below the
6669 * TreeView.cs: Refactored drawing and scrolling code. We don't
6670 need to update nodes when drawing anymore or calculate scrollbar
6672 - Added new methods for expanding/collapsing nodes. These methods
6673 use ScrollWindow so as to not have to redraw all the nodes below.
6674 * TreeNodeCollection.cs: Recalc visible order and scrollbars when
6675 we add/remove nodes or sort.
6676 - Handle removing the selected and the top node properly.
6678 2006-05-23 Chris Toshok <toshok@ximian.com>
6680 * DataGridTextBoxColumn.cs (Edit): set grid.is_editing to true.
6681 maybe this should actually happen in the datagrid code?
6682 (EndEdit): no need to invalidate anything, given that
6683 ReleaseHostedControl causes the datagrid to relayout, which
6684 invalidates everything anyway.
6686 * DataGrid.cs (set_CurrentCell): remove duplicate check (it's also
6688 (set_SelectionBackColor): call InvalidateSelection instead of
6690 (set_SelectionForeColor): same.
6691 (BeginEdit): Flesh this out a bit.
6692 (CancelEditing): only do any of this if we're editing/adding.
6694 (OnMouseDown): there's no need to cancel editing here, it's done
6696 (SetCurrentCell): only invalidate the current row header if it's a
6697 different row than the new one.
6698 (ShiftSelection): fix this to work like MS does.
6699 (ResetSelection): factor out the invalidation of selected_rows to
6700 InvalidateSelection.
6701 (SetDataSource): cancel any editing that's going on.
6703 * DataGridColumnStyle.cs
6704 (IDataGridColumnStyleEditingNotificationService.ColumnStartedEditing):
6705 call the non-interface version.
6707 * ThemeWin32Classic.cs (DataGridPaintColumsHdrs): intersect the
6708 header rectangle with the clip rectangle so we don't redraw the
6709 entire header for just a small area. Gets rid of the last flicker
6710 when horizontally scrolling.
6711 (DataGridPaintRow): same.
6713 2006-05-23 Mike Kestner <mkestner@novell.com>
6715 * ListViewItem.cs: remove size for line hack from LargeIcon layout.
6716 * ThemeWin32Classic.cs: don't draw line. it's really the top of a
6717 poorly placed checkbox on the MS control. Fixes Alex's unfiled
6718 Critical bug report.
6720 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
6722 * PictureBox.cs: Fixed broken ControlStyles. Unit test no longer fails,
6723 and this fixes #78493
6725 2006-05-23 Miguel de Icaza <miguel@novell.com>
6727 * Theme.cs (GetSizedResourceImage): Scale images if the proper
6730 * FileDialog.cs: Do not change the background for the side bar as
6731 it wont work nicely with the theme, and also reduces the artifacts
6732 in rendering the icons (which I want to fix too).
6734 * MimeIcon.cs (ResourceImageLoader): Load images from assembly
6735 resources, not resgen resources.
6737 (PlatformDefaultHandler): Pull images using the new API.
6739 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
6741 * Hwnd.cs (Dispose): Remove any pending exposures. XEventQueue holds
6742 a reference to the hwnd and will not remove it unless there are
6743 no pending exposures (fixes #78341)
6744 * XplatUI.cs: Improved debug
6746 2006-05-23 Atsushi Enomoto <atsushi@ximian.com>
6748 * MenuAPI.cs : don't handle OnClick event when it was not the left
6749 button. Fixed bug #78487.
6751 2006-05-23 Mike Kestner <mkestner@novell.com>
6753 * MenuAPI.cs: fix placement of submenus for multi-row menu bars, and
6754 prefer submenus to the top menu for item lookup, to avoid popping down
6757 2006-05-23 Alexander Olk <alex.olk@googlemail.com>
6759 * ThemeWin32Classic.cs: Rewrote CPCPDrawScrollButton to drop
6760 Graphics.FillRectangle as the visual results are really bad (even
6761 on win). We now draw perfect arrows (and perfect shadows when the
6762 scrollbar is disabled). Simplified CPDrawGrid. CPDrawGrid now uses
6763 Pen.DashPattern to draw the dots of each line.
6765 2006-05-22 Alexander Olk <alex.olk@googlemail.com>
6767 * FileDialog.cs: Update the filename combobox when navigating through
6768 the ListView with the cursor keys. Fixes part 7 of bug #78446.
6770 2006-05-22 Mike Kestner <mkestner@novell.com>
6772 * ListView.cs: raise SelectedIndexChanged on keyboard selection.
6775 2006-05-22 Mike Kestner <mkestner@novell.com>
6777 * ComboBox.cs: Refresh in EndUpdate to pick up all the dropped Paint
6778 requests. Fix a misspelled parameter and a copy paste exception error
6781 2006-05-22 Peter Dennis Bartok <pbartok@novell.com>
6783 * ThemeWin32Classic.cs: Changed DefaultFont emSize from 8.25 to 8
6784 to get the same width/height (5/13) on X11 as the default font has on
6785 win32. This means that our DefaultFont emSize is smaller than the
6786 the MS SWF equivalent (even thought the width/height stays the same)
6788 2006-05-20 Jackson Harper <jackson@ximian.com>
6791 * MdiWindowManager.cs:
6792 * InternalWindowManager.cs: Make sure to use the border width from
6795 2006-05-20 Jordi Mas i Hernandez <jordimash@gmail.com>
6797 * PrintDialog.cs: Implements printer details
6799 2006-05-19 Alexander Olk <alex.olk@googlemail.com>
6801 * FileDialog.cs: Added focus handling for PopupButtonPanel.
6802 Fixes part 1 and 2 of bug #78446
6804 2006-05-19 Peter Dennis Bartok <pbartok@novell.com>
6806 * XplatUIX11.cs (SetWindowPos): Recalculate client area size on resizes
6807 instead of sticking to the first ever calculated value
6809 2006-05-19 Mike Kestner <mkestner@novell.com>
6811 * ComboBox.cs: fix mouse motion selection to use MousePosition and
6812 PointToClient, since Capture is set. Fixes #78344.
6814 2006-05-19 Mike Kestner <mkestner@novell.com>
6816 * ListView.cs: match MS behavior in Details view where items are not
6817 drawn if Columns.Count == 0.
6818 * ThemeWin32Classic.cs: only highlight ListView selection if focused.
6819 Use a separate pen to draw the check, since changing the width affects
6820 the box as well. Fixes #78454.
6822 2006-05-18 Miguel de Icaza <miguel@novell.com>
6824 * ListView.cs: ArgumentOutOfRangeException, single versions of the
6825 exception should throw the name of the invalid argument.
6827 * FileDialog.cs (OnClickOpenSaveButton): Avoid crash in open if
6828 there are no files listed.
6830 2006-05-18 Jackson Harper <jackson@ximian.com>
6832 * ThemeWin32Classic.cs: Don't use endcaps, they mess the drawing
6835 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
6837 * Control.cs: Brought back our old UpdateZOrder method as a private
6838 function and switched our calls from UpdateZOrder to the new one.
6839 This fixes the Paint.Net canvas disappearing bug.
6841 2006-05-18 Jackson Harper <jackson@ximian.com>
6844 * ThemeWin32Classic.cs:
6845 * InternalWindowManager.cs: Move the drawing into the theme,
6846 expose everything the theme should need from the window manager.
6848 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
6850 * XplatUIX11.cs (DefWndProc): WM_SETCURSOR: Assign the return value
6851 from the call to NativeWindow to avoid walking up the parent chain
6852 further than needed (speeds up setting cursors and avoids setting
6853 the wrong cursor if a parent has another cursor defined)
6854 * Cursor.cs: When loading an icon as cursor, MS uses the center of
6855 the icon as hotspot, not what's contained as hotspot in the icon
6856 file. This fixes the perceived drawing offset seen with Paint.Net
6858 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
6861 - Store the calculated rectangle in Hwnd object and use it when
6862 setting the client size
6863 - Force Toolwindows to always be type Dock, to ensure they're on top
6865 2006-05-18 Mike Kestner <mkestner@novell.com>
6867 * ComboBox.cs: first pass at ComboBox rework. Layout is more
6868 consistent with MS positioning. IntegralHeight, ItemHeight, Sizing.
6869 Correctly initialize textcontrol and ListBox on DropDownStyle changes.
6870 Substantial refactoring to remove confusing nested classes. Coding
6871 standard and Get+Set->property refactorings. Shift to index based
6872 highlighting in ComboListBox instead of constantly using IndexOf and
6873 Items[]. Add invalidations on resize for DropDownList to fix ugliness
6874 in FileDialog growth. Draw borders manually since Simple mode needs
6875 to look like two independent controls. Make listbox border
6876 conditional to DropDownStyle. Improved OwnerDraw support.
6878 2006-05-18 Sebastien Pouliot <sebastien@ximian.com>
6880 * PaintEventArgs.cs: For 2.0, check for a null Graphics in the .ctor.
6881 Don't set the disposed graphics to null, so we can throw the "right"
6882 exception if the graphics is reused later (added a flag to avoid
6883 double disposing). Some behaviours are different under 2.0 and are
6884 filled under bug #78448.
6886 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
6888 * Control.cs: When double-buffering is enabled, we need to reset
6889 our graphics context between paint calls. Otherwise, any
6890 transformations and other alterations on the context will
6891 become cumulative (#77734)
6893 2006-05-18 Mike Kestner <mkestner@novell.com>
6895 * ListView.cs: do focused item selection like MS on clicks.
6896 Rework focus handling for ItemControl so LostFocus invalidates as
6898 * ThemeWin32Classic.cs: only draw focus rectangle for ListViewItems if
6899 the ListView ItemControl has focus.
6901 2006-05-17 Peter Dennis Bartok <pbartok@novell.com>
6903 * XplatUIX11.cs: If client_window ends up being width or height zero
6904 due to border settings, move it off window inside whole_window (#78433)
6906 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
6908 * Mime.cs: Shrink the mime file cache correctly.
6910 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
6912 * ThemeWin32Classic.cs: Readded button focus drawing code. (#78429)
6914 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6916 * XplatUIX11.cs (AddExpose): More sanity checks
6918 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6921 - AddExpose: Don't add expose ranges outside the size of our
6923 - Cast opacity values to Int32 to avoid crashes with certain
6925 - Added disabled code paths that protect against illegal cross-
6926 thread painting (Developers.exe)
6928 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6930 * ProgressBar.cs: Invalidate the control when it's resized
6931 since block size is based on control size. (#78388)
6933 2006-05-16 Miguel de Icaza <miguel@novell.com>
6935 * DataGrid.cs (SetDataBinding): per the discussion on irc, instead
6936 of setting the incoming argument to the "reset" value, we set the
6937 this.datamember to string.empty (before we were invalidating the
6942 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6944 * Form.cs: Only apply transparency settings after the form
6945 is created. (Fixes #77800)
6947 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6949 * ApplicationContext.cs: Grab the HandleDestroyed event so
6950 we know when to fire OnMainFormClosed
6952 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6954 * Application.cs: Introduced sub-class to allow tracking of
6955 threads and centralized triggering of the event mess for
6956 ThreadExit, AppExit, etc.. (#76156)
6958 2006-05-16 Alexander Olk <alex.olk@googlemail.com>
6961 - Do not return a null icon index value for a mime subclass.
6962 Instead try the main mime type class too.
6963 - Seems that some newer distributions don't have a link to some
6964 gnome default icons anymore. So check the default gnome dir too.
6967 2006-05-16 Jackson Harper <jackson@ximian.com>
6969 * MdiClient.cs: Don't paint the parent background image if we have
6970 our own background image.
6972 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
6975 - PerformLayout: Do not shrink space filled by DockStyle.Fill
6976 controls, all filled controls are supposed to overlap (#78080)
6977 - UpdateZOrder is supposed to update the control's z-order in the
6978 parent's z-order chain. Fixed to behave like that
6979 - BringToFront: Removed obsolete code
6980 - SendToBack: Simplyfied
6981 - SetChildIndex: Trigger layout calculations when Z-order changes
6982 since layout is done by z-order
6984 2006-05-16 Chris Toshok <toshok@ximian.com>
6986 [ fixes bug #78410 ]
6987 * DataGrid.cs (set_AlternatingBackColor): use
6988 grid_drawing.InvalidateCells instead of Refresh().
6989 (set_BackColor): call grid_drawing.InvalidateCells.
6990 (set_BackgroundColor): use Invalidate instead of Refresh.
6992 * DataGridDrawingLogic.cs (InvalidateCells): new function, just
6993 invalidate the cell area.
6995 2006-05-15 Chris Toshok <toshok@ximian.com>
6997 [ fixes bug #78011 ]
6998 * ThemeWin32Classic.cs (DataGridPaintRows): pass the clip argument
6999 on to DataGridPaintRow.
7000 (DataGridPaintRow): take a clip argument, and only draw the cells
7001 which intersect it. same with the not_usedarea.
7003 * Theme.cs (DataGridPaintRow) add @clip parameter.
7005 * DataGrid.cs (ScrollToColumnInPixels): simplify, use
7006 XplatUI.ScrollWindow.
7007 (ScrollToRow): same.
7009 * DataGridDrawingLogic.cs (UpdateVisibleColumn): fix corner case
7010 with last column which was causing a gray swath to appear with the
7011 XplatUI.ScrollWindow code.
7013 2006-05-15 Chris Toshok <toshok@ximian.com>
7015 * ListBox.cs (HorizontalScrollEvent): in the non-multicolumn case,
7016 use XplatUI.ScrollWindow.
7017 (VerticalScrollEvent): use XplatUI.ScrollWindow.
7019 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
7021 * TextBoxBase.cs: Added handling of middle-button paste for X11. (#78375)
7023 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
7025 * Cursors.cs: For X11, read NWSE and NESW cursors from our resource
7026 file since there are no equivalent X11 cursors
7028 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
7030 * MonthCalendar.cs : DateTimePicker should reflect selected date
7031 on mouse*up*, not mouse*down*. Fixed originally reported part of
7034 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
7036 * TabControl.cs : When argument index is equal or more than tab
7037 count, just ignore. Fixed bug #78395.
7039 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
7041 * Control.cs: Dispose all child controls when control is diposed (#78394)
7043 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
7045 * ColorDialog.cs: Finally it is possible to select the color with
7048 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
7050 * PrintDialog.cs: Fix typo
7052 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
7054 * PrintDialog.cs: PrintDialog is not resizable
7055 * ThemeWin32Classic.cs: Draw non links in LinkLabel with the correct
7056 color. Made some ToolBar drawing methods protected virtual.
7058 2006-05-13 Jordi Mas i Hernandez <jordimash@gmail.com>
7060 * PrintDialog.cs: Implementation of the PrintDialog
7062 2006-05-12 Chris Toshok <toshok@ximian.com>
7064 * ScrollBar.cs (set_Value): don't use Dirty/Invalidate to move the
7065 thumb, instead use MoveThumb. This has the side effect of making
7066 most of the other thumb moving machinery use MoveThumb as well.
7067 (OnHandleCreated): pass false for @dirty to UpdateThumbPos, as we
7068 need to actually invalidate the rectangle where the new thumb will
7070 (MoveThumb): use XplatUI.ScrollWindow to move the thumb around.
7071 We force an Update() after, so it's not as fast as it could be,
7072 but at least there's zero flicker and no droppings.
7073 (OnMouseMoveSB): in the thumb dragging case, use MoveThumb.
7074 (UpdateThumbPos): add another argument (dirty), which says whether
7075 or not to calculate/add dirty regions which we later invalidate.
7076 For cases where we know we're going to use MoveThumb, we pass
7077 false for this. Otherwise, pass true.
7079 2006-05-12 Jackson Harper <jackson@ximian.com>
7081 * ThemeWin32Class.cs: Fixes for alignment and icon rendering in
7084 2006-05-12 Peter Dennis Bartok <pbartok@novell.com>
7086 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new SetClipRegion
7087 and GetClipRegion methods and UserClipWontExposeParent property.
7088 * XplatUIWin32.cs: Implemented SetClipRegion/GetClipRegion methods,
7089 overriding UserClipWontExposeParent property, setting to false, since
7090 Win32 handles the required expose messages to draw our clipped parent
7092 * XplatUIX11.cs: Implemented SetClipRegion and GetClipRegion; updated
7093 PaintEventStart to set the user clip region if set.
7095 - Now internally tracking the Region for the control since we need to
7096 store it if the handle is not yet created and only set it when it
7097 becomes created. Before setting the region forced handle creation
7098 - Added code to draw the parents underneath a user-clipped region
7099 * Hwnd.cs: Added UserClip property
7101 2006-05-12 Chris Toshok <toshok@ximian.com>
7103 * ScrollBar.cs (set_LargeChange): Refresh() -> InvalidateDirty()
7104 (set_Maximum): same.
7105 (set_Minimum): same.
7106 (set_SmallChange): same.
7107 (OnMouseUpSB): remove the call to refresh when releasing the
7108 thumb. We shouldn't need it.
7110 2006-05-12 Miguel de Icaza <miguel@novell.com>
7112 * StatusBar.cs (UpdatePanel): If the panel being refreshes has the
7113 AutoSize set to None, we do not need to relayout everything, we
7114 just need to invalidate the current region.
7116 (Draw): Do not draw the entire ClientArea, just redraw the
7117 clip area being passed.
7119 * MdiClient.cs: Make MdiClient constructor with the Form argument
7122 2006-05-12 Jackson Harper <jackson@ximian.com>
7124 * ThemeWin32Classic.cs (DrawToolBar): Flat toolbars get their
7125 parents background image, but strangely not their own.
7126 - (DrawStatusBarPanel): Take into account horizontal alignment
7127 when drawing the strings and icons.
7129 2006-05-12 Mike Kestner <mkestner@novell.com>
7131 * ListBox.cs: avoid invalidations for focus when the collection is
7134 2006-05-12 Chris Toshok <toshok@ximian.com>
7136 * ScrollBar.cs (OnMouseMoveSB): when dragging the thumb, don't
7137 invalidate the entire thumb area. Call InvalidateDirty which
7138 limits the redraw to the thumb itself and surrounding pixels.
7140 * XplatUIX11.cs (ScrollWindow): optimize copying.
7142 2006-05-12 Chris Toshok <toshok@ximian.com>
7144 * DataGridDrawingLogic.cs: make CalcGridAreas non-reentrant.
7145 Figure out the positioning/layout in a single pass instead of
7146 multiple recursive invocations. Speeds up the initial display of
7147 the data grid. Also, make many things private that were
7148 originally public but unused outside this class.
7150 2006-05-11 Jackson Harper <jackson@ximian.com>
7152 * MdiClient.cs: Improved layout code.
7154 2006-05-11 Jonathan Chambers <jonathan.chambers@ansys.com>
7156 * PropertyGrid.cs : Only check GetPropertiesSupported for properties,
7159 2006-05-11 Chris Toshok <toshok@ximian.com>
7161 * Hwnd.cs (Invalid): don't start off with Rectangle.Empty, as
7162 union of that will always be {0,0,width,height}.
7164 2006-05-11 Jackson Harper <jackson@ximian.com>
7166 * Form.cs: Match MS's DefaultSize for forms (they must have
7167 changed the size in sp2).
7169 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
7171 * TextBoxBase.cs : implement CTRL+A (select all). Fixed bug #78368.
7173 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
7175 * TextControl.cs : Fixed bug #78109. This incorrect position
7176 comparison caused crash on automatic line split.
7177 * TextBoxBase.cs : reduce duplicate code.
7179 2006-05-10 Jackson Harper <jackson@ximian.com>
7181 * MdiClient.cs: Active form is only sent to the back when using
7182 the Next form functionality, when a form is clicked the current
7183 active shouldn't be sent to the back.
7184 - Layout the mdi windows when the container is first made visible.
7185 * Form.cs: Give the MdiClient a ref to the containing form when we
7188 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
7190 * LinkLabel.cs : link_font could be uninitialized, so populate one
7191 before actual use. Fixed bug #78340.
7193 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
7195 * XplatUIX11.cs : clipboard format native value is IntPtr.
7198 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
7201 - Instead of showing context menus directly we send WM_CONTEXTMENU,
7202 which is passed up the parent chain by DefWndProc
7203 - We now handle WM_CONTEXTMENU to display any menu, or pass it
7204 to DefWndProc (#77956)
7205 * XplatUIX11.cs: Added handling of WM_CONTEXTMENU (pass up) to DefWndProc
7207 2006-05-10 Jackson Harper <jackson@ximian.com>
7209 * MdiClient.cs: We need to remove the controls from the mdi
7210 collection, when we close the window.
7211 * MdiWindowManager.cs: Special handling of closing mdi windows.
7212 * InternalWindowManager.cs: Make the close method virtual so the
7213 mdi window manager can handle it specially.
7215 2006-05-10 Jordi Mas i Hernandez <jordimash@gmail.com>
7218 - Recalculate grid when the data source has changed
7219 - Matches styles provided by user from all data sources types
7220 * DataGridTableStyle.cs: For columns that provided by the user set the
7221 with the preferred value is there was unassigned.
7222 * CurrencyManager.cs: throw OnItemChanged event
7224 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
7226 * PictureBox.cs: Don't animate until handle is created. Start animation
7227 when handle is created.
7229 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
7231 * XplatUIX11.cs, Hwnd.cs: Adopted Mike's patch from #77979 to match
7233 * XEventQueue.cs: We don't need to provide the extra info
7235 2006-05-10 Jackson Harper <jackson@ximian.com>
7237 * MdiClient.cs: If the mdi clients parent form has a background
7238 image set, we draw that background image for the mdi area's
7241 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
7243 * TextBoxBase.cs: Set IBeam cursor (#78347)
7245 2006-05-10 Mike Kestner <mkestner@novell.com>
7247 * ToolBar.cs: fix some text padding issues with ButtonSize
7248 calculation. Update the default size to match MS documentation.
7249 * ToolBarButton.cs: use ToolBar.ButtonSize for layout of unspecified
7250 button size. Fixes #78296.
7252 2006-05-10 Mike Kestner <mkestner@novell.com>
7254 * ListBox.cs: use is_visible for scrollbar positioning in case the
7255 control isn't on screen yet. Fix off by one with Right vs Width
7256 usage. Update Scrollbars in SetBoundsCore. Fixes #78188 and #78258.
7258 2006-05-10 Jackson Harper <jackson@ximian.com>
7260 * X11Dnd.cs: Drop to a control with another control on top of it.
7261 * ToolBar.cs: Work on a copy of the buttons list, so that it can
7262 be modified in click handlers. TODO: Look for similar problems in
7265 2006-05-09 Jackson Harper <jackson@ximian.com>
7267 * Form.cs: Window managers need the old window state when setting
7269 * InternalWindowManager.cs: Allow the base mdi window manager to
7270 handle more of the MDI only stuff (like maximize buttons).
7271 * MdiWindowManager.cs: Fix some snafus in changing the window
7272 state. Add all the menu functionality, for both popup and
7274 * MdiClient.cs: When a new form is selected the currently
7275 activated form is sent to the back, this matches MS.
7276 - Implement a new method to activate the next mdi child window.
7278 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
7281 - Added new InternalCapture method to allow controls to prevent
7282 the capture behaviour on the click handlers
7283 - Switched to use InternalCapture
7285 - Using InternalCapture to prevent mouse captures from being released
7286 on mouse button release (Fixes #78100)
7287 * XplatUIX11.cs (DeriveStyles): Now checks caption state and only
7288 returns Form borders if a caption is present. (Fixes #78310)
7290 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
7292 * TreeNode.cs: Changed serialization .ctor to not require every field
7293 to be present. (#78265)
7294 * OwnerDrawPropertyBag.cs: Added serialization .ctor
7296 2006-05-05 Alexander Olk <alex.olk@googlemail.com>
7298 * MimeIcon.cs: for is faster than foreach for strings.
7300 2006-05-05 Mike Kestner <mkestner@novell.com>
7302 * CheckedListBox.cs: update check handling code to not use selected.
7303 * ListBox.cs: rewrite of mouse selection handling to correspond to MS
7304 behavior for visual feedback, motion response, shift/ctrl handling,
7305 and properly deal with all 4 selection modes. Updates to bounds
7306 handling logic. Add scroll wheel support. [Fixes #77842]
7308 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
7311 - Moved adding of Implicit controls into .ctor. That way, subsequent
7312 creation of the controls will not cause them to think they are
7313 toplevel windows (fixes #78200 header problem)
7314 - Added 2.0 ShowGroups and UseCompatibleStateImageBehaviour
7315 - Switched visibility setting of header control to use internal field
7316 to avoid triggering handle creation
7317 - Now checking if handle is created before causing a refresh when items
7318 are added (This makes us now match handle creation time with MS)
7319 * Splitter.cs: Removed loading of private splitter cursor, switched to
7320 Cursors version now that that is loading the right ones
7321 * Cursors.cs: Load proper splitter cursors from resources
7322 * Cursor.cs: Added second method of loading resource cursors for the
7323 VS.Net users amongst us
7325 2006-05-05 Mike Kestner <mkestner@novell.com>
7327 * ListView.cs: give header_control a minimum size based on the
7330 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
7332 * XplatUIX11.cs: WS_EX_TOPMOST requires window to be on top. A dock
7333 window seems to do that with metacity, so set that type. (#78120)
7335 2006-05-05 Mike Kestner <mkestner@novell.com>
7337 * ListViewItem.cs: fix Details mode checkbox layout bug.
7338 * ThemeWin32Classic.cs: draw a ListView column header for unused space
7339 at the end of the header, if it exists. [Fixes for #78200]
7341 2006-05-04 Jackson Harper <jackson@ximian.com>
7343 * MdiClient.cs: Add a helper property to get the container form.
7344 * MdiWindowManager.cs: We have to make sure to use the menu origin
7345 when drawing the icons and buttons, this fixes maximized window
7346 icons/buttons on win32.
7347 * InternalWindowManager.cs: Reset the restore captions when a
7348 window goes from Maximized to Minimized and vice versa. Move the
7349 DrawMaximizedButtons into the MdiWindowManager source, tool
7350 windows can't be maximized. NOTE: This could use a little
7351 refactoring if time ever permits.
7353 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
7355 * TextBox.cs: Add MWFCategoryAttributes
7356 * TextBoxBase.cs: Add MWFCategoryAttributes
7357 * Form.cs: Add MWFCategoryAttributes
7359 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
7361 * Control.cs: Add MWFCategoryAttributes
7362 * ScrollableControl.cs: Add MWFCategoryAttributes
7364 2006-05-03 Alexander Olk <alex.olk@googlemail.com>
7366 * ThemeWin32Classic.cs: Draw the ToolBar top border only if
7367 Divider is true. Fix a little glitch in PropertyToolBar
7370 2006-05-02 Peter Dennis Bartok <pbartok@novell.com>
7373 - Dispose: Call base.Dispose, this causes the disposed event
7374 to be fired (and probably other, more important stuff)
7375 - SetVisibleCore: Set is_visible to true after creating the
7376 window so that the window still gets created invisible (if
7377 WM_VISIBLE isn't set). That will cause the ShowWindow afterwards
7378 to generate a WM_ACTIVE message
7379 * Form.cs: Call Dispose when we want to destroy the window, instead of
7380 just destroying the handle (Dispose will do that for us)
7382 - RootWindow also needs a queue, so we can properly process the
7383 property change events from RootWindow (like Activate)
7384 - Generatic synthetic WM_ACTIVE message when the active window is
7387 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
7389 * LinkLabel.cs: Trigger a recalc of our label dimensions when
7392 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
7394 * ThemeWin32Classic.cs (ButtonBase_DrawImage): Use the proper image
7395 for determining width and height (image might not be assigned if
7396 we're drawing an imagelist)
7398 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
7400 * XplatUI.cs, XplatUIDriver.cs: Added MenuHeight property
7401 * XplatUIWin32.cs: Overriding new MenuHeight property, retrieving
7403 * Theme.cs: No longer returns hardcoded menu height, instead calls
7405 * Form.cs (OnLoad): Scaling happens before triggering Load events
7408 2006-05-01 Mike Kestner <mkestner@novell.com>
7410 * MenuItem.cs: fix NRE for text == null. Fixes #78250.
7412 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
7414 * TextBoxBase.cs: Removed Fixme
7415 * RichTextBox.cs (set_RTF): Invalidate document after update (#78247)
7417 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
7420 - ScrollWindow: We were passing hwnd.ClientRectangle which returns
7421 the rectangle relative to the parent, considering borders. We
7422 don't really want that.
7423 - ScrollWindow: Fixed warning to be more understandable
7424 * TextBoxBase.cs: Fixed ScrollWindow calculations to consider our
7425 scrollbars and scroll only the visible area
7426 * RichTextBox.cs: Removed debug output
7428 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
7430 * NumericUpDown.cs (Text): Just use base
7431 * UpDownBase.cs: Ensure txtView is created before using it
7433 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
7435 * XplatUIX11.cs (SetWindowTransparency): Casting opacity to int before
7436 casting to IntPtr to avoid 64bit overflow errors
7438 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
7441 - AllowDrop: Don't force handle creation.
7442 - CreateHandle: Added call to tell driver if we're allowed to drop
7444 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
7446 * FileDialog.cs: Remember the last directory not only for the
7447 current instance but also for new FileDialog instances.
7449 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
7451 * XplatUIX11.cs: Forgot to set the queue on the foster parent. That
7452 broke sending async messages
7454 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
7457 - ScrollWindow: Fixed method. We finally generate expose events again
7458 for scrolled areas. This was causing 'garbage' when scrolling
7459 textbox and other controls that used ScrollWindow
7460 - Switched from using the regular queue for paint events to the MS
7461 model of 'generating' paint events when the queue is empty.
7462 We use the new XQueueEvent.Paint subclass to store which windows
7464 - AddExpose now takes the x/y/width/height of the exposed area
7465 and inserts the window into the paint queue if not already there
7466 - InvalidateWholeWindow: Switched to use new AddExpose method
7467 - UpdateMessageQueue: Added which queue to monitor for paint events
7468 - DefWndProc: Added default handler for WM_PAINT and WM_NCPAINT in
7469 the unlikely case nothing above handles it. We reset the expose
7470 pending states to get them off the queue.
7471 - GetMessage: Now pulls a paint event if no other events are in the
7473 - Invalidate: Switched to new AddExpose method
7474 - PeekMessage: Updated to understand pending paint events
7475 - UpdateWindow: Fixed logic bug. We were only updating if the window
7476 didn't need updating. Also switched to sending WM_PAINT directly,
7478 * XEventQueue.cs: Added Paint queue support. Allows enqueue/dequeue
7479 and random access Remove(). The random access is needed to handle
7480 UpdateWindow() where a WM_PAINT is sent directly without accessing
7482 * ScrollBar.cs: Added Update() calls to cause immediate updates to
7483 allow for better feedback when scrolling. Scrollbars are small and
7484 the immediate update should make it 'feel' more responsive without
7485 slowing things down. ScrollBar still needs it's invaliate logic
7486 updated to not always invalidate the whole bar on certain changes.
7488 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7491 (BackColor): if the control does not support a transparent background,
7492 return the default backcolor when the parent backcolor is transparent.
7494 2006-04-28 Peter Dennis Bartok <pbartok@novell.com>
7496 * Application.cs: Updated to new StartLoop/GetMessage API
7497 * RichTextBox.cs: Provide some output on RTF parsing errors
7498 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs: Added
7499 new queue_id argument to GetMessage and PeekMessage to allow faster
7500 handling of per-thread queues in drivers.
7501 * Hwnd.cs: Added Queue tracking and property
7502 * MenuAPI.cs: Updated to new StartLoop/GetMessage API
7503 * XEventQueue.cs: Added thread trackingA
7504 * PropertyGridView.cs: Updated to new StartLoop/GetMessage API
7506 - Implemented new per-thread queue
7507 - GetMessage: Fixed return/break behaviour on several cases. We were
7508 returning stale messages in some cases, instead of just processing
7511 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
7513 * PropertyGrid.cs: Call GetPropertiesSupported on TypeConverter.
7515 2006-04-27 Peter Dennis Bartok <pbartok@novell.com>
7517 * ThemeWin32Classic.cs (DrawToolBar): Refactored, simplified the logic,
7518 fixed off-by-one comparisons between Width/Height and Right/Bottom.
7520 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
7522 * PropertyGridView.cs: Fix drop down width.
7524 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
7526 * ThemeWin32Classic.cs: Peter thinks that three additional lines are
7527 a mess in DrawToolBar, so I removed one of them.
7529 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
7531 * ThemeWin32Classic.cs: Draw the ToolBar border lines only if
7532 needed (clip). Otherwise we get artifacts.
7534 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
7536 * FixedSizeTextBox.cs: Added constructor to allow specifying which
7538 * UpDownBase.cs: Set the spinner control to be fixed height vertical,
7539 and switched FixedSizeTextBox to only be fixed vertical (#78116)
7540 * Form.cs: Not applying the 'MS 0.08 fudge factor' for a given dimension
7541 if it matches the scale base font (avoids unneeded scaling)
7543 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
7545 * X11DesktopColors.cs: One gtk_init_check should be enough
7547 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
7549 * TextBoxBase.cs: Moved Backspace handling into WM_CHAR block to
7552 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
7555 - Generate OnTextChanged for Backspace even if we're only deleting
7556 the current selection
7557 - When setting the Text property, only select all text if the
7558 control does not have focus when it is being set. Otherwise
7559 just place the cursor at the beginning of the control
7561 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
7563 * ThemeWin32Classic.cs: ToolBars get drawn with two lines at the top.
7564 Added a little helper to draw PropertyGrid ToolBar with a different
7565 border and a different BackColor.
7566 * PropertyGrid.cs: Some background parts didn't get painted with the
7567 correct background color. Added a class that helps us to draw the
7568 correct border for PropertyGridView and a class that helps us to
7569 draw ToolBars with a different backcolor
7570 * PropertyGridView.cs: Draw PlusMinus with the correct colors.
7572 2006-04-25 Jonathan Chambers <jonathan.chambers@ansys.com>
7574 * PropertyGrid.cs: Bug 78196, font size, and splitter location.
7575 * PropertyGridView.cs: Bug 78196, font size, and splitter location.
7577 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
7579 * XplatUIWin32.cs (DIBtoImage): ORing instead of ANDing the alpha
7580 into the palette entries. Also, since we're working on a copy
7581 we needed to copy the palette back onto the bitmap.
7582 * Cursor.cs: Same fix as XplatUIWin32.cs.
7584 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
7586 * ImageListStreamer.cs: Need to read the var (or we're off)
7588 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
7590 * TextControl.cs, ComboBox.cs, CommonDialog.cs, Theme.cs,
7591 XplatUIWin32.cs, RichTextBox.cs, ImageListStreamer.cs,
7592 TextBoxBase.cs: Unused var fixes
7593 * AxHost.cs: Small 2.0 fix
7594 * XplatUIX11.cs: Switched to IntPtr from int for XA_CARDINAL atoms
7595 as it seems that is what at least Metacity expects. This will make
7596 icons show up on 64bit platforms. We still have some 64bit size
7597 issues, though, since the startup app window size still won't match.
7599 2006-04-25 Mike Kestner <mkestner@novell.com>
7601 * *.cs: cleanup newly reported exception var unused warnings.
7603 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
7605 * ThemeWin32Classic.cs: Button image alignment now matches exactly
7608 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
7610 * ThemeWin32Classic.cs: Fixed drawing code for buttons with an
7611 image. The image position is always the same, no matter if the
7612 button is pressed or not.
7614 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
7616 * FileDialog.cs: SaveFileDialog shouldn't rely on a MWFFileView
7617 selection and set the correct filename for SaveFileDialog.
7618 Patch by Emery Conrad.
7620 2006-04-24 Mike Kestner <mkestner@novell.com>
7622 * ListView.cs (LastVisibleIndex): when in List mode of Alignment.Left,
7623 check for item.X outside the ClientRect instead of item.Y. Fixes
7626 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7628 * ImageListStreamer.cs: some images store a wrong grow factor, so don't
7629 trust that value blindly and do some sanity check. Fixes bug #77814.
7631 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7633 * ImageListStreamer.cs: save the mask as a 1bpp image.
7635 2006-04-21 Mike Kestner <mkestner@novell.com>
7637 * CheckedListBox.cs: maintain CheckStatus here. Use DrawItemState to
7638 pass Checked and Indeterminate to the Theme Engine. Improve
7639 encapsulation with ListBox.
7640 * ListBox.cs: Keep a StringFormat instead of calculating it every item
7641 draw. Kill ListBoxItem. Refactor away the ListBoxInfo and ListBoxItem
7642 nested types. Move all CheckState functionality to CheckedListBox.
7643 Make IntegralHeight work like MS. Rewrite of Layout engine. Fix
7644 OwnerDrawVariable layout/rendering. Fix multicolumn rendering. Fix
7645 ScrollAlwaysVisible handling. Refactor "selected" collections to use a
7646 single base list. Fix scrollbar sizing and placement to mirror MS.
7647 * Theme.cs: remove CheckedListBoxCheckRectangle. It wasn't really
7649 * ThemeWin32Classic.cs: implement Indeterminate CheckState rendering
7650 for CheckedListBox by using new DrawItemState info. Center the
7651 checkboxes on the items. Use new StringFormat property.
7653 2006-04-18 Jackson Harper <jackson@ximian.com>
7655 * Form.cs: MdiChildren don't do default locations the same way as
7656 regular forms. This prevents a crash when trying to position the
7659 2006-04-17 Jonathan Chambers <jonathan.chambers@ansys.com>
7661 * PropertyGridTextBox.cs: Formatting, copyright
7662 * PropertiesTab.cs: Formatting
7663 * PropertyGrid.cs: Formatting
7664 * PropertyGridView.cs: Formatting, fix drop down, enabled double
7665 click toggling of values
7667 2006-04-17 Peter Dennis Bartok <pbartok@novell.com>
7669 * KeyPressEventArgs: Added 2.0 only setter for KeyChar
7670 * Control.cs (.ctor): verify_thread_handle is static, don't reset
7671 every time a control is created
7672 * Application.cs: Removed obsolete EnableRTLMirroring method
7674 2006-04-18 Gert Driesen <drieseng@users.sourceforge.net>
7676 * TabControl.cs: Avoid ArgumentOutOfRangeException when setting
7677 SelectedIndex to -1. Fixes bug #78121.
7679 2006-04-17 Jackson Harper <jackson@ximian.com>
7681 * Binding.cs: Handle null values for Current and BindingContext.
7682 This occurs when binding is a little delayed.
7683 * CurrencyManager.cs: return null for Current when there are no
7685 - Hookup to the listchanged event on the DataView and update
7686 bindings when the list is changed. This fixes late binding of
7689 2006-04-17 Jackson Harper <jackson@ximian.com>
7692 * XplatUIX11.cs: Drops should not create a mousedown. Patch by Tim
7695 2006-04-15 Alexander Olk <alex.olk@googlemail.com>
7697 * ThemeWin32Classic.cs: Draw disabled combo button in the correct
7699 * ComboBox.cs: If the combobox is disabled call CPDrawComboButton
7700 with the correct ButtonState
7702 2006-04-14 Peter Dennis Bartok <pbartok@novell.com>
7704 * XplatUIX11.cs: Improved distinguishing between window types to
7705 tell the WM a type closer to what the app wants (Fixes #78107)
7707 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
7709 * ThemeWin32Classic.cs: Fixed drawing of ContainerGrabHandle and
7712 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
7714 * ThemeWin32Classic.cs: Fixed size grip drawing and updated StatusBar
7715 drawing code to reflect the size grip changes
7717 2006-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7719 * ImageListStreamer.cs: fix handling of the mask that follows the main
7720 bitmap when deserializing and serialize it properly. The generated mask
7721 should better be a 1bpp image, but I'll do that later.
7723 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
7725 * FileDialog.cs: Show something in the DirComboBox on *nix if the
7726 path doesn't fit into some of our Current.Places
7728 2006-04-13 Jackson Harper <jackson@ximian.com>
7730 * ComboBox.cs: Use borders instead of drawing our own decorations,
7731 try to obey correct rules for heights.
7734 * ThemeClearLooks.cs:
7735 * ThemeWin32Classic.cs: Remove combobox decoration drawing code,
7736 this is now handled by borders.
7737 - Remove unused DrawListBoxDecorationSize method.
7739 2006-04-13 Mike Kestner <mkestner@novell.com>
7741 * MenuAPI.cs: null guarding for the disbled click check fixes crash
7744 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
7746 * ThemeWin32Classic.cs:
7747 - Fixed CPDrawStringDisabled
7748 - Corrected drawing of disabled menu items
7749 - Fixed drawing of disabled radio buttons (bug #78095)
7750 - Draw check in a disabled CheckBox with color ControlDark
7752 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7754 * Form.cs: Use the provided width when calculating the menu size;
7755 when being maximized we get WM_NCCALCSIZE before WM_WINDOWPOSCHANGED
7756 and ClientSize.Width won't be updated yet
7757 * Application.cs: Use Visible instead of Show() to make form visible,
7758 this way we create the handle later and menusize is considered
7760 2006-04-12 Mike Kestner <mkestner@novell.com>
7762 * MenuAPI.cs: ignore clicks on disabled menu items. Thanks to Alex for
7765 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7767 * TextBox.cs: Implemented context menu
7769 2006-04-12 Mike Kestner <mkestner@novell.com>
7771 * ListView.cs: implement box selection. fixes #77838.
7772 * ThemeWin32Classic.cs: draw box select rect, remove a ResetClip.
7774 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7776 * XplatUIX11.cs: Added setting of window type when transient window
7777 is created (metacity would move it otherwise)
7778 * X11Structs.cs: Added WINDOW_TYPE atoms
7779 * LinkLabel.cs: Override OnPaintBackgroundInternal and draw the
7780 background (the control is Opaque but still wants transparent
7783 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7785 * Control.cs: Added OnPaintBackgroundInternal to allow controls
7786 that set Opaque but don't mean it (like all ButtonBase-derived
7787 controls) to still draw their background
7788 * ButtonBase.cs: Override OnPaintBackgroundInternal and draw
7791 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7793 * Control.cs (PaintControlBackground): Set the graphics object
7794 on our PaintEvent to null to prevent it from being disposed
7795 when the PaintEvent gets disposed
7797 2006-04-12 Alexander Olk <alex.olk@googlemail.com>
7799 * ThemeWin32Classic.cs: Use even more SystemBrushes and SystemPens
7800 * ThemeNice.cs, ThemeClearlooks.cs: fix typo
7802 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
7805 - Added transparency check to BackColor property. Transparent
7806 backgrounds are only allowed if the control styles permit it
7807 - Added recursive painting of parent control background and
7808 foreground if a control with a transparent backcolor is drawn
7809 (Thanks to Tim Ringenback for providing his 'hack' as a base
7810 for this patch) Fixes #77985 and #78026.
7811 - Added Opaque style check before calling OnPaintBackground, no
7812 need to draw the background if the control is opaque
7813 - Removed ControlAccessibleObject owner variable (inherited from
7814 base, no need to define again)
7815 - Added some documentation links explaining the drawing events
7818 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
7820 * Splitter.cs (CalculateSplitPosition): Corrected the bad assumption
7821 that the affected control is the located at the left border of our
7822 parent (Fixes #77936)
7824 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
7826 * TextBoxBase.cs: When rendering disabled or readonly controls,
7827 draw the background with 'Control' instead of 'Window' color as
7828 long as the user hasn't specifically set a color
7830 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
7832 * TextBoxBase.cs: Don't try to shortcut by checking against base.Text
7833 since that won't be updated if the user types text (only if it's
7834 programatically set)
7836 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
7838 * ScrollableControl.cs: Calculate DisplayRect dynamically, so that
7839 layout changes do to app-triggered resizes will have the proper
7840 display rectangle for layout
7842 2006-04-11 Alexander Olk <alex.olk@googlemail.com>
7844 * ThemeWin32Classic.cs:
7845 - Make use of the SystemBrushes and SystemPens wherever possible
7846 - Corrected some highlight colors
7847 - Corrected RadioButton and CheckBox FlatStyle.Flat and Popup
7849 * Theme.cs: Added Empty field to CPColor struct
7851 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
7853 * ScrollabeControl.cs: We need to consider whether or not a scrollbar
7854 is displayed when calculating the display rectangle. Thanks to Mike
7855 for teaching me the err of my ways.
7857 2006-04-10 Peter Dennis Bartok <pbartok@novell.com>
7859 * ScrollableControl.cs:
7860 - Rewrote DisplayRectangle code, now returning the proper x/y coords
7861 (instead of 0,0) and we now return the real width/height instead of
7862 just the clientrectangle, adjusted for padding. The rectangle is
7863 now cached and created by the new CalculateDisplayRectangle method.
7864 - Created new CalculateDisplayRectange method, which basically does
7865 what get_DisplayRectangle() did originally, but now using the
7866 right edge instead of DisplayRectangle to determine the size of
7868 - get_Canvas(): Fixed it to properly calculate canvas for
7869 right/bottom controls which seem to be placed to the right/bottom
7870 of any controls that have a fixed location
7871 - Removed TODO that's taken care of
7872 - Removed NotImplementeds and attempted to implement AdjustFormScrollBars
7873 and SetDisplayRectLocation according to new MSDN2 docs
7874 - Added call to PerformLayout in OnVisibleChanged, MS causes a layout
7875 event when that is called, this is added for compatibility
7876 - ScrollControlIntoView(): Implemented.
7877 - Switched scrollbars to be implicit, they shouldn't be selectable
7878 * ContainerControl: Now that ScrollControlIntoView is implemented, we
7879 call it when the active control is set/changed
7880 * ScrollBar.cs: Added support for generating Win32 scrollbar messages
7881 * ImplicitHScrollBar.cs, ImplicitVScrollBar.cs: Now setting new base
7882 implicit_control variable (used for native Win32 message generation)
7883 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added new
7884 HorizontalScrollBarHeight and VerticalScrollBarWidth properties
7885 * ThemeWin32Classic.cs: Now calling the driver for the scrollbar sizes
7886 * XplatUIStructs.cs: Added ScrollBarCommands enum
7888 2006-04-10 Jackson Harper <jackson@ximian.com>
7891 * CheckedListBox.cs:
7898 * PrintPreviewControl.cs:
7904 * UpDownBase.cs: Fixup base event overrides.
7906 2006-04-06 Mike Kestner <mkestner@novell.com>
7908 * ScrollBar.cs: fix "new event" declarations (#76509) and bounds check
7909 all user-initiated value changes to min <= value <= max-thumbsz+1.
7910 (set_Value): check for vert/horiz when calculating new thumb position.
7911 (LargeIncrement): bounds check to stop pos at max - thumb_size + 1
7913 (OnMouseMoveSB): refactor the thumb dragging code and refine
7914 invalidation logic to reduce flicker.
7915 (SetEndPosition): bounds check to stop pos at max - thumb_size + 1
7916 (SmallIncrement): bounds check to stop pos at max - thumb_size + 1
7917 (UpdateThumbPosition): small code readability cleanup
7919 2006-04-10 Alexander Olk <alex.olk@googlemail.com>
7921 * ThemeNice.cs: Small UI polishing. Draw borders a little bit
7924 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
7926 * ThemeNice.cs: Use a better graphics effect when a button is pressed
7928 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
7930 * Theme.cs: Added GetDashPen and GetSizedPen to SystemResPool
7931 * ThemeWin32Classic.cs: Make use of the new SystemResPool methods.
7932 This dramatically reduces the number of Pen.Dispose calls.
7933 Where possible call ResPool methods only once instead of calling it
7934 over and over again (for example for the same color).
7936 2006-04-06 Mike Kestner <mkestner@novell.com>
7938 * TabControl.cs: fix for SelectedIndex updating on TabPage removals.
7939 Also remove an unused private field on the collection. Fixes #77972.
7941 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
7943 * ThemeNice.cs: Added ToolBar drawing code
7945 2006-04-06 Mike Kestner <mkestner@novell.com>
7947 * Form.cs (ShowDialog): MS allows IWin32Window param to be a non-form.
7948 I'm assuming that means we need to look up the toplevel for the
7949 provided control. Fixes the crash trace in #77911 but exposes another
7950 crash in some strange reflection usage in NDocGui.
7952 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
7954 * ThemeNice.cs: Gave it a little silver touch and added Images
7956 * FontDialog.cs: FontDialog is not resizable
7957 * FileDialg.cs: Added SizeGripStyle.Show
7959 2006-04-05 Jackson Harper <jackson@ximian.com>
7961 * KeyboardLayouts.cs: Remove warning.
7963 2006-04-05 Jackson Harper <jackson@ximian.com>
7965 * Control.cs: Enable OnPaintInternal so we can use it for drawing
7966 all of our controls instead of Paint +=.
7981 * ComboBox.cs: Remove handling of WM_PAINT and WM_ERASEBKGND and
7982 use OnPaintInternal. Remove Width/Height and Visible checks in
7983 paint handler, this is done at a higher level now.
7984 * GroupBox.cs: Don't need to handle WM_ERASEBKGND anymore.
7985 * PaintEventArgs.cs: Add a handled flag so controls that don't
7986 want anymore painting after OnPaintInternal can make sure OnPaint
7989 2006-04-05 Mike Kestner <mkestner@novell.com>
7991 * Form.cs: fix the menu WndProc hacks to respect the native enabled
7992 state of the form, so that we don't process events when Modal dialogs
7993 are up. Fixes #77922.
7995 2006-04-05 Alexander Olk <alex.olk@googlemail.com>
7997 * Mime.cs: Default for range length is 1 not 0. If set to 0 no match
8000 2006-04-05 Mike Kestner <mkestner@novell.com>
8002 * XplatUIX11.cs: fix typo in the EX_APPWINDOW transient patch.
8004 2006-04-05 Mike Kestner <mkestner@novell.com>
8006 * ListView.cs (HeaderMouseMove): null guarding for the over column
8007 when setting up the drag_to_index. Fixes #78015.
8009 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
8011 * XplatUIX11.cs: If WS_EX_APPWINDOW isn't set we don't want to show up
8012 in the taskbar. Transient windows seem to accomplish that.
8014 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
8017 - Re-enabled CreateParams.X/Y code for FormStartPosition
8018 - Added code for manual placement when creating the Control
8019 - Incomplete patch to treat MDI forms differently when
8020 setting the ClientSizeCore. (Still need to figure out handling
8023 - When we're explicitly setting the X/Y position of a non-Child
8024 window, let the WM know. Metacity really wants this.
8026 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
8028 * ThemeNice.cs: Added CPDrawButton
8030 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
8032 * ThemeNice.cs: Changed the color for focused buttons and activated
8033 the arrows for small scroll buttons.
8035 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
8037 * ThemeWin32Classic.cs: Removed DrawFlatStyleButton, not needed
8038 anymore. Changed some method modifiers to protected (virtual)
8039 * ThemeClearlooks.cs: Updated to reflect the ThemeWin32Classic
8041 * ThemeNice.cs: Updated to reflect the ThemeWin32Classic changes.
8042 Updated drawing of menus, buttons and progressbars; added
8045 2006-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
8047 * ImageListStreamer.cs: implemented serialization/deserialization
8050 2006-04-03 Alexander Olk <alex.olk@googlemail.com>
8052 * ThemeWin32Classic.cs:
8053 - Removed all the DrawFrameControl stuff; CPDrawButton,
8054 CPDrawCheckBox and CPDrawRadioButton are now handled directly
8056 - Updated and corrected the drawing code of CPDrawButton,
8057 CPDrawCheckBox and CPDrawRadioButton to better match ms
8058 - Updated theme checkbox and radiobutton code to use the CP*
8061 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
8063 * XplatUIX11.cs: Enable clipping again now that the libgdiplus
8066 2006-03-31 Jackson Harper <jackson@ximian.com>
8068 * XplatUIX11.cs: Somehow we get SETCURSORS for bad windows
8070 * UpDownBase.cs: Don't CreateGraphics manually, use a
8071 Refresh. Ideally we would invalidate the correct areas here.
8073 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
8076 - We now track the mapping state of windows. If a window (or
8077 one of it's parents) is not mapped we no longer permit
8078 WM_PAINT messages to be generated since we'd otherwise get
8079 lots of BadMatch X errors. Jackson did all the work figuring
8081 - Destroying the caret if the window it's contained in is
8082 destroyed. Can't use regular DestroyCaret method since it
8083 might fall into a drawing function (trying to remove the
8084 caret) and with that generate new BadMatch errors. Again,
8085 Jackson tracked this down.
8086 - Changed DestroyChildWindows to SendWMDestroyMessages, we now
8087 make sure we send the messages to all windows. (The old code
8088 would send the WM_DESTROY to the window, and then all child
8089 windows would be 'gone' because the WM_DESTROY handle lookup
8090 would no longer find the destroyed window)
8091 * Hwnd.cs: Added Mapping property to track mapping state of hwnd
8092 * X11Structs.cs: Added WindowType enum for MapWindow/UnmapWindow
8094 2006-03-31 Jackson Harper <jackson@ximian.com>
8096 * ScrollableControl.cs: Dont recalc if we are not visible.
8098 2006-03-31 Mike Kestner <mkestner@novell.com>
8100 * Control.cs (SetVisibleCore): move the CreateControl call up ahead of
8101 the visibility branch.
8103 2006-03-31 Jackson Harper <jackson@ximian.com>
8105 * ScrollBar.cs: Cap values when incrementing/decrementing.
8107 2006-03-31 Mike Kestner <mkestner@novell.com>
8109 * MenuAPI.cs: setup menu.tracker for popup/context menus.
8110 * ToolTip.cs: guard against timer expirations with no active control.
8111 Not sure why it happened.
8113 2006-03-31 Mike Kestner <mkestner@novell.com>
8115 * ThemeWin32Classic.cs: add some horizontal padding space for the tip
8117 * ToolTip.cs: Position the tooltip based on where the cursor is at
8118 popup time, not at MouseEnter time. Add a Down state so that we don't
8119 redisplay tips without a Leave. Use faked XplatUI.GetCursorInfo for
8120 positioning offset. Lookup DisplaySize at positioning time, since it
8121 can theoretically change during invocation.
8122 * XplatUIWin32.cs: fake GetCursorInfo until pdb can do it properly.
8123 * XplatUIX11.cs: fake GetCursorInfo until pdb can do it properly.
8125 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
8127 * ThemeWin32Classic.cs: Use CPDrawBorder3D to draw a GroupBox.
8128 Fixes behaviour when the Text property of the box is String.Empty
8130 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
8132 * XplatUIX11.cs: Only send mouseleave for our client windows, not
8133 for the whole window (otherwise we get WM_MOUSE_LEAVE twice for
8136 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
8138 * FileDialog.cs: Visual enhancement for the popup buttons in
8141 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
8143 * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border
8146 2006-03-30 Alexander Olk <alex.olk@googlemail.com>
8148 * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and
8149 highlighted menu items to match ms
8151 2006-03-30 Peter Dennis Bartok <pbartok@novell.com>
8153 * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty
8155 2006-03-30 Mike Kestner <mkestner@novell.com>
8157 * Menu.cs (SelectedItem): use new MenuItem.Selected prop.
8158 * MenuAPI.cs: use new MenuItem.Selected prop. redraw MainMenu when we
8159 go active to account for HotLight to Selected transition.
8160 * MenuItem.cs: add internal Selected prop. Fill out the Status
8161 property by calculating it from item info. Add HotLight,
8162 NoAccelerator, Checked, Grayed, and Disabled flags where appropriate.
8164 2006-03-30 Mike Kestner <mkestner@novell.com>
8166 * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw.
8168 2006-03-29 Jackson Harper <jackson@ximian.com>
8170 * Form.cs: Implement TODO.
8172 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
8174 * PrintPreviewDialog.cs: Implemented missing methods and events; still
8175 missing proper dialog setup in the constructor
8177 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
8179 * ProgressBar.cs: Added 2.0 Style property that apps seem to use
8181 - Implemented CheckForIllegalCrossThreadCalls, removed TODO
8182 - Fixed ResetBindings and removed TODO
8183 - Added check for cross-thread calls to get_Handle()
8184 - Added Marshaller attribute for set_Font to satisfy class status
8185 * FontDialog.cs: Removed TODOs that seemed implemented
8186 * UpDownBase.cs: Removed unneeded TODO and Fixme
8187 * MessageBox.cs: Implemented support for Default button and removed TODO
8188 * FileDialog.cs: Removed obsolete TODO
8189 * DomainUpDown.cs: Removed obsolete TODO
8190 * ButtonBase.cs: Removed obsolete TODO
8191 * XplatUIWin32.cs: Removed obsolete TODO
8193 - Removed obsolete TODO
8194 - Calling CheckAcceptButton when the acceptbutton is changed to allow
8195 internal status updates
8196 - Making sure the active control is selected when the control is created
8197 * CurrencyManager.cs: Removed obsolete TODO
8199 2006-03-29 Mike Kestner <mkestner@novell.com>
8201 * *.cs: fix remaining corcompare issues for 1.1 API with the exception
8202 of PrintPreviewDialog and RichTextBox.
8204 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
8206 * Theme.cs: Added a little helper to SystemResPool to get the Dark,
8207 DarkDark, Light and LightLight colors for a specific color
8208 * ThemeWin32Classic.cs:
8209 - Use Button drawing code to draw RadioButtons and CheckBoxes with
8211 - Make use of the new ResPool helper CPColor
8212 - Draw ProgressBar and StatusBar with correct 3D borders
8214 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
8216 * ColorDialog.cs: Return selected color. Fixes bug #77940.
8218 2006-03-28 Mike Kestner <mkestner@novell.com>
8220 * ListView.cs: fix Icon layout to plan for scrollbar widths when
8221 calculating col/row counts.
8223 2006-03-28 Mike Kestner <mkestner@novell.com>
8229 switch to explicit interface method implementation for some methods
8230 corcompare identifies as inconsistent with MS.
8232 2006-03-28 Mike Kestner <mkestner@novell.com>
8236 add a few missing methods from the class status output.
8238 2006-03-28 Alexander Olk <alex.olk@googlemail.com>
8240 * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now
8243 2006-03-28 Mike Kestner <mkestner@novell.com>
8245 * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917.
8247 2006-03-27 Mike Kestner <mkestner@novell.com>
8249 * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for
8250 the Hilight state to adapt to Alex's CPDrawBorder3D changes.
8252 2006-03-27 Alexander Olk <alex.olk@googlemail.com>
8254 * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms.
8256 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
8258 * ThemeWin32Classic.cs:
8259 - GroupBox: Inserted a little gap between the text and the lines
8261 - Made the code in CPDrawBorder3D more readable
8262 - Corrected the drawing location of the up and down arrows in
8265 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
8267 * ControlPaint.cs: Corrected line widths in DrawBorder for
8268 ButtonBorderStyle Inset and Outset
8270 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
8272 * ThemeWin32Classic.cs:
8273 - Rewrote the totally broken CPDrawBorder3D method. That was
8274 one of the main problems for the terrific ThemeWin32Classic
8276 - Updated and corrected Button drawing
8277 - Correct the dimensions of the SizeGrip to match ms ones
8278 - Removed a small drawing glitch in DrawComboBoxEditDecorations
8279 * XplatUIX11.cs: Draw borders with BorderStyle = Fixed3D with
8280 Border3DStyle.Sunken to match ms.
8282 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
8284 * ThemeWin32Classic.cs: First small part of the "de-uglify
8285 ThemeWin32Classic" effort, SizeGrip
8287 2006-03-24 Jackson Harper <jackson@ximian.com>
8289 * XplatUIX11.cs: Give a max idle time of one second, this matches
8290 MS and forces an Idle event every second when there are no other
8291 events in the queue.
8293 2006-03-24 Mike Kestner <mkestner@novell.com>
8295 * ListView.cs: Handle (Large|Small)ImageList == null more robustly.
8296 * ListView.Item.cs: fix layout issues with null image lists and images
8297 smaller than checkbox size.
8298 * ThemeWin32Classic.cs: Draw a 12 pixel line in ListView LargeIcon
8299 mode like MS does. It's weird, but consistent. ;-)
8302 2006-03-24 Mike Kestner <mkestner@novell.com>
8304 * ListView.cs: Scroll wheel support for the item control. Fixes
8307 2006-03-23 Jackson Harper <jackson@ximian.com>
8309 * ScrollableControl.cs: Special case negative sized areas, not
8311 * MonthCalendar.cs: Save the rect of the clicked date so we can
8312 use it for invalidation.
8313 - Try to cut down on the number of invalidates
8314 - Invalidate the rect the mouse is over and was over when moving
8315 the mouse, so we get the focus box following the cursor.
8317 2006-03-23 Mike Kestner <mkestner@novell.com>
8319 * ThemeWin32Classic.cs: fix FullRowSelect selection background and
8320 focus rectangle drawing. Fixes #77835.
8322 2006-03-23 Mike Kestner <mkestner@novell.com>
8324 * XplatUIX11.cs: rework the fix for #77828 by changing the order of
8325 the if and else if and reverting back to the original == check on the
8328 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
8330 * FontDialog.cs: Update the example panel if the selected index of
8331 the fontListBox changes.
8333 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
8335 * FileDialog.cs: Make FileDialog remember which directory it was in
8336 last in the same execution.
8338 2006-03-22 Mike Kestner <mkestner@novell.com>
8340 * FileDialog.cs: make the DropDownMenu on the toolbar display
8341 RadioChecks since they are mutually exclusive and that's what MS does.
8343 2006-03-22 Mike Kestner <mkestner@novell.com>
8345 * Theme.cs: add Color param to CPDrawMenuGlyph.
8346 * ThemeWin32Classic.cs: do color specific menu glyph rendering so that
8347 checks and radio marks and arrows are visible on highlighted items.
8348 * ControlPaint.cs: update to use new Theme signature.
8350 2006-03-22 Mike Kestner <mkestner@novell.com>
8352 * MenuAPI.cs: only process Enter and arrow keypresses if the tracker
8353 is active. Fixes #77870.
8355 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
8357 * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox
8358 to be focused/selected after startup
8360 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
8363 - Corrected behaviour of Color, AllowFullOpen, FullOpen,
8364 CustomColors and ShowHelp properties
8365 - Some internal rewrites to get better results when using the
8368 2006-03-22 Mike Kestner <mkestner@novell.com>
8370 * ListView.cs: hook into Peter's new ResetMouseHover capability to fix
8371 HoverSelection. Fixes #77836.
8373 2006-03-22 Mike Kestner <mkestner@novell.com>
8375 * FileDialog.cs: bugfixes for the toolbar. Use PushButtons instead of
8376 ToggleButtons. (De)Sensitize the Back button around a stack count of
8377 1, not 0. Update ButtonSize based on a pixel count of the win32
8378 control. Adjust the toolbar size/location for new button size.
8380 2006-03-22 Jackson Harper <jackson@ximian.com>
8382 * XplatUIX11.cs: Don't handle configurenotifys if PostQuitState is
8384 * ScrollBar.cs: When doing increments and decrements we need to
8385 set the Value property so that ValueChanged gets raised. A
8386 possible optimization here would be to make an internal SetValue
8387 that doesn't invalidate immediately.
8388 * ToolTip.cs: Tooltips get added to their container (when
8389 supplied) so they get disposed when the container is disposed.
8390 - Don't create tooltips for String.Empty. This prevents all these
8391 little 2-3 pixel windows from showing up when running nunit-gui
8393 * Form.cs: Don't set topmost when setting the owner if the handles
8394 haven't been created yet. The topmost set will happen when the
8395 handles are created.
8397 2006-03-22 Peter Dennis Bartok <pbartok@novell.com>
8400 - DeriveWindowStyles: Fixed typo in borderstyle generation (#77828)
8401 - SetVisible: Sending WINDOWPOSCHANGED for all controls when made
8402 visible (to allow them to recalculate their sizes)
8404 2006-03-21 Mike Kestner <mkestner@novell.com>
8406 * ThemeWin32Classic.cs: major refactoring of the ToolBar rendering
8407 methods. Removed a ton of redundant code. Still not really happy with
8408 the border rendering, but I think that's mainly because of the
8409 ControlDarkDark being black instead of a dark grey. Depending on how
8410 close we want to be, we might want to revisit those color choices.
8411 Among the new features added during the refactor were DropDownArrow
8412 pressed rendering, Disabled image rendering. Proper flat appearance
8413 boundary rendering. Removed the Divider and Wrapping dividers since I
8414 can't figure out any combination of themes and conditions to make the
8415 MS control draw a horizontal line on a toolbar despite what the
8416 Divider property docs indicate.
8417 * ToolBar.cs: rewrite the layout engine. Fixes numerous flicker
8418 conditions and incorrect layout. Updated to coding standard.
8419 * ToolBarButton.cs: refactored layout and positioning code from
8420 ToolBar to here. Invalidate wherever possible instead of forcing
8421 redraws of the whole toolbar.
8422 (Known remaining issues: explicit ButtonSize smaller than provided
8425 2006-03-21 Mike Kestner <mkestner@novell.com>
8427 * ContextMenu.cs (Show): use the position parameter instead of just
8428 showing at the MousePosition.
8430 2006-03-21 Jackson Harper <jackson@ximian.com>
8432 * TabControl.cs: Remove the call to ProcessKeyEventArgs and let
8433 control handle this.
8434 * TreeNodeCollection.cs: If we are clearing the root node we need
8435 to reset top_node so calcs can still happen.
8436 * ThemeWin32Classic.cs: This is a Flags so we need to check
8439 2006-03-21 Jackson Harper <jackson@ximian.com>
8441 * DataGrid.cs: Create columns when the binding context has been
8443 * X11Structs.cs: Keysyms are uints.
8444 - Add size to fix build.
8446 2006-03-21 Peter Dennis Bartok <pbartok@novell.com>
8448 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
8450 - Added ResetMouseHover method to allow controls to retrigger
8451 hovering if they need it more than once
8452 - Implemented MouseHoverTime and MouseHoverSize properties
8453 * Timer.cs: Start() must reset the interval
8454 * SystemInformation.cs: Added 2.0 MouseHoverTime and MouseHoverSize
8457 2006-03-21 Jackson Harper <jackson@ximian.com>
8459 * X11Keyboard.cs: improved layout detection. Move the nonchar
8460 tables into this file.
8461 * KeyboardLayouts.cs: Move the tables into resource files.
8463 2006-03-21 Mike Kestner <mkestner@novell.com>
8465 * ListView.cs: use OnItemActivated to raise events. Fixes #77834.
8467 2006-03-21 Alexander Olk <alex.olk@googlemail.com>
8469 * Mime.cs: Various speed optimizations. Looking up mime types
8470 is now 2 times faster than before
8472 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
8474 * CreateParams.cs: Added internal menu field
8476 - Switched call order for UpdateBounds; now we always call
8477 the one that also takes ClientSize, and we're calculating the
8478 client size via driver method in the others. The previous
8479 method of tracking client size by difference wasn't working
8480 for forms where even the starting client size wouldn't match
8481 the overall form size (due to borders) (Part of fix for #77729)
8482 - CreateParams(): Do not use parent.Handle unless the handle is
8483 already created. Causes havoc with Nexxia and throws off our
8484 creation of controls
8486 - Created new PerformNCCalc method to trigger WM_NCCALCSIZE message
8487 - Switched handling of ConfigureNotify over to new PerformNCCalc
8488 method (consolidates code)
8489 - Changed RequestNCRecalc to use new PerformNCCalc method
8490 - Added calls to RequestNCRecalc when menus and borders are changed
8491 to allow app to set NC size. (Part of fix for #77729) This matches
8492 when MS send a WM_NCRECALC on Win32 windows.
8493 - Now sending WM_WINDOWPOSCHANGED when toplevel for is made visible
8494 (Part of fix for #77729). This matches what MS does, they also
8495 send that message when the form is made visible.
8496 - XException.GetMessage: Improved usability of X errors by including
8497 a translation of the window into Hwnd and Control class
8498 - Improved debug info for window creation, reparenting and destruction
8499 - Created helper method WindowIsMapped() [Currently not used]
8500 * XplatUIWin32.cs: Added ToString() debug helper to RECT structure
8502 - CreateParams: Now setting our menu on the new internal menu field
8503 - SetClientSizeCore: Now passing cp.menu instead of ActiveMenu to
8504 avoid calculating the same property twice
8506 - Improved usability of ToString() for debugging purposes
8507 - GetWindowRectangle(): Now uses proper CalcMenuBarSize method to
8508 determine the height of the menu, instead of just the font. This
8509 required to also create a graphics context and to keep a bmp
8510 around (for performance reasons)
8512 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
8514 * MenuAPI.cs: Added OnMouseUp method
8516 - Now remembering the requested client size, avoids size errors
8517 - WndProc: Now handling WM_xBUTTONUP and passing it to MenuTracker
8518 instead of base if the menu is active. This is required due to
8519 control now capturing and releasing on down/up and it would
8520 prematurely release our menu capture
8522 2006-03-17 Jackson Harper <jackson@ximian.com>
8524 * KeyboardLayouts.cs: Add the czech layouts.
8526 2006-03-16 Jackson Harper <jackson@ximian.com>
8528 * Control.cs: Use the viewport space when sizing not the controls
8529 client size, so things like ScrollableControl that effect the
8530 viewport size (when scrollbars are added) are computed correctly.
8531 * BindingContext.cs: Cleanup to use the DataSourceEntrys instead
8533 - Handle creating BindingManagers for null data sources.
8534 * DataGrid.cs: Bind the cached_currencymgr_events to the real data
8535 source, otherwise when rows are added they are added to the 'fake'
8536 datasource and we will crash when trying to set the position in
8538 - Use Implicit scrollbars on the datagrid so they arent
8541 2006-03-16 Jackson Harper <jackson@ximian.com>
8544 * InternalWindowManager.cs:
8545 * MdiWindowManager.cs:
8546 * X11Keyboard.cs: I really want Mike to love me again (fix
8549 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
8552 - OnMouseDown: Switch to editing mode when clicking on the cell
8553 even if we're clicking on the cell that's currently
8555 - ProcessGridKey: Left/Right now wrap like MS.Net does
8556 - ProcessGridKey: Tab now knows to add a new row when tab is
8557 pressed in the cell of the last column of the
8559 - ProcessGridKey: Enter now adds another row if pressed in the last
8560 row and selectes the new row, same column cell
8561 - ProcessGridKey: Home/End navigate columns, not rows, like
8562 originally implemented
8563 - Broke ProcessKeyPreview code out into an extra Internal method
8564 so it can be called from the edit code
8565 * DataGridTextBox.cs (ProcessKeyMessage):
8566 - Switched to accept Tab keypresses
8567 - Added F2 handling to allow jumping to the end of the edited cell
8568 - Added logic to allow moving caret left/right inside edited cell
8569 and making the edited cell jump when the caret hits cell borders
8570 - Tab and Enter are now passed to the datagrid after being handled
8572 - Removed capture code now that Control handles it
8573 - set_SelectionStart now ensures caret is visible
8575 2006-03-16 Jackson Harper <jackson@ximian.com>
8577 * TrackBar.cs: Debackwards the increment/decrement for handling
8578 mouse clicks on the bar with vertical trackbars.
8579 * ThemeWin32Classic.cs: Draw vertical trackbars with 0 at the
8582 2006-03-16 Mike Kestner <mkestner@novell.com>
8584 * ListView.cs: make shift/ctrl keyboard and mouse selection
8585 consistent with the MS control. Fix a bug in
8586 SelectedListViewItemCollection.Clear that was pissing me off for the
8587 better part of a day because the collection was being altered
8588 underneath us as we walked the list.
8590 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
8592 * Control.cs: Not sure how we could miss this so long, but it seems
8593 that MS.Net has Capture set all the way from before calling
8594 OnMouseDown through sending the mouse events until after
8595 OnMouseUp. This will fix DataGrid's selection being set to end
8596 at the location of the MouseUp.
8598 2006-03-15 Jackson Harper <jackson@ximian.com>
8600 * BindingContext.cs: Check the binding after its added so that it
8601 can initialize the binding managers and hookup to events.
8602 * Binding.cs: Data members seem to sometimes include rows/cols in
8603 the format Row.Column we now take this into account.
8604 - Hookup to the position changed event so we can update the
8605 control when the position has changed in the data set.
8606 * CurrencyManager.cs: Take into account the row/col naming
8607 convention when creating dataset tables.
8608 * BindingContext.cs: Using a newer better way of storing
8609 datasource/datamember pairs. Hopefully this better matches MS for
8610 looking up binding managers.
8613 2006-03-15 Jackson Harper <jackson@ximian.com>
8615 * BindingContext.cs: The currency manager needs the data member
8616 name, if the member is a data set we use the name to find the
8618 * CurrencyManager.cs: When creating the list prefer an IList over
8620 - Attempt to create a DataTable from a DataSet (TODO: might need
8621 some better error checking here, although MS doesn't seem to have much)
8622 - If we have a DataTable create a view and use it as our list.
8624 2006-03-15 Mike Kestner <mkestner@novell.com>
8626 * ListView.cs: keep a matrix of the icon mode layout to facilitate
8627 keyboard navigation. Support Up/Down/Left/Right selection correctly
8628 for all 4 View modes.
8629 * ListViewItem.cs: add internal row/col fields for icon layouts.
8631 2006-03-15 Jackson Harper <jackson@ximian.com>
8633 * TabControl.cs: Redraw the tabs when we resize so their newly
8634 calculated sizes are drawn on screen.
8635 * X11Keyboard.cs: Begginnings of XIM support. We also now support
8636 composite characters.
8637 * XplatUIX11.cs: Keyboard driver needs to know about focus changes
8638 - filter events so that composite characters can be created
8640 * X11Structs.cs: Add XIMProperties enum.
8642 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
8644 * Control.cs (BringToFront, SendToBack): Don't use window or handle
8647 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
8649 * Control.cs (PerformLayout): We don't need to consider visiblity
8650 for anchoring, only for docking. This fixes 'whacky' alignment
8651 in listbox and other controls that use implicit scrollbars after
8652 the previous PerformLayout patch
8653 * ListBox.cs: Switched to use implicit scrollbars
8655 2006-03-14 Mike Kestner <mkestner@novell.com>
8659 - chain up the "new event" overrides to base and use
8660 OnEvent to raise them. Part of fix for bug #76509.
8662 2006-03-14 Alexander Olk <alex.olk@googlemail.com>
8664 * FileDialog.cs: Do not select an item in the parent directory
8667 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
8669 * Control.cs (PerformLayout): It would seem that we considered
8670 invisible windows for our layout. Not quite the right thing
8671 to do. Now we don't any longer, thereby fixing bug #76889.
8673 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
8675 * Control.cs (CanFocus): I goofed. A control can have focus
8676 even though it's not selectable. Made it match MS docs.
8678 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
8680 * ControlPaint.cs (DrawBorder3D): DrawBorder3D does not fill the
8681 center by default (fixes #76895)
8682 * ThemeWin32Classic.cs, ThemeNice.cs, ThemeClearlooks.cs: Replaced
8683 all uses of Border3DSides.All with the explicit ORd together
8684 Left|Right|Top|Bottom because I assume that nobody was aware
8685 that All also implies a center fill. Most places I checked had
8687 * ProgressBarStyle.cs: Added
8689 2006-03-13 Mike Kestner <mkestner@novell.com>
8691 * ListView.cs: fix breakage in drag shadow header positioning
8692 from Peter's csc compilation fix.
8694 2006-03-13 Mike Kestner <mkestner@novell.com>
8696 * ListView.cs: fix NRE produced by backspacing twice in a focused
8699 2006-03-13 Mike Kestner <mkestner@novell.com>
8701 * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
8703 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
8705 * Hwnd.cs: Added fixed_size field to track windows whose size cannot
8707 * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting
8708 the allowed size before making programmatic size changes
8710 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
8712 * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are
8713 set, metacity is broken and will still use the emty sizes in
8714 the struct. (Fix for #77089)
8716 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
8718 * XplatUIStructs.cs: Split WindowStyles into WindowStyles and
8719 WindowExStyles and marked both enums as Flags
8720 * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs,
8721 NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated
8722 to match WindowStyles split
8724 - SetWMStyles: Added cehck to not apply WM attributes to Child windows
8725 - Updated to match WindowStyles split
8727 - Fixed FosterParent creation, was using ExStyle on the Style field
8728 (This should help with Popup focus issues)
8729 - Updated to match WindowStyles split
8731 2006-03-13 Jackson Harper <jackson@ximian.com>
8733 * MdiWindowManager.cs: Use the system menu height. Fixes some
8734 strange sizing issues.
8736 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
8738 * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
8740 - Scroll to caret after inserting text (#77672)
8741 - Make scroll range one pixel higher, fixes off-by-one error (and
8742 makes underlines visible on the last line)
8744 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
8746 * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent
8747 the keyboard state from being stuck with keys in 'pressed' state when
8748 focus is switched away via keyboard
8749 * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to
8750 reset the keyboard if no X11 KeyUp events are expected to come
8751 * X11Structs.cs: Switched type of Visible to bool to match driver
8753 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
8756 - Switched caret to be just 1 pixel wide, matches MS and looks less
8758 - Moved caret display 1 pixel down from the top of the control
8760 - InsertCharAtCharet: Update the selection start if moving the caret
8761 (fixes bug #77696; based on patch suggested by kazuki@panicode.com)
8762 - No longer always creating the caret when the caret methods are
8763 called. Only the actual ShowCaret/HideCaret will do that now
8764 - Only setting caret visible if the owner control has focus
8765 - UpdateView: Added invalidation-shortcut logic for center and right
8766 aligned text. Previously we'd update all according to the left
8767 logic which caused drawing errors. Also fixed height of invalidated
8768 areas, now properly invalidating the whole area (was off-by-one)
8769 - owner_HandleCreated: Always generate the document when the
8770 handle is created; this ensures that
8772 - Fixed situation where caret would disappear under the right
8773 window border, also improved scrolling behaviour on left-
8775 - Fixed right-aligned textboxes to have a border to the
8776 right instead of the caret being under the right border
8778 - Switched from 'nested' to simple visible/not visible tracking
8779 for caret (part of fix for #77671)
8780 - No longer passing through translated FocusIn/FocusOut messages
8781 since we were notifying too often and the wrong windows. Instead
8782 we just notify our focussed window of receiving or loosing focus
8783 * XplatUIWin32.cs: Switched from 'nested' show/hide
8784 counting for caret to simple visible yes/no behaviour (part of
8787 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
8789 * Mime.cs: Remove debug code...
8791 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
8793 * MimeGenerated.cs: Removed
8794 * Mime.cs: Mime now reads the mime data (magic, globs, aliases
8795 and subclasses) from /usr/(local/)share/mime and
8796 $HOME/.local/share/mime.
8798 2006-03-10 Jackson Harper <jackson@ximian.com>
8800 * MdiWindowManager.cs: Recalc the NC area when a window is
8801 maximized/restored so that the menu area is drawn on forms that
8804 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
8806 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
8807 XplatUIX11.cs: Added RequestNCRecalc method to driver to allow
8808 us to force a WM_NCCALCRESIZE message being sent. This is needed
8811 2006-03-10 Jackson Harper <jackson@ximian.com>
8813 * Form.cs: We need to use the ActiveMenu when calculating menu
8815 - Fix nullref when the window manager hasn't been created yet.
8816 * Control.cs: Fix nullref when we try to bring a control to the
8817 front that has no parent.
8818 * MdiWindowManager.cs: Use the MaximizedMenu for calculating
8820 - Add a dummy item to the maximized menu so it always has the
8821 correct height. Otherwise when there are no menus we don't get our
8825 2006-03-10 Jackson Harper <jackson@ximian.com>
8827 * MenuAPI.cs: Make this available elsewhere. I need it in some MDI
8829 * Form.cs: Make the window_state internal so the window managers
8831 - When an MDI child is maximized let its window manager create the
8832 main menu (so it can add its icon).
8833 - Notify the window managers of state changes
8834 - Let the window manager paint its buttons and handle button
8835 clicks on the menu when it is maximized.
8836 * InternalWindowManager.cs: Move the prev_bounds into the mdi
8837 window manager, since tool windows don't use it, only mdi windows.
8838 - Tell the main form that we don't want it to handle NCPAINT
8839 itself to avoid extra painting.
8840 - Handle clicks on a maximized windows menu.
8841 - Handle window state changes
8842 - Handle minimize/maximize clicks correctly by setting the window state.
8843 * MdiWindowManager.cs: Add an icon menu that (the menu you get
8844 when clicking on the forms icon).
8845 - New method to create a forms maximized menu. This is its normal
8847 - Handle window state changes.
8848 - Handle sizing of maximized windows. Maximized windows are just
8849 drawn bigger then the parent visible area. All controls are still
8850 there, they are just outside the visible area (this matches windows).
8851 * MdiClient.cs: No scrollbars when a child window is maximized.
8852 - Let the children windows figure out how big they should be when
8853 sizing maximized windows.
8854 - Implement a version of ArrangeIconicWindows somewhat similar to
8855 Windows version. There are some little differences, but I don't
8856 think any app will rely on the layout of minimized mdi windows.
8858 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
8860 * Padding.cs: Several fixes to allow compiling with csc 2.0
8862 2006-03-09 Jackson Harper <jackson@ximian.com>
8865 * MenuItem.cs: Cheap hack so we can add items to the list without
8866 the events being raised. This allows adding mdi items during
8867 drawing. TODO: Should probably find a better time to add the items.
8869 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
8871 * ThemeWin32Classic.cs:
8872 - CheckBox_DrawText: Added logic to not wrap if not enough space
8873 is available (Fix for bug #77727)
8874 - RadioButton_DrawText: Added logic not to wrap if not enough
8875 space is available (Fix for bug #77727). Also removed some
8876 duplicate code, DrawString always drawing the regular text
8877 before hitting the if statement.
8879 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
8881 * XplatUIX11.cs: Handle an unmapped window state in SetWindowState
8883 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
8885 * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726)
8886 * ContainerControl.cs: Partial implementation of some 2.0 scaling
8887 methods. Moved the new 2.0 properties into alphabetical order with
8888 other properties and added MonoTODO tags
8890 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8892 * AutoScaleMode.cs: Added. Fix build.
8894 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8896 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
8897 XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used
8898 and was requiring premature handle creation for calls from above
8899 * Form.cs, Control.cs: Removed handle arguments from calls to
8900 CalculateClientRect()
8902 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8904 * ListView.cs (HeaderMouseMove): Fix csc compilation.
8905 drag_column.column_rect is MarshalByRef and can't be used that way
8907 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8909 * AxHost.cs: Added deserialization constructor for
8910 AxHost+State (fixes 77743)
8912 2006-03-09 Mike Kestner <mkestner@novell.com>
8915 - Added column drag reordering for details view.
8916 - fixed behavior when mouse is dragged off column and
8917 AllowColumnReorder is false.
8918 * ColumnHeader.cs: clone the format too in Clone.
8919 * Theme.cs: add DrawListViewHeaderDragDetails method.
8920 * ThemeWin32Classic.cs:
8921 - impl new method for drawing drag column shadows and targets.
8922 - support column offset for details mode in DrawListViewItem.
8924 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8926 * TextControl.cs: Reset the char_count when the document is cleared
8927 (Fixes bug reported on mono-winforms mailing list)
8929 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8931 * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead
8932 of calling base we simply process the key ourselves, since both
8933 DefWindowProc and the handled method would set m.Result.
8936 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
8938 * Form.cs(ScaleCore): No longer calling base.ScaleCore since that
8939 method also moves the window; instead implemented a copy of
8940 Control.ScaleCore (Part of fix for #77456)
8942 - Created new CreateGraphicsInternal method to allow providing
8943 a graphics context when no handle is created without triggering
8944 handle creation. (Part of fix for #77456)
8945 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
8947 - Switched Constructor to require TextBoxBase instead of Control (to
8948 allow uncast access to CreateGraphicsInternal)
8949 - Safeguarded use of owner.Handle property. No longer accessing it
8950 unless the handle is already created.
8951 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
8952 - Now triggering a recalc when owning control becomes visible
8953 * TextBox.cs, RichTextBox.cs: Switched to use new internal
8954 TextBoxBase.CreateGraphicsInternal() method to avoid triggering
8955 premature handle creation (Part of fix for #77456)
8957 - We now only destroy our double-buffering buffers when the
8958 control is resized or disposed, but not when visibility
8959 changes. (The code even re-created them twice every time)
8960 - Now requiring a redraw of the buffer on visibility changes
8961 (fixes bug 77654 part 2)
8962 - Not passing OnParentVisibleChanged up unless the control
8964 - CanFocus: Fixed to match MS documentation
8965 - Focus: Fixed to return actual focus state and to check if
8966 setting focus is legal before setting it
8968 2006-03-08 Peter Dennis Bartok <pbartok@novell.com>
8970 * ThemeWin32Classic.cs: TabPages cannot have focus. Determine
8971 when to draw focus rectangle by looking at parent focus and
8972 selected state instead. This fixes TabPages on Linux sometimes
8973 having none or multiple focus rectangles.
8974 * XplatUIX11.cs (SetFocus):
8975 - Don't set the focus if the same window already has focus
8976 - Use SendMessage instead of PostMessage (like it's Win32
8977 equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS
8978 to match MS behaviour
8979 * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages
8982 2006-03-07 Jackson Harper <jackson@ximian.com>
8984 * PictureBox.cs: Revert line I accidently committed last week.
8986 2006-03-07 Peter Dennis Bartok <pbartok@novell.com>
8989 - Added new IsRecreating and ParentIsRecreating properties to
8990 allow testing if RecreateHandle has been called on ourselves
8991 or one of our parents
8992 - WndProc(WM_DESTROY): If our control handle is being recreated
8993 we immediately need to create the handle when receiving the
8994 destroy, that way our child windows find a valid parent handle
8995 when they themselves are being recreated upon WM_DESTROY receipt
8996 (fix for bug #77654 part 1)
8998 - DestroyWindow: WM_DESTROY must be sent to our own window before
8999 notifying any child windows. MS documents that child windows
9000 are still valid when WM_DESTROY is received. (Control now relies on
9002 - Added some fine-grain debug options
9004 2006-03-06 Jackson Harper <jackson@ximian.com>
9006 * MdiClient.cs: Redid scrolling logic a bit to create a virtual
9007 box and base calculations off this.
9008 * MdiChildContext.cs:
9009 * MdiWindowManager.cs: Don't need to ensure scrollbars here
9012 2006-03-06 Peter Dennis Bartok <pbartok@novell.com>
9014 * Splitter.cs: In situations where the affected control is added
9015 to the parent's control list after the splitter, we would not
9016 populate affected. Now we try populating it on mousedown, if
9017 it's not already set, and force it to be re-set whenever our
9020 2006-03-03 Matt Hargett <matt@use.net>
9022 * Control.cs: implement Control.Padding
9023 * Padding.cs: -Padding.All returns -1 when constructing with the
9024 implicit default ctor
9025 -Padding.ToString() matches MS.NET
9026 * ContainerControl.cs: implement
9027 ContainerControl.AutoScaleDimensions
9028 * ListControl.cs: implement ListControl.FormattingEnabled
9029 * TextBox.cs: Implemented TextBox.UseSystemPasswordChar.
9031 * TabPage.cs: Implement UseVisualStyleBackColor.
9032 * PictureBox.cs: Implement PictureBox.InitialImage.
9034 2006-03-03 Mike Kestner <mkestner@novell.com>
9036 * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new
9037 event declarations to proxy to base event.
9038 * ListViewItem.cs: update to use ItemControl.
9039 * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems.
9040 * ThemeWin32Classic.cs: update to new ListView theme API and fix
9041 column header label rendering for 0 width columns.
9043 2006-03-03 Peter Dennis Bartok <pbartok@novell.com>
9045 * Control.cs (ControlCollection.SetChildIndex): Avoid using a call
9046 that causes the control to be created. Fixes #77476.
9048 2006-03-02 Jackson Harper <jackson@ximian.com>
9050 * Hwnd.cs: Clear the nc pending when clearing the NC area, not the
9053 2006-03-02 Peter Dennis Bartok <pbartok@novell.com>
9055 * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs
9056 passed in for the EventArgs (fixes #77690)
9058 2006-03-01 Jackson Harper <jackson@ximian.com>
9060 * ScrollBar.cs: Refresh afterbeing resized.
9062 2006-02-28 Mike Kestner <mkestner@novell.com>
9064 * MenuAPI.cs: Call PerformPopup internal method to emit Popup.
9065 Clean up a tracker compile warning.
9066 * MenuItem.cs: add internal PerformPopup method.
9069 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
9071 * TextBoxBase.cs (set_Text): Recalculate the document (causing an
9072 implicit expose) when the text is set to null
9074 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
9076 * RichTextBox.cs (FlushText): When newline is true, we always
9077 need to split the line, even if no text is on it and we may
9078 never eat newlines. (Fixes #77669)
9080 2006-02-28 Mike Kestner <mkestner@novell.com>
9082 * ListView.cs: Add UpdateSelection internal method. Remove SelectItem
9083 and set Selected instead.
9084 * ListViewItem.cs: Call owner.UpdateSelection to manipulate the
9087 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
9089 * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665
9091 2006-02-28 Alexander Olk <alex.olk@googlemail.com>
9094 - Got rid of the panel. All controls are now directly added to
9096 - It is now possible to set a font with the Font property
9097 - MinSize and MaxSize property do now what they should
9098 - ShowApply, ShowHelp, ShowColor, ShowEffects likewise
9099 - Searching and selecting a font with the font textbox works now,
9100 the same applies to the style and size textbox
9101 - Draw the correct 3D border in the example panel
9102 - Fixed a little mem leak (unused fonts didn't get disposed)
9103 - Many other internal updates/rewrites...
9106 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
9109 - InsertRTFFromStream: Added 'number of characters inserted' argument
9110 - set_SelectedRTF: Now using the number of characters to calculate
9111 the new location for the selection and cursor (x/y cannot be used
9112 due to potentially already wrapped text)
9114 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
9116 * TextControl.cs: Added property and implemented means to allow
9117 disabling recalculation of a document (can be used to speed up
9118 multiple inserts and is needed to make RTF inserts predictable, see
9120 * RichTextBox.cs: Using the new NoRecalc property of Document to
9121 keep x/y insert locations predictable. Also makes it faster inserting
9124 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
9126 * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way
9127 it's easier for a child control to handle the other messages without
9128 having to duplicate the special functionality
9130 - WndProc: Removed calling base handler for WM_KEYDOWN and added
9131 code to handle processing the key ourselves, in order to get
9132 access to the result of KeyEventArgs.Handled. We now only call
9133 ProcessKey if they key hasn't been handled already. Fixes #77526.
9134 - set_Text: If null or empty string is given, just clear the
9135 document. Fixes part of #77526
9137 2006-02-27 Jackson Harper <jackson@ximian.com>
9139 * SizeGrip.cs: Paint the background color before painting the grip
9140 so things look right.
9141 * MdiClient.cs: Add the sizegrip when both scrollbars are used.
9143 2006-02-27 Mike Kestner <mkestner@novell.com>
9146 - Restructure layout and invalidation model to remove a ton of
9147 flicker from the control and speed up performance in general.
9148 - Add manual column resize, flickers like crazy, but I already have
9149 some ideas on how I'll fix that. (#76822)
9150 - Merge the three Icon-based views into a single layout method.
9151 - Move item selection interaction logic from the item since
9152 interaction with the collections is more appropriate to the view.
9153 - Deselection on non-item clicks.
9155 - Encapsulate most of the layout. Add some internal props to trigger
9156 layout. Move to a model where Items invalidate themselves instead
9157 of just invalidating the whole control every time something changes.
9158 - Invalidate on Text/Caption changes.
9159 - switch to an offset based layout model to avoid having to absolute
9160 position every element on item moves.
9161 - correct checkbox layout to conform to MS layout.
9162 * ThemeWin32Classic.cs:
9163 - refactor some column header drawing code.
9164 - fix string justification for column headers (#76821)
9165 - make SmallIcon labels top justified for compat with MS impl.
9166 * ThemeClearlooks.cs:
9167 - adjust to new ListViewItem internal checkbox bounds api.
9169 2006-02-27 Jackson Harper <jackson@ximian.com>
9171 * Control.cs: Change where implicit controls fall in the zorder.
9172 They are now on top of all children.
9173 - Synced AddImplicit code with Add
9174 - Removed unused enumerator.
9175 * SizeGrip.cs: Remove the TODO as its been TODONE.
9177 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
9179 * TextControl.cs(Insert): Combine the last lines unless the insertion
9180 string ends with \n\n, otherwise we leave one line too many (Fixes
9181 something I noticed with the testapp for #77526; the bug itself was
9182 already fixed in the previous checkin)
9184 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
9187 - SelectionColor and SelectionFont methods no longer set absolute
9188 styles. Instead, the keep font or color respectively (This
9189 resolves a long-standing FIXME in the code)
9190 - When flushing RTF text, the insert code now considers text trailing
9191 behind the insertion point (Fixes the bug where when replacing
9192 the selected text via SelectedRTF the remainder of the line behind
9193 the selection would stay on the first insertion line)
9195 - AppendText now updates the selection points after inserting text
9196 - AppendText now ensures that the last tag (sometimes 0-length) of
9197 the document is used for the style information (Fixes part of
9200 - Created new FontDefiniton class to allow describing partial style
9202 - StreamLine() now takes a lines argument, to allow it to decide
9203 whether an encountered zero-length tag is the last in the document
9204 (which must be kept to not loose the font/color contained in it,
9206 - Created Combine() and Split() methods for Marker structs, to
9207 support marker updates due to reformatted documents (soft line
9209 - Implemented Document.CaretTag setter
9210 - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
9211 of the last line (Not the cause, but also exposed by bug #77220)
9212 - Added LineTag argument to InsertString method, to allow callers
9213 to force a certain tag to be used (required to force use of the
9214 trailing zero-length tag of a document)
9215 - Now updating markers in Combine(), to avoid stale tag markers
9216 - Added some method descriptions to aid maintenance
9217 - Implemented new FormatText concept, allowing additive/subtractive
9218 formatting by only specifying the components that are to be
9219 changed. This was needed for resolving the RTB.SelectedColor/
9220 RTB.SelectedFont fixmes
9221 - Added Break() support method to allow breaking up linetags (used
9222 for partial formatting)
9223 - Added GenerateTextFormat() method. It is used for partial
9224 formatting and allows to generate a full font/color from given
9225 attributes and an existing tag.
9227 2006-02-26 Jackson Harper <jackson@ximian.com>
9229 * XplatUIX11.cs: Use the correct caption height.
9230 - Translate hittest coordinates to screen coords to match MS.
9231 * XplatUIWin32.cs: When we create MDI windows we need to reset
9232 some of the style flags, so we get a nice blank window, and can
9233 draw all the decorations ourselves.
9234 - Set a clipping rectangle on the non client paint event, the
9235 window manager drawing code needs one.
9236 * Form.cs: The window manager needs to know when the window state
9238 * Hwnd.cs: The window manager stuff now does a proper NCCALC so we
9239 don't need to factor in border and title sizes in these
9240 methods. TODO: Remove the args and fix the call points.
9241 * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA
9243 - Let the driver set the cursors.
9244 - Improve active window handling
9245 - Correct sizes for title bars and buttons.
9246 - Match MS drawing better
9247 * MdiWindowManager.cs: We don't need to handle border style
9248 updates specially anymore.
9249 - Check for scrollbars when windows are done moving
9250 - Handle Active properly.
9251 * MimeIcon.cs: Don't crash when we can't load the GNOME stuff
9252 correctly. I am spewing the exception though, so we don't hide the
9255 2006-02-26 Pedro Martinez Julia <pedromj@gmail.com>
9257 * DataGridViewRowPostPaintEventArgs.cs,
9258 DataGridViewCellPaintingEventArgs.cs,
9259 DataGridViewRowCollection.cs,
9260 DataGridViewRowPrePaintEventArgs.cs,
9261 DataGridViewCell.cs: Clear a few warnings and implement a few
9262 exceptions that should be thrown.
9264 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
9266 * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
9267 'inheriting' our parent's (non-default) cursor. (Part of
9270 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
9272 * XplatUIX11.cs: Fixed cast to make csc happy
9274 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
9276 * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
9277 it's for the client area (part of fix for #77479 and needed
9278 for MDI window cursor handling)
9280 - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
9281 the appropriate default cursors and also passing the message
9283 - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
9284 for non-client areas
9286 2006-02-15 Jackson Harper <jackson@ximian.com>
9288 * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
9289 is a real MDI window
9291 2006-02-14 Alexander Olk <alex.olk@googlemail.com>
9293 * X11DesktopColors.cs: Instead of checking the desktop session
9294 string for "KDE" check if it starts with "KDE"
9296 2006-02-10 Jackson Harper <jackson@ximian.com>
9298 * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
9301 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
9303 * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
9306 - Got rid of the panel. All controls are now directly added to
9308 - Changed to mono coding style
9310 2006-02-10 Jackson Harper <jackson@ximian.com>
9312 * InternalWindowManager.cs: We don't need the set visibility to
9313 false hack anymore now that peter has written beautiful shutdown
9316 2006-02-10 Peter Dennis Bartok <pbartok@novell.com>
9318 * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
9319 where already explicitly destroyed
9321 2006-02-10 Jackson Harper <jackson@ximian.com>
9323 * MdiClient.cs: Handle the case where windows are too high or to
9324 the left and we need scrollbars.
9326 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
9328 * MimeIcon.cs: Added some icons
9331 - Got rid of the panel. All controls are now directly added to
9333 - Changed to mono coding style
9334 - On Linux "My Computer" and "My Network" will now show some
9335 more usefull information. A new class, MasterMount, gathers
9336 this information from /proc/mount. Updated MWFFileView to make
9337 use of this information
9338 - Fixed a bug that caused FileDialog to crash when
9339 ".recently_used" file had a zero size
9340 - FilterIndex does now what it should
9342 * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
9345 2006-02-09 Jackson Harper <jackson@ximian.com>
9347 * ComboBox.cs: Don't touch if null.
9349 2006-02-09 Peter Dennis Bartok <pbartok@novell.com>
9351 * Cursor.cs: 64bit safeness fix
9352 * XplatUIX11.cs: Removed several unneeded and one moronic cast.
9354 2006-02-09 Jackson Harper <jackson@ximian.com>
9356 * Form.cs: If a form is made into an MDI form update the styles so
9357 all the props can get set correctly.
9358 - Kill the mdi_container when we dont need it anymore.
9359 * InternalWindowManager.cs: Add missing NOT
9361 2006-02-08 Jackson Harper <jackson@ximian.com>
9363 * InternalWindowManager.cs: Respek clipping when drawing MDi
9366 2006-02-08 Jackson Harper <jackson@ximian.com>
9368 * Hwnd.cs: Add bits to track non client expose events.
9369 * XplatUIX11.cs: Track non client expose events on the hwnd. This
9370 gives us a proper invalid rect and will allow for some nice
9371 optimizations with NC client drawing
9372 - MDI windows are children windows, so move their style handling
9373 into the child window block.
9374 * InternalWindowManager.cs: Remove a state reset that was
9375 getting invoked at the wrong time. Fixes managed windows getting
9376 into a 'stuck' captured state.
9378 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
9380 * TextControl.cs (Document.ctor): Now initializing
9381 selection_anchor. Fixes #77493
9383 2006-02-07 Jackson Harper <jackson@ximian.com>
9385 * TrackBar.cs: The increment/decrements were backwards.
9387 2006-02-07 Mike Kestner <mkestner@novell.com>
9389 * Theme*.cs : remove ThemeEngine.Current usage as it just points back
9390 to the instance itself.
9392 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
9394 * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
9395 on ulongs and pointers, the size differs between 32bit and 64bit
9398 2006-02-07 Mike Kestner <mkestner@novell.com>
9400 * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
9401 for 64 bit platforms to work around a metacity bug.
9403 2006-02-07 Jackson Harper <jackson@ximian.com>
9405 * TrackBar.cs: Process the input keys we need, and hookup to
9406 KeyDown instead of using WndProc, so we get key messages.
9408 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
9410 * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
9412 * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
9413 we need to translate the XdndVersion atoms array before sending it
9415 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
9418 - The preceeding 64bit fixes had a bug: ChangeProperty expects the
9419 number of bits for the property, not the number of bytes. The
9420 change to provide IntPtr.Size broke 32bit. (64bit was also wrong
9421 but would not crash since it specified 8 bits instead of 4 bits)
9422 - More 64bit fixes: Switched all atoms from int to IntPtr (they are
9423 defined as XID -> long in the C headers)
9424 - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms
9425 references since those are now IntPtr to begin with
9426 - Switched all Atom.XXX 'int' casts to IntPtr casts
9427 - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
9428 - Fixed XInternAtom signature for 64bit, now returns an IntPtr
9429 - Added XChangeActivePointerGrab DllImport (for X11DnD)
9431 - Changed 'int' type for Atoms in XEvent structures to IntPtr
9432 - Changed atom in HoverStruct to be IntPtr
9434 - Removed local DllImports, switched code to use those from XplatUIX11
9435 - Removed/fixed casts related to the switch of Atom to be a IntPtr
9437 2006-02-06 Mike Kestner <mkestner@novell.com>
9439 * XplatUIX11.cs : many more 64 bit pinvoke changes. I've audited all the
9440 method signatures in the import region. There may still be some
9441 lingering struct marshaling issues, as I didn't drill down into those.
9444 2006-02-06 Jackson Harper <jackson@ximian.com>
9446 * ComboBox.cs: Dont manually set the top_item, this is computed
9447 when the scrollbar position is set.
9449 2006-02-06 Mike Kestner <mkestner@novell.com>
9451 * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
9452 startup crashes on amd64. There's other fixes needed. All pinvoke
9453 usage of Atom needs to be mapped to IntPtr for example. And there are
9454 likely other int/long issues to be addressed.
9456 2006-02-04 Alexander Olk <alex.olk@googlemail.com>
9458 * FileDialog.cs: One more...
9460 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
9462 * FileDialog.cs: Next try
9464 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
9466 * FileDialog.cs: First part of fix for #77464
9468 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
9470 * ButtonBase.cs, ContainerControl.cs, Forms.cs,
9471 ThemeWin32Classic.cs: Fix for #77458. Correct handling of
9472 AcceptButton border drawing.
9474 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
9476 * Form.cs: Moved positioning of form after auto scaling is applied,
9477 otherwise it would possibly use wrong form size.
9479 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
9481 * Control.cs (RecreateHandle): No need to re-create any child
9482 controls, the child windows will get destroyed automatically by
9483 the windowing system or driver, and re-created when the handle
9484 is being accessed the first time. Fixes #77456
9485 * Form.cs: No longer setting the form to closing if the handle is
9486 being recreated. This seems like the right thing to do, don't
9487 have a bug or testcase for this, though.
9489 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
9491 * FileDialog.cs: Suspend/Resume layouting when changing sizes of
9492 controls to avoid unwanted side effects
9494 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
9497 - ScaleCore needs to scale the bounds, not the ClientSize of the
9498 control. Fixes #77416.
9499 - DefaultSize is 0,0 for control
9501 - DefaultSize is 100, 20
9502 - SetBoundsCore: Now enforcing the height, no matter if the provided
9503 height is more or less than the preferred one, as long as AutoSize
9505 * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
9507 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
9510 - ResumeLayout: Fixed logic when to call PerformLayout, we may not
9511 call unless both performLayout is true *and* we have a pending
9513 - ResumeLayout: MS does not completely nest Suspend and Resume,
9514 they bottom out at 0, fixed our code to match that.
9515 - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
9516 SetBoundsCore, we were updating even when we shouldn't. This fixes
9517 swf-anchors mis-anchoring when resizing the app fast and lots.
9518 - UpdateDistances: Now only setting the left and top distance if
9519 we have a parent and are not suspended, this is based on
9520 a suggestion by Don Edvaldson in bug #77355.
9521 - OnVisibleChanged: Fixed logic when to create the control. We may
9522 not create the control if we have no parent or if it's not visible;
9523 switched to using Visible property instead of is_visible field
9524 since the property also considers parent states. This fixes a bug
9525 when starting Paint.Net
9527 2006-02-02 Jackson Harper <jackson@ximian.com>
9529 * Form.cs: If the forms handle hasn't been created yet don't call
9530 into xplatui to make it top most, just set the topmost flag on the
9531 form in CreateParams
9532 * XplatUIX11.cs: Handle WS_EX_TOPMOST.
9534 2006-02-01 Jackson Harper <jackson@ximian.com>
9536 * ScrollableControl.cs: Refactored the Recalculate method a
9537 little, this wasn't handling all the variants of bottom and right
9538 bars needed to be added and added/removed based on their
9539 counterparts being added/removed (which changes the drawable
9540 size). Also we special case client widths and heights of 0 and
9541 don't add the scrollbar for those.
9543 2006-02-01 Peter Dennis Bartok <pbartok@novell.com>
9546 - Added method to get AbsoluteGeometry(); currently unused, but might
9547 be used in the future, if we try again to figure out toplevel
9548 coordinates with some more crappy window managers
9549 - Added FrameExtents() method to retrieve the WM set decoration size
9550 - Tried to fix up AddConfigureNotify and handling of ReparentNotify
9551 to deal with at least KDE, FVWM and metacity (Fixes #77092)
9553 - Added whacky_wm tracking var for metacity
9554 - Added logic to have default menu height if the actual menu height
9555 has not yet been calculated (part of fix for #77426)
9556 * Form.cs: Keep track whether client size has been set and re-set
9557 it if a menu is added/removed afterwards (Fixes #77426)
9559 2006-01-31 Jackson Harper <jackson@ximian.com>
9561 * Control.cs: When a new Site is set on the component attempt to
9562 pull the AmbientProperties from it.
9564 2006-01-31 Peter Dennis Bartok <pbartok@novell.com>
9566 * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
9567 in the background of the owning form. Fixes #77332
9569 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
9571 * MimeIcon.cs: Fix for #77409
9573 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
9575 * XplatUIX11GTK.cs: Initial import
9577 2006-01-31 Jordi Mas i Hernandez <jordimash@gmail.com>
9579 * FixedSizeTextBox: fixes class signature
9581 2006-01-30 Jackson Harper <jackson@ximian.com>
9583 * FixedSizeTextBox.cs: New internal class that represents a
9584 textBox that will not be scaled.
9587 * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
9590 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
9592 * XplatUIX11.cs: Retrieve default screen number instead of
9593 assuming 0. Attempted fix for #77318
9595 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
9598 - GetWindowPos: When a window is parented by FosterParent, use
9599 the desktop instead of FosterParent as the base to get coordinates
9600 - CreateWindow: Don't make FosterParent the parent window for Popups
9601 if we don't want a taskbar entry, Popups automatically don't get one
9602 * Hwnd.cs: Need to call remove to actually remove the key from the
9605 2006-01-30 Mike Kestner <mkestner@novell.com>
9607 * MenuAPI.cs: adjust MainMenu item popup location to y=0.
9609 2006-01-30 Jackson Harper <jackson@ximian.com>
9612 * TreeNode.cs: Raise events no matter how the treenode is
9613 checked. Patch by Don Edvalson.
9615 2006-01-30 Jackson Harper <jackson@ximian.com>
9617 * TreeNode.cs: Signature fix.
9619 2006-01-29 Alexander Olk <alex.olk@googlemail.com>
9621 * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
9623 2006-01-20 Mike Kestner <mkestner@novell.com>
9625 * Form.cs: Add ActiveTracker property to do Captures and perform mouse
9626 event forwarding when menus are active.
9627 * MenuAPI.cs: kill the GrabControl hack. Use Form.ActiveTracker.
9628 Most of the patch is pdb's with a little rework.
9630 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
9632 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs:
9633 Removed GetMenuDC and ReleaseMenuDC methods; replaced
9634 by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
9635 * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
9636 * InternalWindowManager.cs: Added use of PaintEventStart/End to
9637 handling of WM_NCPAINT message, now passing the PaintEventArgs to
9638 the PaintWindowDecorations method
9639 * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
9640 * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
9641 * MenuAPI.cs: Made tracker window invisible
9643 - Removed GetMenuDC and ReleaseMenuDC methods
9644 - Implemented the client=false path for PaintEventStart and
9647 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
9649 * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
9650 * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
9653 - MaximizeBox, MinimizeBox: Recreate the handle when setting
9655 - CreateParams: Reworked the styles to match MS look'n'feel,
9656 removed automatic setting of MinimizeBox, MaximizeBox, etc. via
9657 the WS_OVERLAPPEDWINDOW style. This fixes #76823.
9659 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
9661 * XplatUIX11.cs(GetWindowState): Now throwing an exception when the
9662 window is not mapped, since otherwise every form that's being
9663 created is considered minimized, which is wrong.
9664 * Form.cs: Catching the exception and returning our internal value
9667 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
9669 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
9670 SetWindowMinMax() to have means to tell the driver about the minimum,
9671 maximum and maximized state window sizes. (Part of the fix for #76485)
9673 - Implemented tracking of minimum and maximum window size, now calling
9674 new SetWindowMinMax() driver method to tell the driver (Part of the
9676 - Finished handling of WM_GETMINMAXINFO method, now setting all values
9677 (Completes fix for #76485)
9678 - Calling new SetWindowMinMax driver method when the handle for a
9679 form is created, to make sure the driver knows about it even if
9680 the values have been set before the window was created
9681 - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
9682 to avoid messing up our anchoring calculations (partial fix
9684 * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
9686 - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
9687 - Improved GetWindowState() to detect 'Minimized' state on Metacity
9688 (and presumably other freedesktop.org compliant WMs). Left the
9689 assumption unmapped=minimized, needed for SetVisible to work.
9690 - Now setting the window state when creating windows
9691 - Fixed SetVisible to consider/set the window state when mapping
9692 a Form. We cannot set the state before it's mapped, and we cannot
9693 use Form.WindowState once it's mapped (since it would ask the
9694 driver and get 'normal'. Therefore, we grab the state before
9695 mapping, map, and then set state.
9696 - Implmemented SetWindowMinMax method; Metacity does not seem to
9697 honor the ZoomHints, though.
9699 - Removed MINMAXINFO (moved to XplatUIStructs)
9700 - Added SetWindowMinMax stub (on Win32 the only way to set that
9701 information is in response to the WM_GETMINMAXINFO message, which
9702 is handled in Form.cs)
9703 - Added logic to SetVisible to set the proper window state when a
9704 form is made visible (fixes #75720)
9706 2006-01-26 Jackson Harper <jackson@ximian.com>
9708 * Control.cs (BeginInvoke): Automagically handle EventHandlers the
9709 same way we handle them with Invoke.
9711 2006-01-25 Peter Dennis Bartok <pbartok@novell.com>
9714 - Added tracking of window state so CreateParams can return
9715 the appropriate style
9716 - Moved setting of WS_CAPTION style in CreateParams to allow
9717 styles without caption
9718 * DataGridTextBoxColumn.cs: We are now also creating the TextBox
9719 control if the TextBox property is accessed. Fixes #77345
9721 - get_Created: now uses is_disposed and is_created to determine
9722 return value (suggested by Jackson)
9723 - CreateHandle: No longer exits if the handle is being recreated
9724 - RecreateHandle: If the handle is not yet created call the
9725 appropriate method to create either control or handle. If the
9726 control is already created CreateHandle will simply exit instead
9727 of just creating the handle
9728 * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
9729 now SendMessage WM_DESTROY directly to the control when DestroyWindow
9732 - When DestroyWindow is called, instead of waiting for the
9733 DestroyNotification from X11, we directly post it to the WndProc
9734 and immediately dispose the hwnd object.
9735 Same applies to DestroyChildWindows, and this obsoletes the
9736 expose_pending tracking. Contrary to Win32 behaviour we destroy our
9737 child windows before our own, to avoid X11 errors.
9738 - Removed the direct sending of WM_PAINT on UpdateWindow
9740 - Reworked DoEvents and GetMessage to allow access to internal queue
9741 even when trying non-blocking access to the queue. Fixes #77335.
9742 Based on a patch suggestion by Don Edvalson. The new private
9743 GetMessage can now also be used as a backend for a PeekMessage
9745 * XplatUI.cs: Improved debug output for CreateWindow
9747 2006-01-25 Jackson Harper <jackson@ximian.com>
9749 * Help.cs: Allow param to be null. Patch by Don Edvalson.
9751 2006-01-24 Jackson Harper <jackson@ximian.com>
9753 * ComboBox.cs: Clamp the max value set for the vertical scrollbar
9754 when we have a MaxDropItems lower then the selected index.
9756 2006-01-24 Jackson Harper <jackson@ximian.com>
9758 * Control.cs: Don't allow selection of non visible controls, allow
9759 selection of controls without parents.
9761 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
9763 * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
9764 * DataGridDrawingLogic.cs: Add editing row only when is necessary
9766 2006-01-23 Jackson Harper <jackson@ximian.com>
9768 * UpDownBase.cs: Make the textbox handle all the selection and
9769 tabbing. This fixes tabing to updown controls.
9771 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
9773 * TextBoxBase.cs: fixes exception thown the object was null
9775 2006-01-23 Jackson Harper <jackson@ximian.com>
9777 * ButtonBase.cs: Just use the base CreateParams. They set
9778 visibility and enabled correctly.
9781 * MonthCalendar.cs: Lets let the base set as much of the
9782 createparams as possible so we don't have duplicate code all over
9785 2006-01-22 Alexander Olk <alex.olk@googlemail.com>
9787 * ThemeGtk.cs: Added TrackBar and some experimental code to
9788 get double buffering back
9790 2006-01-21 Jordi Mas i Hernandez <jordimash@gmail.com>
9792 * DataGrid.cs: Allows row number set internally higher than the last
9793 when creating a new row. Restores the editing functionality.
9795 2006-01-20 Mike Kestner <mkestner@novell.com>
9797 * MimeIcon.cs: delay Image creation until the icons are accessed
9798 instead of creating 190 scaled images on GnomeHandler startup.
9800 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
9802 * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
9803 first call base before processing the event. Fixes #77279
9805 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
9807 * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
9808 that the stride for the GDI bitmap would match the stride of
9811 2006-01-19 Alexander Olk <alex.olk@googlemail.com>
9813 * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
9815 2006-01-19 Jackson Harper <jackson@ximian.com>
9817 * ComboBox.cs: Hookup the text controls keydown event so we get
9818 those when the text control has the focus.
9820 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
9822 * Label.cs: Now using the base events instead of defining new ones;
9823 this allows us to just call the base properties without having to
9824 duplicate all base property logic
9826 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
9828 * Label.cs: A label by default is not a tabstop (Fixes one of our
9829 failing nunit tests)
9831 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
9833 * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
9834 * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
9836 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
9838 * Cursor.cs: Reimplemented creating cursor bitmaps without using
9839 the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
9842 - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream)
9843 constructor creates images that can't be saved. Part of the fix
9845 - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
9846 - SetWindowState: Switched ShowWindow flags (part of an upcoming
9847 bug fix for handling window state in forms properly)
9849 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
9851 * ThemeGtk.cs: Simplify ScrollBar drawing
9853 2006-01-18 Jackson Harper <jackson@ximian.com>
9855 * Splitter.cs: Set the default dock style for the splitter control
9858 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
9860 * ThemeGtk.cs: Corrected StateType and ShadowType for
9863 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
9865 * Control.cs: Make use of Theme.DoubleBufferingSupported
9867 - Added drawing for flat style buttons
9868 - Added ScrollBar drawing
9870 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
9872 * ThemeClearlooks.cs: Removed some unneeded code.
9873 * ThemeGtk.cs: First part of ThemeGtk enhancements.
9875 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
9877 * LinkLabel.cs: We need to update the hover drawing when
9878 leaving the control as well.
9880 2006-01-18 Jordi Mas i Hernandez <jordimash@gmail.com>
9882 * DataGrid.cs: Clicking on non empty areas in the columns
9883 area was giving an exception
9885 2006-01-17 Jackson Harper <jackson@ximian.com>
9887 * ThemeWin32Classic.cs:
9888 * ListView.cs: Do not draw/clip the headers when the header style
9891 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
9893 * DataGrid.cs: Fixes 77260
9895 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
9897 * DataGrid.cs: Clicking on a column on a empty grid was giving
9900 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
9902 * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
9903 or any keypress will crash the grid.
9905 2006-01-17 Mike Kestner <mkestner@novell.com>
9907 * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
9908 * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for
9909 invisible/previously-visible items.
9912 2006-01-17 Alexander Olk <alex.olk@googlemail.com>
9914 * ThemeClearlooks.cs:
9915 - Added CL_Draw_Button method; now other theme controls that are
9916 not derived from button or do not have a button can draw buttons
9918 - Updated ComboBox drawing
9919 - Beautified RadioButton drawing
9920 - Corrected drawing of bottom and left tabs
9921 - Beautified DateTimePicker and MonthCalendar
9922 - Added CPDrawButton and CPDrawRadioButton
9924 2006-01-16 Jackson Harper <jackson@ximian.com>
9926 * ComboBox.cs: Set the initial value of the scrollbar to the
9927 current index. Reduce the numbers of refreshs and IndexOfs called.
9929 2006-01-14 Alexander Olk <alex.olk@googlemail.com>
9931 * FileDialog.cs: When the file listview is focused hitting the
9932 backspace key moves the fileview to the parent directory
9934 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
9937 - Added RecreateHandle call when changing taskbar visibility to
9938 trigger reparenting in Win32 driver (Fixes #75719)
9939 - If a window has minimize or maximize buttons, it cannot have
9942 - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
9943 the toplevel form with FosterParent (A toolwindow not on the
9944 taskbar) (Fixes #75719)
9945 - Made FosterParent a toolwindow
9947 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
9949 * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
9951 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
9953 * ToolTip.cs: If SetToolTip is called from a control and the mouse
9954 is currently over that control, make sure that tooltip_window.Text
9957 2006-01-13 Mike Kestner <mkestner@novell.com>
9959 * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
9961 2006-01-13 Jackson Harper <jackson@ximian.com>
9963 * TreeView.cs: On MS GetNodeAt never actually factors in the X
9964 value passed. Also redraw the selected node when we recieve
9965 focus, so tabbing between trees works correctly.
9967 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
9969 * MimeIcon.cs: GnomeHandler: older gnome versions don't have
9970 ~/.gconf/%gconf-tree.xml, so use
9971 .gconf/desktop/gnome/interface/%gconf.xml
9973 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
9975 * TextControl.cs: Draw text in gray if control is disabled
9977 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
9979 * TreeView.cs: Draw the focus rectangle outside the highlight, to
9980 make sure it's always visible. Fixes #76680.
9982 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
9984 * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
9986 2006-01-13 Jonathan Chambers <jonathan.chambers@ansys.com>
9988 * PageSetupDialog.cs: Added.
9989 * PrintDialog.cs: Attributes.
9990 * PrintPreviewControl.cs: Updates.
9991 * PrintPreviewDialog.cs: Updates.
9993 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
9995 * Control.cs: Undid my selection check fix, since it's not needed
9997 - Now considering the presence of hscroll/vscroll when sizing
9998 vscroll/hscroll respectively. Fixed bug #77077
9999 - Added Left/Up/Down/Right to IsInputKey list to prevent
10000 ContainerControl from stealing them. This fixes what I broke
10001 with my last checkin.
10003 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
10005 * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
10006 I finally understand how the property can be set without a setter :-)
10008 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
10011 - Switched RunLoop to use static Message.Create to create a
10013 - Added PreProcessMessage call in runloop for keyboard events; this
10014 is part of the fix for #77219, I overlooked this originally in the
10015 MSDN doc for PreProcessMessage
10017 - Removed call to PreProcessMessage from handling of keyboard
10018 messages; it's supposed to be done in the message pump
10019 - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
10020 per MSDN documentation.
10021 - IsInputChar: All chars are input chars by default; removed the
10022 parent calling chain, MS does not document that
10023 - PreProcessMessage: If IsInputChar is true, we want to return false
10024 to allow dispatching of the message
10025 - When selecting the next control, now also check that we're not
10026 selecting ourselves again and therefore return a false positive.
10028 - Tried to match return values for IsInputKey and ProcessDialogKey
10029 to what MS returns; moved processing of our special keys outside
10030 ProcessDialogKey since MS does not seem to return true on those.
10031 - Moved code that previously was in ProcessDialogKey into new private
10032 ProcessKey method, which gets called upon receipt of WM_KEYDOWN
10033 - Reworked handling of WM_CHAR to not have to duplicate code from
10034 Control.cs anymore, instead we simply call down to base.
10036 2006-01-12 Jackson Harper <jackson@ximian.com>
10038 * ComboBox.cs: We always need to refresh the text area when
10039 EndUpdate is called. Fixes the combobox in the file dialog.
10040 * Control.cs: Don't create the creator_thread until the controls
10041 handle is created. Also in InvokeRequired we check if the
10042 creator_thread is null. This gives the effect of InvokeRequired
10043 returning true if the controls handle is not created yet, and
10046 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
10049 - Added StartLoop() driver method. This is used to allow drivers to
10050 prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
10051 loop for a particular thread
10052 - Added EndLoop() driver method. This is called once the message
10053 pump for the thread is shut down
10054 - Added SupportsTransparency method to allow the driver to indicate
10055 opacity support for windows
10057 - Removed TODO attribute, completed AllowTransparency property
10058 - Added documented logic to Opacity
10059 * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
10060 ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
10061 versions of CompatibleTextRendering
10062 * X11Structs.cs: Added opacity atom to our atom enumeration
10063 * Hwnd.cs: Added opacity tracking (we need to track since the opacity
10064 of a form might be set before it's reparented by the WM, and we need
10065 the opacity value without calling up to Form)
10066 * XplatUIDriver.cs: Added StartLoop(), EndLoop() and
10067 SupportsTransparency() driver methods
10068 * Application.cs: Now calling StartLoop and EndLoop driver methods
10070 - Added opacity atom registration
10071 - Added StartLoop()/EndLoop() methods. They're empty right now but
10072 will need to get implemented when we switch to a per-thread queue
10073 - Implemented SupportsTransparency() method
10074 - Implemented SetWindowTransparency() method
10075 - Added support for setting the opacity value when a window is
10076 reparented (since the opacity needs to be set on the WM frame)
10077 * XplatUIOSX.cs, XplatUIWin32.cs:
10078 - Added SupportsTransparency(), StartLoop() and EndLoop() methods
10080 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
10082 * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
10084 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
10086 * FileDialog.cs: Added ToolTip for MWFFileView
10087 * MimeIcon.cs: Rewrote GnomeHandler.
10088 - Get currently used gnome icon theme from
10089 ($HOME)/.gconf/%gconf-tree.xml
10090 - Make use of inherited icon themes
10091 - Support SVG icon themes like Tango via librsvg
10093 2006-01-12 Miguel de Icaza <miguel@novell.com>
10095 Revert's Jackson's revert which broke 2.0 builds. Fix both
10098 * Application.cs: Move the use_compatible_text_rendering outside
10099 the NET_2_0 define. If we ever need to use the
10100 use_compatible_text_rendering on the individual controls they will
10101 access the variable from the common shared code paths.
10103 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
10106 - Added more granular debug options
10107 - Added method to print both window text and id
10108 - Switched debug output to use new Window() debug method
10109 - Added IsEnabled() driver method
10110 - Added EnableWindow() driver method
10112 - Removed end_modal; no longer needed, new loop handles termination
10113 via 'closing' variable
10114 - If form is modal, setting DialogResult will now initiate loop
10115 termination via 'closing' variable
10116 - Added support for is_enabled/WS_DISABLED to CreateParams
10117 - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
10119 - Removed code that's now in RunLoop from ShowDialog()
10120 - Added various documented sanity checks to ShowDialog()
10121 - Added handling of WM_DESTROY message; we set 'closing' on getting
10122 the message to indicate the message pump to terminate
10123 - Added handling of new internal WM_CLOSE_INTERNAL message - it's
10124 send by the Application.ExitThread method. (We send the message
10125 to destroy the window after all other events have been
10126 processed through the queue, instead of destroying the handle
10128 - Moved code from Close() method to WM_CLOSE handler; added logic
10129 to only send close-related events if the form is not displayed
10131 * Splitter.cs (..ctor): Fixed typo in resource name
10133 - DrawBackgroundImage: Explicitly selecting the wrap mode for the
10135 - set_Cursor: Now only setting calling into XplatUI if the handle for
10136 the control is already created; this avoids implict handle creation
10137 or crashes if it's not created
10138 - set_Enabled: Now setting the enabled state via the new driver method
10139 instead of just tracking it
10140 - CreateParams: Added logic to set WS_DISABLED based on enabled state
10141 - CreateControl: Reordered event firing and method calls to more
10142 closely fire events in the order MS does. Now setting the
10143 enabled state in the driver when creating the control.
10144 - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
10146 * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
10147 MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED
10148 * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
10150 - Added tracking of window enabled state (get_Enabled/set_Enabled)
10151 - Added EnabledHwnd property to easily allow a driver to find the
10152 handle of the first enabled window in the parent chain (this is
10153 used by drivers to pass up input events of disabled windows)
10154 * XplatUIDriver.cs: Added IsEnabled() method
10156 - Removed crude and obsolete exiting tracking variable
10157 - Removed internal ModalRun(); replaced by RunLoop()
10158 - Implemented private CloseForms() method to allow closing all
10159 windows owned by a particular (or all) threads
10160 - Exit() now properly closes all windows without forcing the message
10162 - Removed obsolete InternalExit() method
10163 - Changed Run() methods to use new RunLoop() message pump
10164 - Implemented new RunLoop() method for both modal and non-modal forms
10166 - get_CreateParams: Added setting of WS_DISABLED
10167 - Simplified ShowDialog(); now all the work is done in RunLoop(),
10168 invoked via Form.ShowDialog()
10169 * NativeWindow.cs: We don't remove the window from the collection when
10170 the handle is destroyed; there might still be messages for it in the
10171 queue (mainly the resulting WM_DESTROY); instead it will be removed
10172 when Control calls InvalidateHandle in the WM_DESTROY handler
10174 - CreateWindow: Added logic to handle the WS_DISABLED window style
10175 - EnableWindow: Implemented based on Hwnd.Enabled
10176 - GetMessage: Reset PostQuitState so the method can be called again
10177 - Implemented support for disabled windows (passing messages to the
10178 first enabled parent) in handling all input messages
10179 - Added optimizations for handling Expose events
10180 - Implemeted new driver method IsEnabled()
10181 - Now always resetting paint pending tracking vars when we start paint
10182 - Re-implemented UpdateWindow via just sending a WM_PAINT message
10183 * XplatUIOSX.cs: Added IsEnabled method stub
10184 * XplatUIWin32.cs: Implemented new IsEnabled() method
10186 2006-01-11 Jackson Harper <jackson@ximian.com>
10188 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
10189 LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
10190 variables a little.
10191 * ColorDialog.cs: Clear out the old form before adding the new
10194 2006-01-11 Jackson Harper <jackson@ximian.com>
10196 * X11Dnd.cs: Make sure to add all the text formats when adding
10197 strings to the data object.
10198 * TreeNodeCollection.cs: When adding to a sorted tree we need to
10199 do some redrawing too. Also change the UpdateNode to an
10200 UpdateBelow so the newly added node gets painted.
10202 2006-01-11 Miguel de Icaza <miguel@novell.com>
10204 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
10205 LinkLabel.cs, PropertyGrid.cs: Implement the
10206 UseCompatibleTextRendering property for 2.x
10208 * Application.cs (SetCompatibleTextRenderingDefault): Add.
10210 2006-01-11 Jackson Harper <jackson@ximian.com>
10212 * TreeView.cs: Use the property for setting the selected node so
10213 the correct events get raised.
10214 * TreeNode.cs: Update the tree when the fore/back colours of a
10217 2006-01-10 Jackson Harper <jackson@ximian.com>
10219 * TreeView.cs: Allow setting SelectedNode to null.
10221 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10223 * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
10225 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10227 * PrintControllerWithStatusDialog.cs: Update page number in dialog.
10229 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10231 * PrintDialog.cs: Added attributes and set default property values.
10233 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10235 * PrintControllerWithStatusDialog.cs:
10236 Added PrintControllerWithStatusDialog.
10238 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10240 * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
10241 XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
10243 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
10245 * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
10247 2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com>
10249 * ComboBox.cs: Added KeyDown event handler for processing arrow keys
10250 and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
10252 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
10254 * MimeIcon.cs: Added internal class SVGUtil.
10256 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
10258 * FileDialog.cs: Don't crash if there are two files with the
10259 same name but different locations.
10261 2006-01-08 John BouAntoun <jba-mono@optusnet.com.au>
10263 * MonthCalendar.cs: Fixed annoying rendering bug when selecting
10264 dates across multiple month grids. Used to not highlight entire
10265 month, but does now.
10267 2006-01-06 Jackson Harper <jackson@ximian.com>
10269 * MonthCalendar.cs: Removed DoEvents call to prevent a running
10270 message loop. Change timer intervals to numbers that seem more
10273 2006-01-06 John BouAntoun <jba-mono@optusnet.com.au>
10275 * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
10276 object for location info since screen object is now implemented.
10278 2006-01-05 Jackson Harper <jackson@ximian.com>
10280 * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
10281 * AsyncMethodResult.cs: We no longer use a WeakReference for the
10282 AsyncMethodResult, this is because we ALWAYS want the
10283 ManualResetEvent to get set.
10284 * Control.cs: When disposing use an async invoke to call shutdown
10285 code, so that thigns don't block on the finalizer thread. Also
10286 check if we even have a message loop before trying to send
10287 messages, if we don't then don't bother sending messages.
10288 - No more weak references for async methods
10289 * XplatUIDriver.cs: No more weak references for async methods.
10291 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
10293 * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
10294 returns two FontFamily with the same name
10296 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
10298 * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of
10299 drawing disabled text. Instead using the ColorGrayText color
10301 2006-01-04 Jackson Harper <jackson@ximian.com>
10303 * TreeNode.cs: redraw the node when its image index is changed.
10305 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
10307 * RichTextBox.cs: Same fix as last, just for SelectionColor. This
10308 time I checked there are no others like it.
10310 2006-01-04 Jackson Harper <jackson@ximian.com>
10312 * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
10313 this gives the behavoir I was looking for.
10314 * Control.cs: Special case Invoking EventHandlers, this matches MS
10315 and fixes part of bug #76326.
10317 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
10319 * ThemeClearlooks.cs, FileDialog.cs:
10320 - Reflect the latest Theme class changes
10321 - Remove Mono.Unix.Syscall.time in FileDialg and replace it
10324 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
10326 * Theme.cs: Cache UI resource images and resize them if needed
10328 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
10330 * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
10331 is called. This fixes the crash in Nexxia when setting the font
10332 attributes in the chat. [However, RTF needs a look-over to make sure
10333 that all SelectionXXX methods handle the special case that selection
10334 is empty and therefore the change must be applied to all text starting
10335 at the cursor/selection start]
10337 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
10339 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
10340 XplatUIOSX.cs: Added SendMessage and PostMessage methods
10341 * X11Keyboard.cs: Switched to new way of calling PostMessage
10343 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
10345 * Theme.cs: Added theme interface for images to allow the theme to
10346 control what images are used for things like FileDialog, MessageBox
10348 * MessageBox.cs: Now uses the new Theme icon/image interfaces
10350 2006-01-03 Alexander Olk <alex.olk@googlemail.com>
10353 - Removed some dead code
10354 - Opening a recently used file does work now
10355 - Small UI enhancements
10358 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
10360 * FileDialog.cs: Forgot too add __MonoCS__
10362 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
10364 * FileDialog.cs: We are able to read recently used files now let's
10365 go on and write them.
10367 2006-01-01 Alexander Olk <alex.olk@googlemail.com>
10369 * FileDialog.cs: Breathe some life into "last open"/"recently used"
10371 * MimeIcon.cs: Do a check for the top level media type also
10373 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
10375 * ThemeClearlooks.cs:
10376 - Added CPDrawStringDisabled
10377 - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
10378 some chars if the text doesn't fit into text_rect
10379 - DrawListViewItem: If View = View.LargeIcon center the image;
10380 rewrote the drawing of ListViewItem.Text if View =
10383 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
10385 * MimeIcon.cs: Use default KDE icon theme if there is no
10386 "48x48" directory for the current icon theme, fixes #77114
10387 * Mime.cs: Disable not working and actually not used code.
10388 * ThemeWin32Classic.cs:
10389 - Replace "new SolidBrush" in GetControlBackBrush and
10390 GetControlForeBrush with ResPool.GetSolidBrush
10391 - Changed DrawListViewItem from private to protected virtual
10393 - Added form.MaximizeBox = true
10394 - Don't throw an exception if there is a broken symbolic link
10396 2005-12-23 Jackson Harper <jackson@ximian.com>
10398 * TabControl.cs: Give the panels focus, keyboard navigation is
10399 fixed so this works correctly now.
10400 - We need these key events also.
10401 * ToolBar.cs: Remove some of the poor mans double buffering.
10403 2005-12-24 Alexander Olk <alex.olk@googlemail.com>
10405 * ComboBox.cs: The internal TextBox now returns the focus.
10407 2005-12-23 Jackson Harper <jackson@ximian.com>
10409 * ThemeWin32Classic.cs: Draw the text for all tab appearances.
10411 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
10413 * Control.cs: Removed debug code
10414 * XplatUIX11.cs: Changed DestroyChildWindows to also consider
10417 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
10419 * Control.cs: When creating the control, update the Z-order after
10420 all it's children are created, too. (Fixes nexxia not showing
10423 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
10425 * Control.cs: Do not update the anchoring distances if layout is
10426 suspended, instead do it once layout is resumed
10428 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
10431 - After many hours of debugging, for both Jackson and
10432 myself, it turns out that it helps to set the parent of a control
10433 if you want to actually see it onscreen. In the spirit of that
10434 discovery, we're now setting the parent of the control and
10435 it's children when the control's handle is created. This fix
10436 will make Lutz Roeder's Reflector run happily.
10437 - now just creating the handle instead of the whole control when
10438 getting a graphics context for the control.
10440 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
10442 * ScrollableControl.cs: When calculating the canvas, don't consider
10443 the scrollbar widths. Instead, predict if horizontal scrollbar
10444 will affect canvas when deciding on vertical display and vice versa.
10446 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
10448 * RichTextBox.cs: Set default RTF font for documents that don't
10449 have a font table (Fixes #77076)
10451 2005-12-22 Jackson Harper <jackson@ximian.com>
10453 * TextBoxBase.cs: It's difficult to do, but you can have an empty
10454 clipboard. This prevents a NullRef in that case.
10455 * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
10456 clipboard. PRIMARY is for the currently selected text only. (We
10457 should implement PRIMARY at some point.
10459 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
10461 * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
10462 a Unicode function with a structure that was defined in Ansi way.
10465 2005-12-21 Jackson Harper <jackson@ximian.com>
10467 * StatusBar.cs: Statusbar handles its fore/back colours on it's
10468 on. Because thats how it rolls. (and this avoids it using ambient
10470 * ThemeWin32Classic.cs: Use the proper back color for filling.
10471 * Menu.cs: Use the system menu bar color for drawing menu
10472 bars. Using the window back color will bring ambient colours into
10475 2005-12-21 Alexander Olk <alex.olk@googlemail.com>
10477 * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
10478 Bitmaps were created and not disposed.
10480 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
10482 * Control.cs (CreateControl): Don't do anything if the control is
10483 already created, otherwise we'd fire the OnCreated event more than
10486 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
10488 * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
10489 will always match. Instead return -1. Fixes #76464.
10491 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
10493 * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
10494 neither the beginning nor the end of the line (Fixes bug #76479)
10496 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
10499 - ControlNativeWindow.ControlFromHandle(): Now handling situation
10500 where handle is invalid
10501 - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
10502 instead of slower linear search
10503 * NativeWindow.cs: Don't remove the window from the hashtable until
10504 after the driver has destroyed it (since the driver might use
10505 Control.FromHandle to lookup the control object
10506 * Hwnd.cs: Added DestroyPending property to track if a window is
10507 already destroyed as far as the driver is concerned and only hasn't
10508 yet notified the control
10510 - Activate(): Check if the window is still valid before using the
10512 - Implemented DestroyChildWindow() method to mark child windows as
10513 destroyed when a window is destroyed. This prevents situations
10514 where we might call an X method based on queued events for a
10515 window that already has been destroyed but we haven't yet pulled
10516 the destroy method from the queue.
10517 - Added a call to the new DestroyChildWindow() method to the drivers
10518 DestroyWindow code. Also now marking the destroyed window itself
10521 2005-12-20 Jackson Harper <jackson@ximian.com>
10524 * StatusBarPanel.cs: Don't calculate panel sizes on draw
10525 anymore. Just do them when needed, also track the rects of panels
10526 so that we can optimize refreshing more in the future.
10528 2005-12-20 Alexander Olk <alex.olk@googlemail.com>
10530 * ColorDialog.cs: Fixed focus drawing in small color controls
10532 2005-12-19 Jackson Harper <jackson@ximian.com>
10534 * InternalWindowManager.cs:
10535 * MdiWindowManager.cs: Cleanup some coordinate system changes so
10536 moving windows works properly.
10538 2005-12-19 Peter Dennis Bartok <pbartok@novell.com>
10541 - Removed call to InitLayout() from SetBoundsCore(); doc says
10542 it's only called when a control is added to a container
10543 - Split InitLayout logic, moved to separate UpdateDistances() method
10544 since we need to perform those calculations more often than just
10545 when adding the control to a container. (Needed to fix #77022)
10546 - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
10547 - Reduced the OnBindingContextChanged events count, don't send them
10548 unless the control is created, we still aren't totally matching
10549 MS, but I can't quite figure out some of their rules
10551 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
10553 * ThemeClearlooks.cs: Corrected distance between ProgressBar
10556 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
10558 * ThemeClearlooks.cs:
10559 - Updated ProgressBar drawing
10560 - Corrected drawing of ScrollBars and scroll buttons
10561 - Some temporary fixes for minor pixel artefacts
10563 2005-12-18 Peter Dennis Bartok <pbartok@novell.com>
10566 - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
10567 cause events to be sent in the same order as MS does.
10568 - Added ChangeParent() method to trigger various OnXXXChanged events
10569 that need to be fired when a parent changes (This is a reworking
10570 of the patch from r54254, with the X11 errors fixed)
10571 - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
10572 since on MS we get OnLayoutChanged events when calling Clear()
10573 - Changed Enabled property to consider parent state as well, if a
10574 parent is not enabled, the control will not be either
10575 - Changed Parent property to simply call Controls.Add() since that
10576 now does all the work required, this way we avoid code duplication
10577 - Threw in a few OnBindingsContextChanged calls to try and match
10578 when MS sends them. We seem to send a few too many, though.
10579 - Added call to CreateControl when adding the control to a parent.
10580 We were never calling CreateControl. Still needs some work, in
10581 some places we treat HandleCreated and ControlCreated as equal,
10583 - Removed obsolete commented out code from UpdateZOrder()
10585 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
10587 * ThemeClearlooks.cs: Updated TrackBar drawing.
10589 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
10591 * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
10593 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
10595 * FileDialog.cs: Add the Help button and the open readonly
10596 checkbox only if needed
10598 2005-12-16 Jackson Harper <jackson@ximian.com>
10600 * Control.cs: Make sure we have an active menu before trying to
10601 process commands on it. Prevents menu-less forms from crashing
10602 when Alt is pressed.
10603 * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
10605 * RichTextBox.cs: Expand statement to help out gmcs and fix the
10608 2005-12-16 Jackson Harper <jackson@ximian.com>
10610 * InternalWindowManager.cs: Don't translate tool windows screen
10611 coordinates. This fixes windows 'bouncing' around when being moved.
10613 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
10616 - MaxLength now treats 2^31-1 equal to unlimited length (this is
10617 not quite MS compatible, MS uses that number only for single line
10618 and 2^32-1 for multi-line, but I figure it won't hurt keeping
10620 - Now enforcing the MaxLength limit when entering characters
10621 - Added argument to internal Paste() method to track if it's called
10622 from programatically or via keyboard, since keyboard driven pastes
10623 need to enforce max-length
10624 - Added logic to Paste to only paste as many chars as MaxLength
10626 * RichTextBox.cs: Updated to use new obey argument for internal Paste()
10628 - Added Length property to return number of characters in document
10629 - Added private CharCount property which only tracks actual chars
10630 in the document (no linefeeds) and fires event when CharCount
10632 - Added tracking of character count to all methods that alter it
10633 - Added LengthChanged event to allow applications to subscribe
10634 to any changes to the document
10636 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
10639 - Removed local password_char field (moved to TextBoxBase)
10640 - Now setting the document's password var when password is
10643 - Added password_char field (needed here so MultiLine can
10645 - Added logic to MultiLine property setter to set the document's
10646 variable when password display is allowed
10647 - Removed debug code and made some debug code conditional
10649 - Added RecalculatePasswordLine() method to handle special password
10651 - Added PasswordChar property, also added related tracking vars
10652 - Draw() method now uses local text var for grabbing text to draw,
10653 this var is set to line.text unless we're doing password display,
10654 then it is set to the pre-generated all-password-chars line
10655 - Added calling RecalculatePasswordLine() method for password lines
10657 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
10660 - Added Reparented property to allow tracking of Window Manager
10661 reparenting actions (which affect X/Y calculations of toplevel
10663 - Made ToString() print window handles in hex
10665 - AddConfigureNotify(): Now uses reparented state off Hwnd to
10666 determine if X/Y needs offsetting
10667 - AddConfigureNotify(): Fixed offset calculations
10668 - Now adds ReparentNotify messages into the queue
10669 - Now processes ReparentNotify messages and causes a
10670 WM_WINDOWPOSCHANGED message to be sent upstream if a window
10671 is reparented (as most likely it's X/Y coordinates are changed
10674 2005-12-14 Jackson Harper <jackson@ximian.com>
10676 * XplatUIX11.cs: Tool windows still need to respek focus.
10678 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
10680 * Control.cs: Undid 54254 (causing XConfigure errors) so we can
10681 have a working release
10683 2005-12-13 Jackson Harper <jackson@ximian.com>
10685 * Form.cs: Update styles after setting the border style regardless
10686 of whether or not the window is using a window manager.
10688 2005-12-13 Jackson Harper <jackson@ximian.com>
10690 * Form.cs: We now hook into an internal window manager instead of just an
10691 MDI subsystem, this is so we can have properly behaving tool windows.
10692 * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
10693 * InternalWindowManager.cs: New internal class that acts as a
10694 window manager for tool windows and as a base for mdi windows.
10695 * MdiWindowManager.cs: New class that acts as a window manager for
10698 2005-12-12 Jackson Harper <jackson@ximian.com>
10700 * Control.cs: Updates so we match behavoir for for implicit
10701 controls. Fixes explosions in MDI.
10703 2005-12-12 Jackson Harper <jackson@ximian.com>
10705 * Control.cs: Implement Invalidate (Region).
10707 2005-12-12 Peter Dennis Bartok <pbartok@novell.com>
10710 - Changed handling of Controls.Add/Controls.Remove to fire (almost)
10711 the same events as MS does. MS fires events for each property
10712 except, for unknown reasons, Cursor, when the control is reparented.
10713 I can't seem to totally match add/remove since MS also fires some
10714 VisibleChanged events, which makes no sense. Consolidated the
10715 parenting code into a separate method so it can be called from
10716 both Add and Remove. set_Parent no longer needs any special logic
10717 as it calls the parent's add method which implicitly fires
10719 - Removed some obsolete code and debug output
10720 - Enabled state is inherited from parents, if this is enabled
10722 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
10724 * Form.cs: Removed commented out code
10726 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
10729 - Added internal version of Invoke, with additional argument
10730 indicating if we're calling it from a Dispose() handler. That
10731 way we can avoid BeginInvoke throwing an exception if we're
10732 calling for an already destroyed window.
10733 - Added a dispose argument to BeginInvokeInternal, and made the
10734 check if a valid window handle chain exists conditional on
10735 it not being a dispose call
10736 - Removed code in DestroyHandle to destroy our children. Since we
10737 now handle the WM_DESTROY message we will catch all our children
10739 - Now calling OnHandleDestroyed from our new WM_DESTROY handler
10741 - Added a field to track the application context of the form.
10742 - No need to set closing variable as response to WM_CLOSE, instead
10743 we destroy the window. We also call PostQuitMessage if the form
10744 has an application context (which makes it the main app form,
10745 which, when closed terminates the app)
10747 - Dropped Exit() method, it's naming was confusing
10748 - Added PostQuitMessage() which causes GetMessage to return false
10749 once the message queue is empty
10750 * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added
10752 * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
10753 no longer a valid XplatUI method, but left it in since it's used
10754 internally. Added empty PostQuitMessage() method.
10755 * MenuAPI.cs: Replaced call to Exit() with call to
10756 PostQuitMessage, even though this is probably no longer needed.
10757 * Hwnd.cs: Added 'pretty' ToString() to support debugging.
10758 * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
10760 - Replaced call to XplatUI.Exit() with PostQuitMessage()
10761 - Removed old debug code that would call XplatUI for exception
10762 display, enabled standard exception handling (Still not enabled
10763 though, until NativeWindow's ExternalExceptionHandler define
10766 - Added internal method to allow control to update NativeWindow
10767 after a window has been destroyed
10768 - Added handling of already destroyed windows when calling i
10770 - Added removal of handle from list on ReleaseHandle
10772 - Dropped GetMessageResult var and related code
10773 - Added PostQuitState to field to track if PostQuitMessage has been
10775 - Dropped Exit() method
10776 - Added PostQuitMessage() method
10777 - GetMessage now will return false if PostQuitState is set and no
10778 more messages are in the queue.
10779 - Expose handler will no longer generate WM_PAINT messages if we are
10780 in PostQuitState since it's very likely any windows have already
10781 been destroyed, and since Hwnd won't get updated until we have
10782 processed the DestroyNotify we'd be causing X errors.
10784 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
10786 * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
10787 Thanks to Mike for pointing out the err of my ways.
10789 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
10791 * Control.cs(PreProcessMessage): Moved menu handling back, but
10792 after all other key handling, to match MS (who handles Menu in
10794 * Menu.cs (WndProc): Removed my brainfart
10796 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
10798 * Control.cs(PreProcessMessage): Removed special menu handling
10799 * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
10801 2005-12-07 Mike Kestner <mkestner@novell.com>
10803 * Control.cs : special case SYSKEYUP so that we can adjust keynav
10804 state according in tracker.
10805 * Menu.cs : promote tracker field to base class and provide a tracker
10806 lookup capability. Add/Remove shortcuts dynamically if the top menu
10807 has a tracker. Unparent items that are removed from the collection.
10808 * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
10809 * Theme*.cs: add always_show_hotkeys field to support configurability
10810 of mnemonic display. win32 doesn't show mnemonics until Alt is
10813 2005-12-07 Jackson Harper <jackson@ximian.com>
10815 * MdiChildContext.cs: Use Control.ResetCursor.
10816 * Control.cs: ResetCursor needs to set the property so that the
10817 correct XplatUI call gets made.
10819 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
10821 * Control.cs: More fixes to make our key events match MS. We
10822 were not setting the modifier state on KeyData, and we were
10823 not generating any events when Alt was pressed with a key
10824 since handling of WM_SYSxxx was missing for the OnKey methods.
10826 2005-12-07 Jackson Harper <jackson@ximian.com>
10828 * MdiChildContext.cs: reenable the sizing code.
10829 - When the mouse leaves a window reset its cursor.
10831 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
10833 * ThemeClearlooks.cs: Reflect latest Hwnd changes
10835 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
10837 * Hwnd.cs: Now using the theme 3d bordersize to calculate
10838 widths of Fixed3D borders
10840 2005-12-07 Jackson Harper <jackson@ximian.com>
10842 * MdiClient.cs: Fix warnings. Earn Mike's love.
10844 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
10846 * ThemeClearlooks.cs:
10847 - Adjusted mouse over button color
10848 - Added first parts of CheckBox drawing
10849 - Added correct color for selected text background
10850 - Fixed ComboBox drawing
10851 - Added CPDrawBorder3D and CPDrawBorder
10853 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
10855 * XplatUIX11.cs: Added call to XBell for AudibleAlert
10857 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
10859 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
10860 XplatUIOSX.cs: Added AudibleAlert() method to have a means to
10861 alert users via sound. We could add an enum arg with different
10862 types of alerts in the future
10864 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
10866 * Control.cs: Fix behaviour problems pointed out by Mike
10868 2005-12-05 Mike Kestner <mkestner@novell.com>
10870 * StatusBarPanel.cs: add Invalidate method and hook it into all the
10871 prop setters. Calls parent.Refresh for now, but could be maybe be
10872 optimized with an internal method on StatusBar at some point.
10875 2005-12-05 Peter Dennis Bartok <pbartok@novell.com>
10877 * RichTextBox.cs: Implemented get_SelectionColor
10879 2005-12-05 Alexander Olk <alex.olk@googlemail.com>
10881 * ThemeClearlooks.cs:
10882 - Removed dead code
10883 - Draw black button border only if button is Form.AcceptButton
10884 - Draw correct button color for pressed RadioButton if the mouse
10885 has entered the button
10886 - Updated ProgressBar drawing!
10887 - Updated CPDrawSizeGrip drawing
10888 - Updated StatusBarPanel drawing
10890 2005-12-05 Mike Kestner <mkestner@novell.com>
10892 * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
10893 * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
10895 2005-12-04 Alexander Olk <alex.olk@googlemail.com>
10897 * ThemeClearlooks.cs: Initial check-in, activate with
10898 export MONO_THEME=clearlooks
10899 * ThemeEngine.cs: Added ThemeClearlooks
10901 2005-12-03 Mike Kestner <mkestner@novell.com>
10903 * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
10906 2005-12-02 Jackson Harper <jackson@ximian.com>
10908 * Form.cs: If the child form has no menu the default main menu is
10909 used as the active menu.
10911 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
10913 * ListBox.cs: Check if any items exist before trying to resolve
10914 coordinates into items
10916 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
10918 * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
10919 as the second color for the background hatch
10921 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
10923 * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
10924 * RichTextBox.cs: FormatText position arguments are 1-based, now making
10925 sure that what we pass to FormatText is always 1-based. Fixes #76885
10927 2005-11-29 Miguel de Icaza <miguel@novell.com>
10929 * NumericUpDown.cs (EndInit): When we are done initializing,
10930 reflect any updates on the UI.
10932 2005-12-02 Jackson Harper <jackson@ximian.com>
10934 * ImplicitHScrollBar.cs:
10935 * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
10936 their container controls.
10937 * TreeView.cs: Use the new implicit scrollbars.
10939 2005-12-02 Jackson Harper <jackson@ximian.com>
10941 * TreeView.cs: Make top_node internal so the TreeNodeCollections
10943 * TreeNodeCollection.cs: If we remove the topnode we need to
10944 update topnode to the next node in line.
10945 - When clearing nodes go through the same process as removing
10946 them, so they get depareneted and checked if they are top node.
10948 2005-12-01 Jackson Harper <jackson@ximian.com>
10950 * TreeView.cs: When imagelists are used the image area is
10951 selectable as well as the text.
10952 - If there are no selected nodes select the first one.
10953 * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
10954 so don't do it more then we need to.
10956 2005-12-01 Jackson Harper <jackson@ximian.com>
10958 * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
10959 that arrows can be scaled.
10961 2005-12-01 Jackson Harper <jackson@ximian.com>
10963 * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
10964 fail. Patch by Dieter Bremes
10966 2005-11-30 Jackson Harper <jackson@ximian.com>
10968 * Form.cs: Property is 2.0 only
10969 * PrintDialog.cs: Signature fix.
10971 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
10974 - No longer artificially moves text 2 pixels down (now that we have
10975 borders this is no longer needed)
10976 - Added calcs for left, hanging and right indent
10978 2005-11-23 Mike Kestner <mkestner@novell.com>
10980 * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
10982 2005-11-30 Jackson Harper <jackson@ximian.com>
10984 * MdiChildContext.cs: Set the cloned menus forms, as these don't
10985 get cloned as part of CloneMenu ().
10986 * Menu.cs: Make sure the parent of the items get set correctly
10987 when they are added. And the owners are notified of the changes.
10988 * Form.cs: Create an ActiveMenu property, so that when MDI is used
10989 we can change the menu being displayed/handled by the form without
10990 changing the menu assosciated with the form.
10991 - Don't let Mdi children draw/handle menus.
10993 2005-11-30 Jackson Harper <jackson@ximian.com>
10995 * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
10996 a MenuChanged event. Just to make the API a little more
10999 * MenuItem.cs: Use the new OnMenuChanged
11000 * MdiChildContext.cs: Handle menu merging.
11001 * Form.cs: Implement MergedMenu.
11003 2005-11-30 Jackson Harper <jackson@ximian.com>
11005 * Menu.cs: We were misusing Add. Add goes behind the specified
11006 index according to the docs, and does not replace the specified
11007 index. So I added an Insert method.
11009 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
11011 * TextBoxBase.cs: Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
11012 Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
11014 * RichTextBox.cs: Added calls to base for DnD events
11016 2005-11-28 Peter Dennis Bartok <pbartok@novell.com>
11019 - Fixed drag-selection related crash; style fixes
11020 - Implemented undo class
11021 o Implemented method to capture document state for specified
11022 range in document tree
11023 o Implemented method to restore captured document state
11024 o Implemented cursor tracking
11025 o Implemented basic undo stack
11026 - Added undo cursor tracking to methods altering cursor location
11027 - Added undo tracking to selection deletion (still missing
11028 other text-altering hookups)
11030 - Added SelectionLength property
11031 - Implemented CanPaste()
11032 - Implemented Paste()
11033 - Added missing protected methods
11034 - Fixed RTF->Document conversion; now uses font index 0 and color
11035 index 0 as the default font for the parsed text
11036 - Fixed RTF<->Document font size translation
11037 - Fixed RTF generation, now properly handles cross-tag boundaries
11038 for single line selection
11039 - No longer always appends blank line to generated RTF
11041 - Added missing attributes
11042 - Hooked up undo-related methods
11044 - Implemented Copy()
11045 - Implemented Paste()
11046 - Implemented Cut()
11047 - Fixed caret mis-behaviour on backspace across line-boundaries
11049 2005-11-29 Jackson Harper <jackson@ximian.com>
11051 * MdiClient.cs: Add a method for activating mdi children. Very
11052 basic right now. I imagine someday it might need more girth.
11053 * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
11054 children windows names are added to the menu item.
11055 * ThemeWin32Classic.cs: Draw the arrow if the item is an
11056 mdilist. This happens regardless of whether or not there are any
11057 mdi windows to see in the list, and according to my tests happens
11058 before the items are even added. Also happens if there isn't even
11059 an mdi client to get windows from.
11061 2005-11-29 Alexander Olk <alex.olk@googlemail.com>
11063 * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
11064 * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
11066 2005-11-29 Jordi Mas i Hernandez <jordimash@gmail.com>
11068 * DataGridTableStyle.cs:
11069 - Create always the styles for the missing columns even if they are
11070 provided by the user (not default table style)
11073 - Fixes SetDataBinding (always re-attach source)
11074 - Fixes SetNewDataSource (only clear styles if they are not for
11076 - Expands OnTableStylesCollectionChanged to handle style refresh
11077 and remove properly
11079 2005-11-29 Jackson Harper <jackson@ximian.com>
11081 * FileDialog.cs: Implement missing bits, remove some dead
11083 * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
11084 creation of the panel so that the options set on the dialog are
11085 seen when the panel is created.
11086 * TreeView.cs: raise a click when items are clicked.
11088 2005-11-29 Jackson Harper <jackson@ximian.com>
11090 * MdiClient.cs: Pass some signature methods through to base.
11092 2005-11-28 Jackson Harper <jackson@ximian.com>
11094 * ListView.cs: Raise the click event when items are clicked.
11096 2005-11-28 Jackson Harper <jackson@ximian.com>
11098 * MdiClient.cs: Make this algorithm even more beautiful. And fix
11101 2005-11-27 Alexander Olk <alex.olk@googlemail.com>
11103 * ThemeNice.cs: - Removed 1 pixel bitmaps
11104 - Use SmoothingMode.AntiAlias where it makes sense
11105 (ScrollButton arrow for example)
11106 - Enhanced Button focus drawing
11107 - Fixed ComboBox drawing (no artefacts anymore, focus
11108 rectangle is back again, reduced size of ComboButton, etc.)
11109 - Fixed RadioButton focus drawing for Appearence.Button
11110 - Slight ScrollButton redesign
11111 - Some LinearGradientBrush size fixes
11112 - GroupBoxes have now rounded edges
11113 - Fixed StatusBar drawing
11115 2005-11-25 Alexander Olk <alex.olk@googlemail.com>
11117 * ThemeNice.cs: - Remove dead code
11118 - use correct background colors for menus, etc.
11119 - Fake pixel drawing with 1 pixel bitmaps
11121 2005-11-24 Jackson Harper <jackson@ximian.com>
11123 * MdiClient.cs: Size the scrollbars when resizing the window.
11124 - Resize the maximized windows when the client is resized
11125 * Form.cs: Make the child context available
11127 2005-11-23 Jackson Harper <jackson@ximian.com>
11129 * MdiChildContext.cs: Don't size windows if they are maximized.
11131 2005-11-23 Mike Kestner <mkestner@novell.com>
11133 * ContextMenu.cs: use MenuTracker.
11134 * Control.cs: remove menu handle usage.
11135 * Form.cs: remove menu handle usage.
11136 * Hwnd.cs: remove menu handle usage.
11137 * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
11138 motion and clicks to the new Tracker handlers.
11139 * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
11141 * MenuAPI.cs: refactored to combine popup and menubar event handling.
11142 Killed the MENU and MENUITEM data types and associated collections
11143 since we now keep the info on Menu and MenuItem. Expanded TRACKER into
11144 MenuTracker class that exposes the leftovers from the old MenuAPI
11145 static methods. Restructured Capture handling so that only one grab is
11146 done for the entire menu hierarchy instead of handing off grabs to
11147 submenus. Tracker now has an invisible control to Capture when active.
11148 * MenuItem.cs: add sizing accessors, kill Create
11150 * Theme.cs: remove menu handle and MENU(ITEM) usage.
11151 * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
11152 MENU(ITEM). remove menu handle usage, use Menu directly.
11153 * XplatUIDriver.cs: remove menu handle usage.
11154 * XplatUIOSX.cs: remove menu handle usage.
11155 * XplatUIWin32.cs: remove menu handle usage.
11156 * XplatUIX11.cs: remove menu handle usage.
11158 2005-11-22 Jackson Harper <jackson@ximian.com>
11160 * Hwnd.cs: Don't compute the menu size for
11161 DefaultClientRectangle.
11162 - Reenable menu sizes being computed for GetClienRectangle.
11163 * Form.cs: Remove comment of trechery
11165 2005-11-22 Jackson Harper <jackson@ximian.com>
11167 * Hwnd.cs: The adjustments for the menu bar are made when it is
11168 attached to the form.
11170 2005-11-19 Jackson Harper <jackson@ximian.com>
11172 * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
11173 (just like on windows).
11175 2005-11-19 Jackson Harper <jackson@ximian.com>
11177 * MdiChildContext.cs: Handle all the buttons ourselves. We can't
11178 use real buttons anymore because they are in non client area. The
11179 one TODO here is that I need to somehow invalidate a section of
11180 the non client area.
11182 2005-11-18 Jackson Harper <jackson@ximian.com>
11184 * Control.cs: Put the enum check back in now that MDI doesnt have
11185 to use this to set border styles.
11186 * Form.cs: Only set mdi child windows borders if the handle has
11188 * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
11189 this directly on to the driver.
11190 - Get the move start position before adjusting for the titlebar
11191 height, this fixes the windows "skipping" when they are first
11194 2005-11-18 Jackson Harper <jackson@ximian.com>
11196 * XplatUIX11.cs: Just compute the mdi borders separately as they
11197 don't totally match up with normal form borders.
11199 2005-11-18 Jackson Harper <jackson@ximian.com>
11201 * Control.cs: Set WS_ styles for borders, so that the driver does
11202 not have to retrieve the control instance to figure out what kind
11203 of borders it should have.
11204 * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
11205 driver can know its an mdi child easily.
11206 * XplatUIX11.cs: Get the border styles and whether the window is
11207 MDI from the Styles and ExStyles params instead of having to get a
11208 control. This prevents a chicken and egg problem.
11210 2005-11-18 Jackson Harper <jackson@ximian.com>
11212 * MdiClient.cs: Fix typo so scrollbars show up correctly.
11214 2005-11-18 Jackson Harper <jackson@ximian.com>
11216 * MdiClient.cs: Calculate when to add and remove scrollbars
11218 * MdiChildContext.cs: Adjust the y position to take the titlebar
11220 - No height for FormBorderStyle.None
11222 2005-11-18 Jackson Harper <jackson@ximian.com>
11224 * Control.cs: Allow non enum values to be used for
11225 InternalBorderStyle. MDI does this to set a special border style.
11226 - New utility methods for converting points to/from client coords
11227 - Add the newly created control to the Controls collection before
11228 updating its style. This way UpdateStyle can walk the control
11229 heirarchy to find the control if needed.
11230 so I don't need to create a new Point object all the time.
11231 * Form.cs: Let MDI windows handle their border styles.
11232 - Set styles on MDI windows so the correct title style is derived.
11233 * MdiChildContext.cs: Move all the painting and window handling
11234 into the non client area.
11235 - Use correct sizing and put correct buttons on frames based on
11236 the FormBorderStyle.
11237 - Notify the mdi client about scrolling
11238 - Need to handle the buttons ourselves now, because they are all
11239 in non client areas and we can't add controls there.
11240 * MdiClient.cs: Halfway to scrolling, this implementation is
11241 somewhat broken though, we need to check to make sure other
11242 windows aren't causing scrolling before removing the bars. Also
11243 the bars need to be drawn on top, maybe I can switch implicit
11244 controls to be on top.
11245 * Hwnd.cs: caption_height and tool_caption_height are now
11246 properties of an hwnd, this way they can be set by the driver
11247 based on the type of window they are. In X11 the window manager
11248 handles the decorations so caption_height is zero unless its an
11250 - Add 3 pixel borders for MDI windows (0xFFFF).
11251 - Get rid of some code duplication, have DefaultClientRectanle
11252 just call GetClientRectangle.
11253 * XplatUIX11.cs: Pass caption_height and tool_caption_height to
11255 - Set border styles differently for mdi windows.
11256 * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
11259 2005-11-15 Mike Kestner <mkestner@novell.com>
11261 * Menu.cs: when adding an item to the collection, if item is already
11262 parented, remove it from the parent.
11264 2005-11-13 Alexander Olk <alex.olk@googlemail.com>
11266 * X11DesktopColors.cs: Added KDE support
11268 2005-11-11 Peter Dennis Bartok <pbartok@novell.com>
11271 - Clipboard methods now can translate Rtf format
11272 - No longer removes clipboard contents whenever a new format is added
11273 to allow placing multiple formats on the clipboard
11274 * Clipboard.cs: Clipboard now supports getting a IDataObject and
11275 will place all formats contained in it onto the clipboard. Also
11276 now cleans the clipboard before placing a new object onto it
11278 - Implemented set_Rtf
11279 - Implemented set_SelectedRtf
11280 - Created InsertRTFFromStream() method to allow single code base
11281 for all properties and methods that insert RTF into document
11282 - Removed debug output
11284 - Fixed Delete(int) to fix up line numbers
11285 - Fixed ReplaceSelection to combine start and end line
11286 - Fixed serious DeleteChars bug that would leave the document tree
11288 - Improved DumpTree with several logic checks to detect broken
11290 - Removed debug lines
11291 - Fixed Caret.WordForward/WordBack moving code, now always also
11292 updates caret.tag (fixes crash when word-selecting across tag
11293 boundaries via keyboard)
11294 - Added Insert() method for inserting multiline text into documents
11295 - Fixed DeleteChars() calculation errors that would cause a broken
11296 tag chain with multiple tag lines
11297 - DeleteChars() no longer crashes on multi-tag lines if not all tags
11298 - Split() no longer moves caret if split is at caret location
11299 - ReplaceSelection() now updates the cursor and re-displays it
11300 - ReplaceSelection() now uses new Insert() method to avoid code
11302 - FormatText() can now handle formatting partial lines
11304 - Append now uses new TextControl.Insert() method (this avoids
11306 - Implemented Ctrl-X (Cut) (
11307 - Implemented Ctrl-C (Copy)
11308 - Implemented Ctrl-V (Paste) (Still some bugs related to screen
11309 regeneration when pasting text; roundtripping Copy&Paste within
11310 edit control still fails due to some calculation bugs in GenerateRTF)
11311 - The Delete key will now remove the current selection if it is visible
11312 * TextBox.cs: Removed debug lines
11313 * XplatUI.cs: Trigger initialization of DataFormats (which requires the
11314 driver to be initialized and can't therefore be done via a static ctor)
11316 2005-11-10 Peter Dennis Bartok <pbartok@novell.com>
11318 * TextControl.cs: Added backend code for finding char arrays and strings
11320 - Added mouse wheel scroll support
11321 - Added support for VScroll and HScroll events
11323 - Implemented all seven Find() variants
11324 - Implemented GetCharFromPosition()
11325 - Implemented GetCharIndexFromPosition()
11326 - Implemented GetLineFromIndex()
11327 - Implemented GetPositionFromCharIndex();
11328 - Implemented SaveFile for PlainText and UnicodeText
11329 - Fixed set_Font, now setting a new font applies that font to
11331 - Implemented generic Document to RTF converter
11332 - Implemented SaveFile for RichText format (still missing unicode
11333 conversion for non-ansi chars)
11334 - Implemented get_Rtf
11335 - Implemented get_SelectedRtf
11337 2005-11-09 Peter Dennis Bartok <pbartok@novell.com>
11339 * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
11340 to allow any captures to be released before triggering OnClick. This
11341 way a click handler may capture the mouse without interference.
11342 * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
11343 This way we send them even though X may not allow a grab (if the window
11344 isn't visible, for example)
11346 2005-11-08 Pedro Martinez Julia <pedromj@gmail.com>
11348 * DataGridViewRowEventArgs.cs: DataGridView implementation
11349 * DataGridViewElement.cs: DataGridView implementation
11350 * DataGridViewComboBoxCell.cs: DataGridView implementation
11351 * DataGridViewDataErrorContexts.cs: DataGridView implementation
11352 * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
11353 * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
11354 * ImageLayout.cs: DataGridView implementation
11355 * DataGridViewComboBoxColumn.cs: DataGridView implementation
11356 * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
11357 * DataGridViewSelectionMode.cs: DataGridView implementation
11358 * IDataGridViewEditingControl.cs: DataGridView implementation
11359 * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
11360 * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
11361 * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
11362 * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
11363 * DataGridViewColumnSortMode.cs: DataGridView implementation
11364 * DataGridView.cs: DataGridView implementation
11365 * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
11366 * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
11367 * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
11368 * Padding.cs: DataGridView implementation
11369 * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
11370 * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
11371 * DataGridViewRowEventHandler.cs: DataGridView implementation
11372 * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
11373 * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
11374 * DataGridViewButtonCell.cs: DataGridView implementation
11375 * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
11376 * DataGridViewEditMode.cs: DataGridView implementation
11377 * DataGridViewCellValueEventArgs.cs: DataGridView implementation
11378 * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
11379 * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
11380 * DataGridViewCheckBoxColumn.cs: DataGridView implementation
11381 * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
11382 * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
11383 * DataGridViewCellEventHandler.cs: DataGridView implementation
11384 * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
11385 * DataGridViewCellStyleConverter.cs: DataGridView implementation
11386 * DataGridViewSelectedRowCollection.cs: DataGridView implementation
11387 * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
11388 * DataGridViewColumnEventArgs.cs: DataGridView implementation
11389 * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
11390 * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
11391 * QuestionEventArgs.cs: DataGridView implementation
11392 * IDataGridViewEditingCell.cs: DataGridView implementation
11393 * DataGridViewTriState.cs: DataGridView implementation
11394 * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
11395 * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
11396 * DataGridViewColumnCollection.cs: DataGridView implementation
11397 * DataGridViewCellValueEventHandler.cs: DataGridView implementation
11398 * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
11399 * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
11400 * DataGridViewColumn.cs: DataGridView implementation
11401 * DataGridViewCellBorderStyle.cs: DataGridView implementation
11402 * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
11403 * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
11404 * DataGridViewRow.cs: DataGridView implementation
11405 * DataGridViewImageCellLayout.cs: DataGridView implementation
11406 * DataGridViewImageCell.cs: DataGridView implementation
11407 * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
11408 * DataGridViewCheckBoxCell.cs: DataGridView implementation
11409 * DataGridViewHeaderCell.cs: DataGridView implementation
11410 * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
11411 * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
11412 * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
11413 * DataGridViewTextBoxColumn.cs: DataGridView implementation
11414 * QuestionEventHandler.cs: DataGridView implementation
11415 * DataGridViewCellStyleScopes.cs: DataGridView implementation
11416 * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
11417 * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
11418 * DataGridViewCell.cs: DataGridView implementation
11419 * DataGridViewCellEventArgs.cs: DataGridView implementation
11420 * DataGridViewClipboardCopyMode.cs: DataGridView implementation
11421 * DataGridViewCellStyle.cs: DataGridView implementation
11422 * DataGridViewColumnHeaderCell.cs: DataGridView implementation
11423 * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
11424 * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
11425 * TextFormatFlags.cs: DataGridView implementation
11426 * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
11427 * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
11428 * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
11429 * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
11430 * DataGridViewButtonColumn.cs: DataGridView implementation
11431 * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
11432 * HandledMouseEventArgs.cs: DataGridView implementation
11433 * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
11434 * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
11435 * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
11436 * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
11437 * DataGridViewRowCollection.cs: DataGridView implementation
11438 * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
11439 * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
11440 * DataGridViewHitTestType.cs: DataGridView implementation
11441 * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
11442 * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
11443 * DataGridViewColumnEventHandler.cs: DataGridView implementation
11444 * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
11445 * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
11446 * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
11447 * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
11448 * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
11449 * DataGridViewContentAlignment.cs: DataGridView implementation
11450 * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
11451 * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
11452 * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
11453 * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
11454 * DataGridViewPaintParts.cs: DataGridView implementation
11455 * DataGridViewCellCollection.cs: DataGridView implementation
11456 * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
11457 * DataGridViewImageColumn.cs: DataGridView implementation
11458 * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
11459 * DataGridViewElementStates.cs: DataGridView implementation
11460 * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
11461 * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
11462 * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
11463 * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
11464 * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
11465 * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
11466 * DataGridViewRowHeaderCell.cs: DataGridView implementation
11467 * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
11468 * DataGridViewTextBoxCell.cs: DataGridView implementation
11469 * DataGridViewBand.cs: DataGridView implementation
11470 * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
11471 * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
11472 * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
11473 * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
11474 * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
11475 * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
11476 * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
11477 * DataGridViewSelectedCellCollection.cs: DataGridView implementation
11478 * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
11479 * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
11480 * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
11482 2005-11-08 Peter Dennis Bartok <pbartok@novell.com>
11484 * ThemeWin32Classic.cs:
11485 - Draw the outside focus rectangle around buttons
11486 - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
11487 doesn't use end caps for every dash of a line anymore. This
11488 workaround ignores the forecolor.
11490 2005-11-08 Kornél Pál <kornelpal@hotmail.com>
11492 * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
11495 2005-11-07 Jackson Harper <jackson@ximian.com>
11497 * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
11499 2005-11-07 Jackson Harper <jackson@ximian.com>
11501 * ScrollableControl.cs: Calculate the maximum and change vars
11502 (more) correctly so that scrollbars appear as a sensible size.
11504 2005-11-04 Jackson Harper <jackson@ximian.com>
11506 * TreeNodeCollection.cs: Refresh when nodes are cleared from the
11508 * TreeView.cs: When the tree is sorted null out the top_node so
11509 that it is recalculated.
11510 - Use dotted lines instead of dashed lines to match MS better.
11512 2005-11-04 Jordi Mas i Hernandez <jordimash@gmail.com>
11515 - Implements key search for items. Useful when browsing files with FileDialog
11516 - When changing view mode or when clear the items reset scrollbar positions
11518 2005-11-04 Jackson Harper <jackson@ximian.com>
11520 * CurrencyManager.cs: Implement the MetaDataChanged event, the
11521 Reset method, and the CheckEmpty. CheckEmpty is just a total guess
11522 as to what the method may do as there is no real way of creating a
11523 derived CurrencyManager and calling the method.
11525 2005-11-03 Jackson Harper <jackson@ximian.com>
11527 * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
11528 * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
11529 method which seems to just be used internally to refresh the tabs.
11531 2005-11-03 Jackson Harper <jackson@ximian.com>
11533 * TabControl.cs: Implement the remove method. Fix some broken
11536 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
11538 * DateTimePicker.cs:
11539 - Added missing DateTimePickerAccessibleObject class
11540 - Added missing events
11541 - Added OnFontChanged method
11542 * Form.cs: Added missing attributes
11543 * TreeView.cs: Added missing attributes
11545 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
11547 * GridItemCollection.cs: Fix signatures
11549 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
11551 * XplatUI.cs: Updated build rev/date
11552 * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs,
11553 DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
11554 * Application.cs: Trigger context-specific ExitThread events
11556 2005-11-03 Jackson Harper <jackson@ximian.com>
11560 * GridTableStylesCollection.cs:
11565 * MonthCalendar.cs: Signature fixes
11567 2005-11-03 Jackson Harper <jackson@ximian.com>
11569 * TreeNodeCollection.cs: Remove should not be virtual.
11570 * TreeView.cs: Implement the last of the missing methods.
11572 2005-11-03 Jackson Harper <jackson@ximian.com>
11574 * TreeNodeConverter.cs: Implement to get off my class-status back.
11576 2005-11-03 Jackson Harper <jackson@ximian.com>
11578 * TreeView.cs: Hookup the bits for drag and drop.
11579 * TreeNode.cs: Don't cache the tree_view or index anymore, now
11580 that nodes can be moved from tree to tree easily this just causes
11581 all sorts of problems.
11582 * TreeNodeCollection: Don't need to give treenodes an index and
11583 treeview anymore when they are added, these are computed on the
11584 fly. Also make sure to remove a node before its added.
11586 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
11589 - Added CaretSelection enum
11590 - Added comparison methods to Marker struct, makes selection code
11592 - Added SelectionStart and SelectionEnd as 'moveable' location for
11593 the CaretDirection enum and handler
11594 - Added selection_prev variable to track optimized invalidation for
11595 word and line selection
11596 - Added SelectionVisible property (returns true if there is a valid
11598 - Switched CaretHasFocus to only display the caret if there is no
11600 - Avoiding StringBuilder.ToString to retrieve a single char, instead
11601 using the direct character index; should be much faster
11602 - Added various conditional debug statements
11603 - Fixed invalidation calculation for selection ranges
11604 - Added ExpandSelection() method to support word and line selection
11605 - Switched SetSelectionToCaret to use new Marker compare overloads
11606 - Added central IsWordSeparator() method to determine word
11607 separators/whitespace and FindWordSeparator() to streamline common
11608 usage of IsWordSeparator()
11610 - Removed unneeded grabbed variable, it was just mirroring
11612 - No longer firing OnTextChanged event when Text setter is called,
11613 since the base will fire the event for us
11614 - Added handling of Ctrl-Up/Down selection
11615 - Added handling of Shift-Cursorkey selection
11616 - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
11618 - Added handling of Shift and Ctrl-Shift-Home/End selection
11619 - Removed some debug output
11620 - Added handling for single/double/tripple-click to place caret/
11621 select word/select line respectively (Fixes bug #76031)
11622 - Added support for drag expansion of word/line selection
11623 * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
11626 2005-11-02 Jackson Harper <jackson@ximian.com>
11628 * X11Dnd.cs: If the drag is going to and from a MWF window just
11629 copy the data instead of sending it out through the X Selection
11632 2005-11-02 Jackson Harper <jackson@ximian.com>
11635 * XplatUIX11.cs: When in a drag we don't want motion notify
11636 messages to get passed on to the other controls. This prevents
11637 mouse move messages from showing up in the drag source.
11639 2005-11-02 Jackson Harper <jackson@ximian.com>
11641 * X11Dnd.cs: Remove unneeded call to XAllowEvents. Make sure that
11642 the correct button is release to end a drag.
11643 * XplatUIX11.cs: Make the button state internal so the drag system
11644 can access it. Dragging needs to know about all button releases,
11645 not just left button.
11647 2005-11-02 Miguel de Icaza <miguel@novell.com>
11649 * Form.cs (Icon): If the icon is null, reset the icon to the
11652 * Cursor.cs: When writing the AND-mask bitmap do not include the
11653 number of colors, but hardcode those to two (black and white),
11654 fixes the loading of color cursors (Paint Dot Net).
11656 * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
11657 turn off autoscaling.
11659 * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
11661 2005-11-02 Jackson Harper <jackson@ximian.com>
11663 * X11Dnd.cs: Make sure to send a status message if the pointer
11664 enters a control that can not accept a drop, otherwise the cursor
11665 isn't updated correctly. Also tried to compress the lines of code
11668 2005-11-02 Jackson Harper <jackson@ximian.com>
11670 * X11Dnd.cs: Change cursors based on drag action. Also attempt to
11671 set actions correctly. This isn't perfect as XDND and win32 have
11672 some differences on how you allow actions. I'll clear this up by
11673 adding a path for drag from MWF to MWF windows.
11674 * XplatUIX11.cs: Hook into the dnd system.
11676 2005-11-02 Jordi Mas i Hernandez <jmas@softcatala.org>
11678 * ListView.cs: Fixes scroll bar visibility. Hide them if they were
11679 previously shown but they are no longer need it. Very obvious when
11680 browsing files with FileDialog.
11682 2005-11-01 Peter Dennis Bartok <pbartok@novell.com>
11684 * Control.cs: We always need to call OnPaintBackground. We pretty much
11685 ignore AllPaintingInWmPaint and always do the painting there, whether
11686 it's set or not, since we always ignore the WM_ERASEBKGND message
11687 (which we don't generate on X11). This fixes #76616.
11688 * Panel.cs: Removed unneeded background painting. This happens properly
11689 in Control.cs already
11691 2005-10-31 Mike Kestner <mkestner@novell.com>
11693 * Menu.cs: Add items to collection before setting their index.
11694 * MenuItem.cs : add range checking with ArgumentException like MS.
11697 2005-10-31 Jackson Harper <jackson@ximian.com>
11699 * ListBox.cs: Invalidate if the area is visible at all not just
11700 contained in the visible rect. Fixes unselection of semi visible
11703 2005-10-31 Jackson Harper <jackson@ximian.com>
11705 * Control.cs: Consistently name the dnd methods. Make them
11706 internal so we can override them to match some MS behavoir
11708 * Win32DnD.cs: Use the new consistent names.
11710 2005-10-31 Jackson Harper <jackson@ximian.com>
11712 * TreeView.cs: Don't draw the selected node when we lose focus.
11714 2005-10-31 Jackson Harper <jackson@ximian.com>
11716 * X11Dnd.cs: We still need to reset the state even though a full
11717 reset isn't being done, otherwise status's still get sent all over
11720 2005-10-31 Jackson Harper <jackson@ximian.com>
11722 * Control.cs: Make the dnd_aware flag internal so the dnd
11723 subsystem can check it. Catch exceptions thrown in dnd handlers to
11725 * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
11726 * X11Dnd.cs: Handle null data in the converters. Set the XDND
11727 version when sending a XdndEnter. Use the control/hwnd dnd_aware
11728 flags to reduce the number of dnd enters/status's sent.
11730 2005-10-31 Jackson Harper <jackson@ximian.com>
11732 * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
11734 2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com>
11736 * PictureBox.cs: Fixes 76512
11738 2005-10-28 Jackson Harper <jackson@ximian.com>
11740 * X11Dnd.cs: Early implementation to support winforms being a drag
11741 source for data on X11. Also restructured the converters so they
11742 can go both ways now.
11743 * XplatUIX11.cs: Tie ins to the the Dnd stuff.
11745 2005-10-27 Peter Dennis Bartok <pbartok@novell.com>
11747 * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
11750 2005-10-27 Jackson Harper <jackson@ximian.com>
11752 * TreeNode.cs: Implement serialization so my DnD examples will work.
11754 2005-10-24 Kornél Pál <kornelpal@hotmail.com>
11756 * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
11757 TreeView.cs: Don't dispose objects that are not owned.
11759 2005-10-24 Peter Dennis Bartok <pbartok@novell.com>
11761 * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
11762 should retrieve the current cursor and report that, but XplatUI
11763 doesn't (yet) have an interface for that (and I'm not sure I even
11765 * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
11766 until any message loop processing is done (and the WM_SETCURSOR
11767 replaces the cursor to the proper one)
11769 - Fixed override behaviour, we can't set the cursor globally on X11,
11770 just for our windows.
11771 - Invalidating the System.Drawing X11 display handle when we are
11773 * Control.cs: Fix to make csc happy
11775 2005-10-23 Peter Dennis Bartok <pbartok@novell.com>
11778 - get_Text: Add last line (without trailing newline) to returned
11779 value (Fixes 76212)
11780 - get_TextLength: Count last line in returned length
11781 - ToString: Call Text property instead of duplicating code
11783 2005-10-23 Kornél Pál <kornelpal@hotmail.com>
11785 * ImageList.cs: Dispose ImageAttributes objects.
11787 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
11789 * ImageList.cs: Use attribute constructors with less arguments where
11792 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
11794 * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
11795 Use typeof instead of strings when assembly is referenced. Added
11796 some more comments.
11798 2005-10-21 Jackson Harper <jackson@ximian.com>
11800 * ListView.cs: Raise a double click event. Also tried to somewhat
11801 fix when the selectedindexchanged event is raised. Its still
11804 2005-10-21 Jackson Harper <jackson@ximian.com>
11806 * TreeView.cs: New method to invalidate the plus minus area of a
11807 node without invalidating the whole node (maybe this can be used
11808 in some more places).
11809 * TreeNodeCollection.cs: When adding to an empty node we need to
11810 invalidate its plus minus area so the little block shows up.
11812 2005-10-21 Jackson Harper <jackson@ximian.com>
11814 * TreeView.cs: Make sure that when we invalidate a node the bounds
11815 are big enough to cover the selected box and the focus
11816 rectangle. Use a different colour for the lines connecting nodes
11817 so they show up with all themes.
11819 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
11821 * NativeWindow.cs: Don't call anything that could call into the driver,
11822 we might be on a different thread.
11824 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
11826 * Control.cs(Dispose): Since Dispose might run on a different thread,
11827 make sure that we call methods that could call into the driver via
11828 invoke, to avoid thread issues
11830 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
11832 * XplatUI.cs: Removed finalizer
11833 * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
11834 not allowing to be called on the finalizer thread.
11836 2005-10-21 Kornél Pál <kornelpal@hotmail.com>
11839 - Reverted r51889 and r51891.
11840 - Added ImageListItem class that stores unmodified image items and image
11841 properties required to create list images until handle is created.
11842 - Added AddItem and moved image creation logic to AddItemInternal.
11843 - Added CreateHandle method that creates images based on unmodified items.
11844 - Added DestroyHandle that changes state to store unmodified items.
11845 - Add and AddStrip methods no more create handle.
11846 - ReduceColorDepth has no return value.
11847 - Dispose destroys handle.
11848 - Modified other methods to reflect the above changes.
11849 - Implemented key support.
11850 - Added profile 2.0 members and attributes.
11851 - Added private Reset and ShouldSerialize methods that provide the same
11852 behavior as MS.NET but the Visual Studio .NET designer seems to ignore
11853 them as they are private.
11854 - Added some more comments about implementation details.
11856 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
11858 * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
11860 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
11862 * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
11864 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
11866 * DataGridDrawingLogic.cs: Fixes column hit calcultation
11867 * DataGridColumnStyle.cs: Remove debug message
11869 2005-10-20 Jackson Harper <jackson@ximian.com>
11871 * TreeView.cs: We can always get input keys regardless of whether
11872 or not editing is enabled. They are used for navigation.
11874 2005-10-20 Jackson Harper <jackson@ximian.com>
11876 * TreeNode.cs: Use the viewport rect for determining if a node
11877 needs to be moved for visibility. Don't use Begin/End edit. This
11878 calls a full refresh when its done.
11879 * TreeView.cs: New SetBottom works correctly. Make the viewport
11880 rect property internal so the treenodes can see it. When clicking
11881 on a node we need to ensure that its visible because it might just
11882 be partly visible when clicked.
11884 2005-10-20 Jackson Harper <jackson@ximian.com>
11886 * TreeNodeCollection.cs: Remove debug code.
11888 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
11890 * Datagrid.cs: Implements column sorting in Datagrid
11891 * DataGridColumnStyle.cs: Implements column sorting in Datagrid
11893 2005-10-20 Jackson Harper <jackson@ximian.com>
11895 * TreeNodeCollection.cs: Remove items properly. Update the correct
11896 area after removing them.
11898 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
11900 * Datagrid.cs: Should not call base.OnPaintBackground
11902 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
11904 * XplatUIX11.cs (GetMessage):
11905 - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
11906 window instead of client window
11907 - Now properly calculates NC_xBUTTONUP message coordinates
11908 - ScreenToMenu now properly calculates it's coordinates of whole
11909 window, since menus are in the whole window, not in the client
11911 - Added WholeToScreen coordinate translation method
11913 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
11915 * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
11916 want to return a message, loop back to the beginning of the function
11917 and grab the next real message to process instead.
11919 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
11921 * Splitter.cs: Properly set limits if no filler control is used
11923 2005-10-19 Jackson Harper <jackson@ximian.com>
11925 * ColorDialog.cs: Don't show the help button if it is not enabled
11926 instead of disabling it (this is what MS does). Don't create the
11927 panel until the dialog is run, otherwise the vars (such as
11928 ShowHelp) are not set yet.
11930 2005-10-19 Jackson Harper <jackson@ximian.com>
11932 * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
11933 are reduced when adding nodes.
11935 * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
11938 2005-10-19 Jackson Harper <jackson@ximian.com>
11940 * FolderBrowserDialog.cs: End editing our treeview so the window
11941 actually gets refreshed.
11943 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
11945 * Control.cs: Fixed logic flip on when to call OnPaintBackground.
11946 Obsoleted handling of WM_ERASEBKGND, now always draws our background
11949 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
11951 * MenuAPI.cs: Returns after Hidding window
11952 * XplatUIX11.cs: Added TODO found while debugging menu issues
11954 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
11956 * XplatUIX11.cs: Do not re-map the whole window when it's size
11957 becomes non-zero unless it's supposed to be actually visible
11959 2005-10-18 Jackson Harper <jackson@ximian.com>
11961 * TreeView.cs: We don't need to keep a count anymore.
11962 * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
11963 use the Grow method.
11965 2005-10-18 Jackson Harper <jackson@ximian.com>
11967 * TreeNodeCollection.cs: Insert is not supported on arrays, so
11968 implement it manually here.
11970 2005-10-18 Jackson Harper <jackson@ximian.com>
11972 * ImageList.cs: Dont kill the list when the colour depth is
11973 changed, just change the colour depth of all the images.
11974 - Same goes for setting the image size. Just resize them all
11975 instead of killing the list softly.
11977 2005-10-18 Jackson Harper <jackson@ximian.com>
11979 * Control.cs: Don't invalidate empty rectangles.
11981 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
11984 - Adds checked item to the Checked/Item lists (where empty before)
11985 - Do not add items to the Selected lists if they are already present
11987 - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
11988 - When deleting items make sure that we delete them for the Selected
11989 and Checked list also.
11991 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
11993 * Label.cs: Dispose objects no longer used
11994 * ThemeWin32Classic.cs: Dispose objects no longer used
11996 2005-10-18 Jackson Harper <jackson@ximian.com>
11998 * TabControl.cs: Don't refresh the whole control when the tabs are
11999 scrolled, we just need to refresh the tab area.
12001 2005-10-17 Jackson Harper <jackson@ximian.com>
12003 * XplatUIX11.cs: Compress code a little bit. Only calculate the
12004 after handle when we need it.
12006 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
12008 * Control.cs: When the parent size changes, recalculate anchor
12009 positions. Partial fix for #76462
12011 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
12013 * ThemeWin32Classic.cs: Make sure the picturebox has it's background
12014 drawn. Fixes #76462
12016 2005-10-17 Jackson Harper <jackson@ximian.com>
12018 * MonthCalendar.cs: Don't create the numeric up down until our
12019 handle is created. Otherwise our handle is created in the
12020 constructor and we don't know if we are a WS_CHILD or WS_POPUP
12023 2005-10-17 Jackson Harper <jackson@ximian.com>
12025 * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
12028 2005-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
12029 * TreeNode.cs : small logical fix (was using local var instead of field)
12031 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
12033 * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
12035 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
12037 * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
12039 2005-10-16 Peter Dennis Bartok <pbartok@novell.com>
12042 - Re-implemented anchoring code. My first version was really broken.
12043 This fixes bug #76033. Unlike the previous implementation we will
12044 no longer have round errors since all numbers are calculated from
12045 scratch every time. Removed various anchor-related obsolete vars.
12046 - InitLayout no longer causes layout event firing and layout to be
12049 2005-10-16 Jackson Harper <jackson@ximian.com>
12051 * Hwnd.cs: Compute invalid area correctly (fixes my last commit
12054 2005-10-16 Jackson Harper <jackson@ximian.com>
12056 * TabControl.cs: Remove debug code.
12058 2005-10-16 Jackson Harper <jackson@ximian.com>
12060 * XEventQueue.cs: Increase the default queue size (very simple
12061 apps needed to grow the queue).
12062 * Hwnd.cs: No finalizer so we don't need to suppress
12063 finalization. Compute the invalid area manually so a new rectangle
12064 does not newto be created.
12065 * ScrollableControl.cs: Don't set any params (otherwise visibility
12066 isn't set correctly).
12067 * MdiChildContext.cs: New constructor takes the mdi parent so it
12068 doesn't have to be computed and avoids a crash on windows. Draw
12069 the window icon properly, and allow the text to be seen.
12070 * Form.cs: Use new MdiChildContext constructor. Make sure the
12071 child context isn't null in wndproc.
12072 * TabControl.cs: Don't set focus, this is muddling keyboard
12073 behavoir. Expand the tab rows when a window size increase will
12074 allow extra tabs to be seen. Don't allow tabs smaller than the
12075 width of a window to be scrolled out of view.
12077 * TreeView.cs: Use measure string to calculate a nodes width, the
12078 width is cached and only updated when the text or the font is
12079 changed. Don't check for expand/collapse clicks on the first level
12080 nodes if root lines are disabled.
12082 2005-10-16 Ritvik Mayank <mritvik@novell.com>
12084 * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
12086 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
12088 * DataGridBoolColumn.cs: fixes warning
12090 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
12092 * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
12093 to match more to match more precisely the MS Net behavior
12095 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
12097 * Hwnd.cs: Added field to track if window is mapped
12099 - Unmap windows if they become 0-size, re-map when
12100 they are >0 again; fixes #76035
12101 - Re-set our error handler after initializing X11Desktop
12102 to override any error handlers Gtk or whatever was called
12105 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
12107 * CheckedListBox.cs: Removed unused vars
12108 * ListView.cs: Fixed signatures
12109 * RichTextBox.cs: Removed unused vars
12110 * TextBoxBase.cs: Removed unused vars
12111 * XplatUIWin32.cs: Removed unused vars
12112 * XplatUIX11.cs: Removed unused vars
12113 * XplatUI.cs: Updated version and date to latest published
12115 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
12117 * Cursor.cs: Added private .ctor to work around a bug in
12118 resourceset (Thanks to Geoff Norton for the help on this)
12119 * SplitterEventArgs.cs: Made fields accessible so we don't
12120 waste boatloads of objects and can reuse the same one
12122 * XplatUIWin32.cs(DrawReversibleLine): Now also considers
12123 any captions and borders when generating screen coordinates
12124 * Splitter.cs: Reimplemented control, now fully complete, uses
12125 rubberband drawing, supports and obeys all properties, has
12128 2005-10-13 Miguel de Icaza <miguel@novell.com>
12130 * Form.cs (Form): Setup default values for autoscale and
12131 autoscale_base_size; Make these instance variables, not static
12134 (OnLoad): on the first load, adjust the size of the form.
12136 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
12138 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added
12139 width argument to DrawReversibleRectangle()
12140 * XplatUIWin32.cs, XplatUIX11.cs:
12141 - Implemented width for DrawReversibleRectangle()
12142 - Added logic to DrawReversibleRectangle that recognizes a zero
12143 width or height and only draws a line in that situation
12145 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
12147 * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
12148 * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
12149 * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
12150 method (it uses our FosterParent window to get a graphics context)
12152 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
12154 * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground
12155 and SetWindowBackground methods
12157 - Setting proper ControlStyles
12158 - We no longer call XplatUI.SetWindowBackground and XplatUI.
12159 EraseWindowBackground, instead we draw the window background
12160 ourselves in PaintControlBackground. This behaviour is
12161 required to match MS, where, when OnPaintBackground is not
12162 called, the background is not drawn.
12163 - Removed unneeded Refresh() in set_Text
12164 * Hwnd.cs: Dropped the ErasePending support. No longer needed
12166 - Created DeriveStyles method to translate from CreateParams to
12167 FormBorderStyle and TitleStyle, also handles BorderStyle (which
12168 matches FormBorderStyle enum values)
12169 - Consolidated SetHwndStyles and CalculateWindowRect border/title
12170 style calculations into single DeriveStyles method
12171 - Fixed CreateWindow to (finally) use Gravity. This prevents X11
12172 from redrawing the whole window on any resize or expose.
12173 - Fixed CreateWindow usage of SetWindowValuemask. Before not
12174 all styles were applied to our whole/client window appropriately
12175 - Removed EraseWindowBackground() and SetWindowBackground() methods
12176 - Removed handling of WM_ERASEBKGND message from DefWndProc, we
12177 no longer clear/redraw the background through X
12178 - Removed handling of erase_pending bit, we have no use for it (or
12181 - Removed generation and handling of WM_ERASEBKGND message
12182 - Removed EraseWindowBackground() and SetWindowBackground() methods
12183 - Removed handling of hwnd.ErasePending flag
12185 - Removed EraseWindowBackground() and SetWindowBackground() methods
12186 - We no longer call EraseWindowBackground on PaintEventStart, we
12187 ignore the fErase flag, erasing is handled in Control in the
12189 * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
12190 LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
12191 TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs,
12192 CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs,
12193 DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs,
12194 TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
12195 DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
12197 2005-10-12 Jonathan Chambers <jonathan.chambers@ansys.com>
12199 * PropertyGrids.cs: Get sub properties
12200 * PropertyGridView.cs: Fix drawing code
12202 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
12204 * ListBox.cs: Fixes 76383
12206 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
12208 * DataGridTextBoxColumn.cs: Sets location and size before attachment
12209 * ThemeWin32Classic.cs: Fixes border drawing and calculations
12210 * DataGridDrawingLogic.cs: Fixes border drawing and calculations
12213 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
12215 * ComboBox.cs: Fixes border drawing
12217 2005-10-10 Miguel de Icaza <miguel@novell.com>
12219 * MimeIcon.cs: Ignore errors if the file can not be read.
12221 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
12223 * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
12224 - Fixed border calculations
12225 - Fixed horizontal scrolling in single column listboxes
12226 - Fixed drawing issues
12228 2005-10-10 Peter Dennis Bartok <pbartok@novell.com>
12230 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to
12231 FormBorderStyle enum
12232 * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added
12233 code to determine FormBorderStyles from CreateParams
12235 - Fixed bug where we'd set the wrong window styles if we were
12236 not creating an MDI window
12237 - Added call to XplatUI.SetBorderStyle when form borders are set
12238 * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
12240 - Removed obsolete edge style
12241 - Switched from BorderStyle to FormBorderStyle
12243 2005-10-10 Jackson Harper <jackson@ximian.com>
12245 * Form.cs: Use the property to get the window handle instead of
12246 accessing it directly. Prevents a null reference exception.
12248 2005-10-10 Jackson Harper <jackson@ximian.com>
12250 * TreeView.cs: Don't adjust the rect given to DrawString now that
12251 our libgdiplus draws correctly.
12253 2005-10-08 Jackson Harper <jackson@ximian.com>
12255 * TreeView.cs: Don't try to find the clicked on node if there are
12256 no nodes in the tree.
12258 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
12264 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
12266 * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
12267 ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
12269 Use ResPool for brushes and dispose System.Drawing objects that
12270 are not used anymore.
12272 2005-10-07 Jackson Harper <jackson@ximian.com>
12274 * MdiChildContext.cs: Use the new borders instead of drawing them
12277 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
12279 * Calling UpdateBounds after changing the window's BorderStyle
12280 since the style can change the ClientSize
12282 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12284 * Control.cs: Made PaintControlBackground virtual
12285 * Panel.cs: Overriding PaintControlBackground instead of using paint
12286 event; paint event method was interfering with 'real' users of the
12289 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
12291 * ThemeWin32Classic.cs: remove border drawing since it is handled
12292 by the base control class now and was causing double border drawing.
12294 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12296 * Panel.cs: Redraw our background on paint. Not a pretty solution,
12297 but it does seem to match MS behaviour. This fixes bug #75324
12299 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12301 * XplatUIX11.cs: A better DrawReversibleRectangle version, however
12302 somewhat hackish looking
12304 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12307 - We now accept Enter even if AcceptEnter is false, if the containing
12308 form does not have an AcceptButton configured (fixes bug #76355)
12309 - Calculations are now fixed to no longer use Width/Height, but
12310 ClientSize.Width/Height, since we now support borders (this was
12311 a result of fixing borders and therefore bug #76166)
12312 - We no longer show the horizontal scrollbar if TextBox.WordWrap is
12313 true (fixes bug #76354)
12315 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12318 - Defaulting BorderStyle and setting it in XplatUI when our window
12320 - Added enum check to InternalBorderStyle setter
12322 - Added drawing of window borders
12323 - Now properly calculates WM decorations offset for toplevel
12324 windows (fixes bug #74763)
12326 - Implemented BorderStyles for windows (we're letting win32 draw
12328 - Fixed the signature for SetWindowLong
12329 * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
12330 ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for
12332 * UpDownBase.cs: Remove drawing of borders, this is handled by
12333 the driver, outside the client area
12334 * ListView.cs: Removed bogus border calculations. The control should
12335 be oblivious to borders, since those are not part of the client
12337 * X11DesktopColors.cs: Commented out (currently) unneeded variables
12338 * ThemeWin32Classic.cs: Removed border calculations from ListView
12341 2005-10-06 Jackson Harper <jackson@ximian.com>
12343 * MdiChildContext.cs: Clear out the old virtual position remove
12344 all the unneeded calls to CreateGraphics.
12346 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12348 * TextControl.cs: Use proper color for highlighted text; fixes #76350
12350 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12353 - Added loading and setting of our new default icon
12354 - Only set icon if window is already created
12356 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
12359 - Do not explicitly set the foreground and background colors, to
12360 allow inheriting from parents (fixes #76302)
12361 - Use Control's InternalBorderStyle property to deal with borders
12363 2005-10-06 Jackson Harper <jackson@ximian.com>
12365 * MdiChildContext.cs: Use the new xplatui function to draw a
12368 2005-10-06 Jackson Harper <jackson@ximian.com>
12370 * Form.cs: Add the parent before creating the child context cause
12371 we need the parent when setting up the child.
12373 2005-10-06 Jackson Harper <jackson@ximian.com>
12375 * FolderBrowserDialog.cs: redo the tree population code so a
12376 second thread isn't used. Should be a lot faster and more stable
12379 2005-10-05 Jackson Harper <jackson@ximian.com>
12381 * TreeView.cs: There are no expand/collapse boxes if the node has
12384 2005-10-05 Jackson Harper <jackson@ximian.com>
12386 * X11DesktopColors.cs: Get menu colours for the gtk theme.
12388 2005-10-05 Alexander Olk <alex.olk@googlemail.com>
12390 * FileDialog.cs: Fix InitialDirectory
12392 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
12395 - Fixes changing between styles
12396 - Fixes simple mode
12397 - Fixes last item crashing when navigating with keyboard
12399 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
12401 * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
12403 2005-10-05 Jackson Harper <jackson@ximian.com>
12405 * TreeView.cs: If updating the root node do a full refresh.
12406 * TreeNode.cs: The root node should be expanded by default. Also
12407 added a utility prop to tell if we are the root node.
12408 * TreeNodeCollection.cs: Only refresh if the node we are being
12409 added to is expanded. Also added a comment on a potential
12412 2005-10-04 Peter Dennis Bartok <pbartok@novell.com>
12414 * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize()
12415 in dispose method. Fixes #76330
12417 2005-10-04 Jordi Mas i Hernandez <jordi@ximian.com>
12419 * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
12421 - Implements vertical and horizontal scrolling using XplatUI
12422 - Fixes keyboard navagation
12423 - Fixes EnsureVisible
12425 - Handles and draws focus properly
12428 2005-10-04 Kornél Pál <kornelpal@hotmail.com>
12430 * ImageList.cs: Use upper case initials for internal fields. ImageStream:
12431 Create handle. NET_2_0: Destroy handle when value is null.
12433 2005-10-03 Jackson Harper <jackson@ximian.com>
12435 * ScrollBar.cs: My last scrollbar patch was broken. This is a
12436 revert and a new patch to prevent the thumb from refreshing so
12439 2005-10-02 Jackson Harper <jackson@ximian.com>
12441 * ScrollBar.cs: Don't update position if it hasn't actually
12442 changed. This occurs when you hold down the increment/decrement
12443 buttons and the thumb gets to the max/min.
12445 2005-10-01 Jackson Harper <jackson@ximian.com>
12448 * MdiChildContext.cs:
12449 * MdiClient.cs: Implement ActiveMdiChild in Form.
12451 2005-10-01 Jordi Mas i Hernandez <jordi@ximian.com>
12453 * ComboBox.cs: Include ComboBoxEdit flag for the edit item
12455 2005-10-01 Peter Dennis Bartok <pbartok@novell.com>
12457 * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
12460 2005-09-30 Jackson Harper <jackson@ximian.com>
12462 * ListBox.cs: Don't do a full refresh unless some data has
12465 2005-09-30 Jackson Harper <jackson@ximian.com>
12467 * TreeView.cs: Make sure that the checkboxes size is factored in
12468 even when not visible.
12470 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
12472 * FileDialog.cs: Fix Jordi's build break
12474 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
12477 - Use standard the Windows colours for the combobox as espected
12478 - Dispose objects that use resouces when no longer need them
12480 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
12482 * X11DesktopColors.cs: Initial incomplete implementation
12483 * XplatUIX11.cs: Added call to initialize X11DesktopColors
12485 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
12488 - Switched Theme color names to match the names defined in
12489 System.Drawing.KnownColors. Life's hard enough, no need to make
12491 - Added setters to all theme color properties so themes can set
12492 their color schemes. The setters also propagate the color changes
12493 to System.Drawing.KnownColors via reflection
12494 * ControlPaint.cs, Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
12495 ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
12496 DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
12497 use the new, more logical theme color names
12498 * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
12500 * ThemeWin32Classic.cs:
12501 - Removed code to set the old classic Windows colors. Instead it
12502 now relies on the colors returned by System.Drawing.KnownColors
12503 which will be either modern static colors (Unix) or colors
12504 read from the user's configuration (Win32)
12505 - Updated to use the new, more logical theme color names
12506 - Switched DataGrid drawing code to use only Theme colors instead of
12507 a mix of System.Drawing.KnownColors and Theme colors
12508 - DrawFrameControl(): Removed code that fills the button area, the
12509 fill would overwrite any previous fill done by a control. This
12511 - Added DrawReversibleRectangle() stub
12512 * ScrollableControl.cs: Set visible state to false when scrollbars
12513 are removed (pdn fix)
12514 * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added
12515 DrawReversibleRectangle() method to allow drawing primitive
12517 * XplatUIX11.cs: Implemented DrawReversibleRectangle()
12519 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12521 * ImageList.cs: Add(Icon): Create handle.
12523 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
12526 * ThemeWin32Classic.cs:
12527 - Fixes detail mode
12529 - Issues with drawing
12531 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12533 * ImageList.cs: Moved RecreateHandle back to ImageList as event
12534 source has to be the ImageList.
12536 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12538 * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
12540 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12542 * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
12544 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12546 * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
12548 2005-09-29 Jonathan Chambers <jonathan.chambers@ansys.com>
12549 * GridItem.cs: Fixed TODOs
12550 * GridItemCollection.cs: Added ICollection interface
12552 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
12554 * ImageList.cs: Resize icons when needed.
12556 2005-09-29 Jordi Mas i Hernandez <jordi@ximian.com>
12559 - Fixes GetBounds and returns on screen rects
12561 - Fixes vertical and horzintal scrolling of items
12562 * ThemeWin32Classic.cs:
12565 2005-09-29 Raja R Harinath <harinath@gmail.com>
12567 * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
12569 2005-09-29 Kornél Pál <kornelpal@hotmail.com>
12571 * ImageList.cs: Added comments about handle creation. Moved Handle,
12572 HandleCreated and OnRecreateHandle implementations to ImageCollection.
12573 Handle is created in Add methods.
12575 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
12577 * DataGridDrawingLogic.cs:
12578 - Takes rows into account on Colum calculations
12579 - Returns the column when clickig
12581 - Fixes default HitTestInfo values
12582 - Fixes HitTestInfo.ToString
12583 - Fixes ResetBackColor
12585 2005-09-28 Jackson Harper <jackson@ximian.com>
12587 * MdiChildContext.cs: Obey rules for fixed sized windows (no
12588 sizing or cursor changes). Also added some temp code to draw the
12589 titlebars text (Makes dev a little easier).
12591 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
12593 * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
12595 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
12597 * ListBox.cs: Fixes bug 76253
12599 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
12601 * ImageList.cs: Added comments about the current implementation. Added
12602 ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
12603 Format32bppArgb to preserve transparency and can use Graphics.FromImage
12604 while using the specified ColorDepth. ReduceColorDepth uses unsafe code
12605 with Bitmap.LockBits for better performance. Revised the whole file to
12606 match MS.NET behaviour and provide better performance. Non-public
12607 interface members are calling public members even when they throw
12608 NotSupportedException for better maintainability. Moved ColorDepth,
12609 ImageSize, ImageStream and TransparentColor implementations to
12610 ImageCollection for better performance as these properties are not used
12612 * ImageListStreamer.cs: Added a new internal constructor that takes an
12613 ImageList.ImageCollection and serializes Images based on
12614 ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
12615 match ImageList property name.
12617 2005-09-28 Kazuki Oikawa <kazuki@panicode.com>
12619 * ListBox.cs: Fixes IndexFromPoint for last item
12621 2005-09-27 Jackson Harper <jackson@ximian.com>
12623 * Form.cs: Set the position of new mdi children correctly.
12625 2005-09-27 Jackson Harper <jackson@ximian.com>
12627 * MdiClient.cs: New mdi children need to be added to the back of
12628 the controls collection so the zorder is set correctly. Also add a
12629 count of all the child windows that have been created.
12631 2005-09-27 Jackson Harper <jackson@ximian.com>
12633 * Form.cs (CreateParams): Setup MDI forms correctly.
12635 2005-09-27 Jackson Harper <jackson@ximian.com>
12637 * MdiChildContext.cs:
12638 * MonthCalendar.cs:
12644 * ScrollableControl.cs:
12645 * ComboBox.cs: Add implicit controls using the new implict control
12646 functionality in ControlCollection. Also try to block multiple
12647 control add in a suspend/resume layout to save some cycles.
12649 2005-09-27 Jackson Harper <jackson@ximian.com>
12651 * Control.cs: Add functionality to the controls collection to add
12652 'implicit controls' these are controls that are created by the
12653 containing control but should not be exposed to the user. Such as
12654 scrollbars in the treeview.
12655 * Form.cs: The list var of the ControlsCollection is no longer
12656 available because of the potential of implicit controls getting
12657 ignored by someone accessing the list directly.
12659 2005-09-26 Peter Dennis Bartok <pbartok@novell.com>
12661 * Control.cs: Fixed SetChildIndex; it no longer causes a child to
12662 loose it's parent. (Fixed bug introduced in r49103 when we added
12663 setting the child parent to null on Remove)
12665 2005-09-26 Gert Driesen <drieseng@users.sourceforge.net>
12667 * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
12668 * Splitter.cs: Added missing attributes for BorderStyle property.
12669 * TextBoxBase.cs: Marked Calculate* methods internal.
12670 * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
12673 2005-09-26 Jordi Mas i Hernandez <jordi@ximian.com>
12675 * ListBox.cs: Fixes navigation to the last item in multicolumn lists
12677 2005-09-25 Jackson Harper <jackson@ximian.com>
12679 * TreeView.cs: Update the node bounds correctly regardless of
12680 whether the node is visible.
12682 2005-09-25 Jackson Harper <jackson@ximian.com>
12684 * ImageList.cs: Don't dispose the image after it is added to the
12685 image list. Only reformat images that need to be resized.
12687 2005-09-25 Jackson Harper <jackson@ximian.com>
12689 * ImageList.cs: Don't set the format when changing the image.
12691 2005-09-25 Jackson Harper <jackson@ximian.com>
12693 * TreeView.cs: We can't just assume the node has a font. Use the
12694 treeviews font if no node font is available.
12696 2005-09-25 Jackson Harper <jackson@ximian.com>
12698 * TreeView.cs: Allow the scrollbars to be reset with negative
12700 - Don't add scrollbars to negative sized windows.
12702 2005-09-23 Jackson Harper <jackson@ximian.com>
12704 * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
12705 old Mono.Posix. Also remove some stray code that shouldn't have
12708 2005-09-23 Jackson Harper <jackson@ximian.com>
12710 * TreeView.cs: Attempt at proper sizing of the horizontal
12711 scrollbar. Also don't resize the scrollbars unless they are
12714 2005-09-23 Jackson Harper <jackson@ximian.com>
12716 * TreeView.cs: We don't need to expand the invalid area when the
12717 selection changes, as this is all drawn in the node's bounding
12718 box. The area needs to be expanded (previous typo was contracting
12719 it) when the focus rect moves.
12721 2005-09-23 Jackson Harper <jackson@ximian.com>
12723 * TreeView.cs: Display the selection box under the correct
12724 circumstances. We were rendering white text with no selection box
12727 2005-09-23 Peter Dennis Bartok <pbartok@novell.com>
12729 * TextControl.cs(Split): Now updates selection start/end if it points
12730 into a line that's being split. Fixes a FIXME and bug #75258
12732 2005-09-23 Jackson Harper <jackson@ximian.com>
12735 * ListControl.cs: Don't use the path when retrieving binding
12736 managers from the binding context. My bat sense tells me that the
12737 path is only used on insertion.
12739 2005-09-22 Jackson Harper <jackson@ximian.com>
12741 * Splitter.cs: Set the cursor an easier way. (Thanks peter).
12743 2005-09-22 Jackson Harper <jackson@ximian.com>
12745 * Splitter.cs: There are special cursors used for splitting.
12746 * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
12748 2005-09-22 Jackson Harper <jackson@ximian.com>
12750 * Splitter.cs: Change the cursor appropriately when the splitter
12751 is moused over, so the user actually knows there is a splitter
12754 2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
12756 * Label.cs : Fix ToString method to give same output as MS.NET
12758 2005-09-22 Jackson Harper <jackson@ximian.com>
12760 * TreeView.cs: Create the scrollbars when the handle is created
12761 and add them right away, just make them invisble. Also account for
12762 the window being shrunk vertically to the point that the vert
12763 scrollbar needs to be added.
12764 - Remove some 0.5 adjustments to get around anti aliasing issues.
12766 2005-09-22 Jordi Mas i Hernandez <jordi@ximian.com>
12768 * MainMenu.cs: Fixes default value
12769 * MenuItem.cs: Fixes default value
12771 2005-09-22 Kazuki Oikawa <kazuki@panicode.com>
12773 * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
12775 2005-09-21 Jackson Harper <jackson@ximian.com>
12777 * Control.cs: Don't try to set the border style on the window if
12778 it hasn't been created. When the window is created the border
12779 style will be used.
12781 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
12783 * Control.cs (Update): Don't call XplatUI if we don't have a
12786 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
12788 * ContainerControl.cs: Instead of throwing an exception, print
12789 a one-time warning about Validate not being implemented
12790 * XplatUIWin32.cs: Removed debug output
12792 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
12794 * Control.cs: Only set XplatUI background if we expect the windowing
12795 system to handle the background. This stops controls that draw their
12796 own background from flickering
12798 * XplatUIX11.cs: Support custom visuals and colormaps for window
12799 creation. This allows, amongst other things, using MWF X11 windows
12802 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
12804 * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
12805 CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
12806 GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
12807 SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
12808 TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
12809 IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
12810 KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
12811 RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
12812 ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
12813 ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
12814 GridColumnStylesCollection.cs,
12815 IDataGridColumnStyleEditingNotificationService.cs,
12816 PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
12817 MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
12818 GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs,
12819 TreeNodeCollection.cs, AmbientProperties.cs,
12820 RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
12821 DataObject.cs, ErrorProvider.cs, Splitter.cs,
12822 DataGridLineStyle.cs, Shortcut.cs, Control.cs,
12823 FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
12824 BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
12825 IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
12826 FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
12827 IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
12828 NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
12829 PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
12830 SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
12831 FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
12832 DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
12833 ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
12834 RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
12835 MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
12836 ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
12837 CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
12838 MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
12839 NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
12840 ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
12841 SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
12842 Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
12843 RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
12844 DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
12845 ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
12846 PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
12847 DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
12848 ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
12849 AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
12850 RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
12851 CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
12852 SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
12853 Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
12854 SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
12855 ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
12856 TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
12858 2005-09-21 Jackson Harper <jackson@ximian.com>
12860 * TreeNode.cs: Call Before/After Expand not Collapse when
12863 2005-09-20 Jackson Harper <jackson@ximian.com>
12865 * XplatUIX11.cs: Use the more hand looking hand (in most themes).
12867 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
12871 - Fixes proper storing of subitems
12872 - Fixes not updated items
12874 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
12876 * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
12877 things if our window handle isn't created yet. Also disabled
12878 debug for TextBoxBase
12880 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
12882 * MenuAPI.cs: Remove filtering of events to allow menu usage
12884 2005-09-20 Miguel de Icaza <miguel@novell.com>
12886 * Cursor.cs: Allow null to be passed to Cursor.Current.
12888 2005-09-20 Alexander Olk <alex.olk@googlemail.com>
12890 * ThemeWin32Classic.cs:
12891 - Change some private methods/fields to protected virtual so that
12892 they can be accessed and overriden in derived classes
12893 - First refactoring of some methods. Derived themes now don't
12894 need to duplicate the complete code from ThemeWin32Classic
12896 - Added nice StatusBar
12897 - Derive from ThemeWin32Classic and not Theme
12898 - Removed duplicate ThemeWin32Classic code
12900 2005-09-20 Miguel de Icaza <miguel@novell.com>
12902 * Control.cs (ControlCollection.Add): If the value null is passed
12903 the control is ignored.
12905 Optimize this loop.
12907 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
12909 * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
12910 PostQuitMessage state.
12911 * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
12913 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
12915 * Application.cs: Our constructor will never get called, move
12916 initialization to fields; fixes bug #75933
12918 2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
12921 - Allow files to be selected properly using file name
12923 - Add ability to change diretory (absolute / relative)
12924 using file name combo box.
12926 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
12929 - Fixes Multicolumn listboxes item wrong calculations
12930 - Allows to click when only one item is in the listbox
12931 - Fixes crash when no items using keyboard navigation
12933 2005-09-16 Alexander Olk <alex.olk@googlemail.com>
12935 * ComboBox.cs: Reverted almost everything from the latest patch which
12938 2005-09-16 Kazuki Oikawa <kazuki@panicode.com>
12941 - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
12943 - When DropDownStyle is Simple, it does not show scrollbar
12944 to the last item of the list.
12945 - When DropDownStyle is Simple, it crashed when the list was
12946 scrolled down with the down cursor key.
12947 - Fixed a bug that when DropDownStyle is DropDownList, the
12948 selected item was not shown.
12949 - The position of the selected item was not preserved when
12950 the next dropdown happened.
12951 * ThemeWin32Classic.cs:
12952 - Items were wrapped at the right end.
12953 * CheckedListBox.cs:
12956 - Items should be fully shown.
12957 - When resizing and vertical scrollbar disappeared, the item
12958 of index 0 should be on the top of the list.
12959 - GetItemRectangle should consider the size of ver. scrollbar
12961 - SizingGrip area should not be allocated when it is not
12963 - Now it reflects MinWidth of the containing panel and
12964 fixed a crash that happens when its width becomes so small.
12966 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
12968 * CheckedListBox.cs: Fixes bug 76028
12969 * ListBox.cs: Fixes bug 76028
12971 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
12973 * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
12974 * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
12976 2005-09-12 Jordi Mas i Hernandez <jordi@ximian.com>
12978 * XplatUIX11.cs: fixes System.NullReferenceException in some situations
12980 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
12982 * IRootGridEntry.cs: Changed namespace to PropertyGridInternal
12984 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
12986 * IRootGridEntry.cs: Added
12987 * PropertyGridCommands.cs: Added
12988 * PropertiesTab.cs: Added missing methods and property
12989 * PropertyGridView.cs: Made class internal
12990 * PropertyGridTextBox.cs: Made class internal
12992 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
12994 * MimeIcon.cs: Try to check some other environment variables
12995 if "DESKTOP_SESSION" returns "default"
12997 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
12999 * ThemeNice.cs: Corrected background colors (e.g. menus)
13000 * ColorDialog.cs: Use correct background colors for controls
13002 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
13004 * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
13006 2005-09-08 Peter Dennis Bartok <pbartok@novell.com>
13008 * RichTextBox.cs: Added initial implementation
13009 * lang.cs: Removed. Was accidentally checked in long time ago
13010 * TODO: Removed. Contents were obsolete
13012 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
13014 * PropertiesTab.cs : Added
13016 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
13018 * PropertyGrid.cs : Update
13019 * PropertyGridView.cs : Update
13020 * System.Windows.Forms.resx : Added images and strings
13022 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
13024 * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
13026 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
13028 * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
13029 a busy loop right after the Ungrab the X11 display is otherwise
13032 2005-09-06 Jordi Mas i Hernandez <jordi@ximian.com>
13034 * ThemeWin32Classic.cs: Optimise the use of clipping
13036 2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com>
13038 * DataGrid.cs: fixes recursion bug
13040 2005-09-03 Alexander Olk <alex.olk@googlemail.com>
13043 - Draw RadioButton and CheckBox Buttons with DrawButtonBase
13046 2005-09-02 Alexander Olk <alex.olk@googlemail.com>
13048 * ThemeNice.cs: Draw nice ProgressBars
13050 2005-09-01 Miguel de Icaza <miguel@novell.com>
13052 * VScrollBar.cs: Another buglet found by Aaron's tool.
13054 * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
13057 2005-08-30 Alexander Olk <alex.olk@googlemail.com>
13060 - Added nicer menu drawing
13064 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
13066 * CreateParams.cs (ToString): Made output match MS
13067 * Control.cs (Text): Don't set Text or Focus via XplatUI unless
13068 handle is already created (to avoid forcing window creation)
13069 * XplatUIX11.cs: Set window text to caption after creating window,
13070 in case Text was set before window was created
13071 * Form.cs: Use this.Text instead of a static string as caption
13073 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
13075 * NotifyIcon.cs: Don't set the window to visible; this screws
13076 up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
13077 OnPaint without a bitmap)
13078 * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't
13079 happen very often anyway; we could add the check to the WM_PAINT
13080 event generation code
13082 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
13084 * NotifyIcon.cs: Fill the icon area with a background color, to
13085 avoid 'residue' when transparent icons are drawn
13087 - Handle whole_window == client_window when destroying windows
13088 - SystrayAdd(): Set client_window to whole_window value to
13089 get mouse and other events passed to NotifyIcon
13091 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
13093 * Form.cs: Set proper default for Opacity property
13095 - ShowSystray(): Don't bother creating telling the OS
13096 about the systray item if no icon is provided
13097 - Now handles WM_NCPAINT message to deal with whole/client window
13099 - Create window as visible to not get caught by Expose optimization
13100 * Hwnd.cs: Removed debug message
13101 * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
13102 StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched
13103 PaintEventStart/End to use new client argument
13105 - Commented out debug messages
13106 - Switched PaintEventStart/End to use new client argument
13107 * XplatUI.cs: Added client window bool to PaintEventStart()/
13108 PaintEventEnd() calls, to support drawing in non-client areas
13109 * XplatUIDriver.cs:
13110 - Added client window bool to PaintEventStart()/PaintEventEnd()
13111 calls, to support drawing in non-client areas
13112 - Added conditional compile to allow using MWF BeginInvoke
13115 - Added some conditional debug output
13116 - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
13117 whole/client window split
13118 - Implemented handling of client argument to PaintEventStart()/End()
13120 - Throw exception if BeginInvoke() is called and the window handle
13121 or one of the window's parent handles is not created
13122 - Added conditional compile to allow using MWF BeginInvoke on
13124 - get_Parent(): Only sets parent if handle is created. This avoids
13125 forcing window handle creation when parent is set.
13126 - Now fires Layout and Parent changed events in proper order
13127 - Switched to use Handle instead of window.Handle for Z-Order setting,
13128 the get_Parent() patch above causes us to possibly get null for 'window'
13129 - Implemented handling of client argument to PaintEventStart()/End()
13130 - Now reports back to windows that WM_SETCURSOR was handled (to avoid
13132 - Now sends a Refresh() to all child windows when Refresh() is called
13134 2005-08-29 Peter Dennis Bartok <pbartok@novell.com>
13136 * Form.cs: Added (non-functional) Opacity property
13137 * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
13139 2005-08-29 Alexander Olk <xenomorph2@onlinehome.de>
13140 * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
13141 use export MONO_THEME=nice to activate it.
13142 Currently supported controls:
13146 - TabControl (TabAlignment.Top only, other will follow)
13147 * ThemeEngine.cs: Add theme nice
13148 * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
13151 2005-08-25 Jonathan Chambers <jonathan.chambers@ansys.com>
13153 * Splitter.cs: Resize docked control and its neighbor.
13155 2005-08-24 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
13156 -- Making Windows with Menus layout correctly --
13157 * Form.cs : The first leg of the fix
13158 Menu setter - adjust Client Size as needed to make space for the menu
13159 SetClientSizeCore - doesn't call base version to be able to pass the
13160 menu handle to XplatUI.CalculateWindowRect
13161 * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
13162 * XplatUIX11.cs: The critical second leg of the fix
13163 GetWindowPos needs to use a recalculated client_rect
13164 so that resizing the window doesn't break layout of child controls.
13165 Also a more complete rule to avoid X Server roundtrips in SetWindowPos
13166 Lots of \t\n killed
13168 2005-08-23 Peter Dennis Bartok <pbartok@novell.com>
13170 * Label.cs: Now properly recalculates width and height on Font and Text
13171 changes if AutoSize is set
13173 2005-08-19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
13174 * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
13176 2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com>
13178 * ImageList.cs: Makes ToString method compatible with MS
13180 2005-08-18 Jordi Mas i Hernandez <jordi@ximian.com>
13182 * MenuAPI.cs: fixes bug 75716
13184 2005-08-11 Umadevi S <sumadevi@novell.com>
13185 * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
13187 2005-08-11 Umadevi S <sumadevi@novell.com>
13188 * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
13190 2005-08-10 Umadevi S <sumadevi@novell.com>
13191 * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
13193 2005-08-07 Jordi Mas i Hernandez <jordi@ximian.com>
13195 * Menu.cs: fixes bug 75700
13196 * MenuAPI.cs: fixes navigation issues
13198 2005-08-09 Umadevi S <sumadevi@novell.com>
13199 * CheckedListBox.cs - simple fix for GetItemChecked.
13201 2005-08-08 Jordi Mas i Hernandez <jordi@ximian.com>
13203 * ComboBox.cs: Serveral fixes
13204 * ListBox.cs: Serveral fixes
13206 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
13208 * ComboBox.cs: Fixes FindString methods and GetItemHeight
13209 * ListBox.cs: Fixes FindString methods
13211 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
13213 * DataGrid.cs: fixes bugs exposed by new tests
13215 2005-08-04 Peter Dennis Bartok <pbartok@novell.com>
13217 * Mime.cs: Compile Mono assembly references only if compiling
13218 with Mono (Allows to build with VS.Net again)
13220 2005-07-28 Marek Safar <marek.safar@seznam.cz>
13222 * Control.cs (PaintControlBackground): Draw background image
13224 (CheckForIllegalCrossThreadCalls): Stubbed.
13226 * Form.cs (OnCreateControl): Center when should be centered.
13228 * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
13230 2005-07-19 Jordi Mas i Hernandez <jordi@ximian.com>
13232 * Binding.cs: Binding to properties should be case unsensitive
13234 2005-07-18 vlindos@nucleusys.com
13236 * DataGrid.cs: fixes setmember order
13238 2005-07-07 Alexander Olk <xenomorph2@onlinehome.de>
13240 * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
13241 * FileDialog.cs: FileDialog is now resizable and uses the new
13244 2005-07-06 Jordi Mas i Hernandez <jordi@ximian.com>
13246 * DataGridTextBoxColumn.cs: default value
13247 * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
13248 * GridTableStylesCollection.cs: fixes checking MappingName
13249 * DataGridDrawingLogic.cs: fixes drawing logic issues
13250 * DataSourceHelper.cs: rewritten to make compatible with more data sources
13251 * DataGrid.cs: fixes
13253 2005-07-06 Alexander Olk <xenomorph2@onlinehome.de>
13255 * MimeGenerated.cs: Use case sensitive comparer for
13256 NameValueCollections
13258 2005-07-01 Jordi Mas i Hernandez <jordi@ximian.com>
13260 * DataGridTextBoxColumn.cs: bug fixes, code refactoring
13261 * ThemeWin32Classic.cs: bug fixes, code refactoring
13262 * DataGridDrawingLogic.cs: bug fixes, code refactoring
13263 * DataGrid.cs: bug fixes, code refactoring
13264 * DataGridTextBox.cs: bug fixes, code refactoring
13265 * DataGridColumnStyle.cs: bug fixes, code refactoring
13266 * Theme.cs: bug fixes, code refactoring
13268 2005-07-01 Peter Bartok <pbartok@novell.com>
13270 * TextControl.cs: Quick fix for the reported crash on ColorDialog
13271 and other text box usage
13273 2005-07-01 Jackson Harper <jackson@ximian.com>
13275 * TabControl.cs: Make sure the bottom of the tab covers the pages
13278 2005-06-30 Peter Bartok <pbartok@novell.com>
13280 * Form.cs (ShowDialog): Assign owner of the dialog
13281 * TextBoxBase.cs: Always refresh caret size when deleting, caret
13282 might have been moved to a tag with different height
13284 2005-06-30 Jackson Harper <jackson@ximian.com>
13286 * Form.cs: Don't create an infinite loop when setting focus
13287 * MenuItem.cs: Don't dirty the parents if we don't have any
13289 2005-06-29 Ben Maurer <bmaurer@ximian.com>
13291 * LibSupport.cs: Rename
13293 2005-06-29 Peter Bartok <pbartok@novell.com>
13295 * TextBoxBase.cs: Re-align caret after deleting a character
13297 - DeleteChars(): Ensure that tag covers the provided position
13298 - StreamLine(): Drop reference for dropped tag
13300 2005-06-29 Peter Bartok <pbartok@novell.com>
13303 - Selections now work properly, anchoring at the initial location
13304 and properly extending in either direction (SetSelectionToCaret(),
13305 SetSelectionStart() and SetSelectionEnd())
13306 - No longer redraws the whole control on selection change, now
13307 calculates delta between previous and new selection and only
13308 invalidates/redraws that area
13309 - Fixed FindPos() math off-by-one errors
13310 - Changed DeleteChars() to verify the provided tag covers the
13311 provided position, selections may have a tag that doesn't cover
13312 the position if the selection is at a tag border
13313 - Fixed off-by-one errors in DeleteChars()
13314 - Added missing streamlining check in DeleteChars() to remove
13316 - Implemented Invalidate() method, now properly calculates exposures
13317 between two given lines/positions
13318 - Implemented SetSelection()
13319 - Obsoleted and removed FixupSelection()
13320 - Improved RecalculateDocument() logic, removing code duplication
13322 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
13324 * LibSupport.cs: changes to match different input/output arguments.
13326 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
13328 * LibSupport.cs: added libsupport.so init routine.
13330 2005-06-29 Jordi Mas i Hernandez <jordi@ximian.com>
13332 * ControlBindingsCollection.cs
13333 - Throws an exception on null datasource when adding
13334 - Checks for duplicated bindings when adding
13336 2005-06-28 Jackson Harper <jackson@ximian.com>
13338 * TreeView.cs (OnKeyDown): Support left and right properly
13339 (navigates as well as expanding and collapsing.
13340 - Add support for Multiply, this expands all the selected nodes
13342 - Fix some tabbing.
13344 2005-06-28 Jackson Harper <jackson@ximian.com>
13346 * TreeView.cs: Implement keyboard navigation, currently supports,
13347 LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
13348 support for toggling checkboxes with the space bar.
13350 2005-06-28 Jackson Harper <jackson@ximian.com>
13352 * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
13355 2005-06-28 Jackson Harper <jackson@ximian.com>
13357 * TreeView.cs: Add missing event.
13359 2005-06-27 Peter Bartok <pbartok@novell.com>
13362 - Made line ending size configurable (now allows for counting
13363 lineendings as \n or \r\n)
13364 - Added margin to viewport to keep caret visible on right side
13365 - Fixed translation routines for line/pos to documentpos to consider
13366 cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
13367 - Fixed some line-endings to be unix style
13368 - Fixed Document.FormatText to perform it's calculations 1-based
13369 - Added descriptions for a few methods that might otherwise get
13371 - Added NOTE section with some basic conventions to remember at
13372 the top of the file
13373 - Major fixup for RichTextBox selection drawing:
13374 * Fixed crashes when multiple tags on a single line were selected
13375 * fixed selection box drawing not overlaying text
13376 * fixed bogus offset calculation for tags not starting at index 1
13377 * Switched behaviour from using multiple Substrings of a
13378 StringBuilder.ToString() to using multiple
13379 StringBuilder.ToString(start, length) statements, hoping this is
13380 faster (kept original version commented out in the code, in case
13381 original version was faster)
13382 * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if
13384 * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
13387 2005-06-27 Jackson Harper <jackson@ximian.com>
13389 * TabControl.cs: Move to the left and right with the arrow
13390 keys. These keys don't cycle beyond first and last like
13391 tab. Refresh all the tabs when scrolling them to the left or
13394 2005-06-27 Jackson Harper <jackson@ximian.com>
13397 - ToString: Added method
13398 - CreateParams: Remove TODO and comment
13399 - OnKeyDown: Cycle through bounds properly.
13400 - SelectedIndex: Scroll to the right or left if we need to
13401 display the newly selected tab.
13403 2005-06-23 Jackson Harper <jackson@ximian.com>
13405 * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
13408 2005-06-23 Jackson Harper <jackson@ximian.com>
13410 * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
13411 CTRL-SHIFT-TAB, and HOME, END are there any others?
13413 2005-06-23 Jackson Harper <jackson@ximian.com>
13415 * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
13417 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
13419 * DataGridTextBoxColumn.cs: fixes and enhancements
13420 * ThemeWin32Classic.cs: fixes and enhancements
13421 * DataGridBoolColumn.cs: fixes and enhancements
13422 * DataGridDrawingLogic.cs: fixes and enhancements
13423 * CurrencyManager.cs: fixes and enhancements
13424 * DataGrid.cs: fixes and enhancements
13425 * DataGridColumnStyle.cs: fixes and enhancements
13427 2005-06-22 Jackson Harper <jackson@ximian.com>
13429 * TabControl.cs: Add some missing methods that just call into the
13430 base. Make the TabPageCollection's IList interface behave in the
13431 same manner as the MS implementation.
13433 2005-06-22 Peter Bartok <pbartok@novell.com>
13435 * TextControl.cs: Added sanity check
13437 - Fixed wrapping behaviour, don't set wrap on single line controls
13438 (this fixes the breakage of colordialog introduced in an earlier
13440 - Added rudimentary support for autoscrolling right-aligned controls
13441 (still needs fixing, also, center alignment scroll is missing)
13443 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
13445 * ScrollBar.cs: Fixes thumbpos on Maximum values
13447 2005-06-21 Jonathan Chambers <jonathan.chambers@ansys.com>
13449 * PropertyGridView.cs: Pass context information to UITypeEditors
13451 2005-06-21 Peter Bartok <pbartok@novell.com>
13454 - Now calling PositionCaret with absolute space coordinates
13455 - Enabled vertical scrolling
13456 - Better tracking of scrollbar changes, tied into WidthChange
13458 - Improved cursor tracking
13459 - Removed debug output
13461 - PositionCaret coordinates are now works in absolute space, not
13463 - Improved tracking of document size
13464 - Added events for width and height changes
13466 2005-06-21 Peter Bartok <pbartok@novell.com>
13468 * Form.cs: Set focus to active control when form is activated
13470 - Added word-wrap functionality to RecalculateLine()
13471 - Added some short function descriptions for VS.Net to aid in
13472 writing dependent controls
13473 - Added Caret property, returning the current coords of the caret
13474 - Added ViewPortWidth and ViewPortHeight properties
13475 - Added Wrap property
13476 - Added CaretMoved event
13477 - Removed some old debug code
13478 - Split() can now create soft splits
13479 - Added PreviousTag()/NextTag() to allow walking "tag-lists"
13480 - Added method to format existing text
13481 - Fixed size/alignment calculations to use viewport
13482 - RecalculateDocument now can handle changing line-numbers while
13486 - Added some wrap logic, we don't wrap if alignment is not left
13487 - Added casts for scrollbar var, base class switched types to
13488 also support RichTextBoxA
13489 - Implemented handling of scrollbar visibility flags
13492 - Switched scrollbars type to RichTextBoxScrollBars to support
13494 - Added tracking of canvas width/height
13495 - Switched scrollbars to be not selectable (to keep focus on text)
13496 - Added central CalculateDocument() method to handle all redraw
13498 - Added ReadOnly support
13499 - Added WordWrap support
13500 - Fixed handling of Enter key (we now treat it as a DialogKey)
13501 - Fixed caret positioning when h or v scroll is not zero
13502 - Fixed placing/generation of vertical scrollbar
13503 - Added CalculateScrollBars() method to allow updating scrollbar
13504 limits and visibility
13505 - Fixed handling of horizontal scroll
13506 - Added handling of vertical scroll
13507 - Implemented auto-'jump' when caret moves to close to a left or
13508 right border and there is text to be scrolled into view (currently
13509 there's the potential for a stack overflow, until a bug in
13510 scrollbar is fixed)
13512 2005-06-21 Geoff Norton <gnorton@customerdna.com>
13514 * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
13516 2005-06-19 Alexander Olk <xenomorph2@onlinehome.de>
13520 - return application/x-zerosize for files with size zero
13521 (if no extension pattern matches).
13522 - check matches collection for strings too.
13523 - return only the first mime type if the name value
13524 collection has more than one mime type.
13526 2005-06-18 Jonathan Chambers <jonathan.chambers@ansys.com>
13528 * PropertyGrid.cs: Cleaned up some TODOs
13529 * PropertyGridView.cs: Added support for UITypeEditors
13531 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
13533 * DataGrid.cs: clears cached value
13535 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
13537 * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
13538 * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
13539 * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
13540 * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
13542 2005-06-16 Jordi Mas i Hernandez <jordi@ximian.com>
13544 * ThemeWin32Classic.cs: fixes colour
13546 2005-06-15 Peter Bartok <pbartok@novell.com>
13548 * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
13549 * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
13550 * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
13551 * Control.cs: Added some MWFCategory and MWFDescription attributes
13552 * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
13554 2005-06-15 Alexander Olk <xenomorph2@onlinehome.de>
13556 * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
13559 2005-06-14 Jordi Mas i Hernandez <jordi@ximian.com>
13561 * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
13562 * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
13563 * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
13564 * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
13565 * DataGrid.cs: default datagrid settings for Default Styles, fixes
13566 * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
13568 2005-06-13 Jackson Harper <jackson@ximian.com>
13570 * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
13571 isn't printed when the user enables dropping. (X11 does accept
13574 2005-06-13 Jackson Harper <jackson@ximian.com>
13576 * TreeView.cs: Remove some TODOS.
13578 2005-06-13 Jackson Harper <jackson@ximian.com>
13580 * Form.cs: Hook into the mdi framework.
13581 * MdiClient.cs: Use the base control collections add method so
13582 parents get setup correctly. Set the default back colour and dock
13584 * MdiChildContext.cs: New class, this bad actor handles an
13585 instance of an MDI window. Right now there is only basic
13586 support. You can drag, close, and resize windows. Minimize and
13587 Maximize are partially implemented.
13589 2005-06-13 Jackson Harper <jackson@ximian.com>
13591 * XplatUIX11.cs: Mash numbers together properly, otherwise we get
13592 freaky when both vals are negative. NOTE: There are probably other
13593 places in XplatUIX11 that this needs to be done.
13595 2005-06-13 Jordi Mas i Hernandez <jordi@ximian.com>
13597 * DataGrid.cs: implement missing methods, move KeyboardNavigation
13598 * DataGridColumnStyle.cs: fixes signature
13600 2005-06-12 Jackson Harper <jackson@ximian.com>
13602 * XplatUIX11.cs: Use sizing cursors similar to the ones on
13605 2005-06-11 Jackson Harper <jackson@ximian.com>
13607 * StatusBarPanel.cs: Signature cleanups. Implement
13610 2005-06-10 Jordi Mas i Hernandez <jordi@ximian.com>
13612 * DataGridTextBoxColumn.cs: Honors aligment
13613 * GridColumnStylesCollection.cs: Contains is case unsensitive
13614 * GridTableStylesCollection.cs: several fixes
13615 * DataGridTableStyle.cs: default column creation
13616 * DataGridDrawingLogic.cs: fixes
13617 * CurrencyManager.cs: ListName property
13618 * DataGrid.cs: multiple styles support
13619 * DataGridColumnStyle.cs: fixes
13622 2005-06-10 Peter Bartok <pbartok@novell.com>
13624 * Control.cs(Select): Moved SetFocus call to avoid potential
13625 loops if controls change the active control when getting focus
13626 * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
13627 the up/down buttons
13629 2005-06-10 Matthias Felgner <matthiasf@voelcker.ocm>
13631 * ImageListConverter.cs: Implemented
13633 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
13635 * MonthCalendar.cs: Wired in NumericUpDown control for year
13637 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
13639 * MonthCalendar.cs: Removed MonoTodo attributes on Click and
13640 DoubleClick events, since they are not meant to be fired.
13642 2005-06-09 Peter Bartok <pbartok@novell.com>
13644 * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
13645 Jonathan's standalone controls into MWF, implemented missing
13646 events, attributes and methods; added xxxAccessible classes
13647 * AccessibleObject.cs: Made fields internal so other classes
13648 can change them if needed
13650 2005-06-09 Jonathan Gilbert <2a5gjx302@sneakemail.com>
13652 * UpDownBase.cs: Complete implementation
13653 * NumericUpDown.cs: Complete implementation
13654 * DomainUpDown.cs: Complete implementation
13656 2005-06-09 Jordi Mas i Hernandez <jordi@ximian.com>
13658 * DataGridTextBoxColumn.cs: drawing fixes
13659 * DataGridCell.cs: fixes ToString method to match MSNet
13660 * DataGridTableStyle.cs: fixes
13661 * DataGridBoolColumn.cs: fixes, drawing
13662 * DataGridDrawingLogic.cs: fixes, new methods
13663 * DataGridTextBox.cs: Keyboard and fixes
13665 - Keyboard navigation
13667 - Row selection (single, multiple, deletion, etc)
13670 2005-06-07 Jackson Harper <jackson@ximian.com>
13672 * ThemeWin32Classic.cs: Clear the background area when drawing
13675 2005-06-06 Peter Bartok <pbartok@novell.com>
13677 * ImageListStreamer.cs: Fixed signature for GetData
13678 * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
13680 - Added missing ChildAccessibleObject class
13681 - Added missing OnXXXFocus overrides, switched to using those
13682 instead of the event handler
13684 - Added Parent property for ControlAccessibleObject
13687 - Added ResetBindings()
13688 * ListBindingConverter.cs: Implemented some methods
13689 * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
13690 * ImageList.cs: Implemented basic handle scheme, removed TODOs
13691 * ContainerControl.cs: Fixed signature, now subscribing to the
13692 ControlRemoved event instead of overriding the handler, LAMESPEC
13693 * CurrencyManager.cs: Added missing attribute
13694 * MonthCalendar.cs: Added missing properties
13696 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
13698 * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
13700 2005-06-06 Gaurav Vaish and Ankit Jain
13702 * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
13703 * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
13705 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
13707 * Control.cs: fixes CreateParams Width / Height.
13709 2005-06-05 Peter Bartok <pbartok@novell.com>
13711 * Win32DnD.cs: Removed compilation warnings
13713 2005-06-05 Peter Bartok <pbartok@novell.com>
13715 * Control.cs (CreateParams): Since we don't know if one of the
13716 properties we use is overridden, lets make sure if we fail accessing
13717 we continue with a backup plan
13719 2005-06-05 Peter Bartok <pbartok@novell.com>
13722 - Removed debug output
13723 - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
13725 - Plugged resource leak
13726 * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
13729 2005-06-05 Peter Bartok <pbartok@novell.com>
13731 * XplatUIWin32.cs: Removed DnD code
13732 * Win32DnD.cs: Implemented drop source and drop target functionality
13734 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
13736 * UpDownBase.cs: remove duplicate addition of event, enable some code
13737 that was commented out.
13738 * NumericUpDown.cs: added missing attributes and Hexadecimal property.
13739 Validate input when a key is pressed. It works fine now for every
13740 combination of Hexadecimal. Only missing some drawing love when sharing
13741 space with other controls.
13743 2005-06-04 Peter Bartok <pbartok@novell.com>
13746 - We need to pass a window for DragDrop, so enable callback events
13747 - Added DnD callback events when being a DragSource
13748 * XplatUI.cs (StartDrag): Added window handle argument
13749 * XplatUIDriver.cs (StartDrag): Added window handle argument
13750 * QueryContinueDragEventArgs: Made fields internally accessible so
13751 drivers can set them
13752 * GiveFeedbackEventArgs: Made fields internally accessible so drivers
13755 2005-06-03 Jordi Mas i Hernandez <jordi@ximian.com>
13757 * DataGridTextBoxColumn.cs: column text editing
13758 * DataGridTableStyle.cs: Respect columns styles created by the user
13759 * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
13760 * DataGridBoolColumn.cs: bool column editing
13761 * DataGrid.cs: fixes to scrolling, properties, etc
13762 * DataGridTextBox.cs: handle keyboard
13763 * DataGridColumnStyle.cs: fixes
13765 2005-06-02 Jackson Harper <jackson@ximian.com>
13767 * ImageListStreamer.cs: Somewhat broken implementation of
13768 GetObjectData. The RLE needs some work to match MS properly.
13770 2005-06-02 Jackson Harper <jackson@ximian.com>
13772 * X11Dnd.cs: Attempting to keep at least one file in MWF
13775 2005-06-02 Peter Bartok <pbartok@novell.com>
13777 * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
13780 2005-06-02 Peter Bartok <pbartok@novell.com>
13782 * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
13783 * XplatUI.cs: Added DoDragDrop() method
13784 * XplatUIDriver.cs: Added DoDragDrop() method
13786 2005-06-02 Jackson Harper <jackson@ximian.com>
13788 * Splitter.cs: Implement BorderStyle.
13790 2005-06-02 Jackson Harper <jackson@ximian.com>
13792 * XplatUIX11.cs: Tie into the X11Dnd subsystem.
13793 * X11Dnd.cs: New file. A subsystem that handles drag and drop on
13796 2005-06-02 Peter Bartok <pbartok@novell.com>
13799 - Added Data setter
13800 - Fixed broken insertion code for SetData, now also
13801 overwrites any existing entry of the same format name
13802 * Hwnd.cs: Added list of pointers that automatically gets
13803 freed when the window is disposed
13804 * XplatUI.cs: Call driver initialization method when loading
13807 - OnDragLeave takes EventArgs, not DragEventArgs
13808 - Added setting of WS_EX_ACCEPTFILES style when dropping is
13810 - Forces style update when drop state changes
13811 * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
13812 not perfect since we cannot (yet) call the IDataObject.GetData()
13813 method, we keep getting 0x80004005 error, dunno why)
13815 2005-06-02 Peter Bartok <pbartok@novell.com>
13817 * DragEventArgs.cs: Make fields internal so we can cache the
13818 object and re-set the fields from XplatUI
13820 2005-06-02 Jackson Harper <jackson@ximian.com>
13822 * Control.cs: Add some internal methods so the DnD subsystem can
13823 raise DnD events. Also call into the driver when AllowDrop is set.
13825 * XplatUIDriver.cs: New method for setting whether or not a window
13826 is allowed to accept drag and drop messages.
13828 2005-06-01 Jordi Mas i Hernandez <jordi@ximian.com>
13830 * ScrollBar.cs: Make sure that values sent in Scroll events
13831 are always between Maximum and Minimum.
13833 2005-06-01 Marek Safar <marek.safar@seznam.cz>
13835 * Menu.cs: Call MenuChanged when menuitem visibility has been
13837 * MenuItem.cs: Rebuild menu when item is (not) visible.
13838 * MainMenu.cs: MainMenu has special MenuChanged.
13839 * Theme.cs: Caption and FrameBorderSize are not fixed.
13840 * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
13841 * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
13843 * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
13844 * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
13846 2005-05-30 Jackson Harper <jackson@ximian.com>
13848 * DataFormat.cs: We can't statically initialize this stuff because
13849 it calls into the xplatui and could create a loop. So we lazy init
13852 2005-05-28 Jackson Harper <jackson@ximian.com>
13854 * Control.cs: Proper implementation of Product(Name/Version).
13856 2005-05-27 Jackson Harper <jackson@ximian.com>
13858 * DataObject.cs: Dont crash if no data is found.
13860 2005-05-26 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
13861 * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
13862 as per status page, guessing it should be set to true
13864 2005-05-26 Jordi Mas i Hernandez <jordi@ximian.com>
13866 * DataGridTextBoxColumn.cs: Draws text and basic text formatting
13867 * DataGridTableStyle.cs: set proper formatting text, def header text
13868 * ThemeWin32Classic.cs: new themable paramaters
13869 * DataGridBoolColumn.cs: paint check box, get data, fixes
13870 * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
13871 * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
13872 * DataGridColumnStyle.cs: fixes
13873 * Theme.cs: new themable paramaters
13875 2005-05-26 Peter Bartok <pbartok@novell.com>
13877 * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
13879 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
13880 * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
13882 2005-05-24 Peter Bartok <pbartok@novell.com>
13884 * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
13885 Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
13886 Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
13887 FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
13888 NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
13889 ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
13890 DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
13891 AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
13892 DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
13893 StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
13894 missing attributes, etc
13895 * DataGridPreferredColumnWidthTypeConverter.cs: Added
13897 2005-05-24 Peter Bartok <pbartok@novell.com>
13899 * Help.cs: Added, implemented trivial functions, throws up MessageBox
13900 when user tries to get help
13901 * DataObject.cs, DataFormats.cs, LinkArea.cs,
13902 SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
13903 to suppress warnings
13904 * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
13905 avoid unreachable code warning
13907 2005-05-20 Peter Bartok <pbartok@novell.com>
13909 * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
13911 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
13913 * DataGridTextBoxColumn.cs: Basic painting methods
13914 * DataGridTableStyle.cs: Set table style in the column
13915 * ThemeWin32Classic.cs: Use Theme for colors
13916 * DataGridDrawingLogic.cs: Implement more drawing
13917 * DataGrid.cs: drawing, theming, enhacements, fixes
13918 * DataGridColumnStyle.cs: fixes, drawing
13919 * Theme.cs: theming for Datagrid
13921 2005-05-20 Peter Bartok <pbartok@novell.com>
13923 * Cursor.cs: Implemented GetObjectData() method
13925 2005-05-20 Peter Bartok <pbartok@novell.com>
13927 * Cursors.cs: Added setting of cursor name
13929 - Implemented constructors
13930 - Implemented Draw and DrawStretched
13931 - Implemented Current property
13932 - Implemented == and != operators
13933 - Implemented Dispose()
13934 - Implemented ToString
13935 - Added missing attributes
13937 - Added missing reset for OverrideCursor when DoEvents is called
13938 - Fixed creation of cursor, logic was wrong
13940 - Added missing reset for OverrideCursor when DoEvents is called
13941 - Fixed creation of cursor, bit arrays were swapped
13942 * Clipboard.cs: Removed obsolete MonoTODO attribute
13944 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
13946 * ComboBox.cs: fixes OnSelectedItemChanged
13947 * ControlBindingsCollection.cs: fixes item range check
13949 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
13952 - Calc preferred height properly
13953 - Implement missing properties
13955 * NumericUpDown.cs: Implement missing events
13957 2005-05-19 Jackson Harper <jackson@ximian.com>
13959 * TabControl.cs: New method that resizes the tab pages before
13960 redrawing them. This as needed as the control is double buffered
13961 and sizing will not be recalculated unless ResizeTabPages is
13963 * TabPage.cs: Set base.Text instead of Text in the constructor so
13964 that UpdateOwner does not get called. Use the new Redraw method of
13965 TabControl instead of Refresh so the sizing is recalculated.
13966 * ThemeWin32Classic.cs: Draw the text for button tabs.
13968 2005-05-19 Jackson Harper <jackson@ximian.com>
13970 * Control.cs: Paint control background images. Fix typo where
13971 PaintControlBackground was not getting called correctly.
13973 2005-05-19 Peter Bartok <pbartok@novell.com>
13975 * ScrollableControl.cs (DisplayRectangle): Undid my last change until
13976 I can investigate, apparently I broke FileDialog
13978 2005-05-19 Marek Safar <marek.safar@seznam.cz>
13980 * AxHost.cs: Some simple properties.
13981 * Control.cs: window must be accessible after ctor.
13982 * Form.cs: Added TransparencyKey property.
13983 * TextBoxBase.cs: Implemented Clear. Text property can be null.
13984 * XplatUIWin32.cs: SetBorderStyle implemented.
13986 2005-05-18 Peter Bartok <pbartok@novell.com>
13988 * DataObject.cs: Entries are not global but particular to the
13989 DataObject, now it behaves that way
13990 * XplatUIWin32.cs: Implemented Clipboard methods
13991 * Clipboard.cs: Implemented
13992 * ScrollableControl.cs (DisplayRectangle): Fixed calculation
13993 * XplatUIOSX.cs: Updated to final clipboard prototypes
13994 * XplatUIX11.cs: Implemented Clipboard methods
13995 * XplatUIDriver.cs: Updated to final clipboard prototypes
13996 * XplatUIStructs.cs:
13997 - Added BITMAPINFOHEADER struct
13998 - Added ClipboardFormats enum
14000 - Added ClipboardStruct
14001 - Added Atom enum items for clipboard types
14002 - Fixed atom types for Selection event structures
14004 - Added internal properties and methods for drivers to enumerate
14006 - Switched initialization method to allow drivers to assign their
14007 own IDs even for the MS predefined clipboard IDs
14008 * XplatUI.cs: Updated to final clipboard interface
14010 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
14011 * PropertyGridView.cs: Fixed compiler warnings.
14013 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
14014 * PropertyGrid.cs: Added some event calls
14015 * PropertyGridView.cs: Change drawing code to use double buffering
14016 * PropertyGridTextBox.cs: Changed Text property name
14017 * GridItem.cs: Added Bounds property.
14018 * GridEntry.cs: Added Bounds property.
14020 2005-05-17 Lluis Sanchez Gual <lluis@novell.com>
14022 * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
14023 since GetType() may not return the correct type if the object is
14026 2005-05-17 Jordi Mas i Hernandez <jordi@ximian.com>
14028 * TreeNodeCollection.cs: fixes get/set item ranges
14030 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
14032 * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
14034 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
14036 * ComboBox.cs: Fix item range comparation
14037 * ListView.cs: Fix item range comparation
14039 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
14042 - Clear example panel when OnPaint is called
14043 - Better solution for displaying the example panel text
14044 - Select default indexes in the ListBoxes
14046 2005-05-11 Geoff Norton <gnorton@customerdna.com>
14048 * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926
14050 2005-05-11 Peter Bartok <pbartok@novell.com>
14052 * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
14053 * SelectionRangeConverter.cs: Implemented
14054 * PropertyGrid.cs: Fixed attribute value
14056 - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
14057 - Added Sebastien Pouliot's CAS Stack Propagation fixes
14058 * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
14059 that's common to all drivers. First methods to go there are
14060 Sebastien Pouliot's CAS Stack Propagation helper methods
14061 * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
14062 Sebastien Pouliot for CAS Stack Propagation
14064 2005-05-11 Geoff Norton <gnorton@customerdna.com>
14067 XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
14069 2005-05-12 Jordi Mas i Hernandez <jordi@ximian.com>
14071 * DataGridTextBoxColumn.cs: fixed some members
14072 * GridColumnStylesCollection.cs: indexed column is case insensitive
14073 * DataGridTableStyle.cs: fixes
14074 * ThemeWin32Classic.cs: add new theme parameter
14075 * Theme.cs: add new theme parameter
14076 * DataGridDrawingLogic.cs: Datagrid's drawing logic
14077 * DataGrid.cs: fixes, new internal properties, etc.
14078 * DataGridColumnStyle.cs: allows to set grid value
14081 2005-05-10 Peter Bartok <pbartok@novell.com>
14083 * AccessibleObject.cs:
14084 - Removed MonoTODO attribute on help, method is correct
14085 - Fixed Bounds property
14086 * AxHost.cs: Moved MonoTODO
14087 * ButtonBase.cs: Now setting AccessibleObject properties
14088 * RadioButton.cs: Setting proper AccessibleObject role
14089 * CheckBox.cs: Setting proper AccessibleObject role
14090 * ControlBindingsCollection.cs: Added properties, methods and attributes
14091 * DataFormats.cs: Fixed awkward internal API, and changed to enable
14092 userdefined DataFormats.Format items as well
14093 * ListControl.cs: Removed data_member from the public eye
14094 * OpenFileDialog.cs:
14095 - Made class sealed
14096 - Added missing attributes
14097 * SaveFileDialog.cs: Added missing attributes
14098 * ImageListStreamer.cs: Fixed code that caused warnings
14099 * LinkLabel.cs: Removed unreachable code
14100 * TreeView.cs: Fixed code that caused warnings
14101 * PropertyGridView.cs: Fixed code that caused warnings
14102 * GridColumnStylesCollection.cs: Added missing attributes
14103 * GridTableStylesCollection: Added missing attribute
14104 * PropertyManager: Added .ctor
14105 * SecurityIDType: Added
14106 * DataObject.cs: Implemented class
14107 * LinkArea.cs: Added missing attribute
14109 2005-05-11 Jordi Mas i Hernandez <jordi@ximian.com>
14111 * RadioButton.cs: call base method to allow to fire OnClick event
14112 * UpDownBase.cs: OnMouseUp call base method
14113 * CheckedListBox.cs: call base method before returning
14114 * TrackBar.cs: call base method before returning
14117 2005-05-10 Peter Bartok <pbartok@novell.com>
14119 * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
14122 2005-05-10 Peter Bartok <pbartok@novell.com>
14124 * DataFormats.cs: Implemented
14125 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
14126 XplatUIX11.cs: Added Clipboard APIs
14127 * XplatUIWin32.cs: Implemented Clipboard APIs
14128 * FolderBrowserDialog.cs: Added missing event, attributes
14130 2005-05-10 Jordi Mas i Hernandez <jordi@ximian.com>
14132 * CheckBox.cs: call base method to allow to fire OnClick event
14134 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
14136 * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
14138 2005-05-06 Peter Bartok <pbartok@novell.com>
14140 * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
14141 * Screen.cs: Implemented
14142 * HelpNavigator.cs: Added
14143 * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
14145 * HelpProvider.cs: Implemented all we can do until we have a CHM
14146 help library (which means that "What's This" does work now)
14148 2005-05-06 Jackson Harper <jackson@ximian.com>
14150 * XplatUIX11.cs: Fix waking up the main loop.
14152 2005-05-05 Peter Bartok <pbartok@novell.com>
14154 * XplatUI.cs: Updated revision
14155 * Form.cs: Removed enless loop
14156 * GroupBox.cs (OnPaint): Added call to base.OnPaint()
14157 * Label.cs (OnPaint): Added call to base.OnPaint()
14158 * ToolTip.cs: Made ToolTipWindow reusable for other controls
14159 * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
14160 * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
14162 * ButtonBase.cs: Moved base.OnPaint() call to end of method
14163 * ThemeWin32Classic.cs: Replaced references to ToolTip with references
14164 to ToolTip.ToolTipWindow for drawing and size methods; this allows
14165 reuse of ToolTipWindow by other controls
14166 * SizeGrip.cs: Moved base.OnPaint() call to end of method
14167 * XplatUIX11.cs: Now clipping drawing area (experimental)
14168 * PictureBox.cs: Moved base.OnPaint() call to end of method
14169 * Theme.cs: Fixed ToolTip abstracts to match new format
14170 * ErrorProvider.cs: Implemented
14172 2005-05-05 Jordi Mas i Hernandez <jordi@ximian.com>
14174 * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
14178 - Implements LinkBehavior
14179 - Fixes many issues
14181 2005-05-03 Jackson Harper <jackson@ximian.com>
14183 * ListView.cs: Calculate the scrollbar positioning on resize and
14184 paint, so they get put in the correct place.
14186 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
14188 * ColorDialogs.cs: The small color panels are now handled by
14189 SmallColorControl. This fixes drawing of the focus rectangle
14190 and adds a 3D border.
14192 2005-05-03 Peter Bartok <pbartok@novell.com>
14194 * Control.cs: Modified version of Jonathan Chamber's fix for
14197 2005-05-03 Jackson Harper <jackson@ximian.com>
14199 * ListView.cs: Remove redraw variable. Control now handles whether
14200 or not a redraw needs to be done, and will only raise the paint
14201 event if redrawing is needed.
14203 2005-05-03 Jackson Harper <jackson@ximian.com>
14205 * Splitter.cs: No decorations for the splitter form. Cache the
14208 2005-05-03 Jackson Harper <jackson@ximian.com>
14210 * TreeView.cs: Use dashed lines to connect nodes. Use the
14211 ControlPaint method for drawing the focus rect instead of doing
14214 2005-05-02 Peter Bartok <pbartok@novell.com>
14216 * LinkLabel.cs: Fixed the fixes from r43566 and 43521
14218 2005-04-29 Jackson Harper <jackson@ximian.com>
14220 * ThemeWin32Classic.cs: Don't clear the GC that will clear the
14221 entire image buffer. Just clear the clipping rectangle.
14223 2005-04-29 Jackson Harper <jackson@ximian.com>
14225 * ThemeWin32Classic.cs: Don't draw list view items that are
14226 outside the clipping rectangle.
14228 2005-04-29 Jordi Mas i Hernandez <jordi@ximian.com>
14230 * ListBox.cs: added horizontal item scroll
14232 2005-04-29 Jackson Harper <jackson@ximian.com>
14234 * ThemeWin32Classic.cs: Remove some old debug code that was
14235 causing flicker with the new double buffering code.
14237 2005-04-29 John BouAntoun <jba-mono@optusnet.com.au>
14239 * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
14240 behave like combobox and comboboxlist (still not sure if this is
14243 2005-04-28 Jackson Harper <jackson@ximian.com>
14245 * ThemeWin32Classic.cs: Don't fill the middle of progress
14246 bars. This fills areas outside of the clip bounds that don't need
14249 2005-04-28 Jackson Harper <jackson@ximian.com>
14251 * Control.cs: Don't expose functionality to touch the image buffers.
14253 * ListView.cs: We do not need to (and no longer can) manipulate
14254 the image buffers directly. All of this is handled by Control.
14256 2005-04-28 Peter Bartok <pbartok@novell.com>
14258 * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
14259 RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
14260 RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
14262 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
14265 - Adjust control's height for non-simple comboboxes (bug fix)
14267 * MenuAPI.cs: remove unused var
14268 * ScrollBar.cs: remove unsed var
14270 * ListBox.cs: unselect items when clearing
14272 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
14274 * ListControl.cs: honors OnPositionChanged and default Selected Item
14275 * ListBox.cs: unselect items when clearing
14277 2005-04-27 Jackson Harper <jackson@ximian.com>
14279 * X11Keyboard.cs: Initialize a default keyboard and give a warning
14280 if a "correct" keyboard is not found. This will make us not crash,
14281 but might give some users bad keyboard layouts...seems to be the
14282 same thing rewind does.
14284 2005-04-27 Jackson Harper <jackson@ximian.com>
14286 * BindingManagerBase.cs: Attach the current/position changed
14287 handlers to their respective events.
14289 2005-04-27 Jackson Harper <jackson@ximian.com>
14291 * Control.cs: Make sure that the first WM_PAINT does a full draw,
14293 * ThemeWin32Classic.cs: Don't fill the background for picture
14294 boxes. This could overright user drawing.
14295 * ComboBox.cs: Just fill the clipping rect not the entire client
14296 rect when drawing the background. This prevents pieces of the
14297 image buffer from getting overwritten and is theoretically faster.
14299 2005-04-26 Jordi Mas i Hernandez <jordi@ximian.com>
14301 * ComboBox.cs: Databinding support fixes, fire missing events
14302 * ListControl.cs: implement missing methods and properties, fixes
14303 * ThemeWin32Classic.cs: Databiding support on Drawing
14304 * CheckedListBox.cs: Databinding support fixes, fire missing events
14305 * ListBox.cs: Databinding support fixes, fire missing events
14307 2005-04-25 Peter Bartok <pbartok@novell.com>
14309 * LinkLabel.cs: Length of LinkArea is not allowed to be negative
14311 2005-04-25 Jackson Harper <jackson@ximian.com>
14313 * TreeView.cs: Use the horizontal scrollbars height not width when
14314 determining how much of the client area is available.
14316 2005-04-25 Jackson Harper <jackson@ximian.com>
14318 * Control.cs: Double buffering is handled differently now. As per
14319 the spec, the extra buffer is created in the WM_PAINT message and
14320 passed down to the control's drawing code.
14328 * PropertyGridView.cs:
14340 * DateTimePicker.cs:
14342 * TreeView.cs: Update to new double buffering system.
14343 * MonthCalendar.cs: Uncomment block, as Capture is now
14344 working. Update to new double buffering
14345 * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
14346 * PaintEventArgs.cs: New internal method allows us to set the
14347 graphics object. This is used for double buffering.
14348 * ThemeWin32Classic.cs: Give the picture box drawing code a clip
14349 rectangle. The internal paint_area var has been removed from
14350 StatusBar. The clipping rect should be used instead.
14351 * Theme.cs: Give the PictureBox drawing method a clipping rect.
14352 * TabPage.cs: The RefreshTabs method was removed, so just call the
14353 tab controls Refresh method now.
14354 * TabControl.cs: Update to new double buffering. Make sure the
14355 handle is created before sizing the tab pages, otherwise we will
14356 get stuck in a loop.
14358 2005-04-24 Borja Sanchez Zamorano <borsanza@gmail.com>
14360 * LinkLabel.cs: Fix typo, bug #74719; patch
14361 from Borja Sanchez Zamorano
14363 2005-04-22 Jackson Harper <jackson@ximian.com>
14365 * TreeNode.cs: Implement Handle stuff.
14366 * TreeView.cs: Utility methods so nodes can get/lookup by handle.
14368 2005-04-22 Jordi Mas i Hernandez <jordi@ximian.com>
14370 * DataGridTextBoxColumn.cs: call base constructors, fixes
14371 * GridColumnStylesCollection.cs: missing events, methods, and functionality
14372 * GridTableStylesCollection.cs: fixes, check duplicate mapping names
14373 * DataGridTableStyle.cs: implements create default column styles
14374 * DataGridBoolColumn.cs: which types can handle
14375 * DataGrid.cs: missing methods, fixes, new functionality
14376 * DataGridColumnStyle.cs: fixes
14378 2005-04-20 Alexander Olk <xenomorph2@onlinehome.de>
14379 * FolderBrowserDialog.cs:
14380 - Use a thread to fill the TreeView
14381 - Adjusted some sizes
14383 2005-04-19 Peter Bartok <pbartok@novell.com>
14385 * LinkLabel.cs: (Re-)create the pieces when setting the Text
14386 property. Fixes #74360.
14388 2005-04-19 Jackson Harper <jackson@ximian.com>
14390 * XEventQueue.cs: Lock when getting the lockqueue size.
14391 * PictureBox.cs: Call base OnPaint
14393 2005-04-19 Peter Bartok <pbartok@novell.com>
14395 * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
14396 messages were no longer being processed (this broke BeginInvoke)
14399 2005-04-18 Jackson Harper <jackson@ximian.com>
14401 * TreeView.cs: buglet that caused node images to get drawn
14402 regardless of whether or not they were in the clipping rectangle.
14404 2005-04-18 Jackson Harper <jackson@ximian.com>
14406 * CurrencyManager.cs: There are four rules for GetItemProperties:
14407 - If the type is an array use the element type of the array
14408 - If the type is a typed list, use the type
14409 - If the list contains an Item property that is not an object, use
14411 - use the first element of the list if there are any elements in
14414 2005-04-17 Jackson Harper <jackson@ximian.oom>
14416 * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
14417 click. This handles offsets for scrolling properly and reduces
14418 memory. Also fixed GetNode to not offset now that TopNode works
14420 * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
14422 2005-04-17 Jackson Harper <jackson@ximian.com>
14424 * CursorConverter.cs: Initial implementation.
14426 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
14428 * ListControl.cs: work towards complex data binding support on ListControl
14429 * CurrencyManager.cs: work towards complex data binding support on ListControl
14430 * ListBox.cs: work towards complex data binding support on ListControl
14433 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
14435 * GridTableStylesCollection.cs: fixes name and constructor
14436 * DataGridTableStyle.cs: fixes
14437 * DataGridBoolColumn.cs: fixes names and constructors
14438 * DataGrid.cs: define methods and properties. Some init implementations
14439 * DataGridCell.cs: define methods and properties. Some init implementations
14440 * GridTablesFactory.cs: Define methods and properties
14442 2005-04-15 Geoff Norton <gnorton@customerdna.com>
14444 * XplatUIOSX.cs: Handle proper mouse tracking even if the current
14445 graphics port changes. We still want the coordinates in global screen
14448 2005-04-14 Jackson Harper <jackson@ximian.com>
14450 * TreeView.cs: Handle clicks when plus minus is disabled. Don't
14451 check plus minus or checkbox clicks unless those features are enabled.
14453 2005-04-14 Jackson Harper <jackson@ximian.com>
14455 * TreeView.cs: Add methods for setting the top and bottom visible
14456 nodes. TreeNode::EnsureVisible uses these methods.
14457 * TreeNode.cs: Implement EnsureVisible
14459 2005-04-13 Jordi Mas i Hernandez <jordi@ximian.com>
14461 * Form.cs: Pospone menu assignation if the window has not been created yet
14462 * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
14465 2005-04-12 Jackson Harper <jackson@ximian.com>
14467 * TreeView.cs: Set the TopNode properly when scrolling
14468 occurs. This has the added benifit of reducing the amount of
14469 walking that needs to be done when drawing. Also removed an old
14471 * OpenTreeNodeEnumerator.cs: Fix moving backwards.
14473 2005-04-11 Jordi Mas i Hernandez <jordi@ximian.com>
14475 * Timer.cs: fixes interval setting when the timer is already enabled
14477 2005-04-10 Alexander Olk <xenomorph2@onlinehome.de>
14479 * FolderBrowserDialog.cs: First approach
14481 2005-04-09 Peter Bartok <pbartok@novell.com>
14483 * FolderBrowserDialog: Added
14485 2005-04-07 Jordi Mas i Hernandez <jordi@ximian.com>
14487 * LinkLabel.cs: move drawing code into the theme
14488 * ThemeWin32Classic.cs: drawing code and painting background bugfix
14489 * Theme.cs: define DrawLinkLabel method
14491 2005-04-05 Jackson Harper <jackson@ximian.com>
14493 * BindingContext.cs: Use weak references so these bad actors don't
14494 stay alive longer then they need to.
14496 2005-04-05 Jackson Harper <jackson@ximian.com>
14498 * ListControl.cs: Basic implementation of complex databinding.
14500 * ListBox.cs: Add calls to ListControl databinding methods.
14502 2005-04-05 Alexander Olk <xenomorph2@onlinehome.de>
14505 - Don't change PopupButtonState to Normal when the
14506 PopupButton gets pressed several times.
14507 - Renamed ButtonPanel to PopupButtonPanel
14509 2005-04-05 Jordi Mas i Hernandez <jordi@ximian.com>
14511 * ColorDialog.cs: Use cached objects instead of creating them
14512 * LinkLabel.cs: Use cached objects instead of creating them
14513 * Splitter.cs: Use cached objects instead of creating them
14514 * FontDialog.cs: Use cached objects instead of creating them
14515 * PropertyGridView.cs: Use cached objects instead of creating them
14516 * MessageBox.cs: Use cached objects instead of creating them
14517 * FileDialog.cs: Use cached objects instead of creating them
14518 * ThemeWin32Classic.cs: Use cached objects instead of creating them
14519 * TreeView.cs: Use cached objects instead of creating them
14521 2005-04-04 Jordi Mas i Hernandez <jordi@ximian.com>
14523 * Control.cs: use Equals to compare the font since no == op
14524 * ScrollBar.cs: use Equals to compare the font since no == op
14526 2005-04-04 Alexander Olk <xenomorph2@onlinehome.de>
14528 * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
14530 2005-04-01 Jackson Harper <jackson@ximian.com>
14532 * Binding.cs: Implement IsBinding.
14533 * BindingManagerBase.cs:
14534 * PropertyManager.cs:
14535 * CurrencyManager.cs: Add IsSuspended property.
14537 2005-04-01 Jackson Harper <jackson@ximian.com>
14539 * Binding.cs: Had some IsAssignableFrom calls backwards.
14541 2005-04-01 Jackson Harper <jackson@ximian.com>
14543 * Binding.cs: Handle null data members when pulling data.
14544 * PropertyManager.cs: Handle the data member being a property that
14547 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
14549 * DataGridTextBoxColumn.cs: fixes signature
14550 * DataGrid.cs: calls right constructor
14552 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
14554 * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
14555 * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
14556 * GridTableStylesCollection.cs: implements GridTableStylesCollection
14557 * DataGridTableStyle.cs: implements DataGridTableStyle
14558 * DataGridBoolColumn.cs: implements DataGridBoolColumn
14559 * DataGridTextBox.cs: implements DataGridTextBox
14560 * DataGridColumnStyle.cs: implements DataGridColumnStyle
14562 2005-03-31 Alexander Olk <xenomorph2@onlinehome.de>
14564 * FileDialog.cs: Added simple PopupButton class for ButtonPanel
14566 2005-03-29 Peter Bartok <pbartok@novell.com>
14569 - Properly implemented CompanyName property
14570 - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
14571 returns a path that includes CompanyName, ProductName and
14572 Version (fixes bug #70330)
14574 2005-03-29 Stefan Buehler <sbuehler@gmx.ch>
14576 * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
14579 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
14581 * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
14583 - Added ReadOnly CheckBox
14584 - Further refactoring: moved some code from Open-/SaveFileDialog
14587 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
14589 * OpenFileDialog.cs: Fixed CheckFileExists
14591 Moved FileView and DirComboBox outside FileDialog class.
14592 They can now be used outside FileDialog
14594 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
14596 * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
14597 * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
14599 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
14601 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
14602 - Added missing CreatePrompt property in SaveDialog
14603 - Overall SaveDialog handling should be better now
14604 - Added non standard ShowHiddenFiles property
14605 - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
14606 - Added InitialDirectory and RestoreDirectory support
14608 2005-03-26 Alexander Olk <xenomorph2@onlinehome.de>
14610 * FileDialog.cs: Made dirComboBox usable
14612 2005-03-24 Alexander Olk <xenomorph2@onlinehome.de>
14614 * FileDialog.cs: Added Filter support (case sensitiv)
14616 2005-03-24 Jackson Harper <jackson@ximian.com>
14618 * TabControl.cs: Need a couple more pixels for the lines.
14620 2005-03-23 Jackson Harper <jackson@ximian.com>
14622 * TabControl.cs: Give the tab page focus when it is selected.
14624 2005-03-23 Jackson Harper <jackson@ximian.com>
14626 * TabControl.cs: Account for the drawing of tabs borders when
14627 invalidating. If the slider was clicked dont do click detection on
14630 2005-03-23 Jackson Harper <jackson@ximian.com>
14632 * TabControl.cs: Fix typo, emilinates an unneeded expose event.
14634 2005-03-22 Jonathan Chambers <jonathan.chambers@ansys.com>
14636 * CategoryGridEntry.cs: Added
14637 * GridItem.cs: Added helper properties
14638 * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
14639 * GridEntry.cs: Updated code for collection
14640 * PropertyGrid.cs: Cleaned up some formatting
14641 * PropertyGridView.cs: Added drop down functionality for enums.
14642 * GridItemCollection.cs: Added enumerator logic
14643 * PropertyGridEntry.cs: Added
14645 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
14648 - Removed unnecessary commented code
14649 - Fixed handling for entering the filename manually in the combobox
14651 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
14653 * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
14655 2005-03-18 Peter Bartok <pbartok@novell.com>
14657 * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
14658 them being touching the border
14660 2005-03-18 Peter Bartok <pbartok@novell.com>
14662 * TextControl.cs: Quick hack to center text better
14664 2005-03-18 Peter Bartok <pbartok@novell.com>
14667 - Don't throw NotImplemented exceptions, just print a notice once
14668 instead (requested by Miguel). This makes running existing SWF
14671 - Commented out Drag'N'Drop XplatUI call (no driver support yet)
14672 - Added context menu trigger on right click
14673 * Panel.cs: Trigger invalidate on resize
14675 - Removed old double-buffer drawing
14676 - Added ResizeRedraw style to force proper update of statusbar
14678 - Removed debug output
14679 * ThemeWin32Classic.cs:
14680 - Fixed drawing of status bar, now draws Text property if there
14681 are no defined panels
14683 2005-03-18 Jackson Harper <jackson@ximian.com>
14685 * ImageList.cs: When the image stream is set pull all the images
14687 * ImageListStreamer.cs: Implement reading image list streams.
14689 2005-03-18 Peter Bartok <pbartok@novell.com>
14691 * ThemeWin32Classic.cs (DrawPictureBox):
14692 - Fixed calculations for centered drawing
14693 - Fixed drawing for normal mode, not scaling the image on normal
14695 2005-03-18 Peter Bartok <pbartok@novell.com>
14697 * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
14700 - Made Open/Save button the accept button for FileDialog
14701 - Tied the cancel button to the IButtonControl cancel button
14702 - Save/Open now properly builds the pathname
14703 - Now handles user-entered text
14704 - Preventing crash on right-click if no item is selected
14705 - Fixed Text property, now uses contents of textbox
14706 - Fixed SelectedText property, now just returns the text part that
14707 is selected in the text box
14709 2005-03-18 Jackson Harper <jackson@ximian.com>
14711 * ThemeWin32Classic.cs: Use the proper func for drawing the focus
14712 rect, make sure to de-adjust the interior rect after drawing the
14715 2005-03-18 Peter Bartok <pbartok@novell.com>
14717 * MenuAPI.cs: Remove menu *before* executing selected action to
14718 prevent the menu from 'hanging around'
14720 2005-03-17 Geoff Norton <gnorton@customerdna.com>
14722 * XplatUIOSX.cs: Implemented WorkingArea property
14724 2005-03-17 Peter Bartok <pbartok@novell.com>
14726 * XplatUIX11.cs: Fixed menu coord calculations
14727 * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
14728 for calculating offsets
14730 2005-03-17 Peter Bartok <pbartok@novell.com>
14732 * Hwnd.cs: Do not consider menu presence for default client
14733 rectangle location/size
14734 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
14735 XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
14736 translation functions
14737 * FileDialog.cs: Fixed (what I presume is a) typo
14739 2005-03-17 Jonathan Gilbert <logic@deltaq.org>
14741 * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
14742 X access (avoids X-Async errors)
14744 2005-03-16 Jackson Harper <jackson@ximian.com>
14746 * TabControl.cs: Raise the SelectedIndexChanged event.
14748 2005-03-16 Alexander Olk <xenomorph2@onlinehome.de>
14750 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
14751 - Removed vertical ToolBar and replaced it with a custom panel
14752 (desktop and home button already work)
14753 - Added Help button (some controls get resized or relocated then)
14754 - Draw correct text depending on Open or Save.
14755 - Fixed some typos...
14757 2005-03-16 Jordi Mas i Hernandez <jordi@ximian.com>
14760 - Only change Maximum and Minimum when need it (bug fix)
14762 2005-03-15 Peter Bartok <pbartok@novell.com>
14764 * Form.cs: Use Handle for icon, to trigger creation if
14765 the window does not yet exist
14767 - CanSelect: Slight performance improvement
14768 - Focus(): Preventing possible recursion
14769 - Invalidate(): Removed ControlStyle based clear flag setting
14770 - WM_PAINT: fixed logic for calling OnPaintBackground
14771 - WM_ERASEBKGND: Fixed logic, added call to new driver method
14772 EraseWindowBackground if the control doesn't paint background
14774 - Moved EraseWindowBackground() method to internal methods
14775 - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
14776 is sent via SendMessage on BeginPaint call on Win32
14778 - Added EraseWindowBackground() method
14779 - No longer sends WM_ERASEBKGND on .Expose, but on call to
14780 PaintEventStart, which more closely matches Win32 behaviour
14781 - Fixed Invalidate() call, now updates new ErasePending Hwnd property
14782 - Fixed SetFocus() to properly deal with client and whole windows
14783 * Hwnd.cs: Added ErasePending property
14784 * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
14785 * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
14787 2005-03-12 Geoff Norton <gnorton@customerdna.com>
14790 - Fix hard loop when timers exist.
14791 - Fix bugs with middle and right click for 3 button mice.
14793 2005-03-11 Peter Bartok <pbartok@novell.com>
14796 - get_WorkingArea: Need to call X directly, GetWindowPos only
14797 returns cached data now
14798 - Added sanity check to GetWindowPos hwnd usage
14800 2005-03-11 Jackson Harper <jackson@ximian.com>
14802 * BindingManagerBase.cs: This method isn't used anymore as
14803 PullData now updates the data in the control.
14805 2005-03-11 Jordi Mas i Hernandez <jordi@ximian.com>
14807 * Form.cs: fixes menu drawing on X11
14808 * MenuAPI.cs: fixes menu drawing on X11
14810 2005-03-11 Peter Bartok <pbartok@novell.com>
14812 * Control.cs: Changed OnCreateControl behaviour based on a suggestion
14813 from Jonathan Gilbert; should fix bug #73606
14814 * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
14815 in Screen coordinates. Thanks, Jordi.
14816 * Form.cs: Added missing attribute
14818 2005-03-11 Peter Bartok <pbartok@novell.com>
14821 - Rudimentary Mdi support
14822 - Removed outdated FormParent code
14823 - Implemented lots of missing properties and methods, still missing
14824 transparency support
14825 - Added missing attributes
14826 - Implemented support for MaximumBounds
14827 - Added firing of various events
14828 * XplatUI.cs: Added SetIcon() method
14829 * XplatUIDriver.cs: Added SetIcon() abstract
14830 * XplatUIOSX.cs: Stubbed out SetIcon() method
14832 - Implemented SetIcon() support
14833 - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
14834 - Switched to unix line endings
14836 - Made POINT internal so for can access it as part of MINMAX
14837 - Implemented SetIcon() support
14838 - Implemented support for CLIENTCREATESTRUCT (but might have to drop
14839 native Mdi support again, might have to go managed)
14840 * Control.cs: Now fires the StyleChanged event
14841 * MdiClient.cs: Added; still mostly empty
14843 2005-03-10 Peter Bartok <pbartok@novell.com>
14845 * SaveFileDialog.cs: Added emtpy file
14847 2005-03-08 Peter Bartok <pbartok@novell.com>
14849 * Control.cs: Fixed bug #73190; now invokes CreateControl (which
14850 in turn triggers OnCreateContro) when creating a handle for the
14852 * TextControl.cs: Fixed endless loop in certain cases when
14853 replacing the current selection
14855 2005-03-08 Jordi Mas i Hernandez <jordi@ximian.com>
14858 - Honors NewValue changes in Scroll events allowing apps to change it
14859 - Adds First and Last Scroll events
14860 - Fixes Thumb events
14862 2005-03-07 Peter Bartok <pbartok@novell.com>
14864 * Hwnd.cs: Added DefaultClientRectangle property
14865 * XplatUI.cs: Now using the X11 driver Where() method, which provides
14866 more detailed debug information
14868 - Fixed size-change feedback loop, where we would pull an old size
14869 off the queue and mistakenly change our window's size to an
14871 - Now compressing ConfigureNotify events, to reduce looping and
14873 * TextBoxBase.cs: Preventing crash when no text is set and ToString()
14876 2005-03-07 Jackson Harper <jackson@ximian.com>
14878 * Binding.cs: Push data pushes from data -> property. Check if the
14879 property is readonly when attempting to set it.
14881 2005-03-07 Jackson Harper <jackson@ximian.com>
14883 * Binding.cs: Format and parse data correctly. Use ASsignableFrom
14884 instead of IsSubclassOf. Pulling data now sets the value on the
14886 * PropertyManager.cs:
14887 * CurrencyManager.cs: Just need to pull data when updating now,
14888 because PullData will set the value on the control.
14890 2005-03-04 Jackson Harper <jackson@ximian.com>
14892 * Binding.cs: Implement data type parsing and converting on pulled
14893 data. TODO: Are there more ways the data can be converted?
14895 2005-03-04 Jackson Harper <jackson@ximian.com>
14897 * Binding.cs: Support <Property>IsNull checks. Also bind to the
14898 controls Validating method so we can repull the data when the
14899 control loses focus.
14901 2005-03-03 Jordi Mas i Hernandez <jordi@ximian.com>
14904 - Fixes null string format
14907 - Adds enum type checks
14908 - Fixes redrawing and recalc need after changing some properties
14909 - Fixes on focus_item set after the event
14910 - Fixes adding columns after the control has been created
14912 * ThemeWin32Classic.cs:
14913 - Fixes CheckBox focus rectangle
14914 - Fixes ColumnHeader drawing
14917 2005-03-03 Jackson Harper <jackson@ximian.com>
14919 * Binding.cs: Bind to <Property>Changed events so we can detect
14920 when properties are changed and update the data.
14922 2005-03-02 Jordi Mas i Hernandez <jordi@ximian.com>
14925 - Changes 32-bit pixel format to Format32bppArgb to allow transparency
14926 - Fixes ImageList constructor with ImageList container
14927 - Fixes image scaling (wrong parameters at DrawImage)
14929 2005-02-02 Jackson Harper <jackson@ximian.com>
14931 * Binding.cs: Make property searches case-insensitive. Eliminate
14932 some duplicated code.
14934 2005-03-01 Jordi Mas i Hernandez <jordi@ximian.com>
14937 - Handle focus event
14938 - Fix scrollbar events
14939 - Discard highlighted item if remove it
14940 - Fixes SelectedItem with strings
14942 2005-03-01 Peter Bartok <pbartok@novell.com>
14945 - Fixed Visible property, now follows (once again) parent chain
14946 to return false if any control in the chain is visible=false
14947 - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
14948 - Fixed several places where is_visible instead of Visible was used
14949 - Implemented FIXME related to focus selection when setting focused
14950 control to be invisible
14952 * XplatUIWin32.cs: Now using proper method to find out if window is
14953 visible. Thanks to Jordi for pointing it out
14955 2005-02-28 Jordi Mas i Hernandez <jordi@ximian.com>
14957 * ComboBox.cs: show/hide scrollbar instead of creating it
14959 2005-02-27 Jackson Harper <jackson@ximian.com>
14961 * CurrencyManager.cs: Add PositionChanged stuff.
14963 2005-02-27 Peter Bartok <pbartok@novell.com>
14965 * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
14966 * XplatUIOSX.cs: Added GetMenuOrigin() stub
14967 * XplatUIWin32.cs: Implemented GetMenuOrigin()
14969 - Implemented GetMenuDC()
14970 - Implemented GetMenuOrigin()
14971 - Implemented ReleaseMenuDC()
14972 - Implemented generation of WM_NCPAINT message
14973 - Implemented generation and handling of WM_NCCALCSIZE message
14974 * Form.cs: Added debug helper message for Jordi's menu work
14976 - Modified ClientRect property; added setter, fixed getter to handle
14977 setting of ClientRect
14978 - Added MenuOrigin property
14980 2005-02-26 Peter Bartok <pbartok@novell.com>
14983 - Destroys the caret if a window that's being destroyed contains it
14984 - Ignores expose events coming from the X11 queue for windows that
14985 already are destroyed
14986 - Now uses the proper variable for handling DestroyNotify, before we
14987 marked the wrong window as destroyed
14988 - Improved/added some debug output
14990 2005-02-26 Peter Bartok <pbartok@novell.com>
14992 * X11Keyboard.cs: Fixes to work on 64bit systems
14994 2005-02-26 Peter Bartok <pbartok@novell.com>
14997 - Now calling OnHandleDestroyed from DestroyHandle()
14998 instead of Dispose()
14999 - Removed bogus call to controls.Remove() from DestroyHandle()
15001 2005-02-26 Peter Bartok <pbartok@novell.com>
15003 * Control.cs: Properly destroy child windows when our handle is
15006 2005-02-25 Peter Bartok <pbartok@novell.com>
15009 - Added 'DriverDebug' define to allow tracing XplatUI API calls
15010 - Alphabetized Static Methods and Subclasses
15013 - Added XException class to allow custom handling of X11 exceptions
15014 - Created custom X11 error handler, tied into XException class
15015 - Added support for MONO_XEXCEPTIONS env var to allow the user
15016 to either throw an exception on X errors or continue running
15017 after displaying the error
15018 - Added handling of DestroyNotify message
15019 - Added handler for CreateNotify message (still disabled)
15020 - Improved (tried to at least) Where method to provide file and lineno
15022 - Added XErrorHandler delegate
15023 - Added XRequest enumeration (to suppor translation of errors)
15025 2005-02-25 Jackson Harper <jackson@ximian.com>
15027 * PropertyManager.cs: Implement editing features
15028 * CurrencyManager.cs:
15029 * Binding.cs: First attempt at UpdateIsBinding
15030 * BindingManagerBase.cs: Call UpdateIsBinding before
15031 pushing/pulling data.
15033 2005-02-25 Jordi Mas i Hernandez <jordi@ximian.com>
15035 * MenuAPI.cs: Respect disabled items
15036 * ThemeWin32Classic.cs
15037 - Caches ImageAttributes creation for DrawImageDisabled
15038 - Fixes vertical menu line drawing
15039 - Draws disabled arrows in disable menu items
15041 2005-02-24 Peter Bartok <pbartok@novell.com>
15044 - Added UserData property to allow associating arbitrary objects
15046 - Fixed leak; now removing Hwnd references from static windows array
15048 - Fixed Graphics leak in PaintEventEnd
15049 - Removed usage of HandleData, switched over to Hwnd class
15050 * HandleData.cs: Removed, obsoleted by Hwnd.cs
15052 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
15054 * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
15055 * ScrollBar.cs: Fixes bug
15056 * TrackBar.cs: removes death code, clipping, mimize refreshes,
15057 keyboard navigation enhancements
15059 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
15061 * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
15062 * GroupBox.cs: Add control styles
15063 * Label.cs: Add control styles
15064 * UpDownBase.cs: Add control styles
15065 * ListBox.cs: Add control styles
15066 * XplatUIWin32.cs: Fixes wrong parameter order
15069 2005-02-23 Chris Bacon <chris.bacon@docobo.co.uk>
15071 * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
15073 2005-02-23 Jackson Harper <jackson@ximian.com>
15075 * PropertyManager.cs: Implement property binding. This doesn't
15076 seem to work yet though as (I think) there are some bugs in
15077 System.ComponentModel.PropertyDescriptor.
15078 * BindingContext.cs: Use new PropertyManager constructor.
15080 2005-02-23 Jordi Mas i Hernandez <jordi@ximian.com>
15082 * ProgressBar.cs: use clip region in ProgressBar
15083 * ThemeWin32Classic.cs: use clip region in ProgressBar
15085 2004-02-22 Jackson Harper <jackson@ximian.com>
15087 * BindingsCollection.cs: Remove some debug code.
15089 2005-02-22 Jackson Harper <jackson@ximian.com>
15091 * BindingContext.cs:
15092 * ControlBindingsCollection.cs:
15093 * CurrencyManager.cs:
15095 * BindingManagerBase.cs: Initial implementation
15096 * BindingsCollection.cs: Add an internal contains method that the
15097 BindingManagerBase uses to ensure bindings aren't added twice to
15099 * PropertyManager.cs: Stubbed out.
15101 * ContainerControl.cs: Hook up databinding
15103 2005-02-22 Geoff Norton <gnorton@customerdna.com>
15106 OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
15107 Fixed Invalidate/Update chain.
15108 Fixed tons of other minor bugs (this is almost a complete rewrite).
15110 2005-02-22 Jordi Mas i Hernandez <jordi@ximian.com>
15112 * ComboBox.cs: do subcontrol creation when the control is created
15114 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
15116 * Label.cs: fixes image drawing (image and imagelist)
15117 * ThemeWin32Classic.cs: cache brushes
15119 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
15121 * Form.cs: Move menu drawing code to Theme class
15122 * ComboBox.cs: Move ComboBox drawing code to Theme class
15123 * MenuItem.cs: Move menu drawing code to Theme class
15124 * MenuAPI.cs: Move menu drawing code to Theme class
15125 * ThemeWin32Classic.cs: New methods
15126 * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
15127 * ListBox.cs: Move Listbox drawing code to Theme class
15128 * Theme.cs: New methods
15130 2005-02-20 Peter Bartok <pbartok@novell.com>
15133 - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
15134 only process mnemonics on those)
15135 - Fixed event sequence for key handling; first calling
15136 ProcessKeyEventArgs now
15138 - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
15139 for processing non-character keys
15140 - Fixed WM_CHAR to generate proper event sequence before processing
15141 * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
15144 2005-02-19 Peter Bartok <pbartok@novell.com>
15146 * UserControl.cs: Added TextChanged event; added attributes
15147 * SizeGrip.cs: Implemented resizing and optional display of grip
15148 * Form.cs: Fixed attribute
15149 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
15150 Changed meaning of ScrollWindow bool argument; instead of the
15151 clear attribute (which will be true usually anyway), it gives the
15152 option of moving child controls as well.
15154 - Changed to match new ScrollWindow argument
15155 - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
15156 now handles the implicit parent window a WM puts around us
15157 * ScrollableControl.cs: Implemented (not the prettiest, but it seems
15159 * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
15160 * TreeView.cs: Adjusted to new ScrollWindow arguments
15162 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
15164 * Form.cs: Menu integration with non-client area
15165 * MenuItem.cs: Menu integration with non-client area
15166 * MenuAPI.cs: Menu integration with non-client area
15168 2005-02-18 Peter Bartok <pbartok@novell.com>
15170 * MethodInvoker.cs: Added
15171 * MdiLayout.cs: Added
15172 * SendKeys.cs: Started implementation
15173 * ErrorIconAlignment.cs: Added
15175 2005-02-18 Peter Bartok <pbartok@novell.com>
15177 * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
15178 * Form.cs: Added handling for Menu-related Non-client messages
15180 2005-02-17 Peter Bartok <pbartok@novell.com>
15182 * UpDownBase.cs: Fixed typo, compilation errors
15183 * DomainUpDown.cs: Fixed attribute value
15185 2005-02-16 Miguel de Icaza <miguel@novell.com>
15187 * UpDownBase.cs: Attach entry events.
15189 Add ForeColor property, Focused, InterceptArrowKeys (interception
15190 does not work yet).
15192 2005-02-17 Jordi Mas i Hernandez <jordi@ximian.com>
15195 - Redraw non client are on Setmenu
15196 - Calc proper menu starting point
15198 2005-02-17 Peter Bartok <pbartok@novell.com>
15200 * Application.cs: Fixed message_filter check
15202 2005-02-17 Peter Bartok <pbartok@novell.com>
15204 * Application.cs: Now calls registered message filters
15205 * DockStyle.cs: Fixed attribute
15206 * Form.cs: Fixed attribute
15207 * Menu.cs: Fixed attribute
15208 * ToolTip.cs: Fixed attribute
15209 * TreeNode.cs: Added missing attributes and arranged in regions
15210 * PropertyGrid.cs: Fixed signatures
15211 * TreeNodeCollection.cs: Added attributes
15212 * Splitter.cs: Added missing attributes; arranged into regions
15213 * TabPage.cs: Added missing attributes; arranged into regions
15214 * TextBoxBase.cs: Added missing attributes
15215 * TextBox.cs: Added missing attributes
15216 * ArrangeDirection.cs: Added missing attributes
15217 * TreeNodeConverter.cs: Added stub (needed for TreeNode)
15218 * ToolBarButton.cs: Fixed attributes
15219 * AnchorStyles.cs: Fixed attribute
15220 * TrackBar.cs: Fixed attributes
15221 * TabControl.cs: Added missing attributes and arranged into regions
15222 * ToolBar.cs: Fixed attribute
15223 * StatusBar.cs: Fixed signature, organized into regions and added
15225 * StatusBarPanel.cs: Fixed attributes
15226 * ContentsResizedEventArgs.cs: Implemented
15227 * ContentsResizedEventHandler.cs: Implemented
15228 * DateBoldEventArgs.cs: Implemented
15229 * DateBoldEventHandler.cs: Implemented
15230 * UpDownEventArgs.cs: Implemented
15231 * UpDownEventHandler.cs: Implemented
15233 2005-02-16 Jordi Mas i Hernandez <jordi@ximian.com>
15235 * Form.cs: first Menu NC refactoring
15236 * MenuAPI.cs: first Menu NC refactoring
15238 2005-02-16 Peter Bartok <pbartok@novell.com>
15240 * ImeMode.cs: Added missing attributes
15241 * Menu.cs: Fixed attribute
15242 * GroupBox.cs: Fixed attribute
15243 * Label.cs: Fixed attribute
15244 * ColorDialog.cs (RunDialog): Removed TODO attribute
15245 * ComboBox.cs: Fixed attributes
15246 * ListControl.cs: Added missing attributes
15247 * PropertyGrid.cs: Fixed attributes
15248 * Control.cs: Fixed attributes
15249 * ListViewItem.cs: Added TypeConverter attribute
15250 * NotifyIcon.cs: Fixed attributes
15251 * ListView.cs: Fixed attributes
15252 * ButtonBase.cs: Fixed attribute
15253 * ImageList.cs: Added missing attributes
15254 * ContainerControl.cs: Fixed signature
15255 * CheckedListBox.cs: Fixed attribute; added missing attributes
15256 * Panel.cs: Fixed attributes
15257 * PropertyTabChangedEventArgs.cs: Added missing attribute
15258 * PropertyValueChangedEventArgs.cs: Added missing attribute
15259 * Binding.cs: Fixed attribute
15260 * ListViewItemConverter: Implemented ListViewSubItemConverter class
15261 * ListBox.cs: Fixed attribute; added missing attributes;
15262 * ScrollableControl.cs: Added missing attributes
15263 * PictureBox.cs: Added missing attributes; implemented missing property
15264 * DateTimePicker.cs: Added missing attributes
15265 * Theme.cs (ToolWindowCaptionHeight): Fixed type
15266 * MonthCalendar.cs: Fixed attributes
15267 * StatusBarPanel.cs: Added missing attributes
15268 * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
15270 2005-02-16 Peter Bartok <pbartok@novell.com>
15272 * TextBoxBase.cs: The previous method to enforce height yet remember
15273 the requested high was less than ideal, this is an attempt to do
15275 * Control.cs: Added comment about possible problem
15276 * Copyright: Updated format
15277 * GridItemType.cs: Fixed swapped values
15279 2005-02-15 Jackson Harper <jackson@ximian.com>
15281 * BaseCollection.cs: Use property so we never access an
15282 uninitialized list. Also initialize the list in the property.
15284 2005-02-15 Peter Bartok <pbartok@novell.com>
15286 * GroupBox.cs (ProcessMnemonic): Implemented
15287 * Label.cs (ProcessMnemonic): Implemented
15288 * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
15291 2005-02-15 Peter Bartok <pbartok@novell.com>
15293 * RadioButton.cs (ProcessMnemonic): Implemented
15294 * CheckBox.cs (ProcessMnemonic): Implemented
15296 - Added handling of WM_SYSxxx keyboard messages to support mnemonic
15298 - Added internal method to allow calling ProcessMnemonic from other
15300 * ContainerControl.cs:
15301 - Started support for handling validation chain handling
15302 - Implemented ProcessMnemonic support
15303 - Added Select() call to Active, to make sure the active control
15305 * Form.cs: Setting toplevel flag for Forms (this was lost in the
15306 FormParent rewrite)
15307 * ThemeWin32Classic.cs:
15308 - DrawCheckBox(): Fixed stringformat to show hotkeys
15309 - DrawRadioButton(): Fixed stringformat to show hotkeys
15310 * CommonDialog.cs: Removed WndProc override, not needed
15312 2005-02-14 Peter Bartok <pbartok@novell.com>
15314 * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
15315 missed those in the rewrite
15317 2005-02-14 Miguel de Icaza <miguel@novell.com>
15319 * NumericUpDown.cs (Increment, ToString): Add.
15320 (DecimalPlaces): implement.
15324 * UpDownBase.cs: Add the designer attributes.
15326 2005-02-13 Peter Bartok <pbartok@novell.com>
15328 * Panel.cs: Removed border_style, now in Control
15329 * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
15330 ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
15332 2005-02-13 Peter Bartok <pbartok@novell.com>
15334 * MouseButtons.cs: Added missing attributes
15335 * XplatUIStructs.cs: Added enumeration for title styles
15336 * LeftRightAlignment.cs: Added missing attributes
15337 * Hwnd.cs: Switched to use client_window as handle (slower, but makes
15338 it compatible with Graphics.FromHwnd()
15339 * SelectedGridItemChangedEventArgs.cs: Fixed property type
15340 * Keys.cs: Added missing attributes
15341 * SelectionRange.cs: Added missing attributes
15342 * SelectionRangeConverter.cs: Added
15344 - Introduced SetBorderStyle, SetMenu, GetMenuDC and
15345 ReleaseMenuDC methods
15346 - Renamed ReleaseWindow to UngrabWindow
15347 - Added proper startup notice to allow version identification
15349 - Added missing attributes
15350 - Removed FormParent concept
15351 * Label.cs: Removed border_style field, now in Control
15352 * RadioButton.cs: Now properly selects RadioButton when focus is
15354 * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
15356 - Added missing attributes
15357 - Added borderstyle handling
15358 - Removed FormParent concept support
15359 - Fixed calls to XplatUI to match changed APIs
15360 - Fixed bug that would case us to use disposed Graphics objects
15361 - Removed unneeded internal methods
15362 - PerformLayout(): Fixed to handle DockStyle.Fill properly
15363 - SelectNextControl(): Fixed to properly check common parents
15364 * TextBoxBase.cs: Removed border_style field (now in Control)
15366 - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
15367 fixed calculations for form size
15368 - Added support for localized strings and icons
15369 - Improved form size calculations, added border
15370 * ListView.cs: Removed border_style field (now in Control)
15371 * X11Structs.cs: Moved several structs from X11 driver here
15372 * X11Keyboard.cs: Changed debug message
15373 * Application.cs: Removed FormParent concept support
15375 - Resetting end_modal flag
15376 - Removed FormParent concept support
15377 * NativeWindow.cs: Removed FormParent concept support
15378 * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
15379 Client area and Non-Client whole window to allow support for WM_NC
15381 * XplatUIOSX.cs: Updated to match latest driver spec; added exception
15382 prevent using it until it supports Hwnd as per Geoff Norton's request
15383 * ToolBar.cs: Fixed drawing, was not doing proper drawing
15384 * PictureBox.cs: Removed border_style field, now in Control
15385 * XplatUIWin32.cs: Added new driver methods
15387 2005-02-12 Peter Bartok <pbartok@novell.com>
15389 * OpacityConverter.cs: Implemented
15390 * Hwnd.cs: Internal class to support drivers that need to emulate
15391 client area/non-client area window behaviour
15393 2005-02-11 Peter Bartok <pbartok@novell.com>
15395 * KeysConverter.cs: Implemented
15397 2005-02-11 Jordi Mas i Hernandez <jordi@ximian.com>
15399 * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
15400 * LinkLabel: Added missing attributes
15401 * MainMenu.cs: fixes ToString
15402 * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
15403 * ListBox.cs: fixes event position
15404 * TrackBar.cs: adds missing attributes and events
15406 2005-02-10 Jordi Mas i Hernandez <jordi@ximian.com>
15408 * MenuItem.cs: Use SystemInformation and bug fixes
15409 * MenuAPI.cs: Use SystemInformation and bug fixes
15411 2005-02-09 Jackson Harper <jackson@ximian.com>
15413 * X11Keyboard.cs: We ignore some keys, but still need to set/reset
15414 their keystate otherwise things like VK_MENU get stuck "on".
15416 2005-02-09 Kazuki Oikawa <kazuki@panicode.com>
15418 * ListBox.cs: Fixes AddRange bug
15420 2005-02-09 Jordi Mas i Hernandez <jordi@ximian.com>
15423 - Add missing attributes
15424 - Add missing method
15426 * CheckedListBox.cs: Added missing attributes
15427 - Add missing attributes
15428 - Remove extra method
15430 * ComboBox.cs: Added missing attributes
15431 * VScrollBar.cs: Added missing attributes
15432 * ScrollBar.cs: Added missing attributes
15433 * ListBox.cs: Fixes signature, add missing consts
15434 * LinkArea.cs: Added missing attributes
15437 2005-02-08 Peter Bartok <pbartok@novell.com>
15439 * Menu.cs: Added missing attributes
15440 * MainMenu.cs: Added missing attributes
15441 * GroupBox.cs: Added missing attributes
15442 * Label.cs: Added missing attributes
15443 * CheckBox.cs: Implemented CheckBoxAccessibleObject class
15445 - Added Instance and Options properties
15446 - Added missing attributes
15447 * Cursor.cs: Made Serializable
15448 * NotifyIcon: Added missing attributes
15449 * MenuItem.cs: Added missing attributes
15450 * TextBoxBase.cs: Implemented AppendText() and Select() methods
15451 * Panel.cs: Added Missing attributes
15452 * MonthCalendar.cs: Fixed CreateParams
15454 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
15458 - Fixes issues with links
15459 - Adds the class attributes
15461 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
15464 - Fixes button when no items available in dropdown
15465 - Fixes repainting problems
15466 - Adds the class attributes
15468 2005-02-07 Geoff Norton <gnorton@customerdna.com>
15470 * XplatUIOSX.cs: Detect the menu bar and title bar height from
15471 the current theme. Cache these on startup.
15473 2005-02-07 Jackson Harper <jackson@ximian.com>
15475 * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
15476 the scrollbar buttons when they are depressed.
15478 2005-02-07 Geoff Norton <gnorton@customerdna.com>
15480 * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
15481 Get the display size from the main displayid. We currently dont
15482 support multiple display configurations.
15484 2005-02-07 Geoff Norton <gnorton@customerdna.com>
15486 * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
15488 2005-02-07 Miguel de Icaza <miguel@novell.com>
15490 * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
15492 2005-02-05 Jonathan Chambers <jonathan.chambers@ansys.com>
15494 * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
15496 2005-02-04 Jackson Harper <jackson@ximian.com>
15498 * ThemeWin32Classic.cs: Respect the clipping rect when
15499 drawing. Only fill the intersection of clips and rects so there
15500 isn't a lot of large fills.
15501 * ScrollBar.cs: Pass the correct clipping rect to the theme
15502 engine. Remove some debug code.
15504 2005-02-05 John BouAntoun <jba-mono@optusnet.com.au>
15506 * DateTimePicker.cs:
15507 - Fixed crash on DateTime.Parse, use Constructor instead
15509 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
15513 - Owner draw support (MeasureItem and DrawItem)
15515 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
15518 - Implements FindMergePosition and MergeMenu functions (very poor documented)
15519 - Fixes MenuItems.Add range
15521 - MergeMenu and Clone and CloneMenu functions
15523 2005-02-03 Jackson Harper <jackson@ximian.com>
15525 * ScrollBar.cs: Make abstract
15526 * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
15529 2005-02-03 Jackson Harper <jackson@ximian.com>
15531 * ScrollBar.cs: First part of my scrollbar fixups. This removes
15532 all the unneeded refreshes and uses invalidates with properly
15535 2005-02-03 Peter Bartok <pbartok@novell.com>
15537 * ComponentModel.cs: Added
15538 * IDataGridEditingService.cs: Added
15539 * Timer.cs: Added missing attributes
15540 * ToolTip.cs: Added missing attributes
15542 2005-02-03 Jonathan Chambers <jonathan.chambers@ansys.com>
15544 * PropertyGridView.cs: Added. Patch by Jonathan Chambers
15546 2005-02-03 Peter Bartok <pbartok@novell.com>
15548 * ListBox.cs: Added missing attributes
15550 2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com>
15553 - Fixes font height after font change
15554 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
15556 2005-02-02 Peter Bartok <pbartok@novell.com>
15558 * HandleData.cs: Introduced static methods to allow class
15559 to be more self-contained and track it's own HandleData objects
15560 * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
15561 HandleData to use new static methods
15563 2005-02-02 Jordi Mas i Hernandez <jordi@ximian.com>
15566 - Fixes default size and PreferredHeight
15568 - ObjectCollection.Insert implementation
15574 - ObjectCollection.Insert implementation
15575 - No selection after clean
15578 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
15580 * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
15582 2005-02-01 Jordi Mas i Hernandez <jordi@ximian.com>
15585 - Caches ItemHeight calculation for OwnerDrawVariable
15586 - Handles dropdown properly
15587 - Fixes several minor bugs
15589 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
15592 - Fixes 71946 and 71950
15593 - Fixes changing Multicolumn on the fly
15594 - Fixes keyboard navigation on Multicolumn listboxes
15596 2005-01-31 Geoff Norton <gnorton@customerdna.com>
15598 * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
15599 crash reporter log.
15601 2005-01-31 Geoff Norton <gnorton@customerdna.com>
15603 * XplatUIOSX.cs: Allow applications to actually exit.
15605 2005-01-31 Geoff Norton <gnorton@customerdna.com>
15607 * XplatUIOSX.cs: SetWindowStyle implemented. Reposition views in
15608 their parent at creation time rather than lazily later. Fixes a major
15609 regression we were experiencing.
15611 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
15613 * ThemeWin32Classic.cs: more date time picker painting fixes
15614 * DateTimePicker.cs: more monthcalendar drop down fixes
15615 * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
15617 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
15620 - When moving the thumb going outside the control should stop the moving
15621 - Adds the firing of missing events
15622 - Fixes no button show if Size is not specified
15623 - End / Home keys for keyboard navigation
15625 2005-01-30 Peter Bartok <pbartok@novell.com>
15627 * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
15628 sanity check to prevent theoretical loop
15629 * XplatUIWin32.cs (SetVisible): Removed debug output
15630 * XplatUIX11.cs (SystrayChange): Added sanity check
15631 * ScrollableControl.cs (OnVisibleChanged): Now calls base method
15632 * Control.cs (OnVisibleChanged): Added workaround for ParentForm
15633 behaviour, valid until the X11 client window rewrite is done
15634 * TextBox.cs (ctor): Setting proper default foreground and background
15637 2005-01-30 John BouAntoun <jba-mono@optusnet.com.au>
15639 * Theme: Added DrawDateTimePicker to interface
15640 * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
15641 * DateTimePicker.cs: Created (still needs keys and painting code)
15642 * DateTimePickerFormat.cs: added
15643 * MonthCalendar.cs: fixed CreateParams for popup window mode
15645 2005-01-29 Peter Bartok <pbartok@novell.com>
15647 * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
15648 this should also the calculations for ligher/darker
15649 * Theme.cs: Fixed defaults for ScrollBar widths/heights
15651 2005-01-29 Peter Bartok <pbartok@novell.com>
15653 * ArrangeDirection.cs: Added
15654 * ArrangeStartingPositon.cs: Added
15655 * SystemInformation.cs: Implemented
15656 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
15657 XplatUIX11.cs, Theme.cs: Added/implemented new static properties
15658 used by SystemInformation class
15659 * X11Strucs.cs: Added XSizeHints structure
15661 - Fixed CreateParams to make sure the menu window is always visible
15662 - TrackPopupMenu: Added check to make sure we don't draw the
15665 2005-01-29 Peter Bartok <pbartok@novell.com>
15667 * HandleData.cs: Added method for altering invalid area
15668 * TextBoxBase.cs: Implemented TextLength
15670 2005-01-28 Peter Bartok <pbartok@novell.com>
15672 * XplatUIX11.cs: Improvement over last patch, not sending
15673 the WM_PAINT directly anymore, instead we scroll any pending
15674 exposed areas and let the system pick out the WM_PAINT later
15676 2005-01-28 Peter Bartok <pbartok@novell.com>
15678 * SWF.csproj: Deleted, no longer used. Instead,
15679 Managed.Windows.Forms/SWF.csproj should be used
15680 * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
15681 directly, to avoid a potential race condition with the next
15684 2005-01-28 Peter Bartok <pbartok@novell.com>
15686 * XplatUI.cs: Made class internal
15688 2005-01-28 Jordi Mas i Hernandez <jordi@ximian.com>
15690 * CheckedListBox.cs:
15693 - Missing methods and events
15695 2005-01-27 Peter Bartok <pbartok@novell.com>
15697 * Application.cs (Run): Don't use form if we don't have one
15699 2005-01-27 Peter Bartok <pbartok@novell.com>
15701 * TextBoxBase.cs (get_Lines): Fixed index off by one error
15703 2005-01-27 Peter Bartok <pbartok@novell.com>
15705 * GridEntry.cs: Added; Patch by Jonathan S. Chambers
15706 * GridItem.cs: Added; Patch by Jonathan S. Chambers
15707 * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
15708 * GridItemType.cs: Added; Patch by Jonathan S. Chambers
15709 * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
15710 * PropertySort.cs: Added; Patch by Jonathan S. Chambers
15711 * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
15712 * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
15713 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
15714 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
15715 * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
15716 * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
15718 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
15721 - Draw focus on Simple Combobox
15722 - Fixes drawing issues
15725 2005-01-27 Peter Bartok <pbartok@novell.com>
15728 - Place window in default location, instead of hardcoded 0/0
15729 - Send initial LocationChanged event
15731 - UpdateBounds after creation to find out where the WM placed us
15732 - Make sure that if the ParentForm changes location the Form
15734 * XplatUIX11.cs: XGetGeometry will not return the coords relative
15735 to the root, but to whatever the WM placed around us.
15736 Translate to root coordinates before returning toplevel
15738 * XplatUIWin32.cs: Removed debug output
15739 * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
15740 flag to GetWindowPos, to allow translation of coordinates on X11
15742 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
15744 * ListBox.cs: connect LostFocus Event
15746 2005-01-27 Peter Bartok <pbartok@novell.com>
15748 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
15749 XplatUIX11.cs: Extended the Systray API
15750 * Form.cs: Removed debug output
15751 * Application.cs: Fixed focus assignment, always need to call
15752 XplatUI.Activate() since Form.Activate() has rules that may
15754 * NotifyIcon.cs: Should be complete now
15755 * ToolTip.cs: Worked around possible timer bug
15757 2005-01-27 Jackson Harper <jackson@ximian.com>
15760 - Only invalidate the effected tabs when the
15761 selected index changes. This reduces drawing and gets rid of some
15763 - Only refresh if the tabs need to be shifted, otherwise only
15764 invalidate the slider button.
15765 - On windows the tabs are not filled to right if the slider is
15768 2005-01-27 Jackson Harper <jackson@ximian.com>
15770 * TabControl.cs: Only refresh on mouseup if we are showing the
15771 slider. Also only invalidate the button whose state has changed.
15773 2005-01-26 Peter Bartok <pbartok@novell.com>
15775 * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
15776 * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
15777 and SystrayRemove() methods
15778 * XplatUIOSX.cs: Stubbed Systray methods
15780 - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
15782 - Fixed broken XChangeProperty calls (marshalling messed up things)
15783 * X11Structs.cs: Added enums and structs required for Size hinting
15784 * NotifyIcon.cs: Added & implemented
15786 2005-01-26 Jackson Harper <jackson@ximian.com>
15788 * TabControl.cs: Space vertically layed out tabs properly.
15790 2005-01-26 Peter Bartok <pbartok@novell.com>
15792 * Form.cs (CreateClientParams): Always set the location to 0,0
15793 since we're a child window.
15795 * Control.cs (SetVisibleCore): Always explicitly setting the location
15796 of a toplevel window, apparently X11 doesn't like to move windows
15797 while they're not mapped.
15799 2005-01-26 Jackson Harper <jackson@ximian.com>
15801 * TabControl.cs: Implement FillToRight size mode with vertically
15804 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
15806 * ControlPaint.cs, ThemeWin32Classic.cs
15807 - Fixes DrawFocusRectangle
15809 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
15812 - MenuBar tracking only starts when item is first clicked
15813 - Fixes menu hidding for multiple subitems
15814 - Unselect item in MenuBar when item Executed
15817 2005-01-25 Jordi Mas i Hernandez <jordi@ximian.com>
15820 - IsInputKey for ListBox
15823 - Shift and Control item selection
15824 - Implement SelectionMode.MultiExtended
15825 - Fixes RightToLeft
15827 - IsInputKey implemented
15828 - Do not generate OnTextChangedEdit on internal txt changes
15830 2005-01-23 Peter Bartok <pbartok@novell.com>
15832 * AccessibleObject.cs: Partially implemented Select()
15833 * MonthCalendar.cs: Added missing attributes and events
15834 * Form.cs: Fixed CreateParams behaviour, now controls derived from
15835 form can properly override CreateParams.
15836 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
15837 XplatUIX11.cs: Dropped RefreshWindow method, not needed if
15838 Control performs Invalidate & Update
15839 * NativeWindow (CreateHandle): Added special handling for Form
15840 and Form.FormParent classes to allow overriding of From.CreateParams
15842 - ControlNativeWindow: Renamed 'control' variable to more intuitive
15844 - ControlNativeWindow: Added Owner property
15845 - Removed usage of Refresh() on property changes, changed into
15846 Invalidate(), we need to wait until the queue is processed for
15847 updates, direct calls might cause problems if not all vars for
15848 Paint are initialized
15849 - Added call to UpdateStyles() when creating the window, to set any
15850 styles that CreateWindow might have ignored.
15851 - Added support for Form CreateParent overrides to UpdateStyles()
15852 * MessageBox.cs: Removed no longer needed FormParent override stuff,
15853 CreateParams are now properly overridable
15854 * CommonDialog.cs: Removed no longer needed FormParent override stuff,
15855 CreateParams are now properly overridable
15857 2005-01-23 Miguel de Icaza <miguel@ximian.com>
15859 * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
15862 Capture LostFocus and OnTextBoxChanged. The later introduces a
15863 recursive invocation that I have not figured out yet.
15865 Reset the timer when not using (it was accumulating).
15868 (OnTextBoxChanged): Set UserEdit to true here to track whether the
15869 user has made changes that require validation.
15871 Reset changing to avoid loops.
15873 2005-01-22 Miguel de Icaza <miguel@ximian.com>
15875 * NumericUpDown.cs: Display value at startup.
15877 * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
15880 * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
15881 filled in. Added some basic parsing of text.
15883 Still missing the OnXXX method overrides, and figuring out the
15884 events that must be emitted.
15886 * UpDownBase.cs: Handle UserEdit on the Text property.
15888 2005-01-22 Jordi Mas i Hernandez <jordi@ximian.com>
15891 - Fixes IntegralHeight
15894 2005-01-21 Jackson Harper <jackson@ximian.com>
15896 * TabControl.cs: Set the SelectedIndex property when SelectedTab
15897 is set so that the page visibility is updated and the tabs are
15900 2005-01-21 Jackson Harper <jackson@ximian.com>
15902 * TabControl.cs: Use cliping rectangle for blitting. Give the
15903 theme the clipping rect so we can do clipping while
15904 drawing. Remove some debug code.
15906 2005-01-21 Jackson Harper <jackson@ximian.com>
15908 * TabPage.cs: Add a new method so tab pages can force the tab
15909 control to recalculate the tab page sizes.
15910 * TabControl.cs: UpdateOwner needs to make the tab control recalc
15913 2005-01-20 Jackson Harper <jackson@ximian.com>
15915 * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
15917 2005-01-20 Jackson Harper <jackson@ximian.com>
15919 * TreeView.cs: Set the bounds for nodes properly. They were
15920 getting screwed up when checkboxes were not enabled, but images
15923 2005-01-20 Jordi Mas i Hernandez <jordi@ximian.com>
15926 - Owner draw support
15929 2005-01-20 Jackson Harper <jackson@ximian.com>
15931 * XplatUIStructs.cs: More misc keys
15932 * X11Keyboard.cs: Ignore some control keys.
15934 2005-01-20 Jackson Harper <jackson@ximian.com>
15936 * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
15937 * X11Keyboard.cs: Set the AltGr mask when we get a key event.
15939 2005-01-19 Peter Bartok <pbartok@novell.com>
15941 * Control.cs: Un-selecting the control when it is loosing focus
15943 2005-01-19 Jackson Harper <jackson@ximian.com>
15945 * TreeView.cs: Hook up to the text controls leave event so we can
15946 end editing when the users clicks outside the text box.
15948 2005-01-19 Jackson Harper <jackson@ximian.com>
15950 * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
15951 get set in the conversion array.
15953 2005-01-19 Peter Bartok <pbartok@novell.com>
15955 * Application.cs (ModalRun): Added a call to CreateControl to ensure
15956 focus is properly set
15958 - Added missing attributes
15959 - removed styles, those are already set in the base class
15961 - Added missing attributes
15962 - Added clip window styles
15963 * CheckBox.cs: Added missing attributes
15965 - FormParentWindow.CreateParams: Added required clip styles
15966 * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
15967 also filters modifier keys
15969 - Added assignment of Accept and Cancel button to enable Enter
15970 and Esc keys in MessageBox dialogs
15971 - FormParentWindow.CreateParams: Added required clip styles
15972 * RadioButton.cs: Added missing attributes
15973 * TextControl.cs: No longer draws selection if control does not
15976 - Now draws simple rectangle around test area to make it obvious
15977 there's a control. This is a hack until we properly support borders
15978 - A few simple fixes to support selections better, now erases selected
15979 text when typing, and resets selection when using movement keys
15981 2005-01-19 Miguel de Icaza <miguel@ximian.com>
15983 * UpDownBase.cs: Added some new properties.
15985 * DomainUpDown.cs: Implement a lot to get my test working.
15987 2005-01-19 Geoff Norton <gnorton@customerdna.com>
15989 * XplatUIOSX.cs: Fix a minor bug to bring the close box back
15991 2005-01-19 Geoff Norton <gnorton@customerdna.com>
15993 * OSXStructs (WindowAttributes): Fixed csc complaints
15995 2005-01-19 Geoff Norton <gnorton@customerdna.com>
15998 OSXStructs.cs: Initial refactor to move enums and consts into
15999 OSXStructs and use them in the driver for greater readability.
16001 2005-01-19 Geoff Norton <gnorton@customerdna.com>
16003 * XplatUIOSX.cs: Initial support for Standard Cursors.
16004 * OSXStructs.cs: Move our structs here; added ThemeCursor enum
16006 2005-01-19 Jordi Mas i Hernandez <jordi@ximian.com>
16008 * ComboBox.cs: ability to change style when the ctrl is already
16009 created, missing methods and events, bug fixes, signature fixes
16011 2005-01-19 Peter Bartok <pbartok@novell.com>
16013 * Cursors.cs (ctor): Added ctor to fix signature
16015 2005-01-18 Peter Bartok <pbartok@novell.com>
16017 * Button.cs: Implemented DoubleClick event
16019 - Fixed keyboard handling to behave like MS, where the press of
16020 Spacebar is equivalent to a mousedown, and the key release is
16021 equivalent to mouseup. Now a spacebar push will give the same
16022 visual feedback like a mouse click.
16023 - Added missing attributes
16024 - Added ImeModeChanged event
16025 - Added support for generating DoubleClick event for derived classes
16027 - Implemented DoubleClick event
16028 - Added missing attributes
16029 * CommonDialog.cs: Added missing attribute
16030 * ContextMenu.cs: Added missing attributes
16032 - AutoChecked buttons do not allow to be unselected when clicked
16033 (otherwise we might end up with no selected buttons in a group)
16034 - Added missing attributes
16035 - Implemented DoubleClickEvent
16036 * ThreadExceptionDialog.cs: Enabled TextBox code
16038 2005-01-18 Peter Bartok <pbartok@novell.com>
16040 * Form.cs: Removed debug output
16041 * Button.cs: Added support for DoubleClick method
16043 2005-01-18 Peter Bartok <pbartok@novell.com>
16046 - Added method to parent window that allows triggering size
16047 calculations when a menu is added/removed
16048 - set_Menu: Cleaned up mess from early days of Form and Control,
16049 now properly triggers a recalc when a menu is added/removed
16050 - Added case to select form itself as focused form if no child
16052 - Added PerformLayout call when showing dialog, to ensure properly
16055 - Select(): Made internal so Form can access it
16056 - Focus(): Only call Xplat layer if required (avoids loop), and sets
16058 * Application.cs (Run): Removed hack and calls PerformLayout instead
16059 to trigger calculation when Form becomes visible
16061 2005-01-18 Jordi Mas i Hernandez <jordi@ximian.com>
16063 * ComboBox.cs: fixes for ownerdraw
16065 2005-01-18 Peter Bartok <pbartok@novell.com>
16068 - Sentinel is no longer static, each Document gets it's own, this
16069 avoids locking or alternatively overwrite problems when more
16070 than one text control is used simultaneously.
16071 - Switched to use Hilight and HilightText brushes for text selection
16073 * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
16075 2005-01-18 Peter Bartok <pbartok@novell.com>
16078 - Hooked up the following events:
16086 o SystemColorsChanged
16087 o ParentFontChanged
16089 - Removed debug output
16090 - Added a call to the current theme's ResetDefaults when a color change
16092 * Form.cs: Now setting the proper ImeMode
16093 * Theme.cs: Defined a method to force recreation of cached resources
16094 and rereading of system defaults (ResetDefaults())
16095 * ThemeWin32Classic.cs: Added ResetDefaults() stub
16097 2005-01-17 Peter Bartok <pbartok@novell.com>
16099 * Control.cs: Added missing attributes
16101 2005-01-17 Jackson Harper <jackson@ximian.com>
16103 * TreeNode.cs: Implement editing. Add missing properties selected
16105 * TreeView.cs: Implement node editing. Also some fixes to use
16106 Invalidate (invalid area) instead of Refresh when selecting.
16108 2005-01-17 Peter Bartok <pbartok@novell.com>
16111 - Implemented InvokeGotFocus() method
16112 - Implemented InvokeLostFocus() method
16113 - Implemented InvokePaint() method
16114 - Implemented InvokePaintBackground() method
16115 - Implemented InvokeClick() method
16116 - Implemented FindForm() method
16117 - Implemented RectangleToClient() method
16118 - Implemented ClientToRectangle() method
16119 - Implemented ResetBackColor() method
16120 - Implemented ResetCursor() method
16121 - Implemented ResetFont() method
16122 - Implemented ResteForeColor() method
16123 - Implemented ResetImeMode() method
16124 - Implemented ResetLeftToRight() method
16125 - Implemented ResetText() method
16126 - Implemented Scale() methods
16127 - Implemented ScaleCore() method
16128 - Implemented Update() method
16129 - Removed unused variables
16130 - Stubbed AccessibilityNotifyClients and
16131 ControlAccessibleObject.NotifyClients() methods (dunno what to do
16133 - Now setting proper default for RightToLeft property
16134 - Fixed bug in SetClientSizeCore that would cause windows to get
16136 - Now sending Click/DoubleClick events
16137 - Now selecting controls when left mouse button is clicked on
16139 * AccessibleEvents.cs: Added
16140 * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
16141 * XplatUIOSX.cs: Stubbed UpdateWindow() method
16142 * XplatUIWin32.cs: Implemented UpdateWindow() method
16143 * XplatUIX11.cs: Implemented UpdateWindow() method
16144 * Form.cs: Removed stray semicolon causing CS0162 warning
16145 * ThemeWin32Classic.cs: Fixed unused variable warnings
16146 * ScrollableControl.cs: Now calls base method for ScaleCore
16147 * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
16148 style to avoid interference with internal click handler (which is
16149 different than standard Control click handling)
16151 - Now unchecks all sibling radio buttons when control is
16152 selected (Fixes #68756)
16153 - Removed internal tabstop variable, using the one inherited from
16156 2005-01-17 Jackson Harper <jackson@ximian.com>
16158 * NavigateEventArgs.cs: Fix base type.
16159 * LinkLabel.cs: Sig fix
16161 2005-01-17 Jackson Harper <jackson@ximian.com>
16163 * TreeView.cs: Only invalidate the effected nodes bounds when
16166 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
16168 * XplatUIWin32.cs: fixes Win32 marshaling
16169 * XplatUIX11.cs: fixes method signature
16171 2005-01-17 Peter Bartok <pbartok@novell.com>
16173 * XplatUIX11.cs: Clean up resources when we no longer need them
16175 2005-01-17 Peter Bartok <pbartok@novell.com>
16177 * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
16178 OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
16179 and DestroyCursor() methods.
16180 * Cursor.cs: Partially implemented, now supports standard cursors;
16181 still contains some debug code
16182 * Cursors.cs: Implemented class
16184 - WndProc(): Added handling of WM_SETCURSOR message, setting the
16186 - Implemented Cursor property
16187 - Replaced break; with return; more straightforwar and possibly
16189 - Now properly setting the result for WM_HELP
16190 * X11Structs.cs: Added CursorFontShape enum
16191 * XplatUIStructs.cs:
16192 - Added StdCursor enum (to support DefineStdCursor() method)
16193 - Added HitTest enum (to support sending WM_SETCURSOR message)
16195 - Now sends the WM_SETCURSOR message
16196 - Implemented new cursor methods
16197 * XplatUIOSX.cs: Stubbed new cursor methods
16199 - Implemented new cursor methods
16200 - Added GetSystemMetrics function and associated enumeration
16202 2005-01-15 Peter Bartok <pbartok@novell.com>
16205 - WndProc(): Now handles EnableNotifyMessage
16206 - SelectNextControl(): Fixed bug where if no child or sibling
16207 controls exist we looped endlessly
16209 2005-01-14 Jackson Harper <jackson@ximian.com>
16211 * TreeView.cs: Recalculate the tab pages when a new one is added
16212 so that the proper bounding rects are created.
16214 2005-01-14 Jackson Harper <jackson@ximian.com>
16216 * TreeView.cs: Draw a gray box instead of a grip in the lower
16217 right hand corner when there are both horizontal and vertical
16220 2005-01-14 Jackson Harper <jackson@ximian.com>
16222 * Control.cs: When erasing backgrounds use FromHwnd instead of
16223 FromHdc when there is a NULL wparam. This occurs on the X driver.
16224 * XplatUIX11.cs: Set the wparam to NULL.
16226 2005-01-13 Jackson Harper <jackson@ximian.com>
16228 * PictureBox.cs: Implement missing methods (except ToString, need
16229 to test that on windows) and events. When visibility is changed we
16230 need to redraw the image because the buffers are killed. When size
16231 is changed refresh if the sizemode needs it.
16233 2005-01-13 Peter Bartok <pbartok@novell.com>
16235 * Control.cs (SelectNextControl): Was using wrong method to select
16238 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
16240 * ComboBox.cs: fixes dropstyle
16242 2005-01-13 Peter Bartok <pbartok@novell.com>
16245 - Implemented Select() override
16246 - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
16247 - Now sets keyboard focus on startup
16248 * Control.cs (SelectNextControl): Now properly handles directed=true
16250 - WndProc: Now passes tab key on to base if AcceptTabChar=false
16251 - Added (really bad) focus rectangle (mostly for testing)
16252 * TextBox.cs: Added code to handle getting/loosing focus and invalidating
16253 to enforce redraw on focus changes
16254 * ContainerControl.cs:
16255 - Fixed detection of Shift-Tab key presses
16256 - Fixed traversal with arrow keys
16257 * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
16258 gonna keep this or if it's complete yet
16260 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
16262 * ComboBox.cs: missing properties, fixes
16264 2005-01-13 Peter Bartok <pbartok@novell.com>
16266 * Panel.cs (ctor): Setting Selectable window style to off
16267 * Splitter.cs (ctor): Setting Selectable window style to off
16268 * GroupBox.cs (ctor): Setting Selectable window style to off
16269 * Label.cs (ctor): Setting Selectable window style to off
16271 2005-01-12 Miguel de Icaza <miguel@ximian.com>
16273 * UpDownBase.cs (InitTimer): If the timer has been already
16274 created, enable it.
16276 Use a TextBox instead of a Label.
16278 2005-01-12 Jackson Harper <jackson@ximian.com>
16280 * TreeView.cs: Refresh the tree after sorting the nodes. Always
16281 draw the connecting node lines (when ShowLines is true).
16282 * TreeNode.cs: The nodes index can now be updated. This is used
16283 when a node collection is sorted.
16284 * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
16285 insert or an existing unsorted node collection can be sorted.
16287 2005-01-12 Peter Bartok <pbartok@novell.com>
16289 * ContainerControl.cs: Implemented ProcessDialogKeys()
16291 2005-01-12 Peter Bartok <pbartok@novell.com>
16294 - Implemented SelectNextControl() method
16295 - Several focus related bug fixes
16296 - Fixed Docking calculations to match MS documentation and
16299 2005-01-12 Jordi Mas i Hernandez <jordi@ximian.com>
16301 * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
16304 2005-01-12 Peter Bartok <pbartok@novell.com>
16307 - Fixed broken Contains() method
16308 - Implemented GetNextControl() method. Finally. This is the pre-
16309 requisite for focus handling.
16311 2005-01-12 Peter Bartok <pbartok@novell.com>
16313 * OSXStrucs.cs: Added
16315 2005-01-12 Peter Bartok <pbartok@novell.com>
16318 - Removed PeekMessageFlags
16319 - Implemented SetWindowStyle() method
16320 * XplatUIStructs.cs: Added PeekMessageFlags
16321 * X11Structs: Added missing border_width field to XWindowChanges struct
16323 - PeekMessage: Now throws exception if flags which are not yet
16324 supported are passed
16325 - Implemented SetWindowStyle() method
16326 - Fixed SetZOrder to handle AfterHwnd properly
16327 * XplatUI.cs: Added SetWindowStyle() method
16328 * XplatUIDriver.cs: Added SetWindowStyle() abstract
16330 - Implemented UpdateStyles() method
16331 - Implemented UpdateZOrder() method
16332 * XplatUIOSX.cs: Added SetWindowStyle() stub
16334 2005-01-12 Geoff Norton <gnorton@customerdna.com>
16336 * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
16340 2005-01-11 Jackson Harper <jackson@ximian.com>
16342 * TreeView.cs: Still need to draw lines to siblings even if out of
16343 the current node is out of the clip.
16345 2005-01-11 Jackson Harper <jackson@ximian.com>
16347 * TreeView.cs: When setting the hbar/vbar/grip position use
16348 SetBounds so that perform layout is only called once. Also suspend
16349 and resume layout so layout is only done once for all controls.
16350 - Removed some debug fluff
16351 * SizeGrip.cs: Call base implmentation in overriding methods.
16352 - When visibility is changed the drawing buffers are killed so we
16355 2005-01-11 Jackson Harper <jackson@ximian.com>
16357 * TreeView.cs: Calculate the open node count while drawing. This
16358 saves us an entire tree traversal for every paint operation. Use
16359 a member var for the open node count so less vars are passed around.
16361 2005-01-11 John BouAntoun <jba-mono@optusnet.com.au>
16363 * MonthCalendar.cs:
16364 - fixed selection to use mousemove, not mouse polling on timer
16365 * ThemeWin32Classic.cs
16366 - removed redundant unused variable "no_more_content"
16368 2005-01-11 Peter Bartok <pbartok@novell.com>
16370 * XplatUIX11.cs (DoEvents): Needs to return when no more events
16371 are pending, so it now calls PeekMessage instead of GetMessage;
16372 implemented a incomplete version of PeekMessage
16374 2005-01-11 Peter Bartok <pbartok@novell.com>
16376 * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
16378 * TextBoxBase.cs: Added sending of TextChanged event
16380 2005-01-10 Jackson Harper <jackson@ximian.com>
16382 * TreeView.cs: Try not to draw outside the clipping rectangle on
16385 2005-01-10 Jordi Mas i Hernandez <jordi@ximian.com>
16387 * ComboBox.cs: keyboard navigation, item navigation, bug fixes
16389 2005-01-10 Jackson Harper <jackson@ximian.com>
16392 - Implement fast scrolling. Now only the newly
16393 exposed nodes are drawn and the old image is moved using the
16394 XplatUI::ScrollWindow method.
16395 - Factor in height of nodes when calculating whether or not the
16396 node is in the clipping rect.
16398 2005-01-10 Jackson Harper <jackson@ximian.com>
16400 * TreeNodeCollection.cs: Refresh the tree when a new node is added.
16402 2005-01-10 Peter Bartok <pbartok@novell.com>
16404 * Application.cs: Added temporary hack to resolve all our resize
16405 required issues on startup. This will get fixed properly at
16406 some point in the future
16408 2005-01-10 Jackson Harper <jackson@ximian.com>
16410 * SizeGrip.cs: New internal class that is used as a sizing
16411 grip control...hence the name.
16413 2005-01-10 Peter Bartok <pbartok@novell.com>
16415 * Control.cs: Implemented proper TabIndex handling, now assigning
16416 a tabindex when a control is added to a container
16417 * GroupBox.cs (ctor): Now sets the Container style bit, required
16418 for Control.GetNextControl()
16420 2005-01-09 Jackson Harper <jackson@ximian.com>
16422 * TextBoxBase.cs: Clear window when scrolling (fixes build).
16424 2005-01-09 Peter Bartok <pbartok@novell.com>
16426 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
16427 XplatUIX11.cs: Added ability to control ScrollWindow expose and
16428 an overload for ScrollWindow to allow only scrolling a rectangle
16430 2005-01-09 Peter Bartok <pbartok@novell.com>
16433 - Implemented SetDesktopBounds method
16434 - Implemented SetDesktopLocation method
16436 2005-01-08 Jackson Harper <jackson@ximian.com>
16438 * TreeView.cs: Only set the vbar's Maximum and LargeChange when
16439 the node count has changed, this removes to VScroll::Refresh calls
16442 2005-01-08 Geoff Norton <gnorton@customerdna.com>
16444 * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
16446 2005-01-07 Jackson Harper <jackson@ximian.com>
16448 * TreeNode.cs: Just update the single node when it is
16449 checked. Don't refresh after toggling, the Expand/Collapse already
16451 * TreeView.cs: Respect clipping a little more when drawing. Try
16452 not to redraw things that don't need to be redrawn. Just hide the
16453 scrollbars when they are no longer needed instead of removing
16454 them, so they don't have to be created again and again.
16456 2005-01-07 Geoff Norton <gnorton@customerdna.com>
16458 * XplatUIOSX.cs (SetCaretPos): We need to translate the view
16459 coordinates to window space to place the caret properly, FIXED.
16460 Implement GetWindowState & SetWindowState
16462 2005-01-06 Peter Bartok <pbartok@novell.com>
16465 - Implemented ClientSize property
16466 - Implemented DesktopBounds property
16467 - Implemented DesktopLocation property
16468 - Implemented IsRestrictedWindow property
16469 - Implemented Size property
16470 - Implemented TopLevel property
16471 - Implemented FormWindowState property
16473 - Implemented GetTopLevel() method
16474 - Implemented SetTopLevel() method
16475 * X11Structs.cs (Atom):
16476 - Added AnyPropertyType definition
16477 - Added MapState definiton and updated XWindowAttribute struct
16478 * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
16479 * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
16480 * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
16482 - Implemented GetWindowState() and SetWindowState() methods
16483 - Fixed Win32GetWindowLong return type
16485 - Introduced central function for sending NET_WM messages
16486 - Implemented GetWindowState() and SetWindowState() methods
16487 * TextBoxBase.cs (set_Lines):
16488 - Now uses Foreground color for text added via Text property (Duh!)
16489 - Added code to remember programmatically requested size (fixes
16490 behaviour when Multiline is set after Size)
16491 - Added AutoSize logic
16493 2005-01-06 Jackson Harper <jackson@ximian.com>
16495 * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
16497 2005-01-06 Jackson Harper <jackson@ximian.com>
16499 * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
16500 set to less then 0.
16502 2005-01-06 Jackson Harper <jackson@ximian.com>
16504 * ScrollableControl.cs: Lazy init the scrollbars.
16506 2005-01-06 Jackson Harper <jackson@ximian.com>
16508 * Theme.cs: Speed up getting pens and solid brushes, by using
16509 their ARGB as a hash instead of tostring and not calling Contains.
16511 2005-01-06 Peter Bartok <pbartok@novell.com>
16514 - Implemented OnActivated and OnDeactivate event trigger
16515 - Implemented Activate() method
16516 - Fixed ShowDialog() to activate the form that was active before
16517 the dialog was shown
16519 - Added global active_window var that tracks the currently active
16521 - Now always grabs Property changes from the root window to always
16522 catch changes on the active window property
16523 - Added code to PropertyNotify handler to send Active/Inactive
16524 messages when state changes. This puts X11 and Win32 en par on
16525 WM_ACTIVATE notifications (except for double notifications when
16526 the user clicks away from our modal window to another one of our
16529 2005-01-05 Jackson Harper <jackson@ximian.com>
16531 * ImageList.cs: Implment ctor
16533 2005-01-05 Geoff Norton <gnorton@customerdna.com>
16535 * XplatUIOSX.cs: Implement Activate/SetTopmost
16537 2005-01-05 Geoff Norton <gnorton@customerdna.com>
16539 * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
16541 2005-01-05 Geoff Norton <gnorton@customerdna.com>
16543 * XplatUIOSX.cs: Implement GetActive/SetFocus.
16545 2005-01-05 Peter Bartok <pbartok@novell.com>
16547 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
16548 XplatUIOSX.cs: Added GetActive method to return the currently
16549 active window for the application (or null, if none is active)
16551 - Implemented ActiveForm
16552 - Commented out owner assignment for modal dialogs (causes problems
16553 on Win32, since the owner will be disabled)
16554 - Reworked some Active/Focus handling (still incomplete)
16555 * CommonDialog.cs: Commented out owner assignment for modal dialogs
16556 (causes problems on Win32, since the owner will be disabled)
16557 * IWin32Window: Added ComVisible attribute
16559 2005-01-05 Peter Bartok <pbartok@novell.com>
16561 * ToolTip.cs (WndProc): Enable setting focus now that we have the
16562 required XplatUI functions.
16564 2005-01-05 Peter Bartok <pbartok@novell.com>
16566 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
16567 XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
16568 to implement focus and activation handling; still incomplete and
16571 2005-01-04 Peter Bartok <pbartok@novell.com>
16573 * TextBoxBase.cs: Changed access level for Document property to
16574 match switch to internal for TextControl
16576 2005-01-04 Peter Bartok <pbartok@novell.com>
16578 * AccessibleObject: Added ComVisible attribute
16580 2005-01-04 Jackson Harper <jackson@ximian.com>
16582 * X11Keyboard.cs: Remove unneeded var.
16584 2005-01-04 Jackson Harper <jackson@ximian.com>
16586 * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
16588 * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
16589 ClientMessage. This makes apps exit cleanly (more often).
16591 2005-01-04 Jackson Harper <jackson@ximian.com>
16593 * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
16594 handling focus, return correct colors and fonts,
16595 * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
16596 handle selection, horizontal scrolling, and mouse interaction.
16598 2005-01-04 Peter Bartok <pbartok@novell.com>
16600 * ICommandExecutor.cs: Added
16601 * IDataGridColumnStyleEditingNotificationService.cs: Added
16602 * IFeatureSupport.cs: Added
16603 * IFileReaderService.cs: Added
16604 * IDataObject.cs: Added ComVisible attribute
16605 * AmbientProperties.cs: Added
16606 * BaseCollection.cs: Added missing attributes
16607 * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
16608 * BaseCollection.cs: Added missing attributes
16609 * Binding.cs: Added TypeConverter attribute
16610 * BindingContext.cs: Added DefaultEvent attribute
16611 * BindingsCollection.cs: Added DefaultEvent attribute
16612 * Button.cs: Added DefaultValue attribute
16613 * DragEventArgs.cs: Added ComVisible attribute
16614 * GiveFeedbackEventArgs.cs: Added ComVisible attribute
16615 * KeyEventArgs.cs: Added ComVisible attribute
16616 * KeyPressEventArgs.cs: Added ComVisible attribute
16617 * MouseEventArgs.cs: Added ComVisible attribute
16618 * NavigateEventArgs.cs: Added
16619 * NavigateEventHandler.cs: Added
16620 * FeatureSupport.cs: Added
16621 * OSFeature.cs: Added
16622 * Theme.cs: Added abstract Version property to support OSFeature
16623 * ThemeWin32Classic.cs: Added Version property to
16624 support OSFeature.Themes
16625 * ProgressBar.cs: Removed OnPaintBackground override, not required since
16626 the proper styles to avoid background drawing are set, also doesn't
16628 * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
16629 * QueryContinueDragEventArgs.cs: Added ComVisible attribute
16630 * ScrollEventArgs.cs: Added ComVisible attribute
16631 * SplitterEventArgs.cs: Added ComVisible attribute
16632 * AccessibleSelection.cs: Added Flags attribute
16633 * Appearance.cs: Added ComVisible attribute
16634 * Border3DSide.cs: Added ComVisible attribute
16635 * Border3DStyle.cs: Added ComVisible attribute
16636 * BorderStyle.cs: Added ComVisible attribute
16637 * DragAction.cs: Added ComVisible attribute
16638 * ErrorBlinkStyle.cs: Added
16639 * ScrollEventType.cs: Added ComVisible attribute
16640 * AnchorStyles.cs: Added Editor attribute
16641 * DockStyle.cs: Added Editor attribute
16642 * HorizontalAlignment.cs: Added ComVisible attribute
16643 * HelpEventArgs.cs: Added ComVisible attribute
16644 * PaintEventArgs.cs: Added IDisposable
16646 2005-01-04 Peter Bartok <pbartok@novell.com>
16648 * TextControl.cs: Switched Line, LineTag and Document classes to
16651 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
16653 * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
16654 Simple mode, fixes, IntegralHeight, etc.
16656 2005-01-04 Peter Bartok <pbartok@novell.com>
16658 * TextBoxBase.cs: Using proper font variable now
16660 2005-01-04 Peter Bartok <pbartok@novell.com>
16662 * Form.cs (ShowDialog): Set parent to owner, if provided
16663 * GroupBox.cs: Removed unused vars
16665 - Added GetHashCode() for Document and LineTag classes
16666 - Removed unused variables
16667 - Added CharIndexToLineTag() and LineTagToCharIndex() methods
16668 to allow translation between continuous char position and line/pos
16669 * CheckBox.cs: Removed vars that are provided by base class
16670 * RadioButton.cs: Removed vars that are provided by base class, added
16671 new keyword where required
16672 * LinkLabel.cs: Added new keyword where required
16673 * Control.cs (WndProc): Removed unused variable
16675 - Finished SelectionLength property
16676 - Implemented SelectionStart property
16677 - Implemented Text property
16678 - Removed unused vars
16679 * MessageBox.cs: Added new keyword where required
16680 * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
16682 * MenuAPI.cs: Added new keyword where required
16683 * ButtonBase.cs: Removed vars that are provided by base class, added
16684 new keyword where required
16685 * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
16686 argument to double, to allow compiling with csc 2.0 (Atsushi ran
16688 * Application.cs (Run): Now triggers the ThreadExit event
16689 * CommonDialog.cs: Added new keyword where required; now properly sets
16690 parent (owner) for dialog
16691 * XplatUIX11.cs: Commented out unused vars
16692 * StatusBar.cs: Fixed signature for Text property
16693 * TabPage.cs: Undid Jordi's removal of unused var, now using the var
16695 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
16697 * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
16698 TrackBar.cs, MonthCalendar.cs: remove unused vars
16700 2005-01-03 Jackson Harper <jackson@ximian.com>
16702 * ThemeWin32Classic.cs:
16703 * X11Keyboard.cs: Remove unused vars.
16705 2005-01-03 Peter Bartok <pbartok@novell.com>
16708 - set_Text: Tied into TextControl
16709 - set_TextAlignment: Tied into TextControl
16711 - Added alignment properties and implemented alignment handling
16712 and drawing (still has a bug, not generating proper expose events)
16713 - Added new Line() constructor to allow passing the line alignment
16714 - Fixed selection setting, properly handling end<start now
16715 - Added aligment considerations to RecalculateDocument()
16717 - Now properly enforces control height for single line controls
16718 - Added support for CharacterCasing
16719 - Added IsInputKey override
16720 - Fixed Keys.Enter logic
16721 - Added SetBoundsCore override
16722 - Fixed mouse selection handling
16724 2005-01-03 Jackson Harper <jackson@ximian.com>
16727 - Collapse and uncheck all nodes when CheckBoxes is disabled.
16728 - Checkboxes are always aligned to the bottom of the node,
16729 regardless of item height.
16730 - Use the node bounds to draw the text so we can center it when
16731 the item height is greater then the font height.
16732 - Node::Bounds are only the text part of the node.
16733 * TreeNode.cs: New method to combine collapsing and unchecking all
16736 2005-01-02 Jackson Harper <jackson@ximian.com>
16738 * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
16739 * TreeNode.cs: Add a bounding box for the checkbox, refresh the
16740 tree when a check is changed. TODO: Only refresh the checked node.
16742 2004-12-30 Jackson Harper <jackson@ximian.com>
16744 * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
16745 * TreeNode.cs: When collapsing make sure to never collapse the
16748 2004-12-29 Jackson Harper <jackson@ximian.com>
16750 * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
16752 2004-12-28 Zoltan Varga <vargaz@freemail.hu>
16754 * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
16756 2004-12-28 Peter Bartok <pbartok@novell.com>
16758 * MessageBox.cs (get_CreateParams): Don't use owner var if it's
16761 2004-12-28 Peter Bartok <pbartok@novell.com>
16763 * Control.cs (WndProc): Added WM_HELP handler, now generates
16764 HelpRequested event
16765 * Form.cs: Added HelpButton property and required support code
16766 * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
16768 2004-12-28 Peter Bartok <pbartok@novell.com>
16771 - Made DialogForm.owner variable internal
16772 - Added check to ensure owner form is set before setting
16773 owner properties in CreateParams
16775 2004-12-28 Geoff Norton <gnorton@customerdna.com>
16777 * XplatUIOSX.cs: Implement mouse hovering. Fix QDPoint struct to avoid
16778 swizzling. Implement ClientToScreen and ScreenToClient. Implement
16779 GetCursorPos. Fix major visibility issues. Rework the windowing
16780 system to support borderless/titleless windows (implements menus).
16781 Fix GetWindowPos. Implement initial background color support for
16784 2004-12-28 Peter Bartok <pbartok@novell.com>
16786 * Form.cs (get_CreateParams): Make sure we have an owner before using
16787 the owner variable. Implement proper default if no owner exists
16789 2004-12-28 Peter Bartok <pbartok@novell.com>
16791 * In preparation for making Managed.Windows.Forms the default build target
16792 for System.Windows.Forms, the following stubbed files were added.
16793 Dialogs are currently being implemented by contributors and are only
16794 short-term place holders.
16795 * ColorDialog.cs: Initial check-in (minmal stub)
16796 * DataGrid.cs: Initial check-in (minimal stub)
16797 * DataGridLineStyle.cs: Initial check-in (minimal stub)
16798 * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
16799 * DataGridTableStyle.cs: Initial check-in (minimal stub)
16800 * FontDialog.cs: Initial check-in (minimal stub)
16801 * FileDialog.cs: Initial check-in (minimal stub)
16802 * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
16803 * GridTableStylesCollection.cs: Initial check-in (minimal stub)
16804 * OpenFileDialog: Initial check-in (minimal stub)
16805 * IComponentEditorPageSite.cs: Initial check-in
16806 * Splitter.cs: Initial check-in (for Jackson)
16807 * SplitterEventArgs.cs: Initial check-in (for Jackson)
16808 * SplitterEventHandler.cs: Initial check-in (for Jackson)
16809 * TextBox.cs: Initial check-in; still needs some wiring to
16810 TextControl backend
16811 * Form.cs: Implemented ControlBox property
16812 * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
16813 * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
16814 * TextControl.cs: Added selection functionality; added todo header
16816 - Implemented Lines property
16817 - Implemented TextHeight property
16818 - Implemented SelectedText property
16819 - Implemented SelectionLength property
16820 - Implemented SelectAll method
16821 - Implemented ToString method
16822 - Removed and cleaned up some debug code
16823 - Implemented (still buggy) mouse text selection
16825 2004-12-27 Jordi Mas i Hernandez <jordi@ximian.com>
16827 * ComboBox.cs: Complete DropDownList implementation, fixes.
16829 2004-12-26 Jordi Mas i Hernandez <jordi@ximian.com>
16831 * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
16832 * ComboBoxStyle.cs: ComboBoxStyle enum
16833 * ComboBox.cs: Initial work on ComboBox control
16835 2004-12-21 Peter Bartok <pbartok@novell.com>
16837 * Control.cs (ctor, CreateParams): Moved setting of is_visible
16838 forward so that anything that creates a window gets the default,
16839 also no longer uses Visible property in CreateParams to avoid
16840 walking up the parent chain and possibly get the wrong visible
16841 status. Fixed IsVisible to no longer walk up to the parent.
16843 2004-12-21 Peter Bartok <pbartok@novell.com>
16845 * Form.cs (ShowDialog): Unset modality for the proper window
16847 2004-12-20 Peter Bartok <pbartok@novell.com>
16849 * CommonDialog.cs: Initial check-in
16851 2004-12-20 Peter Bartok <pbartok@novell.com>
16853 * Control.cs (Visible): Now uses the parent window instead of the
16854 client area window for the property
16857 - ShowDialog(): Now uses the proper window for modality
16858 - The default visibility state for the form parent is now false. This
16859 will prevent the user from seeing all the changes to the form and
16860 its controls before the application hits Application.Run()
16861 - Removed some stale commented out code
16864 - Added FindWindow() method to have a method to check for existence
16866 - Added ability to override default exception handling (for example
16867 when debugging with VS.Net; to do this the ExternalExceptionHandler
16869 - Removed some useless debug output
16872 - Removed r37929 (SetModal patch from Ashwin Bharambe), was
16873 not working as expected
16874 - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
16875 property to allow switching back to the modal window if focus is
16876 given to another one of our windows (Application Modal)
16877 - Now only sets override_redirect if we create a window
16879 - Moved EventMask selection before mapping of newly created window
16880 so we can catch the map event as well
16881 - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
16882 - Added various Atom related DllImports
16883 - Implemented Exit() method
16884 - .ctor() : No longer shows window if WS_VISIBLE is not defined
16885 in the CreateParams
16887 * MessageBox.cs: Now properly deals with the FormParent window by
16888 providing an override the FormParent CreateParams property to
16889 set as POPUP instead of OVERLAPPED window.
16891 2004-12-19 Geoff Norton <gnorton@customerdna.com>
16893 * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow
16894 Minor code cleanup.
16896 2004-12-19 Geoff Norton <gnorton@customerdna.com>
16898 * XplatUIOSX.cs (SetModal): Implement this method on OSX.
16900 2004-12-18 Peter Bartok <pbartok@novell.com>
16902 * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
16903 implementing SetModal() method
16905 2004-12-18 Peter Bartok <pbartok@novell.com>
16907 * X11Structs.cs (XGCValues): Fixed type of function element
16908 * XplatUI.cs: Added ScrollWindow() method
16909 * XplatUIDriver.cs: Added ScrollWindow() abstract
16910 * XplatUIWin32.cs: Implemented ScrollWindow() method
16911 * XplatUIX11.cs: Implemented ScrollWindow() method
16912 * XplatUIOSX.cs: Stubbed out ScrollWindow() method
16914 2004-12-17 Geoff Norton <gnorton@customerdna.com>
16916 * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it
16917 Some more keyboard support (INCOMPLETE)
16919 2004-12-17 Peter Bartok <pbartok@novell.com>
16922 - Added color attribute to line tags.
16923 - Added color argument to all functions dealing with tags
16924 - Added color argument support to various functions
16925 - Fixed miss-calculation of baseline/shift in certain circumstances
16927 * TextBoxBase.cs: Added new color option to test code
16929 2004-12-17 Jackson Harper <jackson@ximian.com>
16932 * MonthCalendar.cs: Signature fixes
16934 2004-12-17 Geoff Norton <gnorton@customerdna.com>
16936 * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
16937 keyboard event moved it. Create a new graphics context for each paint resolves this
16939 2004-12-17 Geoff Norton <gnorton@customerdna.com>
16941 * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
16942 Make caret exist and go blink blink. Initial keyboard support.
16943 Fix exception handler, Add Invalidate support. Change way RefreshWindow
16946 2004-12-17 Jackson Harper <jackson@ximian.com>
16948 * XplatUIStructs.cs: Updated set of virtual keycodes.
16949 * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
16951 2004-12-17 Jackson Harper <jackson@ximian.com>
16953 * XplatUIX11.cs: Prune old keyboard code.
16955 2004-12-17 Jackson Harper <jackson@ximian.com>
16957 * XplatUIX11.cs: When generating mouse wparams get the modifier
16958 keys from the ModifierKeys property.
16960 2004-12-17 Jackson Harper <jackson@ximian.com>
16962 * X11Keyboard.cs: Send up/down input when generating
16963 messages. Remove some unused vars.
16965 2004-12-17 Jackson Harper <jackson@ximian.com>
16968 * TreeView.cs: get rid of warnings.
16970 2004-12-17 Jackson Harper <jackson@ximian.com>
16972 * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
16974 2004-12-17 Jordi Mas i Hernandez <jordi@ximian.com>
16976 * ListBox.cs: bug fixes, changes for CheckedListBox.cs
16977 CheckedListBox.cs: Implementation
16979 2004-12-17 Peter Bartok <pbartok@novell.com>
16981 * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
16983 2004-12-16 Peter Bartok <pbartok@novell.com>
16986 - InsertCharAtCaret(): Fixed start pos fixup
16987 - CaretLine_get: No longer derives the line from the tag, the tag
16988 could be stale if lines in the document have been added or deleted
16989 - RebalanceAfterDelete(): Fixed bug in balancing code
16990 - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
16991 - Line.Streamline(): Now can also elminate leading empty tags
16992 - DumpTree(): Added a few more tests and prevented exception on
16994 - Added Debug section for Combining lines
16995 - Delete(): Now copies all remaining properties of a line
16998 - Left mousebutton now sets the caret (and middle button still acts
16999 as formatting tester, which must go away soon)
17000 - Added Debug section for Deleting/Combining lines
17001 - Fixed calculations for UpdateView after Combining lines
17003 2004-12-16 Peter Bartok <pbartok@novell.com>
17005 * TextControl.cs: Now properly aligns text on a baseline, using the
17006 new XplatUI.GetFontMetrics() method. Simplified several calculations
17007 * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
17010 2004-12-16 Peter Bartok <pbartok@novell.com>
17012 * XplatUI.cs: Added GetFontMetrics() method
17013 * XplatUIDriver.cs: Added GetFontMetrics() abstract
17014 * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
17015 into libgdiplus, our private GetFontMetrics function
17016 * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
17017 * XplatUIWin32.cs: Implemented GetFontMetrics() method
17019 2004-12-16 Jackson Harper <jackson@ximain.com>
17021 * XplatUIStruct.cs: Add enum for dead keys
17022 * X11Keyboard.cs: Map and unmap dead keys.
17024 2004-12-16 Jackson Harper <jackson@ximian.com>
17026 * X11Keyboard.cs: Detect and use the num lock mask.
17028 2004-12-16 Peter Bartok <pbartok@novell.com>
17030 * Control.cs (CreateGraphics): Added check to make sure the
17031 handle of the window exists before calling Graphics.FromHwnd()
17033 2004-12-16 Peter Bartok <pbartok@novell.com>
17035 * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
17036 contains a lot of code that's not supposed to be there for the
17037 real thing, but required for developing/testing the textbox
17040 2004-12-16 Peter Bartok <pbartok@novell.com>
17043 - Fixed Streamline method
17044 - Added FindTag method to Line
17045 - Added DumpTree method for debugging
17046 - Added DecrementLines() method for deleting lines
17047 - Fixed UpdateView to update the cursor to end-of-line on single-line
17049 - Added PositionCaret() method
17050 - Fixed MoveCaret(LineDown) to move into the last line, too
17051 - Added InsertChar overload
17052 - Fixed InsertChar tag offset calculations
17053 - Added DeleteChar() method
17054 - Added Combine() method for folding lines
17055 - Fixed Delete() method, no longer allocates wasted Line object and
17056 now copies all properties when swapping nodes
17057 - Delete() method now updates document line counter
17059 2004-12-15 Jackson Harper <jackson@ximian.com>
17061 * XplatUIX11.cs: Get the modifier keys from the keyboard driver
17062 * X11Keyboard.cs: Expose the currently selected modifier keys
17063 through a property.
17065 2004-12-15 Peter Bartok <pbartok@novell.com>
17067 * TextControl.cs: Initial check-in. Still incomplete
17069 2004-12-15 Jackson Harper <jackson@ximian.com>
17072 * TreeView.cs: Fix build on csc (second time today ;-))
17074 2004-12-15 Jackson Harper <jackson@ximian.com>
17076 * TreeView.cs: Store the treenodes plus/minus box bounds when it
17077 is calculated and use this for click testing.
17078 * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
17080 2004-12-15 Jackson Harper <jackson@ximian.com>
17082 * TreeView.cs: Pass the nodes image index to the image list when
17083 drawing that image.
17085 2004-12-15 Jackson Harper <jackson@ximian.com>
17087 * X11Keyboard.cs: Set messages hwnd.
17088 * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
17089 post_message calls.
17091 2004-12-15 Jackson Harper <jackson@ximian.com>
17093 * X11Keyboard.cs: Fix to compile with csc.
17095 2004-12-15 Jackson Harper <jackson@ximian.com>
17097 * X11Structs.cs: Add key mask values
17098 * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
17099 * X11Keyboard.cs: New file - Extrapolates and interpolates key
17100 down/up foo into WM_CHAR foo
17101 * KeyboardLayouts.cs: Common keyboard layouts
17102 * XplatUIX11.cs: Add the keyboard driver. Add functionality to
17103 post messages into the main queue.
17105 2004-12-13 Jordi Mas i Hernandez <jordi@ximian.com>
17107 * Button.cs: implement ProcessMnemonic
17108 * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
17110 * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
17111 * ButtonBase.cs: Show HotkeyPrefix (not the &)
17113 2004-12-12 John BouAntoun <jba-mon@optusnet.com.au>
17115 * MonthCalendar.cs: Implemented click-hold for next/previous month
17118 2004-12-11 Peter Bartok <pbartok@novell.com>
17121 - Added XKeyboardState (moved from XplatUIX11.cs)
17122 - Added XCreateGC related enums and structures
17123 - Added GXFunction for XSetFunction
17125 * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
17127 * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
17128 CaretVisible() calls
17130 * ToolTip.cs: Added code to prevent stealing focus from app windows
17132 * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
17133 DestroyCaret, SetCaretPos and CaretVisible)
17136 - Added implementation for caret functions
17137 - Moved hover variables into a struct, to make it a bit easier
17138 on the eyes and to debug
17139 - Removed XKeyboardState (moved to XplatUIX11.cs)
17140 - Moved Keyboard properties into the properties region
17142 * Control.cs (get_Region): Control.CreateGraphics is the appropriate
17143 call to get a graphics context for our control
17145 * XplatUIOSX.cs: Added empty overrides for the new caret functions
17147 * TreeView.cs: Fixed bug. No matter what color was set it would always
17148 return SystemColors.Window
17150 * XplatUIWin32.cs: Implemented caret overrides
17152 2004-12-10 Jordi Mas i Hernandez <jordi@ximian.com>
17154 * ListBox.cs: fire events, implement missing methods and properties,
17157 2004-12-10 John BouAntoun <jba-mono@optusnet.com.au>
17159 * MonthCalendar.cs: invalidation bug fixing
17160 * ThemeWin32Classic.cs: paint fixing
17162 2004-12-09 Geoff Norton <gnorton@customerdna.com>
17164 * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
17165 prepare the CGContextRef there now.
17167 2004-12-09 John BouAntoun <jba-mono@optusnet.com.au>
17169 * MonthCalendar.cs:
17170 - optimisationL only invalidate areas that have changed
17171 * ThemeWin32Classic.cs:
17172 - only paint parts that intersect with clip_area
17174 2004-12-09 Peter Bartok <pbartok@novell.com>
17176 * Application.cs: Undid changes from r37004 which cause problems
17179 2004-12-09 Ravindra <rkumar@novell.com>
17181 * ToolBar.cs: Added support for displaying ContextMenu
17182 attached to a button on ToolBar.
17183 * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
17186 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
17188 * Label.cs: autosize works in text change and removes unnecessary
17191 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
17193 * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
17196 2004-12-08 Geoff Norton <gnorton@customerdna.com>
17198 * XplatUIOSX.cs: Added mouse move/click/grab support
17199 Remove some debugging WriteLines not needed anymore.
17200 Add window resizing/positioning.
17201 Fix visibility on reparenting.
17203 2004-12-08 Peter Bartok <pbartok@novell.com>
17205 * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
17207 2004-12-07 Geoff Norton <gnorton@customerdna.com>
17209 * XplatUIOSX.cs: Initial checkin
17210 * XplatUI.cs: Use the Quartz driver if the environment is set to use it
17212 2004-12-03 Ravindra <rkumar@novell.com>
17214 * ListView.cs: Added some keybindings and fixed scrolling.
17215 ScrollBars listen to ValueChanged event instead of Scroll
17216 Event. This would let us take care of all changes being
17217 done in the scrollbars' values programmatically or manually.
17218 * ListView.cs (CanMultiselect): Added a check for shift key.
17219 * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
17220 * ListViewItem.cs (Clone): Fixed. We need to make a copy
17221 of ListViewSubItemCollection as well.
17223 2004-12-06 Peter Bartok <pbartok@novell.com>
17225 * Control.cs (Parent): Added check and exception to prevent
17228 2004-12-03 Jordi Mas i Hernandez <jordi@ximian.com>
17230 * ListBox.cs: implemented clipping, selection single and multiple,
17233 2004-12-03 Ravindra <rkumar@novell.com>
17235 * ListView.cs (ListView_KeyDown):
17236 * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
17237 when CTRL key is pressed.
17238 * ListViewItem.cs (Selected): Fixed setting the property.
17240 2004-12-03 Marek Safar <marek.safar@seznam.cz>
17242 * Application.cs (OnThreadException): Use ThreadExceptionDialog.
17244 * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
17245 MinimizeBox, ShowInTaskbar, TopMost properties.
17247 * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
17248 will be implemented).
17250 2004-12-03 Marek Safar <marek.safar@seznam.cz>
17252 * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
17254 * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
17257 * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
17259 * TreeView.cs: BackColor is Colors.Window.
17261 2004-12-01 Jackson Harper <jackson@ximian.com>
17263 * TreeView.cs: When resizing the tree if the user is making it
17264 smaller we don't get expose events, so we need to handle adding
17265 the horizontal scrollbar in the size changed handler as well as
17266 the expose handler.
17268 2004-12-02 Jordi Mas i Hernandez <jordi@ximian.com>
17270 * DrawItemState.cs: fixes wrong enum values
17272 2004-12-01 Jackson Harper <jackson@ximian.com>
17274 * TreeView.cs: Resize the hbar as well as the vbar on resize.
17276 2004-12-01 Jackson Harper <jackson@ximian.com>
17278 * NodeLabelEditEventArgs.cs:
17279 * NodeLabelEditEventHandler.cs:
17280 * OpenTreeNodeEnumerator.cs:
17282 * TreeNodeCollection.cs:
17284 * TreeViewAction.cs:
17285 * TreeViewCancelEventArgs.cs:
17286 * TreeViewCancelEventHandler.cs:
17287 * TreeViewEventArgs.cs:
17288 * TreeViewEventHandler.cs: Initial implementation.
17290 2004-12-01 Ravindra <rkumar@novell.com>
17292 * ListView.cs (CalculateListView): Fixed scrolling related
17293 calculations. Also, removed some debug statements from other
17295 * ListViewItem.cs: Changed access to 'selected' instance variable
17296 from private to internal.
17297 * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
17299 2004-12-01 Jordi Mas i Hernandez <jordi@ximian.com>
17301 * ThemeWin32Classic.cs: remove cache of brush and pens for
17302 specific controls and use the global system, fixes scrollbutton
17303 bugs (for small sizes, disabled, etc)
17305 * ScrollBar.cs: does not show the thumb for very small controls
17306 (as MS) and allow smaller buttons that the regular size
17308 2004-12-01 Miguel de Icaza <miguel@ximian.com>
17310 * UpDownBase.cs: Add abstract methods for the interface.
17311 Add new virtual methods (need to be hooked up to TextEntry when it
17313 Add override methods for most features.
17314 Computes the size, forces the height of the text entry.
17316 * NumericUpDown.cs: Put here the current testing code.
17318 * Set eol-style property on all files that do not have mixed line
17319 endings, to minimize the future problems. There are still a few
17320 files with mixed endings, and someone should choose whether they
17321 want to move it or not.
17323 2004-11-30 Jordi Mas i Hernandez <jordi@ximian.com>
17325 * MonthCalendar.cs, ListView.cs: use Theme colours instead of
17328 2004-11-30 Ravindra <rkumar@novell.com>
17330 * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
17331 drawing and replaced use of SystemColors by theme colors.
17332 * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
17333 * ListView.cs (ListViewItemCollection.Add): Throw exception when
17334 same ListViewItem is being added more than once.
17336 2004-11-30 John BouAntoun <jba-mono@optusnet.com.au>
17338 * MonthCalendar.cs:
17339 - ControlStyles love to make the control not flicker
17341 2004-11-30 Peter Bartok <pbartok@novell.com>
17343 * CharacterCasing.cs: Added
17345 2004-11-29 Peter Bartok <pbartok@novell.com>
17347 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
17348 TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
17349 I am removing these files as they conflict with already completed
17350 work. While it is fantastic to get contributions to MWF, I
17351 respectfully ask that everyone please coordinate their contributions
17352 through mono-winforms-list or #mono-winforms at this time. We're
17353 explicitly avoiding stubbing and don't want controls that don't have
17354 their basic functionality implemented in svn. Please also see
17355 http://www.mono-project.com/contributing/winforms.html
17358 2004-11-29 Marek Safar <marek.safar@seznam.cz>
17360 * Application.cs (ModalRun): Don't hang after exit.
17362 * Theme.cs: New TreeViewDefaultSize property.
17364 * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
17365 with less hardcoded SystemColors constant.
17366 Implemented TreeViewDefaultSize.
17368 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
17369 TreeViewAction.cs, TreeViewEventArgs.cs: New files.
17372 2004-11-29 John BouAntoun <jba-mono@optusnet.com.au>
17374 * MonthCalendar.cs:
17375 - Fix NextMonthDate and PrevMonthDate click moving calendar
17377 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
17379 * MonthCalendar.cs:
17380 - Fix usage of ScrollChange Property when scrolling months
17382 2004-11-26 Jordi Mas i Hernandez <jordi@ximian.com>
17384 * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
17385 - Fixes menu destroying
17386 - Support adding and removing items on already created menus
17388 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
17390 * MonthCalendar.cs:
17391 - Re-worked all bolded dates handling to match win32
17392 * ThemeWin32Classic.cs:
17393 - Fixed rendering with bolded dates
17395 2004-11-25 Jordi Mas i Hernandez <jordi@ximian.com>
17397 * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
17398 - Horizontal scroolbar
17403 2004-11-25 John BouAntoun <jba-mono@optusnet.com.au>
17405 * MonthCalendar.cs:
17406 - Fix Usage of MaxSelectionCount from SelectionRange
17407 - Fixed Shift + Cursor Selection
17408 - Fixed Shift + (Pg up/Pg dn, Home/End) selection
17409 - Fixed normal cursor selection to be compat with win32
17410 - Fixed Shift + Mouse Click selection
17412 2004-11-24 Peter Bartok <pbartok@novell.com>
17414 * XplatUI.cs (DispatchMessage): Switched to return IntPtr
17415 * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
17417 - CreatedKeyBoardMsg now updates keystate with Alt key
17418 - Added workaround for timer crash to CheckTimers, Jackson will
17419 develop a proper fix and check in later
17420 - Implemented DispatchMessage
17421 - Removed calling the native window proc from GetMessage (call
17422 now moved to DispatchMessage)
17424 * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
17425 the keydata (Fixes bug #69831)
17428 - (DispatchMessage): Switched to return IntPtr
17429 - Added DllImport for SetFocus
17431 2004-11-24 Ravindra <rkumar@novell.com>
17433 * ThemeWin32Classic.cs: Fixed ListView border and checkbox
17434 background drawing.
17435 * ListViewItem.cs: Fixed various properties, calculations
17436 and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
17437 * ListView.cs: Fixed calculations, BackColor, ForeColor properties
17438 and some internal properties. Fixed MouseDown handler and Paint
17441 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
17443 * MonthCalendar.cs: Add TitleMonth ContextMenu handling
17445 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
17447 * ContainerControl.cs: correct accidental check in of local changes
17449 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
17451 * ThemeWin32Classic.cs:
17452 - Fixed Drawing Last month in grid (sometimes not showing)
17453 * MonthCalendar.cs:
17454 - Fixed title width calculation bug (makeing title small)
17456 2004-11-23 Peter Bartok <pbartok@novell.com>
17459 - Added generation of WM_MOUSEHOVER event
17460 - Added missing assignment of async_method atom
17461 - Fixed WM_ERASEBKGND; now only redraws the exposed area
17463 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
17465 * ThemeWin32Classic.cs:
17466 - Fixed Drawing of today circle when showtodaycircle not set
17467 - fixed drawing of first and last month in the grid (gay dates)
17468 * MonthCalendar.cs:
17469 - Fixed Drawing of today circle
17470 - Fixed drawing of grady dates
17471 - Fixed HitTest for today link when ShowToday set to false
17472 - Fixed DefaultSize to obey ShowToday
17474 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
17476 * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
17477 * System.Windows.Forms/Theme.cs
17478 * MonthCalendar.cs: added for MonthCalendar
17479 * SelectionRange.cs: added for MonthCalendar
17480 * Day.cs: added for MonthCalendar: added for MonthCalendar
17481 * DateRangeEventArgs.cs: added for MonthCalendar
17482 * DateRangeEventHandler.cs: added for MonthCalendar
17484 2004-11-22 Ravindra <rkumar@novell.com>
17486 * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
17489 2004-11-22 Miguel de Icaza <miguel@ximian.com>
17491 * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
17494 * NumericUpDown.cs: Added new implementation.
17495 * UpDownBase.cs: Added new implementation.
17497 * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
17500 * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
17503 * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
17506 2004-11-21 Miguel de Icaza <miguel@ximian.com>
17508 * Timer.cs (Dispose): Should call the base dispose when
17511 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
17513 * ScrollBar.cs: updates thumb position when max, min or increment
17516 2004-11-21 Ravindra <rkumar@novell.com>
17518 * ListView.cs: Implemented item selection, activation and
17519 column header style. Fixed properties to do a redraw, if
17520 required. Added support for MouseHover, DoubleClick, KeyDown
17521 and KeyUp event handling and some minor fixes.
17522 * ListViewItem.cs: Fixed constructor.
17523 * ThemeWin32Classic.cs: Improved drawing for ListView.
17525 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
17527 * ThemeWin32Classic.cs: initial listbox drawing code
17528 * DrawMode.cs: new enumerator
17529 * ListControl.cs: stubbed class
17530 * ListBox.cs: initial implementation
17531 * Theme.cs: new methods definitions
17532 * SelectionMode.cs: new enumerator
17534 2004-11-17 Peter Bartok <pbartok@novell.com>
17536 * XplatUIWin32.cs: Added double-click events to the class style
17537 * Control.cs (WndProc):
17538 - Added handling of click-count to MouseDown/ MouseUp events.
17539 - Added handling of middle and right mouse buttons
17540 - Removed old debug code
17542 2004-11-17 Jackson Harper <jackson@ximian.com>
17544 * XplatUIX11.cs: Use the new Mono.Unix namespace.
17546 2004-11-17 Ravindra <rkumar@novell.com>
17548 * ListView.cs: Added event handling for MouseMove/Up/Down.
17549 * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
17550 * ThemeWin32Classic.cs: We need to clear the graphics context and
17551 draw column header in a proper state.
17554 2004-11-17 Jordi Mas i Hernandez <jordi@ximian.com>
17556 * Menu.cs: fixes signature
17558 2004-11-16 Peter Bartok <pbartok@novell.com>
17560 * XplatUIX11.cs (GetMessage): Implemented generation of
17561 double click mouse messages
17563 2004-11-12 Jordi Mas i Hernandez <jordi@ximian.com>
17565 * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
17568 2004-11-11 Peter Bartok <pbartok@novell.com>
17570 * HandleData.cs: Added Visible property
17571 * XplatUIX11.cs (IsVisible): Now uses Visible property from
17573 * XplatUIX11.cs: Removed old debug leftovers
17574 * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
17575 * Control.cs (WndProc): Removed old debug leftovers,
17576 streamlined handling of WM_WINDOWPOSCHANGED, removed un-
17577 needed WM_SIZE handling
17579 2004-11-11 Jackson Harper <jackson@ximian.com>
17581 * OwnerDrawPropertyBag.cs:
17582 * TreeViewImageIndexConverter.cs: Initial implementation
17584 2004-11-10 Jackson Harper <jackson@ximian.com>
17586 * ThemeWin32Classic.cs:
17587 * TabControl.cs: instead of moving tabs by the slider pos just
17588 start drawing at the tab that is offset by the slider. This way
17589 scrolling always moves by exactly one tab.
17591 2004-11-10 Jackson Harper <jackson@ximian.com>
17593 * TabControl.cs: You can only scroll left when the slider has
17594 already ben moved right.
17596 2004-11-10 Jackson Harper <jackson@ximian.com>
17598 * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
17601 2004-11-10 Jackson Harper <jackson@ximian.com>
17603 * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
17606 2004-11-09 Jackson Harper <jackson@ximian.com>
17608 * TabControl.cs (CalcXPos): New helper method so we can determine
17609 the proper place to start drawing vertical tabs.
17610 * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
17612 2004-11-09 Jackson Harper <jackson@ximian.com>
17614 * TabControl.cs: Calculate sizing and rects for left aligned tabs.
17615 * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
17616 and Bottom, left and right are illegal values for this and
17617 multiline is enabled when the alignment is set to left or right.
17618 (DrawTab): Each alignment block should draw the text itself now
17619 because Left requires special love. Also add rendering for Left
17622 2004-11-09 Jordi Mas i Hernandez <jordi@ximian.com>
17624 * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
17625 does not destroy the windows, removes debugging messages
17627 2004-11-09 jba <jba-mono@optusnet.com.au>
17629 * ThemeWin32Classic.cs
17630 (DrawButtonBase): Fix verticle text rect clipping in windows
17631 (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
17632 rendering and incorrect text rect clipping
17633 (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
17634 rendering and incorrect text rect clipping
17636 2004-11-08 Jackson Harper <jackson@ximian.com>
17638 * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
17639 bottom when they are bottom aligned so the bottoms of the tabs get
17641 * TabControl.cs (DropRow): Move rows up instead of down when the
17642 tab control is bottom aligned.
17644 2004-11-08 13:59 pbartok
17647 - Added handling for various window styles
17648 - Added handling for popup windows
17649 - Added SetTopmost handling
17651 2004-11-08 13:55 pbartok
17654 - Added argument to SetTopmost method
17655 - Fixed broken ClientToScreen function
17657 2004-11-08 13:53 pbartok
17659 * XplatUIStructs.cs:
17660 - Added missing WS_EX styles
17662 2004-11-08 13:53 pbartok
17664 * XplatUI.cs, XplatUIDriver.cs:
17665 - Added argument to SetTopmost
17667 2004-11-08 13:52 pbartok
17670 - Added XSetWindowAttributes structure
17671 - Improved XWindowAttributes structure
17672 - Added SetWindowValuemask enum
17673 - Added window creation arguments enum
17674 - Added gravity enum
17675 - Added Motif hints structure
17676 - Added various Motif flags and enums
17677 - Added PropertyMode enum for property functions
17679 2004-11-08 13:50 pbartok
17682 - Fixed arguments for updated SetTopmost method
17684 2004-11-08 13:49 pbartok
17687 - Fixed arguments for updated SetTopmost function
17688 - Fixed usage of PointToClient
17690 2004-11-08 13:44 pbartok
17693 - Added Clipping of children and siblings
17695 2004-11-08 13:41 pbartok
17698 - Removed SetMenuBarWindow call. We do this in Form.cs
17700 2004-11-08 13:40 jackson
17702 * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
17703 scrolling jimmi in the correct location with bottom aligned tabs
17705 2004-11-08 13:36 pbartok
17707 * ContainerControl.cs:
17708 - Implemented BindingContext
17709 - Implemented ParentForm
17711 2004-11-08 12:46 jackson
17713 * TabControl.cs: Put bottom rendered tabs in the right location
17715 2004-11-08 07:15 jordi
17717 * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
17720 2004-11-05 17:30 jackson
17722 * TabControl.cs: When selected tabs are expanded make sure they
17723 don't go beyond the edges of the tab control
17725 2004-11-05 14:57 jackson
17727 * TabControl.cs: Reset show_slider so if the control is resized to
17728 a size where it is no longer needed it's not displayed anymore
17730 2004-11-05 13:16 jackson
17732 * TabControl.cs: Make tab pages non visible when added to the
17735 2004-11-05 12:42 jackson
17737 * TabControl.cs: Implement SizeMode.FillToRight
17739 2004-11-05 12:16 jackson
17741 * Control.cs: Do not call CreateHandle if the handle is already
17744 2004-11-05 11:46 jackson
17746 * TabControl.cs: Remove superflous call to CalcTabRows
17748 2004-11-05 09:07 jackson
17750 * XplatUIX11.cs: Update for Mono.Posix changes
17752 2004-11-05 07:00 ravindra
17754 * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
17757 2004-11-04 22:47 jba
17759 * ThemeWin32Classic.cs:
17760 - Fix Button rendering for FlatStyle = Flat or Popup
17761 - Fix RadioButton and CheckBox rendering when Appearance = Button
17762 (normal and flatstyle).
17763 - Correct outer rectangle color when drawing focus rectangle
17764 - Adjust button bounds to be 1 px smaller when focused
17765 - Make button not draw sunken 3d border when pushed (windows compat)
17766 - Fix CPDrawBorder3D to not make bottom right hand corner rounded
17767 - Offset the text in RadioButton and Checkbox when being rendered as
17769 - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
17771 - Fixed disabled rendering for colored flatstyle radiobuttons (both)
17772 - Fixed disabled text rendering for normally rendered radiobuttons
17774 2004-11-04 10:26 jackson
17776 * TabControl.cs: Recalculate tab rows when resizing
17778 2004-11-04 07:47 jordi
17780 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
17781 collection completion, drawing issues, missing features
17783 2004-11-04 05:03 ravindra
17786 - We need to recalculate the Thumb area when
17787 LargeChange/maximum/minimum values are changed.
17788 - We set the 'pos' in UpdatePos() method to minimum, if it's less
17789 than minimum. This is required to handle the case if large_change is
17790 more than max, and use LargeChange property instead of large_change
17792 - We return max+1 when large_change is more than max, like MS does.
17794 2004-11-04 04:29 ravindra
17796 * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
17797 - Changed default value signatures (prefixed all with ListView).
17798 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
17800 - Fixed calculations for ListViewItem and implemented Clone()
17803 2004-11-04 04:26 ravindra
17805 * Theme.cs, ThemeWin32Classic.cs:
17806 - Changed default ListView values signatures (prefixed all with
17808 - Fixed default size values for VScrollBar and HScrollBar.
17809 - Fixed DrawListViewItem method.
17811 2004-11-04 04:05 ravindra
17813 * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
17815 2004-11-04 04:04 ravindra
17817 * ImageList.cs: Implemented the missing overload for Draw method.
17819 2004-11-03 19:29 jackson
17821 * TabControl.cs: Handle dropping rows on selection properly
17823 2004-11-03 11:59 jackson
17825 * TabControl.cs: remove debug code
17827 2004-11-03 11:52 jackson
17829 * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
17830 the scrolly widgerywoo
17832 2004-11-02 13:52 jackson
17834 * TabControl.cs: Resize the tab pages and tabs when the tab control
17837 2004-11-02 13:40 jackson
17839 * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
17840 selected tab to the bottom
17842 2004-11-02 13:39 jackson
17844 * TabPage.cs: Store the tab pages row
17846 2004-11-02 12:33 jordi
17848 * MenuItem.cs: fixes handle creation
17850 2004-11-02 11:42 jackson
17852 * TabControl.cs: signature fix
17854 2004-11-02 08:56 jackson
17856 * TabControl.cs: Calculate whether the tab is on an edge properly.
17857 Remove top secret debugging code
17859 2004-11-01 19:57 jackson
17861 * TabControl.cs: Add click handling, and proper sizing
17863 2004-11-01 19:47 jackson
17865 * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
17868 2004-11-01 19:39 jackson
17870 * TabPage.cs: add internal property to store the bounds of a tab
17873 2004-10-30 04:23 ravindra
17875 * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
17878 2004-10-30 04:21 ravindra
17880 * ListView.cs, ListViewItem.cs: Added support for scrolling and
17881 fixed calculations.
17883 2004-10-30 03:06 pbartok
17886 - Removed extension of DllImported libs
17888 2004-10-29 09:55 jordi
17890 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
17891 navigation, itemcollection completion, menu fixes
17893 2004-10-27 22:58 pbartok
17896 - Now throws a nice error message when no X display could be opened
17898 2004-10-26 13:51 jordi
17900 * ListView.cs: removes warning
17902 2004-10-26 03:55 ravindra
17904 * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
17905 ThemeWin32Classic.cs: Some formatting for my last checkins.
17907 2004-10-26 03:36 ravindra
17909 * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
17910 control and default values.
17912 2004-10-26 03:35 ravindra
17914 * Theme.cs: Added some default values for ListView control.
17916 2004-10-26 03:33 ravindra
17918 * ToolBar.cs: ToolBar should use the user specified button size, if
17919 there is any. Added a size_specified flag for the same.
17921 2004-10-26 03:33 ravindra
17923 * ColumnHeader.cs: Added some internal members and calculations for
17926 2004-10-26 03:32 ravindra
17928 * ListViewItem.cs: Calculations for ListViewItem.
17930 2004-10-26 03:31 ravindra
17932 * ListView.cs: Added some internal members and calculations for
17935 2004-10-22 13:31 jordi
17937 * MenuAPI.cs: speedup menus drawing
17939 2004-10-22 13:16 jackson
17941 * XplatUIX11.cs: Make sure to update exposed regions when adding an
17944 2004-10-22 11:49 jackson
17948 2004-10-22 11:41 jackson
17950 * Control.cs: Check to see if the window should have its background
17951 repainted by X when drawing.
17953 2004-10-22 11:31 jackson
17955 * XplatUIX11.cs: When invalidating areas only use XClearArea if
17956 clear is true, this way we do not get flicker from X repainting the
17959 2004-10-22 11:28 jackson
17961 * XEventQueue.cs: Queue properly
17963 2004-10-21 09:38 jackson
17965 * XEventQueue.cs: Fix access modifier
17967 2004-10-21 09:36 jackson
17969 * XEventQueue.cs: Don't loose messages
17971 2004-10-21 09:22 jackson
17973 * XEventQueue.cs: Don't loose messages
17975 2004-10-20 04:15 jordi
17977 * BootMode.cs: enum need it by SystemInfo
17979 2004-10-19 21:58 pbartok
17982 - Small sanity check
17984 2004-10-19 21:56 pbartok
17987 - Added private FormParentWindow class which acts as the container
17988 for our form and as the non-client area where menus are drawn
17989 - Added/Moved required tie-ins to Jordi's menus
17990 - Fixed/Implemented the FormStartPosition functionality
17992 2004-10-19 21:52 pbartok
17995 - Removed unneeded locals
17996 - Added code to all size and location properties to understand and
17997 deal with the parent container of Form
17999 2004-10-19 21:33 pbartok
18002 - Fixed to deal with new Form subclasses for menus
18004 2004-10-19 17:48 jackson
18006 * XEventQueue.cs: commit correct version of file
18008 2004-10-19 16:50 jackson
18010 * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
18012 2004-10-19 16:15 jordi
18014 * MenuAPI.cs: MenuBarCalcSize returns the height
18016 2004-10-19 08:31 pbartok
18019 - Added missing call to PreProcessMessage before calling OnXXXKey
18022 2004-10-19 00:04 ravindra
18024 * ToolTip.cs: Fixed constructor.
18026 2004-10-18 09:31 jordi
18028 * MenuAPI.cs: menuitems in menubars do not have shortcuts
18030 2004-10-18 09:26 jordi
18032 * MenuItem.cs: fixes MenuItem class signature
18034 2004-10-18 08:56 jordi
18036 * MenuAPI.cs: prevents windows from showing in the taskbar
18038 2004-10-18 00:28 ravindra
18040 * ToolTip.cs: Suppressed a warning message.
18042 2004-10-18 00:27 ravindra
18044 * Control.cs: Default value of visible property must be true.
18046 2004-10-17 23:19 pbartok
18049 - Complete implementation
18051 2004-10-17 23:19 pbartok
18054 - Added EnableWindow method
18055 - Added SetModal stub
18056 - Added generation of WM_ACTIVATE message (still needs testing)
18057 - Added SetTopMost stub
18058 - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
18060 2004-10-17 23:17 pbartok
18063 - Removed VirtualKeys to XplatUIStructs
18064 - Implemented SetTopMost method
18065 - Implemented EnableWindow method
18066 - Bugfix in ScreenToClient()
18067 - Bugfixes in ClientToScreen()
18069 2004-10-17 22:51 pbartok
18071 * XplatUIStructs.cs:
18072 - Added WS_EX styles to WindowStyles enumeration
18074 2004-10-17 22:50 pbartok
18076 * XplatUI.cs, XplatUIDriver.cs:
18077 - Added method for enabling/disabling windows
18078 - Added method for setting window modality
18079 - Added method for setting topmost window
18081 2004-10-17 22:49 pbartok
18083 * ThemeWin32Classic.cs:
18084 - Added ToolTip drawing code
18086 2004-10-17 22:49 pbartok
18089 - Added ToolTip abstracts
18091 2004-10-17 22:47 pbartok
18094 - Fixed Form.ControlCollection to handle owner relations
18095 - Added Owner/OwnedForms handling
18096 - Implemented Z-Ordering for owned forms
18097 - Removed unneeded private overload of ShowDialog
18098 - Fixed ShowDialog, added the X11 incarnation of modal handling (or
18100 - Fixed Close(), had wrong default
18101 - Added firing of OnLoad event
18102 - Added some commented out debug code for Ownership handling
18104 2004-10-17 22:16 pbartok
18107 - Fixed/implemented flat list of controls
18109 2004-10-17 22:14 pbartok
18112 - Added code to simulate modal dialogs on Win32
18114 2004-10-17 16:11 jordi
18116 * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
18119 2004-10-17 13:39 jordi
18121 * MenuAPI.cs: menu drawing fixes
18123 2004-10-15 09:10 ravindra
18125 * StructFormat.cs: General Enum.
18127 2004-10-15 09:09 ravindra
18129 * SizeGripStyle.cs: Enum for Form.
18131 2004-10-15 09:08 ravindra
18133 * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
18134 in Theme for ListView.
18136 2004-10-15 09:06 ravindra
18138 * ColumnHeader.cs: Flushing some formatting changes.
18140 2004-10-15 09:05 ravindra
18142 * ListViewItem.cs: Implemented GetBounds method and fixed coding
18145 2004-10-15 09:03 ravindra
18147 * ListView.cs: Implemented Paint method and fixed coding style.
18149 2004-10-15 07:34 jordi
18151 * MenuAPI.cs: fix for X11
18153 2004-10-15 07:32 ravindra
18155 * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
18156 - Renamed Paint() method to Draw() for clarity. Also, moved
18157 DrawImage() to OnPaint().
18159 2004-10-15 07:25 ravindra
18161 * CheckBox.cs, RadioButton.cs:
18162 - Removed Redraw (), we get it from ButtonBase.
18163 - Implemented Paint (), to do class specific painting.
18165 2004-10-15 07:16 ravindra
18168 - Redraw () is not virtual now.
18169 - Added an internal virtual method Paint (), so that
18170 derived classes can do their painting on their own.
18171 - Modified OnPaint () to call Paint ().
18173 2004-10-15 06:43 jordi
18175 * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
18176 MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
18178 2004-10-15 00:30 ravindra
18181 - MessageBox on windows does not have min/max buttons.
18182 This change in CreateParams fixes this on Windows. We
18183 still need to implement this windowstyle behavior in
18186 2004-10-14 05:14 ravindra
18189 - Changed Redraw () to do a Refresh () always.
18190 - Fixed the MouseMove event handling when mouse is pressed,
18191 ie drag event handling.
18192 - Replaced the usage of ToolBarButton.Pressed property to
18193 ToolBarButton.pressed internal variable.
18195 2004-10-14 05:10 ravindra
18197 * ToolBarButton.cs:
18198 - Added an internal member 'inside' to handle mouse move
18199 with mouse pressed ie mouse drag event.
18200 - Changed 'Pressed' property to return true only when
18201 'inside' and 'pressed' are both true.
18202 - Some coding style love.
18204 2004-10-14 00:17 ravindra
18206 * Form.cs: Fixed class signature. ShowDialog (Control) is not a
18209 2004-10-14 00:15 ravindra
18211 * ButtonBase.cs: Redraw () related improvements.
18213 2004-10-14 00:14 ravindra
18215 * MessageBox.cs: Moved InitFormSize () out of Paint method and
18216 removed unnecessary calls to Button.Show () method.
18218 2004-10-13 17:50 pbartok
18222 - Removed destroying of window until we solve the problem of X
18223 destroying the window before us on shutdown
18225 2004-10-13 16:32 pbartok
18228 - Now Redraws on MouseUp for FlatStyle Flat and Popup
18230 2004-10-13 14:18 pbartok
18233 - Added code to destroy the X window
18235 2004-10-13 14:18 pbartok
18238 - Added code to destroy a window
18240 2004-10-13 14:12 pbartok
18243 - Added the Redraw on Resize that got dropped in the last rev
18245 2004-10-13 09:06 pbartok
18247 * ThemeWin32Classic.cs:
18248 - Path from John BouAntoun:
18249 * Fix check rendering (centre correctly for normal style, offset
18250 correctly for FlatStyle).
18251 * Fix border color usage (use backcolor) for FlatStyle.Popup
18252 * Use checkbox.Capture instead of checkbox.is_pressed when
18253 rendering flatstyle states.
18255 2004-10-12 21:48 pbartok
18257 * ThemeWin32Classic.cs:
18258 - Removed all occurences of SystemColors and replaced them with the
18259 matching theme color
18261 2004-10-12 21:41 pbartok
18263 * ThemeWin32Classic.cs:
18264 - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
18265 him using the function for flatstyle drawing
18266 - Changed functions to use the new version of CPDrawBorder3D
18268 2004-10-12 21:15 pbartok
18271 - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
18272 match MS documentation. They need to return defined colors if the
18273 passed color matches the configured control color. Thanks to John
18274 BouAntoun for pointing this out.
18276 2004-10-12 20:57 pbartok
18279 - Fix from John BouAntoun: Raise ForeColorChanged event when text
18282 2004-10-12 20:46 pbartok
18285 - Fix from John BouAntoun: Now properly sets the Appearance property
18287 2004-10-12 20:45 pbartok
18289 * ThemeWin32Classic.cs:
18290 - Fixes from John BouAntoun: now handles forecolors and backcolors
18291 for flatstyle rendered controls much better; It also fixes normal
18292 checkbox rendering when pushed or disabled.
18294 2004-10-08 02:50 jordi
18296 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
18299 2004-10-07 08:56 jordi
18301 * ThemeWin32Classic.cs: Removes deletion of cached brushes
18303 2004-10-06 03:59 jordi
18305 * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
18306 XplatUIWin32.cs: removes warnings from compilation
18308 2004-10-05 12:23 jackson
18310 * RadioButton.cs: Fix ctor
18312 2004-10-05 11:10 pbartok
18315 - Partial implementation by Benjamin Dasnois
18317 2004-10-05 10:15 jackson
18319 * ThemeWin32Classic.cs: Improve rendering of the radio button patch
18322 2004-10-05 03:07 ravindra
18325 - Removed a private method, Draw ().
18326 - Fixed the ButtonDropDown event handling.
18327 - Fixed MouseMove event handling.
18329 2004-10-05 03:04 ravindra
18331 * ThemeWin32Classic.cs:
18332 - Added DrawListView method and ListViewDefaultSize property.
18333 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
18334 - Changed DOS style CRLF to Unix format (dos2unix).
18336 2004-10-05 03:03 ravindra
18339 - Added DrawListView method and ListViewDefaultSize property.
18341 2004-10-05 02:42 ravindra
18343 * ToolBarButton.cs: Added an internal member dd_pressed to handle
18344 clicks on DropDown arrow.
18346 2004-10-04 22:56 jackson
18348 * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
18349 ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
18350 Control handle the buffers, derived classes should not have to
18351 CreateBuffers themselves.
18353 2004-10-04 21:20 jackson
18355 * StatusBar.cs: The control handles resizing the buffers now.
18357 2004-10-04 21:18 jackson
18359 * Control.cs: When resizing the buffers should be invalidated. This
18360 should be handled in Control not in derived classes.
18362 2004-10-04 14:45 jackson
18366 2004-10-04 02:14 pbartok
18368 * LeftRightAlignment.cs:
18371 2004-10-04 01:09 jordi
18373 * ThemeWin32Classic.cs: fixes right button position causing right
18374 button not showing on horizontal scrollbars
18376 2004-10-02 13:12 pbartok
18379 - Simplified the Invalidate method by using an X call instead of
18380 generating the expose ourselves
18381 - Added an expose when the window background is changed
18382 - Implemented ClientToScreen method
18384 2004-10-02 13:08 pbartok
18387 - Added Win32EnableWindow method (test for implementing modal
18389 - Added ClientToScreen method and imports
18391 2004-10-02 13:07 pbartok
18393 * XplatUI.cs, XplatUIDriver.cs:
18394 - Added ClientToScreen coordinate translation method
18396 2004-10-02 13:06 pbartok
18398 * KeyPressEventArgs.cs:
18399 - Fixed access level for constructor
18401 2004-10-02 13:06 pbartok
18404 - Changed access level for the window_collection hash table
18406 2004-10-02 13:05 pbartok
18409 - Added KeyPreview property
18410 - Added Menu property (still incomplete, pending Jordi's menu work)
18411 - Implemented ProcessCmdKey
18412 - Implemented ProcessDialogKey
18413 - Implemented ProcessKeyPreview
18415 2004-10-02 13:02 pbartok
18418 - Added private method to get the Control object from the window
18420 - Implemented ContextMenu property
18421 - Implemented PointToScreen
18422 - Implemented PreProcessMessage
18423 - Implemented IsInputChar
18424 - Implemented IsInputKey
18425 - Implemented ProcessCmdKey
18426 - Completed ProcessKeyEventArgs
18427 - Fixed message loop to call the proper chain of functions on key
18429 - Implemented ProcessDialogChar
18430 - Implemented ProcessDialogKey
18431 - Implemented ProcessKeyMessage
18432 - Implemented ProcessKeyPreview
18433 - Added RaiseDragEvent stub (MS internal method)
18434 - Added RaiseKeyEvent stub (MS internal method)
18435 - Added RaiseMouseEvent stub (MS Internal method)
18436 - Added RaisePaintEvent stub (MS Internal method)
18437 - Added ResetMouseEventArgs stub (MS Internal method)
18438 - Implemented RtlTranslateAlignment
18439 - Implemented RtlTranslateContent
18440 - Implemented RtlTranslateHorizontal
18441 - Implemented RtlTranslateLeftRight
18442 - Added generation of KeyPress event
18444 2004-10-02 05:57 ravindra
18446 * ListViewItem.cs: Added attributes.
18448 2004-10-02 05:32 ravindra
18450 * ListView.cs: Added attributes.
18452 2004-10-01 11:53 jackson
18454 * Form.cs: Implement the Close method so work on MessageBox can
18457 2004-09-30 14:06 pbartok
18462 2004-09-30 11:34 jackson
18464 * RadioButton.cs: Fix typo. Patch by John BouAntoun.
18466 2004-09-30 07:26 ravindra
18468 * ListViewItemConverter.cs: Converter for ListViewItem.
18470 2004-09-30 07:26 ravindra
18472 * SortOrder.cs: Enum for ListView control.
18474 2004-09-30 07:25 ravindra
18476 * ColumnHeader.cs: Supporting class for ListView control.
18478 2004-09-30 07:24 ravindra
18480 * ListView.cs, ListViewItem.cs: Initial implementation.
18482 2004-09-30 07:20 ravindra
18484 * ItemActivation.cs: Enum for ListView Control.
18486 2004-09-29 20:29 pbartok
18489 - Added lookup of pixel value for background color; tries to get a
18490 color 'close' to the requested color, it avoids having to create a
18491 colormap. Depending on the display this could mean the used color
18492 is slightly off the desired color. Might have to change it to a more
18493 resource intensive colormap approach, but it will work as a
18494 workaround to avoid red screens.
18496 2004-09-29 14:27 jackson
18498 * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
18500 2004-09-28 12:44 pbartok
18502 * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
18503 HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
18504 ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
18505 Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
18506 TrackBar.cs, VScrollBar.cs:
18507 - Streamlined Theme interfaces:
18508 * Each DrawXXX method for a control now is passed the object for
18509 the control to be drawn in order to allow accessing any state the
18510 theme might require
18512 * ControlPaint methods for the theme now have a CP prefix to avoid
18513 name clashes with the Draw methods for controls
18515 * Every control now retrieves it's DefaultSize from the current
18518 2004-09-28 12:17 jackson
18520 * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
18523 2004-09-24 14:57 jackson
18525 * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
18526 Gives us a nice little performance boost.
18528 2004-09-24 12:02 jackson
18530 * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
18531 TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
18532 Control and supporting classes. Initial checkin
18534 2004-09-23 13:08 jackson
18536 * Form.cs: Temp build fixage
18538 2004-09-23 01:39 ravindra
18540 * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
18541 ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
18542 ItemDragEventArgs.cs, ItemDragEventHandler.cs,
18543 LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
18544 EventHandlers needed by ListView Control.
18546 2004-09-22 14:12 pbartok
18548 * ScrollableControl.cs:
18549 - Implemented DockPadding property
18550 - Implemented AutoScroll property
18551 - Implemented AutoScrollMargin property
18552 - Implemented AutoScrollMinSize property
18553 - Implemented AutoScrollPosition property
18554 - Implemented DisplayRectangle property (still incomplete)
18555 - Implemented CreateParams property
18556 - Implemented HScroll property
18557 - Implemented VScroll property
18558 - Implemented OnVisibleChanged property
18560 2004-09-22 14:09 pbartok
18563 - Added Form.ControllCollection class
18564 - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
18565 RemoveOwnedForm (still incomplete, missing on-top and common
18566 minimize/maximize behaviour)
18567 - Added StartPosition property (still incomplete, does not use when
18569 - Added ShowDialog() methods (still incomplete, missing forcing the
18572 2004-09-22 14:05 pbartok
18575 - Added message loop for modal dialogs
18577 2004-09-22 14:02 pbartok
18580 - Fixed wrong types for events
18582 2004-09-22 14:00 pbartok
18584 * Shortcut.cs, FormWindowState.cs:
18585 - Fixed wrong values
18587 2004-09-22 12:01 jackson
18589 * Control.cs: Text is never null
18591 2004-09-20 22:14 pbartok
18594 - Fixed accessibility level for Idle handler
18596 2004-09-20 18:54 jackson
18598 * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
18599 XplatUIX11.cs: New message loop that uses poll so we don't get a
18602 2004-09-17 10:43 pbartok
18605 - Fixed behaviour of arrow buttons. Now properly behaves like
18606 Buttons (and like Microsoft's scrollbar arrow buttons)
18608 2004-09-17 10:14 pbartok
18611 - Added missing release of keyboard/mouse capture
18613 2004-09-17 06:18 jordi
18615 * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
18616 Theme.cs: Very early menu support
18618 2004-09-16 17:45 pbartok
18621 - Fixed sending a window to the front
18622 - Added overload for SetWindowPos to avoid casting
18624 2004-09-16 17:44 pbartok
18627 - Added SendToBack and BringToFront methods
18629 2004-09-16 07:00 ravindra
18631 * Copyright: Added Novell URL.
18633 2004-09-16 07:00 ravindra
18635 * ToolBar.cs: Invalidate should be done before redrawing.
18637 2004-09-15 21:19 ravindra
18639 * ColumnHeaderStyle.cs: Enum for ListView Control.
18641 2004-09-15 21:18 ravindra
18643 * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
18646 2004-09-13 18:26 jackson
18648 * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
18651 2004-09-13 18:13 jackson
18653 * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
18654 a second thread and post messages into the main threads message
18655 queue. This makes timing much more consistent. Both win2K and XP
18656 have a minimum timer value of 15 milliseconds, so we now do this
18659 2004-09-13 15:18 pbartok
18661 * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
18663 - Added Z-Ordering methods
18665 2004-09-13 10:56 pbartok
18668 - Fixed #region names
18669 - Moved properties and methods into their proper #regions
18671 2004-09-13 10:51 pbartok
18674 - Added Accept and CancelButton properties
18675 - Added ProcessDialogKey() method
18677 2004-09-13 08:18 pbartok
18679 * IWindowTarget.cs:
18682 2004-09-10 21:50 pbartok
18685 - Added DoDragDrop() [incomplete]
18686 - Properly implemented 'Visible' handling
18687 - Added SetVisibleCore()
18688 - Implemented FindChildAtPoint()
18689 - Implemented GetContainerControl()
18690 - Implemented Hide()
18692 2004-09-10 19:28 pbartok
18695 - Moved methods into their appropriate #regions
18696 - Reordered methods within regions alphabetically
18698 2004-09-10 18:57 pbartok
18700 * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
18701 - Added method to retrieve text from window
18703 2004-09-10 18:56 pbartok
18706 - Moved some internal functions into the internal region
18707 - Implemented FontHeight
18708 - Implemented RenderRightToLeft
18709 - Implemented ResizeRedraw
18710 - Implemented ShowFocusCues
18711 - Implemented ShowKeyboardCues
18712 - Implemented FromChildHandle
18713 - Implemented FromHandle
18714 - Implemented IsMnemonic
18715 - Implemented ReflectMessage
18716 - All public and protected Static Methods are now complete
18718 2004-09-10 16:54 pbartok
18721 - Implemented remaining missing public instance properties
18722 - Alphabetized some out of order properties
18724 2004-09-10 05:51 ravindra
18726 * PictureBox.cs: Added a check for null image.
18728 2004-09-10 00:59 jordi
18730 * GroupBox.cs: remove cvs tag
18732 2004-09-09 05:25 ravindra
18734 * ToolBar.cs: Make redraw accessible from ToolBarButton.
18736 2004-09-09 05:23 ravindra
18738 * ToolBarButton.cs: Changes in ToolBarButton need to make it's
18741 2004-09-09 02:28 pbartok
18743 * ThemeWin32Classic.cs:
18744 - Improve disabled string look
18746 2004-09-09 01:15 jordi
18748 * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
18751 2004-09-08 23:56 ravindra
18753 * ItemBoundsPortion.cs: It's enum, not a class!
18755 2004-09-08 23:47 ravindra
18757 * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
18760 2004-09-08 21:13 ravindra
18762 * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
18765 2004-09-08 21:03 ravindra
18767 * ThemeWin32Classic.cs: PictureBox would not draw a null image to
18770 2004-09-08 21:01 ravindra
18772 * ScrollableControl.cs: Removed unreachable code.
18774 2004-09-08 06:45 jordi
18776 * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
18778 2004-09-08 01:00 jackson
18780 * XplatUIX11.cs: Only run the timers when updating the message
18781 queue. This effectively gives X messages a higher priority then
18782 timer messages. Timers still need love though
18784 2004-09-07 14:01 jackson
18786 * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
18787 this for us and the handle is no longer valid.
18789 2004-09-07 13:59 jackson
18791 * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
18792 loop that manages to not crash. TODO: Add poll and cleanup timers
18794 2004-09-07 11:12 jordi
18796 * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
18798 2004-09-07 03:40 jordi
18800 * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
18801 fixes, methods, multiple links
18803 2004-09-06 06:55 jordi
18805 * Control.cs: Caches ClientRectangle rectangle value
18807 2004-09-05 02:03 jordi
18809 * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
18812 2004-09-04 11:10 jordi
18814 * Label.cs: Refresh when font changed
18816 2004-09-02 16:24 pbartok
18819 - Added sanity check to creation of double buffer bitmap
18821 2004-09-02 16:24 pbartok
18824 - Fixed selection of text color
18825 - Fixed handling of resize event; now properly recreates double
18827 - Added missing assignment of TextAlignment
18828 - Added proper default for TextAlignment
18830 2004-09-02 14:26 pbartok
18833 - Added missing RadioButton.RadioButtonAccessibleObject class
18835 2004-09-02 14:26 pbartok
18838 - Added missing Control.ControlAccessibleObject class
18839 - Started to implement Select()ion mechanisms, still very incomplete
18841 2004-09-02 14:25 pbartok
18843 * AccessibleObject.cs:
18844 - Added missing methods
18846 2004-09-02 14:23 pbartok
18848 * AccessibleNavigation.cs, AccessibleSelection.cs:
18851 2004-09-02 10:32 jordi
18853 * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
18854 pool for pens, brushes, and hatchbruses
18856 2004-09-01 15:30 jackson
18858 * StatusBar.cs: Fix typo
18860 2004-09-01 14:44 pbartok
18865 2004-09-01 14:39 pbartok
18867 * Button.cs, RadioButton.cs:
18868 - Functional initial check-in
18870 2004-09-01 14:01 pbartok
18873 - Added missing default
18874 - Added missing region mark
18876 2004-09-01 09:10 jordi
18878 * Label.cs: fixes method signatures, new methods, events, fixes
18881 2004-09-01 07:19 jordi
18883 * Control.cs: Init string variables with an empty object
18885 2004-09-01 04:20 jordi
18887 * Control.cs: fires OnFontChanged event
18889 2004-08-31 20:07 pbartok
18892 - Enabled display of strings
18894 2004-08-31 20:05 pbartok
18897 - Added (partial) implementation of DialogResult; rest needs to be
18898 implemented when the modal loop code is done
18900 2004-08-31 19:55 pbartok
18903 - Fixed to match the removal of the needs_redraw concept
18905 2004-08-31 19:55 pbartok
18908 - Removed the rather odd split between 'needs redraw' and redrawing
18909 - Now handles the events that require regeneration (ambient
18910 properties and size)
18912 2004-08-31 19:41 pbartok
18915 - Added firing of BackColorChanged event
18916 - Added TopLevelControl property
18917 - Fixed handling of WM_ERASEBKGRND message
18919 2004-08-31 12:49 pbartok
18925 2004-08-31 12:48 pbartok
18928 - Finished (famous last words)
18930 2004-08-31 04:35 jordi
18932 * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
18933 scrolling bugs, adds new methods
18935 2004-08-30 14:42 pbartok
18938 - Implemented CheckBox drawing code
18940 2004-08-30 14:42 pbartok
18943 - Made Redraw() and CheckRedraw() virtual
18944 - Improved mouse up/down/move logic to properly track buttons
18946 2004-08-30 09:44 pbartok
18949 - Updated to fix broken build. Not complete yet.
18951 2004-08-30 09:28 pbartok
18956 2004-08-30 09:17 pbartok
18961 2004-08-27 16:12 ravindra
18963 * ToolBarButton.cs: Added TypeConverter attribute.
18965 2004-08-27 16:07 ravindra
18967 * ImageIndexConverter.cs: Implemented.
18969 2004-08-27 14:17 pbartok
18972 - Removed unneeded stack vars
18973 - First attempt to fix sizing issues when layout is suspended
18975 2004-08-25 15:35 jordi
18977 * ScrollBar.cs: more fixes to scrollbar
18979 2004-08-25 14:04 ravindra
18981 * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
18982 Added the missing divider code and grip for ToolBar Control.
18984 2004-08-25 13:20 pbartok
18987 - Control now properly passes the ambient background color to child
18990 2004-08-25 13:20 jordi
18992 * ScrollBar.cs: small bug fix regarding bar position
18994 2004-08-25 12:33 pbartok
18997 - Now only calls SetTimer or KillTimer if the enabled state has
19000 2004-08-25 12:33 pbartok
19003 - Fixed timer handling, now seems to work
19004 - Improved error message for window creation
19006 2004-08-25 12:32 pbartok
19009 - Fixed generation of MouseUp message
19011 2004-08-25 12:29 jordi
19013 * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
19014 and fixes for progressbar
19016 2004-08-24 18:43 ravindra
19018 * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
19019 in ToolBar control.
19021 2004-08-24 17:15 pbartok
19025 - Added missing events
19028 2004-08-24 17:14 pbartok
19030 * StatusBar.cs, PictureBox.cs:
19031 - Now uses Control's CreateParams
19033 2004-08-24 16:36 pbartok
19036 - Fixed background color handling
19037 - Fixed sending of enter/leave events on a grab
19039 2004-08-24 16:35 pbartok
19042 - Refined definitions for CrossingEvent
19044 2004-08-24 12:37 jordi
19046 * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
19047 formmating, methods signature, and adds missing events
19049 2004-08-24 12:24 jordi
19051 * Control.cs: fire OnEnabledChanged event
19053 2004-08-24 11:17 pbartok
19056 - Implemented SetTimer() and KillTimer()
19058 2004-08-24 11:16 pbartok
19061 - Now uses Remove instead of Add to kill the timer
19063 2004-08-24 10:16 jackson
19065 * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
19066 picture boxes in the theme now. Draw picture box borders and obey
19069 2004-08-24 05:49 jackson
19071 * Timer.cs: Remove top secret debugging code
19073 2004-08-24 05:34 jackson
19075 * PictureBox.cs: Temp hack to make picture boxes draw their full
19078 2004-08-24 05:29 jackson
19080 * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
19081 XplatUIX11.cs: Move timers to the driver level. On X they are
19082 queued by the driver and checked on idle.
19084 2004-08-24 01:07 jackson
19086 * XplatUIX11.cs: Use a queue for async messages instead of passing
19087 them as ClientMessages since that was totally broken. Also simply
19088 check for events and return an idle message if none are found. This
19089 gives us an idle handler, and prevents deadlocking when no messages
19092 2004-08-23 18:19 ravindra
19094 * XplatUIWin32.cs: Removed the unwanted destructor.
19096 2004-08-23 17:27 pbartok
19099 - Finishing touches. Works now, just needs some optimizations.
19101 2004-08-23 16:53 jordi
19103 * ScrollBar.cs: small fix
19105 2004-08-23 16:45 pbartok
19108 - Removed debug output
19111 2004-08-23 16:43 jordi
19113 * ScrollBar.cs: [no log message]
19115 2004-08-23 16:10 pbartok
19118 - Fixed handling of WM_CLOSE message
19119 - Removed debug output
19121 2004-08-23 16:09 pbartok
19124 - Added handling of Idle event
19125 - Added handling of form closing
19126 - Fixed reporting of MessageLoop property
19127 - Removed some unneeded code, should provide a bit of a speedup
19129 2004-08-23 15:22 pbartok
19132 - Added InitLayout() method
19133 - Added code to properly perform layout when Anchor or Dock property
19135 - Changed 'interpretation' of ResumeLayout. MS seems to have a
19136 LAMESPEC, tried to do it in a way that makes sense
19138 2004-08-23 14:10 jordi
19140 * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
19141 properties and methods
19143 2004-08-23 13:55 pbartok
19146 - Properly fixed Jordi's last fix
19147 - Now uses Cursor's Position property instead of calling XplatUI
19150 2004-08-23 13:44 jordi
19152 * PaintEventHandler.cs: Adding missing attribute
19154 2004-08-23 13:39 pbartok
19157 - Implemented Position property
19159 2004-08-23 13:39 pbartok
19161 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
19162 - Added method to move mouse cursor
19164 2004-08-23 13:39 pbartok
19167 - Fixed setting of background color
19168 - Added method to move mouse cursor
19170 2004-08-23 13:16 jordi
19172 * Control.cs: avoids null exception
19174 2004-08-22 17:46 jackson
19176 * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
19179 2004-08-22 17:40 jackson
19181 * XplatUIX11.cs: Add some missing locks
19183 2004-08-22 15:10 pbartok
19185 * Control.cs, Form.cs:
19186 - Removed OverlappedWindow style from Control, instead it's default
19188 - Made form windows OverlappedWindow by default
19190 2004-08-22 13:34 jackson
19192 * ScrollBar.cs: Update the position through the Value property so
19193 the OnValueChanged event is raised.
19195 2004-08-22 12:04 pbartok
19198 - Added Cursor.cs and UserControl.cs
19200 2004-08-22 12:03 pbartok
19203 - Started implementation, not usable yet
19205 2004-08-22 12:00 pbartok
19208 - Implemented UserControl (complete)
19210 2004-08-21 19:20 ravindra
19212 * ToolBar.cs: Correcting the formatting mess of VS.NET.
19214 2004-08-21 18:49 ravindra
19216 * ToolBar.cs: Probably this completes the missing attributes in
19219 2004-08-21 18:03 ravindra
19221 * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
19222 Fixed toolbar control signatures.
19224 2004-08-21 16:32 pbartok
19229 2004-08-21 16:30 pbartok
19234 2004-08-21 16:19 pbartok
19236 * Control.cs, Label.cs:
19239 2004-08-21 15:57 pbartok
19242 - Added loads of debug output for development
19243 - Fixed typo in method name
19245 2004-08-21 15:52 pbartok
19247 * ToolBarButtonClickEventArgs.cs:
19248 - Added missing base class
19250 2004-08-21 14:53 pbartok
19253 - Updated to match new GrabWindow signature
19255 2004-08-21 14:51 pbartok
19257 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19258 - Added method to get default display size
19260 2004-08-21 14:23 pbartok
19262 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19263 - Added method to query current grab state
19264 - Added argument to allow confining a grab to a window
19266 2004-08-21 14:22 pbartok
19269 - Added [Flags] attribute so that modifiers can be used in bitwise
19272 2004-08-21 14:21 pbartok
19274 * TrackBar.cs, ScrollBar.cs:
19275 - Replaced direct XplatUI calls with their Control counterpart
19277 2004-08-21 13:32 pbartok
19280 - Implemented Created property
19282 2004-08-21 13:28 pbartok
19285 - Implemented ContainsFocus
19287 2004-08-21 13:26 pbartok
19290 - Implemented CausesValidation
19292 2004-08-21 13:21 pbartok
19295 - Implemented CanFocus
19296 - Implemented CanSelect
19297 - Implemented Capture
19299 2004-08-21 12:35 pbartok
19302 - Fixed bug with Async message handling
19303 - Implemented getting the ModifierKeys
19305 2004-08-21 12:32 jackson
19307 * AsyncMethodResult.cs: Make sure we have the mutex before we
19308 release it. Fixes BeginInvoke on windows
19310 2004-08-21 11:31 pbartok
19312 * XplatUIWin32.cs, XplatUIX11.cs:
19313 - Drivers now return proper mouse state
19315 2004-08-21 10:54 jackson
19317 * Control.cs: Implement EndInvoke
19319 2004-08-21 10:48 jackson
19321 * Timer.cs: Remove unneeded finalizer
19323 2004-08-20 19:52 ravindra
19325 * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
19326 in mouse event handling in the ToolBar control.
19328 2004-08-20 19:50 ravindra
19330 * ImageList.cs: Changed draw method to use the arguments passed in
19333 2004-08-20 18:58 pbartok
19335 * XplatUIStructs.cs:
19336 - Added private message for async communication
19338 2004-08-20 17:38 ravindra
19340 * Control.cs: Made RightToLeft property virtual and removed a
19343 2004-08-20 14:39 jordi
19345 * ThemeGtk.cs: use style_attach
19347 2004-08-20 14:39 pbartok
19350 - Added jackson's Async code from X11 to Win32
19352 2004-08-20 14:09 pbartok
19355 - Added all new files
19357 2004-08-20 14:09 pbartok
19360 - Added call to set window background color
19362 2004-08-20 14:03 pbartok
19364 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
19365 - Added method for setting the window background
19367 2004-08-20 14:02 pbartok
19370 - Added method for setting the background color
19371 - Added handling for erasing the window background
19373 2004-08-20 13:45 jordi
19375 * TrackBar.cs: fixes timer, new properties and methods
19377 2004-08-20 13:34 jackson
19379 * ScrollBar.cs: Use the SWF timer so callbacks are run in the
19382 2004-08-20 13:22 jackson
19384 * Timer.cs: Timer Tick events are now handed through Controls Async
19385 mechanism so the callbacks are executed in the same thread as X
19387 2004-08-20 13:19 jackson
19389 * XplatUIDriver.cs: Expose functionality to send async messages
19392 2004-08-20 13:18 jackson
19394 * Control.cs: Implement Begininvoke
19396 2004-08-20 13:14 jackson
19398 * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
19399 messages through the driver
19401 2004-08-20 13:12 jackson
19403 * XplatUIX11.cs: Lock before all X operations. Also added Async
19404 method functionality through XSendEvent
19406 2004-08-20 13:11 jackson
19408 * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
19409 This will screw up on 64 bit systems)
19411 2004-08-20 13:10 jackson
19413 * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
19414 Async messages through X/Win32
19416 2004-08-19 19:39 pbartok
19419 - Updated code to match new HandleData.DeviceContext type
19421 2004-08-19 19:38 pbartok
19424 - Made DeviceContext a generic object to allow usage from various
19426 - Added support for queueing Windows messages
19428 2004-08-19 19:37 pbartok
19431 - Added generation of MouseEnter, MouseLeave and MouseHover events
19432 - Added cleanup on EndPaint
19434 2004-08-19 19:17 pbartok
19437 - Added handling of WM_MOUSEHOVER
19438 - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
19441 2004-08-19 18:55 jordi
19443 * ThemeGtk.cs: fixes button order
19445 2004-08-19 18:12 jordi
19447 * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
19449 2004-08-19 17:09 pbartok
19452 - Added Right property
19453 - Added RightToLeft property
19455 2004-08-19 16:27 jordi
19457 * ThemeGtk.cs: experimental GTK theme support
19459 2004-08-19 16:26 jordi
19461 * ITheme.cs, Theme.cs: move themes from an interface to a class
19463 2004-08-19 16:25 jordi
19465 * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
19468 2004-08-19 16:04 pbartok
19471 - Added colormap basics
19472 - Added a way to re-initialize with a different display handle
19473 - Fixed setting of the window background color
19474 - Added various X11 imports related to colors and colormaps
19476 2004-08-19 15:51 pbartok
19479 - Removed packing hints (Paolo suggested this a while back)
19480 - fixed colormap type
19481 - Added default Atom types
19482 - Added Screen and color structs and enums
19484 2004-08-19 15:39 pbartok
19487 - Added missing Draw() method
19488 - Added missing RecreateHandle event
19490 2004-08-19 15:30 pbartok
19493 - Added handling of WM_CLOSE
19495 2004-08-18 13:16 jordi
19497 * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
19500 2004-08-18 09:56 jordi
19502 * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
19504 2004-08-17 15:31 ravindra
19506 * SWF.csproj: Updated project.
19508 2004-08-17 15:25 pbartok
19511 - Drawing improvement; don't call UpdateBounds if we are not visible
19512 (or have been minimized)
19514 2004-08-17 15:24 pbartok
19517 - Finished IsVisible
19518 - Added Win32GetWindowPlacement
19520 2004-08-17 15:08 jackson
19522 * Panel.cs: Initial checkin of the Panel
19524 2004-08-17 14:25 pbartok
19527 - Fixed broken handling of default window sizes
19529 2004-08-17 13:29 jackson
19531 * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
19532 has a large startup time.
19534 2004-08-17 10:25 jackson
19536 * HandleData.cs: union areas properly
19538 2004-08-17 10:12 jackson
19540 * HandleData.cs: union areas properly
19542 2004-08-16 20:00 ravindra
19544 * ToolBar.cs, ToolBarButton.cs: Added attributes.
19546 2004-08-16 18:48 ravindra
19548 * ToolBar.cs: Added attributes.
19550 2004-08-16 17:17 ravindra
19552 * SWF.csproj: Updated project.
19554 2004-08-16 17:16 jackson
19556 * XplatUIX11.cs: Check for more expose events before sending a
19557 WM_PAINT so they can all be grouped together. This makes dragging a
19558 window across another window redraw in a sane way.
19560 2004-08-16 15:47 pbartok
19563 - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
19564 support OnMouseEnter/Leave()
19565 - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
19568 2004-08-16 15:46 pbartok
19570 * XplatUIStructs.cs, XplatUIX11.cs:
19571 - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
19572 OnMouseEnter/Leave()
19574 2004-08-16 15:34 jackson
19576 * XplatUIX11.cs: Group multiple expose events in HandleData, make
19577 sure messages get the message field set to WM_NULL if they are not
19580 2004-08-16 15:24 jackson
19582 * HandleData.cs: HandleData is used for storing message information
19585 2004-08-15 17:23 ravindra
19587 * ColorDepth.cs: Added attribute.
19589 2004-08-15 17:23 ravindra
19591 * SWF.csproj: Updated project for ToolBar Control.
19593 2004-08-15 17:20 ravindra
19595 * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
19596 control and also dos2unix format.
19598 2004-08-15 17:13 ravindra
19600 * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
19601 ToolBarButtonClickEventArgs.cs,
19602 ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
19603 ToolBarTextAlign.cs: First Implementation of ToolBar control.
19605 2004-08-15 15:31 pbartok
19608 - First (mostly) working version
19610 2004-08-13 16:15 pbartok
19613 - Fixed Anchor default
19615 2004-08-13 15:43 pbartok
19618 - Changed GetCursorPos signature
19620 2004-08-13 15:42 pbartok
19622 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
19623 - Changed signature for GetCursorPos
19625 2004-08-13 15:25 pbartok
19629 - Fixed resizing/exposure handling
19631 2004-08-13 15:22 jordi
19633 * ThemeWin32Classic.cs: removes redundant code and fixes issues
19636 2004-08-13 14:55 jordi
19638 * TrackBar.cs: change from wndproc to events
19640 2004-08-13 13:00 jordi
19642 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
19643 XplatUIX11.cs: implements PointToClient (ScreenToClient)
19645 2004-08-13 12:53 pbartok
19648 - Changed GetWindowPos to also provide client area size
19649 - Fixed broken prototypes for several win32 functions
19651 2004-08-13 12:53 pbartok
19653 * XplatUI.cs, XplatUIDriver.cs:
19654 - Changed GetWindowPos to also provide client area size
19656 2004-08-13 12:52 pbartok
19659 - Added generation of WM_POSCHANGED
19660 - Changed GetWindowPos to also provide client area size
19662 2004-08-13 12:52 pbartok
19665 - Added Dispose() and destructor
19666 - Fixed resizing and bounds calculation
19668 - Added memory savings for invisible windows
19670 2004-08-13 12:46 jordi
19672 * TrackBar.cs: adds timer and grap window
19674 2004-08-13 10:25 jackson
19676 * Timer.cs: SWF Timer
19678 2004-08-12 16:59 pbartok
19680 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19681 - Implemented method to get current mouse position
19683 2004-08-12 14:29 jordi
19685 * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
19686 enhancement, fix mouse problems, highli thumb, etc
19688 2004-08-12 13:31 pbartok
19691 - Fixed Anchoring bugs
19693 2004-08-12 13:01 jackson
19695 * StatusBar.cs: Don't forget things
19697 2004-08-12 12:54 jackson
19699 * ThemeWin32Classic.cs: Handle owner draw status bars
19701 2004-08-12 12:54 jackson
19703 * StatusBar.cs: Implement missing properties, events, and methods.
19704 Handle mouse clicking
19706 2004-08-12 10:19 jackson
19708 * StatusBarPanelClickEventArgs.cs,
19709 StatusBarPanelClickEventHandler.cs: Classes for handling status
19710 bar panel click events
19712 2004-08-12 10:10 jackson
19714 * Control.cs: Add missing properties
19716 2004-08-12 09:46 pbartok
19718 * BindingsManagerBase.cs:
19719 - Name changed to BindingManagerBase.cs
19721 2004-08-12 09:25 jordi
19723 * ScrollableControl.cs: calls ctrlbase instead of exeception
19725 2004-08-11 16:28 pbartok
19727 * InputLanguageChangingEventArgs.cs:
19728 - Never check in before compiling. Fixes the last check-in
19730 2004-08-11 16:26 pbartok
19732 * InputLanguageChangingEventArgs.cs:
19733 - More signature fixes
19735 2004-08-11 16:20 pbartok
19737 * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
19738 Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
19739 ImageListStreamer.cs, InputLanguage.cs,
19740 InputLanguageChangedEventArgs.cs,
19741 InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
19742 LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
19743 ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
19744 XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19747 2004-08-11 16:16 pbartok
19751 - Added .Net 1.1 method
19753 2004-08-11 15:25 pbartok
19756 - Fixed BindingManagerBase.cs filename
19758 2004-08-11 15:22 pbartok
19760 * BindingManagerBase.cs:
19761 - Was checked in with wrong filename
19763 2004-08-11 14:50 pbartok
19768 2004-08-11 13:41 jordi
19770 * XplatUIWin32.cs: Fixes ClientRect
19772 2004-08-11 13:19 pbartok
19774 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
19776 - We had SetWindowPos and MoveWindow to set window positions and
19777 size, removed MoveWindow. We have GetWindowPos, so it made sense to
19778 keep SetWindowPos as matching counterpart
19779 - Added some X11 sanity checking
19781 2004-08-11 12:59 pbartok
19784 - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
19785 (It seems that SetBounds is just a front for SetBoundsCore and
19786 SetBoundsCore updates the underlying window system and
19787 UpdateBounds is responsible for updating the variables associated
19788 with the Control and sending the events)
19789 - Major cleanup of Size handling; we now have two sizes, client_size
19790 and bounds. Bounds defines the window with decorations, client_size
19793 2004-08-11 12:55 pbartok
19795 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19796 - Added method to calculate difference between decorated window and
19799 2004-08-11 12:54 pbartok
19802 - Forcing redraw on resize
19804 2004-08-11 11:43 pbartok
19807 - Removed disposing of the actual images when the list is disposed
19809 2004-08-11 09:13 pbartok
19812 - Now properly reparents windows
19814 2004-08-11 08:37 pbartok
19819 2004-08-11 07:47 pbartok
19822 - Rewrote the collection stuff. Might not be as fast now, not
19823 keeping the number of children around and accessible directly, but
19824 it's more straightforward
19826 2004-08-11 07:44 pbartok
19828 * AccessibleObject.cs:
19829 - Fixed to match ControlCollection rewrite
19831 2004-08-11 07:43 pbartok
19834 - Added missing creation of the collection list
19836 2004-08-10 20:08 jackson
19838 * StatusBar.cs: Get the paint message from WndProc
19840 2004-08-10 19:31 jackson
19842 * ThemeWin32Classic.cs: Create Brushes as little as possible
19844 2004-08-10 19:20 jackson
19846 * UICues.cs: Add Flags attribute
19848 2004-08-10 19:19 jackson
19850 * StatusBarPanel.cs: Signature cleanup
19852 2004-08-10 19:10 jackson
19854 * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
19855 Initial implementation of status bar item drawing
19857 2004-08-10 17:27 jordi
19859 * TrackBar.cs: add missing methods, properties, and restructure to
19862 2004-08-10 16:24 jackson
19864 * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
19865 ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
19868 2004-08-10 13:21 jordi
19870 * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
19871 enhancements and standarize on win colors defaults
19873 2004-08-10 12:52 jackson
19875 * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
19876 ThemeWin32Classic.cs: Implement DrawItem functionality
19878 2004-08-10 12:47 jordi
19880 * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
19882 2004-08-10 12:32 jordi
19884 * Control.cs: throw ontextchange event
19886 2004-08-10 11:43 pbartok
19889 - Added more to the still unfinished Dock/Anchor layout code
19891 2004-08-10 11:39 pbartok
19893 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
19894 - Added GetWindowPos method
19896 2004-08-10 11:36 pbartok
19899 - Implemented several methods
19901 2004-08-10 09:47 jackson
19903 * TrackBar.cs: Allow control to handle buffering
19905 2004-08-10 09:41 jackson
19907 * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
19909 2004-08-10 09:24 jackson
19911 * Label.cs, LinkLabel.cs: Let Control handle buffering.
19913 2004-08-10 09:09 jackson
19915 * StatusBar.cs: Let Control handle all the buffering.
19917 2004-08-10 09:08 jackson
19919 * Control.cs: Control will now handle the buffering code, so each
19920 control does not have to implement this.
19922 2004-08-10 08:34 jackson
19924 * XplatUIDriver.cs: Use default colors from the theme
19926 2004-08-09 17:12 pbartok
19929 - Fixed several bugs Ravindra pointed out
19931 2004-08-09 16:11 pbartok
19934 - Added incomplete dock layout code
19935 - Added support for mouse wheel
19937 2004-08-09 16:09 pbartok
19940 - Added handling for middle and right mousebutton
19941 - Added handling for mouse wheel
19942 - Added handling for key state and mouse state and position
19943 - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
19946 2004-08-09 15:40 jackson
19948 * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
19949 StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
19952 2004-08-09 15:37 jackson
19954 * StatusBar.cs: Initial implementation of StatusBar
19956 2004-08-09 15:36 jackson
19958 * ITheme.cs: Add support for drawing status bar and getting status
19961 2004-08-09 15:35 pbartok
19966 2004-08-09 15:34 jackson
19968 * ThemeWin32Classic.cs: Add support for drawing status bar and get
19969 status bar item sizes
19971 2004-08-09 15:21 jackson
19973 * ThemeWin32Classic.cs: Use known colors for default control
19976 2004-08-09 15:12 jackson
19978 * ThemeWin32Classic.cs: Make the default font static, it is static
19979 in control so this doesn't change functionality and creating fonts
19982 2004-08-09 14:56 pbartok
19985 - Added GrabMode enum
19987 2004-08-09 14:55 pbartok
19989 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19990 - Removed Run method, was only required for initial development
19992 2004-08-09 14:51 pbartok
19994 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
19995 - Implemented GrabWindow/ReleaseWindow methods to allow pointer
19998 2004-08-09 13:48 pbartok
20001 - Fixed default sizing for child windows
20003 2004-08-09 12:56 pbartok
20006 - Added generation of WM_DESTROY message
20007 - Added handling of window manager induced shutdown
20009 2004-08-09 11:31 jackson
20011 * ThemeWin32Classic.cs: New names for control properties
20013 2004-08-09 11:25 jackson
20015 * Control.cs: Use new color names
20017 2004-08-09 11:02 jackson
20019 * XplatUI.cs: Get default window properties from the theme
20021 2004-08-09 11:01 jackson
20023 * ITheme.cs: The theme engine now controls default window
20026 2004-08-09 11:00 jackson
20028 * ThemeWin32Classic.cs: Add default window color properties
20030 2004-08-09 10:17 jackson
20032 * ThemeWin32Classic.cs: Use correct default back color
20034 2004-08-09 10:05 jackson
20036 * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
20039 2004-08-09 09:56 jackson
20041 * XplatUI.cs: Remove defaults, these are handled by the theme now.
20043 2004-08-09 09:54 jackson
20045 * Control.cs: Get default properties from the theme.
20047 2004-08-09 09:53 jackson
20049 * ITheme.cs: Themes now handle default control properties
20051 2004-08-09 09:53 jackson
20053 * ThemeWin32Classic.cs: Themes now handle default control
20054 properties so coloring will be consistent
20056 2004-08-08 16:54 jordi
20058 * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
20060 2004-08-08 15:08 jordi
20062 * XplatUIX11.cs: fixes keyboard crash
20064 2004-08-08 13:47 jordi
20066 * Label.cs: add cvs header info
20068 2004-08-08 12:09 jackson
20070 * ThemeWin32Classic.cs: Add pen_buttonface
20072 2004-08-08 11:52 jordi
20074 * Label.cs, LinkLabel.cs: [no log message]
20076 2004-08-08 11:34 jordi
20078 * ThemeWin32Classic.cs: Use Windows Standard Colours
20080 2004-08-07 17:32 jordi
20082 * TrackBar.cs: throw exceptions of invalid enums values
20084 2004-08-07 17:31 jordi
20086 * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
20089 2004-08-07 16:56 jackson
20091 * HorizontalAlignment.cs: Initial checkin
20093 2004-08-07 13:16 jordi
20095 * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
20098 2004-08-07 13:05 jordi
20100 * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
20101 GetSysColor defines
20103 2004-08-06 18:01 pbartok
20105 * ThemeWin32Classic.cs:
20106 - Fixed some rounding issues with float/int
20108 2004-08-06 18:00 jackson
20110 * DockStyle.cs, AnchorStyles.cs:
20112 Add flags and serializable attributes.
20114 2004-08-06 17:46 pbartok
20117 - Implemented GetParent
20119 2004-08-06 17:18 pbartok
20122 - Fixed some rounding issues with float/int
20124 2004-08-06 17:17 pbartok
20126 * X11Structs.cs, XplatUIX11.cs:
20127 - Fixed Refresh and Invalidate
20129 2004-08-06 15:30 pbartok
20131 * Control.cs, X11Structs.cs, XplatUIX11.cs:
20132 - Fixed recursive loop when resizing
20133 - Improved/fixed redrawing on expose messages
20135 2004-08-06 09:53 jordi
20137 * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
20138 keyboard navigation
20140 2004-08-06 08:02 pbartok
20142 * X11Structs.cs, XplatUIX11.cs:
20143 - Fixed reparenting
20144 - Fixed window border creation
20146 2004-08-05 15:38 pbartok
20149 - Attempted fix for reparenting problems
20151 2004-08-04 15:14 pbartok
20154 - Fixed Invalidation bug (calculated wrong client area)
20155 - Added ClientSize setter
20157 2004-08-04 15:13 pbartok
20160 - Added AutoScale properties
20162 2004-08-04 15:13 pbartok
20165 - Added latest files
20167 2004-08-04 14:11 pbartok
20169 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
20171 - Added Invalidate handling
20173 2004-08-03 17:09 jordi
20175 * XplatUIDriver.cs: fixes spelling mistake
20177 2004-07-27 09:53 jordi
20179 * TrackBar.cs: fixes trackbar events, def classname, methods
20182 2004-07-27 09:29 jordi
20184 * ScrollBar.cs: fixes scrollbar events
20186 2004-07-27 04:38 jordi
20188 * Control.cs: changes to be able to run winforms samples
20190 2004-07-26 11:42 jordi
20192 * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
20193 ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
20195 2004-07-26 05:41 jordi
20197 * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
20198 MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
20201 2004-07-22 09:22 jordi
20203 * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
20204 check link overlapping, implement events, and fixes
20206 2004-07-21 10:28 jordi
20208 * DialogResult.cs, IButtonControl.cs: fixes comments filenames
20210 2004-07-21 10:19 jordi
20212 * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
20213 LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
20214 LinkLabelLinkClickedEventArgs.cs,
20215 LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
20216 XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
20219 2004-07-19 13:09 jordi
20221 * Control.cs, Label.cs: label control re-written: added missing
20222 functionlity, events, and properties
20224 2004-07-19 10:49 jordi
20226 * Control.cs: fixes SetBounds logic
20228 2004-07-19 01:29 jordi
20230 * Control.cs: Call RefreshWindow only if the window has created
20232 2004-07-15 14:05 pbartok
20234 * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
20235 - Implemented ImageList and ImageList.ImageCollection classes
20236 - Added ColorDepth enumeration
20237 - Updated SWF VS.Net project
20239 2004-07-15 11:06 jordi
20241 * XplatUIStructs.cs: added MsgButons enum
20243 2004-07-15 11:03 jordi
20245 * Control.cs: added basic mouse handeling events
20247 2004-07-15 03:38 jordi
20249 * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
20250 Vertical TrackBar control implementation
20252 2004-07-13 09:33 jordi
20254 * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
20256 2004-07-13 09:31 jordi
20258 * Control.cs, Form.cs: commit: new properties and fixes form size
20261 2004-07-09 14:13 miguel
20263 * ProgressBar.cs: Spelling
20265 2004-07-09 11:25 pbartok
20268 - Removed usage of Rectangle for drawing. Miguel pointed out it's
20271 2004-07-09 11:17 miguel
20273 * ProgressBar.cs: 2004-07-09 Miguel de Icaza <miguel@ximian.com>
20275 * ProgressBar.cs: Fixed spelling for `block'
20277 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
20280 Avoid using the += on rect.X, that exposed a bug in the compiler.
20282 2004-07-08 23:21 pbartok
20284 * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
20285 AnchorStyles.cs, Application.cs, ApplicationContext.cs,
20286 BaseCollection.cs, Binding.cs, BindingContext.cs,
20287 BindingMemberInfo.cs, BindingsCollection.cs,
20288 BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
20289 BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
20290 ButtonState.cs, CaptionButton.cs, CheckBox.cs,
20291 ContainerControl.cs, Control.cs, ControlEventArgs.cs,
20292 ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
20293 ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
20294 CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
20295 DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
20296 FrameStyle.cs, GiveFeedbackEventArgs.cs,
20297 GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
20298 HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
20299 IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
20300 InputLanguageChangedEventArgs.cs,
20301 InputLanguageChangedEventHandler.cs,
20302 InputLanguageChangingEventArgs.cs,
20303 InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
20304 InvalidateEventArgs.cs, InvalidateEventHandler.cs,
20305 KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
20306 KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
20307 LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
20308 MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
20309 PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
20310 QueryAccessibilityHelpEventArgs.cs,
20311 QueryAccessibilityHelpEventHandler.cs,
20312 QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
20313 RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
20314 ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
20315 ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
20316 TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
20317 UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
20318 XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
20319 XplatUIX11.cs, lang.cs: