1 2006-06-12 Jackson Harper <jackson@ximian.com>
3 * KeysConverter.cs: Make sure we handle the Ctrl special case
6 2006-06-12 Jackson Harper <jackson@ximian.com>
8 * Theme.cs: Add a method to get the size of a managed window
10 * InternalWindowManager.cs: Remove the ButtonSize property, this
11 should be retrieved from the theme.
12 * MdiWindowManager.cs: Get the button size from the theme
13 * ThemeWin32Classic.cs: Make the method to get the managed window
14 titlebar button size public.
15 - Handle the different button sizes of maximized toolwindows
16 (should match any maximized window).
17 - Get the titlebar height from the theme, not the WM (which gets
20 2006-06-12 Jackson Harper <jackson@ximian.com>
22 * InternalWindowManager.cs: Handle NC Double Clicks, passing the
23 event down to the mdi window manager.
24 - Expose some extra stuff to base classes
25 - Make sure to end the Capture on an NC Mouse up, so that we can
26 get double clicks properly, and the sizing doens't stick.
27 - When doing PointToClient contain it in the workable desktop
28 area, this prevents windows from changing size when the cursor is
29 pulled outside of the working area while sizing.
30 * MdiWindowManager.cs: When we get a double click maximize the
32 - Reset the cursor after handling mode changes.
34 2006-06-12 Peter Dennis Bartok <pbartok@novell.com>
36 * XplatUIX11.cs (WorkingArea): Read the actual workarea for the
37 current desktop, instead of just assuming a 0, 0 origin. This
38 is needed for our internal window manager, to know the top
41 2006-06-12 Chris Toshok <toshok@ximian.com>
43 * DataGrid.cs (set_CurrentCell): concede focus as we move around.
44 we need this to get rid of the selected background in the bool
46 (CancelEditing): move the ConcedeFocus call to above the Abort
47 call. Also, set is_changing to false and invalidate the row
48 header if we were changing before.
49 (ProcessKeyPreviewInternal): remove, since noone outside this
50 class calls it anymore. Roll the code into ProcessKeyPreview.
51 (EndEdit): remove the internal version.
52 (InvalidateCurrentRowHeader): make private.
54 * DataGridBoolColumn.cs: simplify this class a bunch. remove the
55 Keys.Escape handling (and with it the last call to
56 DataGrid.EndEdit from outside the class.)
59 2006-06-12 Chris Toshok <toshok@ximian.com>
61 * DataGridTextBox.cs (.ctor): isedit defaults to false.
62 (OnKeyPress): set isedit to true.
63 (ProcessKeyMessage): remove Keys.Enter handling from here. it's
64 already handled by the grid.
66 * DataGrid.cs (set_CurrentCell): more work here. it's still not
68 (set_DataSource): SetDataSource always returns true, so stop
69 putting it in an if statement.
70 (EndEdit): get rid of some {}'s
71 (ProcessGridKey): return true in case Keys.Escape.
72 (ProcessKeyPreviewInternal): only handle KEYDOWN messages.
73 (ConnectListManagerEvents,DisconnectListManagerEvents): connect to
74 PositionChanged, stopped connecting to CurrentChanged.
75 (GetDataSource): simplify this a bunch.
76 (SetDataSource): change return type from bool to void.
77 (OnListManagerPositionChanged): rename OnListManagerCurrentChanged
78 to this, and make sure we don't set ListManager.Position inside
80 (OnListManagerItemChanged): if we're passed an actual index,
83 * CurrencyManager.cs (set_Position): don't call PullData here.
85 2006-06-09 Jackson Harper <jackson@ximian.com>
87 * TreeNode.cs: Recalculate the visible order before doing the
88 Expand/Collapse Below calls, because those calls generate an
90 - Reduce calls to the TreeView property, which is mildly expensive
92 * Form.cs: Layout the MDI child windows when creating the parent
94 - Don't use the internal constructor anymore
95 * MdiClient.cs: use the parent form width/height (if available)
96 when laying out the child windows, we do this because the
97 mdiclient isn't docked yet when the initial layout is done.
98 - Don't need an internal constructor anymore.
100 2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
102 * FileDialog.cs: handle access errors when trying to create a folder
103 or changing to a directory. No need to initialize out parameters.
105 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
107 * FileDialog.cs: Append a number when creating a new folder if the
108 folder already exists (use parenthesis instead of square brackets)
110 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
113 - Disabled registry support for windows and added better registry
114 error checking for other systems (need to investigate why it
115 works perfectly on my system)
116 - If a folder already exist show an error MessageBox instead of
117 trying to create an indexed name.
118 - Fixed a non intentional typo.
120 2006-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
122 * FileDialog.cs: (SetFileName) don't crash if CurrentRealFolder is null.
124 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
126 * FileDialog.cs: When creating a new folder don't crash if the
127 folder already exists.
129 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
131 * FileDialog.cs: Allmost a complete rewrite.
132 - added a "virtual" file system that handles the differences
133 between unix and windows file systems (especially the directory
134 structure). Moved most of the directory and file handling code
136 Added vfs classes: MWFVFS, FileSystem, WinFileSystem,
137 UnixFileSystem and FSEntry.
138 - Recently used folder/directory, size, location and used file names
139 (file name ComboBox) are now stored in the registry and get read
140 before the dialog shows up (fixes part 6 of bug #78446).
141 - Creation of new folders/directories is now possible (context menu
142 or ToolBar). Added TextEntryDialog for this that fills in the gap
143 until ListView.LabelEdit works.
144 - Fixed cursor handling (bug #78527) and focus handling for
146 - Various "Search in" ComboBox enhancements. The content of the
147 dropdown listbox now almost matches ms.
148 - Changed the behaviour when the user switches to SpecialFolder
149 Recent to show the ListView in View.Details.
150 - Beside using the ToolBar to change the View property of the
151 file ListView it is now possible to use the context menu too.
153 2006-06-08 Alexander Olk <alex.olk@googlemail.com>
155 * ComboBox.cs: Don't create a new ObjectCollection when an item
156 gets inserted. Just insert the item in the existing object_items
159 2006-06-08 Jackson Harper <jackson@ximian.com>
161 * OpenTreeNodeEnumerator.cs: Fix to use the Parent property, so
162 that the treeview and root node checks are done also, this fixes a
163 regression i caused in the unit tests.
165 2006-06-07 Wade Berrier <wberrier@novell.com>
167 * RichTextBox.cs: More ISO8859-1 -> unicode
169 2006-06-07 Mike Kestner <mkestner@novell.com>
171 * ComboBox.cs : use items to hold highlight/selection so that
172 collection insertions don't require synchronization.
174 2006-06-07 Jackson Harper <jackson@ximian.com>
176 * InternalWindowManager.cs: Simplify (and FIX) the window sizing
177 routine. We now always keep the sized edge at the cursor instead
178 of computing movement and adjusting rects. There is one buglet
179 with this method though when the cursor is moved over area that
180 the window can not expand too (such as the toolbars on the desktop).
182 2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
184 * XplatUIX11.cs: (IsEnabled,IsVisible) the window handler can be null
185 here. Fixes crash on startup in AlbumSurfer.
187 2006-06-07 Peter Dennis Bartok <pbartok@novell.com>
189 * RichTextBox.cs: Replaced embedded ISO8859-1 chars with proper unicode
192 2006-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
194 * XplatUIX11.cs: call XPending and XNextEvent inside the same lock()
195 statement to avoid calling XNextEvent which will block if another thread
196 took the event that we were expecting. Fixes bug #78605.
198 2006-06-07 Mike Kestner <mkestner@novell.com>
200 * ListView.cs : isolated checkbox clicking from the selection logic.
201 Toggle check state on item doubleclicks. Really fixes #78454 part2.
203 2006-06-06 Carlos Alberto Cortez <calberto.cortez@gmail.com>
205 * Form.cs: Check that the value passed to Form.DialogResult
206 is a valid enum value.
208 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
210 * FileDialog.cs: disable the up button when in 'Recently Used' or 'My
211 Computer'. Clicking it in the network view goes to 'My Computer'.
212 Added CIFS filesystem type. Display the mount point of filesystems.
213 Avoid duplicate mount points (happens for me with CIFS);
215 2006-06-06 Jackson Harper <jackson@ximian.com>
217 * InternalWindowManager.cs: Draw the maximized windows buttons
220 2006-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
222 * Form.cs: when running a modal dialog, ignore WM_CLOSE requests for
223 all other dialogs. Fixes bug #78585.
225 2006-06-06 Mike Kestner <mkestner@novell.com>
227 * CheckedListBox.cs : apply CheckOnClick behavior to unchecking too.
228 Only invalidate checkbox on checkstate changes to avoid flicker.
229 * ListBox.cs : avoid unselect/select when clicking selected item.
230 avoid reselection flicker for already multiselected items.
233 2006-06-06 Jackson Harper <jackson@ximian.com>
235 * MdiWindowManager.cs: When the window is closed do an NCRecalc on
236 the parent form so that the menu is removed if needed.
238 2006-06-06 Mike Kestner <mkestner@novell.com>
240 * ListBox.cs : add ScrollWindow call to UpdateTopItem. fix
241 Prev/Next/PrevPage/NextPage/Home/End index calculation. Fixes #78559.
243 2006-06-06 Mike Kestner <mkestner@novell.com>
245 * CheckedListBox.cs : rebuild check collection on Add. Fixes #78426.
248 2006-06-06 Jackson Harper <jackson@ximian.com>
250 * Control.cs: Use the property (instead of the field) to get the
251 default cursor so it is instantiated correctly.
252 * InternalWindowManager.cs: The OS doesn't give us an NCPAINT with
253 resizes so we need to manually repaint the window decorations here.
254 - Set the titlebar button locations as soon as they are created,
255 otherwise they are not set correctly on win32.
257 2006-06-06 Chris Toshok <toshok@ximian.com>
259 * CurrencyManager.cs (set_Position): call PullData before
261 (AddNew): after calling IBindingList.AddNew, update our
262 listposition, and call OnCurrentChanged/OnPositionChanged (without
264 (OnCurrentChanged): remove the call to PullData from here.
265 (OnItemChanged): remove the call to PushData from here.
266 (OnPositionChanged): change the test from == null to != null to
267 match the other methods.
268 (ListChangedHandler): the grossest part of the patch. Implement
269 this such that it passes the unit tests in CurrencyManagerTest and
270 the output more or less matches that of MS's implementation.
272 2006-06-06 Mike Kestner <mkestner@novell.com>
274 * ListView.cs : only update check state on single click.
275 * ThemeWin32Classic.cs : fix focus drawing for details view without
276 fullrowselect. Fixes #78454.
277 * XplatUIX11.cs : fix for double click emission.
279 2006-06-05 Jonathan Chambers <jonathan.chambers@ansys.com>
281 * PropertyGridView.cs : Applied Atsushi's patch to fix
282 font dialog bug (#78197).
284 2006-06-05 Jackson Harper <jackson@ximian.com>
286 * TreeNode.cs: Compute the next node for expanding/collapsing
287 correctly. We now factor in nodes without a NextNode
288 correctly. (Fixes somes cases in nunit-gui).
289 * InternalWindowManager.cs: Set the bounds when updating the
290 virtual position of a tool window.
292 2006-06-05 Chris Toshok <toshok@ximian.com>
294 * DataGrid.cs: rename cached_currencymgr to list_manager.
295 (set_CurrentCell): move SetCurrentCell code here, and clean it up
297 (CurrentRow, CurrentColumn): single accessors so we can make the
298 cursor movement code a lot easier to understand.
299 (CurrentRowIndex): implement this in terms of CurrentRow.
300 (BeginEdit): clean this up a bit.
301 (CancelEditing): sort out the is_editing/is_changing/is_adding
303 (EndEdit): minor changes.
304 (OnKeyDown): add a comment about a (most likely) unnecessary
306 (OnMouseDown): cancel editing when we click on a row header. And
307 use the CurrentRow setter, not CurrentCell.
308 (ProcessDialogKey): directly call ProcessGridKey.
309 (UpdateSelectionAfterCursorMove): factor out this common block of
310 code (it's used everywhere that we move the cursor by updating row
312 (ProcessGridKey): pretty substantial overhaul. Use the
313 CurrentRow/CurrentColumn properties to make the code a lot more
314 readable. Only use the CurrentCell property when we have to
315 modify both row and column at once. Tab behavior is still broken,
316 and Delete is untested.
317 (Select): if we have no selected rows, set selection_start to
319 (EditCurrentCell): rename EditCell this. It was only ever invoked
320 with CurrentCell as the arg, so drop the arg and rename it.
322 * DataGridColumnStyle.cs: clean up the constructors a little, and
323 drop CommonConstructor().
325 * DataGridTextBox.cs (.ctor): set accepts_return to true so we
326 actually get notified when the user hits it.
327 (ProcessKeyMessage): *substantially* simplify this method.
328 There's no reason (that I can see) for the textbox to be making
329 calls into the datagrid at all. Remove all of them but the ones
330 for Enter handling. those will take some more work.
332 * DataGridTextBoxColumn.cs (ConcedeFocus): implement this by
334 (HideEditBox): if we have an active textbox, render it invisible
335 without causing a re-layout of the datagrid.
337 2006-06-05 Mike Kestner <mkestner@novell.com>
339 * ListView.cs : fix NRE crasher when focuseditem is cleared by
340 collection changes by resetting it to Items[0]. Fixes #78587.
342 2006-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
344 * MessageBox.cs: if the height of the text is larger than the icon_size,
345 use that. Fixes bug #78575.
347 2006-06-05 Jackson Harper <jackson@ximian.com>
349 * TreeView.cs: Fix line drawing when scrolling. To do this each
350 node is basically responsible for drawing its entire horizontal
351 area. When drawing a node it draws its parent node lines if
353 - Adjust the clip area to the viewport rectangle
354 - Fix Left/Right key handling to match MS. (It expand/collapses
355 and moves to parents/first child but does not move selection to
357 - Fix SetTop to work with new bound calculation code
358 - When scrollbars are no longer needed we need to reset scrolling
359 vars and recalculate the visible order so the redraw is correct
360 * TreeNode.cs: We can't expand/collapse nodes with no children.
362 2006-06-03 John Luke <john.luke@gmail.com>
364 * X11DesktopColors.cs: dllimport the exact gtk and gdk versions
365 so the colors work without dev packages
367 2006-06-02 Peter Dennis Bartok <pbartok@novell.com>
370 - Select: Implemented to just use activate. Seems to match MS
371 behaviour closest. Documented to only do actual control walking
372 based on it's parameters if in a container control so I moved
374 - Removed selection check logic from our internal Select() method
375 * ContainerControl.cs:
376 - Select: Moved selection logic from Control here, since MS documents
377 that containers obey the bool arguments. No longer calling base
379 2006-06-02 Jackson Harper <jackson@ximian.com>
381 * TreeView.cs: If the selected node isn't changed when we get
382 focus update the previously selected node so that we see the
385 2006-06-02 Mike Kestner <mkestner@novell.com>
387 * ComboBox.cs: restructure grab and general mouse event handling.
388 Make the composite control raise mouse events like it was a single
389 control for leaves/enters/motion/up/down events. fix dropdown list
390 coordinate mangling and refactor it into the scrollbar subclass to
391 reduce code duplication. Fixes #78282 #78361 and #78457.
393 2006-06-02 Mike Kestner <mkestner@novell.com>
395 * ScrollBar.cs: remove Capture setting/clearing, as it happens
396 automatically in the Control.WndProc.
398 2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
400 * FileDialog.cs: fix crash when running SharpChess, which sets the
401 FilterIndex to 2 with only one Filter.
403 2006-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
405 * ToolBar.cs: add SizeSpecified property.
406 * ToolBarButton.cs: when the ButtonSize is calculated by the container,
407 try to figure out our real size, otherwise fallback to what the
410 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
412 * XplatUIX11.cs (DefWndProc): WM_MOUSEWHEEL needs to be passed up
413 * Control.cs (WndProc): MS always calls the DefWndProc to pass
416 2006-06-01 Mike Kestner <mkestner@novell.com>
418 * ListView.cs: revamp the focus management in ListView. It still
419 causes churn of LostFocus/GotFocus emissions on clicks, but it's
420 better than not handling focus at all. Will revisit when pdb feels
421 the general focus handling is solid. Fixes #78526.
423 2006-06-01 Jackson Harper <jackson@ximian.com>
425 * TreeView.cs: Set the default border style in the constructor.
426 - Move painting to use OnPaintInternal instead of capturing
427 WM_PAINT, this is the correct way of doing things
428 - UpdateBelow shouldn't invalidate the scrollbar area
429 - Cap the top on update below in case the node was above the top
430 of the viewport rectangle.
431 - ExpandBelow and Collapse below need to obey Begin/End Update.
432 * TreeNode.cs: Make is_expanded internal so the treenode
433 collection can change it without firing the whole event chain.
434 * TreeNodeCollection.cs: When clearing all the child nodes make
435 sure to recalc the visible order.
436 - Improve algo for remove the top node
438 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
440 * XplatUIX11.cs (SetFocus): Make sure we can handle re-entrancy due to
441 SendMessage directly calling window procedures, which in turn might
444 2006-06-01 Peter Dennis Bartok <pbartok@novell.com>
446 * Control.cs: Don't handle WM_SETFOCUS if the same window already
447 has focus (works around X11 sending a FocusIn after our SetFocus)
448 * XplatUIX11.cs: Send KILLFOCUS before setting SETFOCUS on new window
450 2006-06-01 Alexander Olk <alex.olk@googlemail.com>
452 * Mime.cs: Fix for the NET_2_0 build.
453 NameValueCollection needs StringComparer now.
455 2006-05-31 Chris Toshok <toshok@ximian.com>
457 * DataGridDrawingLogic.cs (FromPixelToColumn): modify this to also
458 return (via an out parameter) the starting X of the column.
459 (UpdateVisibleColumn): track change to FromPixelToColumn.
460 (HitTest): add a ColumnResize case here.
461 (DrawResizeLine): new function, probably poorly named.
463 * DataGrid.cs (.ctor): get rid of cached_currencymgr_events. We
464 only need to keep one reference.
465 (set_ListManager): same.
466 (OnMouseDown): call HitTest instead of grid_drawing.HitTest.
467 Also, add support for HitTestType.ColumnResize.
468 (OnMouseMove): add column resize behavior here, and change the
469 cursor to the correct one as we move around the datagrid.
470 (OnMouseUp): terminate the column resize if we're resizing.
471 (ProcessGridKey): from the MS docs, Alt-0 enters the null value
472 for the current cell.
473 (ConnectListManagerEvents): use cached_currencymgr.
474 (DisconnectListManagerEvents): fill this in, using
476 (SetCurrentCell): remove cached_currencymgr_events handling.
477 (SetDataMember): only call DisconnectListManagerEvents if
478 cached_currencymgr is != null.
479 (SetDataSource): same.
480 (OnListManagerCurrentChanged): cached_currencymgr_events ->
483 2006-05-31 Jackson Harper <jackson@ximian.com>
485 * BindingManagerBase.cs: Remove somedebug code that creeped into
487 * TreeNode.cs: We get the indent level dynamically right now, so
488 don't track it as a member.
489 * TreeNodeCollection.cs: Make sure all nodes added to the list
490 have parents, treeviews/topnodes setup properly.
491 - Don't attempt to track indent level.
493 2006-05-30 Jackson Harper <jackson@ximian.com>
495 * BindingContext.cs: Create the currency manager tables here.
496 This allows us to more easily create null tables (when bad data
497 members are used), and more easily create related currency
499 * CurrencyManager.cs: All the table creation stuff is done by the
501 - Current should throw an exception if listposition is -1.
502 - CancelCurrentEdit/EndCurrentEdit, do nothing if the list hasn't
505 2006-05-30 Mike Kestner <mkestner@novell.com>
507 * ListView.cs: allow reexpansion of zero-width column headers.
510 2006-05-28 Chris Toshok <toshok@ximian.com>
512 * CurrencyManager.cs (get_Current): after the late binding
513 listposition = -1 fix, we need to guard against it here and return
514 null, otherwise we raise an exception (which is swallowed
515 elsewhere, and breaks datagrid databinding.)
517 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
519 * MenuAPI.cs (ProcessMenuKey): We can legally get msg types other
520 than WM_SYSKEY, don't throw if get something unexpected (#78507)
522 2006-05-26 Jackson Harper <jackson@ximian.com>
525 * ThemeWin32Classic.cs: For color comparisons just use the ARGB
526 values, it's faster and it's all we care about (we don't care if
527 the names aren't equal).
528 * KeyboardLayouts.cs: Eliminate some dead code.
530 * X11Keyboard.cs: Lazy init keyboard detection.
531 - Cleanup access modifiers a little.
533 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
535 * XplatUIX11.cs: Once again, attempting to get layout just right.
537 2006-05-26 Peter Dennis Bartok <pbartok@novell.com>
539 * LinkLabel.cs (CreateLinkPieces): Use MeasureString to calculate
540 the sizes of each link section, that will result in sizes that
541 match DrawString's layout (Fixes #78391)
543 2006-05-27 Alexander Olk <alex.olk@googlemail.com>
545 * FileDialog.cs: If AddExtension property is true autocomplete the
546 extensions in SaveFileDialog correctly. Fixes bug #78453.
547 Set MyNetwork and MyComputer to "C:\" for windows. This should
548 fix part 8 of bug #78446 for now.
550 2006-05-26 Chris Toshok <toshok@ximian.com>
552 * DataGrid.cs (ColumnStartedEditing): fill these in. for now just
553 invalidate the current row header if we need to, but presumably
554 we'll invalidate the row corrsponding to the bounds or
556 (GridHScrolled): switch back to this method, as it's part of the
558 (GridVScrolled): same.
559 (OnMouseWheel): hack up something that more or less works. Call
560 GridHScrolled/GridVScrolled directly, instead of duplicating much
562 (EnsureCellVisibility): reinstate a bunch of this code, since we
563 can't just set the scrollbar Value and expect to do all the work
564 in the ValueChanged handler. Also, Call Update() after scrolling
565 in one direction so the other XplatX11.ScrollWindow call has the
566 proper stuff in the proper places.
567 (EditCell): set is_editing to true before calling .Edit.
569 * DataGridTextBox.cs (set_IsInEditOrNavigateMode): just set it,
570 don't bother comparing first.
571 (OnKeyPress): call grid.ColumnStartedEditing before calling
572 base.OnKeyPress. this will set is_changing and invalidate the row
574 (ProcessKeyMessage): for WM_CHAR messages, call
575 ProcessKeyEventArgs directly. swallow anything other than WM_CHAR
578 * DataGridBoolColumn.cs (Edit): don't set is_editing to true here.
579 it's done in the DataGrid.
580 (NextState): call grid.ColumnStartedEditing, which takes care of
581 invalidating the row header (and setting is_changing).
583 * DataGridTextBoxColumn.cs (Edit): don't set is_editing to true
584 here. it's done in the DataGrid.
586 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
588 * Control.cs: allow changing the cursor when the mouse position is
589 out of bounds but Capture is set.
590 * LinkLabel.cs: handle the case when the mouse button is pressed on the
591 linklabel but released somewhere else.
593 2006-05-25 Jackson Harper <jackson@ximian.com>
595 * TreeView.cs: When we get focus if there is no selected node make
597 - Remove some uneeded setup code from Draw.
598 * TreeNodeCollection.cs: If the tree doesn't have a top node when
599 a new node is inserted make the new node the top.
601 * Timer.cs: Use Utc time so that no local time zone stuff needs to
602 be used (should be faster).
604 2006-05-25 Chris Toshok <toshok@ximian.com>
606 * DataGrid.cs (EnsureCellVisibility): remove some code to fix a
607 problem with the last commit.
609 2006-05-25 Chris Toshok <toshok@ximian.com>
611 * DataGridTextBoxColumn.cs (ReleaseHostedControl): turns out we do
612 need the invalidate call here, while scrolling right-to-left via
613 the left arrow key (i.e. moving the editing cell while scrolling).
615 * DataGrid.cs (.ctor): remove the initialization of
616 ctrl_pressed/shift_pressed. We no longer track them using key
617 up/down handlers, but by using Control.ModifierKeys. Also, switch
618 to using ValueChanged handlers on the scrollbars instead of
619 Scrolled event handlers. This simplifies a bunch of the scrolling
621 (GridHValueChanged): rename from GridHScrolled, and change it to
622 work with the new event args.
623 (GridVValueChanged): same.
624 (OnMouseDown): initialize ctrl_pressed/shift_pressed here.
625 (OnMouseWheel): actually scroll the datagrid. Don't change the
627 (ProcessGridKey): correct all the keyboard navigation stuff I
628 could find. Ctrl up/down/left/right/home/end work now.
629 (EnsureCellVisibility): correct method name spelling. Also,
630 simplify this a touch by not explicitly calling the
631 ScrollToRow/ScrollToColumnInPixels methods. We just set the
633 (OnKeyUpDG): no need for this method now.
635 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
637 * LinkLabel.cs: display the OverrideCursor when hovering the label.
640 2006-05-25 Chris Toshok <toshok@ximian.com>
642 * ThemeWin32Classic.cs: fix datagrid clipping problems caused by
645 2006-05-25 Peter Dennis Bartok <pbartok@novell.com>
647 * Application.cs: Moved setting of is_modal and closing to before
648 we create the control, to allow the event handlers called as a
649 result of creation affect closing. Also removed Gonzalo's previous
650 change to setting DialogResult, the behaviour has been moved to
653 - ShowDialog(): Removed explicit creation of the form, let RunLoop
655 - ShowDialog(): If no dialog result is set, we need to return Cancel
656 - WM_CLOSE: Fire Closing/Closed events, and reset dialog result if
657 the close is cancelled
659 2006-05-25 Jackson Harper <jackson@ximian.com>
661 * StatusBar.cs: We only need to update the sizes of the other
662 panels when we have auto size contents. Also we are only updating
663 the contents of the panel, not the borders, so compensate for the
664 border width (TODO: get this width from the theme somehow).
665 * TreeView.cs: Scrollable is true by default
666 - Use invalidate instead of refresh where needed
667 - Factor the scrollable value into scrollbar updating
668 - Update the scrollbars if the Scrollable property is altered
669 - Update the selected node if its ImageIndex is changed
670 - Handle null nodes in UpdateNode (mainly so we don't have to
671 check if selected is null when updating it
672 - Fix VisibleCount to use the ViewportRectangle so that scrollbars
673 are factored into the visible count
674 - Use VisibleCount for clarity in the code
675 - When the font is changed we need to recurse through all the
676 nodes and invalidate their sizes
678 2006-05-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
680 * Application.cs: set the DialogResult to fixed when the main form is
681 hidden or destroyed while being modal.
683 2006-05-25 Miguel de Icaza <miguel@novell.com>
685 * Theme.cs: Use Tangoified messagebox icons.
687 (GetSizedResourceImage): Also cope with width = 0 and do not
688 trigger a warning in that case (0 means "give me your icon from
689 the resouce, no special size needed).
691 2006-05-25 Peter Dennis Bartok <pbartok@novell.com>
693 * Application.cs: Leave runloop if the the main modal form is
694 hidden (fixes #78484)
696 2006-05-25 Atsushi Enomoto <atsushi@ximian.com>
698 * BindingContext.cs : reject null datasource in Contains() and
700 * CurrencyManager.cs : check data_member validity when data_source
701 is dataset. When it is late binding, the initial position is -1.
703 2006-05-24 Jackson Harper <jackson@ximian.com>
705 * TreeNodeCollection.cs: Dont't recalculate the visible order on
706 inserted nodes that aren't visible. This changes the
707 max_visible_order which confuses scrollbar settings.
708 - Use the enumerator to get the prev node instead of duplicating
710 * TreeView.cs: Use new method for setting scrollbar values
711 - Don't set the bounds every time the scrollbar is updated
712 - When updating below the root node use an invalidate instead of a
713 refresh to prevent the child controls (scrollbars) from being
714 refreshed. (UpdateBelow still needs to be reworked anyways).
715 - Reenable SetBottom now that visible orders are set correctly,
716 added some debug code incase we ever get bad values there again.
717 - Set the scrollbar max to 2 less then the max value, this
718 compensates for the max value being one above the node count, and
719 for scrollbars adding one extra "notch".
720 - When drawing image nodes if there is an imagelist we draw the
721 first image in the list if the supplied image index is out of the
724 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
726 * XplatUIX11.cs: Don't blindly cache hwnd.ClientRect, reset it when
727 we receive a size change from the WM (Fixes #78503)
729 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
731 * XplatUIWin32.cs, XplatUIX11.cs: Refresh when setting the Clip
732 rectangle (Fixes #78501)
734 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
737 - Fixed MouseUp, MouseDown and MouseMove to treat mouseevent.Button
739 - Fixed MouseMove to no longer switch pressed state unless the left
740 mouse button is pressed. Atsushi provided the original patch (#78485)
742 2006-05-24 Jackson Harper <jackson@ximian.com>
744 * ScrollBar.cs: New internal methods that allow us to change a
745 couple values on the scrollbar (the most common case is maximum
746 and large change) without getting multiple invalidates.
748 2006-05-24 Chris Toshok <toshok@ximian.com>
750 * DataGridBoolColumn.cs (Abort): revert back to the saved setting.
751 (Edit): save off the original state in oldState, and set
752 grid.is_editing to true.
753 (OnKeyDown): abort editing if escape is pressed. also, call
754 NextState if space is pressed.
755 (OnMouseDown): call NextState.
756 (NextState): factor out shared code from OnKeyDown and OnMouseDown
757 here. Also, only invalidate the row header once (on the initial
758 is_changing switch) to save on redraws.
760 2006-05-24 Chris Toshok <toshok@ximian.com>
762 * DataGridTextBoxColumn.cs (Commit): only call SetColumnValueAtRow
763 if the value in the cell is different than it was before. This
764 keeps us from triggering a layout when we move around a datarid
765 with a highlighted cell.
766 (Edit): suspend layout when creating/positining the text box, and
767 resume passing false so we don't ever actually re-layout.
768 (ReleaseHostedControl): same.
769 (EnsureTextBox): reformat slightly, and set WordWrap to false.
771 * DataGridTextBox.cs (ProcessKeyMessage): it's not true that all
772 control-key sequences should go to the datagrid - remove that
773 lock. Also, modify the conditions under which we move between
774 cells when moving the cursor within a cell, and remove the "this"
775 and "base" from field accesses. We weren't even consistent, given
776 they all were in the base class.
778 2006-05-24 Atsushi Enomoto <atsushi@ximian.com>
780 * Binding.cs : (.ctor)
781 An obvious NRE fix for BindingTest.CtorNullTest().
783 2006-05-23 Chris Toshok <toshok@ximian.com>
785 * TextBoxBase.cs (get_Text): don't add a trailing newline, add
786 them between lines. This fixes some quirks editing cells in the
789 2006-05-23 Jackson Harper <jackson@ximian.com>
791 * TreeView.cs: Use begin/end update when doing expand/collapse all
792 so that we don't get flicker on the scrollbar.
794 2006-05-23 Jackson Harper <jackson@ximian.com>
796 * TreeNode.cs: Bounds are computed 'on the fly' now. This allows
797 treenode calculations to be independant of the painting code. To
798 do this nodes track a visible order which is calculated by the
800 - Call new methods for expanding/collapsing nodes. These methods
801 use scrollwindow so we don't have to update everything below the
803 * TreeView.cs: Refactored drawing and scrolling code. We don't
804 need to update nodes when drawing anymore or calculate scrollbar
806 - Added new methods for expanding/collapsing nodes. These methods
807 use ScrollWindow so as to not have to redraw all the nodes below.
808 * TreeNodeCollection.cs: Recalc visible order and scrollbars when
809 we add/remove nodes or sort.
810 - Handle removing the selected and the top node properly.
812 2006-05-23 Chris Toshok <toshok@ximian.com>
814 * DataGridTextBoxColumn.cs (Edit): set grid.is_editing to true.
815 maybe this should actually happen in the datagrid code?
816 (EndEdit): no need to invalidate anything, given that
817 ReleaseHostedControl causes the datagrid to relayout, which
818 invalidates everything anyway.
820 * DataGrid.cs (set_CurrentCell): remove duplicate check (it's also
822 (set_SelectionBackColor): call InvalidateSelection instead of
824 (set_SelectionForeColor): same.
825 (BeginEdit): Flesh this out a bit.
826 (CancelEditing): only do any of this if we're editing/adding.
828 (OnMouseDown): there's no need to cancel editing here, it's done
830 (SetCurrentCell): only invalidate the current row header if it's a
831 different row than the new one.
832 (ShiftSelection): fix this to work like MS does.
833 (ResetSelection): factor out the invalidation of selected_rows to
835 (SetDataSource): cancel any editing that's going on.
837 * DataGridColumnStyle.cs
838 (IDataGridColumnStyleEditingNotificationService.ColumnStartedEditing):
839 call the non-interface version.
841 * ThemeWin32Classic.cs (DataGridPaintColumsHdrs): intersect the
842 header rectangle with the clip rectangle so we don't redraw the
843 entire header for just a small area. Gets rid of the last flicker
844 when horizontally scrolling.
845 (DataGridPaintRow): same.
847 2006-05-23 Mike Kestner <mkestner@novell.com>
849 * ListViewItem.cs: remove size for line hack from LargeIcon layout.
850 * ThemeWin32Classic.cs: don't draw line. it's really the top of a
851 poorly placed checkbox on the MS control. Fixes Alex's unfiled
854 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
856 * PictureBox.cs: Fixed broken ControlStyles. Unit test no longer fails,
857 and this fixes #78493
859 2006-05-23 Miguel de Icaza <miguel@novell.com>
861 * Theme.cs (GetSizedResourceImage): Scale images if the proper
864 * FileDialog.cs: Do not change the background for the side bar as
865 it wont work nicely with the theme, and also reduces the artifacts
866 in rendering the icons (which I want to fix too).
868 * MimeIcon.cs (ResourceImageLoader): Load images from assembly
869 resources, not resgen resources.
871 (PlatformDefaultHandler): Pull images using the new API.
873 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
875 * Hwnd.cs (Dispose): Remove any pending exposures. XEventQueue holds
876 a reference to the hwnd and will not remove it unless there are
877 no pending exposures (fixes #78341)
878 * XplatUI.cs: Improved debug
880 2006-05-23 Atsushi Enomoto <atsushi@ximian.com>
882 * MenuAPI.cs : don't handle OnClick event when it was not the left
883 button. Fixed bug #78487.
885 2006-05-23 Mike Kestner <mkestner@novell.com>
887 * MenuAPI.cs: fix placement of submenus for multi-row menu bars, and
888 prefer submenus to the top menu for item lookup, to avoid popping down
891 2006-05-23 Alexander Olk <alex.olk@googlemail.com>
893 * ThemeWin32Classic.cs: Rewrote CPCPDrawScrollButton to drop
894 Graphics.FillRectangle as the visual results are really bad (even
895 on win). We now draw perfect arrows (and perfect shadows when the
896 scrollbar is disabled). Simplified CPDrawGrid. CPDrawGrid now uses
897 Pen.DashPattern to draw the dots of each line.
899 2006-05-22 Alexander Olk <alex.olk@googlemail.com>
901 * FileDialog.cs: Update the filename combobox when navigating through
902 the ListView with the cursor keys. Fixes part 7 of bug #78446.
904 2006-05-22 Mike Kestner <mkestner@novell.com>
906 * ListView.cs: raise SelectedIndexChanged on keyboard selection.
909 2006-05-22 Mike Kestner <mkestner@novell.com>
911 * ComboBox.cs: Refresh in EndUpdate to pick up all the dropped Paint
912 requests. Fix a misspelled parameter and a copy paste exception error
915 2006-05-22 Peter Dennis Bartok <pbartok@novell.com>
917 * ThemeWin32Classic.cs: Changed DefaultFont emSize from 8.25 to 8
918 to get the same width/height (5/13) on X11 as the default font has on
919 win32. This means that our DefaultFont emSize is smaller than the
920 the MS SWF equivalent (even thought the width/height stays the same)
922 2006-05-20 Jackson Harper <jackson@ximian.com>
925 * MdiWindowManager.cs:
926 * InternalWindowManager.cs: Make sure to use the border width from
929 2006-05-20 Jordi Mas i Hernandez <jordimash@gmail.com>
931 * PrintDialog.cs: Implements printer details
933 2006-05-19 Alexander Olk <alex.olk@googlemail.com>
935 * FileDialog.cs: Added focus handling for PopupButtonPanel.
936 Fixes part 1 and 2 of bug #78446
938 2006-05-19 Peter Dennis Bartok <pbartok@novell.com>
940 * XplatUIX11.cs (SetWindowPos): Recalculate client area size on resizes
941 instead of sticking to the first ever calculated value
943 2006-05-19 Mike Kestner <mkestner@novell.com>
945 * ComboBox.cs: fix mouse motion selection to use MousePosition and
946 PointToClient, since Capture is set. Fixes #78344.
948 2006-05-19 Mike Kestner <mkestner@novell.com>
950 * ListView.cs: match MS behavior in Details view where items are not
951 drawn if Columns.Count == 0.
952 * ThemeWin32Classic.cs: only highlight ListView selection if focused.
953 Use a separate pen to draw the check, since changing the width affects
954 the box as well. Fixes #78454.
956 2006-05-18 Miguel de Icaza <miguel@novell.com>
958 * ListView.cs: ArgumentOutOfRangeException, single versions of the
959 exception should throw the name of the invalid argument.
961 * FileDialog.cs (OnClickOpenSaveButton): Avoid crash in open if
962 there are no files listed.
964 2006-05-18 Jackson Harper <jackson@ximian.com>
966 * ThemeWin32Classic.cs: Don't use endcaps, they mess the drawing
969 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
971 * Control.cs: Brought back our old UpdateZOrder method as a private
972 function and switched our calls from UpdateZOrder to the new one.
973 This fixes the Paint.Net canvas disappearing bug.
975 2006-05-18 Jackson Harper <jackson@ximian.com>
978 * ThemeWin32Classic.cs:
979 * InternalWindowManager.cs: Move the drawing into the theme,
980 expose everything the theme should need from the window manager.
982 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
984 * XplatUIX11.cs (DefWndProc): WM_SETCURSOR: Assign the return value
985 from the call to NativeWindow to avoid walking up the parent chain
986 further than needed (speeds up setting cursors and avoids setting
987 the wrong cursor if a parent has another cursor defined)
988 * Cursor.cs: When loading an icon as cursor, MS uses the center of
989 the icon as hotspot, not what's contained as hotspot in the icon
990 file. This fixes the perceived drawing offset seen with Paint.Net
992 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
995 - Store the calculated rectangle in Hwnd object and use it when
996 setting the client size
997 - Force Toolwindows to always be type Dock, to ensure they're on top
999 2006-05-18 Mike Kestner <mkestner@novell.com>
1001 * ComboBox.cs: first pass at ComboBox rework. Layout is more
1002 consistent with MS positioning. IntegralHeight, ItemHeight, Sizing.
1003 Correctly initialize textcontrol and ListBox on DropDownStyle changes.
1004 Substantial refactoring to remove confusing nested classes. Coding
1005 standard and Get+Set->property refactorings. Shift to index based
1006 highlighting in ComboListBox instead of constantly using IndexOf and
1007 Items[]. Add invalidations on resize for DropDownList to fix ugliness
1008 in FileDialog growth. Draw borders manually since Simple mode needs
1009 to look like two independent controls. Make listbox border
1010 conditional to DropDownStyle. Improved OwnerDraw support.
1012 2006-05-18 Sebastien Pouliot <sebastien@ximian.com>
1014 * PaintEventArgs.cs: For 2.0, check for a null Graphics in the .ctor.
1015 Don't set the disposed graphics to null, so we can throw the "right"
1016 exception if the graphics is reused later (added a flag to avoid
1017 double disposing). Some behaviours are different under 2.0 and are
1018 filled under bug #78448.
1020 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
1022 * Control.cs: When double-buffering is enabled, we need to reset
1023 our graphics context between paint calls. Otherwise, any
1024 transformations and other alterations on the context will
1025 become cumulative (#77734)
1027 2006-05-18 Mike Kestner <mkestner@novell.com>
1029 * ListView.cs: do focused item selection like MS on clicks.
1030 Rework focus handling for ItemControl so LostFocus invalidates as
1032 * ThemeWin32Classic.cs: only draw focus rectangle for ListViewItems if
1033 the ListView ItemControl has focus.
1035 2006-05-17 Peter Dennis Bartok <pbartok@novell.com>
1037 * XplatUIX11.cs: If client_window ends up being width or height zero
1038 due to border settings, move it off window inside whole_window (#78433)
1040 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
1042 * Mime.cs: Shrink the mime file cache correctly.
1044 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
1046 * ThemeWin32Classic.cs: Readded button focus drawing code. (#78429)
1048 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1050 * XplatUIX11.cs (AddExpose): More sanity checks
1052 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1055 - AddExpose: Don't add expose ranges outside the size of our
1057 - Cast opacity values to Int32 to avoid crashes with certain
1059 - Added disabled code paths that protect against illegal cross-
1060 thread painting (Developers.exe)
1062 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1064 * ProgressBar.cs: Invalidate the control when it's resized
1065 since block size is based on control size. (#78388)
1067 2006-05-16 Miguel de Icaza <miguel@novell.com>
1069 * DataGrid.cs (SetDataBinding): per the discussion on irc, instead
1070 of setting the incoming argument to the "reset" value, we set the
1071 this.datamember to string.empty (before we were invalidating the
1076 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1078 * Form.cs: Only apply transparency settings after the form
1079 is created. (Fixes #77800)
1081 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1083 * ApplicationContext.cs: Grab the HandleDestroyed event so
1084 we know when to fire OnMainFormClosed
1086 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1088 * Application.cs: Introduced sub-class to allow tracking of
1089 threads and centralized triggering of the event mess for
1090 ThreadExit, AppExit, etc.. (#76156)
1092 2006-05-16 Alexander Olk <alex.olk@googlemail.com>
1095 - Do not return a null icon index value for a mime subclass.
1096 Instead try the main mime type class too.
1097 - Seems that some newer distributions don't have a link to some
1098 gnome default icons anymore. So check the default gnome dir too.
1101 2006-05-16 Jackson Harper <jackson@ximian.com>
1103 * MdiClient.cs: Don't paint the parent background image if we have
1104 our own background image.
1106 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
1109 - PerformLayout: Do not shrink space filled by DockStyle.Fill
1110 controls, all filled controls are supposed to overlap (#78080)
1111 - UpdateZOrder is supposed to update the control's z-order in the
1112 parent's z-order chain. Fixed to behave like that
1113 - BringToFront: Removed obsolete code
1114 - SendToBack: Simplyfied
1115 - SetChildIndex: Trigger layout calculations when Z-order changes
1116 since layout is done by z-order
1118 2006-05-16 Chris Toshok <toshok@ximian.com>
1120 [ fixes bug #78410 ]
1121 * DataGrid.cs (set_AlternatingBackColor): use
1122 grid_drawing.InvalidateCells instead of Refresh().
1123 (set_BackColor): call grid_drawing.InvalidateCells.
1124 (set_BackgroundColor): use Invalidate instead of Refresh.
1126 * DataGridDrawingLogic.cs (InvalidateCells): new function, just
1127 invalidate the cell area.
1129 2006-05-15 Chris Toshok <toshok@ximian.com>
1131 [ fixes bug #78011 ]
1132 * ThemeWin32Classic.cs (DataGridPaintRows): pass the clip argument
1133 on to DataGridPaintRow.
1134 (DataGridPaintRow): take a clip argument, and only draw the cells
1135 which intersect it. same with the not_usedarea.
1137 * Theme.cs (DataGridPaintRow) add @clip parameter.
1139 * DataGrid.cs (ScrollToColumnInPixels): simplify, use
1140 XplatUI.ScrollWindow.
1141 (ScrollToRow): same.
1143 * DataGridDrawingLogic.cs (UpdateVisibleColumn): fix corner case
1144 with last column which was causing a gray swath to appear with the
1145 XplatUI.ScrollWindow code.
1147 2006-05-15 Chris Toshok <toshok@ximian.com>
1149 * ListBox.cs (HorizontalScrollEvent): in the non-multicolumn case,
1150 use XplatUI.ScrollWindow.
1151 (VerticalScrollEvent): use XplatUI.ScrollWindow.
1153 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
1155 * TextBoxBase.cs: Added handling of middle-button paste for X11. (#78375)
1157 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
1159 * Cursors.cs: For X11, read NWSE and NESW cursors from our resource
1160 file since there are no equivalent X11 cursors
1162 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
1164 * MonthCalendar.cs : DateTimePicker should reflect selected date
1165 on mouse*up*, not mouse*down*. Fixed originally reported part of
1168 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
1170 * TabControl.cs : When argument index is equal or more than tab
1171 count, just ignore. Fixed bug #78395.
1173 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
1175 * Control.cs: Dispose all child controls when control is diposed (#78394)
1177 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
1179 * ColorDialog.cs: Finally it is possible to select the color with
1182 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
1184 * PrintDialog.cs: Fix typo
1186 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
1188 * PrintDialog.cs: PrintDialog is not resizable
1189 * ThemeWin32Classic.cs: Draw non links in LinkLabel with the correct
1190 color. Made some ToolBar drawing methods protected virtual.
1192 2006-05-13 Jordi Mas i Hernandez <jordimash@gmail.com>
1194 * PrintDialog.cs: Implementation of the PrintDialog
1196 2006-05-12 Chris Toshok <toshok@ximian.com>
1198 * ScrollBar.cs (set_Value): don't use Dirty/Invalidate to move the
1199 thumb, instead use MoveThumb. This has the side effect of making
1200 most of the other thumb moving machinery use MoveThumb as well.
1201 (OnHandleCreated): pass false for @dirty to UpdateThumbPos, as we
1202 need to actually invalidate the rectangle where the new thumb will
1204 (MoveThumb): use XplatUI.ScrollWindow to move the thumb around.
1205 We force an Update() after, so it's not as fast as it could be,
1206 but at least there's zero flicker and no droppings.
1207 (OnMouseMoveSB): in the thumb dragging case, use MoveThumb.
1208 (UpdateThumbPos): add another argument (dirty), which says whether
1209 or not to calculate/add dirty regions which we later invalidate.
1210 For cases where we know we're going to use MoveThumb, we pass
1211 false for this. Otherwise, pass true.
1213 2006-05-12 Jackson Harper <jackson@ximian.com>
1215 * ThemeWin32Class.cs: Fixes for alignment and icon rendering in
1218 2006-05-12 Peter Dennis Bartok <pbartok@novell.com>
1220 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new SetClipRegion
1221 and GetClipRegion methods and UserClipWontExposeParent property.
1222 * XplatUIWin32.cs: Implemented SetClipRegion/GetClipRegion methods,
1223 overriding UserClipWontExposeParent property, setting to false, since
1224 Win32 handles the required expose messages to draw our clipped parent
1226 * XplatUIX11.cs: Implemented SetClipRegion and GetClipRegion; updated
1227 PaintEventStart to set the user clip region if set.
1229 - Now internally tracking the Region for the control since we need to
1230 store it if the handle is not yet created and only set it when it
1231 becomes created. Before setting the region forced handle creation
1232 - Added code to draw the parents underneath a user-clipped region
1233 * Hwnd.cs: Added UserClip property
1235 2006-05-12 Chris Toshok <toshok@ximian.com>
1237 * ScrollBar.cs (set_LargeChange): Refresh() -> InvalidateDirty()
1238 (set_Maximum): same.
1239 (set_Minimum): same.
1240 (set_SmallChange): same.
1241 (OnMouseUpSB): remove the call to refresh when releasing the
1242 thumb. We shouldn't need it.
1244 2006-05-12 Miguel de Icaza <miguel@novell.com>
1246 * StatusBar.cs (UpdatePanel): If the panel being refreshes has the
1247 AutoSize set to None, we do not need to relayout everything, we
1248 just need to invalidate the current region.
1250 (Draw): Do not draw the entire ClientArea, just redraw the
1251 clip area being passed.
1253 * MdiClient.cs: Make MdiClient constructor with the Form argument
1256 2006-05-12 Jackson Harper <jackson@ximian.com>
1258 * ThemeWin32Classic.cs (DrawToolBar): Flat toolbars get their
1259 parents background image, but strangely not their own.
1260 - (DrawStatusBarPanel): Take into account horizontal alignment
1261 when drawing the strings and icons.
1263 2006-05-12 Mike Kestner <mkestner@novell.com>
1265 * ListBox.cs: avoid invalidations for focus when the collection is
1268 2006-05-12 Chris Toshok <toshok@ximian.com>
1270 * ScrollBar.cs (OnMouseMoveSB): when dragging the thumb, don't
1271 invalidate the entire thumb area. Call InvalidateDirty which
1272 limits the redraw to the thumb itself and surrounding pixels.
1274 * XplatUIX11.cs (ScrollWindow): optimize copying.
1276 2006-05-12 Chris Toshok <toshok@ximian.com>
1278 * DataGridDrawingLogic.cs: make CalcGridAreas non-reentrant.
1279 Figure out the positioning/layout in a single pass instead of
1280 multiple recursive invocations. Speeds up the initial display of
1281 the data grid. Also, make many things private that were
1282 originally public but unused outside this class.
1284 2006-05-11 Jackson Harper <jackson@ximian.com>
1286 * MdiClient.cs: Improved layout code.
1288 2006-05-11 Jonathan Chambers <jonathan.chambers@ansys.com>
1290 * PropertyGrid.cs : Only check GetPropertiesSupported for properties,
1293 2006-05-11 Chris Toshok <toshok@ximian.com>
1295 * Hwnd.cs (Invalid): don't start off with Rectangle.Empty, as
1296 union of that will always be {0,0,width,height}.
1298 2006-05-11 Jackson Harper <jackson@ximian.com>
1300 * Form.cs: Match MS's DefaultSize for forms (they must have
1301 changed the size in sp2).
1303 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
1305 * TextBoxBase.cs : implement CTRL+A (select all). Fixed bug #78368.
1307 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
1309 * TextControl.cs : Fixed bug #78109. This incorrect position
1310 comparison caused crash on automatic line split.
1311 * TextBoxBase.cs : reduce duplicate code.
1313 2006-05-10 Jackson Harper <jackson@ximian.com>
1315 * MdiClient.cs: Active form is only sent to the back when using
1316 the Next form functionality, when a form is clicked the current
1317 active shouldn't be sent to the back.
1318 - Layout the mdi windows when the container is first made visible.
1319 * Form.cs: Give the MdiClient a ref to the containing form when we
1322 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
1324 * LinkLabel.cs : link_font could be uninitialized, so populate one
1325 before actual use. Fixed bug #78340.
1327 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
1329 * XplatUIX11.cs : clipboard format native value is IntPtr.
1332 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
1335 - Instead of showing context menus directly we send WM_CONTEXTMENU,
1336 which is passed up the parent chain by DefWndProc
1337 - We now handle WM_CONTEXTMENU to display any menu, or pass it
1338 to DefWndProc (#77956)
1339 * XplatUIX11.cs: Added handling of WM_CONTEXTMENU (pass up) to DefWndProc
1341 2006-05-10 Jackson Harper <jackson@ximian.com>
1343 * MdiClient.cs: We need to remove the controls from the mdi
1344 collection, when we close the window.
1345 * MdiWindowManager.cs: Special handling of closing mdi windows.
1346 * InternalWindowManager.cs: Make the close method virtual so the
1347 mdi window manager can handle it specially.
1349 2006-05-10 Jordi Mas i Hernandez <jordimash@gmail.com>
1352 - Recalculate grid when the data source has changed
1353 - Matches styles provided by user from all data sources types
1354 * DataGridTableStyle.cs: For columns that provided by the user set the
1355 with the preferred value is there was unassigned.
1356 * CurrencyManager.cs: throw OnItemChanged event
1358 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
1360 * PictureBox.cs: Don't animate until handle is created. Start animation
1361 when handle is created.
1363 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
1365 * XplatUIX11.cs, Hwnd.cs: Adopted Mike's patch from #77979 to match
1367 * XEventQueue.cs: We don't need to provide the extra info
1369 2006-05-10 Jackson Harper <jackson@ximian.com>
1371 * MdiClient.cs: If the mdi clients parent form has a background
1372 image set, we draw that background image for the mdi area's
1375 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
1377 * TextBoxBase.cs: Set IBeam cursor (#78347)
1379 2006-05-10 Mike Kestner <mkestner@novell.com>
1381 * ToolBar.cs: fix some text padding issues with ButtonSize
1382 calculation. Update the default size to match MS documentation.
1383 * ToolBarButton.cs: use ToolBar.ButtonSize for layout of unspecified
1384 button size. Fixes #78296.
1386 2006-05-10 Mike Kestner <mkestner@novell.com>
1388 * ListBox.cs: use is_visible for scrollbar positioning in case the
1389 control isn't on screen yet. Fix off by one with Right vs Width
1390 usage. Update Scrollbars in SetBoundsCore. Fixes #78188 and #78258.
1392 2006-05-10 Jackson Harper <jackson@ximian.com>
1394 * X11Dnd.cs: Drop to a control with another control on top of it.
1395 * ToolBar.cs: Work on a copy of the buttons list, so that it can
1396 be modified in click handlers. TODO: Look for similar problems in
1399 2006-05-09 Jackson Harper <jackson@ximian.com>
1401 * Form.cs: Window managers need the old window state when setting
1403 * InternalWindowManager.cs: Allow the base mdi window manager to
1404 handle more of the MDI only stuff (like maximize buttons).
1405 * MdiWindowManager.cs: Fix some snafus in changing the window
1406 state. Add all the menu functionality, for both popup and
1408 * MdiClient.cs: When a new form is selected the currently
1409 activated form is sent to the back, this matches MS.
1410 - Implement a new method to activate the next mdi child window.
1412 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
1415 - Added new InternalCapture method to allow controls to prevent
1416 the capture behaviour on the click handlers
1417 - Switched to use InternalCapture
1419 - Using InternalCapture to prevent mouse captures from being released
1420 on mouse button release (Fixes #78100)
1421 * XplatUIX11.cs (DeriveStyles): Now checks caption state and only
1422 returns Form borders if a caption is present. (Fixes #78310)
1424 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
1426 * TreeNode.cs: Changed serialization .ctor to not require every field
1427 to be present. (#78265)
1428 * OwnerDrawPropertyBag.cs: Added serialization .ctor
1430 2006-05-05 Alexander Olk <alex.olk@googlemail.com>
1432 * MimeIcon.cs: for is faster than foreach for strings.
1434 2006-05-05 Mike Kestner <mkestner@novell.com>
1436 * CheckedListBox.cs: update check handling code to not use selected.
1437 * ListBox.cs: rewrite of mouse selection handling to correspond to MS
1438 behavior for visual feedback, motion response, shift/ctrl handling,
1439 and properly deal with all 4 selection modes. Updates to bounds
1440 handling logic. Add scroll wheel support. [Fixes #77842]
1442 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
1445 - Moved adding of Implicit controls into .ctor. That way, subsequent
1446 creation of the controls will not cause them to think they are
1447 toplevel windows (fixes #78200 header problem)
1448 - Added 2.0 ShowGroups and UseCompatibleStateImageBehaviour
1449 - Switched visibility setting of header control to use internal field
1450 to avoid triggering handle creation
1451 - Now checking if handle is created before causing a refresh when items
1452 are added (This makes us now match handle creation time with MS)
1453 * Splitter.cs: Removed loading of private splitter cursor, switched to
1454 Cursors version now that that is loading the right ones
1455 * Cursors.cs: Load proper splitter cursors from resources
1456 * Cursor.cs: Added second method of loading resource cursors for the
1457 VS.Net users amongst us
1459 2006-05-05 Mike Kestner <mkestner@novell.com>
1461 * ListView.cs: give header_control a minimum size based on the
1464 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
1466 * XplatUIX11.cs: WS_EX_TOPMOST requires window to be on top. A dock
1467 window seems to do that with metacity, so set that type. (#78120)
1469 2006-05-05 Mike Kestner <mkestner@novell.com>
1471 * ListViewItem.cs: fix Details mode checkbox layout bug.
1472 * ThemeWin32Classic.cs: draw a ListView column header for unused space
1473 at the end of the header, if it exists. [Fixes for #78200]
1475 2006-05-04 Jackson Harper <jackson@ximian.com>
1477 * MdiClient.cs: Add a helper property to get the container form.
1478 * MdiWindowManager.cs: We have to make sure to use the menu origin
1479 when drawing the icons and buttons, this fixes maximized window
1480 icons/buttons on win32.
1481 * InternalWindowManager.cs: Reset the restore captions when a
1482 window goes from Maximized to Minimized and vice versa. Move the
1483 DrawMaximizedButtons into the MdiWindowManager source, tool
1484 windows can't be maximized. NOTE: This could use a little
1485 refactoring if time ever permits.
1487 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
1489 * TextBox.cs: Add MWFCategoryAttributes
1490 * TextBoxBase.cs: Add MWFCategoryAttributes
1491 * Form.cs: Add MWFCategoryAttributes
1493 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
1495 * Control.cs: Add MWFCategoryAttributes
1496 * ScrollableControl.cs: Add MWFCategoryAttributes
1498 2006-05-03 Alexander Olk <alex.olk@googlemail.com>
1500 * ThemeWin32Classic.cs: Draw the ToolBar top border only if
1501 Divider is true. Fix a little glitch in PropertyToolBar
1504 2006-05-02 Peter Dennis Bartok <pbartok@novell.com>
1507 - Dispose: Call base.Dispose, this causes the disposed event
1508 to be fired (and probably other, more important stuff)
1509 - SetVisibleCore: Set is_visible to true after creating the
1510 window so that the window still gets created invisible (if
1511 WM_VISIBLE isn't set). That will cause the ShowWindow afterwards
1512 to generate a WM_ACTIVE message
1513 * Form.cs: Call Dispose when we want to destroy the window, instead of
1514 just destroying the handle (Dispose will do that for us)
1516 - RootWindow also needs a queue, so we can properly process the
1517 property change events from RootWindow (like Activate)
1518 - Generatic synthetic WM_ACTIVE message when the active window is
1521 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
1523 * LinkLabel.cs: Trigger a recalc of our label dimensions when
1526 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
1528 * ThemeWin32Classic.cs (ButtonBase_DrawImage): Use the proper image
1529 for determining width and height (image might not be assigned if
1530 we're drawing an imagelist)
1532 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
1534 * XplatUI.cs, XplatUIDriver.cs: Added MenuHeight property
1535 * XplatUIWin32.cs: Overriding new MenuHeight property, retrieving
1537 * Theme.cs: No longer returns hardcoded menu height, instead calls
1539 * Form.cs (OnLoad): Scaling happens before triggering Load events
1542 2006-05-01 Mike Kestner <mkestner@novell.com>
1544 * MenuItem.cs: fix NRE for text == null. Fixes #78250.
1546 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
1548 * TextBoxBase.cs: Removed Fixme
1549 * RichTextBox.cs (set_RTF): Invalidate document after update (#78247)
1551 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
1554 - ScrollWindow: We were passing hwnd.ClientRectangle which returns
1555 the rectangle relative to the parent, considering borders. We
1556 don't really want that.
1557 - ScrollWindow: Fixed warning to be more understandable
1558 * TextBoxBase.cs: Fixed ScrollWindow calculations to consider our
1559 scrollbars and scroll only the visible area
1560 * RichTextBox.cs: Removed debug output
1562 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
1564 * NumericUpDown.cs (Text): Just use base
1565 * UpDownBase.cs: Ensure txtView is created before using it
1567 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
1569 * XplatUIX11.cs (SetWindowTransparency): Casting opacity to int before
1570 casting to IntPtr to avoid 64bit overflow errors
1572 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
1575 - AllowDrop: Don't force handle creation.
1576 - CreateHandle: Added call to tell driver if we're allowed to drop
1578 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
1580 * FileDialog.cs: Remember the last directory not only for the
1581 current instance but also for new FileDialog instances.
1583 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
1585 * XplatUIX11.cs: Forgot to set the queue on the foster parent. That
1586 broke sending async messages
1588 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
1591 - ScrollWindow: Fixed method. We finally generate expose events again
1592 for scrolled areas. This was causing 'garbage' when scrolling
1593 textbox and other controls that used ScrollWindow
1594 - Switched from using the regular queue for paint events to the MS
1595 model of 'generating' paint events when the queue is empty.
1596 We use the new XQueueEvent.Paint subclass to store which windows
1598 - AddExpose now takes the x/y/width/height of the exposed area
1599 and inserts the window into the paint queue if not already there
1600 - InvalidateWholeWindow: Switched to use new AddExpose method
1601 - UpdateMessageQueue: Added which queue to monitor for paint events
1602 - DefWndProc: Added default handler for WM_PAINT and WM_NCPAINT in
1603 the unlikely case nothing above handles it. We reset the expose
1604 pending states to get them off the queue.
1605 - GetMessage: Now pulls a paint event if no other events are in the
1607 - Invalidate: Switched to new AddExpose method
1608 - PeekMessage: Updated to understand pending paint events
1609 - UpdateWindow: Fixed logic bug. We were only updating if the window
1610 didn't need updating. Also switched to sending WM_PAINT directly,
1612 * XEventQueue.cs: Added Paint queue support. Allows enqueue/dequeue
1613 and random access Remove(). The random access is needed to handle
1614 UpdateWindow() where a WM_PAINT is sent directly without accessing
1616 * ScrollBar.cs: Added Update() calls to cause immediate updates to
1617 allow for better feedback when scrolling. Scrollbars are small and
1618 the immediate update should make it 'feel' more responsive without
1619 slowing things down. ScrollBar still needs it's invaliate logic
1620 updated to not always invalidate the whole bar on certain changes.
1622 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1625 (BackColor): if the control does not support a transparent background,
1626 return the default backcolor when the parent backcolor is transparent.
1628 2006-04-28 Peter Dennis Bartok <pbartok@novell.com>
1630 * Application.cs: Updated to new StartLoop/GetMessage API
1631 * RichTextBox.cs: Provide some output on RTF parsing errors
1632 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs: Added
1633 new queue_id argument to GetMessage and PeekMessage to allow faster
1634 handling of per-thread queues in drivers.
1635 * Hwnd.cs: Added Queue tracking and property
1636 * MenuAPI.cs: Updated to new StartLoop/GetMessage API
1637 * XEventQueue.cs: Added thread trackingA
1638 * PropertyGridView.cs: Updated to new StartLoop/GetMessage API
1640 - Implemented new per-thread queue
1641 - GetMessage: Fixed return/break behaviour on several cases. We were
1642 returning stale messages in some cases, instead of just processing
1645 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
1647 * PropertyGrid.cs: Call GetPropertiesSupported on TypeConverter.
1649 2006-04-27 Peter Dennis Bartok <pbartok@novell.com>
1651 * ThemeWin32Classic.cs (DrawToolBar): Refactored, simplified the logic,
1652 fixed off-by-one comparisons between Width/Height and Right/Bottom.
1654 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
1656 * PropertyGridView.cs: Fix drop down width.
1658 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
1660 * ThemeWin32Classic.cs: Peter thinks that three additional lines are
1661 a mess in DrawToolBar, so I removed one of them.
1663 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
1665 * ThemeWin32Classic.cs: Draw the ToolBar border lines only if
1666 needed (clip). Otherwise we get artifacts.
1668 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
1670 * FixedSizeTextBox.cs: Added constructor to allow specifying which
1672 * UpDownBase.cs: Set the spinner control to be fixed height vertical,
1673 and switched FixedSizeTextBox to only be fixed vertical (#78116)
1674 * Form.cs: Not applying the 'MS 0.08 fudge factor' for a given dimension
1675 if it matches the scale base font (avoids unneeded scaling)
1677 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
1679 * X11DesktopColors.cs: One gtk_init_check should be enough
1681 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
1683 * TextBoxBase.cs: Moved Backspace handling into WM_CHAR block to
1686 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
1689 - Generate OnTextChanged for Backspace even if we're only deleting
1690 the current selection
1691 - When setting the Text property, only select all text if the
1692 control does not have focus when it is being set. Otherwise
1693 just place the cursor at the beginning of the control
1695 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
1697 * ThemeWin32Classic.cs: ToolBars get drawn with two lines at the top.
1698 Added a little helper to draw PropertyGrid ToolBar with a different
1699 border and a different BackColor.
1700 * PropertyGrid.cs: Some background parts didn't get painted with the
1701 correct background color. Added a class that helps us to draw the
1702 correct border for PropertyGridView and a class that helps us to
1703 draw ToolBars with a different backcolor
1704 * PropertyGridView.cs: Draw PlusMinus with the correct colors.
1706 2006-04-25 Jonathan Chambers <jonathan.chambers@ansys.com>
1708 * PropertyGrid.cs: Bug 78196, font size, and splitter location.
1709 * PropertyGridView.cs: Bug 78196, font size, and splitter location.
1711 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
1713 * XplatUIWin32.cs (DIBtoImage): ORing instead of ANDing the alpha
1714 into the palette entries. Also, since we're working on a copy
1715 we needed to copy the palette back onto the bitmap.
1716 * Cursor.cs: Same fix as XplatUIWin32.cs.
1718 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
1720 * ImageListStreamer.cs: Need to read the var (or we're off)
1722 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
1724 * TextControl.cs, ComboBox.cs, CommonDialog.cs, Theme.cs,
1725 XplatUIWin32.cs, RichTextBox.cs, ImageListStreamer.cs,
1726 TextBoxBase.cs: Unused var fixes
1727 * AxHost.cs: Small 2.0 fix
1728 * XplatUIX11.cs: Switched to IntPtr from int for XA_CARDINAL atoms
1729 as it seems that is what at least Metacity expects. This will make
1730 icons show up on 64bit platforms. We still have some 64bit size
1731 issues, though, since the startup app window size still won't match.
1733 2006-04-25 Mike Kestner <mkestner@novell.com>
1735 * *.cs: cleanup newly reported exception var unused warnings.
1737 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
1739 * ThemeWin32Classic.cs: Button image alignment now matches exactly
1742 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
1744 * ThemeWin32Classic.cs: Fixed drawing code for buttons with an
1745 image. The image position is always the same, no matter if the
1746 button is pressed or not.
1748 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
1750 * FileDialog.cs: SaveFileDialog shouldn't rely on a MWFFileView
1751 selection and set the correct filename for SaveFileDialog.
1752 Patch by Emery Conrad.
1754 2006-04-24 Mike Kestner <mkestner@novell.com>
1756 * ListView.cs (LastVisibleIndex): when in List mode of Alignment.Left,
1757 check for item.X outside the ClientRect instead of item.Y. Fixes
1760 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1762 * ImageListStreamer.cs: some images store a wrong grow factor, so don't
1763 trust that value blindly and do some sanity check. Fixes bug #77814.
1765 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1767 * ImageListStreamer.cs: save the mask as a 1bpp image.
1769 2006-04-21 Mike Kestner <mkestner@novell.com>
1771 * CheckedListBox.cs: maintain CheckStatus here. Use DrawItemState to
1772 pass Checked and Indeterminate to the Theme Engine. Improve
1773 encapsulation with ListBox.
1774 * ListBox.cs: Keep a StringFormat instead of calculating it every item
1775 draw. Kill ListBoxItem. Refactor away the ListBoxInfo and ListBoxItem
1776 nested types. Move all CheckState functionality to CheckedListBox.
1777 Make IntegralHeight work like MS. Rewrite of Layout engine. Fix
1778 OwnerDrawVariable layout/rendering. Fix multicolumn rendering. Fix
1779 ScrollAlwaysVisible handling. Refactor "selected" collections to use a
1780 single base list. Fix scrollbar sizing and placement to mirror MS.
1781 * Theme.cs: remove CheckedListBoxCheckRectangle. It wasn't really
1783 * ThemeWin32Classic.cs: implement Indeterminate CheckState rendering
1784 for CheckedListBox by using new DrawItemState info. Center the
1785 checkboxes on the items. Use new StringFormat property.
1787 2006-04-18 Jackson Harper <jackson@ximian.com>
1789 * Form.cs: MdiChildren don't do default locations the same way as
1790 regular forms. This prevents a crash when trying to position the
1793 2006-04-17 Jonathan Chambers <jonathan.chambers@ansys.com>
1795 * PropertyGridTextBox.cs: Formatting, copyright
1796 * PropertiesTab.cs: Formatting
1797 * PropertyGrid.cs: Formatting
1798 * PropertyGridView.cs: Formatting, fix drop down, enabled double
1799 click toggling of values
1801 2006-04-17 Peter Dennis Bartok <pbartok@novell.com>
1803 * KeyPressEventArgs: Added 2.0 only setter for KeyChar
1804 * Control.cs (.ctor): verify_thread_handle is static, don't reset
1805 every time a control is created
1806 * Application.cs: Removed obsolete EnableRTLMirroring method
1808 2006-04-18 Gert Driesen <drieseng@users.sourceforge.net>
1810 * TabControl.cs: Avoid ArgumentOutOfRangeException when setting
1811 SelectedIndex to -1. Fixes bug #78121.
1813 2006-04-17 Jackson Harper <jackson@ximian.com>
1815 * Binding.cs: Handle null values for Current and BindingContext.
1816 This occurs when binding is a little delayed.
1817 * CurrencyManager.cs: return null for Current when there are no
1819 - Hookup to the listchanged event on the DataView and update
1820 bindings when the list is changed. This fixes late binding of
1823 2006-04-17 Jackson Harper <jackson@ximian.com>
1826 * XplatUIX11.cs: Drops should not create a mousedown. Patch by Tim
1829 2006-04-15 Alexander Olk <alex.olk@googlemail.com>
1831 * ThemeWin32Classic.cs: Draw disabled combo button in the correct
1833 * ComboBox.cs: If the combobox is disabled call CPDrawComboButton
1834 with the correct ButtonState
1836 2006-04-14 Peter Dennis Bartok <pbartok@novell.com>
1838 * XplatUIX11.cs: Improved distinguishing between window types to
1839 tell the WM a type closer to what the app wants (Fixes #78107)
1841 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
1843 * ThemeWin32Classic.cs: Fixed drawing of ContainerGrabHandle and
1846 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
1848 * ThemeWin32Classic.cs: Fixed size grip drawing and updated StatusBar
1849 drawing code to reflect the size grip changes
1851 2006-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1853 * ImageListStreamer.cs: fix handling of the mask that follows the main
1854 bitmap when deserializing and serialize it properly. The generated mask
1855 should better be a 1bpp image, but I'll do that later.
1857 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
1859 * FileDialog.cs: Show something in the DirComboBox on *nix if the
1860 path doesn't fit into some of our Current.Places
1862 2006-04-13 Jackson Harper <jackson@ximian.com>
1864 * ComboBox.cs: Use borders instead of drawing our own decorations,
1865 try to obey correct rules for heights.
1868 * ThemeClearLooks.cs:
1869 * ThemeWin32Classic.cs: Remove combobox decoration drawing code,
1870 this is now handled by borders.
1871 - Remove unused DrawListBoxDecorationSize method.
1873 2006-04-13 Mike Kestner <mkestner@novell.com>
1875 * MenuAPI.cs: null guarding for the disbled click check fixes crash
1878 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
1880 * ThemeWin32Classic.cs:
1881 - Fixed CPDrawStringDisabled
1882 - Corrected drawing of disabled menu items
1883 - Fixed drawing of disabled radio buttons (bug #78095)
1884 - Draw check in a disabled CheckBox with color ControlDark
1886 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1888 * Form.cs: Use the provided width when calculating the menu size;
1889 when being maximized we get WM_NCCALCSIZE before WM_WINDOWPOSCHANGED
1890 and ClientSize.Width won't be updated yet
1891 * Application.cs: Use Visible instead of Show() to make form visible,
1892 this way we create the handle later and menusize is considered
1894 2006-04-12 Mike Kestner <mkestner@novell.com>
1896 * MenuAPI.cs: ignore clicks on disabled menu items. Thanks to Alex for
1899 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1901 * TextBox.cs: Implemented context menu
1903 2006-04-12 Mike Kestner <mkestner@novell.com>
1905 * ListView.cs: implement box selection. fixes #77838.
1906 * ThemeWin32Classic.cs: draw box select rect, remove a ResetClip.
1908 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1910 * XplatUIX11.cs: Added setting of window type when transient window
1911 is created (metacity would move it otherwise)
1912 * X11Structs.cs: Added WINDOW_TYPE atoms
1913 * LinkLabel.cs: Override OnPaintBackgroundInternal and draw the
1914 background (the control is Opaque but still wants transparent
1917 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1919 * Control.cs: Added OnPaintBackgroundInternal to allow controls
1920 that set Opaque but don't mean it (like all ButtonBase-derived
1921 controls) to still draw their background
1922 * ButtonBase.cs: Override OnPaintBackgroundInternal and draw
1925 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1927 * Control.cs (PaintControlBackground): Set the graphics object
1928 on our PaintEvent to null to prevent it from being disposed
1929 when the PaintEvent gets disposed
1931 2006-04-12 Alexander Olk <alex.olk@googlemail.com>
1933 * ThemeWin32Classic.cs: Use even more SystemBrushes and SystemPens
1934 * ThemeNice.cs, ThemeClearlooks.cs: fix typo
1936 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1939 - Added transparency check to BackColor property. Transparent
1940 backgrounds are only allowed if the control styles permit it
1941 - Added recursive painting of parent control background and
1942 foreground if a control with a transparent backcolor is drawn
1943 (Thanks to Tim Ringenback for providing his 'hack' as a base
1944 for this patch) Fixes #77985 and #78026.
1945 - Added Opaque style check before calling OnPaintBackground, no
1946 need to draw the background if the control is opaque
1947 - Removed ControlAccessibleObject owner variable (inherited from
1948 base, no need to define again)
1949 - Added some documentation links explaining the drawing events
1952 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1954 * Splitter.cs (CalculateSplitPosition): Corrected the bad assumption
1955 that the affected control is the located at the left border of our
1956 parent (Fixes #77936)
1958 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1960 * TextBoxBase.cs: When rendering disabled or readonly controls,
1961 draw the background with 'Control' instead of 'Window' color as
1962 long as the user hasn't specifically set a color
1964 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1966 * TextBoxBase.cs: Don't try to shortcut by checking against base.Text
1967 since that won't be updated if the user types text (only if it's
1968 programatically set)
1970 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1972 * ScrollableControl.cs: Calculate DisplayRect dynamically, so that
1973 layout changes do to app-triggered resizes will have the proper
1974 display rectangle for layout
1976 2006-04-11 Alexander Olk <alex.olk@googlemail.com>
1978 * ThemeWin32Classic.cs:
1979 - Make use of the SystemBrushes and SystemPens wherever possible
1980 - Corrected some highlight colors
1981 - Corrected RadioButton and CheckBox FlatStyle.Flat and Popup
1983 * Theme.cs: Added Empty field to CPColor struct
1985 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1987 * ScrollabeControl.cs: We need to consider whether or not a scrollbar
1988 is displayed when calculating the display rectangle. Thanks to Mike
1989 for teaching me the err of my ways.
1991 2006-04-10 Peter Dennis Bartok <pbartok@novell.com>
1993 * ScrollableControl.cs:
1994 - Rewrote DisplayRectangle code, now returning the proper x/y coords
1995 (instead of 0,0) and we now return the real width/height instead of
1996 just the clientrectangle, adjusted for padding. The rectangle is
1997 now cached and created by the new CalculateDisplayRectangle method.
1998 - Created new CalculateDisplayRectange method, which basically does
1999 what get_DisplayRectangle() did originally, but now using the
2000 right edge instead of DisplayRectangle to determine the size of
2002 - get_Canvas(): Fixed it to properly calculate canvas for
2003 right/bottom controls which seem to be placed to the right/bottom
2004 of any controls that have a fixed location
2005 - Removed TODO that's taken care of
2006 - Removed NotImplementeds and attempted to implement AdjustFormScrollBars
2007 and SetDisplayRectLocation according to new MSDN2 docs
2008 - Added call to PerformLayout in OnVisibleChanged, MS causes a layout
2009 event when that is called, this is added for compatibility
2010 - ScrollControlIntoView(): Implemented.
2011 - Switched scrollbars to be implicit, they shouldn't be selectable
2012 * ContainerControl: Now that ScrollControlIntoView is implemented, we
2013 call it when the active control is set/changed
2014 * ScrollBar.cs: Added support for generating Win32 scrollbar messages
2015 * ImplicitHScrollBar.cs, ImplicitVScrollBar.cs: Now setting new base
2016 implicit_control variable (used for native Win32 message generation)
2017 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added new
2018 HorizontalScrollBarHeight and VerticalScrollBarWidth properties
2019 * ThemeWin32Classic.cs: Now calling the driver for the scrollbar sizes
2020 * XplatUIStructs.cs: Added ScrollBarCommands enum
2022 2006-04-10 Jackson Harper <jackson@ximian.com>
2025 * CheckedListBox.cs:
2032 * PrintPreviewControl.cs:
2038 * UpDownBase.cs: Fixup base event overrides.
2040 2006-04-06 Mike Kestner <mkestner@novell.com>
2042 * ScrollBar.cs: fix "new event" declarations (#76509) and bounds check
2043 all user-initiated value changes to min <= value <= max-thumbsz+1.
2044 (set_Value): check for vert/horiz when calculating new thumb position.
2045 (LargeIncrement): bounds check to stop pos at max - thumb_size + 1
2047 (OnMouseMoveSB): refactor the thumb dragging code and refine
2048 invalidation logic to reduce flicker.
2049 (SetEndPosition): bounds check to stop pos at max - thumb_size + 1
2050 (SmallIncrement): bounds check to stop pos at max - thumb_size + 1
2051 (UpdateThumbPosition): small code readability cleanup
2053 2006-04-10 Alexander Olk <alex.olk@googlemail.com>
2055 * ThemeNice.cs: Small UI polishing. Draw borders a little bit
2058 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
2060 * ThemeNice.cs: Use a better graphics effect when a button is pressed
2062 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
2064 * Theme.cs: Added GetDashPen and GetSizedPen to SystemResPool
2065 * ThemeWin32Classic.cs: Make use of the new SystemResPool methods.
2066 This dramatically reduces the number of Pen.Dispose calls.
2067 Where possible call ResPool methods only once instead of calling it
2068 over and over again (for example for the same color).
2070 2006-04-06 Mike Kestner <mkestner@novell.com>
2072 * TabControl.cs: fix for SelectedIndex updating on TabPage removals.
2073 Also remove an unused private field on the collection. Fixes #77972.
2075 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
2077 * ThemeNice.cs: Added ToolBar drawing code
2079 2006-04-06 Mike Kestner <mkestner@novell.com>
2081 * Form.cs (ShowDialog): MS allows IWin32Window param to be a non-form.
2082 I'm assuming that means we need to look up the toplevel for the
2083 provided control. Fixes the crash trace in #77911 but exposes another
2084 crash in some strange reflection usage in NDocGui.
2086 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
2088 * ThemeNice.cs: Gave it a little silver touch and added Images
2090 * FontDialog.cs: FontDialog is not resizable
2091 * FileDialg.cs: Added SizeGripStyle.Show
2093 2006-04-05 Jackson Harper <jackson@ximian.com>
2095 * KeyboardLayouts.cs: Remove warning.
2097 2006-04-05 Jackson Harper <jackson@ximian.com>
2099 * Control.cs: Enable OnPaintInternal so we can use it for drawing
2100 all of our controls instead of Paint +=.
2115 * ComboBox.cs: Remove handling of WM_PAINT and WM_ERASEBKGND and
2116 use OnPaintInternal. Remove Width/Height and Visible checks in
2117 paint handler, this is done at a higher level now.
2118 * GroupBox.cs: Don't need to handle WM_ERASEBKGND anymore.
2119 * PaintEventArgs.cs: Add a handled flag so controls that don't
2120 want anymore painting after OnPaintInternal can make sure OnPaint
2123 2006-04-05 Mike Kestner <mkestner@novell.com>
2125 * Form.cs: fix the menu WndProc hacks to respect the native enabled
2126 state of the form, so that we don't process events when Modal dialogs
2127 are up. Fixes #77922.
2129 2006-04-05 Alexander Olk <alex.olk@googlemail.com>
2131 * Mime.cs: Default for range length is 1 not 0. If set to 0 no match
2134 2006-04-05 Mike Kestner <mkestner@novell.com>
2136 * XplatUIX11.cs: fix typo in the EX_APPWINDOW transient patch.
2138 2006-04-05 Mike Kestner <mkestner@novell.com>
2140 * ListView.cs (HeaderMouseMove): null guarding for the over column
2141 when setting up the drag_to_index. Fixes #78015.
2143 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
2145 * XplatUIX11.cs: If WS_EX_APPWINDOW isn't set we don't want to show up
2146 in the taskbar. Transient windows seem to accomplish that.
2148 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
2151 - Re-enabled CreateParams.X/Y code for FormStartPosition
2152 - Added code for manual placement when creating the Control
2153 - Incomplete patch to treat MDI forms differently when
2154 setting the ClientSizeCore. (Still need to figure out handling
2157 - When we're explicitly setting the X/Y position of a non-Child
2158 window, let the WM know. Metacity really wants this.
2160 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
2162 * ThemeNice.cs: Added CPDrawButton
2164 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
2166 * ThemeNice.cs: Changed the color for focused buttons and activated
2167 the arrows for small scroll buttons.
2169 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
2171 * ThemeWin32Classic.cs: Removed DrawFlatStyleButton, not needed
2172 anymore. Changed some method modifiers to protected (virtual)
2173 * ThemeClearlooks.cs: Updated to reflect the ThemeWin32Classic
2175 * ThemeNice.cs: Updated to reflect the ThemeWin32Classic changes.
2176 Updated drawing of menus, buttons and progressbars; added
2179 2006-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2181 * ImageListStreamer.cs: implemented serialization/deserialization
2184 2006-04-03 Alexander Olk <alex.olk@googlemail.com>
2186 * ThemeWin32Classic.cs:
2187 - Removed all the DrawFrameControl stuff; CPDrawButton,
2188 CPDrawCheckBox and CPDrawRadioButton are now handled directly
2190 - Updated and corrected the drawing code of CPDrawButton,
2191 CPDrawCheckBox and CPDrawRadioButton to better match ms
2192 - Updated theme checkbox and radiobutton code to use the CP*
2195 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
2197 * XplatUIX11.cs: Enable clipping again now that the libgdiplus
2200 2006-03-31 Jackson Harper <jackson@ximian.com>
2202 * XplatUIX11.cs: Somehow we get SETCURSORS for bad windows
2204 * UpDownBase.cs: Don't CreateGraphics manually, use a
2205 Refresh. Ideally we would invalidate the correct areas here.
2207 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
2210 - We now track the mapping state of windows. If a window (or
2211 one of it's parents) is not mapped we no longer permit
2212 WM_PAINT messages to be generated since we'd otherwise get
2213 lots of BadMatch X errors. Jackson did all the work figuring
2215 - Destroying the caret if the window it's contained in is
2216 destroyed. Can't use regular DestroyCaret method since it
2217 might fall into a drawing function (trying to remove the
2218 caret) and with that generate new BadMatch errors. Again,
2219 Jackson tracked this down.
2220 - Changed DestroyChildWindows to SendWMDestroyMessages, we now
2221 make sure we send the messages to all windows. (The old code
2222 would send the WM_DESTROY to the window, and then all child
2223 windows would be 'gone' because the WM_DESTROY handle lookup
2224 would no longer find the destroyed window)
2225 * Hwnd.cs: Added Mapping property to track mapping state of hwnd
2226 * X11Structs.cs: Added WindowType enum for MapWindow/UnmapWindow
2228 2006-03-31 Jackson Harper <jackson@ximian.com>
2230 * ScrollableControl.cs: Dont recalc if we are not visible.
2232 2006-03-31 Mike Kestner <mkestner@novell.com>
2234 * Control.cs (SetVisibleCore): move the CreateControl call up ahead of
2235 the visibility branch.
2237 2006-03-31 Jackson Harper <jackson@ximian.com>
2239 * ScrollBar.cs: Cap values when incrementing/decrementing.
2241 2006-03-31 Mike Kestner <mkestner@novell.com>
2243 * MenuAPI.cs: setup menu.tracker for popup/context menus.
2244 * ToolTip.cs: guard against timer expirations with no active control.
2245 Not sure why it happened.
2247 2006-03-31 Mike Kestner <mkestner@novell.com>
2249 * ThemeWin32Classic.cs: add some horizontal padding space for the tip
2251 * ToolTip.cs: Position the tooltip based on where the cursor is at
2252 popup time, not at MouseEnter time. Add a Down state so that we don't
2253 redisplay tips without a Leave. Use faked XplatUI.GetCursorInfo for
2254 positioning offset. Lookup DisplaySize at positioning time, since it
2255 can theoretically change during invocation.
2256 * XplatUIWin32.cs: fake GetCursorInfo until pdb can do it properly.
2257 * XplatUIX11.cs: fake GetCursorInfo until pdb can do it properly.
2259 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
2261 * ThemeWin32Classic.cs: Use CPDrawBorder3D to draw a GroupBox.
2262 Fixes behaviour when the Text property of the box is String.Empty
2264 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
2266 * XplatUIX11.cs: Only send mouseleave for our client windows, not
2267 for the whole window (otherwise we get WM_MOUSE_LEAVE twice for
2270 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
2272 * FileDialog.cs: Visual enhancement for the popup buttons in
2275 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
2277 * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border
2280 2006-03-30 Alexander Olk <alex.olk@googlemail.com>
2282 * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and
2283 highlighted menu items to match ms
2285 2006-03-30 Peter Dennis Bartok <pbartok@novell.com>
2287 * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty
2289 2006-03-30 Mike Kestner <mkestner@novell.com>
2291 * Menu.cs (SelectedItem): use new MenuItem.Selected prop.
2292 * MenuAPI.cs: use new MenuItem.Selected prop. redraw MainMenu when we
2293 go active to account for HotLight to Selected transition.
2294 * MenuItem.cs: add internal Selected prop. Fill out the Status
2295 property by calculating it from item info. Add HotLight,
2296 NoAccelerator, Checked, Grayed, and Disabled flags where appropriate.
2298 2006-03-30 Mike Kestner <mkestner@novell.com>
2300 * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw.
2302 2006-03-29 Jackson Harper <jackson@ximian.com>
2304 * Form.cs: Implement TODO.
2306 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
2308 * PrintPreviewDialog.cs: Implemented missing methods and events; still
2309 missing proper dialog setup in the constructor
2311 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
2313 * ProgressBar.cs: Added 2.0 Style property that apps seem to use
2315 - Implemented CheckForIllegalCrossThreadCalls, removed TODO
2316 - Fixed ResetBindings and removed TODO
2317 - Added check for cross-thread calls to get_Handle()
2318 - Added Marshaller attribute for set_Font to satisfy class status
2319 * FontDialog.cs: Removed TODOs that seemed implemented
2320 * UpDownBase.cs: Removed unneeded TODO and Fixme
2321 * MessageBox.cs: Implemented support for Default button and removed TODO
2322 * FileDialog.cs: Removed obsolete TODO
2323 * DomainUpDown.cs: Removed obsolete TODO
2324 * ButtonBase.cs: Removed obsolete TODO
2325 * XplatUIWin32.cs: Removed obsolete TODO
2327 - Removed obsolete TODO
2328 - Calling CheckAcceptButton when the acceptbutton is changed to allow
2329 internal status updates
2330 - Making sure the active control is selected when the control is created
2331 * CurrencyManager.cs: Removed obsolete TODO
2333 2006-03-29 Mike Kestner <mkestner@novell.com>
2335 * *.cs: fix remaining corcompare issues for 1.1 API with the exception
2336 of PrintPreviewDialog and RichTextBox.
2338 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
2340 * Theme.cs: Added a little helper to SystemResPool to get the Dark,
2341 DarkDark, Light and LightLight colors for a specific color
2342 * ThemeWin32Classic.cs:
2343 - Use Button drawing code to draw RadioButtons and CheckBoxes with
2345 - Make use of the new ResPool helper CPColor
2346 - Draw ProgressBar and StatusBar with correct 3D borders
2348 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
2350 * ColorDialog.cs: Return selected color. Fixes bug #77940.
2352 2006-03-28 Mike Kestner <mkestner@novell.com>
2354 * ListView.cs: fix Icon layout to plan for scrollbar widths when
2355 calculating col/row counts.
2357 2006-03-28 Mike Kestner <mkestner@novell.com>
2363 switch to explicit interface method implementation for some methods
2364 corcompare identifies as inconsistent with MS.
2366 2006-03-28 Mike Kestner <mkestner@novell.com>
2370 add a few missing methods from the class status output.
2372 2006-03-28 Alexander Olk <alex.olk@googlemail.com>
2374 * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now
2377 2006-03-28 Mike Kestner <mkestner@novell.com>
2379 * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917.
2381 2006-03-27 Mike Kestner <mkestner@novell.com>
2383 * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for
2384 the Hilight state to adapt to Alex's CPDrawBorder3D changes.
2386 2006-03-27 Alexander Olk <alex.olk@googlemail.com>
2388 * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms.
2390 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
2392 * ThemeWin32Classic.cs:
2393 - GroupBox: Inserted a little gap between the text and the lines
2395 - Made the code in CPDrawBorder3D more readable
2396 - Corrected the drawing location of the up and down arrows in
2399 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
2401 * ControlPaint.cs: Corrected line widths in DrawBorder for
2402 ButtonBorderStyle Inset and Outset
2404 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
2406 * ThemeWin32Classic.cs:
2407 - Rewrote the totally broken CPDrawBorder3D method. That was
2408 one of the main problems for the terrific ThemeWin32Classic
2410 - Updated and corrected Button drawing
2411 - Correct the dimensions of the SizeGrip to match ms ones
2412 - Removed a small drawing glitch in DrawComboBoxEditDecorations
2413 * XplatUIX11.cs: Draw borders with BorderStyle = Fixed3D with
2414 Border3DStyle.Sunken to match ms.
2416 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
2418 * ThemeWin32Classic.cs: First small part of the "de-uglify
2419 ThemeWin32Classic" effort, SizeGrip
2421 2006-03-24 Jackson Harper <jackson@ximian.com>
2423 * XplatUIX11.cs: Give a max idle time of one second, this matches
2424 MS and forces an Idle event every second when there are no other
2425 events in the queue.
2427 2006-03-24 Mike Kestner <mkestner@novell.com>
2429 * ListView.cs: Handle (Large|Small)ImageList == null more robustly.
2430 * ListView.Item.cs: fix layout issues with null image lists and images
2431 smaller than checkbox size.
2432 * ThemeWin32Classic.cs: Draw a 12 pixel line in ListView LargeIcon
2433 mode like MS does. It's weird, but consistent. ;-)
2436 2006-03-24 Mike Kestner <mkestner@novell.com>
2438 * ListView.cs: Scroll wheel support for the item control. Fixes
2441 2006-03-23 Jackson Harper <jackson@ximian.com>
2443 * ScrollableControl.cs: Special case negative sized areas, not
2445 * MonthCalendar.cs: Save the rect of the clicked date so we can
2446 use it for invalidation.
2447 - Try to cut down on the number of invalidates
2448 - Invalidate the rect the mouse is over and was over when moving
2449 the mouse, so we get the focus box following the cursor.
2451 2006-03-23 Mike Kestner <mkestner@novell.com>
2453 * ThemeWin32Classic.cs: fix FullRowSelect selection background and
2454 focus rectangle drawing. Fixes #77835.
2456 2006-03-23 Mike Kestner <mkestner@novell.com>
2458 * XplatUIX11.cs: rework the fix for #77828 by changing the order of
2459 the if and else if and reverting back to the original == check on the
2462 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
2464 * FontDialog.cs: Update the example panel if the selected index of
2465 the fontListBox changes.
2467 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
2469 * FileDialog.cs: Make FileDialog remember which directory it was in
2470 last in the same execution.
2472 2006-03-22 Mike Kestner <mkestner@novell.com>
2474 * FileDialog.cs: make the DropDownMenu on the toolbar display
2475 RadioChecks since they are mutually exclusive and that's what MS does.
2477 2006-03-22 Mike Kestner <mkestner@novell.com>
2479 * Theme.cs: add Color param to CPDrawMenuGlyph.
2480 * ThemeWin32Classic.cs: do color specific menu glyph rendering so that
2481 checks and radio marks and arrows are visible on highlighted items.
2482 * ControlPaint.cs: update to use new Theme signature.
2484 2006-03-22 Mike Kestner <mkestner@novell.com>
2486 * MenuAPI.cs: only process Enter and arrow keypresses if the tracker
2487 is active. Fixes #77870.
2489 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
2491 * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox
2492 to be focused/selected after startup
2494 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
2497 - Corrected behaviour of Color, AllowFullOpen, FullOpen,
2498 CustomColors and ShowHelp properties
2499 - Some internal rewrites to get better results when using the
2502 2006-03-22 Mike Kestner <mkestner@novell.com>
2504 * ListView.cs: hook into Peter's new ResetMouseHover capability to fix
2505 HoverSelection. Fixes #77836.
2507 2006-03-22 Mike Kestner <mkestner@novell.com>
2509 * FileDialog.cs: bugfixes for the toolbar. Use PushButtons instead of
2510 ToggleButtons. (De)Sensitize the Back button around a stack count of
2511 1, not 0. Update ButtonSize based on a pixel count of the win32
2512 control. Adjust the toolbar size/location for new button size.
2514 2006-03-22 Jackson Harper <jackson@ximian.com>
2516 * XplatUIX11.cs: Don't handle configurenotifys if PostQuitState is
2518 * ScrollBar.cs: When doing increments and decrements we need to
2519 set the Value property so that ValueChanged gets raised. A
2520 possible optimization here would be to make an internal SetValue
2521 that doesn't invalidate immediately.
2522 * ToolTip.cs: Tooltips get added to their container (when
2523 supplied) so they get disposed when the container is disposed.
2524 - Don't create tooltips for String.Empty. This prevents all these
2525 little 2-3 pixel windows from showing up when running nunit-gui
2527 * Form.cs: Don't set topmost when setting the owner if the handles
2528 haven't been created yet. The topmost set will happen when the
2529 handles are created.
2531 2006-03-22 Peter Dennis Bartok <pbartok@novell.com>
2534 - DeriveWindowStyles: Fixed typo in borderstyle generation (#77828)
2535 - SetVisible: Sending WINDOWPOSCHANGED for all controls when made
2536 visible (to allow them to recalculate their sizes)
2538 2006-03-21 Mike Kestner <mkestner@novell.com>
2540 * ThemeWin32Classic.cs: major refactoring of the ToolBar rendering
2541 methods. Removed a ton of redundant code. Still not really happy with
2542 the border rendering, but I think that's mainly because of the
2543 ControlDarkDark being black instead of a dark grey. Depending on how
2544 close we want to be, we might want to revisit those color choices.
2545 Among the new features added during the refactor were DropDownArrow
2546 pressed rendering, Disabled image rendering. Proper flat appearance
2547 boundary rendering. Removed the Divider and Wrapping dividers since I
2548 can't figure out any combination of themes and conditions to make the
2549 MS control draw a horizontal line on a toolbar despite what the
2550 Divider property docs indicate.
2551 * ToolBar.cs: rewrite the layout engine. Fixes numerous flicker
2552 conditions and incorrect layout. Updated to coding standard.
2553 * ToolBarButton.cs: refactored layout and positioning code from
2554 ToolBar to here. Invalidate wherever possible instead of forcing
2555 redraws of the whole toolbar.
2556 (Known remaining issues: explicit ButtonSize smaller than provided
2559 2006-03-21 Mike Kestner <mkestner@novell.com>
2561 * ContextMenu.cs (Show): use the position parameter instead of just
2562 showing at the MousePosition.
2564 2006-03-21 Jackson Harper <jackson@ximian.com>
2566 * TabControl.cs: Remove the call to ProcessKeyEventArgs and let
2567 control handle this.
2568 * TreeNodeCollection.cs: If we are clearing the root node we need
2569 to reset top_node so calcs can still happen.
2570 * ThemeWin32Classic.cs: This is a Flags so we need to check
2573 2006-03-21 Jackson Harper <jackson@ximian.com>
2575 * DataGrid.cs: Create columns when the binding context has been
2577 * X11Structs.cs: Keysyms are uints.
2578 - Add size to fix build.
2580 2006-03-21 Peter Dennis Bartok <pbartok@novell.com>
2582 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
2584 - Added ResetMouseHover method to allow controls to retrigger
2585 hovering if they need it more than once
2586 - Implemented MouseHoverTime and MouseHoverSize properties
2587 * Timer.cs: Start() must reset the interval
2588 * SystemInformation.cs: Added 2.0 MouseHoverTime and MouseHoverSize
2591 2006-03-21 Jackson Harper <jackson@ximian.com>
2593 * X11Keyboard.cs: improved layout detection. Move the nonchar
2594 tables into this file.
2595 * KeyboardLayouts.cs: Move the tables into resource files.
2597 2006-03-21 Mike Kestner <mkestner@novell.com>
2599 * ListView.cs: use OnItemActivated to raise events. Fixes #77834.
2601 2006-03-21 Alexander Olk <alex.olk@googlemail.com>
2603 * Mime.cs: Various speed optimizations. Looking up mime types
2604 is now 2 times faster than before
2606 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
2608 * CreateParams.cs: Added internal menu field
2610 - Switched call order for UpdateBounds; now we always call
2611 the one that also takes ClientSize, and we're calculating the
2612 client size via driver method in the others. The previous
2613 method of tracking client size by difference wasn't working
2614 for forms where even the starting client size wouldn't match
2615 the overall form size (due to borders) (Part of fix for #77729)
2616 - CreateParams(): Do not use parent.Handle unless the handle is
2617 already created. Causes havoc with Nexxia and throws off our
2618 creation of controls
2620 - Created new PerformNCCalc method to trigger WM_NCCALCSIZE message
2621 - Switched handling of ConfigureNotify over to new PerformNCCalc
2622 method (consolidates code)
2623 - Changed RequestNCRecalc to use new PerformNCCalc method
2624 - Added calls to RequestNCRecalc when menus and borders are changed
2625 to allow app to set NC size. (Part of fix for #77729) This matches
2626 when MS send a WM_NCRECALC on Win32 windows.
2627 - Now sending WM_WINDOWPOSCHANGED when toplevel for is made visible
2628 (Part of fix for #77729). This matches what MS does, they also
2629 send that message when the form is made visible.
2630 - XException.GetMessage: Improved usability of X errors by including
2631 a translation of the window into Hwnd and Control class
2632 - Improved debug info for window creation, reparenting and destruction
2633 - Created helper method WindowIsMapped() [Currently not used]
2634 * XplatUIWin32.cs: Added ToString() debug helper to RECT structure
2636 - CreateParams: Now setting our menu on the new internal menu field
2637 - SetClientSizeCore: Now passing cp.menu instead of ActiveMenu to
2638 avoid calculating the same property twice
2640 - Improved usability of ToString() for debugging purposes
2641 - GetWindowRectangle(): Now uses proper CalcMenuBarSize method to
2642 determine the height of the menu, instead of just the font. This
2643 required to also create a graphics context and to keep a bmp
2644 around (for performance reasons)
2646 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
2648 * MenuAPI.cs: Added OnMouseUp method
2650 - Now remembering the requested client size, avoids size errors
2651 - WndProc: Now handling WM_xBUTTONUP and passing it to MenuTracker
2652 instead of base if the menu is active. This is required due to
2653 control now capturing and releasing on down/up and it would
2654 prematurely release our menu capture
2656 2006-03-17 Jackson Harper <jackson@ximian.com>
2658 * KeyboardLayouts.cs: Add the czech layouts.
2660 2006-03-16 Jackson Harper <jackson@ximian.com>
2662 * Control.cs: Use the viewport space when sizing not the controls
2663 client size, so things like ScrollableControl that effect the
2664 viewport size (when scrollbars are added) are computed correctly.
2665 * BindingContext.cs: Cleanup to use the DataSourceEntrys instead
2667 - Handle creating BindingManagers for null data sources.
2668 * DataGrid.cs: Bind the cached_currencymgr_events to the real data
2669 source, otherwise when rows are added they are added to the 'fake'
2670 datasource and we will crash when trying to set the position in
2672 - Use Implicit scrollbars on the datagrid so they arent
2675 2006-03-16 Jackson Harper <jackson@ximian.com>
2678 * InternalWindowManager.cs:
2679 * MdiWindowManager.cs:
2680 * X11Keyboard.cs: I really want Mike to love me again (fix
2683 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
2686 - OnMouseDown: Switch to editing mode when clicking on the cell
2687 even if we're clicking on the cell that's currently
2689 - ProcessGridKey: Left/Right now wrap like MS.Net does
2690 - ProcessGridKey: Tab now knows to add a new row when tab is
2691 pressed in the cell of the last column of the
2693 - ProcessGridKey: Enter now adds another row if pressed in the last
2694 row and selectes the new row, same column cell
2695 - ProcessGridKey: Home/End navigate columns, not rows, like
2696 originally implemented
2697 - Broke ProcessKeyPreview code out into an extra Internal method
2698 so it can be called from the edit code
2699 * DataGridTextBox.cs (ProcessKeyMessage):
2700 - Switched to accept Tab keypresses
2701 - Added F2 handling to allow jumping to the end of the edited cell
2702 - Added logic to allow moving caret left/right inside edited cell
2703 and making the edited cell jump when the caret hits cell borders
2704 - Tab and Enter are now passed to the datagrid after being handled
2706 - Removed capture code now that Control handles it
2707 - set_SelectionStart now ensures caret is visible
2709 2006-03-16 Jackson Harper <jackson@ximian.com>
2711 * TrackBar.cs: Debackwards the increment/decrement for handling
2712 mouse clicks on the bar with vertical trackbars.
2713 * ThemeWin32Classic.cs: Draw vertical trackbars with 0 at the
2716 2006-03-16 Mike Kestner <mkestner@novell.com>
2718 * ListView.cs: make shift/ctrl keyboard and mouse selection
2719 consistent with the MS control. Fix a bug in
2720 SelectedListViewItemCollection.Clear that was pissing me off for the
2721 better part of a day because the collection was being altered
2722 underneath us as we walked the list.
2724 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
2726 * Control.cs: Not sure how we could miss this so long, but it seems
2727 that MS.Net has Capture set all the way from before calling
2728 OnMouseDown through sending the mouse events until after
2729 OnMouseUp. This will fix DataGrid's selection being set to end
2730 at the location of the MouseUp.
2732 2006-03-15 Jackson Harper <jackson@ximian.com>
2734 * BindingContext.cs: Check the binding after its added so that it
2735 can initialize the binding managers and hookup to events.
2736 * Binding.cs: Data members seem to sometimes include rows/cols in
2737 the format Row.Column we now take this into account.
2738 - Hookup to the position changed event so we can update the
2739 control when the position has changed in the data set.
2740 * CurrencyManager.cs: Take into account the row/col naming
2741 convention when creating dataset tables.
2742 * BindingContext.cs: Using a newer better way of storing
2743 datasource/datamember pairs. Hopefully this better matches MS for
2744 looking up binding managers.
2747 2006-03-15 Jackson Harper <jackson@ximian.com>
2749 * BindingContext.cs: The currency manager needs the data member
2750 name, if the member is a data set we use the name to find the
2752 * CurrencyManager.cs: When creating the list prefer an IList over
2754 - Attempt to create a DataTable from a DataSet (TODO: might need
2755 some better error checking here, although MS doesn't seem to have much)
2756 - If we have a DataTable create a view and use it as our list.
2758 2006-03-15 Mike Kestner <mkestner@novell.com>
2760 * ListView.cs: keep a matrix of the icon mode layout to facilitate
2761 keyboard navigation. Support Up/Down/Left/Right selection correctly
2762 for all 4 View modes.
2763 * ListViewItem.cs: add internal row/col fields for icon layouts.
2765 2006-03-15 Jackson Harper <jackson@ximian.com>
2767 * TabControl.cs: Redraw the tabs when we resize so their newly
2768 calculated sizes are drawn on screen.
2769 * X11Keyboard.cs: Begginnings of XIM support. We also now support
2770 composite characters.
2771 * XplatUIX11.cs: Keyboard driver needs to know about focus changes
2772 - filter events so that composite characters can be created
2774 * X11Structs.cs: Add XIMProperties enum.
2776 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2778 * Control.cs (BringToFront, SendToBack): Don't use window or handle
2781 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2783 * Control.cs (PerformLayout): We don't need to consider visiblity
2784 for anchoring, only for docking. This fixes 'whacky' alignment
2785 in listbox and other controls that use implicit scrollbars after
2786 the previous PerformLayout patch
2787 * ListBox.cs: Switched to use implicit scrollbars
2789 2006-03-14 Mike Kestner <mkestner@novell.com>
2793 - chain up the "new event" overrides to base and use
2794 OnEvent to raise them. Part of fix for bug #76509.
2796 2006-03-14 Alexander Olk <alex.olk@googlemail.com>
2798 * FileDialog.cs: Do not select an item in the parent directory
2801 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2803 * Control.cs (PerformLayout): It would seem that we considered
2804 invisible windows for our layout. Not quite the right thing
2805 to do. Now we don't any longer, thereby fixing bug #76889.
2807 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2809 * Control.cs (CanFocus): I goofed. A control can have focus
2810 even though it's not selectable. Made it match MS docs.
2812 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2814 * ControlPaint.cs (DrawBorder3D): DrawBorder3D does not fill the
2815 center by default (fixes #76895)
2816 * ThemeWin32Classic.cs, ThemeNice.cs, ThemeClearlooks.cs: Replaced
2817 all uses of Border3DSides.All with the explicit ORd together
2818 Left|Right|Top|Bottom because I assume that nobody was aware
2819 that All also implies a center fill. Most places I checked had
2821 * ProgressBarStyle.cs: Added
2823 2006-03-13 Mike Kestner <mkestner@novell.com>
2825 * ListView.cs: fix breakage in drag shadow header positioning
2826 from Peter's csc compilation fix.
2828 2006-03-13 Mike Kestner <mkestner@novell.com>
2830 * ListView.cs: fix NRE produced by backspacing twice in a focused
2833 2006-03-13 Mike Kestner <mkestner@novell.com>
2835 * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
2837 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2839 * Hwnd.cs: Added fixed_size field to track windows whose size cannot
2841 * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting
2842 the allowed size before making programmatic size changes
2844 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2846 * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are
2847 set, metacity is broken and will still use the emty sizes in
2848 the struct. (Fix for #77089)
2850 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2852 * XplatUIStructs.cs: Split WindowStyles into WindowStyles and
2853 WindowExStyles and marked both enums as Flags
2854 * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs,
2855 NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated
2856 to match WindowStyles split
2858 - SetWMStyles: Added cehck to not apply WM attributes to Child windows
2859 - Updated to match WindowStyles split
2861 - Fixed FosterParent creation, was using ExStyle on the Style field
2862 (This should help with Popup focus issues)
2863 - Updated to match WindowStyles split
2865 2006-03-13 Jackson Harper <jackson@ximian.com>
2867 * MdiWindowManager.cs: Use the system menu height. Fixes some
2868 strange sizing issues.
2870 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2872 * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
2874 - Scroll to caret after inserting text (#77672)
2875 - Make scroll range one pixel higher, fixes off-by-one error (and
2876 makes underlines visible on the last line)
2878 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2880 * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent
2881 the keyboard state from being stuck with keys in 'pressed' state when
2882 focus is switched away via keyboard
2883 * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to
2884 reset the keyboard if no X11 KeyUp events are expected to come
2885 * X11Structs.cs: Switched type of Visible to bool to match driver
2887 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2890 - Switched caret to be just 1 pixel wide, matches MS and looks less
2892 - Moved caret display 1 pixel down from the top of the control
2894 - InsertCharAtCharet: Update the selection start if moving the caret
2895 (fixes bug #77696; based on patch suggested by kazuki@panicode.com)
2896 - No longer always creating the caret when the caret methods are
2897 called. Only the actual ShowCaret/HideCaret will do that now
2898 - Only setting caret visible if the owner control has focus
2899 - UpdateView: Added invalidation-shortcut logic for center and right
2900 aligned text. Previously we'd update all according to the left
2901 logic which caused drawing errors. Also fixed height of invalidated
2902 areas, now properly invalidating the whole area (was off-by-one)
2903 - owner_HandleCreated: Always generate the document when the
2904 handle is created; this ensures that
2906 - Fixed situation where caret would disappear under the right
2907 window border, also improved scrolling behaviour on left-
2909 - Fixed right-aligned textboxes to have a border to the
2910 right instead of the caret being under the right border
2912 - Switched from 'nested' to simple visible/not visible tracking
2913 for caret (part of fix for #77671)
2914 - No longer passing through translated FocusIn/FocusOut messages
2915 since we were notifying too often and the wrong windows. Instead
2916 we just notify our focussed window of receiving or loosing focus
2917 * XplatUIWin32.cs: Switched from 'nested' show/hide
2918 counting for caret to simple visible yes/no behaviour (part of
2921 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
2923 * Mime.cs: Remove debug code...
2925 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
2927 * MimeGenerated.cs: Removed
2928 * Mime.cs: Mime now reads the mime data (magic, globs, aliases
2929 and subclasses) from /usr/(local/)share/mime and
2930 $HOME/.local/share/mime.
2932 2006-03-10 Jackson Harper <jackson@ximian.com>
2934 * MdiWindowManager.cs: Recalc the NC area when a window is
2935 maximized/restored so that the menu area is drawn on forms that
2938 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2940 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
2941 XplatUIX11.cs: Added RequestNCRecalc method to driver to allow
2942 us to force a WM_NCCALCRESIZE message being sent. This is needed
2945 2006-03-10 Jackson Harper <jackson@ximian.com>
2947 * Form.cs: We need to use the ActiveMenu when calculating menu
2949 - Fix nullref when the window manager hasn't been created yet.
2950 * Control.cs: Fix nullref when we try to bring a control to the
2951 front that has no parent.
2952 * MdiWindowManager.cs: Use the MaximizedMenu for calculating
2954 - Add a dummy item to the maximized menu so it always has the
2955 correct height. Otherwise when there are no menus we don't get our
2959 2006-03-10 Jackson Harper <jackson@ximian.com>
2961 * MenuAPI.cs: Make this available elsewhere. I need it in some MDI
2963 * Form.cs: Make the window_state internal so the window managers
2965 - When an MDI child is maximized let its window manager create the
2966 main menu (so it can add its icon).
2967 - Notify the window managers of state changes
2968 - Let the window manager paint its buttons and handle button
2969 clicks on the menu when it is maximized.
2970 * InternalWindowManager.cs: Move the prev_bounds into the mdi
2971 window manager, since tool windows don't use it, only mdi windows.
2972 - Tell the main form that we don't want it to handle NCPAINT
2973 itself to avoid extra painting.
2974 - Handle clicks on a maximized windows menu.
2975 - Handle window state changes
2976 - Handle minimize/maximize clicks correctly by setting the window state.
2977 * MdiWindowManager.cs: Add an icon menu that (the menu you get
2978 when clicking on the forms icon).
2979 - New method to create a forms maximized menu. This is its normal
2981 - Handle window state changes.
2982 - Handle sizing of maximized windows. Maximized windows are just
2983 drawn bigger then the parent visible area. All controls are still
2984 there, they are just outside the visible area (this matches windows).
2985 * MdiClient.cs: No scrollbars when a child window is maximized.
2986 - Let the children windows figure out how big they should be when
2987 sizing maximized windows.
2988 - Implement a version of ArrangeIconicWindows somewhat similar to
2989 Windows version. There are some little differences, but I don't
2990 think any app will rely on the layout of minimized mdi windows.
2992 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2994 * Padding.cs: Several fixes to allow compiling with csc 2.0
2996 2006-03-09 Jackson Harper <jackson@ximian.com>
2999 * MenuItem.cs: Cheap hack so we can add items to the list without
3000 the events being raised. This allows adding mdi items during
3001 drawing. TODO: Should probably find a better time to add the items.
3003 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
3005 * ThemeWin32Classic.cs:
3006 - CheckBox_DrawText: Added logic to not wrap if not enough space
3007 is available (Fix for bug #77727)
3008 - RadioButton_DrawText: Added logic not to wrap if not enough
3009 space is available (Fix for bug #77727). Also removed some
3010 duplicate code, DrawString always drawing the regular text
3011 before hitting the if statement.
3013 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
3015 * XplatUIX11.cs: Handle an unmapped window state in SetWindowState
3017 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
3019 * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726)
3020 * ContainerControl.cs: Partial implementation of some 2.0 scaling
3021 methods. Moved the new 2.0 properties into alphabetical order with
3022 other properties and added MonoTODO tags
3024 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3026 * AutoScaleMode.cs: Added. Fix build.
3028 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3030 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
3031 XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used
3032 and was requiring premature handle creation for calls from above
3033 * Form.cs, Control.cs: Removed handle arguments from calls to
3034 CalculateClientRect()
3036 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3038 * ListView.cs (HeaderMouseMove): Fix csc compilation.
3039 drag_column.column_rect is MarshalByRef and can't be used that way
3041 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3043 * AxHost.cs: Added deserialization constructor for
3044 AxHost+State (fixes 77743)
3046 2006-03-09 Mike Kestner <mkestner@novell.com>
3049 - Added column drag reordering for details view.
3050 - fixed behavior when mouse is dragged off column and
3051 AllowColumnReorder is false.
3052 * ColumnHeader.cs: clone the format too in Clone.
3053 * Theme.cs: add DrawListViewHeaderDragDetails method.
3054 * ThemeWin32Classic.cs:
3055 - impl new method for drawing drag column shadows and targets.
3056 - support column offset for details mode in DrawListViewItem.
3058 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3060 * TextControl.cs: Reset the char_count when the document is cleared
3061 (Fixes bug reported on mono-winforms mailing list)
3063 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3065 * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead
3066 of calling base we simply process the key ourselves, since both
3067 DefWindowProc and the handled method would set m.Result.
3070 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
3072 * Form.cs(ScaleCore): No longer calling base.ScaleCore since that
3073 method also moves the window; instead implemented a copy of
3074 Control.ScaleCore (Part of fix for #77456)
3076 - Created new CreateGraphicsInternal method to allow providing
3077 a graphics context when no handle is created without triggering
3078 handle creation. (Part of fix for #77456)
3079 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
3081 - Switched Constructor to require TextBoxBase instead of Control (to
3082 allow uncast access to CreateGraphicsInternal)
3083 - Safeguarded use of owner.Handle property. No longer accessing it
3084 unless the handle is already created.
3085 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
3086 - Now triggering a recalc when owning control becomes visible
3087 * TextBox.cs, RichTextBox.cs: Switched to use new internal
3088 TextBoxBase.CreateGraphicsInternal() method to avoid triggering
3089 premature handle creation (Part of fix for #77456)
3091 - We now only destroy our double-buffering buffers when the
3092 control is resized or disposed, but not when visibility
3093 changes. (The code even re-created them twice every time)
3094 - Now requiring a redraw of the buffer on visibility changes
3095 (fixes bug 77654 part 2)
3096 - Not passing OnParentVisibleChanged up unless the control
3098 - CanFocus: Fixed to match MS documentation
3099 - Focus: Fixed to return actual focus state and to check if
3100 setting focus is legal before setting it
3102 2006-03-08 Peter Dennis Bartok <pbartok@novell.com>
3104 * ThemeWin32Classic.cs: TabPages cannot have focus. Determine
3105 when to draw focus rectangle by looking at parent focus and
3106 selected state instead. This fixes TabPages on Linux sometimes
3107 having none or multiple focus rectangles.
3108 * XplatUIX11.cs (SetFocus):
3109 - Don't set the focus if the same window already has focus
3110 - Use SendMessage instead of PostMessage (like it's Win32
3111 equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS
3112 to match MS behaviour
3113 * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages
3116 2006-03-07 Jackson Harper <jackson@ximian.com>
3118 * PictureBox.cs: Revert line I accidently committed last week.
3120 2006-03-07 Peter Dennis Bartok <pbartok@novell.com>
3123 - Added new IsRecreating and ParentIsRecreating properties to
3124 allow testing if RecreateHandle has been called on ourselves
3125 or one of our parents
3126 - WndProc(WM_DESTROY): If our control handle is being recreated
3127 we immediately need to create the handle when receiving the
3128 destroy, that way our child windows find a valid parent handle
3129 when they themselves are being recreated upon WM_DESTROY receipt
3130 (fix for bug #77654 part 1)
3132 - DestroyWindow: WM_DESTROY must be sent to our own window before
3133 notifying any child windows. MS documents that child windows
3134 are still valid when WM_DESTROY is received. (Control now relies on
3136 - Added some fine-grain debug options
3138 2006-03-06 Jackson Harper <jackson@ximian.com>
3140 * MdiClient.cs: Redid scrolling logic a bit to create a virtual
3141 box and base calculations off this.
3142 * MdiChildContext.cs:
3143 * MdiWindowManager.cs: Don't need to ensure scrollbars here
3146 2006-03-06 Peter Dennis Bartok <pbartok@novell.com>
3148 * Splitter.cs: In situations where the affected control is added
3149 to the parent's control list after the splitter, we would not
3150 populate affected. Now we try populating it on mousedown, if
3151 it's not already set, and force it to be re-set whenever our
3154 2006-03-03 Matt Hargett <matt@use.net>
3156 * Control.cs: implement Control.Padding
3157 * Padding.cs: -Padding.All returns -1 when constructing with the
3158 implicit default ctor
3159 -Padding.ToString() matches MS.NET
3160 * ContainerControl.cs: implement
3161 ContainerControl.AutoScaleDimensions
3162 * ListControl.cs: implement ListControl.FormattingEnabled
3163 * TextBox.cs: Implemented TextBox.UseSystemPasswordChar.
3165 * TabPage.cs: Implement UseVisualStyleBackColor.
3166 * PictureBox.cs: Implement PictureBox.InitialImage.
3168 2006-03-03 Mike Kestner <mkestner@novell.com>
3170 * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new
3171 event declarations to proxy to base event.
3172 * ListViewItem.cs: update to use ItemControl.
3173 * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems.
3174 * ThemeWin32Classic.cs: update to new ListView theme API and fix
3175 column header label rendering for 0 width columns.
3177 2006-03-03 Peter Dennis Bartok <pbartok@novell.com>
3179 * Control.cs (ControlCollection.SetChildIndex): Avoid using a call
3180 that causes the control to be created. Fixes #77476.
3182 2006-03-02 Jackson Harper <jackson@ximian.com>
3184 * Hwnd.cs: Clear the nc pending when clearing the NC area, not the
3187 2006-03-02 Peter Dennis Bartok <pbartok@novell.com>
3189 * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs
3190 passed in for the EventArgs (fixes #77690)
3192 2006-03-01 Jackson Harper <jackson@ximian.com>
3194 * ScrollBar.cs: Refresh afterbeing resized.
3196 2006-02-28 Mike Kestner <mkestner@novell.com>
3198 * MenuAPI.cs: Call PerformPopup internal method to emit Popup.
3199 Clean up a tracker compile warning.
3200 * MenuItem.cs: add internal PerformPopup method.
3203 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
3205 * TextBoxBase.cs (set_Text): Recalculate the document (causing an
3206 implicit expose) when the text is set to null
3208 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
3210 * RichTextBox.cs (FlushText): When newline is true, we always
3211 need to split the line, even if no text is on it and we may
3212 never eat newlines. (Fixes #77669)
3214 2006-02-28 Mike Kestner <mkestner@novell.com>
3216 * ListView.cs: Add UpdateSelection internal method. Remove SelectItem
3217 and set Selected instead.
3218 * ListViewItem.cs: Call owner.UpdateSelection to manipulate the
3221 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
3223 * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665
3225 2006-02-28 Alexander Olk <alex.olk@googlemail.com>
3228 - Got rid of the panel. All controls are now directly added to
3230 - It is now possible to set a font with the Font property
3231 - MinSize and MaxSize property do now what they should
3232 - ShowApply, ShowHelp, ShowColor, ShowEffects likewise
3233 - Searching and selecting a font with the font textbox works now,
3234 the same applies to the style and size textbox
3235 - Draw the correct 3D border in the example panel
3236 - Fixed a little mem leak (unused fonts didn't get disposed)
3237 - Many other internal updates/rewrites...
3240 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
3243 - InsertRTFFromStream: Added 'number of characters inserted' argument
3244 - set_SelectedRTF: Now using the number of characters to calculate
3245 the new location for the selection and cursor (x/y cannot be used
3246 due to potentially already wrapped text)
3248 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
3250 * TextControl.cs: Added property and implemented means to allow
3251 disabling recalculation of a document (can be used to speed up
3252 multiple inserts and is needed to make RTF inserts predictable, see
3254 * RichTextBox.cs: Using the new NoRecalc property of Document to
3255 keep x/y insert locations predictable. Also makes it faster inserting
3258 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
3260 * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way
3261 it's easier for a child control to handle the other messages without
3262 having to duplicate the special functionality
3264 - WndProc: Removed calling base handler for WM_KEYDOWN and added
3265 code to handle processing the key ourselves, in order to get
3266 access to the result of KeyEventArgs.Handled. We now only call
3267 ProcessKey if they key hasn't been handled already. Fixes #77526.
3268 - set_Text: If null or empty string is given, just clear the
3269 document. Fixes part of #77526
3271 2006-02-27 Jackson Harper <jackson@ximian.com>
3273 * SizeGrip.cs: Paint the background color before painting the grip
3274 so things look right.
3275 * MdiClient.cs: Add the sizegrip when both scrollbars are used.
3277 2006-02-27 Mike Kestner <mkestner@novell.com>
3280 - Restructure layout and invalidation model to remove a ton of
3281 flicker from the control and speed up performance in general.
3282 - Add manual column resize, flickers like crazy, but I already have
3283 some ideas on how I'll fix that. (#76822)
3284 - Merge the three Icon-based views into a single layout method.
3285 - Move item selection interaction logic from the item since
3286 interaction with the collections is more appropriate to the view.
3287 - Deselection on non-item clicks.
3289 - Encapsulate most of the layout. Add some internal props to trigger
3290 layout. Move to a model where Items invalidate themselves instead
3291 of just invalidating the whole control every time something changes.
3292 - Invalidate on Text/Caption changes.
3293 - switch to an offset based layout model to avoid having to absolute
3294 position every element on item moves.
3295 - correct checkbox layout to conform to MS layout.
3296 * ThemeWin32Classic.cs:
3297 - refactor some column header drawing code.
3298 - fix string justification for column headers (#76821)
3299 - make SmallIcon labels top justified for compat with MS impl.
3300 * ThemeClearlooks.cs:
3301 - adjust to new ListViewItem internal checkbox bounds api.
3303 2006-02-27 Jackson Harper <jackson@ximian.com>
3305 * Control.cs: Change where implicit controls fall in the zorder.
3306 They are now on top of all children.
3307 - Synced AddImplicit code with Add
3308 - Removed unused enumerator.
3309 * SizeGrip.cs: Remove the TODO as its been TODONE.
3311 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
3313 * TextControl.cs(Insert): Combine the last lines unless the insertion
3314 string ends with \n\n, otherwise we leave one line too many (Fixes
3315 something I noticed with the testapp for #77526; the bug itself was
3316 already fixed in the previous checkin)
3318 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
3321 - SelectionColor and SelectionFont methods no longer set absolute
3322 styles. Instead, the keep font or color respectively (This
3323 resolves a long-standing FIXME in the code)
3324 - When flushing RTF text, the insert code now considers text trailing
3325 behind the insertion point (Fixes the bug where when replacing
3326 the selected text via SelectedRTF the remainder of the line behind
3327 the selection would stay on the first insertion line)
3329 - AppendText now updates the selection points after inserting text
3330 - AppendText now ensures that the last tag (sometimes 0-length) of
3331 the document is used for the style information (Fixes part of
3334 - Created new FontDefiniton class to allow describing partial style
3336 - StreamLine() now takes a lines argument, to allow it to decide
3337 whether an encountered zero-length tag is the last in the document
3338 (which must be kept to not loose the font/color contained in it,
3340 - Created Combine() and Split() methods for Marker structs, to
3341 support marker updates due to reformatted documents (soft line
3343 - Implemented Document.CaretTag setter
3344 - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
3345 of the last line (Not the cause, but also exposed by bug #77220)
3346 - Added LineTag argument to InsertString method, to allow callers
3347 to force a certain tag to be used (required to force use of the
3348 trailing zero-length tag of a document)
3349 - Now updating markers in Combine(), to avoid stale tag markers
3350 - Added some method descriptions to aid maintenance
3351 - Implemented new FormatText concept, allowing additive/subtractive
3352 formatting by only specifying the components that are to be
3353 changed. This was needed for resolving the RTB.SelectedColor/
3354 RTB.SelectedFont fixmes
3355 - Added Break() support method to allow breaking up linetags (used
3356 for partial formatting)
3357 - Added GenerateTextFormat() method. It is used for partial
3358 formatting and allows to generate a full font/color from given
3359 attributes and an existing tag.
3361 2006-02-26 Jackson Harper <jackson@ximian.com>
3363 * XplatUIX11.cs: Use the correct caption height.
3364 - Translate hittest coordinates to screen coords to match MS.
3365 * XplatUIWin32.cs: When we create MDI windows we need to reset
3366 some of the style flags, so we get a nice blank window, and can
3367 draw all the decorations ourselves.
3368 - Set a clipping rectangle on the non client paint event, the
3369 window manager drawing code needs one.
3370 * Form.cs: The window manager needs to know when the window state
3372 * Hwnd.cs: The window manager stuff now does a proper NCCALC so we
3373 don't need to factor in border and title sizes in these
3374 methods. TODO: Remove the args and fix the call points.
3375 * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA
3377 - Let the driver set the cursors.
3378 - Improve active window handling
3379 - Correct sizes for title bars and buttons.
3380 - Match MS drawing better
3381 * MdiWindowManager.cs: We don't need to handle border style
3382 updates specially anymore.
3383 - Check for scrollbars when windows are done moving
3384 - Handle Active properly.
3385 * MimeIcon.cs: Don't crash when we can't load the GNOME stuff
3386 correctly. I am spewing the exception though, so we don't hide the
3389 2006-02-26 Pedro Martinez Julia <pedromj@gmail.com>
3391 * DataGridViewRowPostPaintEventArgs.cs,
3392 DataGridViewCellPaintingEventArgs.cs,
3393 DataGridViewRowCollection.cs,
3394 DataGridViewRowPrePaintEventArgs.cs,
3395 DataGridViewCell.cs: Clear a few warnings and implement a few
3396 exceptions that should be thrown.
3398 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
3400 * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
3401 'inheriting' our parent's (non-default) cursor. (Part of
3404 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
3406 * XplatUIX11.cs: Fixed cast to make csc happy
3408 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
3410 * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
3411 it's for the client area (part of fix for #77479 and needed
3412 for MDI window cursor handling)
3414 - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
3415 the appropriate default cursors and also passing the message
3417 - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
3418 for non-client areas
3420 2006-02-15 Jackson Harper <jackson@ximian.com>
3422 * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
3423 is a real MDI window
3425 2006-02-14 Alexander Olk <alex.olk@googlemail.com>
3427 * X11DesktopColors.cs: Instead of checking the desktop session
3428 string for "KDE" check if it starts with "KDE"
3430 2006-02-10 Jackson Harper <jackson@ximian.com>
3432 * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
3435 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
3437 * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
3440 - Got rid of the panel. All controls are now directly added to
3442 - Changed to mono coding style
3444 2006-02-10 Jackson Harper <jackson@ximian.com>
3446 * InternalWindowManager.cs: We don't need the set visibility to
3447 false hack anymore now that peter has written beautiful shutdown
3450 2006-02-10 Peter Dennis Bartok <pbartok@novell.com>
3452 * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
3453 where already explicitly destroyed
3455 2006-02-10 Jackson Harper <jackson@ximian.com>
3457 * MdiClient.cs: Handle the case where windows are too high or to
3458 the left and we need scrollbars.
3460 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
3462 * MimeIcon.cs: Added some icons
3465 - Got rid of the panel. All controls are now directly added to
3467 - Changed to mono coding style
3468 - On Linux "My Computer" and "My Network" will now show some
3469 more usefull information. A new class, MasterMount, gathers
3470 this information from /proc/mount. Updated MWFFileView to make
3471 use of this information
3472 - Fixed a bug that caused FileDialog to crash when
3473 ".recently_used" file had a zero size
3474 - FilterIndex does now what it should
3476 * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
3479 2006-02-09 Jackson Harper <jackson@ximian.com>
3481 * ComboBox.cs: Don't touch if null.
3483 2006-02-09 Peter Dennis Bartok <pbartok@novell.com>
3485 * Cursor.cs: 64bit safeness fix
3486 * XplatUIX11.cs: Removed several unneeded and one moronic cast.
3488 2006-02-09 Jackson Harper <jackson@ximian.com>
3490 * Form.cs: If a form is made into an MDI form update the styles so
3491 all the props can get set correctly.
3492 - Kill the mdi_container when we dont need it anymore.
3493 * InternalWindowManager.cs: Add missing NOT
3495 2006-02-08 Jackson Harper <jackson@ximian.com>
3497 * InternalWindowManager.cs: Respek clipping when drawing MDi
3500 2006-02-08 Jackson Harper <jackson@ximian.com>
3502 * Hwnd.cs: Add bits to track non client expose events.
3503 * XplatUIX11.cs: Track non client expose events on the hwnd. This
3504 gives us a proper invalid rect and will allow for some nice
3505 optimizations with NC client drawing
3506 - MDI windows are children windows, so move their style handling
3507 into the child window block.
3508 * InternalWindowManager.cs: Remove a state reset that was
3509 getting invoked at the wrong time. Fixes managed windows getting
3510 into a 'stuck' captured state.
3512 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
3514 * TextControl.cs (Document.ctor): Now initializing
3515 selection_anchor. Fixes #77493
3517 2006-02-07 Jackson Harper <jackson@ximian.com>
3519 * TrackBar.cs: The increment/decrements were backwards.
3521 2006-02-07 Mike Kestner <mkestner@novell.com>
3523 * Theme*.cs : remove ThemeEngine.Current usage as it just points back
3524 to the instance itself.
3526 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
3528 * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
3529 on ulongs and pointers, the size differs between 32bit and 64bit
3532 2006-02-07 Mike Kestner <mkestner@novell.com>
3534 * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
3535 for 64 bit platforms to work around a metacity bug.
3537 2006-02-07 Jackson Harper <jackson@ximian.com>
3539 * TrackBar.cs: Process the input keys we need, and hookup to
3540 KeyDown instead of using WndProc, so we get key messages.
3542 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
3544 * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
3546 * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
3547 we need to translate the XdndVersion atoms array before sending it
3549 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
3552 - The preceeding 64bit fixes had a bug: ChangeProperty expects the
3553 number of bits for the property, not the number of bytes. The
3554 change to provide IntPtr.Size broke 32bit. (64bit was also wrong
3555 but would not crash since it specified 8 bits instead of 4 bits)
3556 - More 64bit fixes: Switched all atoms from int to IntPtr (they are
3557 defined as XID -> long in the C headers)
3558 - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms
3559 references since those are now IntPtr to begin with
3560 - Switched all Atom.XXX 'int' casts to IntPtr casts
3561 - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
3562 - Fixed XInternAtom signature for 64bit, now returns an IntPtr
3563 - Added XChangeActivePointerGrab DllImport (for X11DnD)
3565 - Changed 'int' type for Atoms in XEvent structures to IntPtr
3566 - Changed atom in HoverStruct to be IntPtr
3568 - Removed local DllImports, switched code to use those from XplatUIX11
3569 - Removed/fixed casts related to the switch of Atom to be a IntPtr
3571 2006-02-06 Mike Kestner <mkestner@novell.com>
3573 * XplatUIX11.cs : many more 64 bit pinvoke changes. I've audited all the
3574 method signatures in the import region. There may still be some
3575 lingering struct marshaling issues, as I didn't drill down into those.
3578 2006-02-06 Jackson Harper <jackson@ximian.com>
3580 * ComboBox.cs: Dont manually set the top_item, this is computed
3581 when the scrollbar position is set.
3583 2006-02-06 Mike Kestner <mkestner@novell.com>
3585 * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
3586 startup crashes on amd64. There's other fixes needed. All pinvoke
3587 usage of Atom needs to be mapped to IntPtr for example. And there are
3588 likely other int/long issues to be addressed.
3590 2006-02-04 Alexander Olk <alex.olk@googlemail.com>
3592 * FileDialog.cs: One more...
3594 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
3596 * FileDialog.cs: Next try
3598 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
3600 * FileDialog.cs: First part of fix for #77464
3602 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
3604 * ButtonBase.cs, ContainerControl.cs, Forms.cs,
3605 ThemeWin32Classic.cs: Fix for #77458. Correct handling of
3606 AcceptButton border drawing.
3608 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
3610 * Form.cs: Moved positioning of form after auto scaling is applied,
3611 otherwise it would possibly use wrong form size.
3613 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
3615 * Control.cs (RecreateHandle): No need to re-create any child
3616 controls, the child windows will get destroyed automatically by
3617 the windowing system or driver, and re-created when the handle
3618 is being accessed the first time. Fixes #77456
3619 * Form.cs: No longer setting the form to closing if the handle is
3620 being recreated. This seems like the right thing to do, don't
3621 have a bug or testcase for this, though.
3623 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
3625 * FileDialog.cs: Suspend/Resume layouting when changing sizes of
3626 controls to avoid unwanted side effects
3628 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
3631 - ScaleCore needs to scale the bounds, not the ClientSize of the
3632 control. Fixes #77416.
3633 - DefaultSize is 0,0 for control
3635 - DefaultSize is 100, 20
3636 - SetBoundsCore: Now enforcing the height, no matter if the provided
3637 height is more or less than the preferred one, as long as AutoSize
3639 * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
3641 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
3644 - ResumeLayout: Fixed logic when to call PerformLayout, we may not
3645 call unless both performLayout is true *and* we have a pending
3647 - ResumeLayout: MS does not completely nest Suspend and Resume,
3648 they bottom out at 0, fixed our code to match that.
3649 - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
3650 SetBoundsCore, we were updating even when we shouldn't. This fixes
3651 swf-anchors mis-anchoring when resizing the app fast and lots.
3652 - UpdateDistances: Now only setting the left and top distance if
3653 we have a parent and are not suspended, this is based on
3654 a suggestion by Don Edvaldson in bug #77355.
3655 - OnVisibleChanged: Fixed logic when to create the control. We may
3656 not create the control if we have no parent or if it's not visible;
3657 switched to using Visible property instead of is_visible field
3658 since the property also considers parent states. This fixes a bug
3659 when starting Paint.Net
3661 2006-02-02 Jackson Harper <jackson@ximian.com>
3663 * Form.cs: If the forms handle hasn't been created yet don't call
3664 into xplatui to make it top most, just set the topmost flag on the
3665 form in CreateParams
3666 * XplatUIX11.cs: Handle WS_EX_TOPMOST.
3668 2006-02-01 Jackson Harper <jackson@ximian.com>
3670 * ScrollableControl.cs: Refactored the Recalculate method a
3671 little, this wasn't handling all the variants of bottom and right
3672 bars needed to be added and added/removed based on their
3673 counterparts being added/removed (which changes the drawable
3674 size). Also we special case client widths and heights of 0 and
3675 don't add the scrollbar for those.
3677 2006-02-01 Peter Dennis Bartok <pbartok@novell.com>
3680 - Added method to get AbsoluteGeometry(); currently unused, but might
3681 be used in the future, if we try again to figure out toplevel
3682 coordinates with some more crappy window managers
3683 - Added FrameExtents() method to retrieve the WM set decoration size
3684 - Tried to fix up AddConfigureNotify and handling of ReparentNotify
3685 to deal with at least KDE, FVWM and metacity (Fixes #77092)
3687 - Added whacky_wm tracking var for metacity
3688 - Added logic to have default menu height if the actual menu height
3689 has not yet been calculated (part of fix for #77426)
3690 * Form.cs: Keep track whether client size has been set and re-set
3691 it if a menu is added/removed afterwards (Fixes #77426)
3693 2006-01-31 Jackson Harper <jackson@ximian.com>
3695 * Control.cs: When a new Site is set on the component attempt to
3696 pull the AmbientProperties from it.
3698 2006-01-31 Peter Dennis Bartok <pbartok@novell.com>
3700 * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
3701 in the background of the owning form. Fixes #77332
3703 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
3705 * MimeIcon.cs: Fix for #77409
3707 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
3709 * XplatUIX11GTK.cs: Initial import
3711 2006-01-31 Jordi Mas i Hernandez <jordimash@gmail.com>
3713 * FixedSizeTextBox: fixes class signature
3715 2006-01-30 Jackson Harper <jackson@ximian.com>
3717 * FixedSizeTextBox.cs: New internal class that represents a
3718 textBox that will not be scaled.
3721 * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
3724 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
3726 * XplatUIX11.cs: Retrieve default screen number instead of
3727 assuming 0. Attempted fix for #77318
3729 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
3732 - GetWindowPos: When a window is parented by FosterParent, use
3733 the desktop instead of FosterParent as the base to get coordinates
3734 - CreateWindow: Don't make FosterParent the parent window for Popups
3735 if we don't want a taskbar entry, Popups automatically don't get one
3736 * Hwnd.cs: Need to call remove to actually remove the key from the
3739 2006-01-30 Mike Kestner <mkestner@novell.com>
3741 * MenuAPI.cs: adjust MainMenu item popup location to y=0.
3743 2006-01-30 Jackson Harper <jackson@ximian.com>
3746 * TreeNode.cs: Raise events no matter how the treenode is
3747 checked. Patch by Don Edvalson.
3749 2006-01-30 Jackson Harper <jackson@ximian.com>
3751 * TreeNode.cs: Signature fix.
3753 2006-01-29 Alexander Olk <alex.olk@googlemail.com>
3755 * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
3757 2006-01-20 Mike Kestner <mkestner@novell.com>
3759 * Form.cs: Add ActiveTracker property to do Captures and perform mouse
3760 event forwarding when menus are active.
3761 * MenuAPI.cs: kill the GrabControl hack. Use Form.ActiveTracker.
3762 Most of the patch is pdb's with a little rework.
3764 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3766 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs:
3767 Removed GetMenuDC and ReleaseMenuDC methods; replaced
3768 by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
3769 * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
3770 * InternalWindowManager.cs: Added use of PaintEventStart/End to
3771 handling of WM_NCPAINT message, now passing the PaintEventArgs to
3772 the PaintWindowDecorations method
3773 * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
3774 * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
3775 * MenuAPI.cs: Made tracker window invisible
3777 - Removed GetMenuDC and ReleaseMenuDC methods
3778 - Implemented the client=false path for PaintEventStart and
3781 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3783 * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
3784 * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
3787 - MaximizeBox, MinimizeBox: Recreate the handle when setting
3789 - CreateParams: Reworked the styles to match MS look'n'feel,
3790 removed automatic setting of MinimizeBox, MaximizeBox, etc. via
3791 the WS_OVERLAPPEDWINDOW style. This fixes #76823.
3793 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3795 * XplatUIX11.cs(GetWindowState): Now throwing an exception when the
3796 window is not mapped, since otherwise every form that's being
3797 created is considered minimized, which is wrong.
3798 * Form.cs: Catching the exception and returning our internal value
3801 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3803 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
3804 SetWindowMinMax() to have means to tell the driver about the minimum,
3805 maximum and maximized state window sizes. (Part of the fix for #76485)
3807 - Implemented tracking of minimum and maximum window size, now calling
3808 new SetWindowMinMax() driver method to tell the driver (Part of the
3810 - Finished handling of WM_GETMINMAXINFO method, now setting all values
3811 (Completes fix for #76485)
3812 - Calling new SetWindowMinMax driver method when the handle for a
3813 form is created, to make sure the driver knows about it even if
3814 the values have been set before the window was created
3815 - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
3816 to avoid messing up our anchoring calculations (partial fix
3818 * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
3820 - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
3821 - Improved GetWindowState() to detect 'Minimized' state on Metacity
3822 (and presumably other freedesktop.org compliant WMs). Left the
3823 assumption unmapped=minimized, needed for SetVisible to work.
3824 - Now setting the window state when creating windows
3825 - Fixed SetVisible to consider/set the window state when mapping
3826 a Form. We cannot set the state before it's mapped, and we cannot
3827 use Form.WindowState once it's mapped (since it would ask the
3828 driver and get 'normal'. Therefore, we grab the state before
3829 mapping, map, and then set state.
3830 - Implmemented SetWindowMinMax method; Metacity does not seem to
3831 honor the ZoomHints, though.
3833 - Removed MINMAXINFO (moved to XplatUIStructs)
3834 - Added SetWindowMinMax stub (on Win32 the only way to set that
3835 information is in response to the WM_GETMINMAXINFO message, which
3836 is handled in Form.cs)
3837 - Added logic to SetVisible to set the proper window state when a
3838 form is made visible (fixes #75720)
3840 2006-01-26 Jackson Harper <jackson@ximian.com>
3842 * Control.cs (BeginInvoke): Automagically handle EventHandlers the
3843 same way we handle them with Invoke.
3845 2006-01-25 Peter Dennis Bartok <pbartok@novell.com>
3848 - Added tracking of window state so CreateParams can return
3849 the appropriate style
3850 - Moved setting of WS_CAPTION style in CreateParams to allow
3851 styles without caption
3852 * DataGridTextBoxColumn.cs: We are now also creating the TextBox
3853 control if the TextBox property is accessed. Fixes #77345
3855 - get_Created: now uses is_disposed and is_created to determine
3856 return value (suggested by Jackson)
3857 - CreateHandle: No longer exits if the handle is being recreated
3858 - RecreateHandle: If the handle is not yet created call the
3859 appropriate method to create either control or handle. If the
3860 control is already created CreateHandle will simply exit instead
3861 of just creating the handle
3862 * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
3863 now SendMessage WM_DESTROY directly to the control when DestroyWindow
3866 - When DestroyWindow is called, instead of waiting for the
3867 DestroyNotification from X11, we directly post it to the WndProc
3868 and immediately dispose the hwnd object.
3869 Same applies to DestroyChildWindows, and this obsoletes the
3870 expose_pending tracking. Contrary to Win32 behaviour we destroy our
3871 child windows before our own, to avoid X11 errors.
3872 - Removed the direct sending of WM_PAINT on UpdateWindow
3874 - Reworked DoEvents and GetMessage to allow access to internal queue
3875 even when trying non-blocking access to the queue. Fixes #77335.
3876 Based on a patch suggestion by Don Edvalson. The new private
3877 GetMessage can now also be used as a backend for a PeekMessage
3879 * XplatUI.cs: Improved debug output for CreateWindow
3881 2006-01-25 Jackson Harper <jackson@ximian.com>
3883 * Help.cs: Allow param to be null. Patch by Don Edvalson.
3885 2006-01-24 Jackson Harper <jackson@ximian.com>
3887 * ComboBox.cs: Clamp the max value set for the vertical scrollbar
3888 when we have a MaxDropItems lower then the selected index.
3890 2006-01-24 Jackson Harper <jackson@ximian.com>
3892 * Control.cs: Don't allow selection of non visible controls, allow
3893 selection of controls without parents.
3895 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
3897 * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
3898 * DataGridDrawingLogic.cs: Add editing row only when is necessary
3900 2006-01-23 Jackson Harper <jackson@ximian.com>
3902 * UpDownBase.cs: Make the textbox handle all the selection and
3903 tabbing. This fixes tabing to updown controls.
3905 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
3907 * TextBoxBase.cs: fixes exception thown the object was null
3909 2006-01-23 Jackson Harper <jackson@ximian.com>
3911 * ButtonBase.cs: Just use the base CreateParams. They set
3912 visibility and enabled correctly.
3915 * MonthCalendar.cs: Lets let the base set as much of the
3916 createparams as possible so we don't have duplicate code all over
3919 2006-01-22 Alexander Olk <alex.olk@googlemail.com>
3921 * ThemeGtk.cs: Added TrackBar and some experimental code to
3922 get double buffering back
3924 2006-01-21 Jordi Mas i Hernandez <jordimash@gmail.com>
3926 * DataGrid.cs: Allows row number set internally higher than the last
3927 when creating a new row. Restores the editing functionality.
3929 2006-01-20 Mike Kestner <mkestner@novell.com>
3931 * MimeIcon.cs: delay Image creation until the icons are accessed
3932 instead of creating 190 scaled images on GnomeHandler startup.
3934 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
3936 * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
3937 first call base before processing the event. Fixes #77279
3939 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
3941 * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
3942 that the stride for the GDI bitmap would match the stride of
3945 2006-01-19 Alexander Olk <alex.olk@googlemail.com>
3947 * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
3949 2006-01-19 Jackson Harper <jackson@ximian.com>
3951 * ComboBox.cs: Hookup the text controls keydown event so we get
3952 those when the text control has the focus.
3954 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3956 * Label.cs: Now using the base events instead of defining new ones;
3957 this allows us to just call the base properties without having to
3958 duplicate all base property logic
3960 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3962 * Label.cs: A label by default is not a tabstop (Fixes one of our
3963 failing nunit tests)
3965 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3967 * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
3968 * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
3970 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3972 * Cursor.cs: Reimplemented creating cursor bitmaps without using
3973 the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
3976 - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream)
3977 constructor creates images that can't be saved. Part of the fix
3979 - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
3980 - SetWindowState: Switched ShowWindow flags (part of an upcoming
3981 bug fix for handling window state in forms properly)
3983 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3985 * ThemeGtk.cs: Simplify ScrollBar drawing
3987 2006-01-18 Jackson Harper <jackson@ximian.com>
3989 * Splitter.cs: Set the default dock style for the splitter control
3992 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3994 * ThemeGtk.cs: Corrected StateType and ShadowType for
3997 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3999 * Control.cs: Make use of Theme.DoubleBufferingSupported
4001 - Added drawing for flat style buttons
4002 - Added ScrollBar drawing
4004 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
4006 * ThemeClearlooks.cs: Removed some unneeded code.
4007 * ThemeGtk.cs: First part of ThemeGtk enhancements.
4009 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
4011 * LinkLabel.cs: We need to update the hover drawing when
4012 leaving the control as well.
4014 2006-01-18 Jordi Mas i Hernandez <jordimash@gmail.com>
4016 * DataGrid.cs: Clicking on non empty areas in the columns
4017 area was giving an exception
4019 2006-01-17 Jackson Harper <jackson@ximian.com>
4021 * ThemeWin32Classic.cs:
4022 * ListView.cs: Do not draw/clip the headers when the header style
4025 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
4027 * DataGrid.cs: Fixes 77260
4029 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
4031 * DataGrid.cs: Clicking on a column on a empty grid was giving
4034 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
4036 * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
4037 or any keypress will crash the grid.
4039 2006-01-17 Mike Kestner <mkestner@novell.com>
4041 * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
4042 * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for
4043 invisible/previously-visible items.
4046 2006-01-17 Alexander Olk <alex.olk@googlemail.com>
4048 * ThemeClearlooks.cs:
4049 - Added CL_Draw_Button method; now other theme controls that are
4050 not derived from button or do not have a button can draw buttons
4052 - Updated ComboBox drawing
4053 - Beautified RadioButton drawing
4054 - Corrected drawing of bottom and left tabs
4055 - Beautified DateTimePicker and MonthCalendar
4056 - Added CPDrawButton and CPDrawRadioButton
4058 2006-01-16 Jackson Harper <jackson@ximian.com>
4060 * ComboBox.cs: Set the initial value of the scrollbar to the
4061 current index. Reduce the numbers of refreshs and IndexOfs called.
4063 2006-01-14 Alexander Olk <alex.olk@googlemail.com>
4065 * FileDialog.cs: When the file listview is focused hitting the
4066 backspace key moves the fileview to the parent directory
4068 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
4071 - Added RecreateHandle call when changing taskbar visibility to
4072 trigger reparenting in Win32 driver (Fixes #75719)
4073 - If a window has minimize or maximize buttons, it cannot have
4076 - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
4077 the toplevel form with FosterParent (A toolwindow not on the
4078 taskbar) (Fixes #75719)
4079 - Made FosterParent a toolwindow
4081 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
4083 * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
4085 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
4087 * ToolTip.cs: If SetToolTip is called from a control and the mouse
4088 is currently over that control, make sure that tooltip_window.Text
4091 2006-01-13 Mike Kestner <mkestner@novell.com>
4093 * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
4095 2006-01-13 Jackson Harper <jackson@ximian.com>
4097 * TreeView.cs: On MS GetNodeAt never actually factors in the X
4098 value passed. Also redraw the selected node when we recieve
4099 focus, so tabbing between trees works correctly.
4101 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
4103 * MimeIcon.cs: GnomeHandler: older gnome versions don't have
4104 ~/.gconf/%gconf-tree.xml, so use
4105 .gconf/desktop/gnome/interface/%gconf.xml
4107 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
4109 * TextControl.cs: Draw text in gray if control is disabled
4111 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
4113 * TreeView.cs: Draw the focus rectangle outside the highlight, to
4114 make sure it's always visible. Fixes #76680.
4116 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
4118 * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
4120 2006-01-13 Jonathan Chambers <jonathan.chambers@ansys.com>
4122 * PageSetupDialog.cs: Added.
4123 * PrintDialog.cs: Attributes.
4124 * PrintPreviewControl.cs: Updates.
4125 * PrintPreviewDialog.cs: Updates.
4127 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
4129 * Control.cs: Undid my selection check fix, since it's not needed
4131 - Now considering the presence of hscroll/vscroll when sizing
4132 vscroll/hscroll respectively. Fixed bug #77077
4133 - Added Left/Up/Down/Right to IsInputKey list to prevent
4134 ContainerControl from stealing them. This fixes what I broke
4135 with my last checkin.
4137 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
4139 * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
4140 I finally understand how the property can be set without a setter :-)
4142 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
4145 - Switched RunLoop to use static Message.Create to create a
4147 - Added PreProcessMessage call in runloop for keyboard events; this
4148 is part of the fix for #77219, I overlooked this originally in the
4149 MSDN doc for PreProcessMessage
4151 - Removed call to PreProcessMessage from handling of keyboard
4152 messages; it's supposed to be done in the message pump
4153 - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
4154 per MSDN documentation.
4155 - IsInputChar: All chars are input chars by default; removed the
4156 parent calling chain, MS does not document that
4157 - PreProcessMessage: If IsInputChar is true, we want to return false
4158 to allow dispatching of the message
4159 - When selecting the next control, now also check that we're not
4160 selecting ourselves again and therefore return a false positive.
4162 - Tried to match return values for IsInputKey and ProcessDialogKey
4163 to what MS returns; moved processing of our special keys outside
4164 ProcessDialogKey since MS does not seem to return true on those.
4165 - Moved code that previously was in ProcessDialogKey into new private
4166 ProcessKey method, which gets called upon receipt of WM_KEYDOWN
4167 - Reworked handling of WM_CHAR to not have to duplicate code from
4168 Control.cs anymore, instead we simply call down to base.
4170 2006-01-12 Jackson Harper <jackson@ximian.com>
4172 * ComboBox.cs: We always need to refresh the text area when
4173 EndUpdate is called. Fixes the combobox in the file dialog.
4174 * Control.cs: Don't create the creator_thread until the controls
4175 handle is created. Also in InvokeRequired we check if the
4176 creator_thread is null. This gives the effect of InvokeRequired
4177 returning true if the controls handle is not created yet, and
4180 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
4183 - Added StartLoop() driver method. This is used to allow drivers to
4184 prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
4185 loop for a particular thread
4186 - Added EndLoop() driver method. This is called once the message
4187 pump for the thread is shut down
4188 - Added SupportsTransparency method to allow the driver to indicate
4189 opacity support for windows
4191 - Removed TODO attribute, completed AllowTransparency property
4192 - Added documented logic to Opacity
4193 * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
4194 ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
4195 versions of CompatibleTextRendering
4196 * X11Structs.cs: Added opacity atom to our atom enumeration
4197 * Hwnd.cs: Added opacity tracking (we need to track since the opacity
4198 of a form might be set before it's reparented by the WM, and we need
4199 the opacity value without calling up to Form)
4200 * XplatUIDriver.cs: Added StartLoop(), EndLoop() and
4201 SupportsTransparency() driver methods
4202 * Application.cs: Now calling StartLoop and EndLoop driver methods
4204 - Added opacity atom registration
4205 - Added StartLoop()/EndLoop() methods. They're empty right now but
4206 will need to get implemented when we switch to a per-thread queue
4207 - Implemented SupportsTransparency() method
4208 - Implemented SetWindowTransparency() method
4209 - Added support for setting the opacity value when a window is
4210 reparented (since the opacity needs to be set on the WM frame)
4211 * XplatUIOSX.cs, XplatUIWin32.cs:
4212 - Added SupportsTransparency(), StartLoop() and EndLoop() methods
4214 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
4216 * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
4218 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
4220 * FileDialog.cs: Added ToolTip for MWFFileView
4221 * MimeIcon.cs: Rewrote GnomeHandler.
4222 - Get currently used gnome icon theme from
4223 ($HOME)/.gconf/%gconf-tree.xml
4224 - Make use of inherited icon themes
4225 - Support SVG icon themes like Tango via librsvg
4227 2006-01-12 Miguel de Icaza <miguel@novell.com>
4229 Revert's Jackson's revert which broke 2.0 builds. Fix both
4232 * Application.cs: Move the use_compatible_text_rendering outside
4233 the NET_2_0 define. If we ever need to use the
4234 use_compatible_text_rendering on the individual controls they will
4235 access the variable from the common shared code paths.
4237 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
4240 - Added more granular debug options
4241 - Added method to print both window text and id
4242 - Switched debug output to use new Window() debug method
4243 - Added IsEnabled() driver method
4244 - Added EnableWindow() driver method
4246 - Removed end_modal; no longer needed, new loop handles termination
4247 via 'closing' variable
4248 - If form is modal, setting DialogResult will now initiate loop
4249 termination via 'closing' variable
4250 - Added support for is_enabled/WS_DISABLED to CreateParams
4251 - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
4253 - Removed code that's now in RunLoop from ShowDialog()
4254 - Added various documented sanity checks to ShowDialog()
4255 - Added handling of WM_DESTROY message; we set 'closing' on getting
4256 the message to indicate the message pump to terminate
4257 - Added handling of new internal WM_CLOSE_INTERNAL message - it's
4258 send by the Application.ExitThread method. (We send the message
4259 to destroy the window after all other events have been
4260 processed through the queue, instead of destroying the handle
4262 - Moved code from Close() method to WM_CLOSE handler; added logic
4263 to only send close-related events if the form is not displayed
4265 * Splitter.cs (..ctor): Fixed typo in resource name
4267 - DrawBackgroundImage: Explicitly selecting the wrap mode for the
4269 - set_Cursor: Now only setting calling into XplatUI if the handle for
4270 the control is already created; this avoids implict handle creation
4271 or crashes if it's not created
4272 - set_Enabled: Now setting the enabled state via the new driver method
4273 instead of just tracking it
4274 - CreateParams: Added logic to set WS_DISABLED based on enabled state
4275 - CreateControl: Reordered event firing and method calls to more
4276 closely fire events in the order MS does. Now setting the
4277 enabled state in the driver when creating the control.
4278 - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
4280 * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
4281 MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED
4282 * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
4284 - Added tracking of window enabled state (get_Enabled/set_Enabled)
4285 - Added EnabledHwnd property to easily allow a driver to find the
4286 handle of the first enabled window in the parent chain (this is
4287 used by drivers to pass up input events of disabled windows)
4288 * XplatUIDriver.cs: Added IsEnabled() method
4290 - Removed crude and obsolete exiting tracking variable
4291 - Removed internal ModalRun(); replaced by RunLoop()
4292 - Implemented private CloseForms() method to allow closing all
4293 windows owned by a particular (or all) threads
4294 - Exit() now properly closes all windows without forcing the message
4296 - Removed obsolete InternalExit() method
4297 - Changed Run() methods to use new RunLoop() message pump
4298 - Implemented new RunLoop() method for both modal and non-modal forms
4300 - get_CreateParams: Added setting of WS_DISABLED
4301 - Simplified ShowDialog(); now all the work is done in RunLoop(),
4302 invoked via Form.ShowDialog()
4303 * NativeWindow.cs: We don't remove the window from the collection when
4304 the handle is destroyed; there might still be messages for it in the
4305 queue (mainly the resulting WM_DESTROY); instead it will be removed
4306 when Control calls InvalidateHandle in the WM_DESTROY handler
4308 - CreateWindow: Added logic to handle the WS_DISABLED window style
4309 - EnableWindow: Implemented based on Hwnd.Enabled
4310 - GetMessage: Reset PostQuitState so the method can be called again
4311 - Implemented support for disabled windows (passing messages to the
4312 first enabled parent) in handling all input messages
4313 - Added optimizations for handling Expose events
4314 - Implemeted new driver method IsEnabled()
4315 - Now always resetting paint pending tracking vars when we start paint
4316 - Re-implemented UpdateWindow via just sending a WM_PAINT message
4317 * XplatUIOSX.cs: Added IsEnabled method stub
4318 * XplatUIWin32.cs: Implemented new IsEnabled() method
4320 2006-01-11 Jackson Harper <jackson@ximian.com>
4322 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
4323 LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
4325 * ColorDialog.cs: Clear out the old form before adding the new
4328 2006-01-11 Jackson Harper <jackson@ximian.com>
4330 * X11Dnd.cs: Make sure to add all the text formats when adding
4331 strings to the data object.
4332 * TreeNodeCollection.cs: When adding to a sorted tree we need to
4333 do some redrawing too. Also change the UpdateNode to an
4334 UpdateBelow so the newly added node gets painted.
4336 2006-01-11 Miguel de Icaza <miguel@novell.com>
4338 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
4339 LinkLabel.cs, PropertyGrid.cs: Implement the
4340 UseCompatibleTextRendering property for 2.x
4342 * Application.cs (SetCompatibleTextRenderingDefault): Add.
4344 2006-01-11 Jackson Harper <jackson@ximian.com>
4346 * TreeView.cs: Use the property for setting the selected node so
4347 the correct events get raised.
4348 * TreeNode.cs: Update the tree when the fore/back colours of a
4351 2006-01-10 Jackson Harper <jackson@ximian.com>
4353 * TreeView.cs: Allow setting SelectedNode to null.
4355 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4357 * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
4359 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4361 * PrintControllerWithStatusDialog.cs: Update page number in dialog.
4363 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4365 * PrintDialog.cs: Added attributes and set default property values.
4367 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4369 * PrintControllerWithStatusDialog.cs:
4370 Added PrintControllerWithStatusDialog.
4372 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4374 * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
4375 XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
4377 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
4379 * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
4381 2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com>
4383 * ComboBox.cs: Added KeyDown event handler for processing arrow keys
4384 and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
4386 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
4388 * MimeIcon.cs: Added internal class SVGUtil.
4390 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
4392 * FileDialog.cs: Don't crash if there are two files with the
4393 same name but different locations.
4395 2006-01-08 John BouAntoun <jba-mono@optusnet.com.au>
4397 * MonthCalendar.cs: Fixed annoying rendering bug when selecting
4398 dates across multiple month grids. Used to not highlight entire
4399 month, but does now.
4401 2006-01-06 Jackson Harper <jackson@ximian.com>
4403 * MonthCalendar.cs: Removed DoEvents call to prevent a running
4404 message loop. Change timer intervals to numbers that seem more
4407 2006-01-06 John BouAntoun <jba-mono@optusnet.com.au>
4409 * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
4410 object for location info since screen object is now implemented.
4412 2006-01-05 Jackson Harper <jackson@ximian.com>
4414 * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
4415 * AsyncMethodResult.cs: We no longer use a WeakReference for the
4416 AsyncMethodResult, this is because we ALWAYS want the
4417 ManualResetEvent to get set.
4418 * Control.cs: When disposing use an async invoke to call shutdown
4419 code, so that thigns don't block on the finalizer thread. Also
4420 check if we even have a message loop before trying to send
4421 messages, if we don't then don't bother sending messages.
4422 - No more weak references for async methods
4423 * XplatUIDriver.cs: No more weak references for async methods.
4425 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
4427 * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
4428 returns two FontFamily with the same name
4430 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
4432 * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of
4433 drawing disabled text. Instead using the ColorGrayText color
4435 2006-01-04 Jackson Harper <jackson@ximian.com>
4437 * TreeNode.cs: redraw the node when its image index is changed.
4439 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
4441 * RichTextBox.cs: Same fix as last, just for SelectionColor. This
4442 time I checked there are no others like it.
4444 2006-01-04 Jackson Harper <jackson@ximian.com>
4446 * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
4447 this gives the behavoir I was looking for.
4448 * Control.cs: Special case Invoking EventHandlers, this matches MS
4449 and fixes part of bug #76326.
4451 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
4453 * ThemeClearlooks.cs, FileDialog.cs:
4454 - Reflect the latest Theme class changes
4455 - Remove Mono.Unix.Syscall.time in FileDialg and replace it
4458 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
4460 * Theme.cs: Cache UI resource images and resize them if needed
4462 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
4464 * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
4465 is called. This fixes the crash in Nexxia when setting the font
4466 attributes in the chat. [However, RTF needs a look-over to make sure
4467 that all SelectionXXX methods handle the special case that selection
4468 is empty and therefore the change must be applied to all text starting
4469 at the cursor/selection start]
4471 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
4473 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
4474 XplatUIOSX.cs: Added SendMessage and PostMessage methods
4475 * X11Keyboard.cs: Switched to new way of calling PostMessage
4477 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
4479 * Theme.cs: Added theme interface for images to allow the theme to
4480 control what images are used for things like FileDialog, MessageBox
4482 * MessageBox.cs: Now uses the new Theme icon/image interfaces
4484 2006-01-03 Alexander Olk <alex.olk@googlemail.com>
4487 - Removed some dead code
4488 - Opening a recently used file does work now
4489 - Small UI enhancements
4492 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
4494 * FileDialog.cs: Forgot too add __MonoCS__
4496 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
4498 * FileDialog.cs: We are able to read recently used files now let's
4499 go on and write them.
4501 2006-01-01 Alexander Olk <alex.olk@googlemail.com>
4503 * FileDialog.cs: Breathe some life into "last open"/"recently used"
4505 * MimeIcon.cs: Do a check for the top level media type also
4507 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
4509 * ThemeClearlooks.cs:
4510 - Added CPDrawStringDisabled
4511 - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
4512 some chars if the text doesn't fit into text_rect
4513 - DrawListViewItem: If View = View.LargeIcon center the image;
4514 rewrote the drawing of ListViewItem.Text if View =
4517 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
4519 * MimeIcon.cs: Use default KDE icon theme if there is no
4520 "48x48" directory for the current icon theme, fixes #77114
4521 * Mime.cs: Disable not working and actually not used code.
4522 * ThemeWin32Classic.cs:
4523 - Replace "new SolidBrush" in GetControlBackBrush and
4524 GetControlForeBrush with ResPool.GetSolidBrush
4525 - Changed DrawListViewItem from private to protected virtual
4527 - Added form.MaximizeBox = true
4528 - Don't throw an exception if there is a broken symbolic link
4530 2005-12-23 Jackson Harper <jackson@ximian.com>
4532 * TabControl.cs: Give the panels focus, keyboard navigation is
4533 fixed so this works correctly now.
4534 - We need these key events also.
4535 * ToolBar.cs: Remove some of the poor mans double buffering.
4537 2005-12-24 Alexander Olk <alex.olk@googlemail.com>
4539 * ComboBox.cs: The internal TextBox now returns the focus.
4541 2005-12-23 Jackson Harper <jackson@ximian.com>
4543 * ThemeWin32Classic.cs: Draw the text for all tab appearances.
4545 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
4547 * Control.cs: Removed debug code
4548 * XplatUIX11.cs: Changed DestroyChildWindows to also consider
4551 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
4553 * Control.cs: When creating the control, update the Z-order after
4554 all it's children are created, too. (Fixes nexxia not showing
4557 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
4559 * Control.cs: Do not update the anchoring distances if layout is
4560 suspended, instead do it once layout is resumed
4562 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
4565 - After many hours of debugging, for both Jackson and
4566 myself, it turns out that it helps to set the parent of a control
4567 if you want to actually see it onscreen. In the spirit of that
4568 discovery, we're now setting the parent of the control and
4569 it's children when the control's handle is created. This fix
4570 will make Lutz Roeder's Reflector run happily.
4571 - now just creating the handle instead of the whole control when
4572 getting a graphics context for the control.
4574 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
4576 * ScrollableControl.cs: When calculating the canvas, don't consider
4577 the scrollbar widths. Instead, predict if horizontal scrollbar
4578 will affect canvas when deciding on vertical display and vice versa.
4580 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
4582 * RichTextBox.cs: Set default RTF font for documents that don't
4583 have a font table (Fixes #77076)
4585 2005-12-22 Jackson Harper <jackson@ximian.com>
4587 * TextBoxBase.cs: It's difficult to do, but you can have an empty
4588 clipboard. This prevents a NullRef in that case.
4589 * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
4590 clipboard. PRIMARY is for the currently selected text only. (We
4591 should implement PRIMARY at some point.
4593 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
4595 * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
4596 a Unicode function with a structure that was defined in Ansi way.
4599 2005-12-21 Jackson Harper <jackson@ximian.com>
4601 * StatusBar.cs: Statusbar handles its fore/back colours on it's
4602 on. Because thats how it rolls. (and this avoids it using ambient
4604 * ThemeWin32Classic.cs: Use the proper back color for filling.
4605 * Menu.cs: Use the system menu bar color for drawing menu
4606 bars. Using the window back color will bring ambient colours into
4609 2005-12-21 Alexander Olk <alex.olk@googlemail.com>
4611 * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
4612 Bitmaps were created and not disposed.
4614 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
4616 * Control.cs (CreateControl): Don't do anything if the control is
4617 already created, otherwise we'd fire the OnCreated event more than
4620 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
4622 * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
4623 will always match. Instead return -1. Fixes #76464.
4625 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
4627 * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
4628 neither the beginning nor the end of the line (Fixes bug #76479)
4630 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
4633 - ControlNativeWindow.ControlFromHandle(): Now handling situation
4634 where handle is invalid
4635 - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
4636 instead of slower linear search
4637 * NativeWindow.cs: Don't remove the window from the hashtable until
4638 after the driver has destroyed it (since the driver might use
4639 Control.FromHandle to lookup the control object
4640 * Hwnd.cs: Added DestroyPending property to track if a window is
4641 already destroyed as far as the driver is concerned and only hasn't
4642 yet notified the control
4644 - Activate(): Check if the window is still valid before using the
4646 - Implemented DestroyChildWindow() method to mark child windows as
4647 destroyed when a window is destroyed. This prevents situations
4648 where we might call an X method based on queued events for a
4649 window that already has been destroyed but we haven't yet pulled
4650 the destroy method from the queue.
4651 - Added a call to the new DestroyChildWindow() method to the drivers
4652 DestroyWindow code. Also now marking the destroyed window itself
4655 2005-12-20 Jackson Harper <jackson@ximian.com>
4658 * StatusBarPanel.cs: Don't calculate panel sizes on draw
4659 anymore. Just do them when needed, also track the rects of panels
4660 so that we can optimize refreshing more in the future.
4662 2005-12-20 Alexander Olk <alex.olk@googlemail.com>
4664 * ColorDialog.cs: Fixed focus drawing in small color controls
4666 2005-12-19 Jackson Harper <jackson@ximian.com>
4668 * InternalWindowManager.cs:
4669 * MdiWindowManager.cs: Cleanup some coordinate system changes so
4670 moving windows works properly.
4672 2005-12-19 Peter Dennis Bartok <pbartok@novell.com>
4675 - Removed call to InitLayout() from SetBoundsCore(); doc says
4676 it's only called when a control is added to a container
4677 - Split InitLayout logic, moved to separate UpdateDistances() method
4678 since we need to perform those calculations more often than just
4679 when adding the control to a container. (Needed to fix #77022)
4680 - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
4681 - Reduced the OnBindingContextChanged events count, don't send them
4682 unless the control is created, we still aren't totally matching
4683 MS, but I can't quite figure out some of their rules
4685 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
4687 * ThemeClearlooks.cs: Corrected distance between ProgressBar
4690 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
4692 * ThemeClearlooks.cs:
4693 - Updated ProgressBar drawing
4694 - Corrected drawing of ScrollBars and scroll buttons
4695 - Some temporary fixes for minor pixel artefacts
4697 2005-12-18 Peter Dennis Bartok <pbartok@novell.com>
4700 - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
4701 cause events to be sent in the same order as MS does.
4702 - Added ChangeParent() method to trigger various OnXXXChanged events
4703 that need to be fired when a parent changes (This is a reworking
4704 of the patch from r54254, with the X11 errors fixed)
4705 - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
4706 since on MS we get OnLayoutChanged events when calling Clear()
4707 - Changed Enabled property to consider parent state as well, if a
4708 parent is not enabled, the control will not be either
4709 - Changed Parent property to simply call Controls.Add() since that
4710 now does all the work required, this way we avoid code duplication
4711 - Threw in a few OnBindingsContextChanged calls to try and match
4712 when MS sends them. We seem to send a few too many, though.
4713 - Added call to CreateControl when adding the control to a parent.
4714 We were never calling CreateControl. Still needs some work, in
4715 some places we treat HandleCreated and ControlCreated as equal,
4717 - Removed obsolete commented out code from UpdateZOrder()
4719 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
4721 * ThemeClearlooks.cs: Updated TrackBar drawing.
4723 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
4725 * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
4727 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
4729 * FileDialog.cs: Add the Help button and the open readonly
4730 checkbox only if needed
4732 2005-12-16 Jackson Harper <jackson@ximian.com>
4734 * Control.cs: Make sure we have an active menu before trying to
4735 process commands on it. Prevents menu-less forms from crashing
4736 when Alt is pressed.
4737 * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
4739 * RichTextBox.cs: Expand statement to help out gmcs and fix the
4742 2005-12-16 Jackson Harper <jackson@ximian.com>
4744 * InternalWindowManager.cs: Don't translate tool windows screen
4745 coordinates. This fixes windows 'bouncing' around when being moved.
4747 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
4750 - MaxLength now treats 2^31-1 equal to unlimited length (this is
4751 not quite MS compatible, MS uses that number only for single line
4752 and 2^32-1 for multi-line, but I figure it won't hurt keeping
4754 - Now enforcing the MaxLength limit when entering characters
4755 - Added argument to internal Paste() method to track if it's called
4756 from programatically or via keyboard, since keyboard driven pastes
4757 need to enforce max-length
4758 - Added logic to Paste to only paste as many chars as MaxLength
4760 * RichTextBox.cs: Updated to use new obey argument for internal Paste()
4762 - Added Length property to return number of characters in document
4763 - Added private CharCount property which only tracks actual chars
4764 in the document (no linefeeds) and fires event when CharCount
4766 - Added tracking of character count to all methods that alter it
4767 - Added LengthChanged event to allow applications to subscribe
4768 to any changes to the document
4770 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
4773 - Removed local password_char field (moved to TextBoxBase)
4774 - Now setting the document's password var when password is
4777 - Added password_char field (needed here so MultiLine can
4779 - Added logic to MultiLine property setter to set the document's
4780 variable when password display is allowed
4781 - Removed debug code and made some debug code conditional
4783 - Added RecalculatePasswordLine() method to handle special password
4785 - Added PasswordChar property, also added related tracking vars
4786 - Draw() method now uses local text var for grabbing text to draw,
4787 this var is set to line.text unless we're doing password display,
4788 then it is set to the pre-generated all-password-chars line
4789 - Added calling RecalculatePasswordLine() method for password lines
4791 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
4794 - Added Reparented property to allow tracking of Window Manager
4795 reparenting actions (which affect X/Y calculations of toplevel
4797 - Made ToString() print window handles in hex
4799 - AddConfigureNotify(): Now uses reparented state off Hwnd to
4800 determine if X/Y needs offsetting
4801 - AddConfigureNotify(): Fixed offset calculations
4802 - Now adds ReparentNotify messages into the queue
4803 - Now processes ReparentNotify messages and causes a
4804 WM_WINDOWPOSCHANGED message to be sent upstream if a window
4805 is reparented (as most likely it's X/Y coordinates are changed
4808 2005-12-14 Jackson Harper <jackson@ximian.com>
4810 * XplatUIX11.cs: Tool windows still need to respek focus.
4812 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
4814 * Control.cs: Undid 54254 (causing XConfigure errors) so we can
4815 have a working release
4817 2005-12-13 Jackson Harper <jackson@ximian.com>
4819 * Form.cs: Update styles after setting the border style regardless
4820 of whether or not the window is using a window manager.
4822 2005-12-13 Jackson Harper <jackson@ximian.com>
4824 * Form.cs: We now hook into an internal window manager instead of just an
4825 MDI subsystem, this is so we can have properly behaving tool windows.
4826 * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
4827 * InternalWindowManager.cs: New internal class that acts as a
4828 window manager for tool windows and as a base for mdi windows.
4829 * MdiWindowManager.cs: New class that acts as a window manager for
4832 2005-12-12 Jackson Harper <jackson@ximian.com>
4834 * Control.cs: Updates so we match behavoir for for implicit
4835 controls. Fixes explosions in MDI.
4837 2005-12-12 Jackson Harper <jackson@ximian.com>
4839 * Control.cs: Implement Invalidate (Region).
4841 2005-12-12 Peter Dennis Bartok <pbartok@novell.com>
4844 - Changed handling of Controls.Add/Controls.Remove to fire (almost)
4845 the same events as MS does. MS fires events for each property
4846 except, for unknown reasons, Cursor, when the control is reparented.
4847 I can't seem to totally match add/remove since MS also fires some
4848 VisibleChanged events, which makes no sense. Consolidated the
4849 parenting code into a separate method so it can be called from
4850 both Add and Remove. set_Parent no longer needs any special logic
4851 as it calls the parent's add method which implicitly fires
4853 - Removed some obsolete code and debug output
4854 - Enabled state is inherited from parents, if this is enabled
4856 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
4858 * Form.cs: Removed commented out code
4860 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
4863 - Added internal version of Invoke, with additional argument
4864 indicating if we're calling it from a Dispose() handler. That
4865 way we can avoid BeginInvoke throwing an exception if we're
4866 calling for an already destroyed window.
4867 - Added a dispose argument to BeginInvokeInternal, and made the
4868 check if a valid window handle chain exists conditional on
4869 it not being a dispose call
4870 - Removed code in DestroyHandle to destroy our children. Since we
4871 now handle the WM_DESTROY message we will catch all our children
4873 - Now calling OnHandleDestroyed from our new WM_DESTROY handler
4875 - Added a field to track the application context of the form.
4876 - No need to set closing variable as response to WM_CLOSE, instead
4877 we destroy the window. We also call PostQuitMessage if the form
4878 has an application context (which makes it the main app form,
4879 which, when closed terminates the app)
4881 - Dropped Exit() method, it's naming was confusing
4882 - Added PostQuitMessage() which causes GetMessage to return false
4883 once the message queue is empty
4884 * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added
4886 * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
4887 no longer a valid XplatUI method, but left it in since it's used
4888 internally. Added empty PostQuitMessage() method.
4889 * MenuAPI.cs: Replaced call to Exit() with call to
4890 PostQuitMessage, even though this is probably no longer needed.
4891 * Hwnd.cs: Added 'pretty' ToString() to support debugging.
4892 * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
4894 - Replaced call to XplatUI.Exit() with PostQuitMessage()
4895 - Removed old debug code that would call XplatUI for exception
4896 display, enabled standard exception handling (Still not enabled
4897 though, until NativeWindow's ExternalExceptionHandler define
4900 - Added internal method to allow control to update NativeWindow
4901 after a window has been destroyed
4902 - Added handling of already destroyed windows when calling i
4904 - Added removal of handle from list on ReleaseHandle
4906 - Dropped GetMessageResult var and related code
4907 - Added PostQuitState to field to track if PostQuitMessage has been
4909 - Dropped Exit() method
4910 - Added PostQuitMessage() method
4911 - GetMessage now will return false if PostQuitState is set and no
4912 more messages are in the queue.
4913 - Expose handler will no longer generate WM_PAINT messages if we are
4914 in PostQuitState since it's very likely any windows have already
4915 been destroyed, and since Hwnd won't get updated until we have
4916 processed the DestroyNotify we'd be causing X errors.
4918 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4920 * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
4921 Thanks to Mike for pointing out the err of my ways.
4923 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4925 * Control.cs(PreProcessMessage): Moved menu handling back, but
4926 after all other key handling, to match MS (who handles Menu in
4928 * Menu.cs (WndProc): Removed my brainfart
4930 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4932 * Control.cs(PreProcessMessage): Removed special menu handling
4933 * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
4935 2005-12-07 Mike Kestner <mkestner@novell.com>
4937 * Control.cs : special case SYSKEYUP so that we can adjust keynav
4938 state according in tracker.
4939 * Menu.cs : promote tracker field to base class and provide a tracker
4940 lookup capability. Add/Remove shortcuts dynamically if the top menu
4941 has a tracker. Unparent items that are removed from the collection.
4942 * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
4943 * Theme*.cs: add always_show_hotkeys field to support configurability
4944 of mnemonic display. win32 doesn't show mnemonics until Alt is
4947 2005-12-07 Jackson Harper <jackson@ximian.com>
4949 * MdiChildContext.cs: Use Control.ResetCursor.
4950 * Control.cs: ResetCursor needs to set the property so that the
4951 correct XplatUI call gets made.
4953 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4955 * Control.cs: More fixes to make our key events match MS. We
4956 were not setting the modifier state on KeyData, and we were
4957 not generating any events when Alt was pressed with a key
4958 since handling of WM_SYSxxx was missing for the OnKey methods.
4960 2005-12-07 Jackson Harper <jackson@ximian.com>
4962 * MdiChildContext.cs: reenable the sizing code.
4963 - When the mouse leaves a window reset its cursor.
4965 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
4967 * ThemeClearlooks.cs: Reflect latest Hwnd changes
4969 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4971 * Hwnd.cs: Now using the theme 3d bordersize to calculate
4972 widths of Fixed3D borders
4974 2005-12-07 Jackson Harper <jackson@ximian.com>
4976 * MdiClient.cs: Fix warnings. Earn Mike's love.
4978 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
4980 * ThemeClearlooks.cs:
4981 - Adjusted mouse over button color
4982 - Added first parts of CheckBox drawing
4983 - Added correct color for selected text background
4984 - Fixed ComboBox drawing
4985 - Added CPDrawBorder3D and CPDrawBorder
4987 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
4989 * XplatUIX11.cs: Added call to XBell for AudibleAlert
4991 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
4993 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
4994 XplatUIOSX.cs: Added AudibleAlert() method to have a means to
4995 alert users via sound. We could add an enum arg with different
4996 types of alerts in the future
4998 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
5000 * Control.cs: Fix behaviour problems pointed out by Mike
5002 2005-12-05 Mike Kestner <mkestner@novell.com>
5004 * StatusBarPanel.cs: add Invalidate method and hook it into all the
5005 prop setters. Calls parent.Refresh for now, but could be maybe be
5006 optimized with an internal method on StatusBar at some point.
5009 2005-12-05 Peter Dennis Bartok <pbartok@novell.com>
5011 * RichTextBox.cs: Implemented get_SelectionColor
5013 2005-12-05 Alexander Olk <alex.olk@googlemail.com>
5015 * ThemeClearlooks.cs:
5017 - Draw black button border only if button is Form.AcceptButton
5018 - Draw correct button color for pressed RadioButton if the mouse
5019 has entered the button
5020 - Updated ProgressBar drawing!
5021 - Updated CPDrawSizeGrip drawing
5022 - Updated StatusBarPanel drawing
5024 2005-12-05 Mike Kestner <mkestner@novell.com>
5026 * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
5027 * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
5029 2005-12-04 Alexander Olk <alex.olk@googlemail.com>
5031 * ThemeClearlooks.cs: Initial check-in, activate with
5032 export MONO_THEME=clearlooks
5033 * ThemeEngine.cs: Added ThemeClearlooks
5035 2005-12-03 Mike Kestner <mkestner@novell.com>
5037 * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
5040 2005-12-02 Jackson Harper <jackson@ximian.com>
5042 * Form.cs: If the child form has no menu the default main menu is
5043 used as the active menu.
5045 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
5047 * ListBox.cs: Check if any items exist before trying to resolve
5048 coordinates into items
5050 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
5052 * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
5053 as the second color for the background hatch
5055 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
5057 * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
5058 * RichTextBox.cs: FormatText position arguments are 1-based, now making
5059 sure that what we pass to FormatText is always 1-based. Fixes #76885
5061 2005-11-29 Miguel de Icaza <miguel@novell.com>
5063 * NumericUpDown.cs (EndInit): When we are done initializing,
5064 reflect any updates on the UI.
5066 2005-12-02 Jackson Harper <jackson@ximian.com>
5068 * ImplicitHScrollBar.cs:
5069 * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
5070 their container controls.
5071 * TreeView.cs: Use the new implicit scrollbars.
5073 2005-12-02 Jackson Harper <jackson@ximian.com>
5075 * TreeView.cs: Make top_node internal so the TreeNodeCollections
5077 * TreeNodeCollection.cs: If we remove the topnode we need to
5078 update topnode to the next node in line.
5079 - When clearing nodes go through the same process as removing
5080 them, so they get depareneted and checked if they are top node.
5082 2005-12-01 Jackson Harper <jackson@ximian.com>
5084 * TreeView.cs: When imagelists are used the image area is
5085 selectable as well as the text.
5086 - If there are no selected nodes select the first one.
5087 * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
5088 so don't do it more then we need to.
5090 2005-12-01 Jackson Harper <jackson@ximian.com>
5092 * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
5093 that arrows can be scaled.
5095 2005-12-01 Jackson Harper <jackson@ximian.com>
5097 * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
5098 fail. Patch by Dieter Bremes
5100 2005-11-30 Jackson Harper <jackson@ximian.com>
5102 * Form.cs: Property is 2.0 only
5103 * PrintDialog.cs: Signature fix.
5105 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
5108 - No longer artificially moves text 2 pixels down (now that we have
5109 borders this is no longer needed)
5110 - Added calcs for left, hanging and right indent
5112 2005-11-23 Mike Kestner <mkestner@novell.com>
5114 * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
5116 2005-11-30 Jackson Harper <jackson@ximian.com>
5118 * MdiChildContext.cs: Set the cloned menus forms, as these don't
5119 get cloned as part of CloneMenu ().
5120 * Menu.cs: Make sure the parent of the items get set correctly
5121 when they are added. And the owners are notified of the changes.
5122 * Form.cs: Create an ActiveMenu property, so that when MDI is used
5123 we can change the menu being displayed/handled by the form without
5124 changing the menu assosciated with the form.
5125 - Don't let Mdi children draw/handle menus.
5127 2005-11-30 Jackson Harper <jackson@ximian.com>
5129 * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
5130 a MenuChanged event. Just to make the API a little more
5133 * MenuItem.cs: Use the new OnMenuChanged
5134 * MdiChildContext.cs: Handle menu merging.
5135 * Form.cs: Implement MergedMenu.
5137 2005-11-30 Jackson Harper <jackson@ximian.com>
5139 * Menu.cs: We were misusing Add. Add goes behind the specified
5140 index according to the docs, and does not replace the specified
5141 index. So I added an Insert method.
5143 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
5145 * TextBoxBase.cs: Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
5146 Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
5148 * RichTextBox.cs: Added calls to base for DnD events
5150 2005-11-28 Peter Dennis Bartok <pbartok@novell.com>
5153 - Fixed drag-selection related crash; style fixes
5154 - Implemented undo class
5155 o Implemented method to capture document state for specified
5156 range in document tree
5157 o Implemented method to restore captured document state
5158 o Implemented cursor tracking
5159 o Implemented basic undo stack
5160 - Added undo cursor tracking to methods altering cursor location
5161 - Added undo tracking to selection deletion (still missing
5162 other text-altering hookups)
5164 - Added SelectionLength property
5165 - Implemented CanPaste()
5166 - Implemented Paste()
5167 - Added missing protected methods
5168 - Fixed RTF->Document conversion; now uses font index 0 and color
5169 index 0 as the default font for the parsed text
5170 - Fixed RTF<->Document font size translation
5171 - Fixed RTF generation, now properly handles cross-tag boundaries
5172 for single line selection
5173 - No longer always appends blank line to generated RTF
5175 - Added missing attributes
5176 - Hooked up undo-related methods
5178 - Implemented Copy()
5179 - Implemented Paste()
5181 - Fixed caret mis-behaviour on backspace across line-boundaries
5183 2005-11-29 Jackson Harper <jackson@ximian.com>
5185 * MdiClient.cs: Add a method for activating mdi children. Very
5186 basic right now. I imagine someday it might need more girth.
5187 * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
5188 children windows names are added to the menu item.
5189 * ThemeWin32Classic.cs: Draw the arrow if the item is an
5190 mdilist. This happens regardless of whether or not there are any
5191 mdi windows to see in the list, and according to my tests happens
5192 before the items are even added. Also happens if there isn't even
5193 an mdi client to get windows from.
5195 2005-11-29 Alexander Olk <alex.olk@googlemail.com>
5197 * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
5198 * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
5200 2005-11-29 Jordi Mas i Hernandez <jordimash@gmail.com>
5202 * DataGridTableStyle.cs:
5203 - Create always the styles for the missing columns even if they are
5204 provided by the user (not default table style)
5207 - Fixes SetDataBinding (always re-attach source)
5208 - Fixes SetNewDataSource (only clear styles if they are not for
5210 - Expands OnTableStylesCollectionChanged to handle style refresh
5213 2005-11-29 Jackson Harper <jackson@ximian.com>
5215 * FileDialog.cs: Implement missing bits, remove some dead
5217 * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
5218 creation of the panel so that the options set on the dialog are
5219 seen when the panel is created.
5220 * TreeView.cs: raise a click when items are clicked.
5222 2005-11-29 Jackson Harper <jackson@ximian.com>
5224 * MdiClient.cs: Pass some signature methods through to base.
5226 2005-11-28 Jackson Harper <jackson@ximian.com>
5228 * ListView.cs: Raise the click event when items are clicked.
5230 2005-11-28 Jackson Harper <jackson@ximian.com>
5232 * MdiClient.cs: Make this algorithm even more beautiful. And fix
5235 2005-11-27 Alexander Olk <alex.olk@googlemail.com>
5237 * ThemeNice.cs: - Removed 1 pixel bitmaps
5238 - Use SmoothingMode.AntiAlias where it makes sense
5239 (ScrollButton arrow for example)
5240 - Enhanced Button focus drawing
5241 - Fixed ComboBox drawing (no artefacts anymore, focus
5242 rectangle is back again, reduced size of ComboButton, etc.)
5243 - Fixed RadioButton focus drawing for Appearence.Button
5244 - Slight ScrollButton redesign
5245 - Some LinearGradientBrush size fixes
5246 - GroupBoxes have now rounded edges
5247 - Fixed StatusBar drawing
5249 2005-11-25 Alexander Olk <alex.olk@googlemail.com>
5251 * ThemeNice.cs: - Remove dead code
5252 - use correct background colors for menus, etc.
5253 - Fake pixel drawing with 1 pixel bitmaps
5255 2005-11-24 Jackson Harper <jackson@ximian.com>
5257 * MdiClient.cs: Size the scrollbars when resizing the window.
5258 - Resize the maximized windows when the client is resized
5259 * Form.cs: Make the child context available
5261 2005-11-23 Jackson Harper <jackson@ximian.com>
5263 * MdiChildContext.cs: Don't size windows if they are maximized.
5265 2005-11-23 Mike Kestner <mkestner@novell.com>
5267 * ContextMenu.cs: use MenuTracker.
5268 * Control.cs: remove menu handle usage.
5269 * Form.cs: remove menu handle usage.
5270 * Hwnd.cs: remove menu handle usage.
5271 * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
5272 motion and clicks to the new Tracker handlers.
5273 * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
5275 * MenuAPI.cs: refactored to combine popup and menubar event handling.
5276 Killed the MENU and MENUITEM data types and associated collections
5277 since we now keep the info on Menu and MenuItem. Expanded TRACKER into
5278 MenuTracker class that exposes the leftovers from the old MenuAPI
5279 static methods. Restructured Capture handling so that only one grab is
5280 done for the entire menu hierarchy instead of handing off grabs to
5281 submenus. Tracker now has an invisible control to Capture when active.
5282 * MenuItem.cs: add sizing accessors, kill Create
5284 * Theme.cs: remove menu handle and MENU(ITEM) usage.
5285 * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
5286 MENU(ITEM). remove menu handle usage, use Menu directly.
5287 * XplatUIDriver.cs: remove menu handle usage.
5288 * XplatUIOSX.cs: remove menu handle usage.
5289 * XplatUIWin32.cs: remove menu handle usage.
5290 * XplatUIX11.cs: remove menu handle usage.
5292 2005-11-22 Jackson Harper <jackson@ximian.com>
5294 * Hwnd.cs: Don't compute the menu size for
5295 DefaultClientRectangle.
5296 - Reenable menu sizes being computed for GetClienRectangle.
5297 * Form.cs: Remove comment of trechery
5299 2005-11-22 Jackson Harper <jackson@ximian.com>
5301 * Hwnd.cs: The adjustments for the menu bar are made when it is
5302 attached to the form.
5304 2005-11-19 Jackson Harper <jackson@ximian.com>
5306 * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
5307 (just like on windows).
5309 2005-11-19 Jackson Harper <jackson@ximian.com>
5311 * MdiChildContext.cs: Handle all the buttons ourselves. We can't
5312 use real buttons anymore because they are in non client area. The
5313 one TODO here is that I need to somehow invalidate a section of
5314 the non client area.
5316 2005-11-18 Jackson Harper <jackson@ximian.com>
5318 * Control.cs: Put the enum check back in now that MDI doesnt have
5319 to use this to set border styles.
5320 * Form.cs: Only set mdi child windows borders if the handle has
5322 * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
5323 this directly on to the driver.
5324 - Get the move start position before adjusting for the titlebar
5325 height, this fixes the windows "skipping" when they are first
5328 2005-11-18 Jackson Harper <jackson@ximian.com>
5330 * XplatUIX11.cs: Just compute the mdi borders separately as they
5331 don't totally match up with normal form borders.
5333 2005-11-18 Jackson Harper <jackson@ximian.com>
5335 * Control.cs: Set WS_ styles for borders, so that the driver does
5336 not have to retrieve the control instance to figure out what kind
5337 of borders it should have.
5338 * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
5339 driver can know its an mdi child easily.
5340 * XplatUIX11.cs: Get the border styles and whether the window is
5341 MDI from the Styles and ExStyles params instead of having to get a
5342 control. This prevents a chicken and egg problem.
5344 2005-11-18 Jackson Harper <jackson@ximian.com>
5346 * MdiClient.cs: Fix typo so scrollbars show up correctly.
5348 2005-11-18 Jackson Harper <jackson@ximian.com>
5350 * MdiClient.cs: Calculate when to add and remove scrollbars
5352 * MdiChildContext.cs: Adjust the y position to take the titlebar
5354 - No height for FormBorderStyle.None
5356 2005-11-18 Jackson Harper <jackson@ximian.com>
5358 * Control.cs: Allow non enum values to be used for
5359 InternalBorderStyle. MDI does this to set a special border style.
5360 - New utility methods for converting points to/from client coords
5361 - Add the newly created control to the Controls collection before
5362 updating its style. This way UpdateStyle can walk the control
5363 heirarchy to find the control if needed.
5364 so I don't need to create a new Point object all the time.
5365 * Form.cs: Let MDI windows handle their border styles.
5366 - Set styles on MDI windows so the correct title style is derived.
5367 * MdiChildContext.cs: Move all the painting and window handling
5368 into the non client area.
5369 - Use correct sizing and put correct buttons on frames based on
5370 the FormBorderStyle.
5371 - Notify the mdi client about scrolling
5372 - Need to handle the buttons ourselves now, because they are all
5373 in non client areas and we can't add controls there.
5374 * MdiClient.cs: Halfway to scrolling, this implementation is
5375 somewhat broken though, we need to check to make sure other
5376 windows aren't causing scrolling before removing the bars. Also
5377 the bars need to be drawn on top, maybe I can switch implicit
5378 controls to be on top.
5379 * Hwnd.cs: caption_height and tool_caption_height are now
5380 properties of an hwnd, this way they can be set by the driver
5381 based on the type of window they are. In X11 the window manager
5382 handles the decorations so caption_height is zero unless its an
5384 - Add 3 pixel borders for MDI windows (0xFFFF).
5385 - Get rid of some code duplication, have DefaultClientRectanle
5386 just call GetClientRectangle.
5387 * XplatUIX11.cs: Pass caption_height and tool_caption_height to
5389 - Set border styles differently for mdi windows.
5390 * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
5393 2005-11-15 Mike Kestner <mkestner@novell.com>
5395 * Menu.cs: when adding an item to the collection, if item is already
5396 parented, remove it from the parent.
5398 2005-11-13 Alexander Olk <alex.olk@googlemail.com>
5400 * X11DesktopColors.cs: Added KDE support
5402 2005-11-11 Peter Dennis Bartok <pbartok@novell.com>
5405 - Clipboard methods now can translate Rtf format
5406 - No longer removes clipboard contents whenever a new format is added
5407 to allow placing multiple formats on the clipboard
5408 * Clipboard.cs: Clipboard now supports getting a IDataObject and
5409 will place all formats contained in it onto the clipboard. Also
5410 now cleans the clipboard before placing a new object onto it
5412 - Implemented set_Rtf
5413 - Implemented set_SelectedRtf
5414 - Created InsertRTFFromStream() method to allow single code base
5415 for all properties and methods that insert RTF into document
5416 - Removed debug output
5418 - Fixed Delete(int) to fix up line numbers
5419 - Fixed ReplaceSelection to combine start and end line
5420 - Fixed serious DeleteChars bug that would leave the document tree
5422 - Improved DumpTree with several logic checks to detect broken
5424 - Removed debug lines
5425 - Fixed Caret.WordForward/WordBack moving code, now always also
5426 updates caret.tag (fixes crash when word-selecting across tag
5427 boundaries via keyboard)
5428 - Added Insert() method for inserting multiline text into documents
5429 - Fixed DeleteChars() calculation errors that would cause a broken
5430 tag chain with multiple tag lines
5431 - DeleteChars() no longer crashes on multi-tag lines if not all tags
5432 - Split() no longer moves caret if split is at caret location
5433 - ReplaceSelection() now updates the cursor and re-displays it
5434 - ReplaceSelection() now uses new Insert() method to avoid code
5436 - FormatText() can now handle formatting partial lines
5438 - Append now uses new TextControl.Insert() method (this avoids
5440 - Implemented Ctrl-X (Cut) (
5441 - Implemented Ctrl-C (Copy)
5442 - Implemented Ctrl-V (Paste) (Still some bugs related to screen
5443 regeneration when pasting text; roundtripping Copy&Paste within
5444 edit control still fails due to some calculation bugs in GenerateRTF)
5445 - The Delete key will now remove the current selection if it is visible
5446 * TextBox.cs: Removed debug lines
5447 * XplatUI.cs: Trigger initialization of DataFormats (which requires the
5448 driver to be initialized and can't therefore be done via a static ctor)
5450 2005-11-10 Peter Dennis Bartok <pbartok@novell.com>
5452 * TextControl.cs: Added backend code for finding char arrays and strings
5454 - Added mouse wheel scroll support
5455 - Added support for VScroll and HScroll events
5457 - Implemented all seven Find() variants
5458 - Implemented GetCharFromPosition()
5459 - Implemented GetCharIndexFromPosition()
5460 - Implemented GetLineFromIndex()
5461 - Implemented GetPositionFromCharIndex();
5462 - Implemented SaveFile for PlainText and UnicodeText
5463 - Fixed set_Font, now setting a new font applies that font to
5465 - Implemented generic Document to RTF converter
5466 - Implemented SaveFile for RichText format (still missing unicode
5467 conversion for non-ansi chars)
5468 - Implemented get_Rtf
5469 - Implemented get_SelectedRtf
5471 2005-11-09 Peter Dennis Bartok <pbartok@novell.com>
5473 * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
5474 to allow any captures to be released before triggering OnClick. This
5475 way a click handler may capture the mouse without interference.
5476 * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
5477 This way we send them even though X may not allow a grab (if the window
5478 isn't visible, for example)
5480 2005-11-08 Pedro Martinez Julia <pedromj@gmail.com>
5482 * DataGridViewRowEventArgs.cs: DataGridView implementation
5483 * DataGridViewElement.cs: DataGridView implementation
5484 * DataGridViewComboBoxCell.cs: DataGridView implementation
5485 * DataGridViewDataErrorContexts.cs: DataGridView implementation
5486 * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
5487 * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
5488 * ImageLayout.cs: DataGridView implementation
5489 * DataGridViewComboBoxColumn.cs: DataGridView implementation
5490 * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
5491 * DataGridViewSelectionMode.cs: DataGridView implementation
5492 * IDataGridViewEditingControl.cs: DataGridView implementation
5493 * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
5494 * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
5495 * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
5496 * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
5497 * DataGridViewColumnSortMode.cs: DataGridView implementation
5498 * DataGridView.cs: DataGridView implementation
5499 * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
5500 * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
5501 * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
5502 * Padding.cs: DataGridView implementation
5503 * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
5504 * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
5505 * DataGridViewRowEventHandler.cs: DataGridView implementation
5506 * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
5507 * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
5508 * DataGridViewButtonCell.cs: DataGridView implementation
5509 * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
5510 * DataGridViewEditMode.cs: DataGridView implementation
5511 * DataGridViewCellValueEventArgs.cs: DataGridView implementation
5512 * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
5513 * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
5514 * DataGridViewCheckBoxColumn.cs: DataGridView implementation
5515 * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
5516 * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
5517 * DataGridViewCellEventHandler.cs: DataGridView implementation
5518 * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
5519 * DataGridViewCellStyleConverter.cs: DataGridView implementation
5520 * DataGridViewSelectedRowCollection.cs: DataGridView implementation
5521 * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
5522 * DataGridViewColumnEventArgs.cs: DataGridView implementation
5523 * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
5524 * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
5525 * QuestionEventArgs.cs: DataGridView implementation
5526 * IDataGridViewEditingCell.cs: DataGridView implementation
5527 * DataGridViewTriState.cs: DataGridView implementation
5528 * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
5529 * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
5530 * DataGridViewColumnCollection.cs: DataGridView implementation
5531 * DataGridViewCellValueEventHandler.cs: DataGridView implementation
5532 * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
5533 * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
5534 * DataGridViewColumn.cs: DataGridView implementation
5535 * DataGridViewCellBorderStyle.cs: DataGridView implementation
5536 * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
5537 * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
5538 * DataGridViewRow.cs: DataGridView implementation
5539 * DataGridViewImageCellLayout.cs: DataGridView implementation
5540 * DataGridViewImageCell.cs: DataGridView implementation
5541 * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
5542 * DataGridViewCheckBoxCell.cs: DataGridView implementation
5543 * DataGridViewHeaderCell.cs: DataGridView implementation
5544 * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
5545 * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
5546 * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
5547 * DataGridViewTextBoxColumn.cs: DataGridView implementation
5548 * QuestionEventHandler.cs: DataGridView implementation
5549 * DataGridViewCellStyleScopes.cs: DataGridView implementation
5550 * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
5551 * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
5552 * DataGridViewCell.cs: DataGridView implementation
5553 * DataGridViewCellEventArgs.cs: DataGridView implementation
5554 * DataGridViewClipboardCopyMode.cs: DataGridView implementation
5555 * DataGridViewCellStyle.cs: DataGridView implementation
5556 * DataGridViewColumnHeaderCell.cs: DataGridView implementation
5557 * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
5558 * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
5559 * TextFormatFlags.cs: DataGridView implementation
5560 * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
5561 * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
5562 * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
5563 * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
5564 * DataGridViewButtonColumn.cs: DataGridView implementation
5565 * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
5566 * HandledMouseEventArgs.cs: DataGridView implementation
5567 * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
5568 * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
5569 * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
5570 * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
5571 * DataGridViewRowCollection.cs: DataGridView implementation
5572 * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
5573 * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
5574 * DataGridViewHitTestType.cs: DataGridView implementation
5575 * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
5576 * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
5577 * DataGridViewColumnEventHandler.cs: DataGridView implementation
5578 * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
5579 * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
5580 * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
5581 * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
5582 * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
5583 * DataGridViewContentAlignment.cs: DataGridView implementation
5584 * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
5585 * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
5586 * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
5587 * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
5588 * DataGridViewPaintParts.cs: DataGridView implementation
5589 * DataGridViewCellCollection.cs: DataGridView implementation
5590 * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
5591 * DataGridViewImageColumn.cs: DataGridView implementation
5592 * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
5593 * DataGridViewElementStates.cs: DataGridView implementation
5594 * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
5595 * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
5596 * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
5597 * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
5598 * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
5599 * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
5600 * DataGridViewRowHeaderCell.cs: DataGridView implementation
5601 * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
5602 * DataGridViewTextBoxCell.cs: DataGridView implementation
5603 * DataGridViewBand.cs: DataGridView implementation
5604 * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
5605 * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
5606 * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
5607 * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
5608 * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
5609 * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
5610 * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
5611 * DataGridViewSelectedCellCollection.cs: DataGridView implementation
5612 * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
5613 * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
5614 * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
5616 2005-11-08 Peter Dennis Bartok <pbartok@novell.com>
5618 * ThemeWin32Classic.cs:
5619 - Draw the outside focus rectangle around buttons
5620 - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
5621 doesn't use end caps for every dash of a line anymore. This
5622 workaround ignores the forecolor.
5624 2005-11-08 Kornél Pál <kornelpal@hotmail.com>
5626 * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
5629 2005-11-07 Jackson Harper <jackson@ximian.com>
5631 * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
5633 2005-11-07 Jackson Harper <jackson@ximian.com>
5635 * ScrollableControl.cs: Calculate the maximum and change vars
5636 (more) correctly so that scrollbars appear as a sensible size.
5638 2005-11-04 Jackson Harper <jackson@ximian.com>
5640 * TreeNodeCollection.cs: Refresh when nodes are cleared from the
5642 * TreeView.cs: When the tree is sorted null out the top_node so
5643 that it is recalculated.
5644 - Use dotted lines instead of dashed lines to match MS better.
5646 2005-11-04 Jordi Mas i Hernandez <jordimash@gmail.com>
5649 - Implements key search for items. Useful when browsing files with FileDialog
5650 - When changing view mode or when clear the items reset scrollbar positions
5652 2005-11-04 Jackson Harper <jackson@ximian.com>
5654 * CurrencyManager.cs: Implement the MetaDataChanged event, the
5655 Reset method, and the CheckEmpty. CheckEmpty is just a total guess
5656 as to what the method may do as there is no real way of creating a
5657 derived CurrencyManager and calling the method.
5659 2005-11-03 Jackson Harper <jackson@ximian.com>
5661 * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
5662 * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
5663 method which seems to just be used internally to refresh the tabs.
5665 2005-11-03 Jackson Harper <jackson@ximian.com>
5667 * TabControl.cs: Implement the remove method. Fix some broken
5670 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
5672 * DateTimePicker.cs:
5673 - Added missing DateTimePickerAccessibleObject class
5674 - Added missing events
5675 - Added OnFontChanged method
5676 * Form.cs: Added missing attributes
5677 * TreeView.cs: Added missing attributes
5679 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
5681 * GridItemCollection.cs: Fix signatures
5683 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
5685 * XplatUI.cs: Updated build rev/date
5686 * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs,
5687 DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
5688 * Application.cs: Trigger context-specific ExitThread events
5690 2005-11-03 Jackson Harper <jackson@ximian.com>
5694 * GridTableStylesCollection.cs:
5699 * MonthCalendar.cs: Signature fixes
5701 2005-11-03 Jackson Harper <jackson@ximian.com>
5703 * TreeNodeCollection.cs: Remove should not be virtual.
5704 * TreeView.cs: Implement the last of the missing methods.
5706 2005-11-03 Jackson Harper <jackson@ximian.com>
5708 * TreeNodeConverter.cs: Implement to get off my class-status back.
5710 2005-11-03 Jackson Harper <jackson@ximian.com>
5712 * TreeView.cs: Hookup the bits for drag and drop.
5713 * TreeNode.cs: Don't cache the tree_view or index anymore, now
5714 that nodes can be moved from tree to tree easily this just causes
5715 all sorts of problems.
5716 * TreeNodeCollection: Don't need to give treenodes an index and
5717 treeview anymore when they are added, these are computed on the
5718 fly. Also make sure to remove a node before its added.
5720 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
5723 - Added CaretSelection enum
5724 - Added comparison methods to Marker struct, makes selection code
5726 - Added SelectionStart and SelectionEnd as 'moveable' location for
5727 the CaretDirection enum and handler
5728 - Added selection_prev variable to track optimized invalidation for
5729 word and line selection
5730 - Added SelectionVisible property (returns true if there is a valid
5732 - Switched CaretHasFocus to only display the caret if there is no
5734 - Avoiding StringBuilder.ToString to retrieve a single char, instead
5735 using the direct character index; should be much faster
5736 - Added various conditional debug statements
5737 - Fixed invalidation calculation for selection ranges
5738 - Added ExpandSelection() method to support word and line selection
5739 - Switched SetSelectionToCaret to use new Marker compare overloads
5740 - Added central IsWordSeparator() method to determine word
5741 separators/whitespace and FindWordSeparator() to streamline common
5742 usage of IsWordSeparator()
5744 - Removed unneeded grabbed variable, it was just mirroring
5746 - No longer firing OnTextChanged event when Text setter is called,
5747 since the base will fire the event for us
5748 - Added handling of Ctrl-Up/Down selection
5749 - Added handling of Shift-Cursorkey selection
5750 - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
5752 - Added handling of Shift and Ctrl-Shift-Home/End selection
5753 - Removed some debug output
5754 - Added handling for single/double/tripple-click to place caret/
5755 select word/select line respectively (Fixes bug #76031)
5756 - Added support for drag expansion of word/line selection
5757 * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
5760 2005-11-02 Jackson Harper <jackson@ximian.com>
5762 * X11Dnd.cs: If the drag is going to and from a MWF window just
5763 copy the data instead of sending it out through the X Selection
5766 2005-11-02 Jackson Harper <jackson@ximian.com>
5769 * XplatUIX11.cs: When in a drag we don't want motion notify
5770 messages to get passed on to the other controls. This prevents
5771 mouse move messages from showing up in the drag source.
5773 2005-11-02 Jackson Harper <jackson@ximian.com>
5775 * X11Dnd.cs: Remove unneeded call to XAllowEvents. Make sure that
5776 the correct button is release to end a drag.
5777 * XplatUIX11.cs: Make the button state internal so the drag system
5778 can access it. Dragging needs to know about all button releases,
5779 not just left button.
5781 2005-11-02 Miguel de Icaza <miguel@novell.com>
5783 * Form.cs (Icon): If the icon is null, reset the icon to the
5786 * Cursor.cs: When writing the AND-mask bitmap do not include the
5787 number of colors, but hardcode those to two (black and white),
5788 fixes the loading of color cursors (Paint Dot Net).
5790 * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
5791 turn off autoscaling.
5793 * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
5795 2005-11-02 Jackson Harper <jackson@ximian.com>
5797 * X11Dnd.cs: Make sure to send a status message if the pointer
5798 enters a control that can not accept a drop, otherwise the cursor
5799 isn't updated correctly. Also tried to compress the lines of code
5802 2005-11-02 Jackson Harper <jackson@ximian.com>
5804 * X11Dnd.cs: Change cursors based on drag action. Also attempt to
5805 set actions correctly. This isn't perfect as XDND and win32 have
5806 some differences on how you allow actions. I'll clear this up by
5807 adding a path for drag from MWF to MWF windows.
5808 * XplatUIX11.cs: Hook into the dnd system.
5810 2005-11-02 Jordi Mas i Hernandez <jmas@softcatala.org>
5812 * ListView.cs: Fixes scroll bar visibility. Hide them if they were
5813 previously shown but they are no longer need it. Very obvious when
5814 browsing files with FileDialog.
5816 2005-11-01 Peter Dennis Bartok <pbartok@novell.com>
5818 * Control.cs: We always need to call OnPaintBackground. We pretty much
5819 ignore AllPaintingInWmPaint and always do the painting there, whether
5820 it's set or not, since we always ignore the WM_ERASEBKGND message
5821 (which we don't generate on X11). This fixes #76616.
5822 * Panel.cs: Removed unneeded background painting. This happens properly
5823 in Control.cs already
5825 2005-10-31 Mike Kestner <mkestner@novell.com>
5827 * Menu.cs: Add items to collection before setting their index.
5828 * MenuItem.cs : add range checking with ArgumentException like MS.
5831 2005-10-31 Jackson Harper <jackson@ximian.com>
5833 * ListBox.cs: Invalidate if the area is visible at all not just
5834 contained in the visible rect. Fixes unselection of semi visible
5837 2005-10-31 Jackson Harper <jackson@ximian.com>
5839 * Control.cs: Consistently name the dnd methods. Make them
5840 internal so we can override them to match some MS behavoir
5842 * Win32DnD.cs: Use the new consistent names.
5844 2005-10-31 Jackson Harper <jackson@ximian.com>
5846 * TreeView.cs: Don't draw the selected node when we lose focus.
5848 2005-10-31 Jackson Harper <jackson@ximian.com>
5850 * X11Dnd.cs: We still need to reset the state even though a full
5851 reset isn't being done, otherwise status's still get sent all over
5854 2005-10-31 Jackson Harper <jackson@ximian.com>
5856 * Control.cs: Make the dnd_aware flag internal so the dnd
5857 subsystem can check it. Catch exceptions thrown in dnd handlers to
5859 * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
5860 * X11Dnd.cs: Handle null data in the converters. Set the XDND
5861 version when sending a XdndEnter. Use the control/hwnd dnd_aware
5862 flags to reduce the number of dnd enters/status's sent.
5864 2005-10-31 Jackson Harper <jackson@ximian.com>
5866 * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
5868 2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com>
5870 * PictureBox.cs: Fixes 76512
5872 2005-10-28 Jackson Harper <jackson@ximian.com>
5874 * X11Dnd.cs: Early implementation to support winforms being a drag
5875 source for data on X11. Also restructured the converters so they
5876 can go both ways now.
5877 * XplatUIX11.cs: Tie ins to the the Dnd stuff.
5879 2005-10-27 Peter Dennis Bartok <pbartok@novell.com>
5881 * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
5884 2005-10-27 Jackson Harper <jackson@ximian.com>
5886 * TreeNode.cs: Implement serialization so my DnD examples will work.
5888 2005-10-24 Kornél Pál <kornelpal@hotmail.com>
5890 * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
5891 TreeView.cs: Don't dispose objects that are not owned.
5893 2005-10-24 Peter Dennis Bartok <pbartok@novell.com>
5895 * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
5896 should retrieve the current cursor and report that, but XplatUI
5897 doesn't (yet) have an interface for that (and I'm not sure I even
5899 * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
5900 until any message loop processing is done (and the WM_SETCURSOR
5901 replaces the cursor to the proper one)
5903 - Fixed override behaviour, we can't set the cursor globally on X11,
5904 just for our windows.
5905 - Invalidating the System.Drawing X11 display handle when we are
5907 * Control.cs: Fix to make csc happy
5909 2005-10-23 Peter Dennis Bartok <pbartok@novell.com>
5912 - get_Text: Add last line (without trailing newline) to returned
5914 - get_TextLength: Count last line in returned length
5915 - ToString: Call Text property instead of duplicating code
5917 2005-10-23 Kornél Pál <kornelpal@hotmail.com>
5919 * ImageList.cs: Dispose ImageAttributes objects.
5921 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
5923 * ImageList.cs: Use attribute constructors with less arguments where
5926 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
5928 * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
5929 Use typeof instead of strings when assembly is referenced. Added
5932 2005-10-21 Jackson Harper <jackson@ximian.com>
5934 * ListView.cs: Raise a double click event. Also tried to somewhat
5935 fix when the selectedindexchanged event is raised. Its still
5938 2005-10-21 Jackson Harper <jackson@ximian.com>
5940 * TreeView.cs: New method to invalidate the plus minus area of a
5941 node without invalidating the whole node (maybe this can be used
5942 in some more places).
5943 * TreeNodeCollection.cs: When adding to an empty node we need to
5944 invalidate its plus minus area so the little block shows up.
5946 2005-10-21 Jackson Harper <jackson@ximian.com>
5948 * TreeView.cs: Make sure that when we invalidate a node the bounds
5949 are big enough to cover the selected box and the focus
5950 rectangle. Use a different colour for the lines connecting nodes
5951 so they show up with all themes.
5953 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5955 * NativeWindow.cs: Don't call anything that could call into the driver,
5956 we might be on a different thread.
5958 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5960 * Control.cs(Dispose): Since Dispose might run on a different thread,
5961 make sure that we call methods that could call into the driver via
5962 invoke, to avoid thread issues
5964 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5966 * XplatUI.cs: Removed finalizer
5967 * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
5968 not allowing to be called on the finalizer thread.
5970 2005-10-21 Kornél Pál <kornelpal@hotmail.com>
5973 - Reverted r51889 and r51891.
5974 - Added ImageListItem class that stores unmodified image items and image
5975 properties required to create list images until handle is created.
5976 - Added AddItem and moved image creation logic to AddItemInternal.
5977 - Added CreateHandle method that creates images based on unmodified items.
5978 - Added DestroyHandle that changes state to store unmodified items.
5979 - Add and AddStrip methods no more create handle.
5980 - ReduceColorDepth has no return value.
5981 - Dispose destroys handle.
5982 - Modified other methods to reflect the above changes.
5983 - Implemented key support.
5984 - Added profile 2.0 members and attributes.
5985 - Added private Reset and ShouldSerialize methods that provide the same
5986 behavior as MS.NET but the Visual Studio .NET designer seems to ignore
5987 them as they are private.
5988 - Added some more comments about implementation details.
5990 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
5992 * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
5994 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
5996 * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
5998 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
6000 * DataGridDrawingLogic.cs: Fixes column hit calcultation
6001 * DataGridColumnStyle.cs: Remove debug message
6003 2005-10-20 Jackson Harper <jackson@ximian.com>
6005 * TreeView.cs: We can always get input keys regardless of whether
6006 or not editing is enabled. They are used for navigation.
6008 2005-10-20 Jackson Harper <jackson@ximian.com>
6010 * TreeNode.cs: Use the viewport rect for determining if a node
6011 needs to be moved for visibility. Don't use Begin/End edit. This
6012 calls a full refresh when its done.
6013 * TreeView.cs: New SetBottom works correctly. Make the viewport
6014 rect property internal so the treenodes can see it. When clicking
6015 on a node we need to ensure that its visible because it might just
6016 be partly visible when clicked.
6018 2005-10-20 Jackson Harper <jackson@ximian.com>
6020 * TreeNodeCollection.cs: Remove debug code.
6022 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
6024 * Datagrid.cs: Implements column sorting in Datagrid
6025 * DataGridColumnStyle.cs: Implements column sorting in Datagrid
6027 2005-10-20 Jackson Harper <jackson@ximian.com>
6029 * TreeNodeCollection.cs: Remove items properly. Update the correct
6030 area after removing them.
6032 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
6034 * Datagrid.cs: Should not call base.OnPaintBackground
6036 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
6038 * XplatUIX11.cs (GetMessage):
6039 - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
6040 window instead of client window
6041 - Now properly calculates NC_xBUTTONUP message coordinates
6042 - ScreenToMenu now properly calculates it's coordinates of whole
6043 window, since menus are in the whole window, not in the client
6045 - Added WholeToScreen coordinate translation method
6047 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
6049 * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
6050 want to return a message, loop back to the beginning of the function
6051 and grab the next real message to process instead.
6053 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
6055 * Splitter.cs: Properly set limits if no filler control is used
6057 2005-10-19 Jackson Harper <jackson@ximian.com>
6059 * ColorDialog.cs: Don't show the help button if it is not enabled
6060 instead of disabling it (this is what MS does). Don't create the
6061 panel until the dialog is run, otherwise the vars (such as
6062 ShowHelp) are not set yet.
6064 2005-10-19 Jackson Harper <jackson@ximian.com>
6066 * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
6067 are reduced when adding nodes.
6069 * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
6072 2005-10-19 Jackson Harper <jackson@ximian.com>
6074 * FolderBrowserDialog.cs: End editing our treeview so the window
6075 actually gets refreshed.
6077 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
6079 * Control.cs: Fixed logic flip on when to call OnPaintBackground.
6080 Obsoleted handling of WM_ERASEBKGND, now always draws our background
6083 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
6085 * MenuAPI.cs: Returns after Hidding window
6086 * XplatUIX11.cs: Added TODO found while debugging menu issues
6088 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
6090 * XplatUIX11.cs: Do not re-map the whole window when it's size
6091 becomes non-zero unless it's supposed to be actually visible
6093 2005-10-18 Jackson Harper <jackson@ximian.com>
6095 * TreeView.cs: We don't need to keep a count anymore.
6096 * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
6097 use the Grow method.
6099 2005-10-18 Jackson Harper <jackson@ximian.com>
6101 * TreeNodeCollection.cs: Insert is not supported on arrays, so
6102 implement it manually here.
6104 2005-10-18 Jackson Harper <jackson@ximian.com>
6106 * ImageList.cs: Dont kill the list when the colour depth is
6107 changed, just change the colour depth of all the images.
6108 - Same goes for setting the image size. Just resize them all
6109 instead of killing the list softly.
6111 2005-10-18 Jackson Harper <jackson@ximian.com>
6113 * Control.cs: Don't invalidate empty rectangles.
6115 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
6118 - Adds checked item to the Checked/Item lists (where empty before)
6119 - Do not add items to the Selected lists if they are already present
6121 - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
6122 - When deleting items make sure that we delete them for the Selected
6123 and Checked list also.
6125 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
6127 * Label.cs: Dispose objects no longer used
6128 * ThemeWin32Classic.cs: Dispose objects no longer used
6130 2005-10-18 Jackson Harper <jackson@ximian.com>
6132 * TabControl.cs: Don't refresh the whole control when the tabs are
6133 scrolled, we just need to refresh the tab area.
6135 2005-10-17 Jackson Harper <jackson@ximian.com>
6137 * XplatUIX11.cs: Compress code a little bit. Only calculate the
6138 after handle when we need it.
6140 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
6142 * Control.cs: When the parent size changes, recalculate anchor
6143 positions. Partial fix for #76462
6145 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
6147 * ThemeWin32Classic.cs: Make sure the picturebox has it's background
6150 2005-10-17 Jackson Harper <jackson@ximian.com>
6152 * MonthCalendar.cs: Don't create the numeric up down until our
6153 handle is created. Otherwise our handle is created in the
6154 constructor and we don't know if we are a WS_CHILD or WS_POPUP
6157 2005-10-17 Jackson Harper <jackson@ximian.com>
6159 * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
6162 2005-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
6163 * TreeNode.cs : small logical fix (was using local var instead of field)
6165 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
6167 * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
6169 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
6171 * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
6173 2005-10-16 Peter Dennis Bartok <pbartok@novell.com>
6176 - Re-implemented anchoring code. My first version was really broken.
6177 This fixes bug #76033. Unlike the previous implementation we will
6178 no longer have round errors since all numbers are calculated from
6179 scratch every time. Removed various anchor-related obsolete vars.
6180 - InitLayout no longer causes layout event firing and layout to be
6183 2005-10-16 Jackson Harper <jackson@ximian.com>
6185 * Hwnd.cs: Compute invalid area correctly (fixes my last commit
6188 2005-10-16 Jackson Harper <jackson@ximian.com>
6190 * TabControl.cs: Remove debug code.
6192 2005-10-16 Jackson Harper <jackson@ximian.com>
6194 * XEventQueue.cs: Increase the default queue size (very simple
6195 apps needed to grow the queue).
6196 * Hwnd.cs: No finalizer so we don't need to suppress
6197 finalization. Compute the invalid area manually so a new rectangle
6198 does not newto be created.
6199 * ScrollableControl.cs: Don't set any params (otherwise visibility
6200 isn't set correctly).
6201 * MdiChildContext.cs: New constructor takes the mdi parent so it
6202 doesn't have to be computed and avoids a crash on windows. Draw
6203 the window icon properly, and allow the text to be seen.
6204 * Form.cs: Use new MdiChildContext constructor. Make sure the
6205 child context isn't null in wndproc.
6206 * TabControl.cs: Don't set focus, this is muddling keyboard
6207 behavoir. Expand the tab rows when a window size increase will
6208 allow extra tabs to be seen. Don't allow tabs smaller than the
6209 width of a window to be scrolled out of view.
6211 * TreeView.cs: Use measure string to calculate a nodes width, the
6212 width is cached and only updated when the text or the font is
6213 changed. Don't check for expand/collapse clicks on the first level
6214 nodes if root lines are disabled.
6216 2005-10-16 Ritvik Mayank <mritvik@novell.com>
6218 * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
6220 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
6222 * DataGridBoolColumn.cs: fixes warning
6224 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
6226 * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
6227 to match more to match more precisely the MS Net behavior
6229 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
6231 * Hwnd.cs: Added field to track if window is mapped
6233 - Unmap windows if they become 0-size, re-map when
6234 they are >0 again; fixes #76035
6235 - Re-set our error handler after initializing X11Desktop
6236 to override any error handlers Gtk or whatever was called
6239 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
6241 * CheckedListBox.cs: Removed unused vars
6242 * ListView.cs: Fixed signatures
6243 * RichTextBox.cs: Removed unused vars
6244 * TextBoxBase.cs: Removed unused vars
6245 * XplatUIWin32.cs: Removed unused vars
6246 * XplatUIX11.cs: Removed unused vars
6247 * XplatUI.cs: Updated version and date to latest published
6249 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
6251 * Cursor.cs: Added private .ctor to work around a bug in
6252 resourceset (Thanks to Geoff Norton for the help on this)
6253 * SplitterEventArgs.cs: Made fields accessible so we don't
6254 waste boatloads of objects and can reuse the same one
6256 * XplatUIWin32.cs(DrawReversibleLine): Now also considers
6257 any captions and borders when generating screen coordinates
6258 * Splitter.cs: Reimplemented control, now fully complete, uses
6259 rubberband drawing, supports and obeys all properties, has
6262 2005-10-13 Miguel de Icaza <miguel@novell.com>
6264 * Form.cs (Form): Setup default values for autoscale and
6265 autoscale_base_size; Make these instance variables, not static
6268 (OnLoad): on the first load, adjust the size of the form.
6270 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
6272 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added
6273 width argument to DrawReversibleRectangle()
6274 * XplatUIWin32.cs, XplatUIX11.cs:
6275 - Implemented width for DrawReversibleRectangle()
6276 - Added logic to DrawReversibleRectangle that recognizes a zero
6277 width or height and only draws a line in that situation
6279 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
6281 * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
6282 * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
6283 * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
6284 method (it uses our FosterParent window to get a graphics context)
6286 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
6288 * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground
6289 and SetWindowBackground methods
6291 - Setting proper ControlStyles
6292 - We no longer call XplatUI.SetWindowBackground and XplatUI.
6293 EraseWindowBackground, instead we draw the window background
6294 ourselves in PaintControlBackground. This behaviour is
6295 required to match MS, where, when OnPaintBackground is not
6296 called, the background is not drawn.
6297 - Removed unneeded Refresh() in set_Text
6298 * Hwnd.cs: Dropped the ErasePending support. No longer needed
6300 - Created DeriveStyles method to translate from CreateParams to
6301 FormBorderStyle and TitleStyle, also handles BorderStyle (which
6302 matches FormBorderStyle enum values)
6303 - Consolidated SetHwndStyles and CalculateWindowRect border/title
6304 style calculations into single DeriveStyles method
6305 - Fixed CreateWindow to (finally) use Gravity. This prevents X11
6306 from redrawing the whole window on any resize or expose.
6307 - Fixed CreateWindow usage of SetWindowValuemask. Before not
6308 all styles were applied to our whole/client window appropriately
6309 - Removed EraseWindowBackground() and SetWindowBackground() methods
6310 - Removed handling of WM_ERASEBKGND message from DefWndProc, we
6311 no longer clear/redraw the background through X
6312 - Removed handling of erase_pending bit, we have no use for it (or
6315 - Removed generation and handling of WM_ERASEBKGND message
6316 - Removed EraseWindowBackground() and SetWindowBackground() methods
6317 - Removed handling of hwnd.ErasePending flag
6319 - Removed EraseWindowBackground() and SetWindowBackground() methods
6320 - We no longer call EraseWindowBackground on PaintEventStart, we
6321 ignore the fErase flag, erasing is handled in Control in the
6323 * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
6324 LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
6325 TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs,
6326 CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs,
6327 DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs,
6328 TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
6329 DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
6331 2005-10-12 Jonathan Chambers <jonathan.chambers@ansys.com>
6333 * PropertyGrids.cs: Get sub properties
6334 * PropertyGridView.cs: Fix drawing code
6336 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
6338 * ListBox.cs: Fixes 76383
6340 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
6342 * DataGridTextBoxColumn.cs: Sets location and size before attachment
6343 * ThemeWin32Classic.cs: Fixes border drawing and calculations
6344 * DataGridDrawingLogic.cs: Fixes border drawing and calculations
6347 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
6349 * ComboBox.cs: Fixes border drawing
6351 2005-10-10 Miguel de Icaza <miguel@novell.com>
6353 * MimeIcon.cs: Ignore errors if the file can not be read.
6355 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
6357 * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
6358 - Fixed border calculations
6359 - Fixed horizontal scrolling in single column listboxes
6360 - Fixed drawing issues
6362 2005-10-10 Peter Dennis Bartok <pbartok@novell.com>
6364 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to
6365 FormBorderStyle enum
6366 * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added
6367 code to determine FormBorderStyles from CreateParams
6369 - Fixed bug where we'd set the wrong window styles if we were
6370 not creating an MDI window
6371 - Added call to XplatUI.SetBorderStyle when form borders are set
6372 * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
6374 - Removed obsolete edge style
6375 - Switched from BorderStyle to FormBorderStyle
6377 2005-10-10 Jackson Harper <jackson@ximian.com>
6379 * Form.cs: Use the property to get the window handle instead of
6380 accessing it directly. Prevents a null reference exception.
6382 2005-10-10 Jackson Harper <jackson@ximian.com>
6384 * TreeView.cs: Don't adjust the rect given to DrawString now that
6385 our libgdiplus draws correctly.
6387 2005-10-08 Jackson Harper <jackson@ximian.com>
6389 * TreeView.cs: Don't try to find the clicked on node if there are
6390 no nodes in the tree.
6392 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
6398 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
6400 * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
6401 ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
6403 Use ResPool for brushes and dispose System.Drawing objects that
6404 are not used anymore.
6406 2005-10-07 Jackson Harper <jackson@ximian.com>
6408 * MdiChildContext.cs: Use the new borders instead of drawing them
6411 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
6413 * Calling UpdateBounds after changing the window's BorderStyle
6414 since the style can change the ClientSize
6416 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6418 * Control.cs: Made PaintControlBackground virtual
6419 * Panel.cs: Overriding PaintControlBackground instead of using paint
6420 event; paint event method was interfering with 'real' users of the
6423 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
6425 * ThemeWin32Classic.cs: remove border drawing since it is handled
6426 by the base control class now and was causing double border drawing.
6428 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6430 * Panel.cs: Redraw our background on paint. Not a pretty solution,
6431 but it does seem to match MS behaviour. This fixes bug #75324
6433 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6435 * XplatUIX11.cs: A better DrawReversibleRectangle version, however
6436 somewhat hackish looking
6438 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6441 - We now accept Enter even if AcceptEnter is false, if the containing
6442 form does not have an AcceptButton configured (fixes bug #76355)
6443 - Calculations are now fixed to no longer use Width/Height, but
6444 ClientSize.Width/Height, since we now support borders (this was
6445 a result of fixing borders and therefore bug #76166)
6446 - We no longer show the horizontal scrollbar if TextBox.WordWrap is
6447 true (fixes bug #76354)
6449 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6452 - Defaulting BorderStyle and setting it in XplatUI when our window
6454 - Added enum check to InternalBorderStyle setter
6456 - Added drawing of window borders
6457 - Now properly calculates WM decorations offset for toplevel
6458 windows (fixes bug #74763)
6460 - Implemented BorderStyles for windows (we're letting win32 draw
6462 - Fixed the signature for SetWindowLong
6463 * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
6464 ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for
6466 * UpDownBase.cs: Remove drawing of borders, this is handled by
6467 the driver, outside the client area
6468 * ListView.cs: Removed bogus border calculations. The control should
6469 be oblivious to borders, since those are not part of the client
6471 * X11DesktopColors.cs: Commented out (currently) unneeded variables
6472 * ThemeWin32Classic.cs: Removed border calculations from ListView
6475 2005-10-06 Jackson Harper <jackson@ximian.com>
6477 * MdiChildContext.cs: Clear out the old virtual position remove
6478 all the unneeded calls to CreateGraphics.
6480 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6482 * TextControl.cs: Use proper color for highlighted text; fixes #76350
6484 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6487 - Added loading and setting of our new default icon
6488 - Only set icon if window is already created
6490 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
6493 - Do not explicitly set the foreground and background colors, to
6494 allow inheriting from parents (fixes #76302)
6495 - Use Control's InternalBorderStyle property to deal with borders
6497 2005-10-06 Jackson Harper <jackson@ximian.com>
6499 * MdiChildContext.cs: Use the new xplatui function to draw a
6502 2005-10-06 Jackson Harper <jackson@ximian.com>
6504 * Form.cs: Add the parent before creating the child context cause
6505 we need the parent when setting up the child.
6507 2005-10-06 Jackson Harper <jackson@ximian.com>
6509 * FolderBrowserDialog.cs: redo the tree population code so a
6510 second thread isn't used. Should be a lot faster and more stable
6513 2005-10-05 Jackson Harper <jackson@ximian.com>
6515 * TreeView.cs: There are no expand/collapse boxes if the node has
6518 2005-10-05 Jackson Harper <jackson@ximian.com>
6520 * X11DesktopColors.cs: Get menu colours for the gtk theme.
6522 2005-10-05 Alexander Olk <alex.olk@googlemail.com>
6524 * FileDialog.cs: Fix InitialDirectory
6526 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
6529 - Fixes changing between styles
6531 - Fixes last item crashing when navigating with keyboard
6533 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
6535 * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
6537 2005-10-05 Jackson Harper <jackson@ximian.com>
6539 * TreeView.cs: If updating the root node do a full refresh.
6540 * TreeNode.cs: The root node should be expanded by default. Also
6541 added a utility prop to tell if we are the root node.
6542 * TreeNodeCollection.cs: Only refresh if the node we are being
6543 added to is expanded. Also added a comment on a potential
6546 2005-10-04 Peter Dennis Bartok <pbartok@novell.com>
6548 * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize()
6549 in dispose method. Fixes #76330
6551 2005-10-04 Jordi Mas i Hernandez <jordi@ximian.com>
6553 * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
6555 - Implements vertical and horizontal scrolling using XplatUI
6556 - Fixes keyboard navagation
6557 - Fixes EnsureVisible
6559 - Handles and draws focus properly
6562 2005-10-04 Kornél Pál <kornelpal@hotmail.com>
6564 * ImageList.cs: Use upper case initials for internal fields. ImageStream:
6565 Create handle. NET_2_0: Destroy handle when value is null.
6567 2005-10-03 Jackson Harper <jackson@ximian.com>
6569 * ScrollBar.cs: My last scrollbar patch was broken. This is a
6570 revert and a new patch to prevent the thumb from refreshing so
6573 2005-10-02 Jackson Harper <jackson@ximian.com>
6575 * ScrollBar.cs: Don't update position if it hasn't actually
6576 changed. This occurs when you hold down the increment/decrement
6577 buttons and the thumb gets to the max/min.
6579 2005-10-01 Jackson Harper <jackson@ximian.com>
6582 * MdiChildContext.cs:
6583 * MdiClient.cs: Implement ActiveMdiChild in Form.
6585 2005-10-01 Jordi Mas i Hernandez <jordi@ximian.com>
6587 * ComboBox.cs: Include ComboBoxEdit flag for the edit item
6589 2005-10-01 Peter Dennis Bartok <pbartok@novell.com>
6591 * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
6594 2005-09-30 Jackson Harper <jackson@ximian.com>
6596 * ListBox.cs: Don't do a full refresh unless some data has
6599 2005-09-30 Jackson Harper <jackson@ximian.com>
6601 * TreeView.cs: Make sure that the checkboxes size is factored in
6602 even when not visible.
6604 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
6606 * FileDialog.cs: Fix Jordi's build break
6608 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
6611 - Use standard the Windows colours for the combobox as espected
6612 - Dispose objects that use resouces when no longer need them
6614 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
6616 * X11DesktopColors.cs: Initial incomplete implementation
6617 * XplatUIX11.cs: Added call to initialize X11DesktopColors
6619 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
6622 - Switched Theme color names to match the names defined in
6623 System.Drawing.KnownColors. Life's hard enough, no need to make
6625 - Added setters to all theme color properties so themes can set
6626 their color schemes. The setters also propagate the color changes
6627 to System.Drawing.KnownColors via reflection
6628 * ControlPaint.cs, Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
6629 ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
6630 DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
6631 use the new, more logical theme color names
6632 * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
6634 * ThemeWin32Classic.cs:
6635 - Removed code to set the old classic Windows colors. Instead it
6636 now relies on the colors returned by System.Drawing.KnownColors
6637 which will be either modern static colors (Unix) or colors
6638 read from the user's configuration (Win32)
6639 - Updated to use the new, more logical theme color names
6640 - Switched DataGrid drawing code to use only Theme colors instead of
6641 a mix of System.Drawing.KnownColors and Theme colors
6642 - DrawFrameControl(): Removed code that fills the button area, the
6643 fill would overwrite any previous fill done by a control. This
6645 - Added DrawReversibleRectangle() stub
6646 * ScrollableControl.cs: Set visible state to false when scrollbars
6647 are removed (pdn fix)
6648 * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added
6649 DrawReversibleRectangle() method to allow drawing primitive
6651 * XplatUIX11.cs: Implemented DrawReversibleRectangle()
6653 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6655 * ImageList.cs: Add(Icon): Create handle.
6657 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
6660 * ThemeWin32Classic.cs:
6663 - Issues with drawing
6665 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6667 * ImageList.cs: Moved RecreateHandle back to ImageList as event
6668 source has to be the ImageList.
6670 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6672 * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
6674 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6676 * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
6678 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6680 * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
6682 2005-09-29 Jonathan Chambers <jonathan.chambers@ansys.com>
6683 * GridItem.cs: Fixed TODOs
6684 * GridItemCollection.cs: Added ICollection interface
6686 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
6688 * ImageList.cs: Resize icons when needed.
6690 2005-09-29 Jordi Mas i Hernandez <jordi@ximian.com>
6693 - Fixes GetBounds and returns on screen rects
6695 - Fixes vertical and horzintal scrolling of items
6696 * ThemeWin32Classic.cs:
6699 2005-09-29 Raja R Harinath <harinath@gmail.com>
6701 * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
6703 2005-09-29 Kornél Pál <kornelpal@hotmail.com>
6705 * ImageList.cs: Added comments about handle creation. Moved Handle,
6706 HandleCreated and OnRecreateHandle implementations to ImageCollection.
6707 Handle is created in Add methods.
6709 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
6711 * DataGridDrawingLogic.cs:
6712 - Takes rows into account on Colum calculations
6713 - Returns the column when clickig
6715 - Fixes default HitTestInfo values
6716 - Fixes HitTestInfo.ToString
6717 - Fixes ResetBackColor
6719 2005-09-28 Jackson Harper <jackson@ximian.com>
6721 * MdiChildContext.cs: Obey rules for fixed sized windows (no
6722 sizing or cursor changes). Also added some temp code to draw the
6723 titlebars text (Makes dev a little easier).
6725 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
6727 * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
6729 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
6731 * ListBox.cs: Fixes bug 76253
6733 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
6735 * ImageList.cs: Added comments about the current implementation. Added
6736 ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
6737 Format32bppArgb to preserve transparency and can use Graphics.FromImage
6738 while using the specified ColorDepth. ReduceColorDepth uses unsafe code
6739 with Bitmap.LockBits for better performance. Revised the whole file to
6740 match MS.NET behaviour and provide better performance. Non-public
6741 interface members are calling public members even when they throw
6742 NotSupportedException for better maintainability. Moved ColorDepth,
6743 ImageSize, ImageStream and TransparentColor implementations to
6744 ImageCollection for better performance as these properties are not used
6746 * ImageListStreamer.cs: Added a new internal constructor that takes an
6747 ImageList.ImageCollection and serializes Images based on
6748 ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
6749 match ImageList property name.
6751 2005-09-28 Kazuki Oikawa <kazuki@panicode.com>
6753 * ListBox.cs: Fixes IndexFromPoint for last item
6755 2005-09-27 Jackson Harper <jackson@ximian.com>
6757 * Form.cs: Set the position of new mdi children correctly.
6759 2005-09-27 Jackson Harper <jackson@ximian.com>
6761 * MdiClient.cs: New mdi children need to be added to the back of
6762 the controls collection so the zorder is set correctly. Also add a
6763 count of all the child windows that have been created.
6765 2005-09-27 Jackson Harper <jackson@ximian.com>
6767 * Form.cs (CreateParams): Setup MDI forms correctly.
6769 2005-09-27 Jackson Harper <jackson@ximian.com>
6771 * MdiChildContext.cs:
6778 * ScrollableControl.cs:
6779 * ComboBox.cs: Add implicit controls using the new implict control
6780 functionality in ControlCollection. Also try to block multiple
6781 control add in a suspend/resume layout to save some cycles.
6783 2005-09-27 Jackson Harper <jackson@ximian.com>
6785 * Control.cs: Add functionality to the controls collection to add
6786 'implicit controls' these are controls that are created by the
6787 containing control but should not be exposed to the user. Such as
6788 scrollbars in the treeview.
6789 * Form.cs: The list var of the ControlsCollection is no longer
6790 available because of the potential of implicit controls getting
6791 ignored by someone accessing the list directly.
6793 2005-09-26 Peter Dennis Bartok <pbartok@novell.com>
6795 * Control.cs: Fixed SetChildIndex; it no longer causes a child to
6796 loose it's parent. (Fixed bug introduced in r49103 when we added
6797 setting the child parent to null on Remove)
6799 2005-09-26 Gert Driesen <drieseng@users.sourceforge.net>
6801 * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
6802 * Splitter.cs: Added missing attributes for BorderStyle property.
6803 * TextBoxBase.cs: Marked Calculate* methods internal.
6804 * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
6807 2005-09-26 Jordi Mas i Hernandez <jordi@ximian.com>
6809 * ListBox.cs: Fixes navigation to the last item in multicolumn lists
6811 2005-09-25 Jackson Harper <jackson@ximian.com>
6813 * TreeView.cs: Update the node bounds correctly regardless of
6814 whether the node is visible.
6816 2005-09-25 Jackson Harper <jackson@ximian.com>
6818 * ImageList.cs: Don't dispose the image after it is added to the
6819 image list. Only reformat images that need to be resized.
6821 2005-09-25 Jackson Harper <jackson@ximian.com>
6823 * ImageList.cs: Don't set the format when changing the image.
6825 2005-09-25 Jackson Harper <jackson@ximian.com>
6827 * TreeView.cs: We can't just assume the node has a font. Use the
6828 treeviews font if no node font is available.
6830 2005-09-25 Jackson Harper <jackson@ximian.com>
6832 * TreeView.cs: Allow the scrollbars to be reset with negative
6834 - Don't add scrollbars to negative sized windows.
6836 2005-09-23 Jackson Harper <jackson@ximian.com>
6838 * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
6839 old Mono.Posix. Also remove some stray code that shouldn't have
6842 2005-09-23 Jackson Harper <jackson@ximian.com>
6844 * TreeView.cs: Attempt at proper sizing of the horizontal
6845 scrollbar. Also don't resize the scrollbars unless they are
6848 2005-09-23 Jackson Harper <jackson@ximian.com>
6850 * TreeView.cs: We don't need to expand the invalid area when the
6851 selection changes, as this is all drawn in the node's bounding
6852 box. The area needs to be expanded (previous typo was contracting
6853 it) when the focus rect moves.
6855 2005-09-23 Jackson Harper <jackson@ximian.com>
6857 * TreeView.cs: Display the selection box under the correct
6858 circumstances. We were rendering white text with no selection box
6861 2005-09-23 Peter Dennis Bartok <pbartok@novell.com>
6863 * TextControl.cs(Split): Now updates selection start/end if it points
6864 into a line that's being split. Fixes a FIXME and bug #75258
6866 2005-09-23 Jackson Harper <jackson@ximian.com>
6869 * ListControl.cs: Don't use the path when retrieving binding
6870 managers from the binding context. My bat sense tells me that the
6871 path is only used on insertion.
6873 2005-09-22 Jackson Harper <jackson@ximian.com>
6875 * Splitter.cs: Set the cursor an easier way. (Thanks peter).
6877 2005-09-22 Jackson Harper <jackson@ximian.com>
6879 * Splitter.cs: There are special cursors used for splitting.
6880 * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
6882 2005-09-22 Jackson Harper <jackson@ximian.com>
6884 * Splitter.cs: Change the cursor appropriately when the splitter
6885 is moused over, so the user actually knows there is a splitter
6888 2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
6890 * Label.cs : Fix ToString method to give same output as MS.NET
6892 2005-09-22 Jackson Harper <jackson@ximian.com>
6894 * TreeView.cs: Create the scrollbars when the handle is created
6895 and add them right away, just make them invisble. Also account for
6896 the window being shrunk vertically to the point that the vert
6897 scrollbar needs to be added.
6898 - Remove some 0.5 adjustments to get around anti aliasing issues.
6900 2005-09-22 Jordi Mas i Hernandez <jordi@ximian.com>
6902 * MainMenu.cs: Fixes default value
6903 * MenuItem.cs: Fixes default value
6905 2005-09-22 Kazuki Oikawa <kazuki@panicode.com>
6907 * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
6909 2005-09-21 Jackson Harper <jackson@ximian.com>
6911 * Control.cs: Don't try to set the border style on the window if
6912 it hasn't been created. When the window is created the border
6915 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6917 * Control.cs (Update): Don't call XplatUI if we don't have a
6920 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6922 * ContainerControl.cs: Instead of throwing an exception, print
6923 a one-time warning about Validate not being implemented
6924 * XplatUIWin32.cs: Removed debug output
6926 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6928 * Control.cs: Only set XplatUI background if we expect the windowing
6929 system to handle the background. This stops controls that draw their
6930 own background from flickering
6932 * XplatUIX11.cs: Support custom visuals and colormaps for window
6933 creation. This allows, amongst other things, using MWF X11 windows
6936 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6938 * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
6939 CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
6940 GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
6941 SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
6942 TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
6943 IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
6944 KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
6945 RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
6946 ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
6947 ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
6948 GridColumnStylesCollection.cs,
6949 IDataGridColumnStyleEditingNotificationService.cs,
6950 PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
6951 MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
6952 GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs,
6953 TreeNodeCollection.cs, AmbientProperties.cs,
6954 RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
6955 DataObject.cs, ErrorProvider.cs, Splitter.cs,
6956 DataGridLineStyle.cs, Shortcut.cs, Control.cs,
6957 FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
6958 BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
6959 IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
6960 FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
6961 IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
6962 NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
6963 PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
6964 SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
6965 FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
6966 DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
6967 ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
6968 RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
6969 MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
6970 ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
6971 CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
6972 MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
6973 NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
6974 ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
6975 SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
6976 Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
6977 RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
6978 DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
6979 ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
6980 PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
6981 DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
6982 ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
6983 AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
6984 RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
6985 CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
6986 SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
6987 Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
6988 SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
6989 ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
6990 TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
6992 2005-09-21 Jackson Harper <jackson@ximian.com>
6994 * TreeNode.cs: Call Before/After Expand not Collapse when
6997 2005-09-20 Jackson Harper <jackson@ximian.com>
6999 * XplatUIX11.cs: Use the more hand looking hand (in most themes).
7001 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
7005 - Fixes proper storing of subitems
7006 - Fixes not updated items
7008 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
7010 * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
7011 things if our window handle isn't created yet. Also disabled
7012 debug for TextBoxBase
7014 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
7016 * MenuAPI.cs: Remove filtering of events to allow menu usage
7018 2005-09-20 Miguel de Icaza <miguel@novell.com>
7020 * Cursor.cs: Allow null to be passed to Cursor.Current.
7022 2005-09-20 Alexander Olk <alex.olk@googlemail.com>
7024 * ThemeWin32Classic.cs:
7025 - Change some private methods/fields to protected virtual so that
7026 they can be accessed and overriden in derived classes
7027 - First refactoring of some methods. Derived themes now don't
7028 need to duplicate the complete code from ThemeWin32Classic
7030 - Added nice StatusBar
7031 - Derive from ThemeWin32Classic and not Theme
7032 - Removed duplicate ThemeWin32Classic code
7034 2005-09-20 Miguel de Icaza <miguel@novell.com>
7036 * Control.cs (ControlCollection.Add): If the value null is passed
7037 the control is ignored.
7041 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
7043 * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
7044 PostQuitMessage state.
7045 * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
7047 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
7049 * Application.cs: Our constructor will never get called, move
7050 initialization to fields; fixes bug #75933
7052 2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
7055 - Allow files to be selected properly using file name
7057 - Add ability to change diretory (absolute / relative)
7058 using file name combo box.
7060 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
7063 - Fixes Multicolumn listboxes item wrong calculations
7064 - Allows to click when only one item is in the listbox
7065 - Fixes crash when no items using keyboard navigation
7067 2005-09-16 Alexander Olk <alex.olk@googlemail.com>
7069 * ComboBox.cs: Reverted almost everything from the latest patch which
7072 2005-09-16 Kazuki Oikawa <kazuki@panicode.com>
7075 - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
7077 - When DropDownStyle is Simple, it does not show scrollbar
7078 to the last item of the list.
7079 - When DropDownStyle is Simple, it crashed when the list was
7080 scrolled down with the down cursor key.
7081 - Fixed a bug that when DropDownStyle is DropDownList, the
7082 selected item was not shown.
7083 - The position of the selected item was not preserved when
7084 the next dropdown happened.
7085 * ThemeWin32Classic.cs:
7086 - Items were wrapped at the right end.
7087 * CheckedListBox.cs:
7090 - Items should be fully shown.
7091 - When resizing and vertical scrollbar disappeared, the item
7092 of index 0 should be on the top of the list.
7093 - GetItemRectangle should consider the size of ver. scrollbar
7095 - SizingGrip area should not be allocated when it is not
7097 - Now it reflects MinWidth of the containing panel and
7098 fixed a crash that happens when its width becomes so small.
7100 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
7102 * CheckedListBox.cs: Fixes bug 76028
7103 * ListBox.cs: Fixes bug 76028
7105 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
7107 * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
7108 * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
7110 2005-09-12 Jordi Mas i Hernandez <jordi@ximian.com>
7112 * XplatUIX11.cs: fixes System.NullReferenceException in some situations
7114 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
7116 * IRootGridEntry.cs: Changed namespace to PropertyGridInternal
7118 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
7120 * IRootGridEntry.cs: Added
7121 * PropertyGridCommands.cs: Added
7122 * PropertiesTab.cs: Added missing methods and property
7123 * PropertyGridView.cs: Made class internal
7124 * PropertyGridTextBox.cs: Made class internal
7126 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
7128 * MimeIcon.cs: Try to check some other environment variables
7129 if "DESKTOP_SESSION" returns "default"
7131 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
7133 * ThemeNice.cs: Corrected background colors (e.g. menus)
7134 * ColorDialog.cs: Use correct background colors for controls
7136 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
7138 * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
7140 2005-09-08 Peter Dennis Bartok <pbartok@novell.com>
7142 * RichTextBox.cs: Added initial implementation
7143 * lang.cs: Removed. Was accidentally checked in long time ago
7144 * TODO: Removed. Contents were obsolete
7146 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
7148 * PropertiesTab.cs : Added
7150 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
7152 * PropertyGrid.cs : Update
7153 * PropertyGridView.cs : Update
7154 * System.Windows.Forms.resx : Added images and strings
7156 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
7158 * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
7160 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
7162 * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
7163 a busy loop right after the Ungrab the X11 display is otherwise
7166 2005-09-06 Jordi Mas i Hernandez <jordi@ximian.com>
7168 * ThemeWin32Classic.cs: Optimise the use of clipping
7170 2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com>
7172 * DataGrid.cs: fixes recursion bug
7174 2005-09-03 Alexander Olk <alex.olk@googlemail.com>
7177 - Draw RadioButton and CheckBox Buttons with DrawButtonBase
7180 2005-09-02 Alexander Olk <alex.olk@googlemail.com>
7182 * ThemeNice.cs: Draw nice ProgressBars
7184 2005-09-01 Miguel de Icaza <miguel@novell.com>
7186 * VScrollBar.cs: Another buglet found by Aaron's tool.
7188 * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
7191 2005-08-30 Alexander Olk <alex.olk@googlemail.com>
7194 - Added nicer menu drawing
7198 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
7200 * CreateParams.cs (ToString): Made output match MS
7201 * Control.cs (Text): Don't set Text or Focus via XplatUI unless
7202 handle is already created (to avoid forcing window creation)
7203 * XplatUIX11.cs: Set window text to caption after creating window,
7204 in case Text was set before window was created
7205 * Form.cs: Use this.Text instead of a static string as caption
7207 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
7209 * NotifyIcon.cs: Don't set the window to visible; this screws
7210 up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
7211 OnPaint without a bitmap)
7212 * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't
7213 happen very often anyway; we could add the check to the WM_PAINT
7214 event generation code
7216 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
7218 * NotifyIcon.cs: Fill the icon area with a background color, to
7219 avoid 'residue' when transparent icons are drawn
7221 - Handle whole_window == client_window when destroying windows
7222 - SystrayAdd(): Set client_window to whole_window value to
7223 get mouse and other events passed to NotifyIcon
7225 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
7227 * Form.cs: Set proper default for Opacity property
7229 - ShowSystray(): Don't bother creating telling the OS
7230 about the systray item if no icon is provided
7231 - Now handles WM_NCPAINT message to deal with whole/client window
7233 - Create window as visible to not get caught by Expose optimization
7234 * Hwnd.cs: Removed debug message
7235 * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
7236 StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched
7237 PaintEventStart/End to use new client argument
7239 - Commented out debug messages
7240 - Switched PaintEventStart/End to use new client argument
7241 * XplatUI.cs: Added client window bool to PaintEventStart()/
7242 PaintEventEnd() calls, to support drawing in non-client areas
7244 - Added client window bool to PaintEventStart()/PaintEventEnd()
7245 calls, to support drawing in non-client areas
7246 - Added conditional compile to allow using MWF BeginInvoke
7249 - Added some conditional debug output
7250 - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
7251 whole/client window split
7252 - Implemented handling of client argument to PaintEventStart()/End()
7254 - Throw exception if BeginInvoke() is called and the window handle
7255 or one of the window's parent handles is not created
7256 - Added conditional compile to allow using MWF BeginInvoke on
7258 - get_Parent(): Only sets parent if handle is created. This avoids
7259 forcing window handle creation when parent is set.
7260 - Now fires Layout and Parent changed events in proper order
7261 - Switched to use Handle instead of window.Handle for Z-Order setting,
7262 the get_Parent() patch above causes us to possibly get null for 'window'
7263 - Implemented handling of client argument to PaintEventStart()/End()
7264 - Now reports back to windows that WM_SETCURSOR was handled (to avoid
7266 - Now sends a Refresh() to all child windows when Refresh() is called
7268 2005-08-29 Peter Dennis Bartok <pbartok@novell.com>
7270 * Form.cs: Added (non-functional) Opacity property
7271 * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
7273 2005-08-29 Alexander Olk <xenomorph2@onlinehome.de>
7274 * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
7275 use export MONO_THEME=nice to activate it.
7276 Currently supported controls:
7280 - TabControl (TabAlignment.Top only, other will follow)
7281 * ThemeEngine.cs: Add theme nice
7282 * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
7285 2005-08-25 Jonathan Chambers <jonathan.chambers@ansys.com>
7287 * Splitter.cs: Resize docked control and its neighbor.
7289 2005-08-24 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
7290 -- Making Windows with Menus layout correctly --
7291 * Form.cs : The first leg of the fix
7292 Menu setter - adjust Client Size as needed to make space for the menu
7293 SetClientSizeCore - doesn't call base version to be able to pass the
7294 menu handle to XplatUI.CalculateWindowRect
7295 * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
7296 * XplatUIX11.cs: The critical second leg of the fix
7297 GetWindowPos needs to use a recalculated client_rect
7298 so that resizing the window doesn't break layout of child controls.
7299 Also a more complete rule to avoid X Server roundtrips in SetWindowPos
7302 2005-08-23 Peter Dennis Bartok <pbartok@novell.com>
7304 * Label.cs: Now properly recalculates width and height on Font and Text
7305 changes if AutoSize is set
7307 2005-08-19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
7308 * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
7310 2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com>
7312 * ImageList.cs: Makes ToString method compatible with MS
7314 2005-08-18 Jordi Mas i Hernandez <jordi@ximian.com>
7316 * MenuAPI.cs: fixes bug 75716
7318 2005-08-11 Umadevi S <sumadevi@novell.com>
7319 * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
7321 2005-08-11 Umadevi S <sumadevi@novell.com>
7322 * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
7324 2005-08-10 Umadevi S <sumadevi@novell.com>
7325 * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
7327 2005-08-07 Jordi Mas i Hernandez <jordi@ximian.com>
7329 * Menu.cs: fixes bug 75700
7330 * MenuAPI.cs: fixes navigation issues
7332 2005-08-09 Umadevi S <sumadevi@novell.com>
7333 * CheckedListBox.cs - simple fix for GetItemChecked.
7335 2005-08-08 Jordi Mas i Hernandez <jordi@ximian.com>
7337 * ComboBox.cs: Serveral fixes
7338 * ListBox.cs: Serveral fixes
7340 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
7342 * ComboBox.cs: Fixes FindString methods and GetItemHeight
7343 * ListBox.cs: Fixes FindString methods
7345 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
7347 * DataGrid.cs: fixes bugs exposed by new tests
7349 2005-08-04 Peter Dennis Bartok <pbartok@novell.com>
7351 * Mime.cs: Compile Mono assembly references only if compiling
7352 with Mono (Allows to build with VS.Net again)
7354 2005-07-28 Marek Safar <marek.safar@seznam.cz>
7356 * Control.cs (PaintControlBackground): Draw background image
7358 (CheckForIllegalCrossThreadCalls): Stubbed.
7360 * Form.cs (OnCreateControl): Center when should be centered.
7362 * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
7364 2005-07-19 Jordi Mas i Hernandez <jordi@ximian.com>
7366 * Binding.cs: Binding to properties should be case unsensitive
7368 2005-07-18 vlindos@nucleusys.com
7370 * DataGrid.cs: fixes setmember order
7372 2005-07-07 Alexander Olk <xenomorph2@onlinehome.de>
7374 * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
7375 * FileDialog.cs: FileDialog is now resizable and uses the new
7378 2005-07-06 Jordi Mas i Hernandez <jordi@ximian.com>
7380 * DataGridTextBoxColumn.cs: default value
7381 * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
7382 * GridTableStylesCollection.cs: fixes checking MappingName
7383 * DataGridDrawingLogic.cs: fixes drawing logic issues
7384 * DataSourceHelper.cs: rewritten to make compatible with more data sources
7385 * DataGrid.cs: fixes
7387 2005-07-06 Alexander Olk <xenomorph2@onlinehome.de>
7389 * MimeGenerated.cs: Use case sensitive comparer for
7390 NameValueCollections
7392 2005-07-01 Jordi Mas i Hernandez <jordi@ximian.com>
7394 * DataGridTextBoxColumn.cs: bug fixes, code refactoring
7395 * ThemeWin32Classic.cs: bug fixes, code refactoring
7396 * DataGridDrawingLogic.cs: bug fixes, code refactoring
7397 * DataGrid.cs: bug fixes, code refactoring
7398 * DataGridTextBox.cs: bug fixes, code refactoring
7399 * DataGridColumnStyle.cs: bug fixes, code refactoring
7400 * Theme.cs: bug fixes, code refactoring
7402 2005-07-01 Peter Bartok <pbartok@novell.com>
7404 * TextControl.cs: Quick fix for the reported crash on ColorDialog
7405 and other text box usage
7407 2005-07-01 Jackson Harper <jackson@ximian.com>
7409 * TabControl.cs: Make sure the bottom of the tab covers the pages
7412 2005-06-30 Peter Bartok <pbartok@novell.com>
7414 * Form.cs (ShowDialog): Assign owner of the dialog
7415 * TextBoxBase.cs: Always refresh caret size when deleting, caret
7416 might have been moved to a tag with different height
7418 2005-06-30 Jackson Harper <jackson@ximian.com>
7420 * Form.cs: Don't create an infinite loop when setting focus
7421 * MenuItem.cs: Don't dirty the parents if we don't have any
7423 2005-06-29 Ben Maurer <bmaurer@ximian.com>
7425 * LibSupport.cs: Rename
7427 2005-06-29 Peter Bartok <pbartok@novell.com>
7429 * TextBoxBase.cs: Re-align caret after deleting a character
7431 - DeleteChars(): Ensure that tag covers the provided position
7432 - StreamLine(): Drop reference for dropped tag
7434 2005-06-29 Peter Bartok <pbartok@novell.com>
7437 - Selections now work properly, anchoring at the initial location
7438 and properly extending in either direction (SetSelectionToCaret(),
7439 SetSelectionStart() and SetSelectionEnd())
7440 - No longer redraws the whole control on selection change, now
7441 calculates delta between previous and new selection and only
7442 invalidates/redraws that area
7443 - Fixed FindPos() math off-by-one errors
7444 - Changed DeleteChars() to verify the provided tag covers the
7445 provided position, selections may have a tag that doesn't cover
7446 the position if the selection is at a tag border
7447 - Fixed off-by-one errors in DeleteChars()
7448 - Added missing streamlining check in DeleteChars() to remove
7450 - Implemented Invalidate() method, now properly calculates exposures
7451 between two given lines/positions
7452 - Implemented SetSelection()
7453 - Obsoleted and removed FixupSelection()
7454 - Improved RecalculateDocument() logic, removing code duplication
7456 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7458 * LibSupport.cs: changes to match different input/output arguments.
7460 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7462 * LibSupport.cs: added libsupport.so init routine.
7464 2005-06-29 Jordi Mas i Hernandez <jordi@ximian.com>
7466 * ControlBindingsCollection.cs
7467 - Throws an exception on null datasource when adding
7468 - Checks for duplicated bindings when adding
7470 2005-06-28 Jackson Harper <jackson@ximian.com>
7472 * TreeView.cs (OnKeyDown): Support left and right properly
7473 (navigates as well as expanding and collapsing.
7474 - Add support for Multiply, this expands all the selected nodes
7478 2005-06-28 Jackson Harper <jackson@ximian.com>
7480 * TreeView.cs: Implement keyboard navigation, currently supports,
7481 LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
7482 support for toggling checkboxes with the space bar.
7484 2005-06-28 Jackson Harper <jackson@ximian.com>
7486 * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
7489 2005-06-28 Jackson Harper <jackson@ximian.com>
7491 * TreeView.cs: Add missing event.
7493 2005-06-27 Peter Bartok <pbartok@novell.com>
7496 - Made line ending size configurable (now allows for counting
7497 lineendings as \n or \r\n)
7498 - Added margin to viewport to keep caret visible on right side
7499 - Fixed translation routines for line/pos to documentpos to consider
7500 cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
7501 - Fixed some line-endings to be unix style
7502 - Fixed Document.FormatText to perform it's calculations 1-based
7503 - Added descriptions for a few methods that might otherwise get
7505 - Added NOTE section with some basic conventions to remember at
7507 - Major fixup for RichTextBox selection drawing:
7508 * Fixed crashes when multiple tags on a single line were selected
7509 * fixed selection box drawing not overlaying text
7510 * fixed bogus offset calculation for tags not starting at index 1
7511 * Switched behaviour from using multiple Substrings of a
7512 StringBuilder.ToString() to using multiple
7513 StringBuilder.ToString(start, length) statements, hoping this is
7514 faster (kept original version commented out in the code, in case
7515 original version was faster)
7516 * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if
7518 * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
7521 2005-06-27 Jackson Harper <jackson@ximian.com>
7523 * TabControl.cs: Move to the left and right with the arrow
7524 keys. These keys don't cycle beyond first and last like
7525 tab. Refresh all the tabs when scrolling them to the left or
7528 2005-06-27 Jackson Harper <jackson@ximian.com>
7531 - ToString: Added method
7532 - CreateParams: Remove TODO and comment
7533 - OnKeyDown: Cycle through bounds properly.
7534 - SelectedIndex: Scroll to the right or left if we need to
7535 display the newly selected tab.
7537 2005-06-23 Jackson Harper <jackson@ximian.com>
7539 * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
7542 2005-06-23 Jackson Harper <jackson@ximian.com>
7544 * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
7545 CTRL-SHIFT-TAB, and HOME, END are there any others?
7547 2005-06-23 Jackson Harper <jackson@ximian.com>
7549 * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
7551 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
7553 * DataGridTextBoxColumn.cs: fixes and enhancements
7554 * ThemeWin32Classic.cs: fixes and enhancements
7555 * DataGridBoolColumn.cs: fixes and enhancements
7556 * DataGridDrawingLogic.cs: fixes and enhancements
7557 * CurrencyManager.cs: fixes and enhancements
7558 * DataGrid.cs: fixes and enhancements
7559 * DataGridColumnStyle.cs: fixes and enhancements
7561 2005-06-22 Jackson Harper <jackson@ximian.com>
7563 * TabControl.cs: Add some missing methods that just call into the
7564 base. Make the TabPageCollection's IList interface behave in the
7565 same manner as the MS implementation.
7567 2005-06-22 Peter Bartok <pbartok@novell.com>
7569 * TextControl.cs: Added sanity check
7571 - Fixed wrapping behaviour, don't set wrap on single line controls
7572 (this fixes the breakage of colordialog introduced in an earlier
7574 - Added rudimentary support for autoscrolling right-aligned controls
7575 (still needs fixing, also, center alignment scroll is missing)
7577 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
7579 * ScrollBar.cs: Fixes thumbpos on Maximum values
7581 2005-06-21 Jonathan Chambers <jonathan.chambers@ansys.com>
7583 * PropertyGridView.cs: Pass context information to UITypeEditors
7585 2005-06-21 Peter Bartok <pbartok@novell.com>
7588 - Now calling PositionCaret with absolute space coordinates
7589 - Enabled vertical scrolling
7590 - Better tracking of scrollbar changes, tied into WidthChange
7592 - Improved cursor tracking
7593 - Removed debug output
7595 - PositionCaret coordinates are now works in absolute space, not
7597 - Improved tracking of document size
7598 - Added events for width and height changes
7600 2005-06-21 Peter Bartok <pbartok@novell.com>
7602 * Form.cs: Set focus to active control when form is activated
7604 - Added word-wrap functionality to RecalculateLine()
7605 - Added some short function descriptions for VS.Net to aid in
7606 writing dependent controls
7607 - Added Caret property, returning the current coords of the caret
7608 - Added ViewPortWidth and ViewPortHeight properties
7609 - Added Wrap property
7610 - Added CaretMoved event
7611 - Removed some old debug code
7612 - Split() can now create soft splits
7613 - Added PreviousTag()/NextTag() to allow walking "tag-lists"
7614 - Added method to format existing text
7615 - Fixed size/alignment calculations to use viewport
7616 - RecalculateDocument now can handle changing line-numbers while
7620 - Added some wrap logic, we don't wrap if alignment is not left
7621 - Added casts for scrollbar var, base class switched types to
7622 also support RichTextBoxA
7623 - Implemented handling of scrollbar visibility flags
7626 - Switched scrollbars type to RichTextBoxScrollBars to support
7628 - Added tracking of canvas width/height
7629 - Switched scrollbars to be not selectable (to keep focus on text)
7630 - Added central CalculateDocument() method to handle all redraw
7632 - Added ReadOnly support
7633 - Added WordWrap support
7634 - Fixed handling of Enter key (we now treat it as a DialogKey)
7635 - Fixed caret positioning when h or v scroll is not zero
7636 - Fixed placing/generation of vertical scrollbar
7637 - Added CalculateScrollBars() method to allow updating scrollbar
7638 limits and visibility
7639 - Fixed handling of horizontal scroll
7640 - Added handling of vertical scroll
7641 - Implemented auto-'jump' when caret moves to close to a left or
7642 right border and there is text to be scrolled into view (currently
7643 there's the potential for a stack overflow, until a bug in
7646 2005-06-21 Geoff Norton <gnorton@customerdna.com>
7648 * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
7650 2005-06-19 Alexander Olk <xenomorph2@onlinehome.de>
7654 - return application/x-zerosize for files with size zero
7655 (if no extension pattern matches).
7656 - check matches collection for strings too.
7657 - return only the first mime type if the name value
7658 collection has more than one mime type.
7660 2005-06-18 Jonathan Chambers <jonathan.chambers@ansys.com>
7662 * PropertyGrid.cs: Cleaned up some TODOs
7663 * PropertyGridView.cs: Added support for UITypeEditors
7665 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
7667 * DataGrid.cs: clears cached value
7669 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
7671 * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
7672 * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
7673 * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
7674 * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
7676 2005-06-16 Jordi Mas i Hernandez <jordi@ximian.com>
7678 * ThemeWin32Classic.cs: fixes colour
7680 2005-06-15 Peter Bartok <pbartok@novell.com>
7682 * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
7683 * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
7684 * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
7685 * Control.cs: Added some MWFCategory and MWFDescription attributes
7686 * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
7688 2005-06-15 Alexander Olk <xenomorph2@onlinehome.de>
7690 * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
7693 2005-06-14 Jordi Mas i Hernandez <jordi@ximian.com>
7695 * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
7696 * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
7697 * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
7698 * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
7699 * DataGrid.cs: default datagrid settings for Default Styles, fixes
7700 * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
7702 2005-06-13 Jackson Harper <jackson@ximian.com>
7704 * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
7705 isn't printed when the user enables dropping. (X11 does accept
7708 2005-06-13 Jackson Harper <jackson@ximian.com>
7710 * TreeView.cs: Remove some TODOS.
7712 2005-06-13 Jackson Harper <jackson@ximian.com>
7714 * Form.cs: Hook into the mdi framework.
7715 * MdiClient.cs: Use the base control collections add method so
7716 parents get setup correctly. Set the default back colour and dock
7718 * MdiChildContext.cs: New class, this bad actor handles an
7719 instance of an MDI window. Right now there is only basic
7720 support. You can drag, close, and resize windows. Minimize and
7721 Maximize are partially implemented.
7723 2005-06-13 Jackson Harper <jackson@ximian.com>
7725 * XplatUIX11.cs: Mash numbers together properly, otherwise we get
7726 freaky when both vals are negative. NOTE: There are probably other
7727 places in XplatUIX11 that this needs to be done.
7729 2005-06-13 Jordi Mas i Hernandez <jordi@ximian.com>
7731 * DataGrid.cs: implement missing methods, move KeyboardNavigation
7732 * DataGridColumnStyle.cs: fixes signature
7734 2005-06-12 Jackson Harper <jackson@ximian.com>
7736 * XplatUIX11.cs: Use sizing cursors similar to the ones on
7739 2005-06-11 Jackson Harper <jackson@ximian.com>
7741 * StatusBarPanel.cs: Signature cleanups. Implement
7744 2005-06-10 Jordi Mas i Hernandez <jordi@ximian.com>
7746 * DataGridTextBoxColumn.cs: Honors aligment
7747 * GridColumnStylesCollection.cs: Contains is case unsensitive
7748 * GridTableStylesCollection.cs: several fixes
7749 * DataGridTableStyle.cs: default column creation
7750 * DataGridDrawingLogic.cs: fixes
7751 * CurrencyManager.cs: ListName property
7752 * DataGrid.cs: multiple styles support
7753 * DataGridColumnStyle.cs: fixes
7756 2005-06-10 Peter Bartok <pbartok@novell.com>
7758 * Control.cs(Select): Moved SetFocus call to avoid potential
7759 loops if controls change the active control when getting focus
7760 * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
7763 2005-06-10 Matthias Felgner <matthiasf@voelcker.ocm>
7765 * ImageListConverter.cs: Implemented
7767 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
7769 * MonthCalendar.cs: Wired in NumericUpDown control for year
7771 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
7773 * MonthCalendar.cs: Removed MonoTodo attributes on Click and
7774 DoubleClick events, since they are not meant to be fired.
7776 2005-06-09 Peter Bartok <pbartok@novell.com>
7778 * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
7779 Jonathan's standalone controls into MWF, implemented missing
7780 events, attributes and methods; added xxxAccessible classes
7781 * AccessibleObject.cs: Made fields internal so other classes
7782 can change them if needed
7784 2005-06-09 Jonathan Gilbert <2a5gjx302@sneakemail.com>
7786 * UpDownBase.cs: Complete implementation
7787 * NumericUpDown.cs: Complete implementation
7788 * DomainUpDown.cs: Complete implementation
7790 2005-06-09 Jordi Mas i Hernandez <jordi@ximian.com>
7792 * DataGridTextBoxColumn.cs: drawing fixes
7793 * DataGridCell.cs: fixes ToString method to match MSNet
7794 * DataGridTableStyle.cs: fixes
7795 * DataGridBoolColumn.cs: fixes, drawing
7796 * DataGridDrawingLogic.cs: fixes, new methods
7797 * DataGridTextBox.cs: Keyboard and fixes
7799 - Keyboard navigation
7801 - Row selection (single, multiple, deletion, etc)
7804 2005-06-07 Jackson Harper <jackson@ximian.com>
7806 * ThemeWin32Classic.cs: Clear the background area when drawing
7809 2005-06-06 Peter Bartok <pbartok@novell.com>
7811 * ImageListStreamer.cs: Fixed signature for GetData
7812 * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
7814 - Added missing ChildAccessibleObject class
7815 - Added missing OnXXXFocus overrides, switched to using those
7816 instead of the event handler
7818 - Added Parent property for ControlAccessibleObject
7821 - Added ResetBindings()
7822 * ListBindingConverter.cs: Implemented some methods
7823 * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
7824 * ImageList.cs: Implemented basic handle scheme, removed TODOs
7825 * ContainerControl.cs: Fixed signature, now subscribing to the
7826 ControlRemoved event instead of overriding the handler, LAMESPEC
7827 * CurrencyManager.cs: Added missing attribute
7828 * MonthCalendar.cs: Added missing properties
7830 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
7832 * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
7834 2005-06-06 Gaurav Vaish and Ankit Jain
7836 * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
7837 * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
7839 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
7841 * Control.cs: fixes CreateParams Width / Height.
7843 2005-06-05 Peter Bartok <pbartok@novell.com>
7845 * Win32DnD.cs: Removed compilation warnings
7847 2005-06-05 Peter Bartok <pbartok@novell.com>
7849 * Control.cs (CreateParams): Since we don't know if one of the
7850 properties we use is overridden, lets make sure if we fail accessing
7851 we continue with a backup plan
7853 2005-06-05 Peter Bartok <pbartok@novell.com>
7856 - Removed debug output
7857 - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
7859 - Plugged resource leak
7860 * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
7863 2005-06-05 Peter Bartok <pbartok@novell.com>
7865 * XplatUIWin32.cs: Removed DnD code
7866 * Win32DnD.cs: Implemented drop source and drop target functionality
7868 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7870 * UpDownBase.cs: remove duplicate addition of event, enable some code
7871 that was commented out.
7872 * NumericUpDown.cs: added missing attributes and Hexadecimal property.
7873 Validate input when a key is pressed. It works fine now for every
7874 combination of Hexadecimal. Only missing some drawing love when sharing
7875 space with other controls.
7877 2005-06-04 Peter Bartok <pbartok@novell.com>
7880 - We need to pass a window for DragDrop, so enable callback events
7881 - Added DnD callback events when being a DragSource
7882 * XplatUI.cs (StartDrag): Added window handle argument
7883 * XplatUIDriver.cs (StartDrag): Added window handle argument
7884 * QueryContinueDragEventArgs: Made fields internally accessible so
7885 drivers can set them
7886 * GiveFeedbackEventArgs: Made fields internally accessible so drivers
7889 2005-06-03 Jordi Mas i Hernandez <jordi@ximian.com>
7891 * DataGridTextBoxColumn.cs: column text editing
7892 * DataGridTableStyle.cs: Respect columns styles created by the user
7893 * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
7894 * DataGridBoolColumn.cs: bool column editing
7895 * DataGrid.cs: fixes to scrolling, properties, etc
7896 * DataGridTextBox.cs: handle keyboard
7897 * DataGridColumnStyle.cs: fixes
7899 2005-06-02 Jackson Harper <jackson@ximian.com>
7901 * ImageListStreamer.cs: Somewhat broken implementation of
7902 GetObjectData. The RLE needs some work to match MS properly.
7904 2005-06-02 Jackson Harper <jackson@ximian.com>
7906 * X11Dnd.cs: Attempting to keep at least one file in MWF
7909 2005-06-02 Peter Bartok <pbartok@novell.com>
7911 * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
7914 2005-06-02 Peter Bartok <pbartok@novell.com>
7916 * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
7917 * XplatUI.cs: Added DoDragDrop() method
7918 * XplatUIDriver.cs: Added DoDragDrop() method
7920 2005-06-02 Jackson Harper <jackson@ximian.com>
7922 * Splitter.cs: Implement BorderStyle.
7924 2005-06-02 Jackson Harper <jackson@ximian.com>
7926 * XplatUIX11.cs: Tie into the X11Dnd subsystem.
7927 * X11Dnd.cs: New file. A subsystem that handles drag and drop on
7930 2005-06-02 Peter Bartok <pbartok@novell.com>
7934 - Fixed broken insertion code for SetData, now also
7935 overwrites any existing entry of the same format name
7936 * Hwnd.cs: Added list of pointers that automatically gets
7937 freed when the window is disposed
7938 * XplatUI.cs: Call driver initialization method when loading
7941 - OnDragLeave takes EventArgs, not DragEventArgs
7942 - Added setting of WS_EX_ACCEPTFILES style when dropping is
7944 - Forces style update when drop state changes
7945 * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
7946 not perfect since we cannot (yet) call the IDataObject.GetData()
7947 method, we keep getting 0x80004005 error, dunno why)
7949 2005-06-02 Peter Bartok <pbartok@novell.com>
7951 * DragEventArgs.cs: Make fields internal so we can cache the
7952 object and re-set the fields from XplatUI
7954 2005-06-02 Jackson Harper <jackson@ximian.com>
7956 * Control.cs: Add some internal methods so the DnD subsystem can
7957 raise DnD events. Also call into the driver when AllowDrop is set.
7959 * XplatUIDriver.cs: New method for setting whether or not a window
7960 is allowed to accept drag and drop messages.
7962 2005-06-01 Jordi Mas i Hernandez <jordi@ximian.com>
7964 * ScrollBar.cs: Make sure that values sent in Scroll events
7965 are always between Maximum and Minimum.
7967 2005-06-01 Marek Safar <marek.safar@seznam.cz>
7969 * Menu.cs: Call MenuChanged when menuitem visibility has been
7971 * MenuItem.cs: Rebuild menu when item is (not) visible.
7972 * MainMenu.cs: MainMenu has special MenuChanged.
7973 * Theme.cs: Caption and FrameBorderSize are not fixed.
7974 * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
7975 * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
7977 * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
7978 * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
7980 2005-05-30 Jackson Harper <jackson@ximian.com>
7982 * DataFormat.cs: We can't statically initialize this stuff because
7983 it calls into the xplatui and could create a loop. So we lazy init
7986 2005-05-28 Jackson Harper <jackson@ximian.com>
7988 * Control.cs: Proper implementation of Product(Name/Version).
7990 2005-05-27 Jackson Harper <jackson@ximian.com>
7992 * DataObject.cs: Dont crash if no data is found.
7994 2005-05-26 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
7995 * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
7996 as per status page, guessing it should be set to true
7998 2005-05-26 Jordi Mas i Hernandez <jordi@ximian.com>
8000 * DataGridTextBoxColumn.cs: Draws text and basic text formatting
8001 * DataGridTableStyle.cs: set proper formatting text, def header text
8002 * ThemeWin32Classic.cs: new themable paramaters
8003 * DataGridBoolColumn.cs: paint check box, get data, fixes
8004 * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
8005 * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
8006 * DataGridColumnStyle.cs: fixes
8007 * Theme.cs: new themable paramaters
8009 2005-05-26 Peter Bartok <pbartok@novell.com>
8011 * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
8013 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
8014 * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
8016 2005-05-24 Peter Bartok <pbartok@novell.com>
8018 * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
8019 Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
8020 Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
8021 FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
8022 NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
8023 ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
8024 DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
8025 AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
8026 DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
8027 StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
8028 missing attributes, etc
8029 * DataGridPreferredColumnWidthTypeConverter.cs: Added
8031 2005-05-24 Peter Bartok <pbartok@novell.com>
8033 * Help.cs: Added, implemented trivial functions, throws up MessageBox
8034 when user tries to get help
8035 * DataObject.cs, DataFormats.cs, LinkArea.cs,
8036 SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
8037 to suppress warnings
8038 * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
8039 avoid unreachable code warning
8041 2005-05-20 Peter Bartok <pbartok@novell.com>
8043 * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
8045 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
8047 * DataGridTextBoxColumn.cs: Basic painting methods
8048 * DataGridTableStyle.cs: Set table style in the column
8049 * ThemeWin32Classic.cs: Use Theme for colors
8050 * DataGridDrawingLogic.cs: Implement more drawing
8051 * DataGrid.cs: drawing, theming, enhacements, fixes
8052 * DataGridColumnStyle.cs: fixes, drawing
8053 * Theme.cs: theming for Datagrid
8055 2005-05-20 Peter Bartok <pbartok@novell.com>
8057 * Cursor.cs: Implemented GetObjectData() method
8059 2005-05-20 Peter Bartok <pbartok@novell.com>
8061 * Cursors.cs: Added setting of cursor name
8063 - Implemented constructors
8064 - Implemented Draw and DrawStretched
8065 - Implemented Current property
8066 - Implemented == and != operators
8067 - Implemented Dispose()
8068 - Implemented ToString
8069 - Added missing attributes
8071 - Added missing reset for OverrideCursor when DoEvents is called
8072 - Fixed creation of cursor, logic was wrong
8074 - Added missing reset for OverrideCursor when DoEvents is called
8075 - Fixed creation of cursor, bit arrays were swapped
8076 * Clipboard.cs: Removed obsolete MonoTODO attribute
8078 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
8080 * ComboBox.cs: fixes OnSelectedItemChanged
8081 * ControlBindingsCollection.cs: fixes item range check
8083 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
8086 - Calc preferred height properly
8087 - Implement missing properties
8089 * NumericUpDown.cs: Implement missing events
8091 2005-05-19 Jackson Harper <jackson@ximian.com>
8093 * TabControl.cs: New method that resizes the tab pages before
8094 redrawing them. This as needed as the control is double buffered
8095 and sizing will not be recalculated unless ResizeTabPages is
8097 * TabPage.cs: Set base.Text instead of Text in the constructor so
8098 that UpdateOwner does not get called. Use the new Redraw method of
8099 TabControl instead of Refresh so the sizing is recalculated.
8100 * ThemeWin32Classic.cs: Draw the text for button tabs.
8102 2005-05-19 Jackson Harper <jackson@ximian.com>
8104 * Control.cs: Paint control background images. Fix typo where
8105 PaintControlBackground was not getting called correctly.
8107 2005-05-19 Peter Bartok <pbartok@novell.com>
8109 * ScrollableControl.cs (DisplayRectangle): Undid my last change until
8110 I can investigate, apparently I broke FileDialog
8112 2005-05-19 Marek Safar <marek.safar@seznam.cz>
8114 * AxHost.cs: Some simple properties.
8115 * Control.cs: window must be accessible after ctor.
8116 * Form.cs: Added TransparencyKey property.
8117 * TextBoxBase.cs: Implemented Clear. Text property can be null.
8118 * XplatUIWin32.cs: SetBorderStyle implemented.
8120 2005-05-18 Peter Bartok <pbartok@novell.com>
8122 * DataObject.cs: Entries are not global but particular to the
8123 DataObject, now it behaves that way
8124 * XplatUIWin32.cs: Implemented Clipboard methods
8125 * Clipboard.cs: Implemented
8126 * ScrollableControl.cs (DisplayRectangle): Fixed calculation
8127 * XplatUIOSX.cs: Updated to final clipboard prototypes
8128 * XplatUIX11.cs: Implemented Clipboard methods
8129 * XplatUIDriver.cs: Updated to final clipboard prototypes
8130 * XplatUIStructs.cs:
8131 - Added BITMAPINFOHEADER struct
8132 - Added ClipboardFormats enum
8134 - Added ClipboardStruct
8135 - Added Atom enum items for clipboard types
8136 - Fixed atom types for Selection event structures
8138 - Added internal properties and methods for drivers to enumerate
8140 - Switched initialization method to allow drivers to assign their
8141 own IDs even for the MS predefined clipboard IDs
8142 * XplatUI.cs: Updated to final clipboard interface
8144 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
8145 * PropertyGridView.cs: Fixed compiler warnings.
8147 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
8148 * PropertyGrid.cs: Added some event calls
8149 * PropertyGridView.cs: Change drawing code to use double buffering
8150 * PropertyGridTextBox.cs: Changed Text property name
8151 * GridItem.cs: Added Bounds property.
8152 * GridEntry.cs: Added Bounds property.
8154 2005-05-17 Lluis Sanchez Gual <lluis@novell.com>
8156 * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
8157 since GetType() may not return the correct type if the object is
8160 2005-05-17 Jordi Mas i Hernandez <jordi@ximian.com>
8162 * TreeNodeCollection.cs: fixes get/set item ranges
8164 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
8166 * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
8168 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
8170 * ComboBox.cs: Fix item range comparation
8171 * ListView.cs: Fix item range comparation
8173 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
8176 - Clear example panel when OnPaint is called
8177 - Better solution for displaying the example panel text
8178 - Select default indexes in the ListBoxes
8180 2005-05-11 Geoff Norton <gnorton@customerdna.com>
8182 * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926
8184 2005-05-11 Peter Bartok <pbartok@novell.com>
8186 * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
8187 * SelectionRangeConverter.cs: Implemented
8188 * PropertyGrid.cs: Fixed attribute value
8190 - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
8191 - Added Sebastien Pouliot's CAS Stack Propagation fixes
8192 * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
8193 that's common to all drivers. First methods to go there are
8194 Sebastien Pouliot's CAS Stack Propagation helper methods
8195 * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
8196 Sebastien Pouliot for CAS Stack Propagation
8198 2005-05-11 Geoff Norton <gnorton@customerdna.com>
8201 XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
8203 2005-05-12 Jordi Mas i Hernandez <jordi@ximian.com>
8205 * DataGridTextBoxColumn.cs: fixed some members
8206 * GridColumnStylesCollection.cs: indexed column is case insensitive
8207 * DataGridTableStyle.cs: fixes
8208 * ThemeWin32Classic.cs: add new theme parameter
8209 * Theme.cs: add new theme parameter
8210 * DataGridDrawingLogic.cs: Datagrid's drawing logic
8211 * DataGrid.cs: fixes, new internal properties, etc.
8212 * DataGridColumnStyle.cs: allows to set grid value
8215 2005-05-10 Peter Bartok <pbartok@novell.com>
8217 * AccessibleObject.cs:
8218 - Removed MonoTODO attribute on help, method is correct
8219 - Fixed Bounds property
8220 * AxHost.cs: Moved MonoTODO
8221 * ButtonBase.cs: Now setting AccessibleObject properties
8222 * RadioButton.cs: Setting proper AccessibleObject role
8223 * CheckBox.cs: Setting proper AccessibleObject role
8224 * ControlBindingsCollection.cs: Added properties, methods and attributes
8225 * DataFormats.cs: Fixed awkward internal API, and changed to enable
8226 userdefined DataFormats.Format items as well
8227 * ListControl.cs: Removed data_member from the public eye
8228 * OpenFileDialog.cs:
8230 - Added missing attributes
8231 * SaveFileDialog.cs: Added missing attributes
8232 * ImageListStreamer.cs: Fixed code that caused warnings
8233 * LinkLabel.cs: Removed unreachable code
8234 * TreeView.cs: Fixed code that caused warnings
8235 * PropertyGridView.cs: Fixed code that caused warnings
8236 * GridColumnStylesCollection.cs: Added missing attributes
8237 * GridTableStylesCollection: Added missing attribute
8238 * PropertyManager: Added .ctor
8239 * SecurityIDType: Added
8240 * DataObject.cs: Implemented class
8241 * LinkArea.cs: Added missing attribute
8243 2005-05-11 Jordi Mas i Hernandez <jordi@ximian.com>
8245 * RadioButton.cs: call base method to allow to fire OnClick event
8246 * UpDownBase.cs: OnMouseUp call base method
8247 * CheckedListBox.cs: call base method before returning
8248 * TrackBar.cs: call base method before returning
8251 2005-05-10 Peter Bartok <pbartok@novell.com>
8253 * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
8256 2005-05-10 Peter Bartok <pbartok@novell.com>
8258 * DataFormats.cs: Implemented
8259 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
8260 XplatUIX11.cs: Added Clipboard APIs
8261 * XplatUIWin32.cs: Implemented Clipboard APIs
8262 * FolderBrowserDialog.cs: Added missing event, attributes
8264 2005-05-10 Jordi Mas i Hernandez <jordi@ximian.com>
8266 * CheckBox.cs: call base method to allow to fire OnClick event
8268 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
8270 * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
8272 2005-05-06 Peter Bartok <pbartok@novell.com>
8274 * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
8275 * Screen.cs: Implemented
8276 * HelpNavigator.cs: Added
8277 * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
8279 * HelpProvider.cs: Implemented all we can do until we have a CHM
8280 help library (which means that "What's This" does work now)
8282 2005-05-06 Jackson Harper <jackson@ximian.com>
8284 * XplatUIX11.cs: Fix waking up the main loop.
8286 2005-05-05 Peter Bartok <pbartok@novell.com>
8288 * XplatUI.cs: Updated revision
8289 * Form.cs: Removed enless loop
8290 * GroupBox.cs (OnPaint): Added call to base.OnPaint()
8291 * Label.cs (OnPaint): Added call to base.OnPaint()
8292 * ToolTip.cs: Made ToolTipWindow reusable for other controls
8293 * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
8294 * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
8296 * ButtonBase.cs: Moved base.OnPaint() call to end of method
8297 * ThemeWin32Classic.cs: Replaced references to ToolTip with references
8298 to ToolTip.ToolTipWindow for drawing and size methods; this allows
8299 reuse of ToolTipWindow by other controls
8300 * SizeGrip.cs: Moved base.OnPaint() call to end of method
8301 * XplatUIX11.cs: Now clipping drawing area (experimental)
8302 * PictureBox.cs: Moved base.OnPaint() call to end of method
8303 * Theme.cs: Fixed ToolTip abstracts to match new format
8304 * ErrorProvider.cs: Implemented
8306 2005-05-05 Jordi Mas i Hernandez <jordi@ximian.com>
8308 * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
8312 - Implements LinkBehavior
8315 2005-05-03 Jackson Harper <jackson@ximian.com>
8317 * ListView.cs: Calculate the scrollbar positioning on resize and
8318 paint, so they get put in the correct place.
8320 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
8322 * ColorDialogs.cs: The small color panels are now handled by
8323 SmallColorControl. This fixes drawing of the focus rectangle
8324 and adds a 3D border.
8326 2005-05-03 Peter Bartok <pbartok@novell.com>
8328 * Control.cs: Modified version of Jonathan Chamber's fix for
8331 2005-05-03 Jackson Harper <jackson@ximian.com>
8333 * ListView.cs: Remove redraw variable. Control now handles whether
8334 or not a redraw needs to be done, and will only raise the paint
8335 event if redrawing is needed.
8337 2005-05-03 Jackson Harper <jackson@ximian.com>
8339 * Splitter.cs: No decorations for the splitter form. Cache the
8342 2005-05-03 Jackson Harper <jackson@ximian.com>
8344 * TreeView.cs: Use dashed lines to connect nodes. Use the
8345 ControlPaint method for drawing the focus rect instead of doing
8348 2005-05-02 Peter Bartok <pbartok@novell.com>
8350 * LinkLabel.cs: Fixed the fixes from r43566 and 43521
8352 2005-04-29 Jackson Harper <jackson@ximian.com>
8354 * ThemeWin32Classic.cs: Don't clear the GC that will clear the
8355 entire image buffer. Just clear the clipping rectangle.
8357 2005-04-29 Jackson Harper <jackson@ximian.com>
8359 * ThemeWin32Classic.cs: Don't draw list view items that are
8360 outside the clipping rectangle.
8362 2005-04-29 Jordi Mas i Hernandez <jordi@ximian.com>
8364 * ListBox.cs: added horizontal item scroll
8366 2005-04-29 Jackson Harper <jackson@ximian.com>
8368 * ThemeWin32Classic.cs: Remove some old debug code that was
8369 causing flicker with the new double buffering code.
8371 2005-04-29 John BouAntoun <jba-mono@optusnet.com.au>
8373 * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
8374 behave like combobox and comboboxlist (still not sure if this is
8377 2005-04-28 Jackson Harper <jackson@ximian.com>
8379 * ThemeWin32Classic.cs: Don't fill the middle of progress
8380 bars. This fills areas outside of the clip bounds that don't need
8383 2005-04-28 Jackson Harper <jackson@ximian.com>
8385 * Control.cs: Don't expose functionality to touch the image buffers.
8387 * ListView.cs: We do not need to (and no longer can) manipulate
8388 the image buffers directly. All of this is handled by Control.
8390 2005-04-28 Peter Bartok <pbartok@novell.com>
8392 * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
8393 RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
8394 RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
8396 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
8399 - Adjust control's height for non-simple comboboxes (bug fix)
8401 * MenuAPI.cs: remove unused var
8402 * ScrollBar.cs: remove unsed var
8404 * ListBox.cs: unselect items when clearing
8406 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
8408 * ListControl.cs: honors OnPositionChanged and default Selected Item
8409 * ListBox.cs: unselect items when clearing
8411 2005-04-27 Jackson Harper <jackson@ximian.com>
8413 * X11Keyboard.cs: Initialize a default keyboard and give a warning
8414 if a "correct" keyboard is not found. This will make us not crash,
8415 but might give some users bad keyboard layouts...seems to be the
8416 same thing rewind does.
8418 2005-04-27 Jackson Harper <jackson@ximian.com>
8420 * BindingManagerBase.cs: Attach the current/position changed
8421 handlers to their respective events.
8423 2005-04-27 Jackson Harper <jackson@ximian.com>
8425 * Control.cs: Make sure that the first WM_PAINT does a full draw,
8427 * ThemeWin32Classic.cs: Don't fill the background for picture
8428 boxes. This could overright user drawing.
8429 * ComboBox.cs: Just fill the clipping rect not the entire client
8430 rect when drawing the background. This prevents pieces of the
8431 image buffer from getting overwritten and is theoretically faster.
8433 2005-04-26 Jordi Mas i Hernandez <jordi@ximian.com>
8435 * ComboBox.cs: Databinding support fixes, fire missing events
8436 * ListControl.cs: implement missing methods and properties, fixes
8437 * ThemeWin32Classic.cs: Databiding support on Drawing
8438 * CheckedListBox.cs: Databinding support fixes, fire missing events
8439 * ListBox.cs: Databinding support fixes, fire missing events
8441 2005-04-25 Peter Bartok <pbartok@novell.com>
8443 * LinkLabel.cs: Length of LinkArea is not allowed to be negative
8445 2005-04-25 Jackson Harper <jackson@ximian.com>
8447 * TreeView.cs: Use the horizontal scrollbars height not width when
8448 determining how much of the client area is available.
8450 2005-04-25 Jackson Harper <jackson@ximian.com>
8452 * Control.cs: Double buffering is handled differently now. As per
8453 the spec, the extra buffer is created in the WM_PAINT message and
8454 passed down to the control's drawing code.
8462 * PropertyGridView.cs:
8474 * DateTimePicker.cs:
8476 * TreeView.cs: Update to new double buffering system.
8477 * MonthCalendar.cs: Uncomment block, as Capture is now
8478 working. Update to new double buffering
8479 * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
8480 * PaintEventArgs.cs: New internal method allows us to set the
8481 graphics object. This is used for double buffering.
8482 * ThemeWin32Classic.cs: Give the picture box drawing code a clip
8483 rectangle. The internal paint_area var has been removed from
8484 StatusBar. The clipping rect should be used instead.
8485 * Theme.cs: Give the PictureBox drawing method a clipping rect.
8486 * TabPage.cs: The RefreshTabs method was removed, so just call the
8487 tab controls Refresh method now.
8488 * TabControl.cs: Update to new double buffering. Make sure the
8489 handle is created before sizing the tab pages, otherwise we will
8490 get stuck in a loop.
8492 2005-04-24 Borja Sanchez Zamorano <borsanza@gmail.com>
8494 * LinkLabel.cs: Fix typo, bug #74719; patch
8495 from Borja Sanchez Zamorano
8497 2005-04-22 Jackson Harper <jackson@ximian.com>
8499 * TreeNode.cs: Implement Handle stuff.
8500 * TreeView.cs: Utility methods so nodes can get/lookup by handle.
8502 2005-04-22 Jordi Mas i Hernandez <jordi@ximian.com>
8504 * DataGridTextBoxColumn.cs: call base constructors, fixes
8505 * GridColumnStylesCollection.cs: missing events, methods, and functionality
8506 * GridTableStylesCollection.cs: fixes, check duplicate mapping names
8507 * DataGridTableStyle.cs: implements create default column styles
8508 * DataGridBoolColumn.cs: which types can handle
8509 * DataGrid.cs: missing methods, fixes, new functionality
8510 * DataGridColumnStyle.cs: fixes
8512 2005-04-20 Alexander Olk <xenomorph2@onlinehome.de>
8513 * FolderBrowserDialog.cs:
8514 - Use a thread to fill the TreeView
8515 - Adjusted some sizes
8517 2005-04-19 Peter Bartok <pbartok@novell.com>
8519 * LinkLabel.cs: (Re-)create the pieces when setting the Text
8520 property. Fixes #74360.
8522 2005-04-19 Jackson Harper <jackson@ximian.com>
8524 * XEventQueue.cs: Lock when getting the lockqueue size.
8525 * PictureBox.cs: Call base OnPaint
8527 2005-04-19 Peter Bartok <pbartok@novell.com>
8529 * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
8530 messages were no longer being processed (this broke BeginInvoke)
8533 2005-04-18 Jackson Harper <jackson@ximian.com>
8535 * TreeView.cs: buglet that caused node images to get drawn
8536 regardless of whether or not they were in the clipping rectangle.
8538 2005-04-18 Jackson Harper <jackson@ximian.com>
8540 * CurrencyManager.cs: There are four rules for GetItemProperties:
8541 - If the type is an array use the element type of the array
8542 - If the type is a typed list, use the type
8543 - If the list contains an Item property that is not an object, use
8545 - use the first element of the list if there are any elements in
8548 2005-04-17 Jackson Harper <jackson@ximian.oom>
8550 * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
8551 click. This handles offsets for scrolling properly and reduces
8552 memory. Also fixed GetNode to not offset now that TopNode works
8554 * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
8556 2005-04-17 Jackson Harper <jackson@ximian.com>
8558 * CursorConverter.cs: Initial implementation.
8560 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
8562 * ListControl.cs: work towards complex data binding support on ListControl
8563 * CurrencyManager.cs: work towards complex data binding support on ListControl
8564 * ListBox.cs: work towards complex data binding support on ListControl
8567 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
8569 * GridTableStylesCollection.cs: fixes name and constructor
8570 * DataGridTableStyle.cs: fixes
8571 * DataGridBoolColumn.cs: fixes names and constructors
8572 * DataGrid.cs: define methods and properties. Some init implementations
8573 * DataGridCell.cs: define methods and properties. Some init implementations
8574 * GridTablesFactory.cs: Define methods and properties
8576 2005-04-15 Geoff Norton <gnorton@customerdna.com>
8578 * XplatUIOSX.cs: Handle proper mouse tracking even if the current
8579 graphics port changes. We still want the coordinates in global screen
8582 2005-04-14 Jackson Harper <jackson@ximian.com>
8584 * TreeView.cs: Handle clicks when plus minus is disabled. Don't
8585 check plus minus or checkbox clicks unless those features are enabled.
8587 2005-04-14 Jackson Harper <jackson@ximian.com>
8589 * TreeView.cs: Add methods for setting the top and bottom visible
8590 nodes. TreeNode::EnsureVisible uses these methods.
8591 * TreeNode.cs: Implement EnsureVisible
8593 2005-04-13 Jordi Mas i Hernandez <jordi@ximian.com>
8595 * Form.cs: Pospone menu assignation if the window has not been created yet
8596 * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
8599 2005-04-12 Jackson Harper <jackson@ximian.com>
8601 * TreeView.cs: Set the TopNode properly when scrolling
8602 occurs. This has the added benifit of reducing the amount of
8603 walking that needs to be done when drawing. Also removed an old
8605 * OpenTreeNodeEnumerator.cs: Fix moving backwards.
8607 2005-04-11 Jordi Mas i Hernandez <jordi@ximian.com>
8609 * Timer.cs: fixes interval setting when the timer is already enabled
8611 2005-04-10 Alexander Olk <xenomorph2@onlinehome.de>
8613 * FolderBrowserDialog.cs: First approach
8615 2005-04-09 Peter Bartok <pbartok@novell.com>
8617 * FolderBrowserDialog: Added
8619 2005-04-07 Jordi Mas i Hernandez <jordi@ximian.com>
8621 * LinkLabel.cs: move drawing code into the theme
8622 * ThemeWin32Classic.cs: drawing code and painting background bugfix
8623 * Theme.cs: define DrawLinkLabel method
8625 2005-04-05 Jackson Harper <jackson@ximian.com>
8627 * BindingContext.cs: Use weak references so these bad actors don't
8628 stay alive longer then they need to.
8630 2005-04-05 Jackson Harper <jackson@ximian.com>
8632 * ListControl.cs: Basic implementation of complex databinding.
8634 * ListBox.cs: Add calls to ListControl databinding methods.
8636 2005-04-05 Alexander Olk <xenomorph2@onlinehome.de>
8639 - Don't change PopupButtonState to Normal when the
8640 PopupButton gets pressed several times.
8641 - Renamed ButtonPanel to PopupButtonPanel
8643 2005-04-05 Jordi Mas i Hernandez <jordi@ximian.com>
8645 * ColorDialog.cs: Use cached objects instead of creating them
8646 * LinkLabel.cs: Use cached objects instead of creating them
8647 * Splitter.cs: Use cached objects instead of creating them
8648 * FontDialog.cs: Use cached objects instead of creating them
8649 * PropertyGridView.cs: Use cached objects instead of creating them
8650 * MessageBox.cs: Use cached objects instead of creating them
8651 * FileDialog.cs: Use cached objects instead of creating them
8652 * ThemeWin32Classic.cs: Use cached objects instead of creating them
8653 * TreeView.cs: Use cached objects instead of creating them
8655 2005-04-04 Jordi Mas i Hernandez <jordi@ximian.com>
8657 * Control.cs: use Equals to compare the font since no == op
8658 * ScrollBar.cs: use Equals to compare the font since no == op
8660 2005-04-04 Alexander Olk <xenomorph2@onlinehome.de>
8662 * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
8664 2005-04-01 Jackson Harper <jackson@ximian.com>
8666 * Binding.cs: Implement IsBinding.
8667 * BindingManagerBase.cs:
8668 * PropertyManager.cs:
8669 * CurrencyManager.cs: Add IsSuspended property.
8671 2005-04-01 Jackson Harper <jackson@ximian.com>
8673 * Binding.cs: Had some IsAssignableFrom calls backwards.
8675 2005-04-01 Jackson Harper <jackson@ximian.com>
8677 * Binding.cs: Handle null data members when pulling data.
8678 * PropertyManager.cs: Handle the data member being a property that
8681 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
8683 * DataGridTextBoxColumn.cs: fixes signature
8684 * DataGrid.cs: calls right constructor
8686 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
8688 * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
8689 * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
8690 * GridTableStylesCollection.cs: implements GridTableStylesCollection
8691 * DataGridTableStyle.cs: implements DataGridTableStyle
8692 * DataGridBoolColumn.cs: implements DataGridBoolColumn
8693 * DataGridTextBox.cs: implements DataGridTextBox
8694 * DataGridColumnStyle.cs: implements DataGridColumnStyle
8696 2005-03-31 Alexander Olk <xenomorph2@onlinehome.de>
8698 * FileDialog.cs: Added simple PopupButton class for ButtonPanel
8700 2005-03-29 Peter Bartok <pbartok@novell.com>
8703 - Properly implemented CompanyName property
8704 - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
8705 returns a path that includes CompanyName, ProductName and
8706 Version (fixes bug #70330)
8708 2005-03-29 Stefan Buehler <sbuehler@gmx.ch>
8710 * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
8713 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
8715 * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
8717 - Added ReadOnly CheckBox
8718 - Further refactoring: moved some code from Open-/SaveFileDialog
8721 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
8723 * OpenFileDialog.cs: Fixed CheckFileExists
8725 Moved FileView and DirComboBox outside FileDialog class.
8726 They can now be used outside FileDialog
8728 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
8730 * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
8731 * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
8733 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
8735 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
8736 - Added missing CreatePrompt property in SaveDialog
8737 - Overall SaveDialog handling should be better now
8738 - Added non standard ShowHiddenFiles property
8739 - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
8740 - Added InitialDirectory and RestoreDirectory support
8742 2005-03-26 Alexander Olk <xenomorph2@onlinehome.de>
8744 * FileDialog.cs: Made dirComboBox usable
8746 2005-03-24 Alexander Olk <xenomorph2@onlinehome.de>
8748 * FileDialog.cs: Added Filter support (case sensitiv)
8750 2005-03-24 Jackson Harper <jackson@ximian.com>
8752 * TabControl.cs: Need a couple more pixels for the lines.
8754 2005-03-23 Jackson Harper <jackson@ximian.com>
8756 * TabControl.cs: Give the tab page focus when it is selected.
8758 2005-03-23 Jackson Harper <jackson@ximian.com>
8760 * TabControl.cs: Account for the drawing of tabs borders when
8761 invalidating. If the slider was clicked dont do click detection on
8764 2005-03-23 Jackson Harper <jackson@ximian.com>
8766 * TabControl.cs: Fix typo, emilinates an unneeded expose event.
8768 2005-03-22 Jonathan Chambers <jonathan.chambers@ansys.com>
8770 * CategoryGridEntry.cs: Added
8771 * GridItem.cs: Added helper properties
8772 * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
8773 * GridEntry.cs: Updated code for collection
8774 * PropertyGrid.cs: Cleaned up some formatting
8775 * PropertyGridView.cs: Added drop down functionality for enums.
8776 * GridItemCollection.cs: Added enumerator logic
8777 * PropertyGridEntry.cs: Added
8779 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
8782 - Removed unnecessary commented code
8783 - Fixed handling for entering the filename manually in the combobox
8785 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
8787 * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
8789 2005-03-18 Peter Bartok <pbartok@novell.com>
8791 * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
8792 them being touching the border
8794 2005-03-18 Peter Bartok <pbartok@novell.com>
8796 * TextControl.cs: Quick hack to center text better
8798 2005-03-18 Peter Bartok <pbartok@novell.com>
8801 - Don't throw NotImplemented exceptions, just print a notice once
8802 instead (requested by Miguel). This makes running existing SWF
8805 - Commented out Drag'N'Drop XplatUI call (no driver support yet)
8806 - Added context menu trigger on right click
8807 * Panel.cs: Trigger invalidate on resize
8809 - Removed old double-buffer drawing
8810 - Added ResizeRedraw style to force proper update of statusbar
8812 - Removed debug output
8813 * ThemeWin32Classic.cs:
8814 - Fixed drawing of status bar, now draws Text property if there
8815 are no defined panels
8817 2005-03-18 Jackson Harper <jackson@ximian.com>
8819 * ImageList.cs: When the image stream is set pull all the images
8821 * ImageListStreamer.cs: Implement reading image list streams.
8823 2005-03-18 Peter Bartok <pbartok@novell.com>
8825 * ThemeWin32Classic.cs (DrawPictureBox):
8826 - Fixed calculations for centered drawing
8827 - Fixed drawing for normal mode, not scaling the image on normal
8829 2005-03-18 Peter Bartok <pbartok@novell.com>
8831 * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
8834 - Made Open/Save button the accept button for FileDialog
8835 - Tied the cancel button to the IButtonControl cancel button
8836 - Save/Open now properly builds the pathname
8837 - Now handles user-entered text
8838 - Preventing crash on right-click if no item is selected
8839 - Fixed Text property, now uses contents of textbox
8840 - Fixed SelectedText property, now just returns the text part that
8841 is selected in the text box
8843 2005-03-18 Jackson Harper <jackson@ximian.com>
8845 * ThemeWin32Classic.cs: Use the proper func for drawing the focus
8846 rect, make sure to de-adjust the interior rect after drawing the
8849 2005-03-18 Peter Bartok <pbartok@novell.com>
8851 * MenuAPI.cs: Remove menu *before* executing selected action to
8852 prevent the menu from 'hanging around'
8854 2005-03-17 Geoff Norton <gnorton@customerdna.com>
8856 * XplatUIOSX.cs: Implemented WorkingArea property
8858 2005-03-17 Peter Bartok <pbartok@novell.com>
8860 * XplatUIX11.cs: Fixed menu coord calculations
8861 * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
8862 for calculating offsets
8864 2005-03-17 Peter Bartok <pbartok@novell.com>
8866 * Hwnd.cs: Do not consider menu presence for default client
8867 rectangle location/size
8868 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
8869 XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
8870 translation functions
8871 * FileDialog.cs: Fixed (what I presume is a) typo
8873 2005-03-17 Jonathan Gilbert <logic@deltaq.org>
8875 * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
8876 X access (avoids X-Async errors)
8878 2005-03-16 Jackson Harper <jackson@ximian.com>
8880 * TabControl.cs: Raise the SelectedIndexChanged event.
8882 2005-03-16 Alexander Olk <xenomorph2@onlinehome.de>
8884 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
8885 - Removed vertical ToolBar and replaced it with a custom panel
8886 (desktop and home button already work)
8887 - Added Help button (some controls get resized or relocated then)
8888 - Draw correct text depending on Open or Save.
8889 - Fixed some typos...
8891 2005-03-16 Jordi Mas i Hernandez <jordi@ximian.com>
8894 - Only change Maximum and Minimum when need it (bug fix)
8896 2005-03-15 Peter Bartok <pbartok@novell.com>
8898 * Form.cs: Use Handle for icon, to trigger creation if
8899 the window does not yet exist
8901 - CanSelect: Slight performance improvement
8902 - Focus(): Preventing possible recursion
8903 - Invalidate(): Removed ControlStyle based clear flag setting
8904 - WM_PAINT: fixed logic for calling OnPaintBackground
8905 - WM_ERASEBKGND: Fixed logic, added call to new driver method
8906 EraseWindowBackground if the control doesn't paint background
8908 - Moved EraseWindowBackground() method to internal methods
8909 - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
8910 is sent via SendMessage on BeginPaint call on Win32
8912 - Added EraseWindowBackground() method
8913 - No longer sends WM_ERASEBKGND on .Expose, but on call to
8914 PaintEventStart, which more closely matches Win32 behaviour
8915 - Fixed Invalidate() call, now updates new ErasePending Hwnd property
8916 - Fixed SetFocus() to properly deal with client and whole windows
8917 * Hwnd.cs: Added ErasePending property
8918 * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
8919 * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
8921 2005-03-12 Geoff Norton <gnorton@customerdna.com>
8924 - Fix hard loop when timers exist.
8925 - Fix bugs with middle and right click for 3 button mice.
8927 2005-03-11 Peter Bartok <pbartok@novell.com>
8930 - get_WorkingArea: Need to call X directly, GetWindowPos only
8931 returns cached data now
8932 - Added sanity check to GetWindowPos hwnd usage
8934 2005-03-11 Jackson Harper <jackson@ximian.com>
8936 * BindingManagerBase.cs: This method isn't used anymore as
8937 PullData now updates the data in the control.
8939 2005-03-11 Jordi Mas i Hernandez <jordi@ximian.com>
8941 * Form.cs: fixes menu drawing on X11
8942 * MenuAPI.cs: fixes menu drawing on X11
8944 2005-03-11 Peter Bartok <pbartok@novell.com>
8946 * Control.cs: Changed OnCreateControl behaviour based on a suggestion
8947 from Jonathan Gilbert; should fix bug #73606
8948 * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
8949 in Screen coordinates. Thanks, Jordi.
8950 * Form.cs: Added missing attribute
8952 2005-03-11 Peter Bartok <pbartok@novell.com>
8955 - Rudimentary Mdi support
8956 - Removed outdated FormParent code
8957 - Implemented lots of missing properties and methods, still missing
8958 transparency support
8959 - Added missing attributes
8960 - Implemented support for MaximumBounds
8961 - Added firing of various events
8962 * XplatUI.cs: Added SetIcon() method
8963 * XplatUIDriver.cs: Added SetIcon() abstract
8964 * XplatUIOSX.cs: Stubbed out SetIcon() method
8966 - Implemented SetIcon() support
8967 - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
8968 - Switched to unix line endings
8970 - Made POINT internal so for can access it as part of MINMAX
8971 - Implemented SetIcon() support
8972 - Implemented support for CLIENTCREATESTRUCT (but might have to drop
8973 native Mdi support again, might have to go managed)
8974 * Control.cs: Now fires the StyleChanged event
8975 * MdiClient.cs: Added; still mostly empty
8977 2005-03-10 Peter Bartok <pbartok@novell.com>
8979 * SaveFileDialog.cs: Added emtpy file
8981 2005-03-08 Peter Bartok <pbartok@novell.com>
8983 * Control.cs: Fixed bug #73190; now invokes CreateControl (which
8984 in turn triggers OnCreateContro) when creating a handle for the
8986 * TextControl.cs: Fixed endless loop in certain cases when
8987 replacing the current selection
8989 2005-03-08 Jordi Mas i Hernandez <jordi@ximian.com>
8992 - Honors NewValue changes in Scroll events allowing apps to change it
8993 - Adds First and Last Scroll events
8994 - Fixes Thumb events
8996 2005-03-07 Peter Bartok <pbartok@novell.com>
8998 * Hwnd.cs: Added DefaultClientRectangle property
8999 * XplatUI.cs: Now using the X11 driver Where() method, which provides
9000 more detailed debug information
9002 - Fixed size-change feedback loop, where we would pull an old size
9003 off the queue and mistakenly change our window's size to an
9005 - Now compressing ConfigureNotify events, to reduce looping and
9007 * TextBoxBase.cs: Preventing crash when no text is set and ToString()
9010 2005-03-07 Jackson Harper <jackson@ximian.com>
9012 * Binding.cs: Push data pushes from data -> property. Check if the
9013 property is readonly when attempting to set it.
9015 2005-03-07 Jackson Harper <jackson@ximian.com>
9017 * Binding.cs: Format and parse data correctly. Use ASsignableFrom
9018 instead of IsSubclassOf. Pulling data now sets the value on the
9020 * PropertyManager.cs:
9021 * CurrencyManager.cs: Just need to pull data when updating now,
9022 because PullData will set the value on the control.
9024 2005-03-04 Jackson Harper <jackson@ximian.com>
9026 * Binding.cs: Implement data type parsing and converting on pulled
9027 data. TODO: Are there more ways the data can be converted?
9029 2005-03-04 Jackson Harper <jackson@ximian.com>
9031 * Binding.cs: Support <Property>IsNull checks. Also bind to the
9032 controls Validating method so we can repull the data when the
9033 control loses focus.
9035 2005-03-03 Jordi Mas i Hernandez <jordi@ximian.com>
9038 - Fixes null string format
9041 - Adds enum type checks
9042 - Fixes redrawing and recalc need after changing some properties
9043 - Fixes on focus_item set after the event
9044 - Fixes adding columns after the control has been created
9046 * ThemeWin32Classic.cs:
9047 - Fixes CheckBox focus rectangle
9048 - Fixes ColumnHeader drawing
9051 2005-03-03 Jackson Harper <jackson@ximian.com>
9053 * Binding.cs: Bind to <Property>Changed events so we can detect
9054 when properties are changed and update the data.
9056 2005-03-02 Jordi Mas i Hernandez <jordi@ximian.com>
9059 - Changes 32-bit pixel format to Format32bppArgb to allow transparency
9060 - Fixes ImageList constructor with ImageList container
9061 - Fixes image scaling (wrong parameters at DrawImage)
9063 2005-02-02 Jackson Harper <jackson@ximian.com>
9065 * Binding.cs: Make property searches case-insensitive. Eliminate
9066 some duplicated code.
9068 2005-03-01 Jordi Mas i Hernandez <jordi@ximian.com>
9071 - Handle focus event
9072 - Fix scrollbar events
9073 - Discard highlighted item if remove it
9074 - Fixes SelectedItem with strings
9076 2005-03-01 Peter Bartok <pbartok@novell.com>
9079 - Fixed Visible property, now follows (once again) parent chain
9080 to return false if any control in the chain is visible=false
9081 - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
9082 - Fixed several places where is_visible instead of Visible was used
9083 - Implemented FIXME related to focus selection when setting focused
9084 control to be invisible
9086 * XplatUIWin32.cs: Now using proper method to find out if window is
9087 visible. Thanks to Jordi for pointing it out
9089 2005-02-28 Jordi Mas i Hernandez <jordi@ximian.com>
9091 * ComboBox.cs: show/hide scrollbar instead of creating it
9093 2005-02-27 Jackson Harper <jackson@ximian.com>
9095 * CurrencyManager.cs: Add PositionChanged stuff.
9097 2005-02-27 Peter Bartok <pbartok@novell.com>
9099 * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
9100 * XplatUIOSX.cs: Added GetMenuOrigin() stub
9101 * XplatUIWin32.cs: Implemented GetMenuOrigin()
9103 - Implemented GetMenuDC()
9104 - Implemented GetMenuOrigin()
9105 - Implemented ReleaseMenuDC()
9106 - Implemented generation of WM_NCPAINT message
9107 - Implemented generation and handling of WM_NCCALCSIZE message
9108 * Form.cs: Added debug helper message for Jordi's menu work
9110 - Modified ClientRect property; added setter, fixed getter to handle
9111 setting of ClientRect
9112 - Added MenuOrigin property
9114 2005-02-26 Peter Bartok <pbartok@novell.com>
9117 - Destroys the caret if a window that's being destroyed contains it
9118 - Ignores expose events coming from the X11 queue for windows that
9119 already are destroyed
9120 - Now uses the proper variable for handling DestroyNotify, before we
9121 marked the wrong window as destroyed
9122 - Improved/added some debug output
9124 2005-02-26 Peter Bartok <pbartok@novell.com>
9126 * X11Keyboard.cs: Fixes to work on 64bit systems
9128 2005-02-26 Peter Bartok <pbartok@novell.com>
9131 - Now calling OnHandleDestroyed from DestroyHandle()
9132 instead of Dispose()
9133 - Removed bogus call to controls.Remove() from DestroyHandle()
9135 2005-02-26 Peter Bartok <pbartok@novell.com>
9137 * Control.cs: Properly destroy child windows when our handle is
9140 2005-02-25 Peter Bartok <pbartok@novell.com>
9143 - Added 'DriverDebug' define to allow tracing XplatUI API calls
9144 - Alphabetized Static Methods and Subclasses
9147 - Added XException class to allow custom handling of X11 exceptions
9148 - Created custom X11 error handler, tied into XException class
9149 - Added support for MONO_XEXCEPTIONS env var to allow the user
9150 to either throw an exception on X errors or continue running
9151 after displaying the error
9152 - Added handling of DestroyNotify message
9153 - Added handler for CreateNotify message (still disabled)
9154 - Improved (tried to at least) Where method to provide file and lineno
9156 - Added XErrorHandler delegate
9157 - Added XRequest enumeration (to suppor translation of errors)
9159 2005-02-25 Jackson Harper <jackson@ximian.com>
9161 * PropertyManager.cs: Implement editing features
9162 * CurrencyManager.cs:
9163 * Binding.cs: First attempt at UpdateIsBinding
9164 * BindingManagerBase.cs: Call UpdateIsBinding before
9165 pushing/pulling data.
9167 2005-02-25 Jordi Mas i Hernandez <jordi@ximian.com>
9169 * MenuAPI.cs: Respect disabled items
9170 * ThemeWin32Classic.cs
9171 - Caches ImageAttributes creation for DrawImageDisabled
9172 - Fixes vertical menu line drawing
9173 - Draws disabled arrows in disable menu items
9175 2005-02-24 Peter Bartok <pbartok@novell.com>
9178 - Added UserData property to allow associating arbitrary objects
9180 - Fixed leak; now removing Hwnd references from static windows array
9182 - Fixed Graphics leak in PaintEventEnd
9183 - Removed usage of HandleData, switched over to Hwnd class
9184 * HandleData.cs: Removed, obsoleted by Hwnd.cs
9186 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
9188 * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
9189 * ScrollBar.cs: Fixes bug
9190 * TrackBar.cs: removes death code, clipping, mimize refreshes,
9191 keyboard navigation enhancements
9193 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
9195 * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
9196 * GroupBox.cs: Add control styles
9197 * Label.cs: Add control styles
9198 * UpDownBase.cs: Add control styles
9199 * ListBox.cs: Add control styles
9200 * XplatUIWin32.cs: Fixes wrong parameter order
9203 2005-02-23 Chris Bacon <chris.bacon@docobo.co.uk>
9205 * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
9207 2005-02-23 Jackson Harper <jackson@ximian.com>
9209 * PropertyManager.cs: Implement property binding. This doesn't
9210 seem to work yet though as (I think) there are some bugs in
9211 System.ComponentModel.PropertyDescriptor.
9212 * BindingContext.cs: Use new PropertyManager constructor.
9214 2005-02-23 Jordi Mas i Hernandez <jordi@ximian.com>
9216 * ProgressBar.cs: use clip region in ProgressBar
9217 * ThemeWin32Classic.cs: use clip region in ProgressBar
9219 2004-02-22 Jackson Harper <jackson@ximian.com>
9221 * BindingsCollection.cs: Remove some debug code.
9223 2005-02-22 Jackson Harper <jackson@ximian.com>
9225 * BindingContext.cs:
9226 * ControlBindingsCollection.cs:
9227 * CurrencyManager.cs:
9229 * BindingManagerBase.cs: Initial implementation
9230 * BindingsCollection.cs: Add an internal contains method that the
9231 BindingManagerBase uses to ensure bindings aren't added twice to
9233 * PropertyManager.cs: Stubbed out.
9235 * ContainerControl.cs: Hook up databinding
9237 2005-02-22 Geoff Norton <gnorton@customerdna.com>
9240 OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
9241 Fixed Invalidate/Update chain.
9242 Fixed tons of other minor bugs (this is almost a complete rewrite).
9244 2005-02-22 Jordi Mas i Hernandez <jordi@ximian.com>
9246 * ComboBox.cs: do subcontrol creation when the control is created
9248 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
9250 * Label.cs: fixes image drawing (image and imagelist)
9251 * ThemeWin32Classic.cs: cache brushes
9253 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
9255 * Form.cs: Move menu drawing code to Theme class
9256 * ComboBox.cs: Move ComboBox drawing code to Theme class
9257 * MenuItem.cs: Move menu drawing code to Theme class
9258 * MenuAPI.cs: Move menu drawing code to Theme class
9259 * ThemeWin32Classic.cs: New methods
9260 * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
9261 * ListBox.cs: Move Listbox drawing code to Theme class
9262 * Theme.cs: New methods
9264 2005-02-20 Peter Bartok <pbartok@novell.com>
9267 - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
9268 only process mnemonics on those)
9269 - Fixed event sequence for key handling; first calling
9270 ProcessKeyEventArgs now
9272 - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
9273 for processing non-character keys
9274 - Fixed WM_CHAR to generate proper event sequence before processing
9275 * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
9278 2005-02-19 Peter Bartok <pbartok@novell.com>
9280 * UserControl.cs: Added TextChanged event; added attributes
9281 * SizeGrip.cs: Implemented resizing and optional display of grip
9282 * Form.cs: Fixed attribute
9283 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
9284 Changed meaning of ScrollWindow bool argument; instead of the
9285 clear attribute (which will be true usually anyway), it gives the
9286 option of moving child controls as well.
9288 - Changed to match new ScrollWindow argument
9289 - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
9290 now handles the implicit parent window a WM puts around us
9291 * ScrollableControl.cs: Implemented (not the prettiest, but it seems
9293 * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
9294 * TreeView.cs: Adjusted to new ScrollWindow arguments
9296 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
9298 * Form.cs: Menu integration with non-client area
9299 * MenuItem.cs: Menu integration with non-client area
9300 * MenuAPI.cs: Menu integration with non-client area
9302 2005-02-18 Peter Bartok <pbartok@novell.com>
9304 * MethodInvoker.cs: Added
9305 * MdiLayout.cs: Added
9306 * SendKeys.cs: Started implementation
9307 * ErrorIconAlignment.cs: Added
9309 2005-02-18 Peter Bartok <pbartok@novell.com>
9311 * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
9312 * Form.cs: Added handling for Menu-related Non-client messages
9314 2005-02-17 Peter Bartok <pbartok@novell.com>
9316 * UpDownBase.cs: Fixed typo, compilation errors
9317 * DomainUpDown.cs: Fixed attribute value
9319 2005-02-16 Miguel de Icaza <miguel@novell.com>
9321 * UpDownBase.cs: Attach entry events.
9323 Add ForeColor property, Focused, InterceptArrowKeys (interception
9326 2005-02-17 Jordi Mas i Hernandez <jordi@ximian.com>
9329 - Redraw non client are on Setmenu
9330 - Calc proper menu starting point
9332 2005-02-17 Peter Bartok <pbartok@novell.com>
9334 * Application.cs: Fixed message_filter check
9336 2005-02-17 Peter Bartok <pbartok@novell.com>
9338 * Application.cs: Now calls registered message filters
9339 * DockStyle.cs: Fixed attribute
9340 * Form.cs: Fixed attribute
9341 * Menu.cs: Fixed attribute
9342 * ToolTip.cs: Fixed attribute
9343 * TreeNode.cs: Added missing attributes and arranged in regions
9344 * PropertyGrid.cs: Fixed signatures
9345 * TreeNodeCollection.cs: Added attributes
9346 * Splitter.cs: Added missing attributes; arranged into regions
9347 * TabPage.cs: Added missing attributes; arranged into regions
9348 * TextBoxBase.cs: Added missing attributes
9349 * TextBox.cs: Added missing attributes
9350 * ArrangeDirection.cs: Added missing attributes
9351 * TreeNodeConverter.cs: Added stub (needed for TreeNode)
9352 * ToolBarButton.cs: Fixed attributes
9353 * AnchorStyles.cs: Fixed attribute
9354 * TrackBar.cs: Fixed attributes
9355 * TabControl.cs: Added missing attributes and arranged into regions
9356 * ToolBar.cs: Fixed attribute
9357 * StatusBar.cs: Fixed signature, organized into regions and added
9359 * StatusBarPanel.cs: Fixed attributes
9360 * ContentsResizedEventArgs.cs: Implemented
9361 * ContentsResizedEventHandler.cs: Implemented
9362 * DateBoldEventArgs.cs: Implemented
9363 * DateBoldEventHandler.cs: Implemented
9364 * UpDownEventArgs.cs: Implemented
9365 * UpDownEventHandler.cs: Implemented
9367 2005-02-16 Jordi Mas i Hernandez <jordi@ximian.com>
9369 * Form.cs: first Menu NC refactoring
9370 * MenuAPI.cs: first Menu NC refactoring
9372 2005-02-16 Peter Bartok <pbartok@novell.com>
9374 * ImeMode.cs: Added missing attributes
9375 * Menu.cs: Fixed attribute
9376 * GroupBox.cs: Fixed attribute
9377 * Label.cs: Fixed attribute
9378 * ColorDialog.cs (RunDialog): Removed TODO attribute
9379 * ComboBox.cs: Fixed attributes
9380 * ListControl.cs: Added missing attributes
9381 * PropertyGrid.cs: Fixed attributes
9382 * Control.cs: Fixed attributes
9383 * ListViewItem.cs: Added TypeConverter attribute
9384 * NotifyIcon.cs: Fixed attributes
9385 * ListView.cs: Fixed attributes
9386 * ButtonBase.cs: Fixed attribute
9387 * ImageList.cs: Added missing attributes
9388 * ContainerControl.cs: Fixed signature
9389 * CheckedListBox.cs: Fixed attribute; added missing attributes
9390 * Panel.cs: Fixed attributes
9391 * PropertyTabChangedEventArgs.cs: Added missing attribute
9392 * PropertyValueChangedEventArgs.cs: Added missing attribute
9393 * Binding.cs: Fixed attribute
9394 * ListViewItemConverter: Implemented ListViewSubItemConverter class
9395 * ListBox.cs: Fixed attribute; added missing attributes;
9396 * ScrollableControl.cs: Added missing attributes
9397 * PictureBox.cs: Added missing attributes; implemented missing property
9398 * DateTimePicker.cs: Added missing attributes
9399 * Theme.cs (ToolWindowCaptionHeight): Fixed type
9400 * MonthCalendar.cs: Fixed attributes
9401 * StatusBarPanel.cs: Added missing attributes
9402 * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
9404 2005-02-16 Peter Bartok <pbartok@novell.com>
9406 * TextBoxBase.cs: The previous method to enforce height yet remember
9407 the requested high was less than ideal, this is an attempt to do
9409 * Control.cs: Added comment about possible problem
9410 * Copyright: Updated format
9411 * GridItemType.cs: Fixed swapped values
9413 2005-02-15 Jackson Harper <jackson@ximian.com>
9415 * BaseCollection.cs: Use property so we never access an
9416 uninitialized list. Also initialize the list in the property.
9418 2005-02-15 Peter Bartok <pbartok@novell.com>
9420 * GroupBox.cs (ProcessMnemonic): Implemented
9421 * Label.cs (ProcessMnemonic): Implemented
9422 * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
9425 2005-02-15 Peter Bartok <pbartok@novell.com>
9427 * RadioButton.cs (ProcessMnemonic): Implemented
9428 * CheckBox.cs (ProcessMnemonic): Implemented
9430 - Added handling of WM_SYSxxx keyboard messages to support mnemonic
9432 - Added internal method to allow calling ProcessMnemonic from other
9434 * ContainerControl.cs:
9435 - Started support for handling validation chain handling
9436 - Implemented ProcessMnemonic support
9437 - Added Select() call to Active, to make sure the active control
9439 * Form.cs: Setting toplevel flag for Forms (this was lost in the
9441 * ThemeWin32Classic.cs:
9442 - DrawCheckBox(): Fixed stringformat to show hotkeys
9443 - DrawRadioButton(): Fixed stringformat to show hotkeys
9444 * CommonDialog.cs: Removed WndProc override, not needed
9446 2005-02-14 Peter Bartok <pbartok@novell.com>
9448 * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
9449 missed those in the rewrite
9451 2005-02-14 Miguel de Icaza <miguel@novell.com>
9453 * NumericUpDown.cs (Increment, ToString): Add.
9454 (DecimalPlaces): implement.
9458 * UpDownBase.cs: Add the designer attributes.
9460 2005-02-13 Peter Bartok <pbartok@novell.com>
9462 * Panel.cs: Removed border_style, now in Control
9463 * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
9464 ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
9466 2005-02-13 Peter Bartok <pbartok@novell.com>
9468 * MouseButtons.cs: Added missing attributes
9469 * XplatUIStructs.cs: Added enumeration for title styles
9470 * LeftRightAlignment.cs: Added missing attributes
9471 * Hwnd.cs: Switched to use client_window as handle (slower, but makes
9472 it compatible with Graphics.FromHwnd()
9473 * SelectedGridItemChangedEventArgs.cs: Fixed property type
9474 * Keys.cs: Added missing attributes
9475 * SelectionRange.cs: Added missing attributes
9476 * SelectionRangeConverter.cs: Added
9478 - Introduced SetBorderStyle, SetMenu, GetMenuDC and
9479 ReleaseMenuDC methods
9480 - Renamed ReleaseWindow to UngrabWindow
9481 - Added proper startup notice to allow version identification
9483 - Added missing attributes
9484 - Removed FormParent concept
9485 * Label.cs: Removed border_style field, now in Control
9486 * RadioButton.cs: Now properly selects RadioButton when focus is
9488 * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
9490 - Added missing attributes
9491 - Added borderstyle handling
9492 - Removed FormParent concept support
9493 - Fixed calls to XplatUI to match changed APIs
9494 - Fixed bug that would case us to use disposed Graphics objects
9495 - Removed unneeded internal methods
9496 - PerformLayout(): Fixed to handle DockStyle.Fill properly
9497 - SelectNextControl(): Fixed to properly check common parents
9498 * TextBoxBase.cs: Removed border_style field (now in Control)
9500 - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
9501 fixed calculations for form size
9502 - Added support for localized strings and icons
9503 - Improved form size calculations, added border
9504 * ListView.cs: Removed border_style field (now in Control)
9505 * X11Structs.cs: Moved several structs from X11 driver here
9506 * X11Keyboard.cs: Changed debug message
9507 * Application.cs: Removed FormParent concept support
9509 - Resetting end_modal flag
9510 - Removed FormParent concept support
9511 * NativeWindow.cs: Removed FormParent concept support
9512 * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
9513 Client area and Non-Client whole window to allow support for WM_NC
9515 * XplatUIOSX.cs: Updated to match latest driver spec; added exception
9516 prevent using it until it supports Hwnd as per Geoff Norton's request
9517 * ToolBar.cs: Fixed drawing, was not doing proper drawing
9518 * PictureBox.cs: Removed border_style field, now in Control
9519 * XplatUIWin32.cs: Added new driver methods
9521 2005-02-12 Peter Bartok <pbartok@novell.com>
9523 * OpacityConverter.cs: Implemented
9524 * Hwnd.cs: Internal class to support drivers that need to emulate
9525 client area/non-client area window behaviour
9527 2005-02-11 Peter Bartok <pbartok@novell.com>
9529 * KeysConverter.cs: Implemented
9531 2005-02-11 Jordi Mas i Hernandez <jordi@ximian.com>
9533 * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
9534 * LinkLabel: Added missing attributes
9535 * MainMenu.cs: fixes ToString
9536 * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
9537 * ListBox.cs: fixes event position
9538 * TrackBar.cs: adds missing attributes and events
9540 2005-02-10 Jordi Mas i Hernandez <jordi@ximian.com>
9542 * MenuItem.cs: Use SystemInformation and bug fixes
9543 * MenuAPI.cs: Use SystemInformation and bug fixes
9545 2005-02-09 Jackson Harper <jackson@ximian.com>
9547 * X11Keyboard.cs: We ignore some keys, but still need to set/reset
9548 their keystate otherwise things like VK_MENU get stuck "on".
9550 2005-02-09 Kazuki Oikawa <kazuki@panicode.com>
9552 * ListBox.cs: Fixes AddRange bug
9554 2005-02-09 Jordi Mas i Hernandez <jordi@ximian.com>
9557 - Add missing attributes
9558 - Add missing method
9560 * CheckedListBox.cs: Added missing attributes
9561 - Add missing attributes
9562 - Remove extra method
9564 * ComboBox.cs: Added missing attributes
9565 * VScrollBar.cs: Added missing attributes
9566 * ScrollBar.cs: Added missing attributes
9567 * ListBox.cs: Fixes signature, add missing consts
9568 * LinkArea.cs: Added missing attributes
9571 2005-02-08 Peter Bartok <pbartok@novell.com>
9573 * Menu.cs: Added missing attributes
9574 * MainMenu.cs: Added missing attributes
9575 * GroupBox.cs: Added missing attributes
9576 * Label.cs: Added missing attributes
9577 * CheckBox.cs: Implemented CheckBoxAccessibleObject class
9579 - Added Instance and Options properties
9580 - Added missing attributes
9581 * Cursor.cs: Made Serializable
9582 * NotifyIcon: Added missing attributes
9583 * MenuItem.cs: Added missing attributes
9584 * TextBoxBase.cs: Implemented AppendText() and Select() methods
9585 * Panel.cs: Added Missing attributes
9586 * MonthCalendar.cs: Fixed CreateParams
9588 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
9592 - Fixes issues with links
9593 - Adds the class attributes
9595 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
9598 - Fixes button when no items available in dropdown
9599 - Fixes repainting problems
9600 - Adds the class attributes
9602 2005-02-07 Geoff Norton <gnorton@customerdna.com>
9604 * XplatUIOSX.cs: Detect the menu bar and title bar height from
9605 the current theme. Cache these on startup.
9607 2005-02-07 Jackson Harper <jackson@ximian.com>
9609 * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
9610 the scrollbar buttons when they are depressed.
9612 2005-02-07 Geoff Norton <gnorton@customerdna.com>
9614 * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
9615 Get the display size from the main displayid. We currently dont
9616 support multiple display configurations.
9618 2005-02-07 Geoff Norton <gnorton@customerdna.com>
9620 * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
9622 2005-02-07 Miguel de Icaza <miguel@novell.com>
9624 * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
9626 2005-02-05 Jonathan Chambers <jonathan.chambers@ansys.com>
9628 * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
9630 2005-02-04 Jackson Harper <jackson@ximian.com>
9632 * ThemeWin32Classic.cs: Respect the clipping rect when
9633 drawing. Only fill the intersection of clips and rects so there
9634 isn't a lot of large fills.
9635 * ScrollBar.cs: Pass the correct clipping rect to the theme
9636 engine. Remove some debug code.
9638 2005-02-05 John BouAntoun <jba-mono@optusnet.com.au>
9640 * DateTimePicker.cs:
9641 - Fixed crash on DateTime.Parse, use Constructor instead
9643 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
9647 - Owner draw support (MeasureItem and DrawItem)
9649 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
9652 - Implements FindMergePosition and MergeMenu functions (very poor documented)
9653 - Fixes MenuItems.Add range
9655 - MergeMenu and Clone and CloneMenu functions
9657 2005-02-03 Jackson Harper <jackson@ximian.com>
9659 * ScrollBar.cs: Make abstract
9660 * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
9663 2005-02-03 Jackson Harper <jackson@ximian.com>
9665 * ScrollBar.cs: First part of my scrollbar fixups. This removes
9666 all the unneeded refreshes and uses invalidates with properly
9669 2005-02-03 Peter Bartok <pbartok@novell.com>
9671 * ComponentModel.cs: Added
9672 * IDataGridEditingService.cs: Added
9673 * Timer.cs: Added missing attributes
9674 * ToolTip.cs: Added missing attributes
9676 2005-02-03 Jonathan Chambers <jonathan.chambers@ansys.com>
9678 * PropertyGridView.cs: Added. Patch by Jonathan Chambers
9680 2005-02-03 Peter Bartok <pbartok@novell.com>
9682 * ListBox.cs: Added missing attributes
9684 2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com>
9687 - Fixes font height after font change
9688 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
9690 2005-02-02 Peter Bartok <pbartok@novell.com>
9692 * HandleData.cs: Introduced static methods to allow class
9693 to be more self-contained and track it's own HandleData objects
9694 * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
9695 HandleData to use new static methods
9697 2005-02-02 Jordi Mas i Hernandez <jordi@ximian.com>
9700 - Fixes default size and PreferredHeight
9702 - ObjectCollection.Insert implementation
9708 - ObjectCollection.Insert implementation
9709 - No selection after clean
9712 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
9714 * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
9716 2005-02-01 Jordi Mas i Hernandez <jordi@ximian.com>
9719 - Caches ItemHeight calculation for OwnerDrawVariable
9720 - Handles dropdown properly
9721 - Fixes several minor bugs
9723 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
9726 - Fixes 71946 and 71950
9727 - Fixes changing Multicolumn on the fly
9728 - Fixes keyboard navigation on Multicolumn listboxes
9730 2005-01-31 Geoff Norton <gnorton@customerdna.com>
9732 * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
9735 2005-01-31 Geoff Norton <gnorton@customerdna.com>
9737 * XplatUIOSX.cs: Allow applications to actually exit.
9739 2005-01-31 Geoff Norton <gnorton@customerdna.com>
9741 * XplatUIOSX.cs: SetWindowStyle implemented. Reposition views in
9742 their parent at creation time rather than lazily later. Fixes a major
9743 regression we were experiencing.
9745 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
9747 * ThemeWin32Classic.cs: more date time picker painting fixes
9748 * DateTimePicker.cs: more monthcalendar drop down fixes
9749 * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
9751 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
9754 - When moving the thumb going outside the control should stop the moving
9755 - Adds the firing of missing events
9756 - Fixes no button show if Size is not specified
9757 - End / Home keys for keyboard navigation
9759 2005-01-30 Peter Bartok <pbartok@novell.com>
9761 * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
9762 sanity check to prevent theoretical loop
9763 * XplatUIWin32.cs (SetVisible): Removed debug output
9764 * XplatUIX11.cs (SystrayChange): Added sanity check
9765 * ScrollableControl.cs (OnVisibleChanged): Now calls base method
9766 * Control.cs (OnVisibleChanged): Added workaround for ParentForm
9767 behaviour, valid until the X11 client window rewrite is done
9768 * TextBox.cs (ctor): Setting proper default foreground and background
9771 2005-01-30 John BouAntoun <jba-mono@optusnet.com.au>
9773 * Theme: Added DrawDateTimePicker to interface
9774 * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
9775 * DateTimePicker.cs: Created (still needs keys and painting code)
9776 * DateTimePickerFormat.cs: added
9777 * MonthCalendar.cs: fixed CreateParams for popup window mode
9779 2005-01-29 Peter Bartok <pbartok@novell.com>
9781 * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
9782 this should also the calculations for ligher/darker
9783 * Theme.cs: Fixed defaults for ScrollBar widths/heights
9785 2005-01-29 Peter Bartok <pbartok@novell.com>
9787 * ArrangeDirection.cs: Added
9788 * ArrangeStartingPositon.cs: Added
9789 * SystemInformation.cs: Implemented
9790 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
9791 XplatUIX11.cs, Theme.cs: Added/implemented new static properties
9792 used by SystemInformation class
9793 * X11Strucs.cs: Added XSizeHints structure
9795 - Fixed CreateParams to make sure the menu window is always visible
9796 - TrackPopupMenu: Added check to make sure we don't draw the
9799 2005-01-29 Peter Bartok <pbartok@novell.com>
9801 * HandleData.cs: Added method for altering invalid area
9802 * TextBoxBase.cs: Implemented TextLength
9804 2005-01-28 Peter Bartok <pbartok@novell.com>
9806 * XplatUIX11.cs: Improvement over last patch, not sending
9807 the WM_PAINT directly anymore, instead we scroll any pending
9808 exposed areas and let the system pick out the WM_PAINT later
9810 2005-01-28 Peter Bartok <pbartok@novell.com>
9812 * SWF.csproj: Deleted, no longer used. Instead,
9813 Managed.Windows.Forms/SWF.csproj should be used
9814 * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
9815 directly, to avoid a potential race condition with the next
9818 2005-01-28 Peter Bartok <pbartok@novell.com>
9820 * XplatUI.cs: Made class internal
9822 2005-01-28 Jordi Mas i Hernandez <jordi@ximian.com>
9824 * CheckedListBox.cs:
9827 - Missing methods and events
9829 2005-01-27 Peter Bartok <pbartok@novell.com>
9831 * Application.cs (Run): Don't use form if we don't have one
9833 2005-01-27 Peter Bartok <pbartok@novell.com>
9835 * TextBoxBase.cs (get_Lines): Fixed index off by one error
9837 2005-01-27 Peter Bartok <pbartok@novell.com>
9839 * GridEntry.cs: Added; Patch by Jonathan S. Chambers
9840 * GridItem.cs: Added; Patch by Jonathan S. Chambers
9841 * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
9842 * GridItemType.cs: Added; Patch by Jonathan S. Chambers
9843 * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
9844 * PropertySort.cs: Added; Patch by Jonathan S. Chambers
9845 * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9846 * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
9847 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9848 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9849 * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9850 * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
9852 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
9855 - Draw focus on Simple Combobox
9856 - Fixes drawing issues
9859 2005-01-27 Peter Bartok <pbartok@novell.com>
9862 - Place window in default location, instead of hardcoded 0/0
9863 - Send initial LocationChanged event
9865 - UpdateBounds after creation to find out where the WM placed us
9866 - Make sure that if the ParentForm changes location the Form
9868 * XplatUIX11.cs: XGetGeometry will not return the coords relative
9869 to the root, but to whatever the WM placed around us.
9870 Translate to root coordinates before returning toplevel
9872 * XplatUIWin32.cs: Removed debug output
9873 * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
9874 flag to GetWindowPos, to allow translation of coordinates on X11
9876 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
9878 * ListBox.cs: connect LostFocus Event
9880 2005-01-27 Peter Bartok <pbartok@novell.com>
9882 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
9883 XplatUIX11.cs: Extended the Systray API
9884 * Form.cs: Removed debug output
9885 * Application.cs: Fixed focus assignment, always need to call
9886 XplatUI.Activate() since Form.Activate() has rules that may
9888 * NotifyIcon.cs: Should be complete now
9889 * ToolTip.cs: Worked around possible timer bug
9891 2005-01-27 Jackson Harper <jackson@ximian.com>
9894 - Only invalidate the effected tabs when the
9895 selected index changes. This reduces drawing and gets rid of some
9897 - Only refresh if the tabs need to be shifted, otherwise only
9898 invalidate the slider button.
9899 - On windows the tabs are not filled to right if the slider is
9902 2005-01-27 Jackson Harper <jackson@ximian.com>
9904 * TabControl.cs: Only refresh on mouseup if we are showing the
9905 slider. Also only invalidate the button whose state has changed.
9907 2005-01-26 Peter Bartok <pbartok@novell.com>
9909 * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
9910 * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
9911 and SystrayRemove() methods
9912 * XplatUIOSX.cs: Stubbed Systray methods
9914 - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
9916 - Fixed broken XChangeProperty calls (marshalling messed up things)
9917 * X11Structs.cs: Added enums and structs required for Size hinting
9918 * NotifyIcon.cs: Added & implemented
9920 2005-01-26 Jackson Harper <jackson@ximian.com>
9922 * TabControl.cs: Space vertically layed out tabs properly.
9924 2005-01-26 Peter Bartok <pbartok@novell.com>
9926 * Form.cs (CreateClientParams): Always set the location to 0,0
9927 since we're a child window.
9929 * Control.cs (SetVisibleCore): Always explicitly setting the location
9930 of a toplevel window, apparently X11 doesn't like to move windows
9931 while they're not mapped.
9933 2005-01-26 Jackson Harper <jackson@ximian.com>
9935 * TabControl.cs: Implement FillToRight size mode with vertically
9938 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
9940 * ControlPaint.cs, ThemeWin32Classic.cs
9941 - Fixes DrawFocusRectangle
9943 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
9946 - MenuBar tracking only starts when item is first clicked
9947 - Fixes menu hidding for multiple subitems
9948 - Unselect item in MenuBar when item Executed
9951 2005-01-25 Jordi Mas i Hernandez <jordi@ximian.com>
9954 - IsInputKey for ListBox
9957 - Shift and Control item selection
9958 - Implement SelectionMode.MultiExtended
9961 - IsInputKey implemented
9962 - Do not generate OnTextChangedEdit on internal txt changes
9964 2005-01-23 Peter Bartok <pbartok@novell.com>
9966 * AccessibleObject.cs: Partially implemented Select()
9967 * MonthCalendar.cs: Added missing attributes and events
9968 * Form.cs: Fixed CreateParams behaviour, now controls derived from
9969 form can properly override CreateParams.
9970 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
9971 XplatUIX11.cs: Dropped RefreshWindow method, not needed if
9972 Control performs Invalidate & Update
9973 * NativeWindow (CreateHandle): Added special handling for Form
9974 and Form.FormParent classes to allow overriding of From.CreateParams
9976 - ControlNativeWindow: Renamed 'control' variable to more intuitive
9978 - ControlNativeWindow: Added Owner property
9979 - Removed usage of Refresh() on property changes, changed into
9980 Invalidate(), we need to wait until the queue is processed for
9981 updates, direct calls might cause problems if not all vars for
9982 Paint are initialized
9983 - Added call to UpdateStyles() when creating the window, to set any
9984 styles that CreateWindow might have ignored.
9985 - Added support for Form CreateParent overrides to UpdateStyles()
9986 * MessageBox.cs: Removed no longer needed FormParent override stuff,
9987 CreateParams are now properly overridable
9988 * CommonDialog.cs: Removed no longer needed FormParent override stuff,
9989 CreateParams are now properly overridable
9991 2005-01-23 Miguel de Icaza <miguel@ximian.com>
9993 * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
9996 Capture LostFocus and OnTextBoxChanged. The later introduces a
9997 recursive invocation that I have not figured out yet.
9999 Reset the timer when not using (it was accumulating).
10002 (OnTextBoxChanged): Set UserEdit to true here to track whether the
10003 user has made changes that require validation.
10005 Reset changing to avoid loops.
10007 2005-01-22 Miguel de Icaza <miguel@ximian.com>
10009 * NumericUpDown.cs: Display value at startup.
10011 * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
10014 * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
10015 filled in. Added some basic parsing of text.
10017 Still missing the OnXXX method overrides, and figuring out the
10018 events that must be emitted.
10020 * UpDownBase.cs: Handle UserEdit on the Text property.
10022 2005-01-22 Jordi Mas i Hernandez <jordi@ximian.com>
10025 - Fixes IntegralHeight
10028 2005-01-21 Jackson Harper <jackson@ximian.com>
10030 * TabControl.cs: Set the SelectedIndex property when SelectedTab
10031 is set so that the page visibility is updated and the tabs are
10034 2005-01-21 Jackson Harper <jackson@ximian.com>
10036 * TabControl.cs: Use cliping rectangle for blitting. Give the
10037 theme the clipping rect so we can do clipping while
10038 drawing. Remove some debug code.
10040 2005-01-21 Jackson Harper <jackson@ximian.com>
10042 * TabPage.cs: Add a new method so tab pages can force the tab
10043 control to recalculate the tab page sizes.
10044 * TabControl.cs: UpdateOwner needs to make the tab control recalc
10047 2005-01-20 Jackson Harper <jackson@ximian.com>
10049 * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
10051 2005-01-20 Jackson Harper <jackson@ximian.com>
10053 * TreeView.cs: Set the bounds for nodes properly. They were
10054 getting screwed up when checkboxes were not enabled, but images
10057 2005-01-20 Jordi Mas i Hernandez <jordi@ximian.com>
10060 - Owner draw support
10063 2005-01-20 Jackson Harper <jackson@ximian.com>
10065 * XplatUIStructs.cs: More misc keys
10066 * X11Keyboard.cs: Ignore some control keys.
10068 2005-01-20 Jackson Harper <jackson@ximian.com>
10070 * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
10071 * X11Keyboard.cs: Set the AltGr mask when we get a key event.
10073 2005-01-19 Peter Bartok <pbartok@novell.com>
10075 * Control.cs: Un-selecting the control when it is loosing focus
10077 2005-01-19 Jackson Harper <jackson@ximian.com>
10079 * TreeView.cs: Hook up to the text controls leave event so we can
10080 end editing when the users clicks outside the text box.
10082 2005-01-19 Jackson Harper <jackson@ximian.com>
10084 * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
10085 get set in the conversion array.
10087 2005-01-19 Peter Bartok <pbartok@novell.com>
10089 * Application.cs (ModalRun): Added a call to CreateControl to ensure
10090 focus is properly set
10092 - Added missing attributes
10093 - removed styles, those are already set in the base class
10095 - Added missing attributes
10096 - Added clip window styles
10097 * CheckBox.cs: Added missing attributes
10099 - FormParentWindow.CreateParams: Added required clip styles
10100 * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
10101 also filters modifier keys
10103 - Added assignment of Accept and Cancel button to enable Enter
10104 and Esc keys in MessageBox dialogs
10105 - FormParentWindow.CreateParams: Added required clip styles
10106 * RadioButton.cs: Added missing attributes
10107 * TextControl.cs: No longer draws selection if control does not
10110 - Now draws simple rectangle around test area to make it obvious
10111 there's a control. This is a hack until we properly support borders
10112 - A few simple fixes to support selections better, now erases selected
10113 text when typing, and resets selection when using movement keys
10115 2005-01-19 Miguel de Icaza <miguel@ximian.com>
10117 * UpDownBase.cs: Added some new properties.
10119 * DomainUpDown.cs: Implement a lot to get my test working.
10121 2005-01-19 Geoff Norton <gnorton@customerdna.com>
10123 * XplatUIOSX.cs: Fix a minor bug to bring the close box back
10125 2005-01-19 Geoff Norton <gnorton@customerdna.com>
10127 * OSXStructs (WindowAttributes): Fixed csc complaints
10129 2005-01-19 Geoff Norton <gnorton@customerdna.com>
10132 OSXStructs.cs: Initial refactor to move enums and consts into
10133 OSXStructs and use them in the driver for greater readability.
10135 2005-01-19 Geoff Norton <gnorton@customerdna.com>
10137 * XplatUIOSX.cs: Initial support for Standard Cursors.
10138 * OSXStructs.cs: Move our structs here; added ThemeCursor enum
10140 2005-01-19 Jordi Mas i Hernandez <jordi@ximian.com>
10142 * ComboBox.cs: ability to change style when the ctrl is already
10143 created, missing methods and events, bug fixes, signature fixes
10145 2005-01-19 Peter Bartok <pbartok@novell.com>
10147 * Cursors.cs (ctor): Added ctor to fix signature
10149 2005-01-18 Peter Bartok <pbartok@novell.com>
10151 * Button.cs: Implemented DoubleClick event
10153 - Fixed keyboard handling to behave like MS, where the press of
10154 Spacebar is equivalent to a mousedown, and the key release is
10155 equivalent to mouseup. Now a spacebar push will give the same
10156 visual feedback like a mouse click.
10157 - Added missing attributes
10158 - Added ImeModeChanged event
10159 - Added support for generating DoubleClick event for derived classes
10161 - Implemented DoubleClick event
10162 - Added missing attributes
10163 * CommonDialog.cs: Added missing attribute
10164 * ContextMenu.cs: Added missing attributes
10166 - AutoChecked buttons do not allow to be unselected when clicked
10167 (otherwise we might end up with no selected buttons in a group)
10168 - Added missing attributes
10169 - Implemented DoubleClickEvent
10170 * ThreadExceptionDialog.cs: Enabled TextBox code
10172 2005-01-18 Peter Bartok <pbartok@novell.com>
10174 * Form.cs: Removed debug output
10175 * Button.cs: Added support for DoubleClick method
10177 2005-01-18 Peter Bartok <pbartok@novell.com>
10180 - Added method to parent window that allows triggering size
10181 calculations when a menu is added/removed
10182 - set_Menu: Cleaned up mess from early days of Form and Control,
10183 now properly triggers a recalc when a menu is added/removed
10184 - Added case to select form itself as focused form if no child
10186 - Added PerformLayout call when showing dialog, to ensure properly
10189 - Select(): Made internal so Form can access it
10190 - Focus(): Only call Xplat layer if required (avoids loop), and sets
10192 * Application.cs (Run): Removed hack and calls PerformLayout instead
10193 to trigger calculation when Form becomes visible
10195 2005-01-18 Jordi Mas i Hernandez <jordi@ximian.com>
10197 * ComboBox.cs: fixes for ownerdraw
10199 2005-01-18 Peter Bartok <pbartok@novell.com>
10202 - Sentinel is no longer static, each Document gets it's own, this
10203 avoids locking or alternatively overwrite problems when more
10204 than one text control is used simultaneously.
10205 - Switched to use Hilight and HilightText brushes for text selection
10207 * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
10209 2005-01-18 Peter Bartok <pbartok@novell.com>
10212 - Hooked up the following events:
10220 o SystemColorsChanged
10221 o ParentFontChanged
10223 - Removed debug output
10224 - Added a call to the current theme's ResetDefaults when a color change
10226 * Form.cs: Now setting the proper ImeMode
10227 * Theme.cs: Defined a method to force recreation of cached resources
10228 and rereading of system defaults (ResetDefaults())
10229 * ThemeWin32Classic.cs: Added ResetDefaults() stub
10231 2005-01-17 Peter Bartok <pbartok@novell.com>
10233 * Control.cs: Added missing attributes
10235 2005-01-17 Jackson Harper <jackson@ximian.com>
10237 * TreeNode.cs: Implement editing. Add missing properties selected
10239 * TreeView.cs: Implement node editing. Also some fixes to use
10240 Invalidate (invalid area) instead of Refresh when selecting.
10242 2005-01-17 Peter Bartok <pbartok@novell.com>
10245 - Implemented InvokeGotFocus() method
10246 - Implemented InvokeLostFocus() method
10247 - Implemented InvokePaint() method
10248 - Implemented InvokePaintBackground() method
10249 - Implemented InvokeClick() method
10250 - Implemented FindForm() method
10251 - Implemented RectangleToClient() method
10252 - Implemented ClientToRectangle() method
10253 - Implemented ResetBackColor() method
10254 - Implemented ResetCursor() method
10255 - Implemented ResetFont() method
10256 - Implemented ResteForeColor() method
10257 - Implemented ResetImeMode() method
10258 - Implemented ResetLeftToRight() method
10259 - Implemented ResetText() method
10260 - Implemented Scale() methods
10261 - Implemented ScaleCore() method
10262 - Implemented Update() method
10263 - Removed unused variables
10264 - Stubbed AccessibilityNotifyClients and
10265 ControlAccessibleObject.NotifyClients() methods (dunno what to do
10267 - Now setting proper default for RightToLeft property
10268 - Fixed bug in SetClientSizeCore that would cause windows to get
10270 - Now sending Click/DoubleClick events
10271 - Now selecting controls when left mouse button is clicked on
10273 * AccessibleEvents.cs: Added
10274 * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
10275 * XplatUIOSX.cs: Stubbed UpdateWindow() method
10276 * XplatUIWin32.cs: Implemented UpdateWindow() method
10277 * XplatUIX11.cs: Implemented UpdateWindow() method
10278 * Form.cs: Removed stray semicolon causing CS0162 warning
10279 * ThemeWin32Classic.cs: Fixed unused variable warnings
10280 * ScrollableControl.cs: Now calls base method for ScaleCore
10281 * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
10282 style to avoid interference with internal click handler (which is
10283 different than standard Control click handling)
10285 - Now unchecks all sibling radio buttons when control is
10286 selected (Fixes #68756)
10287 - Removed internal tabstop variable, using the one inherited from
10290 2005-01-17 Jackson Harper <jackson@ximian.com>
10292 * NavigateEventArgs.cs: Fix base type.
10293 * LinkLabel.cs: Sig fix
10295 2005-01-17 Jackson Harper <jackson@ximian.com>
10297 * TreeView.cs: Only invalidate the effected nodes bounds when
10300 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
10302 * XplatUIWin32.cs: fixes Win32 marshaling
10303 * XplatUIX11.cs: fixes method signature
10305 2005-01-17 Peter Bartok <pbartok@novell.com>
10307 * XplatUIX11.cs: Clean up resources when we no longer need them
10309 2005-01-17 Peter Bartok <pbartok@novell.com>
10311 * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
10312 OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
10313 and DestroyCursor() methods.
10314 * Cursor.cs: Partially implemented, now supports standard cursors;
10315 still contains some debug code
10316 * Cursors.cs: Implemented class
10318 - WndProc(): Added handling of WM_SETCURSOR message, setting the
10320 - Implemented Cursor property
10321 - Replaced break; with return; more straightforwar and possibly
10323 - Now properly setting the result for WM_HELP
10324 * X11Structs.cs: Added CursorFontShape enum
10325 * XplatUIStructs.cs:
10326 - Added StdCursor enum (to support DefineStdCursor() method)
10327 - Added HitTest enum (to support sending WM_SETCURSOR message)
10329 - Now sends the WM_SETCURSOR message
10330 - Implemented new cursor methods
10331 * XplatUIOSX.cs: Stubbed new cursor methods
10333 - Implemented new cursor methods
10334 - Added GetSystemMetrics function and associated enumeration
10336 2005-01-15 Peter Bartok <pbartok@novell.com>
10339 - WndProc(): Now handles EnableNotifyMessage
10340 - SelectNextControl(): Fixed bug where if no child or sibling
10341 controls exist we looped endlessly
10343 2005-01-14 Jackson Harper <jackson@ximian.com>
10345 * TreeView.cs: Recalculate the tab pages when a new one is added
10346 so that the proper bounding rects are created.
10348 2005-01-14 Jackson Harper <jackson@ximian.com>
10350 * TreeView.cs: Draw a gray box instead of a grip in the lower
10351 right hand corner when there are both horizontal and vertical
10354 2005-01-14 Jackson Harper <jackson@ximian.com>
10356 * Control.cs: When erasing backgrounds use FromHwnd instead of
10357 FromHdc when there is a NULL wparam. This occurs on the X driver.
10358 * XplatUIX11.cs: Set the wparam to NULL.
10360 2005-01-13 Jackson Harper <jackson@ximian.com>
10362 * PictureBox.cs: Implement missing methods (except ToString, need
10363 to test that on windows) and events. When visibility is changed we
10364 need to redraw the image because the buffers are killed. When size
10365 is changed refresh if the sizemode needs it.
10367 2005-01-13 Peter Bartok <pbartok@novell.com>
10369 * Control.cs (SelectNextControl): Was using wrong method to select
10372 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
10374 * ComboBox.cs: fixes dropstyle
10376 2005-01-13 Peter Bartok <pbartok@novell.com>
10379 - Implemented Select() override
10380 - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
10381 - Now sets keyboard focus on startup
10382 * Control.cs (SelectNextControl): Now properly handles directed=true
10384 - WndProc: Now passes tab key on to base if AcceptTabChar=false
10385 - Added (really bad) focus rectangle (mostly for testing)
10386 * TextBox.cs: Added code to handle getting/loosing focus and invalidating
10387 to enforce redraw on focus changes
10388 * ContainerControl.cs:
10389 - Fixed detection of Shift-Tab key presses
10390 - Fixed traversal with arrow keys
10391 * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
10392 gonna keep this or if it's complete yet
10394 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
10396 * ComboBox.cs: missing properties, fixes
10398 2005-01-13 Peter Bartok <pbartok@novell.com>
10400 * Panel.cs (ctor): Setting Selectable window style to off
10401 * Splitter.cs (ctor): Setting Selectable window style to off
10402 * GroupBox.cs (ctor): Setting Selectable window style to off
10403 * Label.cs (ctor): Setting Selectable window style to off
10405 2005-01-12 Miguel de Icaza <miguel@ximian.com>
10407 * UpDownBase.cs (InitTimer): If the timer has been already
10408 created, enable it.
10410 Use a TextBox instead of a Label.
10412 2005-01-12 Jackson Harper <jackson@ximian.com>
10414 * TreeView.cs: Refresh the tree after sorting the nodes. Always
10415 draw the connecting node lines (when ShowLines is true).
10416 * TreeNode.cs: The nodes index can now be updated. This is used
10417 when a node collection is sorted.
10418 * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
10419 insert or an existing unsorted node collection can be sorted.
10421 2005-01-12 Peter Bartok <pbartok@novell.com>
10423 * ContainerControl.cs: Implemented ProcessDialogKeys()
10425 2005-01-12 Peter Bartok <pbartok@novell.com>
10428 - Implemented SelectNextControl() method
10429 - Several focus related bug fixes
10430 - Fixed Docking calculations to match MS documentation and
10433 2005-01-12 Jordi Mas i Hernandez <jordi@ximian.com>
10435 * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
10438 2005-01-12 Peter Bartok <pbartok@novell.com>
10441 - Fixed broken Contains() method
10442 - Implemented GetNextControl() method. Finally. This is the pre-
10443 requisite for focus handling.
10445 2005-01-12 Peter Bartok <pbartok@novell.com>
10447 * OSXStrucs.cs: Added
10449 2005-01-12 Peter Bartok <pbartok@novell.com>
10452 - Removed PeekMessageFlags
10453 - Implemented SetWindowStyle() method
10454 * XplatUIStructs.cs: Added PeekMessageFlags
10455 * X11Structs: Added missing border_width field to XWindowChanges struct
10457 - PeekMessage: Now throws exception if flags which are not yet
10458 supported are passed
10459 - Implemented SetWindowStyle() method
10460 - Fixed SetZOrder to handle AfterHwnd properly
10461 * XplatUI.cs: Added SetWindowStyle() method
10462 * XplatUIDriver.cs: Added SetWindowStyle() abstract
10464 - Implemented UpdateStyles() method
10465 - Implemented UpdateZOrder() method
10466 * XplatUIOSX.cs: Added SetWindowStyle() stub
10468 2005-01-12 Geoff Norton <gnorton@customerdna.com>
10470 * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
10474 2005-01-11 Jackson Harper <jackson@ximian.com>
10476 * TreeView.cs: Still need to draw lines to siblings even if out of
10477 the current node is out of the clip.
10479 2005-01-11 Jackson Harper <jackson@ximian.com>
10481 * TreeView.cs: When setting the hbar/vbar/grip position use
10482 SetBounds so that perform layout is only called once. Also suspend
10483 and resume layout so layout is only done once for all controls.
10484 - Removed some debug fluff
10485 * SizeGrip.cs: Call base implmentation in overriding methods.
10486 - When visibility is changed the drawing buffers are killed so we
10489 2005-01-11 Jackson Harper <jackson@ximian.com>
10491 * TreeView.cs: Calculate the open node count while drawing. This
10492 saves us an entire tree traversal for every paint operation. Use
10493 a member var for the open node count so less vars are passed around.
10495 2005-01-11 John BouAntoun <jba-mono@optusnet.com.au>
10497 * MonthCalendar.cs:
10498 - fixed selection to use mousemove, not mouse polling on timer
10499 * ThemeWin32Classic.cs
10500 - removed redundant unused variable "no_more_content"
10502 2005-01-11 Peter Bartok <pbartok@novell.com>
10504 * XplatUIX11.cs (DoEvents): Needs to return when no more events
10505 are pending, so it now calls PeekMessage instead of GetMessage;
10506 implemented a incomplete version of PeekMessage
10508 2005-01-11 Peter Bartok <pbartok@novell.com>
10510 * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
10512 * TextBoxBase.cs: Added sending of TextChanged event
10514 2005-01-10 Jackson Harper <jackson@ximian.com>
10516 * TreeView.cs: Try not to draw outside the clipping rectangle on
10519 2005-01-10 Jordi Mas i Hernandez <jordi@ximian.com>
10521 * ComboBox.cs: keyboard navigation, item navigation, bug fixes
10523 2005-01-10 Jackson Harper <jackson@ximian.com>
10526 - Implement fast scrolling. Now only the newly
10527 exposed nodes are drawn and the old image is moved using the
10528 XplatUI::ScrollWindow method.
10529 - Factor in height of nodes when calculating whether or not the
10530 node is in the clipping rect.
10532 2005-01-10 Jackson Harper <jackson@ximian.com>
10534 * TreeNodeCollection.cs: Refresh the tree when a new node is added.
10536 2005-01-10 Peter Bartok <pbartok@novell.com>
10538 * Application.cs: Added temporary hack to resolve all our resize
10539 required issues on startup. This will get fixed properly at
10540 some point in the future
10542 2005-01-10 Jackson Harper <jackson@ximian.com>
10544 * SizeGrip.cs: New internal class that is used as a sizing
10545 grip control...hence the name.
10547 2005-01-10 Peter Bartok <pbartok@novell.com>
10549 * Control.cs: Implemented proper TabIndex handling, now assigning
10550 a tabindex when a control is added to a container
10551 * GroupBox.cs (ctor): Now sets the Container style bit, required
10552 for Control.GetNextControl()
10554 2005-01-09 Jackson Harper <jackson@ximian.com>
10556 * TextBoxBase.cs: Clear window when scrolling (fixes build).
10558 2005-01-09 Peter Bartok <pbartok@novell.com>
10560 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
10561 XplatUIX11.cs: Added ability to control ScrollWindow expose and
10562 an overload for ScrollWindow to allow only scrolling a rectangle
10564 2005-01-09 Peter Bartok <pbartok@novell.com>
10567 - Implemented SetDesktopBounds method
10568 - Implemented SetDesktopLocation method
10570 2005-01-08 Jackson Harper <jackson@ximian.com>
10572 * TreeView.cs: Only set the vbar's Maximum and LargeChange when
10573 the node count has changed, this removes to VScroll::Refresh calls
10576 2005-01-08 Geoff Norton <gnorton@customerdna.com>
10578 * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
10580 2005-01-07 Jackson Harper <jackson@ximian.com>
10582 * TreeNode.cs: Just update the single node when it is
10583 checked. Don't refresh after toggling, the Expand/Collapse already
10585 * TreeView.cs: Respect clipping a little more when drawing. Try
10586 not to redraw things that don't need to be redrawn. Just hide the
10587 scrollbars when they are no longer needed instead of removing
10588 them, so they don't have to be created again and again.
10590 2005-01-07 Geoff Norton <gnorton@customerdna.com>
10592 * XplatUIOSX.cs (SetCaretPos): We need to translate the view
10593 coordinates to window space to place the caret properly, FIXED.
10594 Implement GetWindowState & SetWindowState
10596 2005-01-06 Peter Bartok <pbartok@novell.com>
10599 - Implemented ClientSize property
10600 - Implemented DesktopBounds property
10601 - Implemented DesktopLocation property
10602 - Implemented IsRestrictedWindow property
10603 - Implemented Size property
10604 - Implemented TopLevel property
10605 - Implemented FormWindowState property
10607 - Implemented GetTopLevel() method
10608 - Implemented SetTopLevel() method
10609 * X11Structs.cs (Atom):
10610 - Added AnyPropertyType definition
10611 - Added MapState definiton and updated XWindowAttribute struct
10612 * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
10613 * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
10614 * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
10616 - Implemented GetWindowState() and SetWindowState() methods
10617 - Fixed Win32GetWindowLong return type
10619 - Introduced central function for sending NET_WM messages
10620 - Implemented GetWindowState() and SetWindowState() methods
10621 * TextBoxBase.cs (set_Lines):
10622 - Now uses Foreground color for text added via Text property (Duh!)
10623 - Added code to remember programmatically requested size (fixes
10624 behaviour when Multiline is set after Size)
10625 - Added AutoSize logic
10627 2005-01-06 Jackson Harper <jackson@ximian.com>
10629 * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
10631 2005-01-06 Jackson Harper <jackson@ximian.com>
10633 * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
10634 set to less then 0.
10636 2005-01-06 Jackson Harper <jackson@ximian.com>
10638 * ScrollableControl.cs: Lazy init the scrollbars.
10640 2005-01-06 Jackson Harper <jackson@ximian.com>
10642 * Theme.cs: Speed up getting pens and solid brushes, by using
10643 their ARGB as a hash instead of tostring and not calling Contains.
10645 2005-01-06 Peter Bartok <pbartok@novell.com>
10648 - Implemented OnActivated and OnDeactivate event trigger
10649 - Implemented Activate() method
10650 - Fixed ShowDialog() to activate the form that was active before
10651 the dialog was shown
10653 - Added global active_window var that tracks the currently active
10655 - Now always grabs Property changes from the root window to always
10656 catch changes on the active window property
10657 - Added code to PropertyNotify handler to send Active/Inactive
10658 messages when state changes. This puts X11 and Win32 en par on
10659 WM_ACTIVATE notifications (except for double notifications when
10660 the user clicks away from our modal window to another one of our
10663 2005-01-05 Jackson Harper <jackson@ximian.com>
10665 * ImageList.cs: Implment ctor
10667 2005-01-05 Geoff Norton <gnorton@customerdna.com>
10669 * XplatUIOSX.cs: Implement Activate/SetTopmost
10671 2005-01-05 Geoff Norton <gnorton@customerdna.com>
10673 * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
10675 2005-01-05 Geoff Norton <gnorton@customerdna.com>
10677 * XplatUIOSX.cs: Implement GetActive/SetFocus.
10679 2005-01-05 Peter Bartok <pbartok@novell.com>
10681 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
10682 XplatUIOSX.cs: Added GetActive method to return the currently
10683 active window for the application (or null, if none is active)
10685 - Implemented ActiveForm
10686 - Commented out owner assignment for modal dialogs (causes problems
10687 on Win32, since the owner will be disabled)
10688 - Reworked some Active/Focus handling (still incomplete)
10689 * CommonDialog.cs: Commented out owner assignment for modal dialogs
10690 (causes problems on Win32, since the owner will be disabled)
10691 * IWin32Window: Added ComVisible attribute
10693 2005-01-05 Peter Bartok <pbartok@novell.com>
10695 * ToolTip.cs (WndProc): Enable setting focus now that we have the
10696 required XplatUI functions.
10698 2005-01-05 Peter Bartok <pbartok@novell.com>
10700 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
10701 XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
10702 to implement focus and activation handling; still incomplete and
10705 2005-01-04 Peter Bartok <pbartok@novell.com>
10707 * TextBoxBase.cs: Changed access level for Document property to
10708 match switch to internal for TextControl
10710 2005-01-04 Peter Bartok <pbartok@novell.com>
10712 * AccessibleObject: Added ComVisible attribute
10714 2005-01-04 Jackson Harper <jackson@ximian.com>
10716 * X11Keyboard.cs: Remove unneeded var.
10718 2005-01-04 Jackson Harper <jackson@ximian.com>
10720 * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
10722 * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
10723 ClientMessage. This makes apps exit cleanly (more often).
10725 2005-01-04 Jackson Harper <jackson@ximian.com>
10727 * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
10728 handling focus, return correct colors and fonts,
10729 * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
10730 handle selection, horizontal scrolling, and mouse interaction.
10732 2005-01-04 Peter Bartok <pbartok@novell.com>
10734 * ICommandExecutor.cs: Added
10735 * IDataGridColumnStyleEditingNotificationService.cs: Added
10736 * IFeatureSupport.cs: Added
10737 * IFileReaderService.cs: Added
10738 * IDataObject.cs: Added ComVisible attribute
10739 * AmbientProperties.cs: Added
10740 * BaseCollection.cs: Added missing attributes
10741 * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
10742 * BaseCollection.cs: Added missing attributes
10743 * Binding.cs: Added TypeConverter attribute
10744 * BindingContext.cs: Added DefaultEvent attribute
10745 * BindingsCollection.cs: Added DefaultEvent attribute
10746 * Button.cs: Added DefaultValue attribute
10747 * DragEventArgs.cs: Added ComVisible attribute
10748 * GiveFeedbackEventArgs.cs: Added ComVisible attribute
10749 * KeyEventArgs.cs: Added ComVisible attribute
10750 * KeyPressEventArgs.cs: Added ComVisible attribute
10751 * MouseEventArgs.cs: Added ComVisible attribute
10752 * NavigateEventArgs.cs: Added
10753 * NavigateEventHandler.cs: Added
10754 * FeatureSupport.cs: Added
10755 * OSFeature.cs: Added
10756 * Theme.cs: Added abstract Version property to support OSFeature
10757 * ThemeWin32Classic.cs: Added Version property to
10758 support OSFeature.Themes
10759 * ProgressBar.cs: Removed OnPaintBackground override, not required since
10760 the proper styles to avoid background drawing are set, also doesn't
10762 * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
10763 * QueryContinueDragEventArgs.cs: Added ComVisible attribute
10764 * ScrollEventArgs.cs: Added ComVisible attribute
10765 * SplitterEventArgs.cs: Added ComVisible attribute
10766 * AccessibleSelection.cs: Added Flags attribute
10767 * Appearance.cs: Added ComVisible attribute
10768 * Border3DSide.cs: Added ComVisible attribute
10769 * Border3DStyle.cs: Added ComVisible attribute
10770 * BorderStyle.cs: Added ComVisible attribute
10771 * DragAction.cs: Added ComVisible attribute
10772 * ErrorBlinkStyle.cs: Added
10773 * ScrollEventType.cs: Added ComVisible attribute
10774 * AnchorStyles.cs: Added Editor attribute
10775 * DockStyle.cs: Added Editor attribute
10776 * HorizontalAlignment.cs: Added ComVisible attribute
10777 * HelpEventArgs.cs: Added ComVisible attribute
10778 * PaintEventArgs.cs: Added IDisposable
10780 2005-01-04 Peter Bartok <pbartok@novell.com>
10782 * TextControl.cs: Switched Line, LineTag and Document classes to
10785 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
10787 * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
10788 Simple mode, fixes, IntegralHeight, etc.
10790 2005-01-04 Peter Bartok <pbartok@novell.com>
10792 * TextBoxBase.cs: Using proper font variable now
10794 2005-01-04 Peter Bartok <pbartok@novell.com>
10796 * Form.cs (ShowDialog): Set parent to owner, if provided
10797 * GroupBox.cs: Removed unused vars
10799 - Added GetHashCode() for Document and LineTag classes
10800 - Removed unused variables
10801 - Added CharIndexToLineTag() and LineTagToCharIndex() methods
10802 to allow translation between continuous char position and line/pos
10803 * CheckBox.cs: Removed vars that are provided by base class
10804 * RadioButton.cs: Removed vars that are provided by base class, added
10805 new keyword where required
10806 * LinkLabel.cs: Added new keyword where required
10807 * Control.cs (WndProc): Removed unused variable
10809 - Finished SelectionLength property
10810 - Implemented SelectionStart property
10811 - Implemented Text property
10812 - Removed unused vars
10813 * MessageBox.cs: Added new keyword where required
10814 * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
10816 * MenuAPI.cs: Added new keyword where required
10817 * ButtonBase.cs: Removed vars that are provided by base class, added
10818 new keyword where required
10819 * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
10820 argument to double, to allow compiling with csc 2.0 (Atsushi ran
10822 * Application.cs (Run): Now triggers the ThreadExit event
10823 * CommonDialog.cs: Added new keyword where required; now properly sets
10824 parent (owner) for dialog
10825 * XplatUIX11.cs: Commented out unused vars
10826 * StatusBar.cs: Fixed signature for Text property
10827 * TabPage.cs: Undid Jordi's removal of unused var, now using the var
10829 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
10831 * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
10832 TrackBar.cs, MonthCalendar.cs: remove unused vars
10834 2005-01-03 Jackson Harper <jackson@ximian.com>
10836 * ThemeWin32Classic.cs:
10837 * X11Keyboard.cs: Remove unused vars.
10839 2005-01-03 Peter Bartok <pbartok@novell.com>
10842 - set_Text: Tied into TextControl
10843 - set_TextAlignment: Tied into TextControl
10845 - Added alignment properties and implemented alignment handling
10846 and drawing (still has a bug, not generating proper expose events)
10847 - Added new Line() constructor to allow passing the line alignment
10848 - Fixed selection setting, properly handling end<start now
10849 - Added aligment considerations to RecalculateDocument()
10851 - Now properly enforces control height for single line controls
10852 - Added support for CharacterCasing
10853 - Added IsInputKey override
10854 - Fixed Keys.Enter logic
10855 - Added SetBoundsCore override
10856 - Fixed mouse selection handling
10858 2005-01-03 Jackson Harper <jackson@ximian.com>
10861 - Collapse and uncheck all nodes when CheckBoxes is disabled.
10862 - Checkboxes are always aligned to the bottom of the node,
10863 regardless of item height.
10864 - Use the node bounds to draw the text so we can center it when
10865 the item height is greater then the font height.
10866 - Node::Bounds are only the text part of the node.
10867 * TreeNode.cs: New method to combine collapsing and unchecking all
10870 2005-01-02 Jackson Harper <jackson@ximian.com>
10872 * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
10873 * TreeNode.cs: Add a bounding box for the checkbox, refresh the
10874 tree when a check is changed. TODO: Only refresh the checked node.
10876 2004-12-30 Jackson Harper <jackson@ximian.com>
10878 * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
10879 * TreeNode.cs: When collapsing make sure to never collapse the
10882 2004-12-29 Jackson Harper <jackson@ximian.com>
10884 * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
10886 2004-12-28 Zoltan Varga <vargaz@freemail.hu>
10888 * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
10890 2004-12-28 Peter Bartok <pbartok@novell.com>
10892 * MessageBox.cs (get_CreateParams): Don't use owner var if it's
10895 2004-12-28 Peter Bartok <pbartok@novell.com>
10897 * Control.cs (WndProc): Added WM_HELP handler, now generates
10898 HelpRequested event
10899 * Form.cs: Added HelpButton property and required support code
10900 * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
10902 2004-12-28 Peter Bartok <pbartok@novell.com>
10905 - Made DialogForm.owner variable internal
10906 - Added check to ensure owner form is set before setting
10907 owner properties in CreateParams
10909 2004-12-28 Geoff Norton <gnorton@customerdna.com>
10911 * XplatUIOSX.cs: Implement mouse hovering. Fix QDPoint struct to avoid
10912 swizzling. Implement ClientToScreen and ScreenToClient. Implement
10913 GetCursorPos. Fix major visibility issues. Rework the windowing
10914 system to support borderless/titleless windows (implements menus).
10915 Fix GetWindowPos. Implement initial background color support for
10918 2004-12-28 Peter Bartok <pbartok@novell.com>
10920 * Form.cs (get_CreateParams): Make sure we have an owner before using
10921 the owner variable. Implement proper default if no owner exists
10923 2004-12-28 Peter Bartok <pbartok@novell.com>
10925 * In preparation for making Managed.Windows.Forms the default build target
10926 for System.Windows.Forms, the following stubbed files were added.
10927 Dialogs are currently being implemented by contributors and are only
10928 short-term place holders.
10929 * ColorDialog.cs: Initial check-in (minmal stub)
10930 * DataGrid.cs: Initial check-in (minimal stub)
10931 * DataGridLineStyle.cs: Initial check-in (minimal stub)
10932 * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
10933 * DataGridTableStyle.cs: Initial check-in (minimal stub)
10934 * FontDialog.cs: Initial check-in (minimal stub)
10935 * FileDialog.cs: Initial check-in (minimal stub)
10936 * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
10937 * GridTableStylesCollection.cs: Initial check-in (minimal stub)
10938 * OpenFileDialog: Initial check-in (minimal stub)
10939 * IComponentEditorPageSite.cs: Initial check-in
10940 * Splitter.cs: Initial check-in (for Jackson)
10941 * SplitterEventArgs.cs: Initial check-in (for Jackson)
10942 * SplitterEventHandler.cs: Initial check-in (for Jackson)
10943 * TextBox.cs: Initial check-in; still needs some wiring to
10944 TextControl backend
10945 * Form.cs: Implemented ControlBox property
10946 * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
10947 * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
10948 * TextControl.cs: Added selection functionality; added todo header
10950 - Implemented Lines property
10951 - Implemented TextHeight property
10952 - Implemented SelectedText property
10953 - Implemented SelectionLength property
10954 - Implemented SelectAll method
10955 - Implemented ToString method
10956 - Removed and cleaned up some debug code
10957 - Implemented (still buggy) mouse text selection
10959 2004-12-27 Jordi Mas i Hernandez <jordi@ximian.com>
10961 * ComboBox.cs: Complete DropDownList implementation, fixes.
10963 2004-12-26 Jordi Mas i Hernandez <jordi@ximian.com>
10965 * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
10966 * ComboBoxStyle.cs: ComboBoxStyle enum
10967 * ComboBox.cs: Initial work on ComboBox control
10969 2004-12-21 Peter Bartok <pbartok@novell.com>
10971 * Control.cs (ctor, CreateParams): Moved setting of is_visible
10972 forward so that anything that creates a window gets the default,
10973 also no longer uses Visible property in CreateParams to avoid
10974 walking up the parent chain and possibly get the wrong visible
10975 status. Fixed IsVisible to no longer walk up to the parent.
10977 2004-12-21 Peter Bartok <pbartok@novell.com>
10979 * Form.cs (ShowDialog): Unset modality for the proper window
10981 2004-12-20 Peter Bartok <pbartok@novell.com>
10983 * CommonDialog.cs: Initial check-in
10985 2004-12-20 Peter Bartok <pbartok@novell.com>
10987 * Control.cs (Visible): Now uses the parent window instead of the
10988 client area window for the property
10991 - ShowDialog(): Now uses the proper window for modality
10992 - The default visibility state for the form parent is now false. This
10993 will prevent the user from seeing all the changes to the form and
10994 its controls before the application hits Application.Run()
10995 - Removed some stale commented out code
10998 - Added FindWindow() method to have a method to check for existence
11000 - Added ability to override default exception handling (for example
11001 when debugging with VS.Net; to do this the ExternalExceptionHandler
11003 - Removed some useless debug output
11006 - Removed r37929 (SetModal patch from Ashwin Bharambe), was
11007 not working as expected
11008 - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
11009 property to allow switching back to the modal window if focus is
11010 given to another one of our windows (Application Modal)
11011 - Now only sets override_redirect if we create a window
11013 - Moved EventMask selection before mapping of newly created window
11014 so we can catch the map event as well
11015 - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
11016 - Added various Atom related DllImports
11017 - Implemented Exit() method
11018 - .ctor() : No longer shows window if WS_VISIBLE is not defined
11019 in the CreateParams
11021 * MessageBox.cs: Now properly deals with the FormParent window by
11022 providing an override the FormParent CreateParams property to
11023 set as POPUP instead of OVERLAPPED window.
11025 2004-12-19 Geoff Norton <gnorton@customerdna.com>
11027 * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow
11028 Minor code cleanup.
11030 2004-12-19 Geoff Norton <gnorton@customerdna.com>
11032 * XplatUIOSX.cs (SetModal): Implement this method on OSX.
11034 2004-12-18 Peter Bartok <pbartok@novell.com>
11036 * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
11037 implementing SetModal() method
11039 2004-12-18 Peter Bartok <pbartok@novell.com>
11041 * X11Structs.cs (XGCValues): Fixed type of function element
11042 * XplatUI.cs: Added ScrollWindow() method
11043 * XplatUIDriver.cs: Added ScrollWindow() abstract
11044 * XplatUIWin32.cs: Implemented ScrollWindow() method
11045 * XplatUIX11.cs: Implemented ScrollWindow() method
11046 * XplatUIOSX.cs: Stubbed out ScrollWindow() method
11048 2004-12-17 Geoff Norton <gnorton@customerdna.com>
11050 * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it
11051 Some more keyboard support (INCOMPLETE)
11053 2004-12-17 Peter Bartok <pbartok@novell.com>
11056 - Added color attribute to line tags.
11057 - Added color argument to all functions dealing with tags
11058 - Added color argument support to various functions
11059 - Fixed miss-calculation of baseline/shift in certain circumstances
11061 * TextBoxBase.cs: Added new color option to test code
11063 2004-12-17 Jackson Harper <jackson@ximian.com>
11066 * MonthCalendar.cs: Signature fixes
11068 2004-12-17 Geoff Norton <gnorton@customerdna.com>
11070 * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
11071 keyboard event moved it. Create a new graphics context for each paint resolves this
11073 2004-12-17 Geoff Norton <gnorton@customerdna.com>
11075 * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
11076 Make caret exist and go blink blink. Initial keyboard support.
11077 Fix exception handler, Add Invalidate support. Change way RefreshWindow
11080 2004-12-17 Jackson Harper <jackson@ximian.com>
11082 * XplatUIStructs.cs: Updated set of virtual keycodes.
11083 * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
11085 2004-12-17 Jackson Harper <jackson@ximian.com>
11087 * XplatUIX11.cs: Prune old keyboard code.
11089 2004-12-17 Jackson Harper <jackson@ximian.com>
11091 * XplatUIX11.cs: When generating mouse wparams get the modifier
11092 keys from the ModifierKeys property.
11094 2004-12-17 Jackson Harper <jackson@ximian.com>
11096 * X11Keyboard.cs: Send up/down input when generating
11097 messages. Remove some unused vars.
11099 2004-12-17 Jackson Harper <jackson@ximian.com>
11102 * TreeView.cs: get rid of warnings.
11104 2004-12-17 Jackson Harper <jackson@ximian.com>
11106 * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
11108 2004-12-17 Jordi Mas i Hernandez <jordi@ximian.com>
11110 * ListBox.cs: bug fixes, changes for CheckedListBox.cs
11111 CheckedListBox.cs: Implementation
11113 2004-12-17 Peter Bartok <pbartok@novell.com>
11115 * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
11117 2004-12-16 Peter Bartok <pbartok@novell.com>
11120 - InsertCharAtCaret(): Fixed start pos fixup
11121 - CaretLine_get: No longer derives the line from the tag, the tag
11122 could be stale if lines in the document have been added or deleted
11123 - RebalanceAfterDelete(): Fixed bug in balancing code
11124 - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
11125 - Line.Streamline(): Now can also elminate leading empty tags
11126 - DumpTree(): Added a few more tests and prevented exception on
11128 - Added Debug section for Combining lines
11129 - Delete(): Now copies all remaining properties of a line
11132 - Left mousebutton now sets the caret (and middle button still acts
11133 as formatting tester, which must go away soon)
11134 - Added Debug section for Deleting/Combining lines
11135 - Fixed calculations for UpdateView after Combining lines
11137 2004-12-16 Peter Bartok <pbartok@novell.com>
11139 * TextControl.cs: Now properly aligns text on a baseline, using the
11140 new XplatUI.GetFontMetrics() method. Simplified several calculations
11141 * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
11144 2004-12-16 Peter Bartok <pbartok@novell.com>
11146 * XplatUI.cs: Added GetFontMetrics() method
11147 * XplatUIDriver.cs: Added GetFontMetrics() abstract
11148 * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
11149 into libgdiplus, our private GetFontMetrics function
11150 * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
11151 * XplatUIWin32.cs: Implemented GetFontMetrics() method
11153 2004-12-16 Jackson Harper <jackson@ximain.com>
11155 * XplatUIStruct.cs: Add enum for dead keys
11156 * X11Keyboard.cs: Map and unmap dead keys.
11158 2004-12-16 Jackson Harper <jackson@ximian.com>
11160 * X11Keyboard.cs: Detect and use the num lock mask.
11162 2004-12-16 Peter Bartok <pbartok@novell.com>
11164 * Control.cs (CreateGraphics): Added check to make sure the
11165 handle of the window exists before calling Graphics.FromHwnd()
11167 2004-12-16 Peter Bartok <pbartok@novell.com>
11169 * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
11170 contains a lot of code that's not supposed to be there for the
11171 real thing, but required for developing/testing the textbox
11174 2004-12-16 Peter Bartok <pbartok@novell.com>
11177 - Fixed Streamline method
11178 - Added FindTag method to Line
11179 - Added DumpTree method for debugging
11180 - Added DecrementLines() method for deleting lines
11181 - Fixed UpdateView to update the cursor to end-of-line on single-line
11183 - Added PositionCaret() method
11184 - Fixed MoveCaret(LineDown) to move into the last line, too
11185 - Added InsertChar overload
11186 - Fixed InsertChar tag offset calculations
11187 - Added DeleteChar() method
11188 - Added Combine() method for folding lines
11189 - Fixed Delete() method, no longer allocates wasted Line object and
11190 now copies all properties when swapping nodes
11191 - Delete() method now updates document line counter
11193 2004-12-15 Jackson Harper <jackson@ximian.com>
11195 * XplatUIX11.cs: Get the modifier keys from the keyboard driver
11196 * X11Keyboard.cs: Expose the currently selected modifier keys
11197 through a property.
11199 2004-12-15 Peter Bartok <pbartok@novell.com>
11201 * TextControl.cs: Initial check-in. Still incomplete
11203 2004-12-15 Jackson Harper <jackson@ximian.com>
11206 * TreeView.cs: Fix build on csc (second time today ;-))
11208 2004-12-15 Jackson Harper <jackson@ximian.com>
11210 * TreeView.cs: Store the treenodes plus/minus box bounds when it
11211 is calculated and use this for click testing.
11212 * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
11214 2004-12-15 Jackson Harper <jackson@ximian.com>
11216 * TreeView.cs: Pass the nodes image index to the image list when
11217 drawing that image.
11219 2004-12-15 Jackson Harper <jackson@ximian.com>
11221 * X11Keyboard.cs: Set messages hwnd.
11222 * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
11223 post_message calls.
11225 2004-12-15 Jackson Harper <jackson@ximian.com>
11227 * X11Keyboard.cs: Fix to compile with csc.
11229 2004-12-15 Jackson Harper <jackson@ximian.com>
11231 * X11Structs.cs: Add key mask values
11232 * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
11233 * X11Keyboard.cs: New file - Extrapolates and interpolates key
11234 down/up foo into WM_CHAR foo
11235 * KeyboardLayouts.cs: Common keyboard layouts
11236 * XplatUIX11.cs: Add the keyboard driver. Add functionality to
11237 post messages into the main queue.
11239 2004-12-13 Jordi Mas i Hernandez <jordi@ximian.com>
11241 * Button.cs: implement ProcessMnemonic
11242 * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
11244 * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
11245 * ButtonBase.cs: Show HotkeyPrefix (not the &)
11247 2004-12-12 John BouAntoun <jba-mon@optusnet.com.au>
11249 * MonthCalendar.cs: Implemented click-hold for next/previous month
11252 2004-12-11 Peter Bartok <pbartok@novell.com>
11255 - Added XKeyboardState (moved from XplatUIX11.cs)
11256 - Added XCreateGC related enums and structures
11257 - Added GXFunction for XSetFunction
11259 * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
11261 * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
11262 CaretVisible() calls
11264 * ToolTip.cs: Added code to prevent stealing focus from app windows
11266 * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
11267 DestroyCaret, SetCaretPos and CaretVisible)
11270 - Added implementation for caret functions
11271 - Moved hover variables into a struct, to make it a bit easier
11272 on the eyes and to debug
11273 - Removed XKeyboardState (moved to XplatUIX11.cs)
11274 - Moved Keyboard properties into the properties region
11276 * Control.cs (get_Region): Control.CreateGraphics is the appropriate
11277 call to get a graphics context for our control
11279 * XplatUIOSX.cs: Added empty overrides for the new caret functions
11281 * TreeView.cs: Fixed bug. No matter what color was set it would always
11282 return SystemColors.Window
11284 * XplatUIWin32.cs: Implemented caret overrides
11286 2004-12-10 Jordi Mas i Hernandez <jordi@ximian.com>
11288 * ListBox.cs: fire events, implement missing methods and properties,
11291 2004-12-10 John BouAntoun <jba-mono@optusnet.com.au>
11293 * MonthCalendar.cs: invalidation bug fixing
11294 * ThemeWin32Classic.cs: paint fixing
11296 2004-12-09 Geoff Norton <gnorton@customerdna.com>
11298 * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
11299 prepare the CGContextRef there now.
11301 2004-12-09 John BouAntoun <jba-mono@optusnet.com.au>
11303 * MonthCalendar.cs:
11304 - optimisationL only invalidate areas that have changed
11305 * ThemeWin32Classic.cs:
11306 - only paint parts that intersect with clip_area
11308 2004-12-09 Peter Bartok <pbartok@novell.com>
11310 * Application.cs: Undid changes from r37004 which cause problems
11313 2004-12-09 Ravindra <rkumar@novell.com>
11315 * ToolBar.cs: Added support for displaying ContextMenu
11316 attached to a button on ToolBar.
11317 * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
11320 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
11322 * Label.cs: autosize works in text change and removes unnecessary
11325 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
11327 * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
11330 2004-12-08 Geoff Norton <gnorton@customerdna.com>
11332 * XplatUIOSX.cs: Added mouse move/click/grab support
11333 Remove some debugging WriteLines not needed anymore.
11334 Add window resizing/positioning.
11335 Fix visibility on reparenting.
11337 2004-12-08 Peter Bartok <pbartok@novell.com>
11339 * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
11341 2004-12-07 Geoff Norton <gnorton@customerdna.com>
11343 * XplatUIOSX.cs: Initial checkin
11344 * XplatUI.cs: Use the Quartz driver if the environment is set to use it
11346 2004-12-03 Ravindra <rkumar@novell.com>
11348 * ListView.cs: Added some keybindings and fixed scrolling.
11349 ScrollBars listen to ValueChanged event instead of Scroll
11350 Event. This would let us take care of all changes being
11351 done in the scrollbars' values programmatically or manually.
11352 * ListView.cs (CanMultiselect): Added a check for shift key.
11353 * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
11354 * ListViewItem.cs (Clone): Fixed. We need to make a copy
11355 of ListViewSubItemCollection as well.
11357 2004-12-06 Peter Bartok <pbartok@novell.com>
11359 * Control.cs (Parent): Added check and exception to prevent
11362 2004-12-03 Jordi Mas i Hernandez <jordi@ximian.com>
11364 * ListBox.cs: implemented clipping, selection single and multiple,
11367 2004-12-03 Ravindra <rkumar@novell.com>
11369 * ListView.cs (ListView_KeyDown):
11370 * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
11371 when CTRL key is pressed.
11372 * ListViewItem.cs (Selected): Fixed setting the property.
11374 2004-12-03 Marek Safar <marek.safar@seznam.cz>
11376 * Application.cs (OnThreadException): Use ThreadExceptionDialog.
11378 * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
11379 MinimizeBox, ShowInTaskbar, TopMost properties.
11381 * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
11382 will be implemented).
11384 2004-12-03 Marek Safar <marek.safar@seznam.cz>
11386 * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
11388 * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
11391 * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
11393 * TreeView.cs: BackColor is Colors.Window.
11395 2004-12-01 Jackson Harper <jackson@ximian.com>
11397 * TreeView.cs: When resizing the tree if the user is making it
11398 smaller we don't get expose events, so we need to handle adding
11399 the horizontal scrollbar in the size changed handler as well as
11400 the expose handler.
11402 2004-12-02 Jordi Mas i Hernandez <jordi@ximian.com>
11404 * DrawItemState.cs: fixes wrong enum values
11406 2004-12-01 Jackson Harper <jackson@ximian.com>
11408 * TreeView.cs: Resize the hbar as well as the vbar on resize.
11410 2004-12-01 Jackson Harper <jackson@ximian.com>
11412 * NodeLabelEditEventArgs.cs:
11413 * NodeLabelEditEventHandler.cs:
11414 * OpenTreeNodeEnumerator.cs:
11416 * TreeNodeCollection.cs:
11418 * TreeViewAction.cs:
11419 * TreeViewCancelEventArgs.cs:
11420 * TreeViewCancelEventHandler.cs:
11421 * TreeViewEventArgs.cs:
11422 * TreeViewEventHandler.cs: Initial implementation.
11424 2004-12-01 Ravindra <rkumar@novell.com>
11426 * ListView.cs (CalculateListView): Fixed scrolling related
11427 calculations. Also, removed some debug statements from other
11429 * ListViewItem.cs: Changed access to 'selected' instance variable
11430 from private to internal.
11431 * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
11433 2004-12-01 Jordi Mas i Hernandez <jordi@ximian.com>
11435 * ThemeWin32Classic.cs: remove cache of brush and pens for
11436 specific controls and use the global system, fixes scrollbutton
11437 bugs (for small sizes, disabled, etc)
11439 * ScrollBar.cs: does not show the thumb for very small controls
11440 (as MS) and allow smaller buttons that the regular size
11442 2004-12-01 Miguel de Icaza <miguel@ximian.com>
11444 * UpDownBase.cs: Add abstract methods for the interface.
11445 Add new virtual methods (need to be hooked up to TextEntry when it
11447 Add override methods for most features.
11448 Computes the size, forces the height of the text entry.
11450 * NumericUpDown.cs: Put here the current testing code.
11452 * Set eol-style property on all files that do not have mixed line
11453 endings, to minimize the future problems. There are still a few
11454 files with mixed endings, and someone should choose whether they
11455 want to move it or not.
11457 2004-11-30 Jordi Mas i Hernandez <jordi@ximian.com>
11459 * MonthCalendar.cs, ListView.cs: use Theme colours instead of
11462 2004-11-30 Ravindra <rkumar@novell.com>
11464 * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
11465 drawing and replaced use of SystemColors by theme colors.
11466 * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
11467 * ListView.cs (ListViewItemCollection.Add): Throw exception when
11468 same ListViewItem is being added more than once.
11470 2004-11-30 John BouAntoun <jba-mono@optusnet.com.au>
11472 * MonthCalendar.cs:
11473 - ControlStyles love to make the control not flicker
11475 2004-11-30 Peter Bartok <pbartok@novell.com>
11477 * CharacterCasing.cs: Added
11479 2004-11-29 Peter Bartok <pbartok@novell.com>
11481 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
11482 TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
11483 I am removing these files as they conflict with already completed
11484 work. While it is fantastic to get contributions to MWF, I
11485 respectfully ask that everyone please coordinate their contributions
11486 through mono-winforms-list or #mono-winforms at this time. We're
11487 explicitly avoiding stubbing and don't want controls that don't have
11488 their basic functionality implemented in svn. Please also see
11489 http://www.mono-project.com/contributing/winforms.html
11492 2004-11-29 Marek Safar <marek.safar@seznam.cz>
11494 * Application.cs (ModalRun): Don't hang after exit.
11496 * Theme.cs: New TreeViewDefaultSize property.
11498 * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
11499 with less hardcoded SystemColors constant.
11500 Implemented TreeViewDefaultSize.
11502 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
11503 TreeViewAction.cs, TreeViewEventArgs.cs: New files.
11506 2004-11-29 John BouAntoun <jba-mono@optusnet.com.au>
11508 * MonthCalendar.cs:
11509 - Fix NextMonthDate and PrevMonthDate click moving calendar
11511 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
11513 * MonthCalendar.cs:
11514 - Fix usage of ScrollChange Property when scrolling months
11516 2004-11-26 Jordi Mas i Hernandez <jordi@ximian.com>
11518 * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
11519 - Fixes menu destroying
11520 - Support adding and removing items on already created menus
11522 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
11524 * MonthCalendar.cs:
11525 - Re-worked all bolded dates handling to match win32
11526 * ThemeWin32Classic.cs:
11527 - Fixed rendering with bolded dates
11529 2004-11-25 Jordi Mas i Hernandez <jordi@ximian.com>
11531 * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
11532 - Horizontal scroolbar
11537 2004-11-25 John BouAntoun <jba-mono@optusnet.com.au>
11539 * MonthCalendar.cs:
11540 - Fix Usage of MaxSelectionCount from SelectionRange
11541 - Fixed Shift + Cursor Selection
11542 - Fixed Shift + (Pg up/Pg dn, Home/End) selection
11543 - Fixed normal cursor selection to be compat with win32
11544 - Fixed Shift + Mouse Click selection
11546 2004-11-24 Peter Bartok <pbartok@novell.com>
11548 * XplatUI.cs (DispatchMessage): Switched to return IntPtr
11549 * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
11551 - CreatedKeyBoardMsg now updates keystate with Alt key
11552 - Added workaround for timer crash to CheckTimers, Jackson will
11553 develop a proper fix and check in later
11554 - Implemented DispatchMessage
11555 - Removed calling the native window proc from GetMessage (call
11556 now moved to DispatchMessage)
11558 * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
11559 the keydata (Fixes bug #69831)
11562 - (DispatchMessage): Switched to return IntPtr
11563 - Added DllImport for SetFocus
11565 2004-11-24 Ravindra <rkumar@novell.com>
11567 * ThemeWin32Classic.cs: Fixed ListView border and checkbox
11568 background drawing.
11569 * ListViewItem.cs: Fixed various properties, calculations
11570 and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
11571 * ListView.cs: Fixed calculations, BackColor, ForeColor properties
11572 and some internal properties. Fixed MouseDown handler and Paint
11575 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
11577 * MonthCalendar.cs: Add TitleMonth ContextMenu handling
11579 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
11581 * ContainerControl.cs: correct accidental check in of local changes
11583 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
11585 * ThemeWin32Classic.cs:
11586 - Fixed Drawing Last month in grid (sometimes not showing)
11587 * MonthCalendar.cs:
11588 - Fixed title width calculation bug (makeing title small)
11590 2004-11-23 Peter Bartok <pbartok@novell.com>
11593 - Added generation of WM_MOUSEHOVER event
11594 - Added missing assignment of async_method atom
11595 - Fixed WM_ERASEBKGND; now only redraws the exposed area
11597 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
11599 * ThemeWin32Classic.cs:
11600 - Fixed Drawing of today circle when showtodaycircle not set
11601 - fixed drawing of first and last month in the grid (gay dates)
11602 * MonthCalendar.cs:
11603 - Fixed Drawing of today circle
11604 - Fixed drawing of grady dates
11605 - Fixed HitTest for today link when ShowToday set to false
11606 - Fixed DefaultSize to obey ShowToday
11608 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
11610 * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
11611 * System.Windows.Forms/Theme.cs
11612 * MonthCalendar.cs: added for MonthCalendar
11613 * SelectionRange.cs: added for MonthCalendar
11614 * Day.cs: added for MonthCalendar: added for MonthCalendar
11615 * DateRangeEventArgs.cs: added for MonthCalendar
11616 * DateRangeEventHandler.cs: added for MonthCalendar
11618 2004-11-22 Ravindra <rkumar@novell.com>
11620 * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
11623 2004-11-22 Miguel de Icaza <miguel@ximian.com>
11625 * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
11628 * NumericUpDown.cs: Added new implementation.
11629 * UpDownBase.cs: Added new implementation.
11631 * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
11634 * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
11637 * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
11640 2004-11-21 Miguel de Icaza <miguel@ximian.com>
11642 * Timer.cs (Dispose): Should call the base dispose when
11645 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
11647 * ScrollBar.cs: updates thumb position when max, min or increment
11650 2004-11-21 Ravindra <rkumar@novell.com>
11652 * ListView.cs: Implemented item selection, activation and
11653 column header style. Fixed properties to do a redraw, if
11654 required. Added support for MouseHover, DoubleClick, KeyDown
11655 and KeyUp event handling and some minor fixes.
11656 * ListViewItem.cs: Fixed constructor.
11657 * ThemeWin32Classic.cs: Improved drawing for ListView.
11659 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
11661 * ThemeWin32Classic.cs: initial listbox drawing code
11662 * DrawMode.cs: new enumerator
11663 * ListControl.cs: stubbed class
11664 * ListBox.cs: initial implementation
11665 * Theme.cs: new methods definitions
11666 * SelectionMode.cs: new enumerator
11668 2004-11-17 Peter Bartok <pbartok@novell.com>
11670 * XplatUIWin32.cs: Added double-click events to the class style
11671 * Control.cs (WndProc):
11672 - Added handling of click-count to MouseDown/ MouseUp events.
11673 - Added handling of middle and right mouse buttons
11674 - Removed old debug code
11676 2004-11-17 Jackson Harper <jackson@ximian.com>
11678 * XplatUIX11.cs: Use the new Mono.Unix namespace.
11680 2004-11-17 Ravindra <rkumar@novell.com>
11682 * ListView.cs: Added event handling for MouseMove/Up/Down.
11683 * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
11684 * ThemeWin32Classic.cs: We need to clear the graphics context and
11685 draw column header in a proper state.
11688 2004-11-17 Jordi Mas i Hernandez <jordi@ximian.com>
11690 * Menu.cs: fixes signature
11692 2004-11-16 Peter Bartok <pbartok@novell.com>
11694 * XplatUIX11.cs (GetMessage): Implemented generation of
11695 double click mouse messages
11697 2004-11-12 Jordi Mas i Hernandez <jordi@ximian.com>
11699 * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
11702 2004-11-11 Peter Bartok <pbartok@novell.com>
11704 * HandleData.cs: Added Visible property
11705 * XplatUIX11.cs (IsVisible): Now uses Visible property from
11707 * XplatUIX11.cs: Removed old debug leftovers
11708 * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
11709 * Control.cs (WndProc): Removed old debug leftovers,
11710 streamlined handling of WM_WINDOWPOSCHANGED, removed un-
11711 needed WM_SIZE handling
11713 2004-11-11 Jackson Harper <jackson@ximian.com>
11715 * OwnerDrawPropertyBag.cs:
11716 * TreeViewImageIndexConverter.cs: Initial implementation
11718 2004-11-10 Jackson Harper <jackson@ximian.com>
11720 * ThemeWin32Classic.cs:
11721 * TabControl.cs: instead of moving tabs by the slider pos just
11722 start drawing at the tab that is offset by the slider. This way
11723 scrolling always moves by exactly one tab.
11725 2004-11-10 Jackson Harper <jackson@ximian.com>
11727 * TabControl.cs: You can only scroll left when the slider has
11728 already ben moved right.
11730 2004-11-10 Jackson Harper <jackson@ximian.com>
11732 * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
11735 2004-11-10 Jackson Harper <jackson@ximian.com>
11737 * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
11740 2004-11-09 Jackson Harper <jackson@ximian.com>
11742 * TabControl.cs (CalcXPos): New helper method so we can determine
11743 the proper place to start drawing vertical tabs.
11744 * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
11746 2004-11-09 Jackson Harper <jackson@ximian.com>
11748 * TabControl.cs: Calculate sizing and rects for left aligned tabs.
11749 * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
11750 and Bottom, left and right are illegal values for this and
11751 multiline is enabled when the alignment is set to left or right.
11752 (DrawTab): Each alignment block should draw the text itself now
11753 because Left requires special love. Also add rendering for Left
11756 2004-11-09 Jordi Mas i Hernandez <jordi@ximian.com>
11758 * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
11759 does not destroy the windows, removes debugging messages
11761 2004-11-09 jba <jba-mono@optusnet.com.au>
11763 * ThemeWin32Classic.cs
11764 (DrawButtonBase): Fix verticle text rect clipping in windows
11765 (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
11766 rendering and incorrect text rect clipping
11767 (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
11768 rendering and incorrect text rect clipping
11770 2004-11-08 Jackson Harper <jackson@ximian.com>
11772 * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
11773 bottom when they are bottom aligned so the bottoms of the tabs get
11775 * TabControl.cs (DropRow): Move rows up instead of down when the
11776 tab control is bottom aligned.
11778 2004-11-08 13:59 pbartok
11781 - Added handling for various window styles
11782 - Added handling for popup windows
11783 - Added SetTopmost handling
11785 2004-11-08 13:55 pbartok
11788 - Added argument to SetTopmost method
11789 - Fixed broken ClientToScreen function
11791 2004-11-08 13:53 pbartok
11793 * XplatUIStructs.cs:
11794 - Added missing WS_EX styles
11796 2004-11-08 13:53 pbartok
11798 * XplatUI.cs, XplatUIDriver.cs:
11799 - Added argument to SetTopmost
11801 2004-11-08 13:52 pbartok
11804 - Added XSetWindowAttributes structure
11805 - Improved XWindowAttributes structure
11806 - Added SetWindowValuemask enum
11807 - Added window creation arguments enum
11808 - Added gravity enum
11809 - Added Motif hints structure
11810 - Added various Motif flags and enums
11811 - Added PropertyMode enum for property functions
11813 2004-11-08 13:50 pbartok
11816 - Fixed arguments for updated SetTopmost method
11818 2004-11-08 13:49 pbartok
11821 - Fixed arguments for updated SetTopmost function
11822 - Fixed usage of PointToClient
11824 2004-11-08 13:44 pbartok
11827 - Added Clipping of children and siblings
11829 2004-11-08 13:41 pbartok
11832 - Removed SetMenuBarWindow call. We do this in Form.cs
11834 2004-11-08 13:40 jackson
11836 * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
11837 scrolling jimmi in the correct location with bottom aligned tabs
11839 2004-11-08 13:36 pbartok
11841 * ContainerControl.cs:
11842 - Implemented BindingContext
11843 - Implemented ParentForm
11845 2004-11-08 12:46 jackson
11847 * TabControl.cs: Put bottom rendered tabs in the right location
11849 2004-11-08 07:15 jordi
11851 * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
11854 2004-11-05 17:30 jackson
11856 * TabControl.cs: When selected tabs are expanded make sure they
11857 don't go beyond the edges of the tab control
11859 2004-11-05 14:57 jackson
11861 * TabControl.cs: Reset show_slider so if the control is resized to
11862 a size where it is no longer needed it's not displayed anymore
11864 2004-11-05 13:16 jackson
11866 * TabControl.cs: Make tab pages non visible when added to the
11869 2004-11-05 12:42 jackson
11871 * TabControl.cs: Implement SizeMode.FillToRight
11873 2004-11-05 12:16 jackson
11875 * Control.cs: Do not call CreateHandle if the handle is already
11878 2004-11-05 11:46 jackson
11880 * TabControl.cs: Remove superflous call to CalcTabRows
11882 2004-11-05 09:07 jackson
11884 * XplatUIX11.cs: Update for Mono.Posix changes
11886 2004-11-05 07:00 ravindra
11888 * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
11891 2004-11-04 22:47 jba
11893 * ThemeWin32Classic.cs:
11894 - Fix Button rendering for FlatStyle = Flat or Popup
11895 - Fix RadioButton and CheckBox rendering when Appearance = Button
11896 (normal and flatstyle).
11897 - Correct outer rectangle color when drawing focus rectangle
11898 - Adjust button bounds to be 1 px smaller when focused
11899 - Make button not draw sunken 3d border when pushed (windows compat)
11900 - Fix CPDrawBorder3D to not make bottom right hand corner rounded
11901 - Offset the text in RadioButton and Checkbox when being rendered as
11903 - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
11905 - Fixed disabled rendering for colored flatstyle radiobuttons (both)
11906 - Fixed disabled text rendering for normally rendered radiobuttons
11908 2004-11-04 10:26 jackson
11910 * TabControl.cs: Recalculate tab rows when resizing
11912 2004-11-04 07:47 jordi
11914 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
11915 collection completion, drawing issues, missing features
11917 2004-11-04 05:03 ravindra
11920 - We need to recalculate the Thumb area when
11921 LargeChange/maximum/minimum values are changed.
11922 - We set the 'pos' in UpdatePos() method to minimum, if it's less
11923 than minimum. This is required to handle the case if large_change is
11924 more than max, and use LargeChange property instead of large_change
11926 - We return max+1 when large_change is more than max, like MS does.
11928 2004-11-04 04:29 ravindra
11930 * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
11931 - Changed default value signatures (prefixed all with ListView).
11932 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
11934 - Fixed calculations for ListViewItem and implemented Clone()
11937 2004-11-04 04:26 ravindra
11939 * Theme.cs, ThemeWin32Classic.cs:
11940 - Changed default ListView values signatures (prefixed all with
11942 - Fixed default size values for VScrollBar and HScrollBar.
11943 - Fixed DrawListViewItem method.
11945 2004-11-04 04:05 ravindra
11947 * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
11949 2004-11-04 04:04 ravindra
11951 * ImageList.cs: Implemented the missing overload for Draw method.
11953 2004-11-03 19:29 jackson
11955 * TabControl.cs: Handle dropping rows on selection properly
11957 2004-11-03 11:59 jackson
11959 * TabControl.cs: remove debug code
11961 2004-11-03 11:52 jackson
11963 * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
11964 the scrolly widgerywoo
11966 2004-11-02 13:52 jackson
11968 * TabControl.cs: Resize the tab pages and tabs when the tab control
11971 2004-11-02 13:40 jackson
11973 * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
11974 selected tab to the bottom
11976 2004-11-02 13:39 jackson
11978 * TabPage.cs: Store the tab pages row
11980 2004-11-02 12:33 jordi
11982 * MenuItem.cs: fixes handle creation
11984 2004-11-02 11:42 jackson
11986 * TabControl.cs: signature fix
11988 2004-11-02 08:56 jackson
11990 * TabControl.cs: Calculate whether the tab is on an edge properly.
11991 Remove top secret debugging code
11993 2004-11-01 19:57 jackson
11995 * TabControl.cs: Add click handling, and proper sizing
11997 2004-11-01 19:47 jackson
11999 * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
12002 2004-11-01 19:39 jackson
12004 * TabPage.cs: add internal property to store the bounds of a tab
12007 2004-10-30 04:23 ravindra
12009 * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
12012 2004-10-30 04:21 ravindra
12014 * ListView.cs, ListViewItem.cs: Added support for scrolling and
12015 fixed calculations.
12017 2004-10-30 03:06 pbartok
12020 - Removed extension of DllImported libs
12022 2004-10-29 09:55 jordi
12024 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
12025 navigation, itemcollection completion, menu fixes
12027 2004-10-27 22:58 pbartok
12030 - Now throws a nice error message when no X display could be opened
12032 2004-10-26 13:51 jordi
12034 * ListView.cs: removes warning
12036 2004-10-26 03:55 ravindra
12038 * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
12039 ThemeWin32Classic.cs: Some formatting for my last checkins.
12041 2004-10-26 03:36 ravindra
12043 * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
12044 control and default values.
12046 2004-10-26 03:35 ravindra
12048 * Theme.cs: Added some default values for ListView control.
12050 2004-10-26 03:33 ravindra
12052 * ToolBar.cs: ToolBar should use the user specified button size, if
12053 there is any. Added a size_specified flag for the same.
12055 2004-10-26 03:33 ravindra
12057 * ColumnHeader.cs: Added some internal members and calculations for
12060 2004-10-26 03:32 ravindra
12062 * ListViewItem.cs: Calculations for ListViewItem.
12064 2004-10-26 03:31 ravindra
12066 * ListView.cs: Added some internal members and calculations for
12069 2004-10-22 13:31 jordi
12071 * MenuAPI.cs: speedup menus drawing
12073 2004-10-22 13:16 jackson
12075 * XplatUIX11.cs: Make sure to update exposed regions when adding an
12078 2004-10-22 11:49 jackson
12082 2004-10-22 11:41 jackson
12084 * Control.cs: Check to see if the window should have its background
12085 repainted by X when drawing.
12087 2004-10-22 11:31 jackson
12089 * XplatUIX11.cs: When invalidating areas only use XClearArea if
12090 clear is true, this way we do not get flicker from X repainting the
12093 2004-10-22 11:28 jackson
12095 * XEventQueue.cs: Queue properly
12097 2004-10-21 09:38 jackson
12099 * XEventQueue.cs: Fix access modifier
12101 2004-10-21 09:36 jackson
12103 * XEventQueue.cs: Don't loose messages
12105 2004-10-21 09:22 jackson
12107 * XEventQueue.cs: Don't loose messages
12109 2004-10-20 04:15 jordi
12111 * BootMode.cs: enum need it by SystemInfo
12113 2004-10-19 21:58 pbartok
12116 - Small sanity check
12118 2004-10-19 21:56 pbartok
12121 - Added private FormParentWindow class which acts as the container
12122 for our form and as the non-client area where menus are drawn
12123 - Added/Moved required tie-ins to Jordi's menus
12124 - Fixed/Implemented the FormStartPosition functionality
12126 2004-10-19 21:52 pbartok
12129 - Removed unneeded locals
12130 - Added code to all size and location properties to understand and
12131 deal with the parent container of Form
12133 2004-10-19 21:33 pbartok
12136 - Fixed to deal with new Form subclasses for menus
12138 2004-10-19 17:48 jackson
12140 * XEventQueue.cs: commit correct version of file
12142 2004-10-19 16:50 jackson
12144 * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
12146 2004-10-19 16:15 jordi
12148 * MenuAPI.cs: MenuBarCalcSize returns the height
12150 2004-10-19 08:31 pbartok
12153 - Added missing call to PreProcessMessage before calling OnXXXKey
12156 2004-10-19 00:04 ravindra
12158 * ToolTip.cs: Fixed constructor.
12160 2004-10-18 09:31 jordi
12162 * MenuAPI.cs: menuitems in menubars do not have shortcuts
12164 2004-10-18 09:26 jordi
12166 * MenuItem.cs: fixes MenuItem class signature
12168 2004-10-18 08:56 jordi
12170 * MenuAPI.cs: prevents windows from showing in the taskbar
12172 2004-10-18 00:28 ravindra
12174 * ToolTip.cs: Suppressed a warning message.
12176 2004-10-18 00:27 ravindra
12178 * Control.cs: Default value of visible property must be true.
12180 2004-10-17 23:19 pbartok
12183 - Complete implementation
12185 2004-10-17 23:19 pbartok
12188 - Added EnableWindow method
12189 - Added SetModal stub
12190 - Added generation of WM_ACTIVATE message (still needs testing)
12191 - Added SetTopMost stub
12192 - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
12194 2004-10-17 23:17 pbartok
12197 - Removed VirtualKeys to XplatUIStructs
12198 - Implemented SetTopMost method
12199 - Implemented EnableWindow method
12200 - Bugfix in ScreenToClient()
12201 - Bugfixes in ClientToScreen()
12203 2004-10-17 22:51 pbartok
12205 * XplatUIStructs.cs:
12206 - Added WS_EX styles to WindowStyles enumeration
12208 2004-10-17 22:50 pbartok
12210 * XplatUI.cs, XplatUIDriver.cs:
12211 - Added method for enabling/disabling windows
12212 - Added method for setting window modality
12213 - Added method for setting topmost window
12215 2004-10-17 22:49 pbartok
12217 * ThemeWin32Classic.cs:
12218 - Added ToolTip drawing code
12220 2004-10-17 22:49 pbartok
12223 - Added ToolTip abstracts
12225 2004-10-17 22:47 pbartok
12228 - Fixed Form.ControlCollection to handle owner relations
12229 - Added Owner/OwnedForms handling
12230 - Implemented Z-Ordering for owned forms
12231 - Removed unneeded private overload of ShowDialog
12232 - Fixed ShowDialog, added the X11 incarnation of modal handling (or
12234 - Fixed Close(), had wrong default
12235 - Added firing of OnLoad event
12236 - Added some commented out debug code for Ownership handling
12238 2004-10-17 22:16 pbartok
12241 - Fixed/implemented flat list of controls
12243 2004-10-17 22:14 pbartok
12246 - Added code to simulate modal dialogs on Win32
12248 2004-10-17 16:11 jordi
12250 * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
12253 2004-10-17 13:39 jordi
12255 * MenuAPI.cs: menu drawing fixes
12257 2004-10-15 09:10 ravindra
12259 * StructFormat.cs: General Enum.
12261 2004-10-15 09:09 ravindra
12263 * SizeGripStyle.cs: Enum for Form.
12265 2004-10-15 09:08 ravindra
12267 * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
12268 in Theme for ListView.
12270 2004-10-15 09:06 ravindra
12272 * ColumnHeader.cs: Flushing some formatting changes.
12274 2004-10-15 09:05 ravindra
12276 * ListViewItem.cs: Implemented GetBounds method and fixed coding
12279 2004-10-15 09:03 ravindra
12281 * ListView.cs: Implemented Paint method and fixed coding style.
12283 2004-10-15 07:34 jordi
12285 * MenuAPI.cs: fix for X11
12287 2004-10-15 07:32 ravindra
12289 * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
12290 - Renamed Paint() method to Draw() for clarity. Also, moved
12291 DrawImage() to OnPaint().
12293 2004-10-15 07:25 ravindra
12295 * CheckBox.cs, RadioButton.cs:
12296 - Removed Redraw (), we get it from ButtonBase.
12297 - Implemented Paint (), to do class specific painting.
12299 2004-10-15 07:16 ravindra
12302 - Redraw () is not virtual now.
12303 - Added an internal virtual method Paint (), so that
12304 derived classes can do their painting on their own.
12305 - Modified OnPaint () to call Paint ().
12307 2004-10-15 06:43 jordi
12309 * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
12310 MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
12312 2004-10-15 00:30 ravindra
12315 - MessageBox on windows does not have min/max buttons.
12316 This change in CreateParams fixes this on Windows. We
12317 still need to implement this windowstyle behavior in
12320 2004-10-14 05:14 ravindra
12323 - Changed Redraw () to do a Refresh () always.
12324 - Fixed the MouseMove event handling when mouse is pressed,
12325 ie drag event handling.
12326 - Replaced the usage of ToolBarButton.Pressed property to
12327 ToolBarButton.pressed internal variable.
12329 2004-10-14 05:10 ravindra
12331 * ToolBarButton.cs:
12332 - Added an internal member 'inside' to handle mouse move
12333 with mouse pressed ie mouse drag event.
12334 - Changed 'Pressed' property to return true only when
12335 'inside' and 'pressed' are both true.
12336 - Some coding style love.
12338 2004-10-14 00:17 ravindra
12340 * Form.cs: Fixed class signature. ShowDialog (Control) is not a
12343 2004-10-14 00:15 ravindra
12345 * ButtonBase.cs: Redraw () related improvements.
12347 2004-10-14 00:14 ravindra
12349 * MessageBox.cs: Moved InitFormSize () out of Paint method and
12350 removed unnecessary calls to Button.Show () method.
12352 2004-10-13 17:50 pbartok
12356 - Removed destroying of window until we solve the problem of X
12357 destroying the window before us on shutdown
12359 2004-10-13 16:32 pbartok
12362 - Now Redraws on MouseUp for FlatStyle Flat and Popup
12364 2004-10-13 14:18 pbartok
12367 - Added code to destroy the X window
12369 2004-10-13 14:18 pbartok
12372 - Added code to destroy a window
12374 2004-10-13 14:12 pbartok
12377 - Added the Redraw on Resize that got dropped in the last rev
12379 2004-10-13 09:06 pbartok
12381 * ThemeWin32Classic.cs:
12382 - Path from John BouAntoun:
12383 * Fix check rendering (centre correctly for normal style, offset
12384 correctly for FlatStyle).
12385 * Fix border color usage (use backcolor) for FlatStyle.Popup
12386 * Use checkbox.Capture instead of checkbox.is_pressed when
12387 rendering flatstyle states.
12389 2004-10-12 21:48 pbartok
12391 * ThemeWin32Classic.cs:
12392 - Removed all occurences of SystemColors and replaced them with the
12393 matching theme color
12395 2004-10-12 21:41 pbartok
12397 * ThemeWin32Classic.cs:
12398 - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
12399 him using the function for flatstyle drawing
12400 - Changed functions to use the new version of CPDrawBorder3D
12402 2004-10-12 21:15 pbartok
12405 - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
12406 match MS documentation. They need to return defined colors if the
12407 passed color matches the configured control color. Thanks to John
12408 BouAntoun for pointing this out.
12410 2004-10-12 20:57 pbartok
12413 - Fix from John BouAntoun: Raise ForeColorChanged event when text
12416 2004-10-12 20:46 pbartok
12419 - Fix from John BouAntoun: Now properly sets the Appearance property
12421 2004-10-12 20:45 pbartok
12423 * ThemeWin32Classic.cs:
12424 - Fixes from John BouAntoun: now handles forecolors and backcolors
12425 for flatstyle rendered controls much better; It also fixes normal
12426 checkbox rendering when pushed or disabled.
12428 2004-10-08 02:50 jordi
12430 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
12433 2004-10-07 08:56 jordi
12435 * ThemeWin32Classic.cs: Removes deletion of cached brushes
12437 2004-10-06 03:59 jordi
12439 * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
12440 XplatUIWin32.cs: removes warnings from compilation
12442 2004-10-05 12:23 jackson
12444 * RadioButton.cs: Fix ctor
12446 2004-10-05 11:10 pbartok
12449 - Partial implementation by Benjamin Dasnois
12451 2004-10-05 10:15 jackson
12453 * ThemeWin32Classic.cs: Improve rendering of the radio button patch
12456 2004-10-05 03:07 ravindra
12459 - Removed a private method, Draw ().
12460 - Fixed the ButtonDropDown event handling.
12461 - Fixed MouseMove event handling.
12463 2004-10-05 03:04 ravindra
12465 * ThemeWin32Classic.cs:
12466 - Added DrawListView method and ListViewDefaultSize property.
12467 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
12468 - Changed DOS style CRLF to Unix format (dos2unix).
12470 2004-10-05 03:03 ravindra
12473 - Added DrawListView method and ListViewDefaultSize property.
12475 2004-10-05 02:42 ravindra
12477 * ToolBarButton.cs: Added an internal member dd_pressed to handle
12478 clicks on DropDown arrow.
12480 2004-10-04 22:56 jackson
12482 * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
12483 ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
12484 Control handle the buffers, derived classes should not have to
12485 CreateBuffers themselves.
12487 2004-10-04 21:20 jackson
12489 * StatusBar.cs: The control handles resizing the buffers now.
12491 2004-10-04 21:18 jackson
12493 * Control.cs: When resizing the buffers should be invalidated. This
12494 should be handled in Control not in derived classes.
12496 2004-10-04 14:45 jackson
12500 2004-10-04 02:14 pbartok
12502 * LeftRightAlignment.cs:
12505 2004-10-04 01:09 jordi
12507 * ThemeWin32Classic.cs: fixes right button position causing right
12508 button not showing on horizontal scrollbars
12510 2004-10-02 13:12 pbartok
12513 - Simplified the Invalidate method by using an X call instead of
12514 generating the expose ourselves
12515 - Added an expose when the window background is changed
12516 - Implemented ClientToScreen method
12518 2004-10-02 13:08 pbartok
12521 - Added Win32EnableWindow method (test for implementing modal
12523 - Added ClientToScreen method and imports
12525 2004-10-02 13:07 pbartok
12527 * XplatUI.cs, XplatUIDriver.cs:
12528 - Added ClientToScreen coordinate translation method
12530 2004-10-02 13:06 pbartok
12532 * KeyPressEventArgs.cs:
12533 - Fixed access level for constructor
12535 2004-10-02 13:06 pbartok
12538 - Changed access level for the window_collection hash table
12540 2004-10-02 13:05 pbartok
12543 - Added KeyPreview property
12544 - Added Menu property (still incomplete, pending Jordi's menu work)
12545 - Implemented ProcessCmdKey
12546 - Implemented ProcessDialogKey
12547 - Implemented ProcessKeyPreview
12549 2004-10-02 13:02 pbartok
12552 - Added private method to get the Control object from the window
12554 - Implemented ContextMenu property
12555 - Implemented PointToScreen
12556 - Implemented PreProcessMessage
12557 - Implemented IsInputChar
12558 - Implemented IsInputKey
12559 - Implemented ProcessCmdKey
12560 - Completed ProcessKeyEventArgs
12561 - Fixed message loop to call the proper chain of functions on key
12563 - Implemented ProcessDialogChar
12564 - Implemented ProcessDialogKey
12565 - Implemented ProcessKeyMessage
12566 - Implemented ProcessKeyPreview
12567 - Added RaiseDragEvent stub (MS internal method)
12568 - Added RaiseKeyEvent stub (MS internal method)
12569 - Added RaiseMouseEvent stub (MS Internal method)
12570 - Added RaisePaintEvent stub (MS Internal method)
12571 - Added ResetMouseEventArgs stub (MS Internal method)
12572 - Implemented RtlTranslateAlignment
12573 - Implemented RtlTranslateContent
12574 - Implemented RtlTranslateHorizontal
12575 - Implemented RtlTranslateLeftRight
12576 - Added generation of KeyPress event
12578 2004-10-02 05:57 ravindra
12580 * ListViewItem.cs: Added attributes.
12582 2004-10-02 05:32 ravindra
12584 * ListView.cs: Added attributes.
12586 2004-10-01 11:53 jackson
12588 * Form.cs: Implement the Close method so work on MessageBox can
12591 2004-09-30 14:06 pbartok
12596 2004-09-30 11:34 jackson
12598 * RadioButton.cs: Fix typo. Patch by John BouAntoun.
12600 2004-09-30 07:26 ravindra
12602 * ListViewItemConverter.cs: Converter for ListViewItem.
12604 2004-09-30 07:26 ravindra
12606 * SortOrder.cs: Enum for ListView control.
12608 2004-09-30 07:25 ravindra
12610 * ColumnHeader.cs: Supporting class for ListView control.
12612 2004-09-30 07:24 ravindra
12614 * ListView.cs, ListViewItem.cs: Initial implementation.
12616 2004-09-30 07:20 ravindra
12618 * ItemActivation.cs: Enum for ListView Control.
12620 2004-09-29 20:29 pbartok
12623 - Added lookup of pixel value for background color; tries to get a
12624 color 'close' to the requested color, it avoids having to create a
12625 colormap. Depending on the display this could mean the used color
12626 is slightly off the desired color. Might have to change it to a more
12627 resource intensive colormap approach, but it will work as a
12628 workaround to avoid red screens.
12630 2004-09-29 14:27 jackson
12632 * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
12634 2004-09-28 12:44 pbartok
12636 * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
12637 HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
12638 ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
12639 Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
12640 TrackBar.cs, VScrollBar.cs:
12641 - Streamlined Theme interfaces:
12642 * Each DrawXXX method for a control now is passed the object for
12643 the control to be drawn in order to allow accessing any state the
12644 theme might require
12646 * ControlPaint methods for the theme now have a CP prefix to avoid
12647 name clashes with the Draw methods for controls
12649 * Every control now retrieves it's DefaultSize from the current
12652 2004-09-28 12:17 jackson
12654 * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
12657 2004-09-24 14:57 jackson
12659 * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
12660 Gives us a nice little performance boost.
12662 2004-09-24 12:02 jackson
12664 * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
12665 TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
12666 Control and supporting classes. Initial checkin
12668 2004-09-23 13:08 jackson
12670 * Form.cs: Temp build fixage
12672 2004-09-23 01:39 ravindra
12674 * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
12675 ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
12676 ItemDragEventArgs.cs, ItemDragEventHandler.cs,
12677 LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
12678 EventHandlers needed by ListView Control.
12680 2004-09-22 14:12 pbartok
12682 * ScrollableControl.cs:
12683 - Implemented DockPadding property
12684 - Implemented AutoScroll property
12685 - Implemented AutoScrollMargin property
12686 - Implemented AutoScrollMinSize property
12687 - Implemented AutoScrollPosition property
12688 - Implemented DisplayRectangle property (still incomplete)
12689 - Implemented CreateParams property
12690 - Implemented HScroll property
12691 - Implemented VScroll property
12692 - Implemented OnVisibleChanged property
12694 2004-09-22 14:09 pbartok
12697 - Added Form.ControllCollection class
12698 - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
12699 RemoveOwnedForm (still incomplete, missing on-top and common
12700 minimize/maximize behaviour)
12701 - Added StartPosition property (still incomplete, does not use when
12703 - Added ShowDialog() methods (still incomplete, missing forcing the
12706 2004-09-22 14:05 pbartok
12709 - Added message loop for modal dialogs
12711 2004-09-22 14:02 pbartok
12714 - Fixed wrong types for events
12716 2004-09-22 14:00 pbartok
12718 * Shortcut.cs, FormWindowState.cs:
12719 - Fixed wrong values
12721 2004-09-22 12:01 jackson
12723 * Control.cs: Text is never null
12725 2004-09-20 22:14 pbartok
12728 - Fixed accessibility level for Idle handler
12730 2004-09-20 18:54 jackson
12732 * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
12733 XplatUIX11.cs: New message loop that uses poll so we don't get a
12736 2004-09-17 10:43 pbartok
12739 - Fixed behaviour of arrow buttons. Now properly behaves like
12740 Buttons (and like Microsoft's scrollbar arrow buttons)
12742 2004-09-17 10:14 pbartok
12745 - Added missing release of keyboard/mouse capture
12747 2004-09-17 06:18 jordi
12749 * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
12750 Theme.cs: Very early menu support
12752 2004-09-16 17:45 pbartok
12755 - Fixed sending a window to the front
12756 - Added overload for SetWindowPos to avoid casting
12758 2004-09-16 17:44 pbartok
12761 - Added SendToBack and BringToFront methods
12763 2004-09-16 07:00 ravindra
12765 * Copyright: Added Novell URL.
12767 2004-09-16 07:00 ravindra
12769 * ToolBar.cs: Invalidate should be done before redrawing.
12771 2004-09-15 21:19 ravindra
12773 * ColumnHeaderStyle.cs: Enum for ListView Control.
12775 2004-09-15 21:18 ravindra
12777 * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
12780 2004-09-13 18:26 jackson
12782 * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
12785 2004-09-13 18:13 jackson
12787 * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
12788 a second thread and post messages into the main threads message
12789 queue. This makes timing much more consistent. Both win2K and XP
12790 have a minimum timer value of 15 milliseconds, so we now do this
12793 2004-09-13 15:18 pbartok
12795 * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
12797 - Added Z-Ordering methods
12799 2004-09-13 10:56 pbartok
12802 - Fixed #region names
12803 - Moved properties and methods into their proper #regions
12805 2004-09-13 10:51 pbartok
12808 - Added Accept and CancelButton properties
12809 - Added ProcessDialogKey() method
12811 2004-09-13 08:18 pbartok
12813 * IWindowTarget.cs:
12816 2004-09-10 21:50 pbartok
12819 - Added DoDragDrop() [incomplete]
12820 - Properly implemented 'Visible' handling
12821 - Added SetVisibleCore()
12822 - Implemented FindChildAtPoint()
12823 - Implemented GetContainerControl()
12824 - Implemented Hide()
12826 2004-09-10 19:28 pbartok
12829 - Moved methods into their appropriate #regions
12830 - Reordered methods within regions alphabetically
12832 2004-09-10 18:57 pbartok
12834 * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
12835 - Added method to retrieve text from window
12837 2004-09-10 18:56 pbartok
12840 - Moved some internal functions into the internal region
12841 - Implemented FontHeight
12842 - Implemented RenderRightToLeft
12843 - Implemented ResizeRedraw
12844 - Implemented ShowFocusCues
12845 - Implemented ShowKeyboardCues
12846 - Implemented FromChildHandle
12847 - Implemented FromHandle
12848 - Implemented IsMnemonic
12849 - Implemented ReflectMessage
12850 - All public and protected Static Methods are now complete
12852 2004-09-10 16:54 pbartok
12855 - Implemented remaining missing public instance properties
12856 - Alphabetized some out of order properties
12858 2004-09-10 05:51 ravindra
12860 * PictureBox.cs: Added a check for null image.
12862 2004-09-10 00:59 jordi
12864 * GroupBox.cs: remove cvs tag
12866 2004-09-09 05:25 ravindra
12868 * ToolBar.cs: Make redraw accessible from ToolBarButton.
12870 2004-09-09 05:23 ravindra
12872 * ToolBarButton.cs: Changes in ToolBarButton need to make it's
12875 2004-09-09 02:28 pbartok
12877 * ThemeWin32Classic.cs:
12878 - Improve disabled string look
12880 2004-09-09 01:15 jordi
12882 * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
12885 2004-09-08 23:56 ravindra
12887 * ItemBoundsPortion.cs: It's enum, not a class!
12889 2004-09-08 23:47 ravindra
12891 * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
12894 2004-09-08 21:13 ravindra
12896 * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
12899 2004-09-08 21:03 ravindra
12901 * ThemeWin32Classic.cs: PictureBox would not draw a null image to
12904 2004-09-08 21:01 ravindra
12906 * ScrollableControl.cs: Removed unreachable code.
12908 2004-09-08 06:45 jordi
12910 * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
12912 2004-09-08 01:00 jackson
12914 * XplatUIX11.cs: Only run the timers when updating the message
12915 queue. This effectively gives X messages a higher priority then
12916 timer messages. Timers still need love though
12918 2004-09-07 14:01 jackson
12920 * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
12921 this for us and the handle is no longer valid.
12923 2004-09-07 13:59 jackson
12925 * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
12926 loop that manages to not crash. TODO: Add poll and cleanup timers
12928 2004-09-07 11:12 jordi
12930 * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
12932 2004-09-07 03:40 jordi
12934 * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
12935 fixes, methods, multiple links
12937 2004-09-06 06:55 jordi
12939 * Control.cs: Caches ClientRectangle rectangle value
12941 2004-09-05 02:03 jordi
12943 * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
12946 2004-09-04 11:10 jordi
12948 * Label.cs: Refresh when font changed
12950 2004-09-02 16:24 pbartok
12953 - Added sanity check to creation of double buffer bitmap
12955 2004-09-02 16:24 pbartok
12958 - Fixed selection of text color
12959 - Fixed handling of resize event; now properly recreates double
12961 - Added missing assignment of TextAlignment
12962 - Added proper default for TextAlignment
12964 2004-09-02 14:26 pbartok
12967 - Added missing RadioButton.RadioButtonAccessibleObject class
12969 2004-09-02 14:26 pbartok
12972 - Added missing Control.ControlAccessibleObject class
12973 - Started to implement Select()ion mechanisms, still very incomplete
12975 2004-09-02 14:25 pbartok
12977 * AccessibleObject.cs:
12978 - Added missing methods
12980 2004-09-02 14:23 pbartok
12982 * AccessibleNavigation.cs, AccessibleSelection.cs:
12985 2004-09-02 10:32 jordi
12987 * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
12988 pool for pens, brushes, and hatchbruses
12990 2004-09-01 15:30 jackson
12992 * StatusBar.cs: Fix typo
12994 2004-09-01 14:44 pbartok
12999 2004-09-01 14:39 pbartok
13001 * Button.cs, RadioButton.cs:
13002 - Functional initial check-in
13004 2004-09-01 14:01 pbartok
13007 - Added missing default
13008 - Added missing region mark
13010 2004-09-01 09:10 jordi
13012 * Label.cs: fixes method signatures, new methods, events, fixes
13015 2004-09-01 07:19 jordi
13017 * Control.cs: Init string variables with an empty object
13019 2004-09-01 04:20 jordi
13021 * Control.cs: fires OnFontChanged event
13023 2004-08-31 20:07 pbartok
13026 - Enabled display of strings
13028 2004-08-31 20:05 pbartok
13031 - Added (partial) implementation of DialogResult; rest needs to be
13032 implemented when the modal loop code is done
13034 2004-08-31 19:55 pbartok
13037 - Fixed to match the removal of the needs_redraw concept
13039 2004-08-31 19:55 pbartok
13042 - Removed the rather odd split between 'needs redraw' and redrawing
13043 - Now handles the events that require regeneration (ambient
13044 properties and size)
13046 2004-08-31 19:41 pbartok
13049 - Added firing of BackColorChanged event
13050 - Added TopLevelControl property
13051 - Fixed handling of WM_ERASEBKGRND message
13053 2004-08-31 12:49 pbartok
13059 2004-08-31 12:48 pbartok
13062 - Finished (famous last words)
13064 2004-08-31 04:35 jordi
13066 * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
13067 scrolling bugs, adds new methods
13069 2004-08-30 14:42 pbartok
13072 - Implemented CheckBox drawing code
13074 2004-08-30 14:42 pbartok
13077 - Made Redraw() and CheckRedraw() virtual
13078 - Improved mouse up/down/move logic to properly track buttons
13080 2004-08-30 09:44 pbartok
13083 - Updated to fix broken build. Not complete yet.
13085 2004-08-30 09:28 pbartok
13090 2004-08-30 09:17 pbartok
13095 2004-08-27 16:12 ravindra
13097 * ToolBarButton.cs: Added TypeConverter attribute.
13099 2004-08-27 16:07 ravindra
13101 * ImageIndexConverter.cs: Implemented.
13103 2004-08-27 14:17 pbartok
13106 - Removed unneeded stack vars
13107 - First attempt to fix sizing issues when layout is suspended
13109 2004-08-25 15:35 jordi
13111 * ScrollBar.cs: more fixes to scrollbar
13113 2004-08-25 14:04 ravindra
13115 * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
13116 Added the missing divider code and grip for ToolBar Control.
13118 2004-08-25 13:20 pbartok
13121 - Control now properly passes the ambient background color to child
13124 2004-08-25 13:20 jordi
13126 * ScrollBar.cs: small bug fix regarding bar position
13128 2004-08-25 12:33 pbartok
13131 - Now only calls SetTimer or KillTimer if the enabled state has
13134 2004-08-25 12:33 pbartok
13137 - Fixed timer handling, now seems to work
13138 - Improved error message for window creation
13140 2004-08-25 12:32 pbartok
13143 - Fixed generation of MouseUp message
13145 2004-08-25 12:29 jordi
13147 * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
13148 and fixes for progressbar
13150 2004-08-24 18:43 ravindra
13152 * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
13153 in ToolBar control.
13155 2004-08-24 17:15 pbartok
13159 - Added missing events
13162 2004-08-24 17:14 pbartok
13164 * StatusBar.cs, PictureBox.cs:
13165 - Now uses Control's CreateParams
13167 2004-08-24 16:36 pbartok
13170 - Fixed background color handling
13171 - Fixed sending of enter/leave events on a grab
13173 2004-08-24 16:35 pbartok
13176 - Refined definitions for CrossingEvent
13178 2004-08-24 12:37 jordi
13180 * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
13181 formmating, methods signature, and adds missing events
13183 2004-08-24 12:24 jordi
13185 * Control.cs: fire OnEnabledChanged event
13187 2004-08-24 11:17 pbartok
13190 - Implemented SetTimer() and KillTimer()
13192 2004-08-24 11:16 pbartok
13195 - Now uses Remove instead of Add to kill the timer
13197 2004-08-24 10:16 jackson
13199 * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
13200 picture boxes in the theme now. Draw picture box borders and obey
13203 2004-08-24 05:49 jackson
13205 * Timer.cs: Remove top secret debugging code
13207 2004-08-24 05:34 jackson
13209 * PictureBox.cs: Temp hack to make picture boxes draw their full
13212 2004-08-24 05:29 jackson
13214 * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13215 XplatUIX11.cs: Move timers to the driver level. On X they are
13216 queued by the driver and checked on idle.
13218 2004-08-24 01:07 jackson
13220 * XplatUIX11.cs: Use a queue for async messages instead of passing
13221 them as ClientMessages since that was totally broken. Also simply
13222 check for events and return an idle message if none are found. This
13223 gives us an idle handler, and prevents deadlocking when no messages
13226 2004-08-23 18:19 ravindra
13228 * XplatUIWin32.cs: Removed the unwanted destructor.
13230 2004-08-23 17:27 pbartok
13233 - Finishing touches. Works now, just needs some optimizations.
13235 2004-08-23 16:53 jordi
13237 * ScrollBar.cs: small fix
13239 2004-08-23 16:45 pbartok
13242 - Removed debug output
13245 2004-08-23 16:43 jordi
13247 * ScrollBar.cs: [no log message]
13249 2004-08-23 16:10 pbartok
13252 - Fixed handling of WM_CLOSE message
13253 - Removed debug output
13255 2004-08-23 16:09 pbartok
13258 - Added handling of Idle event
13259 - Added handling of form closing
13260 - Fixed reporting of MessageLoop property
13261 - Removed some unneeded code, should provide a bit of a speedup
13263 2004-08-23 15:22 pbartok
13266 - Added InitLayout() method
13267 - Added code to properly perform layout when Anchor or Dock property
13269 - Changed 'interpretation' of ResumeLayout. MS seems to have a
13270 LAMESPEC, tried to do it in a way that makes sense
13272 2004-08-23 14:10 jordi
13274 * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
13275 properties and methods
13277 2004-08-23 13:55 pbartok
13280 - Properly fixed Jordi's last fix
13281 - Now uses Cursor's Position property instead of calling XplatUI
13284 2004-08-23 13:44 jordi
13286 * PaintEventHandler.cs: Adding missing attribute
13288 2004-08-23 13:39 pbartok
13291 - Implemented Position property
13293 2004-08-23 13:39 pbartok
13295 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
13296 - Added method to move mouse cursor
13298 2004-08-23 13:39 pbartok
13301 - Fixed setting of background color
13302 - Added method to move mouse cursor
13304 2004-08-23 13:16 jordi
13306 * Control.cs: avoids null exception
13308 2004-08-22 17:46 jackson
13310 * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
13313 2004-08-22 17:40 jackson
13315 * XplatUIX11.cs: Add some missing locks
13317 2004-08-22 15:10 pbartok
13319 * Control.cs, Form.cs:
13320 - Removed OverlappedWindow style from Control, instead it's default
13322 - Made form windows OverlappedWindow by default
13324 2004-08-22 13:34 jackson
13326 * ScrollBar.cs: Update the position through the Value property so
13327 the OnValueChanged event is raised.
13329 2004-08-22 12:04 pbartok
13332 - Added Cursor.cs and UserControl.cs
13334 2004-08-22 12:03 pbartok
13337 - Started implementation, not usable yet
13339 2004-08-22 12:00 pbartok
13342 - Implemented UserControl (complete)
13344 2004-08-21 19:20 ravindra
13346 * ToolBar.cs: Correcting the formatting mess of VS.NET.
13348 2004-08-21 18:49 ravindra
13350 * ToolBar.cs: Probably this completes the missing attributes in
13353 2004-08-21 18:03 ravindra
13355 * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
13356 Fixed toolbar control signatures.
13358 2004-08-21 16:32 pbartok
13363 2004-08-21 16:30 pbartok
13368 2004-08-21 16:19 pbartok
13370 * Control.cs, Label.cs:
13373 2004-08-21 15:57 pbartok
13376 - Added loads of debug output for development
13377 - Fixed typo in method name
13379 2004-08-21 15:52 pbartok
13381 * ToolBarButtonClickEventArgs.cs:
13382 - Added missing base class
13384 2004-08-21 14:53 pbartok
13387 - Updated to match new GrabWindow signature
13389 2004-08-21 14:51 pbartok
13391 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13392 - Added method to get default display size
13394 2004-08-21 14:23 pbartok
13396 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13397 - Added method to query current grab state
13398 - Added argument to allow confining a grab to a window
13400 2004-08-21 14:22 pbartok
13403 - Added [Flags] attribute so that modifiers can be used in bitwise
13406 2004-08-21 14:21 pbartok
13408 * TrackBar.cs, ScrollBar.cs:
13409 - Replaced direct XplatUI calls with their Control counterpart
13411 2004-08-21 13:32 pbartok
13414 - Implemented Created property
13416 2004-08-21 13:28 pbartok
13419 - Implemented ContainsFocus
13421 2004-08-21 13:26 pbartok
13424 - Implemented CausesValidation
13426 2004-08-21 13:21 pbartok
13429 - Implemented CanFocus
13430 - Implemented CanSelect
13431 - Implemented Capture
13433 2004-08-21 12:35 pbartok
13436 - Fixed bug with Async message handling
13437 - Implemented getting the ModifierKeys
13439 2004-08-21 12:32 jackson
13441 * AsyncMethodResult.cs: Make sure we have the mutex before we
13442 release it. Fixes BeginInvoke on windows
13444 2004-08-21 11:31 pbartok
13446 * XplatUIWin32.cs, XplatUIX11.cs:
13447 - Drivers now return proper mouse state
13449 2004-08-21 10:54 jackson
13451 * Control.cs: Implement EndInvoke
13453 2004-08-21 10:48 jackson
13455 * Timer.cs: Remove unneeded finalizer
13457 2004-08-20 19:52 ravindra
13459 * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
13460 in mouse event handling in the ToolBar control.
13462 2004-08-20 19:50 ravindra
13464 * ImageList.cs: Changed draw method to use the arguments passed in
13467 2004-08-20 18:58 pbartok
13469 * XplatUIStructs.cs:
13470 - Added private message for async communication
13472 2004-08-20 17:38 ravindra
13474 * Control.cs: Made RightToLeft property virtual and removed a
13477 2004-08-20 14:39 jordi
13479 * ThemeGtk.cs: use style_attach
13481 2004-08-20 14:39 pbartok
13484 - Added jackson's Async code from X11 to Win32
13486 2004-08-20 14:09 pbartok
13489 - Added all new files
13491 2004-08-20 14:09 pbartok
13494 - Added call to set window background color
13496 2004-08-20 14:03 pbartok
13498 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
13499 - Added method for setting the window background
13501 2004-08-20 14:02 pbartok
13504 - Added method for setting the background color
13505 - Added handling for erasing the window background
13507 2004-08-20 13:45 jordi
13509 * TrackBar.cs: fixes timer, new properties and methods
13511 2004-08-20 13:34 jackson
13513 * ScrollBar.cs: Use the SWF timer so callbacks are run in the
13516 2004-08-20 13:22 jackson
13518 * Timer.cs: Timer Tick events are now handed through Controls Async
13519 mechanism so the callbacks are executed in the same thread as X
13521 2004-08-20 13:19 jackson
13523 * XplatUIDriver.cs: Expose functionality to send async messages
13526 2004-08-20 13:18 jackson
13528 * Control.cs: Implement Begininvoke
13530 2004-08-20 13:14 jackson
13532 * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
13533 messages through the driver
13535 2004-08-20 13:12 jackson
13537 * XplatUIX11.cs: Lock before all X operations. Also added Async
13538 method functionality through XSendEvent
13540 2004-08-20 13:11 jackson
13542 * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
13543 This will screw up on 64 bit systems)
13545 2004-08-20 13:10 jackson
13547 * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
13548 Async messages through X/Win32
13550 2004-08-19 19:39 pbartok
13553 - Updated code to match new HandleData.DeviceContext type
13555 2004-08-19 19:38 pbartok
13558 - Made DeviceContext a generic object to allow usage from various
13560 - Added support for queueing Windows messages
13562 2004-08-19 19:37 pbartok
13565 - Added generation of MouseEnter, MouseLeave and MouseHover events
13566 - Added cleanup on EndPaint
13568 2004-08-19 19:17 pbartok
13571 - Added handling of WM_MOUSEHOVER
13572 - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
13575 2004-08-19 18:55 jordi
13577 * ThemeGtk.cs: fixes button order
13579 2004-08-19 18:12 jordi
13581 * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
13583 2004-08-19 17:09 pbartok
13586 - Added Right property
13587 - Added RightToLeft property
13589 2004-08-19 16:27 jordi
13591 * ThemeGtk.cs: experimental GTK theme support
13593 2004-08-19 16:26 jordi
13595 * ITheme.cs, Theme.cs: move themes from an interface to a class
13597 2004-08-19 16:25 jordi
13599 * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
13602 2004-08-19 16:04 pbartok
13605 - Added colormap basics
13606 - Added a way to re-initialize with a different display handle
13607 - Fixed setting of the window background color
13608 - Added various X11 imports related to colors and colormaps
13610 2004-08-19 15:51 pbartok
13613 - Removed packing hints (Paolo suggested this a while back)
13614 - fixed colormap type
13615 - Added default Atom types
13616 - Added Screen and color structs and enums
13618 2004-08-19 15:39 pbartok
13621 - Added missing Draw() method
13622 - Added missing RecreateHandle event
13624 2004-08-19 15:30 pbartok
13627 - Added handling of WM_CLOSE
13629 2004-08-18 13:16 jordi
13631 * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
13634 2004-08-18 09:56 jordi
13636 * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
13638 2004-08-17 15:31 ravindra
13640 * SWF.csproj: Updated project.
13642 2004-08-17 15:25 pbartok
13645 - Drawing improvement; don't call UpdateBounds if we are not visible
13646 (or have been minimized)
13648 2004-08-17 15:24 pbartok
13651 - Finished IsVisible
13652 - Added Win32GetWindowPlacement
13654 2004-08-17 15:08 jackson
13656 * Panel.cs: Initial checkin of the Panel
13658 2004-08-17 14:25 pbartok
13661 - Fixed broken handling of default window sizes
13663 2004-08-17 13:29 jackson
13665 * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
13666 has a large startup time.
13668 2004-08-17 10:25 jackson
13670 * HandleData.cs: union areas properly
13672 2004-08-17 10:12 jackson
13674 * HandleData.cs: union areas properly
13676 2004-08-16 20:00 ravindra
13678 * ToolBar.cs, ToolBarButton.cs: Added attributes.
13680 2004-08-16 18:48 ravindra
13682 * ToolBar.cs: Added attributes.
13684 2004-08-16 17:17 ravindra
13686 * SWF.csproj: Updated project.
13688 2004-08-16 17:16 jackson
13690 * XplatUIX11.cs: Check for more expose events before sending a
13691 WM_PAINT so they can all be grouped together. This makes dragging a
13692 window across another window redraw in a sane way.
13694 2004-08-16 15:47 pbartok
13697 - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
13698 support OnMouseEnter/Leave()
13699 - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
13702 2004-08-16 15:46 pbartok
13704 * XplatUIStructs.cs, XplatUIX11.cs:
13705 - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
13706 OnMouseEnter/Leave()
13708 2004-08-16 15:34 jackson
13710 * XplatUIX11.cs: Group multiple expose events in HandleData, make
13711 sure messages get the message field set to WM_NULL if they are not
13714 2004-08-16 15:24 jackson
13716 * HandleData.cs: HandleData is used for storing message information
13719 2004-08-15 17:23 ravindra
13721 * ColorDepth.cs: Added attribute.
13723 2004-08-15 17:23 ravindra
13725 * SWF.csproj: Updated project for ToolBar Control.
13727 2004-08-15 17:20 ravindra
13729 * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
13730 control and also dos2unix format.
13732 2004-08-15 17:13 ravindra
13734 * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
13735 ToolBarButtonClickEventArgs.cs,
13736 ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
13737 ToolBarTextAlign.cs: First Implementation of ToolBar control.
13739 2004-08-15 15:31 pbartok
13742 - First (mostly) working version
13744 2004-08-13 16:15 pbartok
13747 - Fixed Anchor default
13749 2004-08-13 15:43 pbartok
13752 - Changed GetCursorPos signature
13754 2004-08-13 15:42 pbartok
13756 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
13757 - Changed signature for GetCursorPos
13759 2004-08-13 15:25 pbartok
13763 - Fixed resizing/exposure handling
13765 2004-08-13 15:22 jordi
13767 * ThemeWin32Classic.cs: removes redundant code and fixes issues
13770 2004-08-13 14:55 jordi
13772 * TrackBar.cs: change from wndproc to events
13774 2004-08-13 13:00 jordi
13776 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13777 XplatUIX11.cs: implements PointToClient (ScreenToClient)
13779 2004-08-13 12:53 pbartok
13782 - Changed GetWindowPos to also provide client area size
13783 - Fixed broken prototypes for several win32 functions
13785 2004-08-13 12:53 pbartok
13787 * XplatUI.cs, XplatUIDriver.cs:
13788 - Changed GetWindowPos to also provide client area size
13790 2004-08-13 12:52 pbartok
13793 - Added generation of WM_POSCHANGED
13794 - Changed GetWindowPos to also provide client area size
13796 2004-08-13 12:52 pbartok
13799 - Added Dispose() and destructor
13800 - Fixed resizing and bounds calculation
13802 - Added memory savings for invisible windows
13804 2004-08-13 12:46 jordi
13806 * TrackBar.cs: adds timer and grap window
13808 2004-08-13 10:25 jackson
13810 * Timer.cs: SWF Timer
13812 2004-08-12 16:59 pbartok
13814 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13815 - Implemented method to get current mouse position
13817 2004-08-12 14:29 jordi
13819 * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
13820 enhancement, fix mouse problems, highli thumb, etc
13822 2004-08-12 13:31 pbartok
13825 - Fixed Anchoring bugs
13827 2004-08-12 13:01 jackson
13829 * StatusBar.cs: Don't forget things
13831 2004-08-12 12:54 jackson
13833 * ThemeWin32Classic.cs: Handle owner draw status bars
13835 2004-08-12 12:54 jackson
13837 * StatusBar.cs: Implement missing properties, events, and methods.
13838 Handle mouse clicking
13840 2004-08-12 10:19 jackson
13842 * StatusBarPanelClickEventArgs.cs,
13843 StatusBarPanelClickEventHandler.cs: Classes for handling status
13844 bar panel click events
13846 2004-08-12 10:10 jackson
13848 * Control.cs: Add missing properties
13850 2004-08-12 09:46 pbartok
13852 * BindingsManagerBase.cs:
13853 - Name changed to BindingManagerBase.cs
13855 2004-08-12 09:25 jordi
13857 * ScrollableControl.cs: calls ctrlbase instead of exeception
13859 2004-08-11 16:28 pbartok
13861 * InputLanguageChangingEventArgs.cs:
13862 - Never check in before compiling. Fixes the last check-in
13864 2004-08-11 16:26 pbartok
13866 * InputLanguageChangingEventArgs.cs:
13867 - More signature fixes
13869 2004-08-11 16:20 pbartok
13871 * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
13872 Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
13873 ImageListStreamer.cs, InputLanguage.cs,
13874 InputLanguageChangedEventArgs.cs,
13875 InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
13876 LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
13877 ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
13878 XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13881 2004-08-11 16:16 pbartok
13885 - Added .Net 1.1 method
13887 2004-08-11 15:25 pbartok
13890 - Fixed BindingManagerBase.cs filename
13892 2004-08-11 15:22 pbartok
13894 * BindingManagerBase.cs:
13895 - Was checked in with wrong filename
13897 2004-08-11 14:50 pbartok
13902 2004-08-11 13:41 jordi
13904 * XplatUIWin32.cs: Fixes ClientRect
13906 2004-08-11 13:19 pbartok
13908 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13910 - We had SetWindowPos and MoveWindow to set window positions and
13911 size, removed MoveWindow. We have GetWindowPos, so it made sense to
13912 keep SetWindowPos as matching counterpart
13913 - Added some X11 sanity checking
13915 2004-08-11 12:59 pbartok
13918 - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
13919 (It seems that SetBounds is just a front for SetBoundsCore and
13920 SetBoundsCore updates the underlying window system and
13921 UpdateBounds is responsible for updating the variables associated
13922 with the Control and sending the events)
13923 - Major cleanup of Size handling; we now have two sizes, client_size
13924 and bounds. Bounds defines the window with decorations, client_size
13927 2004-08-11 12:55 pbartok
13929 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13930 - Added method to calculate difference between decorated window and
13933 2004-08-11 12:54 pbartok
13936 - Forcing redraw on resize
13938 2004-08-11 11:43 pbartok
13941 - Removed disposing of the actual images when the list is disposed
13943 2004-08-11 09:13 pbartok
13946 - Now properly reparents windows
13948 2004-08-11 08:37 pbartok
13953 2004-08-11 07:47 pbartok
13956 - Rewrote the collection stuff. Might not be as fast now, not
13957 keeping the number of children around and accessible directly, but
13958 it's more straightforward
13960 2004-08-11 07:44 pbartok
13962 * AccessibleObject.cs:
13963 - Fixed to match ControlCollection rewrite
13965 2004-08-11 07:43 pbartok
13968 - Added missing creation of the collection list
13970 2004-08-10 20:08 jackson
13972 * StatusBar.cs: Get the paint message from WndProc
13974 2004-08-10 19:31 jackson
13976 * ThemeWin32Classic.cs: Create Brushes as little as possible
13978 2004-08-10 19:20 jackson
13980 * UICues.cs: Add Flags attribute
13982 2004-08-10 19:19 jackson
13984 * StatusBarPanel.cs: Signature cleanup
13986 2004-08-10 19:10 jackson
13988 * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
13989 Initial implementation of status bar item drawing
13991 2004-08-10 17:27 jordi
13993 * TrackBar.cs: add missing methods, properties, and restructure to
13996 2004-08-10 16:24 jackson
13998 * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
13999 ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
14002 2004-08-10 13:21 jordi
14004 * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
14005 enhancements and standarize on win colors defaults
14007 2004-08-10 12:52 jackson
14009 * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
14010 ThemeWin32Classic.cs: Implement DrawItem functionality
14012 2004-08-10 12:47 jordi
14014 * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
14016 2004-08-10 12:32 jordi
14018 * Control.cs: throw ontextchange event
14020 2004-08-10 11:43 pbartok
14023 - Added more to the still unfinished Dock/Anchor layout code
14025 2004-08-10 11:39 pbartok
14027 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
14028 - Added GetWindowPos method
14030 2004-08-10 11:36 pbartok
14033 - Implemented several methods
14035 2004-08-10 09:47 jackson
14037 * TrackBar.cs: Allow control to handle buffering
14039 2004-08-10 09:41 jackson
14041 * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
14043 2004-08-10 09:24 jackson
14045 * Label.cs, LinkLabel.cs: Let Control handle buffering.
14047 2004-08-10 09:09 jackson
14049 * StatusBar.cs: Let Control handle all the buffering.
14051 2004-08-10 09:08 jackson
14053 * Control.cs: Control will now handle the buffering code, so each
14054 control does not have to implement this.
14056 2004-08-10 08:34 jackson
14058 * XplatUIDriver.cs: Use default colors from the theme
14060 2004-08-09 17:12 pbartok
14063 - Fixed several bugs Ravindra pointed out
14065 2004-08-09 16:11 pbartok
14068 - Added incomplete dock layout code
14069 - Added support for mouse wheel
14071 2004-08-09 16:09 pbartok
14074 - Added handling for middle and right mousebutton
14075 - Added handling for mouse wheel
14076 - Added handling for key state and mouse state and position
14077 - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
14080 2004-08-09 15:40 jackson
14082 * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
14083 StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
14086 2004-08-09 15:37 jackson
14088 * StatusBar.cs: Initial implementation of StatusBar
14090 2004-08-09 15:36 jackson
14092 * ITheme.cs: Add support for drawing status bar and getting status
14095 2004-08-09 15:35 pbartok
14100 2004-08-09 15:34 jackson
14102 * ThemeWin32Classic.cs: Add support for drawing status bar and get
14103 status bar item sizes
14105 2004-08-09 15:21 jackson
14107 * ThemeWin32Classic.cs: Use known colors for default control
14110 2004-08-09 15:12 jackson
14112 * ThemeWin32Classic.cs: Make the default font static, it is static
14113 in control so this doesn't change functionality and creating fonts
14116 2004-08-09 14:56 pbartok
14119 - Added GrabMode enum
14121 2004-08-09 14:55 pbartok
14123 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
14124 - Removed Run method, was only required for initial development
14126 2004-08-09 14:51 pbartok
14128 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
14129 - Implemented GrabWindow/ReleaseWindow methods to allow pointer
14132 2004-08-09 13:48 pbartok
14135 - Fixed default sizing for child windows
14137 2004-08-09 12:56 pbartok
14140 - Added generation of WM_DESTROY message
14141 - Added handling of window manager induced shutdown
14143 2004-08-09 11:31 jackson
14145 * ThemeWin32Classic.cs: New names for control properties
14147 2004-08-09 11:25 jackson
14149 * Control.cs: Use new color names
14151 2004-08-09 11:02 jackson
14153 * XplatUI.cs: Get default window properties from the theme
14155 2004-08-09 11:01 jackson
14157 * ITheme.cs: The theme engine now controls default window
14160 2004-08-09 11:00 jackson
14162 * ThemeWin32Classic.cs: Add default window color properties
14164 2004-08-09 10:17 jackson
14166 * ThemeWin32Classic.cs: Use correct default back color
14168 2004-08-09 10:05 jackson
14170 * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
14173 2004-08-09 09:56 jackson
14175 * XplatUI.cs: Remove defaults, these are handled by the theme now.
14177 2004-08-09 09:54 jackson
14179 * Control.cs: Get default properties from the theme.
14181 2004-08-09 09:53 jackson
14183 * ITheme.cs: Themes now handle default control properties
14185 2004-08-09 09:53 jackson
14187 * ThemeWin32Classic.cs: Themes now handle default control
14188 properties so coloring will be consistent
14190 2004-08-08 16:54 jordi
14192 * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
14194 2004-08-08 15:08 jordi
14196 * XplatUIX11.cs: fixes keyboard crash
14198 2004-08-08 13:47 jordi
14200 * Label.cs: add cvs header info
14202 2004-08-08 12:09 jackson
14204 * ThemeWin32Classic.cs: Add pen_buttonface
14206 2004-08-08 11:52 jordi
14208 * Label.cs, LinkLabel.cs: [no log message]
14210 2004-08-08 11:34 jordi
14212 * ThemeWin32Classic.cs: Use Windows Standard Colours
14214 2004-08-07 17:32 jordi
14216 * TrackBar.cs: throw exceptions of invalid enums values
14218 2004-08-07 17:31 jordi
14220 * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
14223 2004-08-07 16:56 jackson
14225 * HorizontalAlignment.cs: Initial checkin
14227 2004-08-07 13:16 jordi
14229 * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
14232 2004-08-07 13:05 jordi
14234 * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
14235 GetSysColor defines
14237 2004-08-06 18:01 pbartok
14239 * ThemeWin32Classic.cs:
14240 - Fixed some rounding issues with float/int
14242 2004-08-06 18:00 jackson
14244 * DockStyle.cs, AnchorStyles.cs:
14246 Add flags and serializable attributes.
14248 2004-08-06 17:46 pbartok
14251 - Implemented GetParent
14253 2004-08-06 17:18 pbartok
14256 - Fixed some rounding issues with float/int
14258 2004-08-06 17:17 pbartok
14260 * X11Structs.cs, XplatUIX11.cs:
14261 - Fixed Refresh and Invalidate
14263 2004-08-06 15:30 pbartok
14265 * Control.cs, X11Structs.cs, XplatUIX11.cs:
14266 - Fixed recursive loop when resizing
14267 - Improved/fixed redrawing on expose messages
14269 2004-08-06 09:53 jordi
14271 * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
14272 keyboard navigation
14274 2004-08-06 08:02 pbartok
14276 * X11Structs.cs, XplatUIX11.cs:
14277 - Fixed reparenting
14278 - Fixed window border creation
14280 2004-08-05 15:38 pbartok
14283 - Attempted fix for reparenting problems
14285 2004-08-04 15:14 pbartok
14288 - Fixed Invalidation bug (calculated wrong client area)
14289 - Added ClientSize setter
14291 2004-08-04 15:13 pbartok
14294 - Added AutoScale properties
14296 2004-08-04 15:13 pbartok
14299 - Added latest files
14301 2004-08-04 14:11 pbartok
14303 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
14305 - Added Invalidate handling
14307 2004-08-03 17:09 jordi
14309 * XplatUIDriver.cs: fixes spelling mistake
14311 2004-07-27 09:53 jordi
14313 * TrackBar.cs: fixes trackbar events, def classname, methods
14316 2004-07-27 09:29 jordi
14318 * ScrollBar.cs: fixes scrollbar events
14320 2004-07-27 04:38 jordi
14322 * Control.cs: changes to be able to run winforms samples
14324 2004-07-26 11:42 jordi
14326 * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
14327 ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
14329 2004-07-26 05:41 jordi
14331 * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
14332 MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
14335 2004-07-22 09:22 jordi
14337 * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
14338 check link overlapping, implement events, and fixes
14340 2004-07-21 10:28 jordi
14342 * DialogResult.cs, IButtonControl.cs: fixes comments filenames
14344 2004-07-21 10:19 jordi
14346 * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
14347 LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
14348 LinkLabelLinkClickedEventArgs.cs,
14349 LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
14350 XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
14353 2004-07-19 13:09 jordi
14355 * Control.cs, Label.cs: label control re-written: added missing
14356 functionlity, events, and properties
14358 2004-07-19 10:49 jordi
14360 * Control.cs: fixes SetBounds logic
14362 2004-07-19 01:29 jordi
14364 * Control.cs: Call RefreshWindow only if the window has created
14366 2004-07-15 14:05 pbartok
14368 * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
14369 - Implemented ImageList and ImageList.ImageCollection classes
14370 - Added ColorDepth enumeration
14371 - Updated SWF VS.Net project
14373 2004-07-15 11:06 jordi
14375 * XplatUIStructs.cs: added MsgButons enum
14377 2004-07-15 11:03 jordi
14379 * Control.cs: added basic mouse handeling events
14381 2004-07-15 03:38 jordi
14383 * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
14384 Vertical TrackBar control implementation
14386 2004-07-13 09:33 jordi
14388 * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
14390 2004-07-13 09:31 jordi
14392 * Control.cs, Form.cs: commit: new properties and fixes form size
14395 2004-07-09 14:13 miguel
14397 * ProgressBar.cs: Spelling
14399 2004-07-09 11:25 pbartok
14402 - Removed usage of Rectangle for drawing. Miguel pointed out it's
14405 2004-07-09 11:17 miguel
14407 * ProgressBar.cs: 2004-07-09 Miguel de Icaza <miguel@ximian.com>
14409 * ProgressBar.cs: Fixed spelling for `block'
14411 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
14414 Avoid using the += on rect.X, that exposed a bug in the compiler.
14416 2004-07-08 23:21 pbartok
14418 * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
14419 AnchorStyles.cs, Application.cs, ApplicationContext.cs,
14420 BaseCollection.cs, Binding.cs, BindingContext.cs,
14421 BindingMemberInfo.cs, BindingsCollection.cs,
14422 BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
14423 BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
14424 ButtonState.cs, CaptionButton.cs, CheckBox.cs,
14425 ContainerControl.cs, Control.cs, ControlEventArgs.cs,
14426 ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
14427 ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
14428 CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
14429 DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
14430 FrameStyle.cs, GiveFeedbackEventArgs.cs,
14431 GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
14432 HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
14433 IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
14434 InputLanguageChangedEventArgs.cs,
14435 InputLanguageChangedEventHandler.cs,
14436 InputLanguageChangingEventArgs.cs,
14437 InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
14438 InvalidateEventArgs.cs, InvalidateEventHandler.cs,
14439 KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
14440 KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
14441 LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
14442 MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
14443 PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
14444 QueryAccessibilityHelpEventArgs.cs,
14445 QueryAccessibilityHelpEventHandler.cs,
14446 QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
14447 RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
14448 ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
14449 ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
14450 TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
14451 UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
14452 XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
14453 XplatUIX11.cs, lang.cs: